maint: fts.c: correct off-by-one indentation
[gnulib.git] / ChangeLog
1 2011-08-19  Jim Meyering  <meyering@redhat.com>
2
3         maint: fts.c: correct off-by-one indentation
4         * lib/fts.c (fts_build): Correct indentation, change style
5         of a couple of block comments, and bracing style.
6
7         maint: fts.c: move __opendir2 #define "up" out of function body
8         * lib/fts.c (__opendir2): Move "up".  No semantic change.
9
10         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
11         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
12         out for a long time and besides was useful only on BSD systems.
13
14 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15
16         regex: port to Stratus OpenVOS
17         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
18         define to empty, rather than attempting nonportable optimizations.
19         Problem reported by Paul Green in:
20         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
21         and fix suggested by Eric Blake in:
22         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
23
24 2011-08-17  Eric Blake  <eblake@redhat.com>
25
26         getcwd: fix test failures on mingw
27         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
28         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
29         test if long directory cannot be created, and allow mingw errno.
30
31         getcwd-lgpl: fix m4 to match relaxed test for BSD
32         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
33         (gl_FUNC_GETCWD_SIGNATURE): New macro.
34         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
35         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
36         signature problem.
37
38         getcwd: fix compilation on mingw64
39         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
40         getcwd.
41         Reported by Marc-AndrĂ© Lureau.
42
43         pipe2: silence compiler warning
44         * lib/pipe2.c (pipe2): Hide label if it is not used.
45
46 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
47
48         relocatable-prog: fix link error
49         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
50         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
51         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
52         into modules/relocatable-lib without noticing that
53         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
54         also needs to build relocatable.c.
55
56 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
57
58         getaddrinfo: fix sh typo in gai_strerrorA decl checking
59         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
60         shell code: it contained a 'break' that was not in a loop.
61         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
62         via a shell-language loop; this may have been true in old Autoconf
63         versions, but it's not true in Autoconf 2.68.  I found this bug
64         when testing coreutils git on Solaris 8, whose shell complains
65         about the syntax error.
66
67 2011-08-12  Simon Josefsson  <simon@josefsson.org>
68
69         * lib/base64.c: Fix comment to reference RFC 4648.
70         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
71         <gvtulder@gmail.com>.
72
73 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74
75         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
76
77         po/Makefile.in.in: fix make -q problem
78         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
79         rule, since there's no file named 'check-macro-version' and its
80         use as a file breaks make -q.
81         (all): Don't depend on check-macro-version.
82         (CHECK_MACRO_VERSION): New macro.
83         (stamp-po): Use it.
84
85         configmake: fix make -q problem
86         * modules/configmake (configmake.h): Update configmake.h's time stamp
87         even if the file does not change.  Otherwise, 'make -q' fails.
88         Problem reported by Simon Josefsson in
89         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
90
91 2011-08-11  Jim Meyering  <meyering@redhat.com>
92
93         git-version-gen: correct the advice in a comment
94         * build-aux/git-version-gen: Correct comment.
95         Don't recommend to list .tarball-version in .gitignore.
96
97 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
98
99         base64: fix off-by-one buffer size bug
100         Problem and (trivial) fix reported by Gijs van Tulder in
101         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
102         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
103         * tests/test-base64.c (main): Catch the bug.
104
105 2011-08-10  Eric Blake  <eblake@redhat.com>
106
107         closein: correct comments
108         * lib/closein.c (close_stdin): Improve comments.
109
110 2011-08-09  Bruno Haible  <bruno@clisp.org>
111
112         More tests for 'fseeko'.
113         * tests/test-fseeko3.c: New file, from Eric Blake.
114         * tests/test-fseeko3.sh: New file.
115         * modules/fseeko-tests (Files): Add them.
116         (TESTS): Add test-fseeko3.sh.
117         (check_PROGRAMS): Add test-fseeko3.
118
119 2011-08-09  Eric Blake  <eblake@redhat.com>
120
121         fseeko: remove unneeded hack
122         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
123
124         fseeko: fix bug on glibc
125         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
126         Reported by John W. Eaton.
127
128 2011-08-08  Bruno Haible  <bruno@clisp.org>
129
130         unictype/base: Fix interoperability with preinstalled libunistring.
131         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
132         Reported by Simon Josefsson.
133
134 2011-08-08  Bruno Haible  <bruno@clisp.org>
135
136         iswblank: Detect declaration correctly.
137         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
138         AC_CHECK_DECLS invocation.
139
140 2011-08-08  Bruno Haible  <bruno@clisp.org>
141
142         tcgetsid: Detect declaration correctly.
143         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
144         AC_CHECK_DECLS invocation.
145         Reported by Simon Josefsson.
146
147 2011-08-08  Eric Blake  <eblake@redhat.com>
148
149         largefile: fix typo that regressed large file support
150         * modules/largefile (configure.ac-early): Fix section name.
151
152 2011-08-06  Karl Berry  <karl@gnu.org>
153
154         * MODULES.html.sh (func_all_files): _Noreturn is no longer
155         a separate module.
156
157 2011-08-05  Simon Josefsson  <simon@josefsson.org>
158
159         openat: Fix warnings and commens when building unlinkat.c on Hurd.
160         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
161         get prototype for free.
162
163 2011-08-04  Bruno Haible  <bruno@clisp.org>
164
165         Tests for module 'pathmax'.
166         * modules/pathmax-tests: New file.
167         * tests/test-pathmax.c: New file.
168
169         canonicalize-lgpl: Support larger filenames on the Hurd.
170         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
171         Reported by Paul Eggert.
172
173         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
174         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
175         * lib/chdir-long.h: Include pathmax.h.
176         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
177         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
178         (PATH_MAX): Remove code that is done by pathmax.h.
179         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
180         * lib/tmpfile.c: Add a comment.
181         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
182         * modules/chdir-long (Depends-on): Add pathmax.
183         * modules/getcwd (Depends-on): Add pathmax.
184         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
185         is not defined.
186         * doc/posix-headers/limits.texi: Mention the pathmax module.
187         * NEWS: Mention the change.
188
189 2011-08-02  Bruno Haible  <bruno@clisp.org>
190
191         pthread_sigmask: Actually use results of gl_THREADLIB.
192         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
193         gl_THREADLIB, not gl_[]THREADLIB.
194         Reported by Eric Blake.
195
196 2011-08-02  Jim Meyering  <meyering@redhat.com>
197
198         maint.mk: relax the default _gl_TS_function_match regexp
199         * top/maint.mk (_gl_TS_function_match): Don't require at least one
200         space between function name and "(" in an "extern" declaration.
201         That would fail to match a decl with no space there: extern void foo();
202
203 2011-07-31  Iain Nicol  <iain@thenicols.net>
204
205         git-version-gen: document that EXTRA_DIST must include .version
206         * build-aux/git-version-gen: In the how-to-use comment, document
207         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
208         will fail when run from an unpacked distribution tarball.
209
210 2011-08-01  Bruno Haible  <bruno@clisp.org>
211
212         wctype-h: Fix last change.
213         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
214         REPLACE_TOWLOWER to 0.
215         Reported by Sam Steingold <sds@gnu.org>.
216
217 2011-07-31  Bruno Haible  <bruno@clisp.org>
218
219         frexpl: Update autoconf test.
220         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
221         according to changes of 2011-06-20.
222
223 2011-07-31  Bruno Haible  <bruno@clisp.org>
224
225         sys_utsname: Add support for Minix.
226         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
227         <sys/utsname.h>.
228         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
229         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
230
231 2011-07-31  Bruno Haible  <bruno@clisp.org>
232
233         strings: Add support for Minix.
234         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
235         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
236         * doc/posix-headers/strings.texi: Document the Minix problem.
237
238 2011-07-31  Bruno Haible  <bruno@clisp.org>
239
240         wctype-h: Add support for Minix.
241         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
242         REPLACE_TOWLOWER.
243         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
244         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
245         REPLACE_ISWCNTRL.
246
247 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
248
249         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
250         This is a performance improvement for 64-bit hosts: it causes the
251         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
252
253 2011-07-31  Bruno Haible  <bruno@clisp.org>
254
255         stdioext: Add support for Minix.
256         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
257         * lib/fpurge.c (fpurge): Likewise.
258         * lib/freadahead.c (freadahead): Likewise.
259         * lib/freadable.c (freadable): Likewise.
260         * lib/freading.c (freading): Likewise.
261         * lib/freadptr.c (freadptr): Likewise.
262         * lib/freadseek.c (freadptrinc): Likewise.
263         * lib/fseeko.c (rpl_fseeko): Likewise.
264         * lib/fseterr.c (fseterr): Likewise.
265         * lib/fwritable.c (fwritable): Likewise.
266         * lib/fwriting.c (fwriting): Likewise.
267         * lib/fflush.c (clear_ungetc_buffer): Update comment.
268         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
269
270 2011-07-31  Bruno Haible  <bruno@clisp.org>
271
272         errno: Port to Minix.
273         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
274         ECONNABORTED are defined.
275         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
276         GNULIB_defined_ECONNABORTED): New macros.
277         * lib/strerror-override.h (strerror_override): Test also
278         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
279         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
280         ECONNABORTED.
281         * doc/posix-headers/errno.texi: Mention the Minix problem.
282
283 2011-07-31  Bruno Haible  <bruno@clisp.org>
284
285         Work around declaration collisions on Minix.
286         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
287         defined, set REPLACE_MBSINIT.
288         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
289         defined, set REPLACE_MBRTOWC.
290         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
291         set REPLACE_MBRLEN.
292         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
293         defined, set REPLACE_MBSRTOWCS.
294         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
295         defined, set REPLACE_WCRTOMB.
296         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
297         defined, set REPLACE_WCSRTOMBS.
298
299 2011-07-31  Bruno Haible  <bruno@clisp.org>
300
301         Add support for Minix with ACK compiler.
302         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
303         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
304         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
305
306 2011-07-31  Bruno Haible  <bruno@clisp.org>
307
308         Documentation about Minix.
309         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
310         * doc/glibc-headers/*.texi: Likewise.
311         * doc/posix-functions/*.texi: Likewise.
312         * doc/glibc-functions/*.texi: Likewise.
313
314 2011-07-31  Bruno Haible  <bruno@clisp.org>
315
316         snippet/warn-on-use: Fix indentation.
317         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
318
319 2011-07-25  Jim Meyering  <meyering@redhat.com>
320
321         tests: test-update-copyright.sh: remove unnecessary "rm" commands
322         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
323         commands.
324
325 2011-07-27  Jim Meyering  <meyering@redhat.com>
326
327         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
328         * top/maint.mk (gl_extract_significant_defines_): Now that
329         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
330         gnulib/lib/signal.in.h, and now that we recommend to
331         define-if-undefined those two symbols in application code,
332         we must filter them out of the "significant" list.
333         This avoids a "make syntax-check" failure in coreutils.
334
335 2011-07-26  Eric Blake  <eblake@redhat.com>
336
337         warnings: add comments about previous patch
338         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
339         * m4/include_next.m4: Likewise.
340         * m4/warn-on-use.m4: Likewise.
341         * m4/warnings.m4: Likewise, and simplify use.
342         Suggested by Stefano Lattarini.
343
344         include-next, warnings: support older autoconf
345         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
346         AS_VAR_PUSHDEF in a way that works with older autoconf.
347         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
348         Reported by Daniel P. Berrange.
349
350 2011-07-25  Bruno Haible  <bruno@clisp.org>
351
352         fseek, ftell: Fix doc.
353         * doc/posix-functions/fseek.texi: Reword statement about
354         AC_SYS_LARGEFILE.
355         * doc/posix-functions/ftell.texi: Likewise.
356
357 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
358             Bruno Haible  <bruno@clisp.org>
359
360         Add dependencies to the 'largefile' module.
361         * modules/fopen (Depends-on): Add 'largefile'.
362         * modules/freopen (Depends-on): Likewise.
363         * modules/fseeko (Depends-on): Likewise.
364         * modules/ftello (Depends-on): Likewise.
365         * modules/glob (Depends-on): Likewise.
366         * modules/lseek (Depends-on): Likewise.
367         * modules/lstat (Depends-on): Likewise.
368         * modules/mkostemp (Depends-on): Likewise.
369         * modules/mkostemps (Depends-on): Likewise.
370         * modules/mkstemp (Depends-on): Likewise.
371         * modules/mkstemps (Depends-on): Likewise.
372         * modules/open (Depends-on): Likewise.
373         * modules/openat (Depends-on): Likewise.
374         * modules/pread (Depends-on): Likewise.
375         * modules/pwrite (Depends-on): Likewise.
376         * modules/scandir (Depends-on): Likewise.
377         * modules/stat (Depends-on): Likewise.
378         * modules/tmpfile (Depends-on): Likewise.
379         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
380         since the containing module now depends on the largefile module.
381         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
382         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
383         off_t is fixed by gnulib.
384         * doc/posix-functions/freopen.texi: Likewise.
385         * doc/posix-functions/fseeko.texi: Likewise.
386         * doc/posix-functions/fstatat.texi: Likewise.
387         * doc/posix-functions/ftello.texi: Likewise.
388         * doc/posix-functions/glob.texi: Likewise.
389         * doc/posix-functions/lseek.texi: Likewise.
390         * doc/posix-functions/lstat.texi: Likewise.
391         * doc/posix-functions/mkstemp.texi: Likewise.
392         * doc/posix-functions/open.texi: Likewise.
393         * doc/posix-functions/openat.texi: Likewise.
394         * doc/posix-functions/pread.texi: Likewise.
395         * doc/posix-functions/pwrite.texi: Likewise.
396         * doc/posix-functions/scandir.texi: Likewise.
397         * doc/posix-functions/stat.texi: Likewise.
398         * doc/posix-functions/tmpfile.texi: Likewise.
399         * doc/glibc-functions/mkostemp.texi: Likewise.
400         * doc/glibc-functions/mkostemps.texi: Likewise.
401         * doc/glibc-functions/mkstemps.texi: Likewise.
402
403 2011-07-25  Bruno Haible  <bruno@clisp.org>
404
405         fcntl: Move AC_LIBOBJ invocation to module description.
406         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
407         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
408
409         fcntl: Remove call-in from fchdir.m4.
410         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
411         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
412
413         dup3: Remove potential call-in from fchdir.m4.
414         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
415         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
416
417         dup2: Move AC_LIBOBJ invocation to module description.
418         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
419         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
420         Don't invoke AC_LIBOBJ.
421         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
422
423         dup2: Remove call-in from fchdir.m4.
424         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
425         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
426
427         fclose: Move AC_LIBOBJ invocation to module description.
428         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
429         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
430         to 1.
431         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
432
433         fclose: Remove call-in from close.m4.
434         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
435         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
436
437         close: Move AC_LIBOBJ invocation to module description.
438         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
439         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
440         1.
441         * modules/close (configure.ac): Invoke AC_LIBOBJ.
442
443         close: Remove call-in from fchdir.m4.
444         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
445         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
446
447         open: Move AC_LIBOBJ invocation to module description.
448         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
449         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
450         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
451
452         open: Remove call-in from fchdir.m4.
453         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
454         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
455
456         fchdir: Start to remove gl_REPLACE_* idiom.
457         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
458         (gl_FUNC_FCHDIR): Invoke it.
459
460 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
461
462         * lib/ftell.c (ftell): Comment out cast.
463
464         close: use gl_REPLACE_FCLOSE only if defined
465         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
466         is defined.  The close module doesn't depend on the fclose module
467         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
468         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
469         I reproduced the problem with "./gnulib-tool --test close sys_socket".
470
471 2011-07-24  Jim Meyering  <meyering@redhat.com>
472
473         test-select.h: avoid warning when using gcc's -Wmissing-declarations
474         * tests/test-select.h (test_function): Declare as "static".
475
476 2011-07-24  Bruno Haible  <bruno@clisp.org>
477
478         doc: Mention the effects of AC_SYS_LARGEFILE.
479         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
480         on this function.
481         * doc/posix-functions/aio_error.texi: Likewise.
482         * doc/posix-functions/aio_fsync.texi: Likewise.
483         * doc/posix-functions/aio_read.texi: Likewise.
484         * doc/posix-functions/aio_return.texi: Likewise.
485         * doc/posix-functions/aio_suspend.texi: Likewise.
486         * doc/posix-functions/aio_write.texi: Likewise.
487         * doc/posix-functions/fgetpos.texi: Likewise.
488         * doc/posix-functions/fopen.texi: Likewise.
489         * doc/posix-functions/freopen.texi: Likewise.
490         * doc/posix-functions/fsetpos.texi: Likewise.
491         * doc/posix-functions/fstatvfs.texi: Likewise.
492         * doc/posix-functions/ftruncate.texi: Likewise.
493         * doc/posix-functions/ftw.texi: Likewise.
494         * doc/posix-functions/getrlimit.texi: Likewise.
495         * doc/posix-functions/glob.texi: Likewise.
496         * doc/posix-functions/lio_listio.texi: Likewise.
497         * doc/posix-functions/lockf.texi: Likewise.
498         * doc/posix-functions/mkstemp.texi: Likewise.
499         * doc/posix-functions/mmap.texi: Likewise.
500         * doc/posix-functions/nftw.texi: Likewise.
501         * doc/posix-functions/openat.texi: Likewise.
502         * doc/posix-functions/opendir.texi: Likewise.
503         * doc/posix-functions/posix_fadvise.texi: Likewise.
504         * doc/posix-functions/posix_fallocate.texi: Likewise.
505         * doc/posix-functions/pread.texi: Likewise.
506         * doc/posix-functions/pwrite.texi: Likewise.
507         * doc/posix-functions/readdir.texi: Likewise.
508         * doc/posix-functions/readdir_r.texi: Likewise.
509         * doc/posix-functions/rewinddir.texi: Likewise.
510         * doc/posix-functions/scandir.texi: Likewise.
511         * doc/posix-functions/seekdir.texi: Likewise.
512         * doc/posix-functions/setrlimit.texi: Likewise.
513         * doc/posix-functions/statvfs.texi: Likewise.
514         * doc/posix-functions/telldir.texi: Likewise.
515         * doc/posix-functions/tmpfile.texi: Likewise.
516         * doc/posix-functions/truncate.texi: Likewise.
517         * doc/glibc-functions/fallocate.texi: Likewise.
518         * doc/glibc-functions/fstatfs.texi: Likewise.
519         * doc/glibc-functions/fts_children.texi: Likewise.
520         * doc/glibc-functions/fts_read.texi: Likewise.
521         * doc/glibc-functions/getdirentries.texi: Likewise.
522         * doc/glibc-functions/mkostemp.texi: Likewise.
523         * doc/glibc-functions/mkostemps.texi: Likewise.
524         * doc/glibc-functions/mkstemps.texi: Likewise.
525         * doc/glibc-functions/preadv.texi: Likewise.
526         * doc/glibc-functions/pwritev.texi: Likewise.
527         * doc/glibc-functions/sendfile.texi: Likewise.
528         * doc/glibc-functions/statfs.texi: Likewise.
529
530 2011-07-24  Bruno Haible  <bruno@clisp.org>
531
532         doc: Fix typo.
533         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
534
535 2011-07-24  Bruno Haible  <bruno@clisp.org>
536
537         doc: Mention fsusage.
538         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
539
540 2011-07-24  Bruno Haible  <bruno@clisp.org>
541
542         doc: Mention new glibc headers and functions.
543         * doc/glibc-headers/gshadow.texi: New file.
544         * doc/glibc-functions/endsgent.texi: New file.
545         * doc/glibc-functions/fgetsgent.texi: New file.
546         * doc/glibc-functions/fgetsgent_r.texi: New file.
547         * doc/glibc-functions/getsgent.texi: New file.
548         * doc/glibc-functions/getsgent_r.texi: New file.
549         * doc/glibc-functions/getsgnam.texi: New file.
550         * doc/glibc-functions/getsgnam_r.texi: New file.
551         * doc/glibc-functions/putsgent.texi: New file.
552         * doc/glibc-functions/setsgent.texi: New file.
553         * doc/glibc-functions/sgetsgent.texi: New file.
554         * doc/glibc-functions/sgetsgent_r.texi: New file.
555         * doc/glibc-functions/malloc_info.texi: New file.
556         * doc/glibc-functions/preadv.texi: New file.
557         * doc/glibc-functions/pwritev.texi: New file.
558         * doc/glibc-functions/register_printf_modifier.texi: New file.
559         * doc/glibc-functions/register_printf_specifier.texi: New file.
560         * doc/glibc-functions/register_printf_type.texi: New file.
561         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
562         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
563         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
564         * doc/glibc-functions/pthread_getname_np.texi: New file.
565         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
566         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
567         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
568         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
569         * doc/glibc-functions/pthread_setname_np.texi: New file.
570         * doc/glibc-functions/pthread_sigqueue.texi: New file.
571         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
572         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
573         * doc/glibc-functions/qsort_r.texi: New file.
574         * doc/glibc-functions/quick_exit.texi: New file.
575         * doc/glibc-functions/syncfs.texi: New file.
576         * doc/gnulib.texi: Include them.
577         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
578         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
579         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
580         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
581         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
582         * doc/glibc-functions/execvpe.texi: Likewise.
583
584 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
585
586         ftell: don't include <unistd.h>
587         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
588         guaranteed to define off_t, and the ftell module depends on the
589         stdio module.
590
591         ftell: do not assume wraparound signed arithmetic
592         * lib/ftell.c: Include <limits.h>.
593         (ftell): Don't assume wraparound signed arithmetic.
594
595 2011-07-24  Bruno Haible  <bruno@clisp.org>
596
597         close: No longer depend on module 'fclose'.
598         * modules/close (Depends-on): Remove fclose.
599         * NEWS: Mention the change.
600         Suggested by Sam Steingold <sds@gnu.org>.
601
602 2011-07-24  Bruno Haible  <bruno@clisp.org>
603
604         fsusage: Enable large volume support on AIX >= 5.2.
605         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
606         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
607         instead of STAT_STATVFS.
608         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
609
610         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
611         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
612         f_blocks field only on MacOS X.
613
614         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
615         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
616         * modules/fsusage (Depends-on): Add largefile.
617
618 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
619
620         * README: Modernize discussion of signed integers.
621         Assuming overflow wraparound is no longer safe.
622         Mention ones' complement and signed magnitude.
623
624 2011-07-22  Bruno Haible  <bruno@clisp.org>
625
626         select tests, pselect tests: Refactor.
627         * tests/test-select.h: New file, extracted from tests/test-select.c.
628         (select_fn): New type.
629         (test, do_select, do_select_nowait, do_select_wait, test_tty,
630         test_connect_first, test_accept_first, test_pair, test_socket_pair,
631         test_pipe): Add my_select argument.
632         (test_function): Renamed from main. Add my_select argument.
633         * tests/test-select.c: Move most code to tests/test-select.h. Include
634         test-select.h.
635         * modules/select-tests (Files): Add tests/test-select.h.
636         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
637         (my_select, main): New functions.
638         * modules/pselect-tests (Files): Add tests/test-select.h,
639         tests/macros.h, tests/signature.h.
640         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
641         (configure.ac): Check for <sys/wait.h>.
642
643 2011-07-22  Bruno Haible  <bruno@clisp.org>
644
645         sys_select tests: Check the signature of FD_*.
646         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
647         signature tests from here...
648         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
649         here.
650         * modules/sys_select-tests (Files): Add tests/signature.h.
651
652 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
653
654         largefile: new module, replacing large-inode
655         PĂ¡draig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
656         * MODULES.html.sh: Add largefile, remove large-inode.
657         * modules/largefile, m4/largefile.m4: New files.
658         * modules/large-inode, m4/large-inode.m4: Remove.
659
660         fsusage: port to MacOS X 10.7 with 4 TiB file systems
661         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
662         implementations that use only 32 bits to count blocks.
663         On typical hosts with 1024-byte blocks, this fails with file
664         systems as small as 4 TiB.  Problem reported by Herb Wartens
665         <http://debbugs.gnu.org/9140> and this should also fix a similar
666         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
667
668         large-inode: New module
669         * MODULES.html.sh: Add it.
670         * modules/large-inode, m4/large-inode.m4: New files.
671
672         extensions: Enable extensions on MacOS X 10.5 and later.
673         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
674
675 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
676
677         file-has-acl: use acl_extended_file_nofollow if available
678         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
679         (acl_extended_file): New macro.
680         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
681         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
682
683 2011-07-21  Bruno Haible  <bruno@clisp.org>
684
685         Declare system functions in a way that works with C++.
686         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
687         declare fdopendir as extern "C".
688         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
689         declare frexpl as extern "C".
690         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
691         declare gai_strerror as extern "C".
692         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
693         programs, declare gai_strerror as extern "C".
694         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
695         declare getlogin_r as extern "C".
696         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
697         as extern "C".
698         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
699         declare ldexpl as extern "C".
700         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
701         as extern "C".
702         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
703         program, declare getmntinfo as extern "C".
704         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
705         stpncpy as extern "C".
706         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
707         program, declare __xpg_strerror_r as extern "C".
708         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
709         strndup as extern "C".
710         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
711         declare memset and bzero as extern "C".
712         Reported by Sam Steingold <sds@gnu.org>.
713
714 2011-07-12  Jim Meyering  <meyering@redhat.com>
715
716         maint.mk: prohibit inclusion of "verify.h" without use
717         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
718
719 2011-07-19  PĂ¡draig Brady  <P@draigBrady.com>
720
721         timer-time: A new module to check for timer_settime()
722         * m4/timer_time.m4: Check for the posix function.
723         * modules/timer-time: Add the new module.
724         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
725         Mention it.
726
727 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
728             Bruno Haible  <bruno@clisp.org>
729
730         pthread_sigmask: assume POSIX threads if --avoid=threadlib
731         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
732         not defined, assume POSIX threads and look for pthread_sigmask in
733         $LIBS, without changing $CPPFLAGS.
734
735 2011-07-19  Bruno Haible  <bruno@clisp.org>
736
737         strstr: Update cross-compilation guess.
738         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
739         CPUs, guess no, in view of glibc
740         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
741         Suggested by Eric Blake. Reported by Reuben Thomas.
742
743 2011-07-19  PĂ¡draig Brady  <P@draigBrady.com>
744
745         getopt-gnu: suppress core dumps from detection code
746         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
747         to suppress core dumps that may well occur on glibc systems.
748         * modules/getopt-gnu: Depend on nocrash.
749
750 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
751
752         pthread_sigmask: ensure usleep is declared
753         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
754         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
755
756 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
757
758         doc: Document NonStop portability issues.
759         * doc/posix-functions/sigaction.texi (sigaction):
760         * doc/posix-headers/signal.texi (signal.h):
761         Document NonStop.  See Joachim Schmitz in
762         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
763
764 2011-07-15  Bruno Haible  <bruno@clisp.org>
765
766         ffsl, ffsll: Avoid unportable behaviour.
767         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
768
769 2011-07-15  Bruno Haible  <bruno@clisp.org>
770
771         ffs: More tests.
772         * tests/test-ffs.c (NBITS): New macro.
773         (main): Add more tests.
774         * tests/test-ffsl.c (NBITS): New macro.
775         (main): Add more tests.
776         * tests/test-ffsll.c (NBITS): New macro.
777         (main): Add more tests.
778
779 2011-07-15  Eric Blake  <eblake@redhat.com>
780
781         ffsl, ffsll: new modules
782         * modules/ffsl: New file.
783         * modules/ffsll: Likewise.
784         * m4/ffsl.m4: Likewise.
785         * m4/ffsll.m4: Likewise.
786         * lib/ffsl.c: Likewise.
787         * lib/ffsl.h: Likewise.
788         * lib/ffsll.c: Likewise.
789         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
790         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
791         * modules/string (Makefile.am): Substitute witnesses.
792         * lib/strings.in.h (ffsl, ffsll): Declare.
793         * modules/ffsl-tests: New test file.
794         * modules/ffsll-tests: Likewise.
795         * tests/test-ffsl.c: Likewise.
796         * tests/test-ffsll.c: Likewise.
797         * MODULES.html.sh (Integer arithmetic functions): Mention it.
798         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
799         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
800
801         ffs: fix m4 prerequisite
802         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
803
804         ffs: avoid undefined behavior
805         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
806         * tests/test-ffs.c (naive, main): Avoid signed shifts.
807         Reported by Bruno Haible.
808
809 2011-07-12  Bruno Haible  <bruno@clisp.org>
810
811         pthread_sigmask: Rely on module 'threadlib'.
812         * modules/pthread_sigmask (Depends-on): Add threadlib.
813         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
814         is defined.
815
816 2011-07-12  Bruno Haible  <bruno@clisp.org>
817
818         regex: Depend on module 'strcase'.
819         * modules/regex (Depends-on): Add strcase, for strcasecmp().
820
821 2011-07-12  Jim Meyering  <meyering@redhat.com>
822
823         warn-on-use: fix typo in file name
824         * modules/snippet/warn-on-use (Files): Correct file name:
825         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
826
827 2011-07-12  Bruno Haible  <bruno@clisp.org>
828
829         strings: Document module.
830         * doc/posix-headers/strings.texi: Mention module 'strings'.
831
832 2011-07-12  Bruno Haible  <bruno@clisp.org>
833
834         Rename module '_Noreturn' to 'snippet/_Noreturn'.
835         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
836         (Files, Makefile.am): Update.
837         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
838         * modules/stdlib (Depends-on): Update.
839
840 2011-07-12  Bruno Haible  <bruno@clisp.org>
841
842         * NEWS: Mention the changes.
843
844         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
845         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
846         (Files, Makefile.am): Update.
847         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
848         * modules/arpa_inet (Depends-on): Update.
849         * modules/ctype (Depends-on): Update.
850         * modules/dirent (Depends-on): Update.
851         * modules/fcntl-h (Depends-on): Update.
852         * modules/glob (Depends-on): Update.
853         * modules/iconv-h (Depends-on): Update.
854         * modules/inttypes-incomplete (Depends-on): Update.
855         * modules/langinfo (Depends-on): Update.
856         * modules/locale (Depends-on): Update.
857         * modules/math (Depends-on): Update.
858         * modules/netdb (Depends-on): Update.
859         * modules/poll-h (Depends-on): Update.
860         * modules/pty (Depends-on): Update.
861         * modules/search (Depends-on): Update.
862         * modules/signal (Depends-on): Update.
863         * modules/spawn (Depends-on): Update.
864         * modules/stdio (Depends-on): Update.
865         * modules/stdlib (Depends-on): Update.
866         * modules/string (Depends-on): Update.
867         * modules/strings (Depends-on): Update.
868         * modules/sys_file (Depends-on): Update.
869         * modules/sys_ioctl (Depends-on): Update.
870         * modules/sys_select (Depends-on): Update.
871         * modules/sys_socket (Depends-on): Update.
872         * modules/sys_stat (Depends-on): Update.
873         * modules/sys_time (Depends-on): Update.
874         * modules/sys_times (Depends-on): Update.
875         * modules/sys_utsname (Depends-on): Update.
876         * modules/sys_wait (Depends-on): Update.
877         * modules/termios (Depends-on): Update.
878         * modules/time (Depends-on): Update.
879         * modules/unistd (Depends-on): Update.
880         * modules/wchar (Depends-on): Update.
881         * modules/wctype-h (Depends-on): Update.
882         * MODULES.html.sh (Support for building libraries and executables):
883         Update.
884
885         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
886         * modules/snippet/unused-parameter: Renamed from
887         modules/unused-parameter.
888         (Files, Makefile.am): Update.
889         * build-aux/snippet/unused-parameter.h: Renamed from
890         build-aux/unused-parameter.h.
891         * modules/selinux-h (Depends-on): Update.
892         * modules/unistr/base (Depends-on): Update.
893         * MODULES.html.sh (Core language properties): Update.
894
895         Rename module 'link-warning' to 'snippet/link-warning'.
896         * modules/snippet/link-warning: Renamed from modules/link-warning.
897         (Files, Makefile.am): Update.
898         * build-aux/snippet/link-warning.h: Renamed from
899         build-aux/link-warning.h.
900         * MODULES.html.sh (Support for building libraries and executables):
901         Update.
902
903         Rename module 'c++defs' to 'snippet/c++defs'.
904         * modules/snippet/c++defs: Renamed from modules/c++defs.
905         (Files, Makefile.am): Update.
906         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
907         * modules/arpa_inet (Depends-on): Update.
908         * modules/ctype (Depends-on): Update.
909         * modules/dirent (Depends-on): Update.
910         * modules/fcntl-h (Depends-on): Update.
911         * modules/glob (Depends-on): Update.
912         * modules/iconv-h (Depends-on): Update.
913         * modules/langinfo (Depends-on): Update.
914         * modules/locale (Depends-on): Update.
915         * modules/math (Depends-on): Update.
916         * modules/netdb (Depends-on): Update.
917         * modules/poll-h (Depends-on): Update.
918         * modules/pty (Depends-on): Update.
919         * modules/search (Depends-on): Update.
920         * modules/signal (Depends-on): Update.
921         * modules/spawn (Depends-on): Update.
922         * modules/stdio (Depends-on): Update.
923         * modules/stdlib (Depends-on): Update.
924         * modules/string (Depends-on): Update.
925         * modules/strings (Depends-on): Update.
926         * modules/sys_ioctl (Depends-on): Update.
927         * modules/sys_select (Depends-on): Update.
928         * modules/sys_socket (Depends-on): Update.
929         * modules/sys_stat (Depends-on): Update.
930         * modules/sys_time (Depends-on): Update.
931         * modules/sys_wait (Depends-on): Update.
932         * modules/termios (Depends-on): Update.
933         * modules/time (Depends-on): Update.
934         * modules/unistd (Depends-on): Update.
935         * modules/wchar (Depends-on): Update.
936         * modules/wctype-h (Depends-on): Update.
937
938         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
939         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
940         (Files, Makefile.am): Update.
941         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
942         * modules/argv-iter (Depends-on): Update.
943         * modules/arpa_inet (Depends-on): Update.
944         * modules/dirent (Depends-on): Update.
945         * modules/fcntl-h (Depends-on): Update.
946         * modules/fnmatch (Depends-on): Update.
947         * modules/getopt-posix (Depends-on): Update.
948         * modules/glob (Depends-on): Update.
949         * modules/iconv-h (Depends-on): Update.
950         * modules/inttypes-incomplete (Depends-on): Update.
951         * modules/locale (Depends-on): Update.
952         * modules/math (Depends-on): Update.
953         * modules/netdb (Depends-on): Update.
954         * modules/search (Depends-on): Update.
955         * modules/signal (Depends-on): Update.
956         * modules/spawn (Depends-on): Update.
957         * modules/stdio (Depends-on): Update.
958         * modules/stdlib (Depends-on): Update.
959         * modules/string (Depends-on): Update.
960         * modules/strings (Depends-on): Update.
961         * modules/sys_socket (Depends-on): Update.
962         * modules/sys_stat (Depends-on): Update.
963         * modules/sys_time (Depends-on): Update.
964         * modules/sys_times (Depends-on): Update.
965         * modules/sys_utsname (Depends-on): Update.
966         * modules/time (Depends-on): Update.
967         * modules/unistd (Depends-on): Update.
968         * modules/wchar (Depends-on): Update.
969         * MODULES.html.sh (Support for building libraries and executables):
970         Update.
971
972 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
973
974         Improvements on _Noreturn and related modules.
975
976         modules/_Exit-tests: test _Noreturn too
977         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
978         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
979         (main): Use them.
980
981         stdnoreturn, stdnoreturn-tests: remove modules
982         They're not needed here and a bit premature for use elsewhere.  See
983         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
984         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
985         * tests/test-stdnoreturn.c: Remove files.
986         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
987         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
988         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
989         and using noreturn.
990         * modules/openat, modules/sigpipe-die, modules/xalloc:
991         * modules/xmemdup0, modules/xstrtol:
992         Remove dependency on stdnoreturn.
993
994         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
995         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
996         Reparenthesize to avoid GCC warning.
997         Support Microsoft's syntax.
998         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
999
1000         _Noreturn-tests: remove module
1001         * modules/_Noreturn-tests: Remove.
1002         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
1003         * tests/test-_Noreturn.c: Remove.
1004         * tests/test-stdnoreturn.c: Merge from the old
1005         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
1006
1007 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
1008
1009         _Noreturn, stdnoreturn, and related modules.
1010
1011         * top/maint.mk: Adjust to new noreturn support.
1012         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
1013         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
1014
1015         xalloc: use stdnoreturn.h
1016         * lib/xalloc.h: Include <stdnoreturn.h>.
1017         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1018         * modules/xalloc (Depends-on): Add stdnoreturn.
1019
1020         xstrtol: use stdnoreturn.h
1021         * lib/xstrtol.h: Include <stdnoreturn.h>.
1022         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1023         * modules/xstrtol (Depends-on): Add stdnoreturn.
1024
1025         xmemdup0: use stdnoreturn.h
1026         * lib/xmemdup0.h: Include <stdnoreturn.h>.
1027         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1028         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
1029
1030         sigpipe-die: use stdnoreturn.h
1031         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
1032         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1033         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
1034
1035         openat: use stdnoreturn.h
1036         * lib/openat.h: Include <stdnoreturn.h>.
1037         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1038         * modules/openat (Depends-on): Add stdnoreturn.
1039
1040         * lib/openat-die.c (openat_save_fail): Modernize comment.
1041
1042         * lib/xalloc-die.c (xalloc_die): Modernize comment.
1043
1044         * lib/glthread/thread.h: Modernize comment.
1045
1046         obstack: use _Noreturn
1047         * lib/obstack.c (__attribute__): Remove macro.
1048         (print_and_abort): Use _Noreturn.
1049
1050         c-stack: use _Noreturn
1051         * lib/c-stack.c (die, overflow_handler, segv_handler):
1052         Use _Noreturn rather than __attribute__((noreturn)).
1053
1054         argmatch-tests, exclude_tests: use _Noreturn
1055         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
1056         Remove.
1057         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
1058
1059         stdlib: use _Noreturn
1060         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
1061         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
1062         * modules/stdlib (Depends-on): Add _Noreturn.
1063         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
1064
1065         stdnoreturn-tests: new module
1066         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
1067
1068         stdnoreturn: new module
1069         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
1070         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
1071
1072         _Noreturn-tests: new module
1073         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
1074
1075         _Noreturn: new module
1076         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
1077         New section, mentioning it.
1078         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
1079
1080         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
1081
1082 2011-07-11  Eric Blake  <eblake@redhat.com>
1083
1084         ffs: new module
1085         * modules/ffs: New file.
1086         * m4/ffs.m4: Likewise.
1087         * lib/ffs.c: Likewise.
1088         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
1089         * modules/strings (Makefile.am): Substitute witness.
1090         (Depends-on): Add c++defs.
1091         * lib/strings.in.h (ffs): Declare.
1092         * modules/ffs-tests: New test file.
1093         * tests/test-ffs.c: Test new module.
1094         * MODULES.html.sh (Integer arithmetic functions): Mention it.
1095         * doc/posix-functions/ffs.texi (ffs): Likewise.
1096
1097         regex: avoid compiler warning
1098         * lib/regex.c (includes): Include <strings.h>, for use of
1099         strcasecmp in regcomp.c.
1100         Reported by Joachim Schmitz.
1101
1102 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
1103
1104         stdint: respect system's intmax_t if INTMAX_MAX
1105         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
1106         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
1107         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
1108         long but int64_t is long long, and where we will clash with the
1109         system intmax_t if we override it.  See
1110         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
1111         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
1112         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
1113         similarly for UINTMAX_C.
1114
1115 2011-07-08  Bruno Haible  <bruno@clisp.org>
1116
1117         pthread_sigmask tests: Avoid a compiler warning.
1118         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
1119         non-zero.
1120
1121         sigprocmask tests: A better way to avoid a compiler warning.
1122         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
1123         (main): Complain if system() returns non-zero.
1124         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
1125
1126 2011-07-08  Bruno Haible  <bruno@clisp.org>
1127
1128         pthread_sigmask: Work around IRIX bug.
1129         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
1130         bug.
1131         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
1132         there may be unblocked pending signals.
1133         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
1134
1135 2011-07-08  Bruno Haible  <bruno@clisp.org>
1136
1137         pthread_sigmask: Work around Cygwin bug.
1138         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
1139         bug.
1140         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
1141         the system's pthread_sigmask function.
1142         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
1143
1144 2011-07-08  Bruno Haible  <bruno@clisp.org>
1145
1146         pthread_sigmask: Work around bug in single-threaded implementation.
1147         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
1148         FreeBSD, HP-UX, Solaris bug.
1149         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
1150         * lib/pthread_sigmask.c: Include <stddef.h>.
1151         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
1152         the system's pthread_sigmask function.
1153         * modules/pthread_sigmask (configure.ac): Invoke
1154         gl_PREREQ_PTHREAD_SIGMASK.
1155         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
1156         HP-UX, Solaris.
1157
1158 2011-07-08  Eric Blake  <eblake@redhat.com>
1159
1160         test-sigprocmask: avoid compiler warning
1161         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
1162         * tests/test-sigprocmask.c (main): Use it to silence warning.
1163         Reported by Jim Meyering.
1164
1165         test-snprintf: avoid compiler warning
1166         * tests/test-snprintf.c (main): Avoid shadowed declaration.
1167         * tests/test-vsnprintf.c (main): Likewise.
1168         Reported by Jim Meyering.
1169
1170 2011-07-08  Bruno Haible  <bruno@clisp.org>
1171
1172         Tests for module 'pthread_sigmask'.
1173         * modules/pthread_sigmask-tests: New file.
1174         * tests/test-pthread_sigmask1.c: New file, based on
1175         tests/test-sigprocmask.c.
1176         * tests/test-pthread_sigmask2.c: New file.
1177
1178 2011-07-08  Jim Meyering  <meyering@redhat.com>
1179
1180         test-getopt.h: avoid warning about an unused variable
1181         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
1182
1183 2011-07-07  Jim Meyering  <meyering@redhat.com>
1184
1185         maint: reduce list of files exempt from sc_prohibit_leading_TABs
1186         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
1187         now that it no longer contains leading TABs.
1188         Remove unused "url=FIXME" statement.
1189
1190 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
1191
1192         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
1193         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
1194         When gl_THREADLIB is not in use, assume that the POSIX sematics
1195         are desired.  This is better for Emacs, which uses POSIX semantics
1196         on GNUish and/or POSIXish platforms, and does not use threads at
1197         all otherwise.
1198
1199         pthread_sigmask: fix typo when testing for libraries
1200         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
1201         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
1202
1203 2011-07-08  Eric Blake  <eblake@redhat.com>
1204
1205         fts: introduce FTS_NOATIME
1206         * lib/fts_.h (FTS_NOATIME): New bit flag.
1207         (FTS_OPTIONMASK): Adjust.
1208         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
1209         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
1210
1211 2011-07-08  Bruno Haible  <bruno@clisp.org>
1212
1213         Tests for module 'thread'.
1214         * modules/thread-tests: New file.
1215         * tests/test-thread_self.c: New file.
1216         * tests/test-thread_create.cc: New file.
1217
1218 2011-07-08  Bruno Haible  <bruno@clisp.org>
1219
1220         thread: Avoid gcc warnings when using gl_thread_self().
1221         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
1222         'void *'.
1223         (gl_thread_self_pointer): Update.
1224
1225 2011-07-07  Bruno Haible  <bruno@clisp.org>
1226
1227         signal-c++-tests: Check declaration of pthread_sigmask.
1228         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
1229         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
1230         $(LIB_PTHREAD_SIGMASK).
1231
1232 2011-07-07  Bruno Haible  <bruno@clisp.org>
1233
1234         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
1235         * lib/signal.in.h (pthread_sigmask): Override if
1236         REPLACE_PTHREAD_SIGMASK is 1.
1237         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
1238         REPLACE_PTHREAD_SIGMASK.
1239         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
1240         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
1241         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
1242         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
1243         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
1244
1245 2011-07-07  Bruno Haible  <bruno@clisp.org>
1246
1247         pthread_sigmask: Ensure declaration in <signal.h>.
1248         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
1249         include <pthread.h>.
1250         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
1251         problem.
1252
1253 2011-07-07  Bruno Haible  <bruno@clisp.org>
1254
1255         pthread_sigmask: Document the module.
1256         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
1257
1258 2011-07-07  Bruno Haible  <bruno@clisp.org>
1259
1260         pthread_sigmask: Follow gnulib conventions.
1261         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
1262         gl_PTHREAD_SIGMASK.
1263         * modules/pthread_sigmask (configure.ac): Update.
1264
1265 2011-07-07  Bruno Haible  <bruno@clisp.org>
1266
1267         pthread_sigmask: Make declaration C++ safe.
1268         * lib/signal.in.h: In two special conditions, just do an #include_next.
1269         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
1270         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
1271         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
1272         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
1273         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
1274         not REPLACE_PTHREAD_MASK.
1275         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
1276         not REPLACE_PTHREAD_MASK.
1277         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
1278
1279 2011-07-07  Bruno Haible  <bruno@clisp.org>
1280
1281         pthread_sigmask: Fix return value.
1282         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
1283         * lib/pthread_sigmask.c: New file.
1284         * modules/pthread_sigmask (Files): Add it.
1285         (configure.ac): Invoke AC_LIBOBJ.
1286
1287 2011-07-07  Eric Blake  <eblake@redhat.com>
1288
1289         getopt: more portable argv creation
1290         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
1291         const, use char arrays rather than strings.
1292         Suggested by Paul Eggert.
1293
1294 2011-07-07  Bruno Haible  <bruno@clisp.org>
1295
1296         Tests for module 'sigprocmask'.
1297         * modules/sigprocmask-tests: New file.
1298         * tests/test-sigprocmask.c: New file.
1299
1300 2011-07-07  Bruno Haible  <bruno@clisp.org>
1301
1302         float tests: Tweak.
1303         * tests/test-float.c (main): Tweak skip message.
1304
1305 2011-07-07  Eric Blake  <eblake@redhat.com>
1306
1307         getopt: avoid compiler warning during configure
1308         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
1309         assigning string literals to non-const pointer.
1310
1311         getopt-gnu: avoid crash in glibc getopt
1312         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
1313         * tests/test-getopt.h (test_getopt): Enhance test.
1314         * tests/test-getopt_long.h (test_getopt_long): Likewise.
1315         * doc/posix-functions/getopt.texi (getopt): Document it.
1316         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
1317         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
1318         Likewise.
1319
1320 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
1321
1322         getopt: handle W; without long options in getopt [BZ #12922]
1323         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
1324         but no long options are defined, just return 'W'.
1325
1326 2011-07-07  Bruno Haible  <bruno@clisp.org>
1327
1328         Avoid literal tabs.
1329         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
1330         variable containing a tab instead of a literal tab.
1331         Reported by Jim Meyering.
1332
1333 2011-07-07  Bruno Haible  <bruno@clisp.org>
1334
1335         Comments.
1336         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
1337
1338 2011-07-06  Bruno Haible  <bruno@clisp.org>
1339
1340         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
1341         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
1342         <winsock2.h>.
1343         (rpl_fd_isset, FD_ISSET): New definitions, copied from
1344         lib/sys_socket.in.h.
1345         (close, gethostname): Hide declarations from <winsock2.h>.
1346         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
1347         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
1348         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
1349         (select): Don't override if gnulib's <sys/select.h> was already
1350         included.
1351         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
1352         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
1353         setsockopt, shutdown, select): Tweak indentation.
1354
1355 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1356
1357         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
1358         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
1359         in an application that does not use the sys_select module.
1360
1361 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
1362
1363         poll: do not return 0 on timeout=-1
1364         * lib/poll.c: Loop with yield if no events occured
1365
1366 2011-07-06  Eric Blake  <eblake@redhat.com>
1367
1368         pthread_sigmask: always replace when not using pthread
1369         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
1370         replacement when using some threading other than pthread.  Fix
1371         logic bug.
1372
1373 2011-07-06  Bruno Haible  <bruno@clisp.org>
1374
1375         Comments.
1376         * m4/printf.m4: Update comments about mingw.
1377
1378 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1379
1380         sys_select: define sigset_t more portably
1381         * lib/sys_select.in.h: Always include <sys/types.h>, since
1382         we now need sigset_t and mingw defines it there.
1383         Include <signal.h> before split inclusion guard, to avoid
1384         mishaps on Solaris, whose <signal.h> eventually includes us.
1385         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
1386         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
1387         which come from ...
1388         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
1389         gl_CHECK_TYPE_SIGSET_T.
1390         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
1391         does the real work.
1392         * modules/sys_select (Depends-on): Add 'signal'.
1393
1394         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
1395         Suggested by Bruno Haible.
1396
1397         pselect: Use pthread_sigmask, not sigprocmask.
1398         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
1399         multithreaded apps better than sigprocmask does.
1400         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
1401         sigprocmask directly.
1402
1403 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1404
1405         * lib/pselect.c (pselect): Use plain name, without "rpl_".
1406         Don't #undef,  since we don't need any underlying pselect.
1407         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
1408         (Depends-on): Add select.
1409         (Link): Add $(LIBSOCKET).
1410         These changes suggested by Bruno Haible.
1411
1412         pselect: document better
1413         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
1414         * doc/posix-functions/pselect.texi (pselect): Document new module.
1415
1416         pthread_sigmask: new module
1417         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
1418         * doc/posix-functions/pthread_sigmask.texi: Document new module.
1419         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
1420         This is done only as a macro; I don't know how well that'll
1421         work for C++.  Move <sys/types.h> include before the include_next,
1422         to avoid mishap on Solaris.
1423         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
1424         * modules/signal (Makefile.am): Substitute the check's results.
1425         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
1426
1427         test-pselect: new module
1428         * modules/pselect-tests, tests/test-pselect.c: New files.
1429         * tests/test-select.c, tests/test-sys_select-c++.cc:
1430         If TEST_PSELECT is defined, test pselect instead of testing select.
1431
1432         * tests/test-sys_select.c (sigset_t): Test for it, too.
1433         Suggested by Bruno Haible.
1434
1435 2011-07-05  Eric Blake  <eblake@redhat.com>
1436
1437         snprintf: guarantee %1$d, for libintl
1438         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
1439         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
1440         * doc/posix-functions/snprintf.texi (snprintf): Update.
1441         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
1442         * tests/test-snprintf.c (main): Enhance test.
1443         * tests/test-vsnprintf.c (main): Likewise.
1444
1445 2011-07-05  Jim Meyering  <meyering@redhat.com>
1446
1447         maint: exempt stdio-read.c and stdio-write.c from the cppi check
1448         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
1449         per Bruno's request, to accommodate this idiom (no space after "#")
1450         even when the function is inside an #if block:
1451         char *
1452         gets (char *s)
1453         #undef gets
1454         {
1455           ...
1456         }
1457
1458 2011-07-04  Jim Meyering  <meyering@redhat.com>
1459
1460         maint: indent with spaces, not TABs, and add a rule to check this
1461         * tests/test-userspec.c: Indent with spaces, not TABs.
1462         * tests/test-argp.c: Likewise.
1463         * tests/test-c-stack2.sh: Likewise.
1464         * tests/test-parse-duration.sh: Likewise
1465         * m4/strtod.m4: Likewise.
1466         * m4/alloca.m4: Likewise.
1467         * m4/pselect.m4: Likewise.
1468         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
1469
1470 2011-07-03  Jim Meyering  <meyering@redhat.com>
1471
1472         maint.mk: correct omissions in prohibit_argmatch_without_use check
1473         This rule would mistakenly report that argmatch.h is included without
1474         use even when both the argmatch and invalid_arg macro were used.
1475         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
1476         of argmatch and invalid_arg.
1477
1478 2011-07-03  Bruno Haible  <bruno@clisp.org>
1479
1480         Comments about EINTR.
1481         * lib/safe-read.h: Explain the purpose of this module.
1482         * lib/safe-write.h: Likewise.
1483         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
1484         module.
1485         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
1486         module.
1487         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1488
1489 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1490
1491         xnanosleep: Rewrite to use new dtotimespec module.
1492         It has the conversion code that used to be in xnanosleep.
1493         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
1494         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
1495         (TIME_T_MAX): Remove.
1496         (xnanosleep): Rewrite in terms of dtotimespec.
1497         * modules/xnanosleep (Depends-on): Add dtotimespec.
1498         Remove intprops, stdbool.
1499
1500         timespec-add, timespec-sub: new modules
1501         * lib/timespec.h (timespec_add, timespec_sub): New decls.
1502         * lib/timespec-add.c, lib/timespec-sub.c:
1503         * modules/timespec-add, modules/timespec-sub: New files.
1504
1505         dtotimespec: new module
1506         * lib/timespec.h (dtotimespec): New decl.
1507         * lib/dtotimespec.c, modules/dtotimespec: New files.
1508
1509         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
1510
1511         pselect: new module
1512         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
1513         (pselect): New decls.
1514         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
1515         since the standard pselect decl uses 'restrict'.
1516         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
1517         HAVE_PSELECT, REPLACE_PSELECT.
1518         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
1519         HAVE_PSELECT, REPLACE_PSELECT.
1520         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
1521
1522         sys_select: don't depend on sys_socket
1523         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
1524         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
1525         This fix works on GNU and GNU-like platforms, but has not been tested
1526         on native Windows.
1527         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
1528         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
1529         gl_HEADER_SYS_SOCKET.
1530         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
1531         gl_PREREQ_SYS_H_WINSOCK2.
1532
1533 2011-06-29  Eric Blake  <eblake@redhat.com>
1534
1535         pipe2: fix C89 compile problem
1536         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
1537         Reported by Bruno Haible.
1538
1539         pipe, pipe2: don't corrupt fd on error
1540         * lib/pipe.c (pipe): Leave fd unchanged on error.
1541         * lib/pipe2.c (pipe2): Likewise.
1542         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
1543         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
1544
1545 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
1546
1547         mmap-anon: do not use regular expressions inadvertently
1548         * m4/mmap-anon.m4: Remove trailing period from strings sought
1549         in the output.
1550
1551 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1552
1553         nanosleep: fix integer overflow problem
1554         * lib/nanosleep.c (my_usleep): Don't assume signed integer
1555         arithmetic wraps around on overflow.
1556
1557         nanosleep: simplify carrying
1558         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
1559         first call to the underyling nanosleep, not for the last one.
1560         This doesn't fix any bugs, but it simplifies the computation of
1561         the remaining delay.  Found while auditing integer overflow issues.
1562
1563         dup2: remove test for existence of fcntl
1564         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
1565         "#if HAVE_FCNTL", in the configure-time test program.
1566         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
1567         and therefore speeds up "configure" a bit.  Found while
1568         adding the dup2 module to Emacs.
1569
1570 2011-06-24  Eric Blake  <eblake@redhat.com>
1571
1572         maint.mk: enhance useless header checks
1573         * top/maint.mk (_sc_header_without_use): Check both include
1574         styles.
1575         (sc_prohibit_assert_without_use)
1576         (sc_prohibit_close_stream_without_use)
1577         (sc_prohibit_getopt_without_use)
1578         (sc_prohibit_quotearg_without_use)
1579         (sc_prohibit_quote_without_use)
1580         (sc_prohibit_long_options_without_use)
1581         (sc_prohibit_inttostr_without_use)
1582         (sc_prohibit_ignore_value_without_use)
1583         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
1584         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
1585         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
1586         (sc_prohibit_hash_pjw_without_use)
1587         (sc_prohibit_safe_read_without_use)
1588         (sc_prohibit_argmatch_without_use)
1589         (sc_prohibit_canonicalize_without_use)
1590         (sc_prohibit_root_dev_ino_without_use)
1591         (sc_prohibit_openat_without_use)
1592         (sc_prohibit_c_ctype_without_use)
1593         (sc_prohibit_signal_without_use)
1594         (sc_prohibit_stdio--_without_use)
1595         (sc_prohibit_stdio-safer_without_use)
1596         (sc_prohibit_strings_without_use)
1597         (sc_prohibit_intprops_without_use)
1598         (sc_prohibit_stddef_without_use)
1599         (sc_prohibit_xfreopen_without_use): Update clients.
1600
1601 2011-06-24  Jim Meyering  <meyering@redhat.com>
1602
1603         syntax-check: keep one maint.mk rule in sync with its header
1604         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
1605         of the bug Eric has just fixed, with today's commit 25e4c2ec.
1606         I prefer to avoid temporary files here, so use <(...), but that
1607         is not supported by /bin/sh, so...
1608         (SHELL): Define to /bin/bash.
1609
1610 2011-06-24  Eric Blake  <eblake@redhat.com>
1611
1612         maint.mk: update sc_prohibit_intprops_without_use
1613         * top/maint.mk (_intprops_names): Match recent changes.
1614
1615 2011-06-24  Bruno Haible  <bruno@clisp.org>
1616
1617         strerror-override: No-op tweak.
1618         * lib/strerror-override.h (strerror_override): Reorder conditions,
1619         for consistency with lib/strerror-override.c.
1620
1621 2011-06-23  Eric Blake  <eblake@redhat.com>
1622
1623         maint.mk: test further PATH_MAX issues
1624         * top/maint.mk (sc_prohibit_path_max_array): Rename...
1625         (sc_prohibit_path_max_allocation): ...and also test alloca.
1626         Suggested by Jim Meyering.
1627
1628 2011-06-22  Eric Blake  <eblake@redhat.com>
1629
1630         maint.mk: add syntax-check to avoid char[PATH_MAX]
1631         * top/maint.mk (sc_prohibit_path_max_array): New rule.
1632
1633         stat: be robust to PATH_MAX definition
1634         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
1635         * modules/stat (Depends-on): Add verify.
1636
1637         link: work around IRIX bug
1638         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
1639         * lib/link.c (rpl_link): Work around it.
1640         * tests/test-link.h (test_link): Enhance test.
1641         * doc/posix-functions/link.texi (link): Document the bug.
1642
1643         getopt: silence clang warning
1644         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
1645         dereference.
1646         Reported by Gustavo Martin Domato.
1647
1648 2011-06-22  Jim Meyering  <meyering@redhat.com>
1649
1650         bootstrap: do not insert a blank line into each .gitignore file
1651         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
1652
1653 2011-06-21  Eric Blake  <eblake@redhat.com>
1654
1655         perror: test for output mismatch
1656         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
1657         perror on IRIX.
1658
1659         strerror_r: fix OpenBSD behavior on out-of-range
1660         * lib/strerror_r.c (strerror_r): Always use maximal string.
1661         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1662
1663         strerror_r: fix OpenBSD behavior on 0
1664         * lib/strerror-override.c (strerror_override): Also override 0
1665         when needed.
1666         * lib/strerror-override.h (strerror_override): Likewise.
1667         * lib/strerror.c (strerror): Simplify, now that 0 override is done
1668         earlier.
1669         * lib/strerror_r.c (strerror_r): Likewise.
1670         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
1671         behavior...
1672         (gl_FUNC_STRERROR_0): ...into new macro.
1673         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
1674         is overridden.
1675         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
1676         * modules/strerror-override (Files): Add strerror.m4.
1677         (configure.ac): Also provide override for 0 when needed.
1678         * doc/posix-functions/strerror.texi (strerror): Document this.
1679         * doc/posix-functions/perror.texi (perror): Likewise.
1680
1681         perror: adjust array size
1682         * modules/perror (Depends-on): Add strerror-override.
1683         * lib/perror.c (perror): Use it to avoid magic number.
1684
1685         strerror-override: reduce size
1686         * lib/strerror-override.c (strerror_override): Use fewer lines.
1687
1688 2011-06-20  Bruno Haible  <bruno@clisp.org>
1689
1690         pathmax: Ensure correct value for PATH_MAX on HP-UX.
1691         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
1692
1693 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1694
1695         alloca: port to compilers that can optimize like GCC 4.6.0
1696         * lib/alloca.c (find_stack_direction): New signature, taken from
1697         Autoconf git.  This works with GCC 4.6.0.  This code should never
1698         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
1699         be used with other compilers that optimize as well as GCC 4.6.0 does.
1700         (alloca): Adjust to new signature.
1701         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
1702         New macro, which patches Autoconf in a similar way.
1703
1704         c-stack: stop worrying about stack direction
1705         * lib/c-stack.c (find_stack_direction): Remove.
1706         (segv_handler): Don't worry about stack direction growth, as it's
1707         too much of a pain to configure this correctly, given how compilers
1708         are optimizing-away our stack-growth detection code.  Instead, assume
1709         that any access to just before or just after the stack is OK.
1710         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
1711         Don't require AC_FUNC_ALLOCA; no longer needed.
1712
1713 2011-06-20  Eric Blake  <eblake@redhat.com>
1714
1715         test-stat: don't allocate PATH_MAX bytes
1716         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
1717         PATH_MAX-sized buffer.
1718         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
1719         * modules/stat-tests (Depends-on): Likewise.
1720         * tests/test-fstatat.c (includes): Drop pathmax.h.
1721         * tests/test-stat.c (includes): Likewise.
1722         Reported by Bruno Haible.
1723
1724 2011-06-20  Bruno Haible  <bruno@clisp.org>
1725
1726         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
1727         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
1728         * lib/float.c: New file.
1729         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
1730         REPLACE_FLOAT_LDBL.
1731         * modules/float (Files): Add lib/float.c.
1732         (configure.ac): Invoke AC_LIBOBJ.
1733         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
1734
1735 2011-06-20  Bruno Haible  <bruno@clisp.org>
1736
1737         Tests for module 'float'.
1738         * modules/float-tests: New file.
1739         * tests/test-float.c: New file.
1740
1741 2011-06-19  Bruno Haible  <bruno@clisp.org>
1742
1743         isinf: Coding style.
1744         * lib/isinf.c: Use GNU coding style.
1745
1746 2011-06-19  Bruno Haible  <bruno@clisp.org>
1747
1748         linkat test: Avoid test failure on AIX 7.1.
1749         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
1750         * tests/test-link.h (test_link): Likewise.
1751
1752 2011-06-19  Bruno Haible  <bruno@clisp.org>
1753
1754         pread test: Avoid test failure on OpenBSD 4.9.
1755         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
1756
1757 2011-06-19  Bruno Haible  <bruno@clisp.org>
1758
1759         sprintf-posix: Fix test failure on AIX 7.1.
1760         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
1761         * doc/posix-functions/dprintf.texi: Mention limited precision problem
1762         on AIX.
1763         * doc/posix-functions/fprintf.texi: Likewise.
1764         * doc/posix-functions/printf.texi: Likewise.
1765         * doc/posix-functions/snprintf.texi: Likewise.
1766         * doc/posix-functions/sprintf.texi: Likewise.
1767         * doc/posix-functions/vdprintf.texi: Likewise.
1768         * doc/posix-functions/vfprintf.texi: Likewise.
1769         * doc/posix-functions/vprintf.texi: Likewise.
1770         * doc/posix-functions/vsnprintf.texi: Likewise.
1771         * doc/posix-functions/vsprintf.texi: Likewise.
1772
1773 2011-06-19  Bruno Haible  <bruno@clisp.org>
1774
1775         roundl-ieee: Fix test failure on AIX 7.1.
1776         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
1777         * doc/posix-functions/roundl.texi: Mention problem with negative
1778         arguments.
1779
1780 2011-06-19  Bruno Haible  <bruno@clisp.org>
1781
1782         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
1783         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
1784         * doc/posix-functions/round.texi: Mention problem with negative
1785         arguments.
1786         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
1787
1788 2011-06-19  Bruno Haible  <bruno@clisp.org>
1789
1790         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
1791         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
1792         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
1793         * doc/posix-functions/roundf.texi: Mention problem with negative
1794         arguments.
1795         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
1796
1797 2011-06-19  Bruno Haible  <bruno@clisp.org>
1798
1799         ceilf-ieee: Work around bug on MacOS X 10.5.
1800         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
1801
1802         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
1803         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
1804         IEEE compliant, avoid compiler optimizations.
1805         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
1806         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
1807         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
1808         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
1809         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1810         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
1811         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1812         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1813         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1814         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
1815
1816 2011-06-19  Bruno Haible  <bruno@clisp.org>
1817
1818         ceilf-ieee: Work around bug on AIX 7.1.
1819         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
1820         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
1821
1822 2011-06-19  Bruno Haible  <bruno@clisp.org>
1823
1824         ceil-ieee: Work around bug on AIX 7.1.
1825         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
1826         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
1827
1828 2011-06-18  Bruno Haible  <bruno@clisp.org>
1829
1830         fsync test: Avoid test failure on MacOS X and AIX.
1831         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
1832         EINVAL.
1833
1834 2011-06-18  Bruno Haible  <bruno@clisp.org>
1835
1836         openat, fdopendir tests: Fix link errors.
1837         * modules/openat-tests (Depends-on): Add progname.
1838         * modules/fdopendir-tests (Depends-on): Likewise.
1839         * tests/test-fchownat.c: Include progname.h.
1840         (main): Call set_program_name.
1841         * tests/test-fstatat.c: Include progname.h.
1842         (main): Call set_program_name.
1843         * tests/test-mkdirat.c: Include progname.h.
1844         (main): Call set_program_name.
1845         * tests/test-openat.c: Include progname.h.
1846         (main): Call set_program_name.
1847         * tests/test-unlinkat.c: Include progname.h.
1848         (main): Call set_program_name.
1849         * tests/test-fdopendir.c: Include progname.h.
1850         (main): Call set_program_name.
1851
1852 2011-06-18  Bruno Haible  <bruno@clisp.org>
1853
1854         Doc update.
1855         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
1856         HP-UX.
1857         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
1858
1859 2011-06-18  Bruno Haible  <bruno@clisp.org>
1860
1861         getcwd tests: Avoid compilation error on HP-UX 11.31.
1862         * modules/getcwd-tests (Depends-on): Add pathmax.
1863         * tests/test-getcwd.c: Include pathmax.h.
1864
1865 2011-06-18  Bruno Haible  <bruno@clisp.org>
1866
1867         isfinite, isinf: Fix link error on AIX 6 and 7.
1868         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
1869         needed, also test the macro with a 'float' argument.
1870         * m4/isinf.m4 (gl_ISINF): Likewise.
1871
1872 2011-06-18  Bruno Haible  <bruno@clisp.org>
1873
1874         getloadavg: Don't clobber LIBS. Regression from previous commit.
1875         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
1876         AC_CHECK_LIB from here...
1877         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
1878         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
1879         gl_func_getloadavg_done.
1880         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1881
1882 2011-06-18  Bruno Haible  <bruno@clisp.org>
1883
1884         clean-temp: Improve documentation.
1885         * lib/clean-temp.h: Explain better how to use this module.
1886         Reported by John Darrington <john@darrington.wattle.id.au>.
1887
1888 2011-06-17  Bruno Haible  <bruno@clisp.org>
1889
1890         pread, pwrite: Avoid cc warning on AIX.
1891         * lib/unistd.in.h (pread): Undefine before defining as a macro.
1892         (pwrite): Likewise.
1893
1894 2011-06-17  Bruno Haible  <bruno@clisp.org>
1895
1896         spawn-pipe tests: Fix link error.
1897         * tests/test-spawn-pipe-child.c: Undefine fprintf.
1898         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1899
1900 2011-06-17  Bruno Haible  <bruno@clisp.org>
1901
1902         Tests: Remove unnecessary dependency.
1903         * modules/canonicalize-tests (Depends-on): Remove progname.
1904         * modules/chown-tests (Depends-on): Likewise.
1905         * modules/dirname-tests (Depends-on): Likewise.
1906         * modules/fdopendir-tests (Depends-on): Likewise.
1907         * modules/fdutimensat-tests (Depends-on): Likewise.
1908         * modules/hash-tests (Depends-on): Likewise.
1909         * modules/lchown-tests (Depends-on): Likewise.
1910         * modules/linkat-tests (Depends-on): Likewise.
1911         * modules/renameat-tests (Depends-on): Likewise.
1912         * modules/spawn-pipe-tests (Depends-on): Likewise.
1913         * modules/utimensat-tests (Depends-on): Likewise.
1914
1915 2011-06-17  Bruno Haible  <bruno@clisp.org>
1916
1917         spawn-pipe tests: Fix link error.
1918         * tests/test-spawn-pipe-child.c: Undefine fflush.
1919
1920 2011-06-17  Bruno Haible  <bruno@clisp.org>
1921
1922         Fix tests link errors.
1923         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
1924         * modules/chown-tests (Makefile.am): Don't link test-chown with
1925         LIBINTL.
1926         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
1927         LIBINTL.
1928         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
1929         LIBINTL.
1930         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
1931         LIBINTL.
1932
1933 2011-06-16  Bruno Haible  <bruno@clisp.org>
1934
1935         crypto/gc-sha1: Fix recent regression.
1936         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
1937         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
1938
1939         crypto/gc-md5: Fix recent regression.
1940         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
1941
1942         crypto/gc-md4: Fix recent regression.
1943         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
1944         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
1945
1946         crypto/gc-arctwo: Fix recent regression.
1947         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
1948         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
1949
1950         crypto/gc-rijndael: Fix recent regression.
1951         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
1952         (configure.ac): Invoke AC_LIBOBJ here.
1953         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
1954         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1955
1956         crypto/gc-hmac-sha1: Fix recent regression.
1957         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
1958         (configure.ac): Invoke AC_LIBOBJ here.
1959         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
1960         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1961
1962         crypto/gc-hmac-md5: Fix recent regression.
1963         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
1964         (configure.ac): Invoke AC_LIBOBJ here.
1965         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
1966         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1967
1968         crypto/gc-des: Fix recent regression.
1969         * modules/crypto/gc-des (Files): Remove m4/des.m4.
1970         (configure.ac): Invoke AC_LIBOBJ here.
1971         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
1972         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1973
1974         crypto/gc-arcfour: Fix recent regression.
1975         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
1976         (configure.ac): Invoke AC_LIBOBJ here.
1977         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
1978         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1979
1980 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
1981
1982         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
1983         After the 2011-05-21 change, this macro requires
1984         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
1985         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
1986
1987 2011-06-16  Bruno Haible  <bruno@clisp.org>
1988
1989         fprintftime: Move AC_LIBOBJ invocations to module description.
1990         * m4/fprintftime.m4: Remove file.
1991         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
1992         (configure.ac): Remove gl_FPRINTFTIME call.
1993         (Makefile.am): Augment lib_SOURCES.
1994         Reported by Jim Meyering.
1995
1996 2011-06-16  Bruno Haible  <bruno@clisp.org>
1997
1998         tmpfile-safer: Finish 2011-05-23 commit.
1999         * m4/stdio-safer.m4: Really remove file.
2000         Reported by Jim Meyering.
2001
2002 2011-06-16  Bruno Haible  <bruno@clisp.org>
2003
2004         syntax-check: Fix typo.
2005         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
2006         printf-posix.m4.
2007         Reported by Jim Meyering.
2008
2009 2011-06-13  Jim Meyering  <meyering@redhat.com>
2010
2011         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
2012         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
2013
2014 2011-05-23  Bruno Haible  <bruno@clisp.org>
2015
2016         yesno: Move AC_LIBOBJ invocations to module description.
2017         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
2018         * modules/yesno (Makefile.am): Augment lib_SOURCES.
2019
2020 2011-05-23  Bruno Haible  <bruno@clisp.org>
2021
2022         xstrtol: Move AC_LIBOBJ invocations to module description.
2023         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
2024         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
2025
2026 2011-05-23  Bruno Haible  <bruno@clisp.org>
2027
2028         xstrtold: Move AC_LIBOBJ invocations to module description.
2029         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
2030         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
2031
2032 2011-05-23  Bruno Haible  <bruno@clisp.org>
2033
2034         xstrtod: Move AC_LIBOBJ invocations to module description.
2035         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
2036         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
2037
2038 2011-05-23  Bruno Haible  <bruno@clisp.org>
2039
2040         xnanosleep: Move AC_LIBOBJ invocations to module description.
2041         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
2042         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
2043
2044 2011-05-23  Bruno Haible  <bruno@clisp.org>
2045
2046         xgetcwd: Move AC_LIBOBJ invocations to module description.
2047         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
2048         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
2049
2050 2011-05-23  Bruno Haible  <bruno@clisp.org>
2051
2052         xalloc: Move AC_LIBOBJ invocations to module description.
2053         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
2054         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
2055
2056 2011-05-23  Bruno Haible  <bruno@clisp.org>
2057
2058         write-any-file: Move AC_LIBOBJ invocations to module description.
2059         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
2060         invocation.
2061         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
2062
2063 2011-05-23  Bruno Haible  <bruno@clisp.org>
2064
2065         utimens: Move AC_LIBOBJ invocations to module description.
2066         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
2067         * modules/utimens (Makefile.am): Augment lib_SOURCES.
2068
2069 2011-05-23  Bruno Haible  <bruno@clisp.org>
2070
2071         utimecmp: Move AC_LIBOBJ invocations to module description.
2072         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
2073         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
2074
2075 2011-05-23  Bruno Haible  <bruno@clisp.org>
2076
2077         userspec: Move AC_LIBOBJ invocations to module description.
2078         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
2079         * modules/userspec (Makefile.am): Augment lib_SOURCES.
2080
2081 2011-05-23  Bruno Haible  <bruno@clisp.org>
2082
2083         unlinkdir: Move AC_LIBOBJ invocations to module description.
2084         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
2085         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
2086
2087 2011-05-23  Bruno Haible  <bruno@clisp.org>
2088
2089         unistd-safer: Move AC_LIBOBJ invocations to module description.
2090         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
2091         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
2092
2093 2011-05-23  Bruno Haible  <bruno@clisp.org>
2094
2095         tempname: Move AC_LIBOBJ invocations to module description.
2096         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
2097         * modules/tempname (Makefile.am): Augment lib_SOURCES.
2098
2099 2011-05-23  Bruno Haible  <bruno@clisp.org>
2100
2101         strftime: Move AC_LIBOBJ invocations to module description.
2102         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
2103         * modules/strftime (Makefile.am): Augment lib_SOURCES.
2104
2105 2011-05-23  Bruno Haible  <bruno@clisp.org>
2106
2107         stdlib-safer: Move AC_LIBOBJ invocations to module description.
2108         * m4/stdlib-safer.m4: Remove file.
2109         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
2110         (configure.ac): Remove gl_STDLIB_SAFER call.
2111         (Makefile.am): Augment lib_SOURCES.
2112
2113 2011-05-23  Bruno Haible  <bruno@clisp.org>
2114
2115         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
2116         * m4/stdio-safer.m4: Remove file.
2117         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
2118         (configure.ac): Remove gl_TMPFILE_SAFER call.
2119         (Makefile.am): Augment lib_SOURCES.
2120
2121 2011-05-23  Bruno Haible  <bruno@clisp.org>
2122
2123         popen-safer: Move AC_LIBOBJ invocations to module description.
2124         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
2125         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
2126         (configure.ac): Remove gl_POPEN_SAFER call.
2127         (Makefile.am): Augment lib_SOURCES.
2128
2129 2011-05-23  Bruno Haible  <bruno@clisp.org>
2130
2131         freopen-safer: Move AC_LIBOBJ invocations to module description.
2132         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
2133         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
2134         (configure.ac): Remove gl_FREOPEN_SAFER call.
2135         (Makefile.am): Augment lib_SOURCES.
2136
2137 2011-05-23  Bruno Haible  <bruno@clisp.org>
2138
2139         fopen-safer: Move AC_LIBOBJ invocations to module description.
2140         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
2141         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
2142         (configure.ac): Remove gl_FOPEN_SAFER call.
2143         (Makefile.am): Augment lib_SOURCES.
2144
2145 2011-05-23  Bruno Haible  <bruno@clisp.org>
2146
2147         crypto/sha512: Move AC_LIBOBJ invocations to module description.
2148         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
2149         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
2150
2151 2011-05-23  Bruno Haible  <bruno@clisp.org>
2152
2153         crypto/sha256: Move AC_LIBOBJ invocations to module description.
2154         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
2155         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
2156
2157 2011-05-23  Bruno Haible  <bruno@clisp.org>
2158
2159         crypto/sha1: Move AC_LIBOBJ invocations to module description.
2160         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
2161         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
2162
2163 2011-05-23  Bruno Haible  <bruno@clisp.org>
2164
2165         settime: Move AC_LIBOBJ invocations to module description.
2166         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
2167         * modules/settime (Makefile.am): Augment lib_SOURCES.
2168
2169 2011-05-23  Bruno Haible  <bruno@clisp.org>
2170
2171         savedir: Move AC_LIBOBJ invocations to module description.
2172         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
2173         * modules/savedir (Makefile.am): Augment lib_SOURCES.
2174
2175 2011-05-23  Bruno Haible  <bruno@clisp.org>
2176
2177         save-cwd: Move AC_LIBOBJ invocations to module description.
2178         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
2179         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
2180
2181 2011-05-23  Bruno Haible  <bruno@clisp.org>
2182
2183         same: Move AC_LIBOBJ invocations to module description.
2184         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
2185         * modules/same (Makefile.am): Augment lib_SOURCES.
2186
2187 2011-05-23  Bruno Haible  <bruno@clisp.org>
2188
2189         safe-write: Move AC_LIBOBJ invocations to module description.
2190         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
2191         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
2192         instead of gl_SAFE_WRITE.
2193         (Makefile.am): Augment lib_SOURCES.
2194
2195 2011-05-23  Bruno Haible  <bruno@clisp.org>
2196
2197         safe-read: Move AC_LIBOBJ invocations to module description.
2198         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
2199         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
2200         of gl_SAFE_READ.
2201         (Makefile.am): Augment lib_SOURCES.
2202
2203 2011-05-23  Bruno Haible  <bruno@clisp.org>
2204
2205         safe-alloc: Move AC_LIBOBJ invocations to module description.
2206         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
2207         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
2208
2209 2011-05-23  Bruno Haible  <bruno@clisp.org>
2210
2211         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
2212         * m4/rijndael.m4: Remove file.
2213         * modules/crypto/rijndael (Files): Remove it.
2214         (configure.ac): Remove gl_RIJNDAEL call.
2215         (Makefile.am): Augment lib_SOURCES.
2216
2217 2011-05-23  Bruno Haible  <bruno@clisp.org>
2218
2219         readtokens: Move AC_LIBOBJ invocations to module description.
2220         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
2221         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
2222
2223 2011-05-23  Bruno Haible  <bruno@clisp.org>
2224
2225         read-file: Move AC_LIBOBJ invocations to module description.
2226         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
2227         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
2228         of gl_FUNC_READ_FILE.
2229         (Makefile.am): Augment lib_SOURCES.
2230
2231 2011-05-23  Bruno Haible  <bruno@clisp.org>
2232
2233         quotearg: Move AC_LIBOBJ invocations to module description.
2234         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
2235         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
2236
2237 2011-05-23  Bruno Haible  <bruno@clisp.org>
2238
2239         quote: Move AC_LIBOBJ invocations to module description.
2240         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
2241         * modules/quote (Makefile.am): Augment lib_SOURCES.
2242
2243 2011-05-23  Bruno Haible  <bruno@clisp.org>
2244
2245         posixver: Move AC_LIBOBJ invocations to module description.
2246         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
2247         * modules/posixver (Makefile.am): Augment lib_SOURCES.
2248
2249 2011-05-23  Bruno Haible  <bruno@clisp.org>
2250
2251         posixtm: Move AC_LIBOBJ invocations to module description.
2252         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
2253         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
2254
2255 2011-05-23  Bruno Haible  <bruno@clisp.org>
2256
2257         physmem: Move AC_LIBOBJ invocations to module description.
2258         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
2259         * modules/physmem (Makefile.am): Augment lib_SOURCES.
2260
2261 2011-05-23  Bruno Haible  <bruno@clisp.org>
2262
2263         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
2264         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
2265         invocation.
2266         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
2267
2268 2011-05-23  Bruno Haible  <bruno@clisp.org>
2269
2270         mpsort: Move AC_LIBOBJ invocations to module description.
2271         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
2272         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
2273
2274 2011-05-23  Bruno Haible  <bruno@clisp.org>
2275
2276         modechange: Move AC_LIBOBJ invocations to module description.
2277         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
2278         * modules/modechange (Makefile.am): Augment lib_SOURCES.
2279
2280 2011-05-23  Bruno Haible  <bruno@clisp.org>
2281
2282         mkdir-p: Move AC_LIBOBJ invocations to module description.
2283         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
2284         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
2285
2286 2011-05-23  Bruno Haible  <bruno@clisp.org>
2287
2288         mkancesdirs: Move AC_LIBOBJ invocations to module description.
2289         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
2290         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
2291
2292 2011-05-23  Bruno Haible  <bruno@clisp.org>
2293
2294         mgetgroups: Move AC_LIBOBJ invocations to module description.
2295         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
2296         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
2297
2298 2011-05-23  Bruno Haible  <bruno@clisp.org>
2299
2300         memxor: Move AC_LIBOBJ invocations to module description.
2301         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
2302         * modules/memxor (Makefile.am): Augment lib_SOURCES.
2303
2304 2011-05-23  Bruno Haible  <bruno@clisp.org>
2305
2306         memcoll: Move AC_LIBOBJ invocations to module description.
2307         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
2308         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
2309
2310 2011-05-23  Bruno Haible  <bruno@clisp.org>
2311
2312         memcasecmp: Move AC_LIBOBJ invocations to module description.
2313         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
2314         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
2315
2316 2011-05-23  Bruno Haible  <bruno@clisp.org>
2317
2318         crypto/md5: Move AC_LIBOBJ invocations to module description.
2319         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
2320         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
2321
2322 2011-05-23  Bruno Haible  <bruno@clisp.org>
2323
2324         crypto/md4: Move AC_LIBOBJ invocations to module description.
2325         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
2326         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
2327
2328 2011-05-23  Bruno Haible  <bruno@clisp.org>
2329
2330         crypto/md2: Move AC_LIBOBJ invocations to module description.
2331         * m4/md2.m4: Remove file.
2332         * modules/crypto/md2 (Files): Remove it.
2333         (configure.ac): Remove gl_MD2 call.
2334         (Makefile.am): Augment lib_SOURCES.
2335
2336 2011-05-23  Bruno Haible  <bruno@clisp.org>
2337
2338         long-options: Move AC_LIBOBJ invocations to module description.
2339         * m4/long-options.m4: Remove file.
2340         * modules/long-options (Files): Remove it.
2341         (configure.ac): Remove gl_LONG_OPTIONS call.
2342         (Makefile.am): Augment lib_SOURCES.
2343
2344 2011-05-23  Bruno Haible  <bruno@clisp.org>
2345
2346         i-ring: Move AC_LIBOBJ invocations to module description.
2347         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
2348         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
2349
2350 2011-05-23  Bruno Haible  <bruno@clisp.org>
2351
2352         idcache: Move AC_LIBOBJ invocations to module description.
2353         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
2354         * modules/idcache (Makefile.am): Augment lib_SOURCES.
2355
2356 2011-05-23  Bruno Haible  <bruno@clisp.org>
2357
2358         human: Move AC_LIBOBJ invocations to module description.
2359         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
2360         * modules/human (Makefile.am): Augment lib_SOURCES.
2361
2362 2011-05-23  Bruno Haible  <bruno@clisp.org>
2363
2364         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
2365         * m4/hmac-sha1.m4: Remove file.
2366         * modules/crypto/hmac-sha1 (Files): Remove it.
2367         (configure.ac): Remove gl_HMAC_SHA1 call.
2368         (Makefile.am): Augment lib_SOURCES.
2369
2370 2011-05-23  Bruno Haible  <bruno@clisp.org>
2371
2372         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
2373         * m4/hmac-md5.m4: Remove file.
2374         * modules/crypto/hmac-md5 (Files): Remove it.
2375         (configure.ac): Remove gl_HMAC_MD5 call.
2376         (Makefile.am): Augment lib_SOURCES.
2377
2378 2011-05-23  Bruno Haible  <bruno@clisp.org>
2379
2380         hash: Move AC_LIBOBJ invocations to module description.
2381         * m4/hash.m4: Remove file.
2382         * modules/hash (Files): Remove it.
2383         (configure.ac): Remove gl_HASH call.
2384         (Makefile.am): Augment lib_SOURCES.
2385
2386 2011-05-23  Bruno Haible  <bruno@clisp.org>
2387
2388         hard-locale: Move AC_LIBOBJ invocations to module description.
2389         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
2390         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
2391
2392 2011-05-23  Bruno Haible  <bruno@clisp.org>
2393
2394         getugroups: Move AC_LIBOBJ invocations to module description.
2395         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
2396         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
2397
2398 2011-05-23  Bruno Haible  <bruno@clisp.org>
2399
2400         gettime: Move AC_LIBOBJ invocations to module description.
2401         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
2402         * modules/gettime (Makefile.am): Augment lib_SOURCES.
2403
2404 2011-05-23  Bruno Haible  <bruno@clisp.org>
2405
2406         getndelim2: Move AC_LIBOBJ invocations to module description.
2407         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
2408         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
2409
2410 2011-05-23  Bruno Haible  <bruno@clisp.org>
2411
2412         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
2413         * m4/gc-pbkdf2-sha1.m4: Remove file.
2414         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
2415         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
2416         (Makefile.am): Augment lib_SOURCES.
2417
2418 2011-05-23  Bruno Haible  <bruno@clisp.org>
2419
2420         fts: Move AC_LIBOBJ invocations to module description.
2421         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
2422         * modules/fts (configure.ac): ... to here.
2423
2424 2011-05-23  Bruno Haible  <bruno@clisp.org>
2425
2426         file-type: Move AC_LIBOBJ invocations to module description.
2427         * m4/file-type.m4: Remove file.
2428         * modules/file-type (Files): Remove it.
2429         (configure.ac): Remove gl_FILE_TYPE call.
2430         (Makefile.am): Augment lib_SOURCES.
2431
2432 2011-05-23  Bruno Haible  <bruno@clisp.org>
2433
2434         filenamecat*: Respect rules for use of AC_LIBOBJ.
2435         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
2436         Remove AC_LIBOBJ invocation.
2437         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
2438         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
2439
2440 2011-05-23  Bruno Haible  <bruno@clisp.org>
2441
2442         filemode: Move AC_LIBOBJ invocations to module description.
2443         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
2444         * modules/filemode (Makefile.am): Augment lib_SOURCES.
2445
2446 2011-05-23  Bruno Haible  <bruno@clisp.org>
2447
2448         openat-safer: Move AC_LIBOBJ invocations to module description.
2449         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
2450         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
2451
2452 2011-05-23  Bruno Haible  <bruno@clisp.org>
2453
2454         fcntl-safer: Move AC_LIBOBJ invocations to module description.
2455         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
2456         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
2457
2458 2011-05-23  Bruno Haible  <bruno@clisp.org>
2459
2460         exclude: Move AC_LIBOBJ invocations to module description.
2461         * m4/exclude.m4: Remove file.
2462         * modules/exclude (Files): Remove it.
2463         (configure.ac): Remove gl_EXCLUDE call.
2464         (Makefile.am): Augment lib_SOURCES.
2465
2466 2011-05-23  Bruno Haible  <bruno@clisp.org>
2467
2468         dirname*: Respect rules for use of AC_LIBOBJ.
2469         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
2470         invocations.
2471         * modules/dirname (Makefile.am): Augment lib_SOURCES.
2472         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
2473
2474 2011-05-23  Bruno Haible  <bruno@clisp.org>
2475
2476         dirent-safer: Move AC_LIBOBJ invocations to module description.
2477         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
2478         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
2479
2480 2011-05-23  Bruno Haible  <bruno@clisp.org>
2481
2482         crypto/des: Move AC_LIBOBJ invocations to module description.
2483         * m4/des.m4: Remove file.
2484         * modules/crypto/des (Files): Remove it.
2485         (configure.ac): Remove gl_DES call.
2486         (Makefile.am): Augment lib_SOURCES.
2487
2488 2011-05-23  Bruno Haible  <bruno@clisp.org>
2489
2490         cycle-check: Move AC_LIBOBJ invocations to module description.
2491         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
2492         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
2493
2494 2011-05-23  Bruno Haible  <bruno@clisp.org>
2495
2496         c-strtold: Move AC_LIBOBJ invocations to module description.
2497         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
2498         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
2499
2500 2011-05-23  Bruno Haible  <bruno@clisp.org>
2501
2502         c-strtod: Move AC_LIBOBJ invocations to module description.
2503         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
2504         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
2505
2506 2011-05-23  Bruno Haible  <bruno@clisp.org>
2507
2508         crc: Move AC_LIBOBJ invocations to module description.
2509         * m4/crc.m4: Remove file.
2510         * modules/crc (Files): Remove it.
2511         (configure.ac): Remove gl_CRC call.
2512         (Makefile.am): Augment lib_SOURCES.
2513
2514 2011-05-23  Bruno Haible  <bruno@clisp.org>
2515
2516         close-stream: Move AC_LIBOBJ invocations to module description.
2517         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
2518         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
2519
2520 2011-05-23  Bruno Haible  <bruno@clisp.org>
2521
2522         closeout: Move AC_LIBOBJ invocations to module description.
2523         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
2524         * modules/closeout (Makefile.am): Augment lib_SOURCES.
2525
2526 2011-05-23  Bruno Haible  <bruno@clisp.org>
2527
2528         closein: Move AC_LIBOBJ invocations to module description.
2529         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
2530         * modules/closein (Makefile.am): Augment lib_SOURCES.
2531
2532 2011-05-23  Bruno Haible  <bruno@clisp.org>
2533
2534         cloexec: Move AC_LIBOBJ invocations to module description.
2535         * m4/cloexec.m4: Remove file.
2536         * modules/cloexec (Files): Remove it.
2537         (configure.ac): Remove gl_CLOEXEC call.
2538         (Makefile.am): Augment lib_SOURCES.
2539
2540 2011-05-23  Bruno Haible  <bruno@clisp.org>
2541
2542         check-version: Move AC_LIBOBJ invocations to module description.
2543         * m4/check-version.m4: Remove file.
2544         * modules/check-version (Files): Remove it.
2545         (configure.ac): Remove gl_CHECK_VERSION call.
2546         (Makefile.am): Augment lib_SOURCES.
2547
2548 2011-05-23  Bruno Haible  <bruno@clisp.org>
2549
2550         chdir-safer: Move AC_LIBOBJ invocations to module description.
2551         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
2552         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
2553
2554 2011-05-23  Bruno Haible  <bruno@clisp.org>
2555
2556         canonicalize: Move AC_LIBOBJ invocations to module description.
2557         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
2558         AC_LIBOBJ invocation.
2559         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
2560
2561 2011-05-23  Bruno Haible  <bruno@clisp.org>
2562
2563         canon-host: Move AC_LIBOBJ invocations to module description.
2564         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
2565         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
2566         instead of gl_CANON_HOST.
2567         (Makefile.am): Augment lib_SOURCES.
2568
2569 2011-05-23  Bruno Haible  <bruno@clisp.org>
2570
2571         backupfile: Move AC_LIBOBJ invocations to module description.
2572         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
2573         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
2574
2575 2011-05-23  Bruno Haible  <bruno@clisp.org>
2576
2577         argmatch: Move AC_LIBOBJ invocations to module description.
2578         * m4/argmatch.m4: Remove file.
2579         * modules/argmatch (Files): Remove it.
2580         (configure.ac): Remove gl_ARGMATCH call.
2581         (Makefile.am): Augment lib_SOURCES.
2582
2583 2011-05-23  Bruno Haible  <bruno@clisp.org>
2584
2585         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
2586         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
2587         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
2588
2589 2011-05-23  Bruno Haible  <bruno@clisp.org>
2590
2591         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
2592         * m4/arcfour.m4: Remove file.
2593         * modules/crypto/arcfour (Files): Remove it.
2594         (configure.ac): Remove gl_ARCFOUR call.
2595         (Makefile.am): Augment lib_SOURCES.
2596
2597 2011-05-22  Bruno Haible  <bruno@clisp.org>
2598
2599         write: Move AC_LIBOBJ invocations to module description.
2600         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
2601         * modules/write (configure.ac): ... to here.
2602
2603 2011-05-22  Bruno Haible  <bruno@clisp.org>
2604
2605         wmemset: Move AC_LIBOBJ invocations to module description.
2606         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
2607         here...
2608         * modules/wmemset (configure.ac): ... to here.
2609
2610 2011-05-22  Bruno Haible  <bruno@clisp.org>
2611
2612         wmemmove: Move AC_LIBOBJ invocations to module description.
2613         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
2614         here...
2615         * modules/wmemmove (configure.ac): ... to here.
2616
2617 2011-05-22  Bruno Haible  <bruno@clisp.org>
2618
2619         wmemcpy: Move AC_LIBOBJ invocations to module description.
2620         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
2621         here...
2622         * modules/wmemcpy (configure.ac): ... to here.
2623
2624 2011-05-22  Bruno Haible  <bruno@clisp.org>
2625
2626         wmemcmp: Move AC_LIBOBJ invocations to module description.
2627         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
2628         here...
2629         * modules/wmemcmp (configure.ac): ... to here.
2630
2631 2011-05-22  Bruno Haible  <bruno@clisp.org>
2632
2633         wmemchr: Move AC_LIBOBJ invocations to module description.
2634         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
2635         here...
2636         * modules/wmemchr (configure.ac): ... to here.
2637
2638 2011-05-22  Bruno Haible  <bruno@clisp.org>
2639
2640         wcswidth: Move AC_LIBOBJ invocations to module description.
2641         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
2642         here...
2643         * modules/wcswidth (configure.ac): ... to here.
2644
2645 2011-05-22  Bruno Haible  <bruno@clisp.org>
2646
2647         wcwidth: Respect rules for use of AC_LIBOBJ.
2648         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
2649         invocation from here...
2650         * modules/wcwidth (configure.ac): ... to here.
2651         (Depends-on): Update conditions.
2652
2653 2011-05-22  Bruno Haible  <bruno@clisp.org>
2654
2655         wctype: Move AC_LIBOBJ invocations to module description.
2656         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
2657         invocation from here...
2658         * modules/wctype (configure.ac): ... to here.
2659         (Depends-on): Update conditions.
2660
2661 2011-05-22  Bruno Haible  <bruno@clisp.org>
2662
2663         wctrans: Move AC_LIBOBJ invocations to module description.
2664         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
2665         invocation from here...
2666         * modules/wctrans (configure.ac): ... to here.
2667
2668 2011-05-22  Bruno Haible  <bruno@clisp.org>
2669
2670         wctomb: Move AC_LIBOBJ invocations to module description.
2671         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
2672         invocations from here...
2673         * modules/wctomb (configure.ac): ... to here.
2674
2675 2011-05-22  Bruno Haible  <bruno@clisp.org>
2676
2677         wctob: Move AC_LIBOBJ invocations to module description.
2678         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
2679         gl_PREREQ_WCTOB invocations from here...
2680         * modules/wctob (configure.ac): ... to here.
2681         (Depends-on): Update conditions.
2682
2683 2011-05-22  Bruno Haible  <bruno@clisp.org>
2684
2685         wcsxfrm: Move AC_LIBOBJ invocations to module description.
2686         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
2687         here...
2688         * modules/wcsxfrm (configure.ac): ... to here.
2689
2690 2011-05-22  Bruno Haible  <bruno@clisp.org>
2691
2692         wcstok: Move AC_LIBOBJ invocations to module description.
2693         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
2694         * modules/wcstok (configure.ac): ... to here.
2695
2696 2011-05-22  Bruno Haible  <bruno@clisp.org>
2697
2698         wcsstr: Move AC_LIBOBJ invocations to module description.
2699         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
2700         * modules/wcsstr (configure.ac): ... to here.
2701
2702 2011-05-22  Bruno Haible  <bruno@clisp.org>
2703
2704         wcsspn: Move AC_LIBOBJ invocations to module description.
2705         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
2706         * modules/wcsspn (configure.ac): ... to here.
2707
2708 2011-05-22  Bruno Haible  <bruno@clisp.org>
2709
2710         wcsrtombs: Move AC_LIBOBJ invocations to module description.
2711         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
2712         gl_PREREQ_WCSRTOMBS invocations from here...
2713         * modules/wcsrtombs (configure.ac): ... to here.
2714
2715 2011-05-22  Bruno Haible  <bruno@clisp.org>
2716
2717         wcsrchr: Move AC_LIBOBJ invocations to module description.
2718         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
2719         here...
2720         * modules/wcsrchr (configure.ac): ... to here.
2721
2722 2011-05-22  Bruno Haible  <bruno@clisp.org>
2723
2724         wcspbrk: Move AC_LIBOBJ invocations to module description.
2725         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
2726         here...
2727         * modules/wcspbrk (configure.ac): ... to here.
2728
2729 2011-05-22  Bruno Haible  <bruno@clisp.org>
2730
2731         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
2732         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
2733         gl_PREREQ_WCSNRTOMBS invocations from here...
2734         * modules/wcsnrtombs (configure.ac): ... to here.
2735
2736 2011-05-22  Bruno Haible  <bruno@clisp.org>
2737
2738         wcsnlen: Move AC_LIBOBJ invocations to module description.
2739         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
2740         here...
2741         * modules/wcsnlen (configure.ac): ... to here.
2742
2743 2011-05-22  Bruno Haible  <bruno@clisp.org>
2744
2745         wcsncpy: Move AC_LIBOBJ invocations to module description.
2746         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
2747         here...
2748         * modules/wcsncpy (configure.ac): ... to here.
2749
2750 2011-05-22  Bruno Haible  <bruno@clisp.org>
2751
2752         wcsncmp: Move AC_LIBOBJ invocations to module description.
2753         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
2754         here...
2755         * modules/wcsncmp (configure.ac): ... to here.
2756
2757 2011-05-22  Bruno Haible  <bruno@clisp.org>
2758
2759         wcsncat: Move AC_LIBOBJ invocations to module description.
2760         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
2761         here...
2762         * modules/wcsncat (configure.ac): ... to here.
2763
2764 2011-05-22  Bruno Haible  <bruno@clisp.org>
2765
2766         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
2767         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
2768         from here...
2769         * modules/wcsncasecmp (configure.ac): ... to here.
2770
2771 2011-05-22  Bruno Haible  <bruno@clisp.org>
2772
2773         wcslen: Move AC_LIBOBJ invocations to module description.
2774         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
2775         * modules/wcslen (configure.ac): ... to here.
2776
2777 2011-05-22  Bruno Haible  <bruno@clisp.org>
2778
2779         wcsdup: Move AC_LIBOBJ invocations to module description.
2780         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
2781         * modules/wcsdup (configure.ac): ... to here.
2782
2783 2011-05-22  Bruno Haible  <bruno@clisp.org>
2784
2785         wcscspn: Move AC_LIBOBJ invocations to module description.
2786         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
2787         here...
2788         * modules/wcscspn (configure.ac): ... to here.
2789
2790 2011-05-22  Bruno Haible  <bruno@clisp.org>
2791
2792         wcscpy: Move AC_LIBOBJ invocations to module description.
2793         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
2794         * modules/wcscpy (configure.ac): ... to here.
2795
2796 2011-05-22  Bruno Haible  <bruno@clisp.org>
2797
2798         wcscoll: Move AC_LIBOBJ invocations to module description.
2799         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
2800         here...
2801         * modules/wcscoll (configure.ac): ... to here.
2802
2803 2011-05-22  Bruno Haible  <bruno@clisp.org>
2804
2805         wcscmp: Move AC_LIBOBJ invocations to module description.
2806         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
2807         * modules/wcscmp (configure.ac): ... to here.
2808
2809 2011-05-22  Bruno Haible  <bruno@clisp.org>
2810
2811         wcschr: Move AC_LIBOBJ invocations to module description.
2812         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
2813         * modules/wcschr (configure.ac): ... to here.
2814
2815 2011-05-22  Bruno Haible  <bruno@clisp.org>
2816
2817         wcscat: Move AC_LIBOBJ invocations to module description.
2818         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
2819         * modules/wcscat (configure.ac): ... to here.
2820
2821 2011-05-22  Bruno Haible  <bruno@clisp.org>
2822
2823         wcscasecmp: Move AC_LIBOBJ invocations to module description.
2824         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
2825         here...
2826         * modules/wcscasecmp (configure.ac): ... to here.
2827
2828 2011-05-22  Bruno Haible  <bruno@clisp.org>
2829
2830         wcrtomb: Move AC_LIBOBJ invocations to module description.
2831         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
2832         invocations from here...
2833         * modules/wcrtomb (configure.ac): ... to here.
2834
2835 2011-05-22  Bruno Haible  <bruno@clisp.org>
2836
2837         wcpncpy: Move AC_LIBOBJ invocations to module description.
2838         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
2839         here...
2840         * modules/wcpncpy (configure.ac): ... to here.
2841
2842 2011-05-22  Bruno Haible  <bruno@clisp.org>
2843
2844         wcpcpy: Move AC_LIBOBJ invocations to module description.
2845         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
2846         * modules/wcpcpy (configure.ac): ... to here.
2847
2848 2011-05-22  Bruno Haible  <bruno@clisp.org>
2849
2850         waitpid: Move AC_LIBOBJ invocations to module description.
2851         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
2852         invocation from here...
2853         * modules/waitpid (configure.ac): ... to here.
2854
2855 2011-05-22  Bruno Haible  <bruno@clisp.org>
2856
2857         utimensat: Move AC_LIBOBJ invocations to module description.
2858         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
2859         here...
2860         * modules/utimensat (configure.ac): ... to here.
2861
2862 2011-05-22  Bruno Haible  <bruno@clisp.org>
2863
2864         usleep: Move AC_LIBOBJ invocations to module description.
2865         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
2866         here...
2867         * modules/usleep (configure.ac): ... to here.
2868
2869 2011-05-22  Bruno Haible  <bruno@clisp.org>
2870
2871         unlockpt: Move AC_LIBOBJ invocations to module description.
2872         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
2873         gl_PREREQ_UNLOCKPT invocations from here...
2874         * modules/unlockpt (configure.ac): ... to here.
2875
2876 2011-05-22  Bruno Haible  <bruno@clisp.org>
2877
2878         unlink: Respect rules for use of AC_LIBOBJ.
2879         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
2880         * modules/unlink (configure.ac): ... to here.
2881
2882 2011-05-22  Bruno Haible  <bruno@clisp.org>
2883
2884         uname: Move AC_LIBOBJ invocations to module description.
2885         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
2886         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
2887         here...
2888         * modules/uname (configure.ac): ... to here.
2889
2890 2011-05-22  Bruno Haible  <bruno@clisp.org>
2891
2892         ttyname_r: Move AC_LIBOBJ invocations to module description.
2893         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
2894         gl_PREREQ_TTYNAME_R invocations from here...
2895         * modules/ttyname_r (configure.ac): ... to here.
2896
2897 2011-05-22  Bruno Haible  <bruno@clisp.org>
2898
2899         tsearch: Move AC_LIBOBJ invocations to module description.
2900         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
2901         invocations from here...
2902         * modules/tsearch (configure.ac): ... to here.
2903
2904 2011-05-22  Bruno Haible  <bruno@clisp.org>
2905
2906         towctrans: Move AC_LIBOBJ invocations to module description.
2907         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
2908         AC_LIBOBJ invocation from here...
2909         * modules/towctrans (configure.ac): ... to here.
2910
2911 2011-05-22  Bruno Haible  <bruno@clisp.org>
2912
2913         tmpfile: Move AC_LIBOBJ invocations to module description.
2914         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
2915         invocations from here...
2916         * modules/tmpfile (configure.ac): ... to here.
2917
2918 2011-05-22  Bruno Haible  <bruno@clisp.org>
2919
2920         times: Move AC_LIBOBJ invocations to module description.
2921         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
2922         * modules/times (configure.ac): ... to here.
2923
2924 2011-05-22  Bruno Haible  <bruno@clisp.org>
2925
2926         time_r: Move AC_LIBOBJ invocations to module description.
2927         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
2928         invocations from here...
2929         * modules/time_r (configure.ac): ... to here.
2930
2931 2011-05-22  Bruno Haible  <bruno@clisp.org>
2932
2933         timegm: Move AC_LIBOBJ invocations to module description.
2934         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
2935         invocations from here...
2936         * modules/timegm (configure.ac): ... to here.
2937
2938 2011-05-22  Bruno Haible  <bruno@clisp.org>
2939
2940         tcgetsid: Move AC_LIBOBJ invocations to module description.
2941         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
2942         and gl_PREREQ_TCGETSID invocations from here...
2943         * modules/tcgetsid (configure.ac): ... to here.
2944         (Depends-on): Update conditions.
2945
2946 2011-05-22  Bruno Haible  <bruno@clisp.org>
2947
2948         symlinkat: Move AC_LIBOBJ invocations to module description.
2949         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
2950         here...
2951         * modules/symlinkat (configure.ac): ... to here.
2952
2953 2011-05-22  Bruno Haible  <bruno@clisp.org>
2954
2955         symlink: Move AC_LIBOBJ invocations to module description.
2956         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
2957         here...
2958         * modules/symlink (configure.ac): ... to here.
2959
2960 2011-05-22  Bruno Haible  <bruno@clisp.org>
2961
2962         strverscmp: Move AC_LIBOBJ invocations to module description.
2963         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
2964         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
2965         from here...
2966         * modules/strverscmp (configure.ac): ... to here.
2967
2968 2011-05-22  Bruno Haible  <bruno@clisp.org>
2969
2970         strtok_r: Move AC_LIBOBJ invocations to module description.
2971         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
2972         and gl_PREREQ_STRTOK_R invocations from here...
2973         * modules/strtok_r (configure.ac): ... to here.
2974         (Depends-on): Update conditions.
2975
2976 2011-05-22  Bruno Haible  <bruno@clisp.org>
2977
2978         strtoumax: Move AC_LIBOBJ invocations to module description.
2979         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
2980         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
2981         from here...
2982         * modules/strtoumax (configure.ac): ... to here.
2983
2984 2011-05-22  Bruno Haible  <bruno@clisp.org>
2985
2986         strtoimax: Move AC_LIBOBJ invocations to module description.
2987         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
2988         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
2989         from here...
2990         * modules/strtoimax (configure.ac): ... to here.
2991
2992 2011-05-22  Bruno Haible  <bruno@clisp.org>
2993
2994         strtoull: Move AC_LIBOBJ invocations to module description.
2995         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
2996         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
2997         from here...
2998         * modules/strtoull (configure.ac): ... to here.
2999
3000 2011-05-22  Bruno Haible  <bruno@clisp.org>
3001
3002         strtoll: Move AC_LIBOBJ invocations to module description.
3003         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
3004         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
3005         here...
3006         * modules/strtoll (configure.ac): ... to here.
3007
3008 2011-05-22  Bruno Haible  <bruno@clisp.org>
3009
3010         strtoul: Move AC_LIBOBJ invocations to module description.
3011         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
3012         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
3013         * modules/strtoul (configure.ac): ... to here.
3014
3015 2011-05-22  Bruno Haible  <bruno@clisp.org>
3016
3017         strtol: Move AC_LIBOBJ invocations to module description.
3018         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
3019         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
3020         * modules/strtol (configure.ac): ... to here.
3021
3022 2011-05-22  Bruno Haible  <bruno@clisp.org>
3023
3024         strtod: Move AC_LIBOBJ invocations to module description.
3025         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
3026         invocations from here...
3027         * modules/strtod (configure.ac): ... to here.
3028
3029 2011-05-22  Bruno Haible  <bruno@clisp.org>
3030
3031         strstr*: Move AC_LIBOBJ invocations to module description.
3032         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
3033         invocations from here...
3034         * modules/strstr-simple (configure.ac): ... to here.
3035         * modules/strstr (configure.ac): ... and here.
3036
3037 2011-05-22  Bruno Haible  <bruno@clisp.org>
3038
3039         strsignal: Move AC_LIBOBJ invocations to module description.
3040         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
3041         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
3042         * modules/strsignal (configure.ac): ... to here.
3043         (Depends-on): Update conditions.
3044
3045 2011-05-22  Bruno Haible  <bruno@clisp.org>
3046
3047         strsep: Move AC_LIBOBJ invocations to module description.
3048         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
3049         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
3050         here...
3051         * modules/strsep (configure.ac): ... to here.
3052
3053 2011-05-22  Bruno Haible  <bruno@clisp.org>
3054
3055         strptime: Move AC_LIBOBJ invocations to module description.
3056         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
3057         gl_PREREQ_STRPTIME invocations from here...
3058         * modules/strptime (configure.ac): ... to here.
3059
3060 2011-05-22  Bruno Haible  <bruno@clisp.org>
3061
3062         strpbrk: Move AC_LIBOBJ invocations to module description.
3063         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
3064         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
3065         here...
3066         * modules/strpbrk (configure.ac): ... to here.
3067
3068 2011-05-22  Bruno Haible  <bruno@clisp.org>
3069
3070         strnlen: Move AC_LIBOBJ invocations to module description.
3071         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
3072         invocations from here...
3073         * modules/strnlen (configure.ac): ... to here.
3074
3075 2011-05-22  Bruno Haible  <bruno@clisp.org>
3076
3077         strndup: Move AC_LIBOBJ invocations to module description.
3078         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
3079         invocations from here...
3080         * modules/strndup (configure.ac): ... to here.
3081         (Depends-on): Update conditions.
3082
3083 2011-05-22  Bruno Haible  <bruno@clisp.org>
3084
3085         strncat: Move AC_LIBOBJ invocations to module description.
3086         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
3087         invocations from here...
3088         * modules/strncat (configure.ac): ... to here.
3089
3090 2011-05-22  Bruno Haible  <bruno@clisp.org>
3091
3092         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
3093         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
3094         invocations from here...
3095         * modules/strdup (configure.ac): ... to here.
3096         * modules/strdup-posix (configure.ac): ... and here.
3097
3098 2011-05-22  Bruno Haible  <bruno@clisp.org>
3099
3100         strcspn: Move AC_LIBOBJ invocations to module description.
3101         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
3102         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
3103         here...
3104         * modules/strcspn (configure.ac): ... to here.
3105
3106 2011-05-22  Bruno Haible  <bruno@clisp.org>
3107
3108         strchrnul: Move AC_LIBOBJ invocations to module description.
3109         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
3110         gl_PREREQ_STRCHRNUL invocations from here...
3111         * modules/strchrnul (configure.ac): ... to here.
3112
3113 2011-05-22  Bruno Haible  <bruno@clisp.org>
3114
3115         strcasestr*: Move AC_LIBOBJ invocations to module description.
3116         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
3117         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
3118         * modules/strcasestr-simple (configure.ac): ... to here.
3119         * modules/strcasestr (configure.ac): ... and here.
3120
3121 2011-05-22  Bruno Haible  <bruno@clisp.org>
3122
3123         strcase: Move AC_LIBOBJ invocations to module description.
3124         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
3125         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
3126         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
3127         gl_PREREQ_STRNCASECMP invocations from here...
3128         * modules/strcase (configure.ac): ... to here.
3129
3130 2011-05-22  Bruno Haible  <bruno@clisp.org>
3131
3132         stpncpy: Move AC_LIBOBJ invocations to module description.
3133         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
3134         here...
3135         * modules/stpncpy (configure.ac): ... to here.
3136
3137 2011-05-22  Bruno Haible  <bruno@clisp.org>
3138
3139         stpcpy: Move AC_LIBOBJ invocations to module description.
3140         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
3141         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
3142         here...
3143         * modules/stpcpy (configure.ac): ... to here.
3144
3145 2011-05-21  Bruno Haible  <bruno@clisp.org>
3146
3147         stat: Move AC_LIBOBJ invocations to module description.
3148         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
3149         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
3150         here...
3151         * modules/stat (configure.ac): ... to here.
3152
3153 2011-05-21  Bruno Haible  <bruno@clisp.org>
3154
3155         sleep: Move AC_LIBOBJ invocations to module description.
3156         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
3157         * modules/sleep (configure.ac): ... to here.
3158
3159 2011-05-21  Bruno Haible  <bruno@clisp.org>
3160
3161         signbit: Move AC_LIBOBJ invocations to module description.
3162         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
3163         * modules/signbit (configure.ac): ... to here.
3164
3165 2011-05-21  Bruno Haible  <bruno@clisp.org>
3166
3167         sigprocmask: Move AC_LIBOBJ invocations to module description.
3168         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
3169         gl_PREREQ_SIGPROMASK invocations from here...
3170         * modules/sigprocmask (configure.ac): ... to here.
3171
3172 2011-05-21  Bruno Haible  <bruno@clisp.org>
3173
3174         sigaction: Move AC_LIBOBJ invocations to module description.
3175         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
3176         gl_PREREQ_SIGACTION invocations from here...
3177         * modules/sigaction (configure.ac): ... to here.
3178
3179 2011-05-21  Bruno Haible  <bruno@clisp.org>
3180
3181         sig2str: Move AC_LIBOBJ invocations to module description.
3182         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
3183         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
3184         here...
3185         * modules/sig2str (configure.ac): ... to here.
3186
3187 2011-05-21  Bruno Haible  <bruno@clisp.org>
3188
3189         setlocale: Move AC_LIBOBJ invocations to module description.
3190         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
3191         gl_PREREQ_SETLOCALE invocations from here...
3192         * modules/setlocale (configure.ac): ... to here.
3193
3194 2011-05-21  Bruno Haible  <bruno@clisp.org>
3195
3196         unsetenv: Move AC_LIBOBJ invocations to module description.
3197         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
3198         and gl_PREREQ_UNSETENV invocations from here...
3199         * modules/unsetenv (configure.ac): ... to here.
3200         (Depends-on): Update.
3201
3202 2011-05-21  Bruno Haible  <bruno@clisp.org>
3203
3204         setenv: Move AC_LIBOBJ invocations to module description.
3205         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
3206         here...
3207         * modules/setenv (configure.ac): ... to here.
3208
3209 2011-05-21  Bruno Haible  <bruno@clisp.org>
3210
3211         selinux-h: Move AC_LIBOBJ invocations to module description.
3212         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
3213         AC_LIBOBJ invocation from here...
3214         * modules/selinux-h (configure.ac): ... to here.
3215
3216 2011-05-21  Bruno Haible  <bruno@clisp.org>
3217
3218         select: Respect rules for use of AC_LIBOBJ.
3219         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
3220         here...
3221         * modules/select (configure.ac): ... to here.
3222
3223 2011-05-21  Bruno Haible  <bruno@clisp.org>
3224
3225         scandir: Move AC_LIBOBJ invocations to module description.
3226         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
3227         invocations from here...
3228         * modules/scandir (configure.ac): ... to here.
3229
3230 2011-05-21  Bruno Haible  <bruno@clisp.org>
3231
3232         rpmatch: Move AC_LIBOBJ invocations to module description.
3233         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
3234         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
3235         here...
3236         * modules/rpmatch (configure.ac): ... to here.
3237
3238 2011-05-21  Bruno Haible  <bruno@clisp.org>
3239
3240         rmdir: Respect rules for use of AC_LIBOBJ.
3241         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
3242         * modules/rmdir (configure.ac): ... to here.
3243
3244 2011-05-21  Bruno Haible  <bruno@clisp.org>
3245
3246         renameat: Move AC_LIBOBJ invocations to module description.
3247         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
3248         here...
3249         * modules/renameat (configure.ac): ... to here.
3250
3251 2011-05-21  Bruno Haible  <bruno@clisp.org>
3252
3253         rename: Respect rules for use of AC_LIBOBJ.
3254         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
3255         here...
3256         * modules/rename (configure.ac): ... to here.
3257
3258 2011-05-21  Bruno Haible  <bruno@clisp.org>
3259
3260         remove: Move AC_LIBOBJ invocations to module description.
3261         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
3262         here...
3263         * modules/remove (configure.ac): ... to here.
3264
3265 2011-05-21  Bruno Haible  <bruno@clisp.org>
3266
3267         relocatable-lib: Move AC_LIBOBJ invocations to module description.
3268         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
3269         macro.
3270         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
3271         * modules/relocatable-lib (configure.ac): ... to here.
3272         * modules/relocatable-prog-wrapper (configure.ac): Invoke
3273         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
3274
3275 2011-05-21  Bruno Haible  <bruno@clisp.org>
3276
3277         relocatable-prog: Move AC_LIBOBJ invocations to module description.
3278         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
3279         here...
3280         * modules/relocatable-prog (configure.ac): ... to here.
3281
3282 2011-05-21  Bruno Haible  <bruno@clisp.org>
3283
3284         regex: Move AC_LIBOBJ invocations to module description.
3285         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
3286         invocations from here...
3287         * modules/regex (configure.ac): ... to here.
3288
3289 2011-05-21  Bruno Haible  <bruno@clisp.org>
3290
3291         realloc-*: Move AC_LIBOBJ invocations to module description.
3292         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
3293         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
3294         AC_LIBOBJ invocations from here...
3295         * modules/realloc-gnu (configure.ac): ... to here.
3296         * modules/realloc-posix (configure.ac): ... and here.
3297
3298 2011-05-21  Bruno Haible  <bruno@clisp.org>
3299
3300         readutmp: Move AC_LIBOBJ invocations to module description.
3301         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
3302         * modules/readutmp (configure.ac): ... to here.
3303
3304 2011-05-21  Bruno Haible  <bruno@clisp.org>
3305
3306         readlinkat: Move AC_LIBOBJ invocations to module description.
3307         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
3308         here...
3309         * modules/readlinkat (configure.ac): ... to here.
3310
3311 2011-05-21  Bruno Haible  <bruno@clisp.org>
3312
3313         readlink: Move AC_LIBOBJ invocations to module description.
3314         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
3315         gl_PREREQ_READLINK invocations from here...
3316         * modules/readlink (configure.ac): ... to here.
3317
3318 2011-05-21  Bruno Haible  <bruno@clisp.org>
3319
3320         readline: Move AC_LIBOBJ invocations to module description.
3321         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
3322         gl_PREREQ_READLINE invocations from here...
3323         * modules/readline (configure.ac): ... to here.
3324
3325 2011-05-21  Bruno Haible  <bruno@clisp.org>
3326
3327         read: Move AC_LIBOBJ invocations to module description.
3328         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
3329         * modules/read (configure.ac): ... to here.
3330
3331 2011-05-21  Bruno Haible  <bruno@clisp.org>
3332
3333         rawmemchr: Move AC_LIBOBJ invocations to module description.
3334         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
3335         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
3336         from here...
3337         * modules/rawmemchr (configure.ac): ... to here.
3338
3339 2011-05-21  Bruno Haible  <bruno@clisp.org>
3340
3341         random_r: Move AC_LIBOBJ invocations to module description.
3342         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
3343         gl_PREREQ_RANDOM_R invocations from here...
3344         * modules/random_r (configure.ac): ... to here.
3345
3346 2011-05-21  Bruno Haible  <bruno@clisp.org>
3347
3348         pwrite: Move AC_LIBOBJ invocations to module description.
3349         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
3350         * modules/pwrite (configure.ac): ... to here.
3351
3352 2011-05-21  Bruno Haible  <bruno@clisp.org>
3353
3354         putenv: Move AC_LIBOBJ invocations to module description.
3355         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
3356         * modules/putenv (configure.ac): ... to here.
3357
3358 2011-05-21  Bruno Haible  <bruno@clisp.org>
3359
3360         login_tty: Move AC_LIBOBJ invocations to module description.
3361         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
3362         * modules/login_tty (configure.ac): ... to here.
3363
3364 2011-05-21  Bruno Haible  <bruno@clisp.org>
3365
3366         openpty: Move AC_LIBOBJ invocations to module description.
3367         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
3368         * modules/openpty (configure.ac): ... to here.
3369
3370 2011-05-21  Bruno Haible  <bruno@clisp.org>
3371
3372         forkpty: Move AC_LIBOBJ invocations to module description.
3373         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
3374         * modules/forkpty (configure.ac): ... to here.
3375
3376 2011-05-21  Bruno Haible  <bruno@clisp.org>
3377
3378         ptsname: Move AC_LIBOBJ invocations to module description.
3379         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
3380         invocations from here...
3381         * modules/ptsname (configure.ac): ... to here.
3382
3383 2011-05-21  Bruno Haible  <bruno@clisp.org>
3384
3385         pread: Move AC_LIBOBJ invocations to module description.
3386         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
3387         * modules/pread (configure.ac): ... to here.
3388
3389 2011-05-21  Bruno Haible  <bruno@clisp.org>
3390
3391         posix_spawn*: Move AC_LIBOBJ invocations to module description.
3392         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
3393         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
3394         * modules/posix_spawn (configure.ac): ... to here.
3395         * modules/posix_spawnp (configure.ac): ... and here.
3396
3397 2011-05-21  Bruno Haible  <bruno@clisp.org>
3398
3399         popen: Move AC_LIBOBJ invocations to module description.
3400         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
3401         invocations from here...
3402         * modules/popen (configure.ac): ... to here.
3403
3404 2011-05-21  Bruno Haible  <bruno@clisp.org>
3405
3406         poll: Move AC_LIBOBJ invocations to module description.
3407         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
3408         invocations from here...
3409         * modules/poll (configure.ac): ... to here.
3410
3411 2011-05-21  Bruno Haible  <bruno@clisp.org>
3412
3413         pipe-posix: Move AC_LIBOBJ invocations to module description.
3414         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
3415         * modules/pipe-posix (configure.ac): ... to here.
3416
3417 2011-05-21  Bruno Haible  <bruno@clisp.org>
3418
3419         openat: Respect rules for use of AC_LIBOBJ.
3420         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
3421         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
3422         * modules/openat (configure.ac): ... to here.
3423
3424 2011-05-21  Bruno Haible  <bruno@clisp.org>
3425
3426         obstack-printf*: Move AC_LIBOBJ invocations to module description.
3427         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
3428         invocation from here...
3429         * modules/obstack-printf (configure.ac): ... to here.
3430         * modules/obstack-printf-posix (configure.ac): ... and here.
3431
3432 2011-05-21  Bruno Haible  <bruno@clisp.org>
3433
3434         nl_langinfo: Move AC_LIBOBJ invocations to module description.
3435         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
3436         from here...
3437         * modules/nl_langinfo (configure.ac): ... to here.
3438
3439 2011-05-21  Bruno Haible  <bruno@clisp.org>
3440
3441         nanosleep: Move AC_LIBOBJ invocations to module description.
3442         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
3443         gl_PREREQ_NANOSLEEP invocations from here...
3444         * modules/nanosleep (configure.ac): ... to here.
3445
3446 2011-05-21  Bruno Haible  <bruno@clisp.org>
3447
3448         mountlist: Move AC_LIBOBJ invocations to module description.
3449         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
3450         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
3451         * modules/mountlist (configure.ac): ... to here.
3452
3453 2011-05-21  Bruno Haible  <bruno@clisp.org>
3454
3455         mktime: Respect rules for use of AC_LIBOBJ.
3456         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
3457         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
3458         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
3459         (gl_FUNC_MKTIME_INTERNAL): ... and here...
3460         * modules/mktime (configure.ac): ... to here.
3461         * modules/mktime-internal (configure.ac): ... and here.
3462         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
3463
3464 2011-05-21  Bruno Haible  <bruno@clisp.org>
3465
3466         mkstemps: Move AC_LIBOBJ invocations to module description.
3467         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
3468         here...
3469         * modules/mkstemps (configure.ac): ... to here.
3470
3471 2011-05-21  Bruno Haible  <bruno@clisp.org>
3472
3473         mkstemp: Move AC_LIBOBJ invocations to module description.
3474         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
3475         gl_PREREQ_MKSTEMP invocations from here...
3476         * modules/mkstemp (configure.ac): ... to here.
3477
3478 2011-05-21  Bruno Haible  <bruno@clisp.org>
3479
3480         mkostemps: Move AC_LIBOBJ invocations to module description.
3481         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
3482         here...
3483         * modules/mkostemps (configure.ac): ... to here.
3484
3485 2011-05-21  Bruno Haible  <bruno@clisp.org>
3486
3487         mkostemp: Move AC_LIBOBJ invocations to module description.
3488         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
3489         gl_PREREQ_MKOSTEMP invocations from here...
3490         * modules/mkostemp (configure.ac): ... to here.
3491
3492 2011-05-21  Bruno Haible  <bruno@clisp.org>
3493
3494         mknod: Move AC_LIBOBJ invocations to module description.
3495         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
3496         * modules/mknod (configure.ac): ... to here.
3497
3498 2011-05-21  Bruno Haible  <bruno@clisp.org>
3499
3500         mkfifoat: Move AC_LIBOBJ invocations to module description.
3501         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
3502         here...
3503         * modules/mkfifoat (configure.ac): ... to here.
3504
3505 2011-05-21  Bruno Haible  <bruno@clisp.org>
3506
3507         mkfifo: Respect rules for use of AC_LIBOBJ.
3508         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
3509         here...
3510         * modules/mkfifo (configure.ac): ... to here.
3511
3512 2011-05-21  Bruno Haible  <bruno@clisp.org>
3513
3514         mkdtemp: Move AC_LIBOBJ invocations to module description.
3515         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
3516         invocations from here...
3517         * modules/mkdtemp (configure.ac): ... to here.
3518
3519 2011-05-21  Bruno Haible  <bruno@clisp.org>
3520
3521         mkdir: Move AC_LIBOBJ invocations to module description.
3522         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
3523         * modules/mkdir (configure.ac): ... to here.
3524
3525 2011-05-21  Bruno Haible  <bruno@clisp.org>
3526
3527         memset: Move AC_LIBOBJ invocations to module description.
3528         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
3529         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
3530         here...
3531         * modules/memset (configure.ac): ... to here.
3532
3533 2011-05-21  Bruno Haible  <bruno@clisp.org>
3534
3535         memrchr: Move AC_LIBOBJ invocations to module description.
3536         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
3537         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
3538         here...
3539         * modules/memrchr (configure.ac): ... to here.
3540
3541 2011-05-21  Bruno Haible  <bruno@clisp.org>
3542
3543         mempcpy: Move AC_LIBOBJ invocations to module description.
3544         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
3545         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
3546         here...
3547         * modules/mempcpy (configure.ac): ... to here.
3548
3549 2011-05-21  Bruno Haible  <bruno@clisp.org>
3550
3551         memmove: Move AC_LIBOBJ invocations to module description.
3552         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
3553         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
3554         here...
3555         * modules/memmove (configure.ac): ... to here.
3556
3557 2011-05-21  Bruno Haible  <bruno@clisp.org>
3558
3559         memmem*: Move AC_LIBOBJ invocations to module description.
3560         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
3561         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
3562         here...
3563         (gl_FUNC_MEMMEM): ... and here...
3564         * modules/memmem-simple (configure.ac): ... to here.
3565         * modules/memmem (configure.ac): ... and here.
3566
3567 2011-05-21  Bruno Haible  <bruno@clisp.org>
3568
3569         memcpy: Move AC_LIBOBJ invocations to module description.
3570         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
3571         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
3572         here...
3573         * modules/memcpy (configure.ac): ... to here.
3574
3575 2011-05-21  Bruno Haible  <bruno@clisp.org>
3576
3577         memcmp: Simplify autoconf macro.
3578         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
3579         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
3580         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
3581
3582 2011-05-21  Bruno Haible  <bruno@clisp.org>
3583
3584         memcmp: Move AC_LIBOBJ invocations to module description.
3585         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
3586         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
3587         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
3588         * modules/memcmp (configure.ac): ... to here.
3589         (Depends-on): Update conditions.
3590
3591 2011-05-21  Bruno Haible  <bruno@clisp.org>
3592
3593         memchr: Respect rules for use of AC_LIBOBJ.
3594         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
3595         invocations from here...
3596         * modules/memchr (configure.ac): ... to here.
3597
3598 2011-05-21  Bruno Haible  <bruno@clisp.org>
3599
3600         mbtowc: Move AC_LIBOBJ invocations to module description.
3601         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
3602         invocations from here...
3603         * modules/mbtowc (configure.ac): ... to here.
3604
3605 2011-05-21  Bruno Haible  <bruno@clisp.org>
3606
3607         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
3608         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
3609         gl_PREREQ_MBSRTOWCS invocations from here...
3610         * modules/mbsrtowcs (configure.ac): ... to here.
3611
3612 2011-05-21  Bruno Haible  <bruno@clisp.org>
3613
3614         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
3615         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
3616         gl_PREREQ_MBSNRTOWCS invocations from here...
3617         * modules/mbsnrtowcs (configure.ac): ... to here.
3618
3619 2011-05-21  Bruno Haible  <bruno@clisp.org>
3620
3621         mbsinit: Move AC_LIBOBJ invocations to module description.
3622         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
3623         invocations from here...
3624         * modules/mbsinit (configure.ac): ... to here.
3625
3626 2011-05-21  Bruno Haible  <bruno@clisp.org>
3627
3628         mbrlen: Move AC_LIBOBJ invocations to module description.
3629         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
3630         invocations from here...
3631         * modules/mbrlen (configure.ac): ... to here.
3632
3633 2011-05-21  Bruno Haible  <bruno@clisp.org>
3634
3635         mbrtowc: Respect rules for use of AC_LIBOBJ.
3636         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
3637         invocations from here...
3638         * modules/mbrtowc (configure.ac): ... to here.
3639
3640 2011-05-21  Bruno Haible  <bruno@clisp.org>
3641
3642         malloc-*: Move AC_LIBOBJ invocations to module description.
3643         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
3644         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
3645         AC_LIBOBJ invocations from here...
3646         * modules/malloc-gnu (configure.ac): ... to here.
3647         * modules/malloc-posix (configure.ac): ... and here.
3648
3649 2011-05-21  Bruno Haible  <bruno@clisp.org>
3650
3651         lstat, openat: Respect rules for use of AC_LIBOBJ.
3652         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
3653         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
3654         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
3655         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
3656         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
3657         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
3658         here.
3659         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
3660
3661 2011-05-21  Bruno Haible  <bruno@clisp.org>
3662
3663         lseek: Move AC_LIBOBJ invocations to module description.
3664         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
3665         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
3666         * modules/lseek (configure.ac): ... to here.
3667
3668 2011-05-21  Bruno Haible  <bruno@clisp.org>
3669
3670         linkat: Move AC_LIBOBJ invocations to module description.
3671         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
3672         here...
3673         * modules/linkat (configure.ac): ... to here.
3674
3675 2011-05-21  Bruno Haible  <bruno@clisp.org>
3676
3677         link: Respect rules for use of AC_LIBOBJ.
3678         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
3679         * modules/link (configure.ac): ... to here.
3680
3681 2011-05-21  Bruno Haible  <bruno@clisp.org>
3682
3683         lchown: Move AC_LIBOBJ invocations to module description.
3684         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
3685         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
3686         * modules/lchown (configure.ac): ... to here.
3687
3688 2011-05-21  Bruno Haible  <bruno@clisp.org>
3689
3690         iswctype: Move AC_LIBOBJ invocations to module description.
3691         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
3692         here...
3693         * modules/iswctype (configure.ac): ... to here.
3694
3695 2011-05-21  Bruno Haible  <bruno@clisp.org>
3696
3697         iswblank: Move AC_LIBOBJ invocations to module description.
3698         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
3699         here...
3700         * modules/iswblank (configure.ac): ... to here.
3701
3702 2011-05-21  Bruno Haible  <bruno@clisp.org>
3703
3704         atanl: Move AC_LIBOBJ invocations to module description.
3705         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
3706         * modules/atanl (configure.ac): ... to here.
3707
3708 2011-05-21  Bruno Haible  <bruno@clisp.org>
3709
3710         acosl: Move AC_LIBOBJ invocations to module description.
3711         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
3712         * modules/acosl (configure.ac): ... to here.
3713
3714 2011-05-21  Bruno Haible  <bruno@clisp.org>
3715
3716         asinl: Respect rules for use of AC_LIBOBJ.
3717         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
3718         * modules/asinl (configure.ac): ... to here.
3719
3720 2011-05-21  Bruno Haible  <bruno@clisp.org>
3721
3722         tanl: Move AC_LIBOBJ invocations to module description.
3723         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
3724         * modules/tanl (configure.ac): ... to here.
3725
3726 2011-05-21  Bruno Haible  <bruno@clisp.org>
3727
3728         cosl: Move AC_LIBOBJ invocations to module description.
3729         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
3730         * modules/cosl (configure.ac): ... to here.
3731
3732 2011-05-21  Bruno Haible  <bruno@clisp.org>
3733
3734         sinl: Move AC_LIBOBJ invocations to module description.
3735         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
3736         * modules/sinl (configure.ac): ... to here.
3737
3738 2011-05-21  Bruno Haible  <bruno@clisp.org>
3739
3740         logl: Move AC_LIBOBJ invocations to module description.
3741         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
3742         * modules/logl (configure.ac): ... to here.
3743
3744 2011-05-21  Bruno Haible  <bruno@clisp.org>
3745
3746         expl: Move AC_LIBOBJ invocations to module description.
3747         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
3748         * modules/expl (configure.ac): ... to here.
3749
3750 2011-05-21  Bruno Haible  <bruno@clisp.org>
3751
3752         roundl: Move AC_LIBOBJ invocations to module description.
3753         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
3754         * modules/roundl (configure.ac): ... to here.
3755
3756 2011-05-21  Bruno Haible  <bruno@clisp.org>
3757
3758         round: Move AC_LIBOBJ invocations to module description.
3759         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
3760         * modules/round (configure.ac): ... to here.
3761
3762 2011-05-21  Bruno Haible  <bruno@clisp.org>
3763
3764         roundf: Move AC_LIBOBJ invocations to module description.
3765         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
3766         * modules/roundf (configure.ac): ... to here.
3767
3768 2011-05-21  Bruno Haible  <bruno@clisp.org>
3769
3770         truncl: Move AC_LIBOBJ invocations to module description.
3771         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
3772         * modules/truncl (configure.ac): ... to here.
3773
3774 2011-05-21  Bruno Haible  <bruno@clisp.org>
3775
3776         trunc: Move AC_LIBOBJ invocations to module description.
3777         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
3778         * modules/trunc (configure.ac): ... to here.
3779
3780 2011-05-21  Bruno Haible  <bruno@clisp.org>
3781
3782         truncf: Move AC_LIBOBJ invocations to module description.
3783         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
3784         * modules/truncf (configure.ac): ... to here.
3785
3786 2011-05-21  Bruno Haible  <bruno@clisp.org>
3787
3788         ceill: Move AC_LIBOBJ invocations to module description.
3789         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
3790         * modules/ceill (configure.ac): ... to here.
3791
3792 2011-05-21  Bruno Haible  <bruno@clisp.org>
3793
3794         ceil: Move AC_LIBOBJ invocations to module description.
3795         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
3796         * modules/ceil (configure.ac): ... to here.
3797
3798 2011-05-21  Bruno Haible  <bruno@clisp.org>
3799
3800         ceilf: Move AC_LIBOBJ invocations to module description.
3801         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
3802         * modules/ceilf (configure.ac): ... to here.
3803
3804 2011-05-21  Bruno Haible  <bruno@clisp.org>
3805
3806         floorl: Respect rules for use of AC_LIBOBJ.
3807         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
3808         * modules/floorl (configure.ac): ... to here.
3809
3810 2011-05-21  Bruno Haible  <bruno@clisp.org>
3811
3812         floor: Respect rules for use of AC_LIBOBJ.
3813         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
3814         * modules/floor (configure.ac): ... to here.
3815
3816 2011-05-21  Bruno Haible  <bruno@clisp.org>
3817
3818         floorf: Move AC_LIBOBJ invocations to module description.
3819         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
3820         * modules/floorf (configure.ac): ... to here.
3821
3822 2011-05-20  Bruno Haible  <bruno@clisp.org>
3823
3824         sqrtl: Respect rules for use of AC_LIBOBJ.
3825         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
3826         * modules/sqrtl (configure.ac): ... to here.
3827
3828 2011-05-20  Bruno Haible  <bruno@clisp.org>
3829
3830         ldexpl: Respect rules for use of AC_LIBOBJ.
3831         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
3832         * modules/ldexpl (configure.ac): ... to here.
3833
3834 2011-05-20  Bruno Haible  <bruno@clisp.org>
3835
3836         frexpl*: Respect rules for use of AC_LIBOBJ.
3837         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
3838         invocation from here...
3839         * modules/frexpl (configure.ac): ... to here.
3840         * modules/frexpl-nolibm (configure.ac): ... and here.
3841
3842 2011-05-20  Bruno Haible  <bruno@clisp.org>
3843
3844         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
3845         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
3846         invocation from here...
3847         * modules/frexp (configure.ac): ... to here.
3848         * modules/frexp-nolibm (configure.ac): ... and here.
3849
3850 2011-05-20  Bruno Haible  <bruno@clisp.org>
3851
3852         isnan: Respect rules for use of AC_LIBOBJ.
3853         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
3854         invocations here.
3855         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
3856         REPLACE_ISNAN.
3857         * modules/isnand (configure.ac): Likewise.
3858         * modules/isnanl (configure.ac): Likewise.
3859
3860 2011-05-20  Bruno Haible  <bruno@clisp.org>
3861
3862         isnanl*: Respect rules for use of AC_LIBOBJ.
3863         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
3864         invocation from here...
3865         * modules/isnanl (configure.ac): ... to here.
3866         * modules/isnanl-nolibm (configure.ac): ... and here.
3867
3868 2011-05-20  Bruno Haible  <bruno@clisp.org>
3869
3870         isnand*: Move AC_LIBOBJ invocations to module description.
3871         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
3872         invocation from here...
3873         * modules/isnand (configure.ac): ... to here.
3874         * modules/isnand-nolibm (configure.ac): ... and here.
3875
3876 2011-05-20  Bruno Haible  <bruno@clisp.org>
3877
3878         isnanf*: Move AC_LIBOBJ invocations to module description.
3879         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
3880         invocation from here...
3881         * modules/isnanf (configure.ac): ... to here.
3882         * modules/isnanf-nolibm (configure.ac): ... and here.
3883
3884 2011-05-20  Bruno Haible  <bruno@clisp.org>
3885
3886         isnan*: Separate the AC_LIBOBJ invocations.
3887         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
3888         AC_LIBOBJ invocation.
3889         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
3890         here.
3891         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
3892         AC_LIBOBJ invocation.
3893         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
3894         here.
3895         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
3896         AC_LIBOBJ invocation.
3897         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
3898         here.
3899         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
3900
3901 2011-05-08  Bruno Haible  <bruno@clisp.org>
3902
3903         isinf: Move AC_LIBOBJ invocations to module description.
3904         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
3905         * modules/isinf (configure.ac): ... to here.
3906
3907 2011-05-08  Bruno Haible  <bruno@clisp.org>
3908
3909         isfinite: Move AC_LIBOBJ invocations to module description.
3910         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
3911         * modules/isfinite (configure.ac): ... to here.
3912
3913 2011-05-08  Bruno Haible  <bruno@clisp.org>
3914
3915         isblank: Move AC_LIBOBJ invocations to module description.
3916         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
3917         here...
3918         * modules/isblank (configure.ac): ... to here.
3919
3920 2011-05-08  Bruno Haible  <bruno@clisp.org>
3921
3922         isapipe: Move AC_LIBOBJ invocations to module description.
3923         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
3924         gl_PREREQ_ISAPIPE invocations from here...
3925         * modules/isapipe (configure.ac): ... to here.
3926         (Depends-on): Update condition.
3927
3928 2011-05-08  Bruno Haible  <bruno@clisp.org>
3929
3930         ioctl: Move AC_LIBOBJ invocations to module description.
3931         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
3932         invocations from here...
3933         * modules/ioctl (configure.ac): ... to here.
3934         (Depends-on): Update condition.
3935
3936 2011-05-08  Bruno Haible  <bruno@clisp.org>
3937
3938         imaxdiv: Move AC_LIBOBJ invocations to module description.
3939         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
3940         invocations from here...
3941         * modules/imaxdiv (configure.ac): ... to here.
3942
3943 2011-05-08  Bruno Haible  <bruno@clisp.org>
3944
3945         imaxabs: Move AC_LIBOBJ invocations to module description.
3946         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
3947         invocations from here...
3948         * modules/imaxabs (configure.ac): ... to here.
3949
3950 2011-05-08  Bruno Haible  <bruno@clisp.org>
3951
3952         getaddrinfo: Move AC_LIBOBJ invocations to module description.
3953         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
3954         AC_LIBOBJ invocations from here...
3955         * modules/getaddrinfo (configure.ac): ... to here.
3956         (Depends-on): Add conditions.
3957
3958 2011-05-08  Bruno Haible  <bruno@clisp.org>
3959
3960         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
3961         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
3962         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
3963         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
3964         (gl_PREREQ_INET_PTON): ... from here.
3965         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
3966         gl_PREREQ_INET_PTON here.
3967         (Depends-on): Update condition.
3968
3969 2011-05-08  Bruno Haible  <bruno@clisp.org>
3970
3971         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
3972         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
3973         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
3974         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
3975         (gl_PREREQ_INET_NTOP): ... from here.
3976         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
3977         gl_PREREQ_INET_NTOP here.
3978         (Depends-on): Update condition.
3979
3980 2011-05-08  Bruno Haible  <bruno@clisp.org>
3981
3982         iconv_open: Move AC_LIBOBJ invocations to module description.
3983         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
3984         AC_LIBOBJ invocations from here...
3985         * modules/iconv_open (configure.ac): ... to here.
3986
3987 2011-05-08  Bruno Haible  <bruno@clisp.org>
3988
3989         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
3990         If module 'iconv_open' is among the main modules and module
3991         'iconv_open-utf' is among the tests dependencies, then
3992         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
3993         return the special iconv_t values. Therefore iconv() and iconv_close()
3994         must support these special iconv_t values, already in lib, not only in
3995         tests.
3996         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
3997         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
3998         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
3999         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
4000         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
4001         (Depends-on): Add the dependencies of iconv_open-utf.
4002         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
4003         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
4004         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
4005
4006 2011-05-08  Bruno Haible  <bruno@clisp.org>
4007
4008         group-member: Move AC_LIBOBJ invocations to module description.
4009         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
4010         gl_PREREQ_GROUP_MEMBER invocations from here...
4011         * modules/group-member (configure.ac): ... to here.
4012
4013 2011-05-08  Bruno Haible  <bruno@clisp.org>
4014
4015         grantpt: Move AC_LIBOBJ invocations to module description.
4016         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
4017         invocations from here...
4018         * modules/grantpt (configure.ac): ... to here.
4019
4020 2011-05-08  Bruno Haible  <bruno@clisp.org>
4021
4022         glob: Move AC_LIBOBJ invocations to module description.
4023         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
4024         from here...
4025         * modules/glob (configure.ac): ... to here.
4026
4027 2011-05-08  Bruno Haible  <bruno@clisp.org>
4028
4029         getusershell: Move AC_LIBOBJ invocations to module description.
4030         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
4031         Move AC_LIBOBJ invocation from here...
4032         * modules/getusershell (configure.ac): ... to here.
4033         (Depends-on): Update condition.
4034
4035 2011-05-08  Bruno Haible  <bruno@clisp.org>
4036
4037         gettimeofday: Move AC_LIBOBJ invocations to module description.
4038         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
4039         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
4040         gl_PREREQ_GETTIMEOFDAY invocations from here...
4041         * modules/gettimeofday (configure.ac): ... to here.
4042
4043 2011-05-08  Bruno Haible  <bruno@clisp.org>
4044
4045         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
4046         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
4047         just gl_FUNC_TZSET.
4048         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
4049         (gl_FUNC_TZSET_CLOBBER): Remove actions.
4050         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
4051         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
4052
4053 2011-05-08  Bruno Haible  <bruno@clisp.org>
4054
4055         getsubopt: Move AC_LIBOBJ invocations to module description.
4056         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
4057         gl_PREREQ_GETSUBOPT invocations from here...
4058         * modules/getsubopt (configure.ac): ... to here.
4059
4060 2011-05-08  Bruno Haible  <bruno@clisp.org>
4061
4062         getpass-gnu: Move AC_LIBOBJ invocations to module description.
4063         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
4064         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
4065         * modules/getpass-gnu (configure.ac): ... to here.
4066
4067 2011-05-08  Bruno Haible  <bruno@clisp.org>
4068
4069         getpass: Move AC_LIBOBJ invocations to module description.
4070         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
4071         gl_PREREQ_GETPASS invocations from here...
4072         * modules/getpass (configure.ac): ... to here.
4073
4074 2011-05-08  Bruno Haible  <bruno@clisp.org>
4075
4076         getpagesize: Move AC_LIBOBJ invocations to module description.
4077         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
4078         from here...
4079         * modules/getpagesize (configure.ac): ... to here.
4080
4081 2011-05-08  Bruno Haible  <bruno@clisp.org>
4082
4083         getopt: Move AC_LIBOBJ invocations to module description.
4084         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
4085         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
4086         invocations from here...
4087         * modules/getopt-gnu (configure.ac): ... to here.
4088         * modules/getopt-posix (configure.ac): ... and here.
4089         (Depends-on): Update condition.
4090
4091 2011-05-08  Bruno Haible  <bruno@clisp.org>
4092
4093         getopt, argp: Respect rules for use of AC_LIBOBJ.
4094         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
4095         (gl_REPLACE_GETOPT_ALWAYS): New macro.
4096         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
4097         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
4098
4099 2011-05-08  Bruno Haible  <bruno@clisp.org>
4100
4101         getlogin_r: Move AC_LIBOBJ invocations to module description.
4102         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
4103         gl_PREREQ_GETLOGIN_R invocations from here...
4104         * modules/getlogin_r (configure.ac): ... to here.
4105
4106 2011-05-08  Bruno Haible  <bruno@clisp.org>
4107
4108         getlogin: Move AC_LIBOBJ invocations to module description.
4109         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
4110         here...
4111         * modules/getlogin (configure.ac): ... to here.
4112
4113 2011-05-08  Bruno Haible  <bruno@clisp.org>
4114
4115         getloadavg: Move AC_LIBOBJ invocations to module description.
4116         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
4117         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
4118         * modules/getloadavg (configure.ac): ... to here.
4119
4120 2011-05-08  Bruno Haible  <bruno@clisp.org>
4121
4122         gethrxtime: Move AC_LIBOBJ invocations to module description.
4123         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
4124         LIB_GETHRXTIME from here...
4125         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
4126         invocations from here...
4127         * modules/gethrxtime (configure.ac): ... to here.
4128
4129 2011-05-08  Bruno Haible  <bruno@clisp.org>
4130
4131         gethostname: Move AC_LIBOBJ invocations to module description.
4132         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
4133         gl_PREREQ_GETHOSTNAME invocations from here...
4134         * modules/gethostname (configure.ac): ... to here.
4135
4136 2011-05-08  Bruno Haible  <bruno@clisp.org>
4137
4138         getgroups: Move AC_LIBOBJ invocations to module description.
4139         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
4140         here...
4141         * modules/getgroups (configure.ac): ... to here.
4142
4143 2011-05-08  Bruno Haible  <bruno@clisp.org>
4144
4145         getdtablesize: Move AC_LIBOBJ invocations to module description.
4146         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
4147         invocation from here...
4148         * modules/getdtablesize (configure.ac): ... to here.
4149
4150 2011-05-08  Bruno Haible  <bruno@clisp.org>
4151
4152         getdomainname: Move AC_LIBOBJ invocations to module description.
4153         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
4154         gl_PREREQ_GETDOMAINNAME invocations from here...
4155         * modules/getdomainname (configure.ac): ... to here.
4156
4157 2011-05-08  Bruno Haible  <bruno@clisp.org>
4158
4159         getline: Move AC_LIBOBJ invocations to module description.
4160         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
4161         invocations from here...
4162         * modules/getline (configure.ac): ... to here.
4163
4164 2011-05-08  Bruno Haible  <bruno@clisp.org>
4165
4166         getline: Simplify.
4167         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
4168         It's already handled through the module dependency.
4169
4170 2011-05-08  Bruno Haible  <bruno@clisp.org>
4171
4172         getdelim: Move AC_LIBOBJ invocations to module description.
4173         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
4174         and gl_PREREQ_GETDELIM invocations from here...
4175         * modules/getdelim (configure.ac): ... to here.
4176         (Depends-on): Fix condition.
4177
4178 2011-05-08  Bruno Haible  <bruno@clisp.org>
4179
4180         getcwd: Move AC_LIBOBJ invocations to module description.
4181         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
4182         invocations from here...
4183         * modules/getcwd (configure.ac): ... to here.
4184
4185 2011-05-08  Bruno Haible  <bruno@clisp.org>
4186
4187         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
4188         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
4189         here...
4190         * modules/getcwd-lgpl (configure.ac): ... to here.
4191
4192 2011-05-07  Bruno Haible  <bruno@clisp.org>
4193
4194         crypto/gc: Move AC_LIBOBJ invocations to module description.
4195         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
4196         * modules/crypto/gc (configure.ac): ... to here.
4197
4198 2011-05-07  Bruno Haible  <bruno@clisp.org>
4199
4200         fwriting: Move AC_LIBOBJ invocations to module description.
4201         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
4202         here...
4203         * modules/fwriting (configure.ac): ... to here.
4204
4205 2011-05-07  Bruno Haible  <bruno@clisp.org>
4206
4207         fwritable: Move AC_LIBOBJ invocations to module description.
4208         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
4209         here...
4210         * modules/fwritable (configure.ac): ... to here.
4211
4212 2011-05-07  Bruno Haible  <bruno@clisp.org>
4213
4214         futimens: Move AC_LIBOBJ invocations to module description.
4215         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
4216         here...
4217         * modules/futimens (configure.ac): ... to here.
4218
4219 2011-05-07  Bruno Haible  <bruno@clisp.org>
4220
4221         ftruncate: Move AC_LIBOBJ invocations to module description.
4222         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
4223         gl_PREREQ_FTRUNCATE invocations from here...
4224         * modules/ftruncate (configure.ac): ... to here.
4225
4226 2011-05-07  Bruno Haible  <bruno@clisp.org>
4227
4228         fsync: Move AC_LIBOBJ invocations to module description.
4229         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
4230         invocations from here...
4231         * modules/fsync (configure.ac): ... to here.
4232
4233 2011-05-07  Bruno Haible  <bruno@clisp.org>
4234
4235         fsusage: Move AC_LIBOBJ invocations to module description.
4236         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
4237         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
4238         * modules/fsusage (configure.ac): ... to here.
4239
4240 2011-05-07  Bruno Haible  <bruno@clisp.org>
4241
4242         freopen: Move AC_LIBOBJ invocations to module description.
4243         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
4244         invocations from here...
4245         * modules/freopen (configure.ac): ... to here.
4246
4247 2011-05-07  Bruno Haible  <bruno@clisp.org>
4248
4249         free: Move AC_LIBOBJ invocations to module description.
4250         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
4251         invocations from here...
4252         * modules/free (configure.ac): ... to here.
4253
4254 2011-05-07  Bruno Haible  <bruno@clisp.org>
4255
4256         freadable: Move AC_LIBOBJ invocations to module description.
4257         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
4258         here...
4259         * modules/freadable (configure.ac): ... to here.
4260
4261 2011-05-07  Bruno Haible  <bruno@clisp.org>
4262
4263         fpurge: Move AC_LIBOBJ invocations to module description.
4264         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
4265         invocations from here...
4266         * modules/fpurge (configure.ac): ... to here.
4267
4268 2011-05-07  Bruno Haible  <bruno@clisp.org>
4269
4270         fpending: Move AC_LIBOBJ invocations to module description.
4271         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
4272         gl_FUNC_FPENDING.
4273         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
4274         invocations from here...
4275         * modules/fpending (configure.ac): ... to here.
4276
4277 2011-05-07  Bruno Haible  <bruno@clisp.org>
4278
4279         fopen: Move AC_LIBOBJ invocations to module description.
4280         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
4281         invocations from here...
4282         * modules/fopen (configure.ac): ... to here.
4283
4284 2011-05-07  Bruno Haible  <bruno@clisp.org>
4285
4286         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
4287         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
4288         gl_FUNC_FNMATCH_POSIX.
4289         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
4290         invocations from here...
4291         * modules/fnmatch (configure.ac): ... to here.
4292         * modules/fnmatch-gnu (configure.ac): ... and here.
4293
4294 2011-05-07  Bruno Haible  <bruno@clisp.org>
4295
4296         flock: Move AC_LIBOBJ invocations to module description.
4297         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
4298         invocations from here...
4299         * modules/flock (configure.ac): ... to here.
4300
4301 2011-05-07  Bruno Haible  <bruno@clisp.org>
4302
4303         fileblocks: Move AC_LIBOBJ invocations to module description.
4304         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
4305         gl_PREREQ_FILEBLOCKS invocations from here...
4306         * modules/fileblocks (configure.ac): ... to here.
4307
4308 2011-05-06  Bruno Haible  <bruno@clisp.org>
4309
4310         fflush: Move AC_LIBOBJ invocations to module description.
4311         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
4312         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
4313         invocations from here...
4314         * modules/fflush (configure.ac): ... to here.
4315
4316 2011-05-06  Bruno Haible  <bruno@clisp.org>
4317
4318         fdopendir: Move AC_LIBOBJ invocations to module description.
4319         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
4320         here...
4321         * modules/fdopendir (configure.ac): ... to here.
4322         (Depends-on): Improve conditions.
4323
4324 2011-05-06  Bruno Haible  <bruno@clisp.org>
4325
4326         _Exit: Move AC_LIBOBJ invocations to module description.
4327         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
4328         invocations from here...
4329         * modules/_Exit (configure.ac): ... to here.
4330
4331 2011-05-21  Bruno Haible  <bruno@clisp.org>
4332
4333         euidaccess: Respect rules for use of AC_LIBOBJ.
4334         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
4335         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
4336         from here...
4337         * modules/euidaccess (configure.ac): ... to here.
4338
4339 2011-05-06  Bruno Haible  <bruno@clisp.org>
4340
4341         error: Move AC_LIBOBJ invocations to module description.
4342         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
4343         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
4344         invocations from here...
4345         * modules/error (configure.ac): ... to here.
4346
4347 2011-05-06  Bruno Haible  <bruno@clisp.org>
4348
4349         duplocale: Move AC_LIBOBJ invocations to module description.
4350         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
4351         gl_PREREQ_DUPLOCALE invocations from here...
4352         * modules/duplocale (configure.ac): ... to here.
4353
4354 2011-05-05  Bruno Haible  <bruno@clisp.org>
4355
4356         dirfd: Move AC_LIBOBJ invocations to module description.
4357         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
4358         gl_FUNC_DIRFD.
4359         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
4360         here...
4361         * modules/dirfd (configure.ac): ... to here.
4362         (Depends-on): Fix condition.
4363
4364 2011-05-05  Bruno Haible  <bruno@clisp.org>
4365
4366         chown: Respect rules for use of AC_LIBOBJ.
4367         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
4368         * modules/chown (configure.ac): ... to here.
4369
4370 2011-05-05  Bruno Haible  <bruno@clisp.org>
4371
4372         chdir-long: Move AC_LIBOBJ invocations to module description.
4373         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
4374         gl_PREREQ_CHDIR_LONG invocations from here...
4375         * modules/chdir-long (configure.ac): ... to here.
4376
4377 2011-05-05  Bruno Haible  <bruno@clisp.org>
4378
4379         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
4380         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
4381         from here...
4382         * modules/canonicalize-lgpl (configure.ac): ... to here.
4383
4384 2011-05-05  Bruno Haible  <bruno@clisp.org>
4385
4386         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
4387         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
4388         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
4389         REPLACE_CALLOC.
4390         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
4391         * modules/calloc-gnu (configure.ac): Likewise.
4392
4393 2011-05-05  Bruno Haible  <bruno@clisp.org>
4394
4395         btowc: Move AC_LIBOBJ invocations to module description.
4396         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
4397         invocations from here...
4398         * modules/btowc (configure.ac): ... to here.
4399
4400 2011-05-21  Bruno Haible  <bruno@clisp.org>
4401
4402         atexit: Move AC_LIBOBJ invocations to module description.
4403         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
4404         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
4405         here...
4406         * modules/atexit (configure.ac): ... to here.
4407
4408 2011-05-05  Bruno Haible  <bruno@clisp.org>
4409
4410         atoll: Move AC_LIBOBJ invocations to module description.
4411         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
4412         invocations from here...
4413         * modules/atoll (configure.ac): ... to here.
4414
4415 2011-05-05  Bruno Haible  <bruno@clisp.org>
4416
4417         argz: Move AC_LIBOBJ invocations to module description.
4418         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
4419         * modules/argz (configure.ac): ... to here.
4420
4421 2011-05-05  Bruno Haible  <bruno@clisp.org>
4422
4423         alphasort: Move AC_LIBOBJ invocations to module description.
4424         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
4425         gl_PREREQ_ALPHASORT invocations from here...
4426         * modules/alphasort (configure.ac): ... to here.
4427
4428 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
4429
4430         verify: new macro verify_expr; verify_true deprecated
4431         * NEWS: Mention this.
4432         * doc/verify.texi (Compile-time Assertions): Document this.
4433         * lib/verify.h (verify_true): Deprecate.
4434         (verify_expr): New macro.
4435         * tests/test-verify.c (function): Test verify_expr.
4436
4437 2011-06-14  Jim Meyering  <meyering@redhat.com>
4438
4439         init.sh: give more portable redirection-related advice in a comment
4440         * tests/init.sh (stderr_fileno_): Update the advice in comments.
4441         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
4442         for lots of discussion.  Stefano Lattarini suggested the solution
4443         of putting "9>&2" after the command.  Reported by Bruno Haible.
4444
4445 2011-06-13  Bruno Haible  <bruno@clisp.org>
4446
4447         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
4448         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
4449         'none'.
4450
4451 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
4452
4453         ftoastr: use strtof only if HAVE_STRTOF
4454         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
4455         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
4456         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
4457         * modules/ftoastr (configure.ac): Check for strtof.
4458
4459 2011-06-13  Bruno Haible  <bruno@clisp.org>
4460
4461         gnulib-tool: Addendum to 2011-06-08 commit.
4462         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
4463         and --witness-c-macro have been given, augment AM_CPPFLAGS.
4464
4465 2011-06-13  Bruno Haible  <bruno@clisp.org>
4466
4467         fseeko: Provide a non-inline replacement of fseek().
4468         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
4469         * modules/fseeko (Depends-on): Add fseek.
4470         * modules/fseek (License): Change to LGPLv2+.
4471
4472 2011-06-13  Bruno Haible  <bruno@clisp.org>
4473
4474         ftello: Provide a non-inline replacement of ftell().
4475         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
4476         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
4477         not have ftello() (such as on mingw).
4478         * modules/ftello (Depends-on): Add ftell.
4479         * modules/ftell (License): Change to LGPLv2+.
4480
4481 2011-05-07  Bruno Haible  <bruno@clisp.org>
4482
4483         ftell: Move AC_LIBOBJ invocations to module description.
4484         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
4485         * modules/ftell (configure.ac): ... to here.
4486
4487 2011-05-07  Bruno Haible  <bruno@clisp.org>
4488
4489         ftello: Respect rules for use of AC_LIBOBJ.
4490         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
4491         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
4492         here...
4493         * modules/ftello (configure.ac): ... to here.
4494
4495 2011-05-07  Bruno Haible  <bruno@clisp.org>
4496
4497         fseeko: Simplify.
4498         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
4499         (gl_FUNC_FSEEKO): Inline it here.
4500
4501 2011-05-07  Bruno Haible  <bruno@clisp.org>
4502
4503         fseek: Move AC_LIBOBJ invocations to module description.
4504         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
4505         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
4506         * modules/fseek (configure.ac): ... to here.
4507
4508 2011-05-07  Bruno Haible  <bruno@clisp.org>
4509
4510         fseek: Respect rules for use of AC_LIBOBJ.
4511         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
4512         here...
4513         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
4514
4515 2011-05-07  Bruno Haible  <bruno@clisp.org>
4516
4517         fseeko: Respect rules for use of AC_LIBOBJ.
4518         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
4519         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
4520         here...
4521         * modules/fseeko (configure.ac): ... to here.
4522
4523 2011-06-13  Bruno Haible  <bruno@clisp.org>
4524
4525         gnulib-tool: Allow comments in the 'Depends-on' section.
4526         * doc/gnulib.texi (Module description): Mention comment syntax in the
4527         Depends-on section.
4528         * gnulib-tool (func_get_dependencies): Filter out comment lines.
4529
4530 2011-06-13  Bruno Haible  <bruno@clisp.org>
4531
4532         file-set.h: guard __attibute__ use, now that it's not always defined
4533         * lib/file-set.h (record_file): Use __attribute__ only with compiler
4534         versions that support it.  This fixes a coreutils build failure with
4535         the vendor cc on HP-UX 11.31.
4536
4537 2011-06-12  Bruno Haible  <bruno@clisp.org>
4538
4539         acl: Add support for HP-UX >= 11.11 JFS ACLs.
4540         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
4541         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
4542         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
4543         (acl, aclsort): New declarations.
4544         (aclv_nontrivial): New declaration.
4545         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
4546         (file_has_acl): Read also the second kind of HP-UX ACLs.
4547         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
4548         kind of HP-UX ACLs if the first kind fails.
4549         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
4550         second kind of HP-UX ACLs.
4551         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
4552         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
4553         agree.
4554         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
4555         hpuxjfs.
4556         Handle hpuxjfs.
4557         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
4558         hpuxjfs.
4559         Handle hpuxjfs.
4560         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
4561         (func_test_same_acls): Use both lsacl and getacl.
4562         Handle hpuxjfs.
4563         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
4564         (func_test_same_acls): Use both lsacl and getacl.
4565         Handle hpuxjfs.
4566
4567 2011-06-12  Bruno Haible  <bruno@clisp.org>
4568
4569         acl: Complete the 2010-08-10 fix.
4570         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
4571         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
4572         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
4573         explicitly.
4574         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
4575         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
4576
4577 2011-06-12  Bruno Haible  <bruno@clisp.org>
4578
4579         spawn-pipe tests: Comments.
4580         * tests/test-spawn-pipe-child.c (main): Update comment.
4581         Reported by James Youngman <jay@gnu.org>.
4582
4583 2011-06-11  James Youngman  <jay@gnu.org>
4584
4585         New module 'stat-size'.
4586         * modules/stat-size: New module.  Provides macros for accessing
4587         file size information in instances of struct stat.  Depends on the
4588         fileblocks module because it calls st_blocks.
4589         * lib/stat-size.h: New file, adapted from coreutils' system.h.
4590         * doc/gnulib.texi: Include stat-size.texi.
4591         * doc/stat-size.texi: Documentation for this module.
4592         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
4593         * m4/fileblocks.m4: Mention that stat-size depends on the call to
4594         AC_STRUCT_ST_BLOCKS.
4595
4596 2011-06-09  Bruno Haible  <bruno@clisp.org>
4597
4598         thread: Support pthreads-win32.
4599         * lib/glthread/thread.h (gl_thread_self): Define differently on
4600         pthreads-win32.
4601         (gl_null_thread): New declaration.
4602         (gl_thread_self_pointer): New macro.
4603         * lib/glthread/thread.c (gl_null_thread): New constant.
4604         * tests/test-lock.c: Use gl_thread_self_pointer instead of
4605         gl_thread_self.
4606         * tests/test-tls.c: Likewise.
4607         Suggested by Paul Eggert. Reported by Eric Blake.
4608
4609 2011-06-09  Bruno Haible  <bruno@clisp.org>
4610
4611         thread: Fix confusion between NULL and 0.
4612         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
4613         Reported by Paul Eggert.
4614
4615 2011-06-09  Bruno Haible  <bruno@clisp.org>
4616
4617         spawn-pipe tests: Avoid test failure on HP-UX 11.
4618         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
4619         is closed.
4620
4621 2011-06-09  Bruno Haible  <bruno@clisp.org>
4622
4623         acl tests: Fix compilation error on HP-UX 11.
4624         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
4625
4626 2011-06-09  Bruno Haible  <bruno@clisp.org>
4627
4628         rmdir: Avoid test failure on HP-UX 10.20.
4629         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
4630         EEXIST.
4631
4632 2011-06-08  Eric Blake  <eblake@redhat.com>
4633
4634         perror: fix test on mingw
4635         * modules/perror-tests (Depends-on): Add dup2.
4636
4637         strerror_r-posix: fix on MacOS
4638         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
4639         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
4640         logic bug.
4641         * lib/strerror_r.c (strerror_r): Fix the bug.
4642         * lib/strerror.c (strerror): Likewise.
4643         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
4644         problem.
4645         * doc/posix-functions/strerror.texi (strerror): Likewise.
4646         * doc/posix-functions/perror.texi (perror): Likewise.
4647         * tests/test-strerror.c (main): Enhance test.
4648         * tests/test-strerror_r.c (main): Likewise.
4649
4650 2011-06-08  Bruno Haible  <bruno@clisp.org>
4651
4652         gnulib-tool: Better isolation between different gnulib-tool invocations.
4653         * gnulib-tool: New option --witness-c-macro.
4654         (witness_c_macro): New variable.
4655         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
4656         AM_CPPFLAGS define it as a C macro.
4657         (func_emit_tests_Makefile_am): Likewise.
4658         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
4659         read it from there.
4660         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
4661         m4_define, not AC_DEFUN.
4662         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
4663         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
4664         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
4665         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
4666         s|...|...|, to substitute the values of the GNULIB_* module indicator
4667         variables.
4668         * modules/dirent (Makefile.am): Likewise.
4669         * modules/fcntl-h (Makefile.am): Likewise.
4670         * modules/iconv-h (Makefile.am): Likewise.
4671         * modules/langinfo (Makefile.am): Likewise.
4672         * modules/locale (Makefile.am): Likewise.
4673         * modules/math (Makefile.am): Likewise.
4674         * modules/netdb (Makefile.am): Likewise.
4675         * modules/poll-h (Makefile.am): Likewise.
4676         * modules/pty (Makefile.am): Likewise.
4677         * modules/search (Makefile.am): Likewise.
4678         * modules/signal (Makefile.am): Likewise.
4679         * modules/spawn (Makefile.am): Likewise.
4680         * modules/stdio (Makefile.am): Likewise.
4681         * modules/stdlib (Makefile.am): Likewise.
4682         * modules/string (Makefile.am): Likewise.
4683         * modules/sys_ioctl (Makefile.am): Likewise.
4684         * modules/sys_select (Makefile.am): Likewise.
4685         * modules/sys_socket (Makefile.am): Likewise.
4686         * modules/sys_stat (Makefile.am): Likewise.
4687         * modules/sys_times (Makefile.am): Likewise.
4688         * modules/sys_utsname (Makefile.am): Likewise.
4689         * modules/sys_wait (Makefile.am): Likewise.
4690         * modules/termios (Makefile.am): Likewise.
4691         * modules/time (Makefile.am): Likewise.
4692         * modules/unistd (Makefile.am): Likewise.
4693         * modules/wchar (Makefile.am): Likewise.
4694
4695 2011-06-08  Eric Blake  <eblake@redhat.com>
4696
4697         strerror: simplify replacement
4698         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
4699         * modules/strerror (configure.ac): No prereqs needed here...
4700         * modules/strerror-override (configure.ac): ...but this needs it.
4701         (Files): Add file for needed prereq macro.
4702
4703 2011-06-08  Bruno Haible  <bruno@clisp.org>
4704
4705         strerror_r-posix: Tweaks.
4706         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
4707         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
4708         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
4709         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
4710         (gl_FUNC_STRERROR_R): ... to here.
4711         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
4712
4713 2011-06-07  Eric Blake  <eblake@redhat.com>
4714
4715         perror: document fixed bugs
4716         * doc/posix-functions/perror.texi (perror): Document recent
4717         patches.
4718
4719 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
4720
4721         stat-time: get_stat_birthtime failure is better-defined
4722         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
4723         return a timestamp whose tv_sec and tv_nsec values are both -1.
4724         Previously, the spec said only that the tv_nsec value was negative.
4725         This upward-compatible change simplifies GNU tar a bit.
4726
4727 2011-06-07  Eric Blake  <eblake@redhat.com>
4728
4729         strerror_r-posix: work around cygwin 1.7.9
4730         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
4731         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
4732         bug without replacing strerror_r.
4733         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
4734         strerror_r is buggy, but without requiring strerror_r compilation.
4735         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
4736
4737         test-perror: relax test to ignore cygwin bug
4738         * tests/test-perror2.c (main): Relax test on requiring detection
4739         of stream errors, and use unbuffered stream.
4740         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
4741         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
4742         * doc/posix-functions/fputc.texi (fputc): Likewise.
4743         * doc/posix-functions/fputs.texi (fputs): Likewise.
4744         * doc/posix-functions/fputws.texi (fputws): Likewise.
4745         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
4746         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
4747         * doc/posix-functions/getopt.texi (getopt): Likewise.
4748         * doc/posix-functions/perror.texi (perror): Likewise.
4749         * doc/posix-functions/printf.texi (printf): Likewise.
4750         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
4751         * doc/posix-functions/psignal.texi (psignal): Likewise.
4752         * doc/posix-functions/putc.texi (putc): Likewise.
4753         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
4754         Likewise.
4755         * doc/posix-functions/putchar.texi (putchar): Likewise.
4756         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
4757         Likewise.
4758         * doc/posix-functions/puts.texi (puts): Likewise.
4759         * doc/posix-functions/putwc.texi (putwc): Likewise.
4760         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
4761         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
4762         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
4763         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
4764         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
4765         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
4766         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
4767         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
4768
4769 2011-05-22  Bruno Haible  <bruno@clisp.org>
4770
4771         strerror: Move AC_LIBOBJ invocations to module description.
4772         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
4773         gl_PREREQ_STRERROR invocations from here...
4774         * modules/strerror (configure.ac): ... to here.
4775
4776 2011-05-21  Bruno Haible  <bruno@clisp.org>
4777
4778         perror: Use common idiom.
4779         * modules/perror (configure.ac): Reorder statements.
4780
4781 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4782
4783         tests: fix usage message in 'mktempd_'
4784         * tests/init.sh (mktempd_): In the usage message, use literal
4785         'mktempd_', not '$ME' (which is even undefined), as the name of
4786         the subroutine.
4787
4788 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4789
4790         tests init: new function 'fatal_', for hard errors
4791         Before this patch, the only way offered by tests/init.sh to
4792         properly signal a hard error was the `framework_failure_'
4793         function.  But the error message issued by that function,
4794         as its name would suggest, refers to a set-up failure in the
4795         testsuite, while hard errors can obviously also be due to
4796         other reasons.  The best way to fix this inconsistency is to
4797         introduce a new function with a more general error message.
4798         * tests/init.sh (fatal_): New function.
4799
4800 2011-06-06  Eric Blake  <eblake@redhat.com>
4801
4802         canonicalize-lgpl: use common idiom
4803         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
4804         over newer POSIX -Rf.
4805         Reported by Bruno Haible.
4806
4807         canonicalize-lgpl: work around AIX realpath bug
4808         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
4809         * doc/posix-functions/realpath.texi (realpath): Document it.
4810         Reported by Bruno Haible.
4811
4812         strerror: work around FreeBSD bug
4813         * lib/strerror.c (strerror): Special case 0.
4814         Reported by Bruno Haible.
4815
4816         strerror-override: avoid bloating errno module
4817         * modules/errno (Files, configure.ac): Move replacement strings...
4818         * modules/strerror-override: ...to new module.
4819         * modules/strerror (Depends-on): Add strerror-override.
4820         * modules/strerror_r-posix (Depends-on): Likewise.
4821         * MODULES.html.sh: Document new module.
4822         Reported by Bruno Haible.
4823
4824 2011-06-06  Bruno Haible  <bruno@clisp.org>
4825
4826         spawn-pipe tests: Rename program.
4827         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
4828         * tests/test-spawn-pipe-child.c: Update comment.
4829         * tests/test-spawn-pipe.sh: Update.
4830         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
4831
4832         spawn-pipe tests: Link the child program only against libc.
4833         * tests/test-spawn-pipe-child.c: New file, extracted from
4834         tests/test-spawn-pipe.c.
4835         (main): Expect only one argument.
4836         (is_open): New function, copied from tests/test-pipe.c.
4837         * tests/test-spawn-pipe.c: Don't include <errno.h>.
4838         (child_main): Remove function.
4839         (test_pipe): Pass only one argument to the child program.
4840         (main): Remove child process code. Expect the child program's name as
4841         first argument.
4842         * tests/test-spawn-pipe.sh: Pass the child program's name as first
4843         argument.
4844         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
4845         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
4846         test-spawn-pipe-child against no libraries.
4847
4848 2011-06-06  Bruno Haible  <bruno@clisp.org>
4849
4850         careadlinkat: Avoid mismatch between ssize_t and int.
4851         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
4852         * lib/careadlinkat.c (careadlinkatcwd): Define always.
4853
4854 2011-06-06  Jim Meyering  <meyering@redhat.com>
4855
4856         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
4857         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
4858         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
4859
4860 2011-06-05  Bruno Haible  <bruno@clisp.org>
4861
4862         ansi-c++-opt: Interoperability with libtool.
4863         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
4864         set the variable to "no", not to ":".
4865         * NEWS: Mention the change.
4866
4867 2011-06-05  Bruno Haible  <bruno@clisp.org>
4868
4869         acl: Fix test failure on AIX 7.
4870         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
4871         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
4872
4873 2011-06-05  Bruno Haible  <bruno@clisp.org>
4874
4875         pipe-filter-ii: Fix test failure on AIX and IRIX.
4876         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
4877         with EAGAIN, retry with a smaller buffer size.
4878
4879 2011-06-05  Bruno Haible  <bruno@clisp.org>
4880
4881         localename: Fix link dependencies.
4882         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
4883         * modules/localename-tests (Makefile.am): Link test-localename with
4884         $(LIBTHREAD).
4885
4886 2011-06-05  Bruno Haible  <bruno@clisp.org>
4887
4888         error: Avoid gcc warning.
4889         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
4890
4891 2011-06-05  Bruno Haible  <bruno@clisp.org>
4892
4893         unsetenv: Avoid gcc warning.
4894         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
4895
4896 2011-06-05  Bruno Haible  <bruno@clisp.org>
4897
4898         setenv: Avoid gcc warning.
4899         * lib/setenv.c (setenv): Provide declaration if system lacks it.
4900
4901 2011-06-05  Bruno Haible  <bruno@clisp.org>
4902
4903         sys_select: Ensure memset is declared also on AIX 7.
4904         * lib/sys_select.in.h: Include <string.h> also on AIX.
4905         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
4906         self-contained also on AIX 7.1.
4907
4908 2011-06-04  Jim Meyering  <meyering@redhat.com>
4909
4910         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
4911         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
4912         function name, "error".
4913         (_gl_translatable_diag_func_re): New configurable variable.
4914
4915 2011-06-04  Bruno Haible  <bruno@clisp.org>
4916
4917         getopt: Avoid gcc warning.
4918         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
4919
4920 2011-06-04  Bruno Haible  <bruno@clisp.org>
4921
4922         strerror_r: Fix comments.
4923         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
4924         commit.
4925
4926 2011-06-04  Bruno Haible  <bruno@clisp.org>
4927
4928         perror: Fix compilation error.
4929         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
4930         Undefine fprintf, not sprintf.
4931         * modules/perror (Depends-on): Remove intprops, verify.
4932
4933 2011-06-04  Bruno Haible  <bruno@clisp.org>
4934
4935         setlocale: Enable replacement on Cygwin 1.5.
4936         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
4937         Cygwin 1.5.x.
4938         * doc/posix-functions/setlocale.texi: Mention that the problem with the
4939         LC_CTYPE category also exists on Cygwin 1.5.x.
4940
4941 2011-06-04  Bruno Haible  <bruno@clisp.org>
4942
4943         strerror-override: Don't disable symbol renamings.
4944         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
4945         * lib/strerror-override.c: Include config.h.
4946         (strerror_override): Don't undefine.
4947
4948 2011-06-03  Bruno Haible  <bruno@clisp.org>
4949
4950         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
4951         * lib/localename.h: Update copyright header.
4952         * lib/localename.c: Likewise.
4953         * lib/relocatable.h: Likewise.
4954         * lib/relocatable.c: Likewise.
4955
4956 2011-06-02  Bruno Haible  <bruno@clisp.org>
4957
4958         doc: Fix a module name.
4959         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
4960
4961 2011-06-02  Bruno Haible  <bruno@clisp.org>
4962
4963         pipe2: Remove dependency on 'nonblocking' module.
4964         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
4965         O_NONBLOCK is defined by gnulib.
4966         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
4967         is zero.
4968         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
4969         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
4970         defined by gnulib.
4971         (get_nonblocking_flag): New function.
4972         (main): Test O_NONBLOCK flag only if it is nonzero.
4973         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
4974
4975 2011-06-03  Jim Meyering  <meyering@redhat.com>
4976
4977         maint: three new prohibit-header-without-use rules
4978         Prohibit use of cloexec.h, posixver.h, same.h without use.
4979         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
4980         (sc_prohibit_posixver_without_use): Likewise.
4981         (sc_prohibit_same_without_use): Likewise.
4982
4983 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
4984
4985         allocator: 'die' routine is now given requested size
4986         * lib/allocator.h (struct allocator.die): New size arg.
4987         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
4988         If the actual problem is an ssize_t limitation, not a size_t or
4989         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
4990
4991 2011-06-01  Eric Blake  <eblake@redhat.com>
4992
4993         strerror: drop strerror_r dependency
4994         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
4995         * lib/strerror-override.c (strerror_override): ...to new file.
4996         * lib/strerror-override.h: Add prototype.
4997         * lib/strerror-impl.h: Delete.
4998         * lib/strerror.c (strerror): New implementation.
4999         * modules/errno (Files): Add new files.
5000         (configure.ac): Compile new file as appropriate.
5001         * modules/strerror (Files): Drop unused file.
5002         (Depends-on): Drop strerror_r-posix.
5003         * MODULES.html.sh: Document strerror_r-posix.
5004         Requested by Sam Steingold.
5005
5006         perror: call strerror_r directly
5007         * modules/perror (Files): Drop strerror-impl.h.
5008         * lib/perror.c (perror): Use our own stack buffer, rather than
5009         calling a wrapper that uses static storage.
5010         * doc/posix-functions/perror.texi (perror): Document a limitation
5011         of our replacement.
5012
5013         strerror_r: fix includes for FreeBSD
5014         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
5015         since we use abort on some platforms.
5016         Reported by Matthias Bolte.
5017
5018 2011-05-31  Bruno Haible  <bruno@clisp.org>
5019
5020         Fix link errors in tests: openat-die uses gettext-h.
5021         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
5022         against $(LIBINTL).
5023         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
5024         against $(LIBINTL).
5025         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
5026         $(LIBINTL).
5027         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
5028         against $(LIBINTL).
5029         * modules/linkat-tests (Makefile.am): Link test-linkat against
5030         $(LIBINTL).
5031         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
5032         $(LIBINTL).
5033         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
5034         against $(LIBINTL).
5035         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
5036         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
5037         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
5038         $(LIBINTL).
5039         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
5040         $(LIBINTL).
5041         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
5042         $(LIBINTL).
5043         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5044
5045 2011-05-31  Bruno Haible  <bruno@clisp.org>
5046
5047         Fix link errors in tests: wait-process uses gettext-h.
5048         * modules/nonblocking-pipe-tests (Makefile.am): Set
5049         test_nonblocking_pipe_main_LDADD.
5050         * modules/nonblocking-socket-tests (Makefile.am): Link
5051         test-nonblocking-socket-main against $(LIBINTL).
5052         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5053
5054 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
5055
5056         assert-h: work around 'verify' incompatibility
5057         * lib/verify.h: Use @...@ directives, not ifdef.
5058         * modules/assert-h (assert.h): Implement the directives.
5059         (assert.h): Substitute the symbol-prefix more consistently.
5060
5061 2011-05-29  Jim Meyering  <meyering@redhat.com>
5062
5063         trim: remove three superfluous assignments
5064         * lib/trim.c (trim2): Remove three superfluous assignments
5065         and correct brace positioning.
5066
5067 2011-05-29  Bruno Haible  <bruno@clisp.org>
5068
5069         wctype-h: Avoid namespace pollution on Solaris 2.6.
5070         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
5071         identifiers.
5072         * doc/posix-headers/wctype.texi: Mention the problem.
5073         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5074
5075 2011-05-28  Jim Meyering  <meyering@redhat.com>
5076
5077         parse-datetime.y: accommodate -Wstrict-overflow
5078         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
5079         placate -Wstrict-overflow.
5080
5081         trim: avoid a warning from -O2 -Wstrict-overflow
5082         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
5083
5084 2011-05-29  Bruno Haible  <bruno@clisp.org>
5085
5086         gnulib-tool: Fix bug in yesterday's commit.
5087         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
5088         twice.
5089
5090 2011-05-29  Bruno Haible  <bruno@clisp.org>
5091
5092         Allow multiple gnulib generated include files to be combined.
5093         * gnulib-tool (func_compute_include_guard_prefix): New function.
5094         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
5095         ${gl_include_guard_prefix} references.
5096         (func_import, func_create_testdir): Invoke
5097         func_compute_include_guard_prefix.
5098         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
5099         * lib/ctype.in.h: Likewise.
5100         * lib/dirent.in.h: Likewise.
5101         * lib/errno.in.h: Likewise.
5102         * lib/fcntl.in.h: Likewise.
5103         * lib/float.in.h: Likewise.
5104         * lib/getopt.in.h: Likewise.
5105         * lib/iconv.in.h: Likewise.
5106         * lib/langinfo.in.h: Likewise.
5107         * lib/locale.in.h: Likewise.
5108         * lib/math.in.h: Likewise.
5109         * lib/netdb.in.h: Likewise.
5110         * lib/netinet_in.in.h: Likewise.
5111         * lib/poll.in.h: Likewise.
5112         * lib/pthread.in.h: Likewise.
5113         * lib/pty.in.h: Likewise.
5114         * lib/sched.in.h: Likewise.
5115         * lib/se-selinux.in.h: Likewise.
5116         * lib/search.in.h: Likewise.
5117         * lib/signal.in.h: Likewise.
5118         * lib/spawn.in.h: Likewise.
5119         * lib/stdarg.in.h: Likewise.
5120         * lib/stddef.in.h: Likewise.
5121         * lib/stdint.in.h: Likewise.
5122         * lib/stdio.in.h: Likewise.
5123         * lib/stdlib.in.h: Likewise.
5124         * lib/string.in.h: Likewise.
5125         * lib/strings.in.h: Likewise.
5126         * lib/sys_file.in.h: Likewise.
5127         * lib/sys_ioctl.in.h: Likewise.
5128         * lib/sys_select.in.h: Likewise.
5129         * lib/sys_socket.in.h: Likewise.
5130         * lib/sys_stat.in.h: Likewise.
5131         * lib/sys_time.in.h: Likewise.
5132         * lib/sys_times.in.h: Likewise.
5133         * lib/sys_uio.in.h: Likewise.
5134         * lib/sys_utsname.in.h: Likewise.
5135         * lib/sys_wait.in.h: Likewise.
5136         * lib/sysexits.in.h: Likewise.
5137         * lib/termios.in.h: Likewise.
5138         * lib/time.in.h: Likewise.
5139         * lib/unistd.in.h: Likewise.
5140         * lib/wchar.in.h: Likewise.
5141         * lib/wctype.in.h: Likewise.
5142         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
5143         * modules/ctype (Makefile.am): Likewise.
5144         * modules/dirent (Makefile.am): Likewise.
5145         * modules/errno (Makefile.am): Likewise.
5146         * modules/fcntl-h (Makefile.am): Likewise.
5147         * modules/float (Makefile.am): Likewise.
5148         * modules/getopt-posix (Makefile.am): Likewise.
5149         * modules/iconv-h (Makefile.am): Likewise.
5150         * modules/langinfo (Makefile.am): Likewise.
5151         * modules/locale (Makefile.am): Likewise.
5152         * modules/math (Makefile.am): Likewise.
5153         * modules/netdb (Makefile.am): Likewise.
5154         * modules/netinet_in (Makefile.am): Likewise.
5155         * modules/poll-h (Makefile.am): Likewise.
5156         * modules/pthread (Makefile.am): Likewise.
5157         * modules/pty (Makefile.am): Likewise.
5158         * modules/sched (Makefile.am): Likewise.
5159         * modules/search (Makefile.am): Likewise.
5160         * modules/selinux-h (Makefile.am): Likewise.
5161         * modules/signal (Makefile.am): Likewise.
5162         * modules/spawn (Makefile.am): Likewise.
5163         * modules/stdarg (Makefile.am): Likewise.
5164         * modules/stddef (Makefile.am): Likewise.
5165         * modules/stdint (Makefile.am): Likewise.
5166         * modules/stdio (Makefile.am): Likewise.
5167         * modules/stdlib (Makefile.am): Likewise.
5168         * modules/string (Makefile.am): Likewise.
5169         * modules/strings (Makefile.am): Likewise.
5170         * modules/sys_file (Makefile.am): Likewise.
5171         * modules/sys_ioctl (Makefile.am): Likewise.
5172         * modules/sys_select (Makefile.am): Likewise.
5173         * modules/sys_socket (Makefile.am): Likewise.
5174         * modules/sys_stat (Makefile.am): Likewise.
5175         * modules/sys_time (Makefile.am): Likewise.
5176         * modules/sys_times (Makefile.am): Likewise.
5177         * modules/sys_uio (Makefile.am): Likewise.
5178         * modules/sys_utsname (Makefile.am): Likewise.
5179         * modules/sys_wait (Makefile.am): Likewise.
5180         * modules/sysexits (Makefile.am): Likewise.
5181         * modules/termios (Makefile.am): Likewise.
5182         * modules/time (Makefile.am): Likewise.
5183         * modules/unistd (Makefile.am): Likewise.
5184         * modules/wchar (Makefile.am): Likewise.
5185         * modules/wctype-h (Makefile.am): Likewise.
5186         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
5187
5188 2011-05-29  Bruno Haible  <bruno@clisp.org>
5189
5190         assert-h: Allow multiple gnulib generated replacements to coexist.
5191         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
5192
5193 2011-05-29  Bruno Haible  <bruno@clisp.org>
5194
5195         argp: Allow coexistence with strerror_r-posix module.
5196         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
5197         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
5198         by gnulib's <string.h> replacement), assume it has the POSIX signature,
5199         not the glibc signature.
5200
5201 2011-05-28  Bruno Haible  <bruno@clisp.org>
5202
5203         gnulib-tool: Alternative structure of testdirs, similar to --import.
5204         * gnulib-tool: New option --single-configure.
5205         (func_usage): Document it.
5206         (single_configure): New variable.
5207         (func_modules_transitive_closure_separately,
5208         func_modules_transitive_closure_separately,
5209         func_determine_use_libtests, func_modules_add_dummy_separately,
5210         func_modules_to_filelist_separately): New functions, extracted from
5211         func_import.
5212         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
5213         (func_import): Use the new functions.
5214         (func_create_testdir): Set final_modules. Handle $single_configure =
5215         true case.
5216
5217 2011-05-28  Bruno Haible  <bruno@clisp.org>
5218
5219         getloadavg: Remove an unreliable safety check.
5220         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
5221         getloadavg.c is in place.
5222         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
5223         Reported by Sam Steingold <sds@gnu.org>.
5224
5225 2011-05-28  Bruno Haible  <bruno@clisp.org>
5226
5227         doc: Cleanup yet another file produced by texinfo.tex.
5228         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
5229
5230 2011-05-28  Bruno Haible  <bruno@clisp.org>
5231
5232         Finish the conditional dependencies mechanism.
5233         * gnulib-tool: New option --no-conditional-dependencies.
5234         (func_usage): Document it. Don't mark --conditional-dependencies as
5235         experimental.
5236         (cond_dependencies): The possible values can now be true, false, empty.
5237         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
5238         (func_import): Store setting in gnulib-cache.m4 and read it from there.
5239         * doc/gnulib-tool.texi (Conditional dependencies): New section.
5240
5241 2011-05-28  Bruno Haible  <bruno@clisp.org>
5242
5243         doc: Use a recent texinfo.tex.
5244         * doc/Makefile (tex_opts): New variable.
5245         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
5246
5247 2011-05-28  Jim Meyering  <meyering@redhat.com>
5248
5249         intprops.h: adjust comment to match code change
5250         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
5251         only once, it *may* have side effects.  Also fix an unrelated typo.
5252         (_GL_INT_SIGNED): Likewise.
5253
5254 2011-05-26  Simon Josefsson  <simon@josefsson.org>
5255
5256         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
5257
5258 2011-05-26  Bruno Haible  <bruno@clisp.org>
5259
5260         mbsrchr: Avoid collision with system function on Interix.
5261         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
5262         Reported by Markus Duft <mduft@gentoo.org>.
5263
5264 2011-05-15  James Youngman  <jay@gnu.org>
5265
5266         getopt: for ambiguous options, enumerate the possibilities.
5267         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
5268         the ambiguous options when an ambiguous prefix is given. This was
5269         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
5270         glibc change was
5271         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
5272
5273 2011-05-25  Eric Blake  <eblake@redhat.com>
5274
5275         getcwd: work around mingw bug
5276         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
5277         * doc/posix-functions/getcwd.texi (getcwd): Document it.
5278         Reported by Matthias Bolte.
5279
5280 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
5281
5282         test-intprops: disable -Wtype-limits diagnostics
5283         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
5284         diagnostics.  Otherwise, the integer overflow macros generate many
5285         diagnostics.  Reported by Jim Meyering in
5286         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
5287
5288         intprops: shorten, to pacify gcc -Woverlength-strings
5289         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
5290         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
5291         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
5292         likely to run afoul of C compiler limits for string constant lengths.
5293         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
5294
5295 2011-05-24  Eric Blake  <eblake@redhat.com>
5296
5297         docs: document recently fixed glibc printf bug
5298         * doc/posix-functions/fprintf.texi (fprintf): Document it.
5299         * doc/posix-functions/printf.texi (printf): Likewise.
5300         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
5301         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
5302
5303         closein-tests: convert to init.sh
5304         * modules/closein-tests (Files): Add init.sh
5305         * tests/test-closein.sh Use it.
5306
5307         yesno-tests: convert to init.sh
5308         * modules/yesno-tests (Files): Add init.sh.
5309         * tests/test-yesno.sh: Use it.
5310
5311         atexit-tests: ensure reliable exit status
5312         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
5313         Reported by Bruno Haible.
5314
5315 2011-05-24  Bruno Haible  <bruno@clisp.org>
5316
5317         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
5318         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
5319         gl_PREREQ_STRERROR_R invocations from here...
5320         * modules/strerror_r-posix (configure.ac): ... to here.
5321
5322 2011-05-24  Eric Blake  <eblake@redhat.com>
5323
5324         strerror_r: fix missing header
5325         * lib/strerror_r.c: Avoid compiler warning about snprintf.
5326
5327         strerror_r: fix AIX test failures
5328         * lib/strerror_r.c (strerror_r): Convert silent truncation to
5329         ERANGE failure.
5330
5331         strerror_r: fix Solaris test failures
5332         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
5333         failures.
5334         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
5335
5336         strerror_r: enforce POSIX recommendations
5337         * lib/strerror_r.c (safe_copy): New helper method.
5338         (strerror_r): Guarantee a non-empty string.
5339         * tests/test-strerror_r.c (main): Enhance tests to incorporate
5340         recent POSIX rulings and to match our strerror guarantees.
5341         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
5342
5343 2011-05-24  Jim Meyering  <meyering@redhat.com>
5344
5345         test-perror2.c: avoid warning about unused variable
5346         * tests/test-perror2.c (main): Remove declaration of unused "fp".
5347
5348 2011-05-24  Eric Blake  <eblake@redhat.com>
5349
5350         perror: avoid spurious test failure on HP-UX
5351         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
5352
5353         tests: fix logic bug in init.sh
5354         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
5355         shell.
5356
5357 2011-05-24  Jim Meyering  <meyering@redhat.com>
5358
5359         utimensat: do not reference an out-of-scope buffer
5360         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
5361         declared in an inner scope, yet "times" would be dereferenced outside
5362         the scope in which "ts" was valid.
5363         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
5364         of ts[2] "out/up", so that the use of aliased "times" (via
5365         "times = ts;") does not end up referencing an out-of-scope "ts"
5366
5367         opendir-safer.c: don't clobber errno; don't close negative FD
5368         * lib/opendir-safer.c (opendir_safer):
5369         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
5370         file descriptor, and more importantly, don't clobber the
5371         offending errno value with EINVAL.  Before, upon failure
5372         of dup_safer, we would pass the negative file descriptor to
5373         fdopendir, which would clobber errno.
5374
5375 2011-05-23  Bruno Haible  <bruno@clisp.org>
5376
5377         idcache: Fix module description.
5378         * modules/idcache (Include): Set to "idcache.h".
5379
5380 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5381
5382         gnulib-tool: fix portability problem with MacOS sed
5383         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
5384         before the "}".  Problem reported by Leo in
5385         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
5386         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
5387         sed_extract_condition1, sed_extract_condition2.
5388
5389 2011-05-23  Bruno Haible  <bruno@clisp.org>
5390
5391         hash: Simplify autoconf macro.
5392         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
5393
5394 2011-05-23  Bruno Haible  <bruno@clisp.org>
5395
5396         getugroups: Fix module description.
5397         * modules/getugroups (Include): Set to "getugroups.h".
5398
5399 2011-05-23  Bruno Haible  <bruno@clisp.org>
5400
5401         linkat: Simplify autoconf macro.
5402         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
5403
5404 2011-05-23  Bruno Haible  <bruno@clisp.org>
5405             Eric Blake  <eblake@redhat.com>
5406
5407         linkat, renameat: Update dependencies.
5408         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
5409         * modules/linkat (Depends-on): Likewise. Remove also readlink,
5410         symlinkat.
5411
5412 2011-05-23  Jim Meyering  <meyering@redhat.com>
5413
5414         maint.mk: more tight_scope improvements
5415         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
5416         (_gl_TS_headers): Define only in if-0'd block.
5417         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
5418         sometimes we must *not* use it.  Adjust uses accordingly.
5419         (sc_tight_scope): Use much simpler grep-based test to determine
5420         whether we skip this rule.
5421
5422         maint.mk: generalize/improve the tight-scope rule
5423         * top/maint.mk: Emit a warning when the test is skipped.
5424         (_gl_TS_dir): Add $(srcdir)/ prefix.
5425         (_gl_TS_function_match): Simplify, rather than trying
5426         to enumerate common types.  Otherwise, it would fail to match an
5427         "extern unsigned char const *" declaration in idutils.
5428         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
5429         a way to support use of that type of macro.
5430         (_gl_TS_var_match): Simplify regexp.
5431         (_gl_TS_obj_files): New configurable variable.
5432         (_gl_TS_headers): Likewise.
5433
5434 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
5435
5436         verify: fix bug when gnulib <assert.h> is also included
5437         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
5438         is defined, not if _GL_STATIC_ASSERT_H is not defined.
5439         Perhaps there's a better way, but this fixes the immediate problem.
5440         Problem reported by Bruno Haible in
5441         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
5442
5443 2011-05-22  Bruno Haible  <bruno@clisp.org>
5444
5445         xgetcwd: Simplify autoconf macro.
5446         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
5447
5448 2011-05-22  Bruno Haible  <bruno@clisp.org>
5449
5450         New module 'mktime-internal'.
5451         * modules/mktime-internal: New file.
5452         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
5453         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
5454         mktime_internal as a C macro if libc has __mktime_internal.
5455         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
5456         conditions.
5457         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
5458
5459 2011-05-22  Bruno Haible  <bruno@clisp.org>
5460
5461         timegm: Correct mktime replacement statements.
5462         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
5463         defining mktime as a C macro. This completes a 2009-07-28 commit.
5464
5465 2011-05-22  Bruno Haible  <bruno@clisp.org>
5466
5467         timegm: Simplify autoconf macro.
5468         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
5469
5470 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5471
5472         clock-time: change to LGPLv2+.
5473         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
5474         BSD-like but we have no mark for that; this is good enough for now.
5475
5476 2011-05-21  Bruno Haible  <bruno@clisp.org>
5477
5478         strerror_r: Fix comments.
5479         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
5480
5481 2011-05-21  Bruno Haible  <bruno@clisp.org>
5482
5483         relocatable-prog-wrapper: Fix possible link error.
5484         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
5485         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
5486         (gl_FUNC_SETENV): ... to here.
5487         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
5488         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
5489
5490 2011-05-21  Bruno Haible  <bruno@clisp.org>
5491
5492         relocatable-prog-wrapper: Assume strerror() exists.
5493         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
5494         m4/strerror.m4.
5495         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
5496         * lib/relocwrapper.c: Remove mention of strerror module.
5497         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
5498         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
5499         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
5500         C macro.
5501
5502 2011-05-21  Bruno Haible  <bruno@clisp.org>
5503
5504         select: Simplify replacement idiom.
5505         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
5506         Win32 platforms.
5507         * lib/sys_select.in.h (select): Simplify accordingly.
5508         * modules/select (Depends-on): Likewise.
5509
5510 2011-05-21  Bruno Haible  <bruno@clisp.org>
5511
5512         mkdir-p: Simplify autoconf macro.
5513         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
5514         gl_FUNC_LCHOWN.
5515
5516 2011-05-21  Eric Blake  <eblake@redhat.com>
5517
5518         strerror_r: avoid clobbering strerror on cygwin
5519         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
5520         fall back instead to sys_errlist.
5521         * modules/strerror (configure.ac): Add witness.
5522         * tests/test-strerror_r.c (main): Enhance test.
5523         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5524         * tests/test-perror2.c (main): Free memory before exit.
5525
5526 2011-05-21  Bruno Haible  <bruno@clisp.org>
5527
5528         mkdtemp: Use gnulib naming conventions.
5529         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
5530         * modules/mkdtemp (configure.ac): Update.
5531
5532 2011-05-20  Eric Blake  <eblake@redhat.com>
5533
5534         strerror_r: avoid corrupting errno on Solaris
5535         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
5536         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5537
5538         strerror_r: avoid compiler warning
5539         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
5540
5541         strerror_r: simplify AIX code
5542         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
5543
5544         test-perror: avoid spurious failure on FreeBSD
5545         * modules/perror-tests (Depends-on): Add strerror, now that
5546         strerror_r no longer pulls it in.
5547
5548 2011-05-20  Bruno Haible  <bruno@clisp.org>
5549
5550         strerror_r-posix: Remove unused dependencies.
5551         * modules/strerror_r-posix (Depends-on): Remove strerror.
5552         Reported by Eric Blake.
5553
5554 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
5555
5556         intprops: remove assumption about A|B representation
5557         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
5558         is a valid integer if both A and B are.  Although this is true for
5559         all known practical hosts, the C standard doesn't guarantee it,
5560         and the code need not assume it.  Also, this change may work around
5561         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
5562         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
5563
5564 2011-05-20  Eric Blake  <eblake@redhat.com>
5565
5566         perror: work around FreeBSD bug
5567         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
5568         is broken.  Move AC_LIBOBJ...
5569         * modules/perror (configure.ac): Here.
5570         * doc/posix-functions/perror.texi (perror): Document this.
5571         * tests/test-perror2.c (main): Enhance test.
5572
5573         test-perror: check for strerror interactions
5574         * tests/macros.h (STREQ): Add macro.
5575         * modules/perror-tests (Files): Add second test.
5576         * tests/test-perror2.c (main): New file.
5577         * doc/posix-functions/perror.texi (perror): Document glibc bug.
5578
5579         test-perror: rewrite to use init script
5580         * modules/perror-tests (Files): Add init.sh.
5581         * tests/test-perror.sh: Use temporary directory.
5582
5583 2011-05-20  Jim Meyering  <meyering@redhat.com>
5584
5585         maint: replace misused "a" with "an"
5586         * doc/intprops.texi: "a integer"
5587         * doc/regex.texi: "a explanation"
5588         * lib/alignof.h: "a object"
5589         * lib/argmatch.h: "a explanation"
5590         * lib/argp-help.c: "a option" and "a OPTION_DOC"
5591         * lib/stdint.in.h: "a integer"
5592         * lib/userspec.c: "a owner"
5593         * doc/gnulib.texi: Fix "a idea", and reword.
5594
5595 2011-05-19  Jim Meyering  <meyering@redhat.com>
5596
5597         maint: correct misuse of "a" and "an"
5598         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
5599         * lib/argp-help.c: "an docum...": s/an/a/
5600         * lib/argp-parse.c: "An vector": s/An/A/
5601         * lib/execute.c: "an native": s/an/a/
5602         * lib/spawn-pipe.c: Likewise.
5603         * lib/gc.h: "an Gc_rc": s/an/a/
5604         * lib/unigbrk.in.h: "an grapheme": s/an/a/
5605         * lib/fts.c: "an stat.st_dev": s/an/a/
5606
5607 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5608
5609         intprops-tests: work around HP-UX 11.23 cc bug with constants
5610         * tests/test-intprops.c (VERIFY): New macro.
5611         (main): Use it, instead of verify, to work around the compiler bug; see
5612         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5613
5614         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
5615         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
5616         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
5617         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
5618         (_GL_REMAINDER_OVERFLOW): Use it.
5619
5620         intprops-tests: revert unsigned part of previous change
5621         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
5622         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
5623         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
5624         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
5625
5626 2011-05-19  Bruno Haible  <bruno@clisp.org>
5627
5628         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
5629         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
5630         strerror_r() returned without filling the buffer.
5631         Reported by Eric Blake.
5632
5633 2011-05-19  Eric Blake  <eblake@redhat.com>
5634
5635         strerror_r: guarantee unchanged errno
5636         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
5637         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
5638         failure.
5639         * tests/test-strerror_r.c (main): Enhance test.
5640
5641 2011-05-19  Bruno Haible  <bruno@clisp.org>
5642
5643         strerror_r: Reorder #if blocks.
5644         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
5645         for consistency with the previous commit.
5646
5647 2011-05-19  Bruno Haible  <bruno@clisp.org>
5648
5649         perror: Avoid clobbering the strerror buffer when possible.
5650         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
5651         * lib/strerror.c: Include it.
5652         * modules/strerror (Files): Add lib/strerror-impl.h.
5653         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
5654         (my_strerror): New function, defined through lib/strerror-impl.h.
5655         (perror): Use it instead of strerror.
5656         * modules/perror (Files): Add lib/strerror-impl.h.
5657         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
5658
5659 2011-05-19  Eric Blake  <eblake@redhat.com>
5660
5661         strerror_r: fix on newer cygwin
5662         * lib/strerror_r.c (strerror_r): Cygwin now has
5663         __xpg_strerror_r, use it.
5664
5665 2011-05-19  Bruno Haible  <bruno@clisp.org>
5666
5667         strerror_r: Avoid clobbering the strerror buffer when possible.
5668         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
5669         (sys_nerr, sys_errlist): New declarations.
5670         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
5671         HP-UX, native Win32, IRIX, and 32-bit Solaris.
5672         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
5673
5674 2011-05-19  Bruno Haible  <bruno@clisp.org>
5675
5676         strerror_r: Fix test failure on mingw.
5677         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
5678         EXTEND_STRERROR_R.
5679         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
5680         macros from errno.in.h instead.
5681
5682 2011-05-19  Eric Blake  <eblake@redhat.com>
5683
5684         strerror: relax test for Solaris
5685         * tests/test-strerror.c (main): Permit Solaris behavior.
5686         * tests/test-strerror_r.c (main): Likewise.
5687
5688         strerror: enforce POSIX ruling on strerror(0)
5689         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
5690         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
5691         * lib/strerror_r.c (rpl_strerror_r): Work around it.
5692         * doc/posix-functions/strerror.texi (strerror): Document it.
5693         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
5694         * tests/test-strerror.c (main): Strengthen test.
5695         * tests/test-strerror_r.c (main): Likewise.
5696
5697 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5698
5699         intprop-tests: port to older and more-pedantic compilers
5700         * modules/intprops-tests (Files): Add tests/macros.h.
5701         * tests/test-intprops.c: Include macros.h.
5702         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
5703         it's no longer documented to expand to an integer constant expression.
5704         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
5705         argument is floating point, as it's no longer documented to expand
5706         to an integer constant expression in that case.
5707         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
5708         compiler bugs reported by Bruno Haible.  See
5709         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5710         (U0, U1): New constants, to work around the same bugs.  Also,
5711         in tests, use e.g., "(unsigned int) 39" rather than "39u".
5712
5713         intprops: work around C compiler bugs
5714         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
5715         bug in Sun C 5.11 2010/08/13 and other compilers; see
5716         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5717
5718         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
5719         * doc/intprops.texi (Integer Type Determination): Fix
5720         documentation for TYPE_IS_INTEGER: it returns an constant
5721         expression, not an integer constant expression.  Fix doc for
5722         TYPE_SIGNED: it returns an integer constant expression only if its
5723         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
5724         hardly worth documented that way....)
5725
5726 2011-05-18  Bruno Haible  <bruno@clisp.org>
5727
5728         strerror_r: Avoid clobbering the strerror buffer when possible.
5729         * lib/strerror_r.c (strerror_r): Merge the three implementations.
5730         Handle gnulib defined errno values here. When strerror() returns NULL
5731         or an empty string, return EINVAL.
5732         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
5733         gnulib defined errno values here.
5734         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
5735
5736 2011-05-18  Eric Blake  <eblake@redhat.com>
5737
5738         fnmatch: avoid compiler warning
5739         * lib/fnmatch_loop.c (FCT): Use correct type.
5740         Reported by Matthias Bolte.
5741
5742 2011-05-13  Jim Meyering  <meyering@redhat.com>
5743
5744         maint.mk: three new prohibit_<HDR>_without_use rules
5745         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
5746         (sc_prohibit_stdio-safer_without_use): Likewise.
5747         (sc_prohibit_xfreopen_without_use): Likewise.
5748
5749 2011-05-17  Jim Meyering  <meyering@redhat.com>
5750
5751         announce-gen: fail if the NEWS delta is empty
5752         If there's nothing noteworthy in NEWS, then either you forgot
5753         or you shouldn't be releasing.
5754         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
5755
5756 2011-05-17  PĂ¡draig Brady <P@draigBrady.com>
5757
5758         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
5759         reserved symbols starting with double underscore from the check.
5760
5761 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5762
5763         intprops: add doc
5764         * doc/intprops.texi: New file, documenting intprops.
5765         * doc/gnulib.texi (Particular Modules): Include it.
5766
5767         verify: add doc to gnulib manual and fix example
5768         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
5769         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
5770         (Compile-time Assertions): Fix example so it can't overflow.
5771
5772 2011-05-17  Jim Meyering  <meyering@redhat.com>
5773
5774         warnings.m4: don't usurp save_CPPFLAGS variable name
5775         * m4/warnings.m4: Prefix local temporary variable name with gl_.
5776
5777         doc: fix typo
5778         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
5779
5780 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5781             Bruno Haible  <bruno@clisp.org>
5782
5783         doc: Tweak recent change.
5784         * README (Portability guidelines): Tweak new text.
5785         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
5786         Interix 6.1.
5787
5788 2011-05-16  Eric Blake  <eblake@redhat.com>
5789
5790         inttypes: avoid autoconf warning
5791         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
5792         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5793
5794 2011-05-16  Sam Steingold <sds@gnu.org>
5795         and Eric Blake  <eblake@redhat.com>
5796
5797         vc-list-files: accept multiple directory operands
5798         * build-aux/vc-list-files: Iterate over all remaining operands.
5799
5800 2011-05-16  Bruno Haible  <bruno@clisp.org>
5801
5802         Fix confusion regarding deprecated modules.
5803         * modules/calloc (Status, Notice): Mark module as deprecated, not
5804         obsolete.
5805         * modules/fnmatch-posix (Status, Notice): Likewise.
5806         * modules/getdate (Status, Notice): Likewise.
5807         * modules/getopt (Status, Notice): Likewise.
5808         * modules/malloc (Status, Notice): Likewise.
5809         * modules/pipe (Status, Notice): Likewise.
5810         * modules/realloc (Status, Notice): Likewise.
5811         * modules/rename-dest-slash (Status, Notice): Likewise.
5812         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
5813         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
5814         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
5815         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
5816         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
5817
5818 2011-05-16  Bruno Haible  <bruno@clisp.org>
5819
5820         doc: List the target platforms.
5821         * doc/gnulib-intro.texi (Target Platforms): New section.
5822         * doc/gnulib.texi (Introduction): Update menu.
5823         * README (Portability guidelines): Refer to the new section. Update
5824         statement about oldest supported environment. Remove rationale why
5825         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
5826         unportable C89 function.
5827         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
5828         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
5829
5830 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5831
5832         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
5833
5834 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
5835
5836         intprops-tests: new module
5837         * modules/intprops-tests, tests/test-intprops.c: New files.
5838
5839         intprops: add safe, portable integer overflow checking
5840         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
5841         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
5842         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
5843         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
5844         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
5845         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
5846         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
5847         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
5848         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
5849         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
5850         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
5851
5852 2011-05-12  James Youngman  <jay@gnu.org>
5853
5854         Add a test for glibc's Bugzilla bug #12378.
5855         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
5856         doesn't allow the literal matching of a lone "[" (which is
5857         required by POSIX).
5858         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
5859
5860 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
5861
5862         Sync glibc change fixing Bugzilla bug #12378.
5863         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
5864         beginning and fall back to matching as normal character if the
5865         string ends before the matching ']' is found.  This is what POSIX
5866         requires.
5867
5868 2011-05-13  Eric Blake  <eblake@redhat.com>
5869
5870         getcwd-lgpl: relax test for FreeBSD
5871         * doc/posix-functions/getcwd.texi (getcwd): Document portability
5872         issue.
5873         * tests/test-getcwd-lgpl.c (main): Relax test.
5874         Reported by Matthias Bolte.
5875
5876 2011-05-11  Eric Blake  <eblake@redhat.com>
5877
5878         test-fflush: silence compiler warning
5879         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
5880
5881 2011-05-11  Bruno Haible  <bruno@clisp.org>
5882
5883         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
5884         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
5885         * modules/canonicalize (Depends-on): Add 'nocrash'.
5886         * modules/canonicalize-lgpl (Depends-on): Likewise.
5887         * doc/posix-functions/realpath.texi: Update platforms list.
5888         Reported by Ryan Schmidt <ryandesign@macports.org>.
5889
5890 2011-05-11  Bruno Haible  <bruno@clisp.org>
5891
5892         group-member: Declare function in <unistd.h>.
5893         * lib/unistd.in.h (group_member): New declaration.
5894         * lib/group-member.h: Remove file.
5895         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
5896         * tests/test-unistd-c++.cc: Check signature of group_member.
5897         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
5898         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
5899         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
5900         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
5901         HAVE_GROUP_MEMBER.
5902         * modules/group-member (Files): Remove lib/group-member.h.
5903         (Depends-on): Add unistd. Specify conditions.
5904         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5905         (Include): Change to <unistd.h>.
5906         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
5907         HAVE_GROUP_MEMBER.
5908         * NEWS: Mention the change.
5909         * lib/euidaccess.c: Don't include group-member.h.
5910
5911 2011-05-11  Bruno Haible  <bruno@clisp.org>
5912
5913         group-member: Document module.
5914         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
5915         module.
5916
5917 2011-05-11  Bruno Haible  <bruno@clisp.org>
5918
5919         fclose: Fix mistake earlier today.
5920         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
5921
5922 2011-05-11  Eric Blake  <eblake@redhat.com>
5923
5924         fclose: preserve fflush errors
5925         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
5926         Reported by Jim Meyering.
5927
5928         bootstrap: support a prereq of 'rpcgen -' on RHEL5
5929         * build-aux/bootstrap (check_versions): When no specific version
5930         is required, merely check that the app produces an exit status
5931         that indicates its existence.
5932
5933         maint.mk: drop redundant check
5934         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
5935         the same but better.
5936
5937 2011-05-11  Bruno Haible  <bruno@clisp.org>
5938
5939         fclose: Fix possible link error.
5940         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
5941         unregister_shadow_fd. Improve comments.
5942         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
5943         Eric Blake.
5944
5945 2011-05-11  Jim Meyering  <meyering@redhat.com>
5946
5947         maint.mk: improve "can not" detection and generalize rule name
5948         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
5949         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
5950         Use the same technique as in sc_prohibit_doubled_word, so that
5951         we recognize "can not" also when the words are separated by a newline.
5952         Suggested by Eric Blake.
5953         (perl_filename_lineno_text_): Define.  Factored out of...
5954         (prohibit_doubled_word_): ...here.  Use the new definition.
5955         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
5956         (prohibit_undesirable_word_seq_RE_): New overridable variable.
5957         (ignore_undesirable_word_sequence_RE_): New overridable variable.
5958
5959 2011-05-10  Eric Blake  <eblake@redhat.com>
5960
5961         fclose: avoid double close race when possible
5962         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
5963         all but WINDOWS_SOCKETS.
5964
5965 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
5966
5967         openat: correct new comment
5968         * lib/openat-proc.c (openat_proc_name): Correct the comment.
5969
5970 2011-05-10  Jim Meyering  <meyering@redhat.com>
5971
5972         openat: add comments
5973         * lib/openat-proc.c (openat_proc_name): Add comments,
5974         mostly from Eric Blake.
5975
5976 2011-05-09  Eric Blake  <eblake@redhat.com>
5977
5978         openat: reduce syscalls in first probe of /proc
5979         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
5980         be a directory.  Simplify the probe for .. bugs.
5981         * modules/openat (Depends-on): Drop same-inode.
5982         Reported by Bastien ROUCARIES.
5983
5984 2011-05-09  Jim Meyering  <meyering@redhat.com>
5985
5986         maint.mk: change semantics/name of tight_scope variables
5987         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
5988         Rename variables to align with semantics that make them more useful.
5989
5990         maint.mk: tweak new rule's name not to impinge
5991         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
5992         (sc_tight_scope): Use new rule name rather than $@-0.
5993
5994         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
5995         * top/maint.mk (sc_tight_scope): New rule.
5996         (sc_tight_scope-0): New rule, ifdef'd out.
5997         (_gl_TS_dir): Default.
5998         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
5999         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
6000
6001 2011-05-09  Simon Josefsson  <simon@josefsson.org>
6002
6003         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
6004         Haible <bruno@clisp.org>.
6005
6006 2011-05-08  Bruno Haible  <bruno@clisp.org>
6007
6008         Comments.
6009         * m4/isnanf.m4: Add comment.
6010         * m4/isnanl.m4: Likewise.
6011
6012 2011-05-08  Bruno Haible  <bruno@clisp.org>
6013
6014         glob: Remove obsolete macro.
6015         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
6016
6017 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6018
6019         intprops: Sun C 5.11 supports __typeof__
6020         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
6021         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
6022         which is new.
6023         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
6024
6025         intprops: switch to usual gnulib indenting and naming
6026         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
6027         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
6028
6029         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
6030
6031 2011-05-08  Jim Meyering  <meyering@redhat.com>
6032
6033         maint.mk: suppress "Entering/Leaving directory" diag in announcement
6034         * top/maint.mk (release-prep): Use make's --no-print-directory
6035         option when generating the announcement.  This eliminates the
6036         pesky "make[2]: Entering/Leaving directory" diagnostics in the
6037         generated announcement template.
6038
6039 2011-05-08  Bruno Haible  <bruno@clisp.org>
6040
6041         tzset: Fix gettimeofday wrapper on Solaris 2.6.
6042         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
6043         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
6044
6045 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
6046
6047         ignore-value, verify: Omit include files from lib_SOURCES.
6048         * modules/ignore-value, modules/verify (Makefile.am):
6049         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
6050         that leads Automake to duplicate use of am__objects_... variables
6051         in Makefile.in.  See
6052         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
6053
6054 2011-05-07  Bruno Haible  <bruno@clisp.org>
6055
6056         fclose: Simplify autoconf macro.
6057         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
6058         defined.
6059
6060 2011-05-07  Bruno Haible  <bruno@clisp.org>
6061
6062         canonicalize-lgpl: Fix autoconf macro ordering bug.
6063         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
6064         gl_STDLIB_H_DEFAULTS.
6065
6066 2011-05-06  Eric Blake  <eblake@redhat.com>
6067
6068         maintainer-makefile: make sc_po_check easier to tune
6069         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
6070         to probe for strings, such as an alternate location for gnulib.
6071
6072         fclose: guarantee behavior on seekable stdin
6073         * modules/fclose (Depends-on): Add fflush.
6074         * doc/posix-functions/fclose.texi (fclose): Document this.
6075         * tests/test-fclose.c (main): Make test for this unconditional.
6076
6077 2011-05-06  Bruno Haible  <bruno@clisp.org>
6078
6079         fflush, fpurge: Relicense under LGPLv2+.
6080         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
6081         * modules/fpurge (License): Likewise.
6082         With permission from Eric Blake and Jim Meyering.
6083         Suggested by Eric Blake.
6084
6085 2011-05-06  Karl Berry  <karl@gnu.org>
6086
6087         * MODULES.html.sh (func_all_modules): remove exit.
6088
6089 2011-05-06  Jim Meyering  <meyering@redhat.com>
6090
6091         maint.mk: use info-gnu@ as the default only for a stable release
6092         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
6093         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
6094         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
6095         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
6096
6097 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6098
6099         assert-h: new module, which supports C1X-style static_assert
6100         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
6101         * lib/verify.h: Revamp so that this can be copied into assert.h,
6102         while retaining the ability to use it standalone as before.
6103         Rename private identifiers so as not to encroach on the
6104         standard C namespace, since this is now used by assert.h.
6105         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
6106         the old verify_true.
6107         (_GL_VERIFY_TRUE): New macro, with much of the contents of
6108         the old verify_true.  Use _GL_VERIFY_TYPE.
6109         (_GL_VERIFY): New macro, with much of the contents of the old verify.
6110         (static_assert): New macro, if _GL_STATIC_ASSERT_H
6111         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
6112         defined when this file is copied into the replacement assert.h.
6113         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
6114         and _Static_assert is not built in.
6115         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
6116         defined, and use the new macros mentioned above.
6117         * doc/posix-headers/assert.texi: Document this.
6118
6119 2011-05-05  Bruno Haible  <bruno@clisp.org>
6120
6121         fclose, fflush: Respect rules for use of AC_LIBOBJ.
6122         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
6123         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
6124         gl_REPLACE_FCLOSE here.
6125         * modules/fflush (Depends-on): Remove fclose.
6126         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
6127         combination with module 'fclose'.
6128
6129 2011-05-05  Bruno Haible  <bruno@clisp.org>
6130
6131         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
6132         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
6133         gl_FUNC_FFLUSH.
6134         (gl_FUNC_FFLUSH): Use it.
6135         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
6136         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
6137         gl_REPLACE_FSEEKO here.
6138
6139 2011-05-05  Bruno Haible  <bruno@clisp.org>
6140
6141         tzset: Relicense under LGPL.
6142         * modules/tzset (License): Change to LGPL.
6143         No agreement needed; it's a no-op.
6144
6145         strtoimax, strtoumax: Relicense under LGPL.
6146         * modules/strtoimax (License): Change to LGPL.
6147         * modules/strtoumax (License): Likewise.
6148         With permission from Jim Meyering, Paul Eggert:
6149         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
6150         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
6151
6152         getgroups: Relicense under LGPL.
6153         * modules/getgroups (License): Change to LGPL.
6154         With permission from Jim Meyering, Paul Eggert, Eric Blake:
6155         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
6156         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
6157         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6158
6159         nanosleep: Relicense under LGPL.
6160         * modules/nanosleep (License): Change to LGPL.
6161         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
6162         Haible:
6163         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
6164         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
6165         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6166         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
6167
6168         futimens: Relicense under LGPL.
6169         * modules/futimens (License): Change to LGPL.
6170         With permission from Eric Blake:
6171         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6172
6173         fflush: Relicense under LGPL.
6174         * modules/fflush (License): Change to LGPL.
6175         With permission from Eric Blake, Bruno Haible, Jim Meyering:
6176         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6177         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
6178         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
6179
6180         tmpfile: Relicense under LGPL.
6181         * modules/tmpfile (License): Change to LGPL.
6182         With permission from Ben Pfaff:
6183         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
6184
6185         isfinite: Relicense under LGPL.
6186         * modules/isfinite (License): Change to LGPL.
6187         With permission from Ben Pfaff, Bruno Haible:
6188         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
6189         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
6190
6191         acosl..tanl: Relicense under LGPL.
6192         * modules/acosl (License): Change to LGPL.
6193         * modules/asinl (License): Likewise.
6194         * modules/atanl (License): Likewise.
6195         * modules/cosl (License): Likewise.
6196         * modules/expl (License): Likewise.
6197         * modules/logl (License): Likewise.
6198         * modules/sinl (License): Likewise.
6199         * modules/sqrtl (License): Likewise.
6200         * modules/tanl (License): Likewise.
6201         Source code originally from glibc and Paolo Bonzini. Agreements:
6202         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
6203         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
6204
6205 2011-05-05  Bruno Haible  <bruno@clisp.org>
6206
6207         signal: Define sighandler_t.
6208         * lib/signal.in.h (sighandler_t): New type.
6209         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
6210         whether sighandler_t is defined.
6211         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
6212         * modules/signal (Depends-on): Add extensions.
6213         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
6214         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
6215         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
6216
6217 2011-05-05  Eric Blake  <eblake@redhat.com>
6218
6219         maint: remove useless REPLACE_*_H macros
6220         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
6221         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
6222         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
6223         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
6224         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
6225         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
6226         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
6227         * m4/btowc.m4: Update callers.
6228         * m4/dirfd.m4: Likewise.
6229         * m4/duplocale.m4: Likewise.
6230         * m4/fchdir.m4: Likewise.
6231         * m4/fdopendir.m4: Likewise.
6232         * m4/inet_ntop.m4: Likewise.
6233         * m4/inet_pton.m4: Likewise.
6234         * m4/ioctl.m4: Likewise.
6235         * m4/mbrlen.m4: Likewise.
6236         * m4/mbrtowc.m4: Likewise.
6237         * m4/mbsinit.m4: Likewise.
6238         * m4/mbsnrtowcs.m4: Likewise.
6239         * m4/mbsrtowcs.m4: Likewise.
6240         * m4/poll.m4: Likewise.
6241         * m4/setlocale.m4: Likewise.
6242         * m4/wcrtomb.m4: Likewise.
6243         * m4/wcsnrtombs.m4: Likewise.
6244         * m4/wcsrtombs.m4: Likewise.
6245         * m4/wctob.m4: Likewise.
6246         * m4/wcwidth.m4: Likewise.
6247         * modules/posix_spawn: Likewise.
6248         * modules/posix_spawn_file_actions_addclose: Likewise.
6249         * modules/posix_spawn_file_actions_adddup2: Likewise.
6250         * modules/posix_spawn_file_actions_addopen: Likewise.
6251         * modules/posix_spawn_file_actions_destroy: Likewise.
6252         * modules/posix_spawn_file_actions_init: Likewise.
6253         * modules/posix_spawnattr_destroy: Likewise.
6254         * modules/posix_spawnattr_getflags: Likewise.
6255         * modules/posix_spawnattr_getpgroup: Likewise.
6256         * modules/posix_spawnattr_getschedparam: Likewise.
6257         * modules/posix_spawnattr_getschedpolicy: Likewise.
6258         * modules/posix_spawnattr_getsigdefault: Likewise.
6259         * modules/posix_spawnattr_getsigmask: Likewise.
6260         * modules/posix_spawnattr_init: Likewise.
6261         * modules/posix_spawnattr_setflags: Likewise.
6262         * modules/posix_spawnattr_setpgroup: Likewise.
6263         * modules/posix_spawnattr_setschedparam: Likewise.
6264         * modules/posix_spawnattr_setschedpolicy: Likewise.
6265         * modules/posix_spawnattr_setsigdefault: Likewise.
6266         * modules/posix_spawnattr_setsigmask: Likewise.
6267         * modules/posix_spawnp: Likewise.
6268
6269 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
6270
6271         Add option to do-release-commit-and-tag to specify branch.
6272         * build-aux/do-release-commit-and-tag: Add --branch.
6273
6274 2011-05-03  Bruno Haible  <bruno@clisp.org>
6275
6276         Avoid unnecessary compilation units, through conditional dependencies.
6277         * modules/accept (Depends-on): Add conditions to the dependencies.
6278         * modules/acosl (Depends-on): Likewise.
6279         * modules/argz (Depends-on): Likewise.
6280         * modules/asinl (Depends-on): Likewise.
6281         * modules/atanl (Depends-on): Likewise.
6282         * modules/atoll (Depends-on): Likewise.
6283         * modules/bind (Depends-on): Likewise.
6284         * modules/btowc (Depends-on): Likewise.
6285         * modules/canonicalize-lgpl (Depends-on): Likewise.
6286         * modules/ceil (Depends-on): Likewise.
6287         * modules/ceilf (Depends-on): Likewise.
6288         * modules/ceill (Depends-on): Likewise.
6289         * modules/chdir-long (Depends-on): Likewise.
6290         * modules/chown (Depends-on): Likewise.
6291         * modules/close (Depends-on): Likewise.
6292         * modules/connect (Depends-on): Likewise.
6293         * modules/cosl (Depends-on): Likewise.
6294         * modules/dirfd (Depends-on): Likewise.
6295         * modules/dprintf (Depends-on): Likewise.
6296         * modules/dprintf-posix (Depends-on): Likewise.
6297         * modules/error (Depends-on): Likewise.
6298         * modules/euidaccess (Depends-on): Likewise.
6299         * modules/expl (Depends-on): Likewise.
6300         * modules/faccessat (Depends-on): Likewise.
6301         * modules/fchdir (Depends-on): Likewise.
6302         * modules/fclose (Depends-on): Likewise.
6303         * modules/fcntl (Depends-on): Likewise.
6304         * modules/fdopendir (Depends-on): Likewise.
6305         * modules/fflush (Depends-on): Likewise.
6306         * modules/floor (Depends-on): Likewise.
6307         * modules/floorf (Depends-on): Likewise.
6308         * modules/floorl (Depends-on): Likewise.
6309         * modules/fnmatch (Depends-on): Likewise.
6310         * modules/fopen (Depends-on): Likewise.
6311         * modules/fprintf-posix (Depends-on): Likewise.
6312         * modules/frexp (Depends-on): Likewise.
6313         * modules/frexp-nolibm (Depends-on): Likewise.
6314         * modules/frexpl (Depends-on): Likewise.
6315         * modules/frexpl-nolibm (Depends-on): Likewise.
6316         * modules/fseek (Depends-on): Likewise.
6317         * modules/fsusage (Depends-on): Likewise.
6318         * modules/ftell (Depends-on): Likewise.
6319         * modules/ftello (Depends-on): Likewise.
6320         * modules/futimens (Depends-on): Likewise.
6321         * modules/getcwd (Depends-on): Likewise.
6322         * modules/getcwd-lgpl (Depends-on): Likewise.
6323         * modules/getdelim (Depends-on): Likewise.
6324         * modules/getdomainname (Depends-on): Likewise.
6325         * modules/getgroups (Depends-on): Likewise.
6326         * modules/gethostname (Depends-on): Likewise.
6327         * modules/getline (Depends-on): Likewise.
6328         * modules/getlogin_r (Depends-on): Likewise.
6329         * modules/getopt-posix (Depends-on): Likewise.
6330         * modules/getpeername (Depends-on): Likewise.
6331         * modules/getsockname (Depends-on): Likewise.
6332         * modules/getsockopt (Depends-on): Likewise.
6333         * modules/getsubopt (Depends-on): Likewise.
6334         * modules/getusershell (Depends-on): Likewise.
6335         * modules/glob (Depends-on): Likewise.
6336         * modules/grantpt (Depends-on): Likewise.
6337         * modules/iconv_open (Depends-on): Likewise.
6338         * modules/iconv_open-utf (Depends-on): Likewise.
6339         * modules/inet_ntop (Depends-on): Likewise.
6340         * modules/inet_pton (Depends-on): Likewise.
6341         * modules/ioctl (Depends-on): Likewise.
6342         * modules/isapipe (Depends-on): Likewise.
6343         * modules/isfinite (Depends-on): Likewise.
6344         * modules/isinf (Depends-on): Likewise.
6345         * modules/lchown (Depends-on): Likewise.
6346         * modules/ldexpl (Depends-on): Likewise.
6347         * modules/link (Depends-on): Likewise.
6348         * modules/linkat (Depends-on): Likewise.
6349         * modules/listen (Depends-on): Likewise.
6350         * modules/logl (Depends-on): Likewise.
6351         * modules/lstat (Depends-on): Likewise.
6352         * modules/mbrlen (Depends-on): Likewise.
6353         * modules/mbrtowc (Depends-on): Likewise.
6354         * modules/mbsinit (Depends-on): Likewise.
6355         * modules/mbsnrtowcs (Depends-on): Likewise.
6356         * modules/mbsrtowcs (Depends-on): Likewise.
6357         * modules/mbtowc (Depends-on): Likewise.
6358         * modules/memcmp (Depends-on): Likewise.
6359         * modules/mkdir (Depends-on): Likewise.
6360         * modules/mkdtemp (Depends-on): Likewise.
6361         * modules/mkfifo (Depends-on): Likewise.
6362         * modules/mkfifoat (Depends-on): Likewise.
6363         * modules/mknod (Depends-on): Likewise.
6364         * modules/mkostemp (Depends-on): Likewise.
6365         * modules/mkostemps (Depends-on): Likewise.
6366         * modules/mkstemp (Depends-on): Likewise.
6367         * modules/mkstemps (Depends-on): Likewise.
6368         * modules/mktime (Depends-on): Likewise.
6369         * modules/nanosleep (Depends-on): Likewise.
6370         * modules/open (Depends-on): Likewise.
6371         * modules/openat (Depends-on): Likewise.
6372         * modules/perror (Depends-on): Likewise.
6373         * modules/poll (Depends-on): Likewise.
6374         * modules/popen (Depends-on): Likewise.
6375         * modules/posix_spawn (Depends-on): Likewise.
6376         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
6377         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
6378         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
6379         * modules/posix_spawnp (Depends-on): Likewise.
6380         * modules/pread (Depends-on): Likewise.
6381         * modules/printf-posix (Depends-on): Likewise.
6382         * modules/ptsname (Depends-on): Likewise.
6383         * modules/putenv (Depends-on): Likewise.
6384         * modules/pwrite (Depends-on): Likewise.
6385         * modules/readline (Depends-on): Likewise.
6386         * modules/readlink (Depends-on): Likewise.
6387         * modules/readlinkat (Depends-on): Likewise.
6388         * modules/recv (Depends-on): Likewise.
6389         * modules/recvfrom (Depends-on): Likewise.
6390         * modules/regex (Depends-on): Likewise.
6391         * modules/remove (Depends-on): Likewise.
6392         * modules/rename (Depends-on): Likewise.
6393         * modules/renameat (Depends-on): Likewise.
6394         * modules/rmdir (Depends-on): Likewise.
6395         * modules/round (Depends-on): Likewise.
6396         * modules/roundf (Depends-on): Likewise.
6397         * modules/roundl (Depends-on): Likewise.
6398         * modules/rpmatch (Depends-on): Likewise.
6399         * modules/select (Depends-on): Likewise.
6400         * modules/send (Depends-on): Likewise.
6401         * modules/sendto (Depends-on): Likewise.
6402         * modules/setenv (Depends-on): Likewise.
6403         * modules/setlocale (Depends-on): Likewise.
6404         * modules/setsockopt (Depends-on): Likewise.
6405         * modules/shutdown (Depends-on): Likewise.
6406         * modules/sigaction (Depends-on): Likewise.
6407         * modules/signbit (Depends-on): Likewise.
6408         * modules/sigprocmask (Depends-on): Likewise.
6409         * modules/sinl (Depends-on): Likewise.
6410         * modules/sleep (Depends-on): Likewise.
6411         * modules/snprintf (Depends-on): Likewise.
6412         * modules/snprintf-posix (Depends-on): Likewise.
6413         * modules/socket (Depends-on): Likewise.
6414         * modules/sprintf-posix (Depends-on): Likewise.
6415         * modules/sqrtl (Depends-on): Likewise.
6416         * modules/stat (Depends-on): Likewise.
6417         * modules/strchrnul (Depends-on): Likewise.
6418         * modules/strdup-posix (Depends-on): Likewise.
6419         * modules/strerror (Depends-on): Likewise.
6420         * modules/strerror_r-posix (Depends-on): Likewise.
6421         * modules/strndup (Depends-on): Likewise.
6422         * modules/strnlen (Depends-on): Likewise.
6423         * modules/strptime (Depends-on): Likewise.
6424         * modules/strsep (Depends-on): Likewise.
6425         * modules/strsignal (Depends-on): Likewise.
6426         * modules/strstr-simple (Depends-on): Likewise.
6427         * modules/strtod (Depends-on): Likewise.
6428         * modules/strtoimax (Depends-on): Likewise.
6429         * modules/strtok_r (Depends-on): Likewise.
6430         * modules/strtoumax (Depends-on): Likewise.
6431         * modules/symlink (Depends-on): Likewise.
6432         * modules/symlinkat (Depends-on): Likewise.
6433         * modules/tanl (Depends-on): Likewise.
6434         * modules/tcgetsid (Depends-on): Likewise.
6435         * modules/tmpfile (Depends-on): Likewise.
6436         * modules/trunc (Depends-on): Likewise.
6437         * modules/truncf (Depends-on): Likewise.
6438         * modules/truncl (Depends-on): Likewise.
6439         * modules/uname (Depends-on): Likewise.
6440         * modules/unlink (Depends-on): Likewise.
6441         * modules/unlockpt (Depends-on): Likewise.
6442         * modules/unsetenv (Depends-on): Likewise.
6443         * modules/usleep (Depends-on): Likewise.
6444         * modules/utimensat (Depends-on): Likewise.
6445         * modules/vasprintf (Depends-on): Likewise.
6446         * modules/vdprintf (Depends-on): Likewise.
6447         * modules/vdprintf-posix (Depends-on): Likewise.
6448         * modules/vfprintf-posix (Depends-on): Likewise.
6449         * modules/vprintf-posix (Depends-on): Likewise.
6450         * modules/vsnprintf (Depends-on): Likewise.
6451         * modules/vsnprintf-posix (Depends-on): Likewise.
6452         * modules/vsprintf-posix (Depends-on): Likewise.
6453         * modules/wcrtomb (Depends-on): Likewise.
6454         * modules/wcscasecmp (Depends-on): Likewise.
6455         * modules/wcscspn (Depends-on): Likewise.
6456         * modules/wcsdup (Depends-on): Likewise.
6457         * modules/wcsncasecmp (Depends-on): Likewise.
6458         * modules/wcsnrtombs (Depends-on): Likewise.
6459         * modules/wcspbrk (Depends-on): Likewise.
6460         * modules/wcsrtombs (Depends-on): Likewise.
6461         * modules/wcsspn (Depends-on): Likewise.
6462         * modules/wcsstr (Depends-on): Likewise.
6463         * modules/wcstok (Depends-on): Likewise.
6464         * modules/wcswidth (Depends-on): Likewise.
6465         * modules/wctob (Depends-on): Likewise.
6466         * modules/wctomb (Depends-on): Likewise.
6467         * modules/wctype (Depends-on): Likewise.
6468         * modules/wcwidth (Depends-on): Likewise.
6469         * modules/write (Depends-on): Likewise.
6470
6471 2011-05-03  Bruno Haible  <bruno@clisp.org>
6472
6473         Support for conditional dependencies.
6474         * doc/gnulib.texi (Module description): Document the syntax of
6475         conditional dependencies.
6476         * gnulib-tool: New option --conditional-dependencies.
6477         (func_usage): Document it.
6478         (cond_dependencies): New variable.
6479         (func_get_automake_snippet_conditional,
6480         func_get_automake_snippet_unconditional): New functions, extracted from
6481         func_get_automake_snippet.
6482         (func_get_automake_snippet): Use them.
6483         (sed_first_32_chars): New variable.
6484         (func_module_shellfunc_name): New function.
6485         (func_module_shellvar_name): New function.
6486         (func_module_conditional_name): New function.
6487         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
6488         func_cond_module_condition): New functions.
6489         (func_modules_transitive_closure): Add support for conditional
6490         dependencies.
6491         (func_emit_lib_Makefile_am): For a conditional module, enclose the
6492         conditional automake snippet in an automake conditional.
6493         (func_emit_autoconf_snippets): Emit shell functions that contain the
6494         code for conditional modules.
6495         (func_import, func_create_testdir): Update specification.
6496
6497 2011-05-03  Eric Blake  <eblake@redhat.com>
6498
6499         test-getaddrinfo: report error information
6500         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
6501
6502 2011-05-03  Jim Meyering  <meyering@redhat.com>
6503
6504         bootstrap: avoid build failure when $GZIP is set
6505         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
6506         program name.  If defined at all, it is supposed to list gzip options.
6507         Reported by Alan Curry in http://debbugs.gnu.org/8609
6508
6509 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
6510
6511         readme-release: new module with release instructions
6512         * modules/readme-release: New module.
6513         * top/README-release: New file, from coreutils, grep, diffutils.
6514         * MODULES.html.sh (Support for maintaining and releasing): Add it.
6515
6516 2011-05-02  Eric Blake  <eblake@redhat.com>
6517
6518         fflush: also replace fclose when fixing fflush
6519         * modules/fflush (Depends-on): Add fclose.
6520         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
6521         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
6522         memstreams with no backing fd.
6523         * doc/posix-functions/fclose.texi (fclose): Document the use of
6524         fflush module to fix the bug.
6525         * tests/test-fclose.c (main): Relax test when fclose is used in
6526         isolation.
6527
6528         fclose: add some tests
6529         * modules/fclose-tests: New test module.
6530         * tests/test-fclose.c: New file.
6531         * doc/posix-functions/fclose.texi (fclose): Document the bug.
6532
6533         fclose: reduced dependencies
6534         * modules/fclose (Depends-on): Switch from fflush/fseeko to
6535         simpler lseek.
6536         * lib/fclose.c (rpl_fclose): Likewise.
6537         Reported by Simon Josefsson.
6538
6539         exit: drop remaining clients
6540         * modules/argmatch (Depends-on): Replace exit with stdlib.
6541         * modules/copy-file (Depends-on): Likewise.
6542         * modules/execute (Depends-on): Likewise.
6543         * modules/exitfail (Depends-on): Likewise.
6544         * modules/obstack (Depends-on): Likewise.
6545         * modules/pagealign_alloc (Depends-on): Likewise.
6546         * modules/pipe-filter-gi (Depends-on): Likewise.
6547         * modules/pipe-filter-ii (Depends-on): Likewise.
6548         * modules/savewd (Depends-on): Likewise.
6549         * modules/spawn-pipe (Depends-on): Likewise.
6550         * modules/wait-process (Depends-on): Likewise.
6551         * modules/xsetenv (Depends-on): Likewise.
6552         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
6553         * modules/git-merge-changelog (Depends-on): Likewise.
6554         * modules/long-options (Depends-on): Likewise.
6555         * modules/pt_chown (Depends-on): Likewise.
6556         * modules/sysexits (Depends-on): Likewise.
6557
6558         freading: relax license from LGPLv3+ to LGPLv2+
6559         * modules/freading (License): Relax LGPL version.
6560
6561 2011-05-02  Bruno Haible  <bruno@clisp.org>
6562
6563         fchdir: Remove unused dependencies.
6564         * modules/fchdir (Depends-on): Remove include_next.
6565
6566 2011-05-02  Bruno Haible  <bruno@clisp.org>
6567
6568         gnulib-tool: Refactor.
6569         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
6570         from func_emit_autoconf_snippets.
6571         (func_emit_autoconf_snippets): Use it.
6572
6573 2011-05-02  Simon Josefsson  <simon@josefsson.org>
6574
6575         * NEWS: Document removal of 'exit'.
6576         * modules/exit: Remove file.
6577
6578 2011-05-01  Bruno Haible  <bruno@clisp.org>
6579
6580         Update DEPENDENCIES.
6581         * DEPENDENCIES (gettext): Recommend the newest release.
6582         Reported by Simon Josefsson.
6583
6584 2011-05-01  Bruno Haible  <bruno@clisp.org>
6585
6586         gnulib-tool: Reduce code duplication.
6587         * gnulib-tool (func_emit_autoconf_snippets): New function.
6588         (func_import, func_create_testdir): Use it.
6589
6590 2011-04-30  Eric Blake  <eblake@redhat.com>
6591
6592         fclose: don't fail on non-seekable input stream
6593         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
6594         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
6595         since fflush is allowed to fail in that case.
6596
6597 2011-04-30  Bruno Haible  <bruno@clisp.org>
6598
6599         dup3: cleanup
6600         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
6601
6602 2011-04-30  Bruno Haible  <bruno@clisp.org>
6603
6604         netdb: Make it work in C++ mode.
6605         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
6606         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
6607         module.
6608         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
6609         gl_MODULE_INDICATOR_FOR_TESTS.
6610         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
6611         * modules/netdb-c++-tests: New file.
6612         * tests/test-netdb-c++.cc: New file.
6613
6614 2011-04-30  Bruno Haible  <bruno@clisp.org>
6615
6616         New modules 'vfscanf', 'vscanf'.
6617         * modules/vfscanf: New file.
6618         * modules/vscanf: New file.
6619         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
6620         here.
6621         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
6622         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
6623
6624 2011-04-30  Bruno Haible  <bruno@clisp.org>
6625
6626         passfd: Add comments.
6627         * lib/passfd.c: Add comments about platforms.
6628
6629 2011-04-30  Bruno Haible  <bruno@clisp.org>
6630
6631         sys_uio: Make <sys/uio.h> self-contained.
6632         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
6633         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
6634
6635 2011-04-30  Bruno Haible  <bruno@clisp.org>
6636
6637         sys_socket: Ensure 'struct iovec' definition.
6638         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
6639         <sys/socket.h>.
6640         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
6641
6642 2011-04-30  Bruno Haible  <bruno@clisp.org>
6643
6644         sys_uio: Protect definition of 'struct iovec'.
6645         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
6646         it as a C struct.
6647
6648 2011-04-30  Bruno Haible  <bruno@clisp.org>
6649
6650         manywarnings: fix indentation
6651         * m4/manywarnings.m4: Indent by 2 spaces consistently.
6652
6653 2011-04-30  PĂ¡draig Brady <P@draigBrady.com>
6654
6655         manywarnings: add -Wno-missing-field-initializers if needed.
6656         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
6657         option if it's needed to allow initialization with { 0, }
6658
6659 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
6660
6661         announce-gen: cosmetic improvement
6662         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
6663
6664 2011-04-29  Jim Meyering  <meyering@redhat.com>
6665
6666         vc-list-files: indent with spaces, not TABs
6667         * build-aux/vc-list-files: Convert leading TABs to spaces,
6668         to match the style of most other files in gnulib.
6669
6670         announce-gen: indent with spaces, not TABs
6671         * build-aux/announce-gen: Convert all TABs to spaces, to match
6672         the style of most other files in gnulib.
6673
6674 2011-04-29  Eric Blake  <eblake@redhat.com>
6675
6676         quotearg: avoid uninitialized variable use
6677         * lib/quotearg.c (quoting_options_from_style): Initialize
6678         remaining fields, and ensure that custom styles are only used via
6679         quoting_options rather than quoting_style.
6680
6681 2011-04-29  Jim Meyering  <meyering@redhat.com>
6682
6683         maint.mk: remove unused VC-tag variable
6684         * top/maint.mk (VC-tag): Remove unused variable.
6685
6686 2011-04-29  Bruno Haible  <bruno@clisp.org>
6687
6688         netdb: fix gai_strerror replacements
6689         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
6690         * modules/netdb: Substitute it.
6691
6692 2011-04-29  Jim Meyering  <meyering@redhat.com>
6693
6694         test-getcwd.c: avoid new set-but-not-used warning
6695         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
6696         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
6697         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
6698         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
6699
6700         test-hash.c: avoid a new shadowing warning
6701         * tests/test-hash.c (main): Don't shadow "dup".
6702
6703 2011-04-28  Eric Blake  <eblake@redhat.com>
6704
6705         getaddrinfo: fix gai_strerror signature
6706         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
6707         and work around mingw with UNICODE defined.
6708         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
6709         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
6710         * modules/netdb (Makefile.am): Substitute it.
6711         * lib/netdb.in.h (gai_strerror): Declare replacement.
6712         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
6713         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
6714         the fix.
6715
6716         getsockopt: avoid compiler warning
6717         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
6718         Reported by Matthias Bolte.
6719
6720         tests: drop unused link dependency
6721         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
6722         * modules/dirent-safer-tests (Makefile.am): Likewise.
6723         * modules/fdopendir-tests (Makefile.am): Likewise.
6724         * modules/mkfifoat-tests (Makefile.am): Likewise.
6725         * modules/openat-safer-tests (Makefile.am): Likewise.
6726         * modules/openat-tests (Makefile.am): Likewise.
6727         * modules/readlinkat-tests (Makefile.am): Likewise.
6728         * modules/symlinkat-tests (Makefile.am): Likewise.
6729         * modules/linkat-tests (Makefile.am): Likewise.
6730         (Depends-on): Switch to filenamecat-lgpl.
6731         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
6732         LIBINTL.
6733         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
6734         * tests/test-linkat.c (main): Don't require xalloc.
6735
6736         hash, mgetgroups: drop xalloc dependency
6737         * lib/hash.c (includes): Adjust includes.
6738         * lib/mgetgroups.c (includes): Likewise.
6739         (xgetgroups): Move...
6740         * lib/xgetgroups.c: ...to new file.
6741         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
6742         * modules/xgetgroups: New file, split from...
6743         * modules/mgetgroups: ...here.
6744         (Depends-on): Add xalloc-oversized.
6745         * modules/hash (Depends-on): Likewise.
6746         * modules/hash-tests (Depends-on): Drop xalloc.
6747         (test_hash_LDADD): Drop unused library.
6748         * tests/test-hash.c (main): Break xalloc dependency.
6749         (includes): Drop unused include.
6750
6751         xalloc-oversized: new module
6752         * modules/xalloc-oversized: New module.
6753         * modules/xalloc (Depends-on): Add it.
6754         * lib/xalloc.h (xalloc_oversized): Move...
6755         * lib/xalloc-oversized.h: ...into new file.
6756
6757         utimecmp: drop dependency on xmalloc
6758         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
6759         due to memory pressure.
6760         * modules/utimecmp (Depends-on): Drop xalloc.
6761
6762 2011-04-27  Eric Blake  <eblake@redhat.com>
6763
6764         getcwd: fix mingw bugs
6765         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
6766         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
6767         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
6768
6769 2011-04-27  Bruno Haible  <bruno@clisp.org>
6770
6771         mkstemps: Ensure declaration on MacOS X 10.5.
6772         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
6773         * doc/glibc-functions/mkstemps.texi: Document header file problem on
6774         MacOS X.
6775
6776 2011-04-27  Bruno Haible  <bruno@clisp.org>
6777
6778         mkstemp: More documentation.
6779         * doc/posix-functions/mkstemp.texi: Document header file problem on
6780         MacOS X.
6781
6782 2011-04-27  Bruno Haible  <bruno@clisp.org>
6783
6784         mkstemp: Tweak configure message when cross-compiling.
6785         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
6786         result as a guess.
6787
6788 2011-04-27  Bruno Haible  <bruno@clisp.org>
6789
6790         clean-temp: Clarify what it does.
6791         * lib/clean-temp.h: Add more comments.
6792         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
6793         module.
6794         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
6795         * doc/glibc-functions/mkstemps.texi: Likewise.
6796         * doc/glibc-functions/mkostemps.texi: Likewise.
6797
6798 2011-04-27  Eric Blake  <eblake@redhat.com>
6799
6800         fchdir: avoid extra chdir and fix test
6801         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
6802         getcwd-lgpl.
6803         * lib/fchdir.c (get_name): Any absolute name will do; it does not
6804         have to be canonical.
6805         (canonicalize_file_name): Drop unused macro.
6806         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
6807
6808         filenamecat-lgpl: fix licence
6809         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
6810         when it was first created.
6811
6812         linkat, renameat: add missing dependency
6813         * modules/linkat (Depends-on): Require getcwd-lgpl.
6814         * modules/renameat (Depends-on): Likewise.
6815
6816         tests: reduce dependencies
6817         * tests/test-linkat.c (main): Use lighter-weight getcwd.
6818         * tests/test-renameat.c (main): Likewise.
6819         * modules/linkat-tests (Depends-on): Relax dependency.
6820         * modules/renameat-tests (Depends-on): Likewise.
6821         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
6822         dependency explicit.
6823
6824         save-cwd: reduce default dependency
6825         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
6826         * lib/save-cwd.c: Update comments.
6827         * NEWS: Document the semantic change.
6828
6829         getcwd: enhance tests
6830         * tests/test-getcwd-lgpl.c: New file, taken from...
6831         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
6832         repeat long path stress tests from m4 probe.
6833         * modules/getcwd-lgpl-tests: New module.
6834         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
6835         * m4/getcwd-abort-bug.m4: Update comment.
6836         * m4/getcwd-path-max.m4: Likewise.
6837
6838         getcwd-lgpl: new module
6839         * modules/getcwd-lgpl: New module.
6840         * lib/getcwd-lgpl.c: New file.
6841         * doc/posix-functions/getcwd.texi (getcwd): Document it.
6842         * MODULES.html.sh (lacking POSIX:2008): Likewise.
6843         * modules/getcwd (configure.ac): Set C witness.
6844         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
6845
6846         getcwd: tweak comments
6847         * m4/getcwd-abort-bug.m4: Fix comments.
6848         * m4/getcwd-path-max.m4: Likewise.
6849         * m4/getcwd.m4: Likewise.
6850
6851 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
6852         and Eric Blake  <eblake@redhat.com>
6853
6854         mkstemp: replace if system version uses wrong permissions
6855         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
6856         read/write mode bits set in file created by mkstemp.
6857         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
6858
6859 2011-04-27  Eric Blake  <eblake@redhat.com>
6860
6861         passfd: avoid compiler warning
6862         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
6863         Reported by Laine Stump.
6864
6865 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
6866
6867         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
6868         required by the NetBSD (and perhaps other 4.4BSD derived) join.
6869
6870 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
6871         and Eric Blake  <eblake@redhat.com>
6872
6873         mkstemp: mention clean-temp module
6874         * lib/mkstemp.c: Add comment.
6875         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
6876
6877 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
6878
6879         inttypes: also provide default values for 32-bit tests
6880         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
6881         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
6882
6883 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6884
6885         strtoumax: remove dependency on strtoimax
6886         This is like the strtoull change of yesterday.
6887         * modules/strtoumax (Files): Add lib/strtoimax.c.
6888         (Depends-on): Remove strtoimax and add verify.
6889
6890         inttypes-incomplete: new module
6891         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
6892         all but the PRI* and SCN* parts of gl_INTTYPES_H.
6893         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
6894         of gl_INTTYPES_H.
6895         (gl_INTTYPES_H): Rewrite in terms of these new macros.
6896         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
6897         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
6898         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
6899         * modules/strtoumax, modules/xstrtol (Depends-on):
6900         Depend on inttypes-incomplete, not inttypes.
6901         * modules/inttypes-incomplete: New module, containing the contents
6902         of the old modules/inttypes module, except that the Files: section
6903         omits m4/inttypes-pri.m4, and the configure.ac section invokes
6904         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
6905         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
6906         (Depends-on): Depend only on inttypes-incomplete.
6907         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
6908
6909         inttypes: omit now-redundant strtoimax and strtoumax work
6910         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
6911         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
6912
6913         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
6914         This supports apps that need pointers to strtoimax and strtoumax,
6915         and ports to HP-UX 11.00 64.bit, which has macros that expand to
6916         nonexistent functions.  See
6917         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
6918         et seq.
6919         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
6920         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
6921         a macro.
6922         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
6923
6924 2011-04-25  Simon Josefsson  <simon@josefsson.org>
6925
6926         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
6927
6928 2011-04-25  Bruno Haible  <bruno@clisp.org>
6929
6930         strtol, strtoul: Mark modules as obsolete.
6931         * modules/strtol (Status, Notice): New sections.
6932         * modules/strtoul (Status, Notice): New sections.
6933
6934 2011-04-25  Bruno Haible  <bruno@clisp.org>
6935
6936         strtod: Remove check for strtod, unless supporting old platforms.
6937         * modules/strtod-obsolete: New file.
6938         * m4/strtod-obsolete.m4: New file.
6939         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
6940         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
6941         * modules/strtod (Depends-on): Add strtod-obsolete.
6942         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
6943
6944 2011-04-25  Bruno Haible  <bruno@clisp.org>
6945
6946         strcase: Make module obsolete.
6947         * modules/strcase (Status, Notice): New sections.
6948
6949 2011-04-25  Bruno Haible  <bruno@clisp.org>
6950
6951         dup2: Remove check for dup2, unless supporting old obsolete platforms.
6952         * modules/dup2-obsolete: New file.
6953         * m4/dup2-obsolete.m4: New file.
6954         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
6955         gl_FUNC_DUP2_OBSOLETE is not also defined.
6956         * modules/dup2 (Depends-on): Add dup2-obsolete.
6957         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
6958
6959 2011-04-25  Bruno Haible  <bruno@clisp.org>
6960
6961         strnlen: Avoid memchr related link error on old obsolete platforms.
6962         * modules/memchr-obsolete: New file.
6963         * m4/memchr-obsolete.m4: New file.
6964         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
6965         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
6966         * modules/memchr (Depends-on): Add memchr-obsolete.
6967         * modules/strnlen (Depends-on): Likewise.
6968         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
6969
6970 2011-04-25  Jim Meyering  <meyering@redhat.com>
6971
6972         maint.mk: makefile_at_at_check extend and clean up
6973         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
6974         in addition to */Makefile.am.
6975         Exempt legitimate uses of @VAR@ notation, e.g.,
6976         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
6977         Remove obsolete coreutils-specific comment.
6978         Prompted by discussion here:
6979         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
6980
6981 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6982
6983         strtoul: remove dependency on strtol
6984         This is so that 'configure' need not check for strtol merely because
6985         the application needs strtoul.
6986         * modules/strtoul (Files): Add lib/strtol.c.
6987         (Depends-on): Remove strtol.
6988
6989         strtoull: remove dependency on strtoul
6990         This is like the strtoll change.
6991         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
6992         (Depends-on): Remove strtoul.
6993
6994         strtoll: remove dependency on strtol
6995         This is so that 'configure' need not check for strtol merely because
6996         the application needs strtoll.
6997         * modules/strtoll (Files): Add lib/strtol.c.
6998         (Depends-on): Remove strtol.
6999
7000 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7001
7002         inttypes: Move some configure check to module 'imaxdiv'.
7003         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
7004         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
7005         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
7006
7007 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7008
7009         inttypes: Move some configure check to module 'imaxabs'.
7010         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
7011         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
7012         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
7013
7014 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7015
7016         inttypes: Remove configure tests that are not needed since 2009-12-31.
7017         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
7018         gl_cv_header_working_inttypes_h.
7019
7020 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7021
7022         * modules/strnlen (Depends-on): Remove memchr.
7023         The strnlen implementation doesn't need the memchr module's fixes; see
7024         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
7025
7026         strtol: remove dependency on wchar
7027         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
7028         * modules/strtol (Depends-on): Remove wchar.
7029
7030 2011-04-21  Eric Blake  <eblake@redhat.com>
7031
7032         passfd: fix test regression on Linux
7033         * modules/passfd-tests (configure.ac): Correct socketpair check.
7034
7035         passfd: speed up configure and drop unused code
7036         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
7037         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
7038         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
7039         Instead of probing at configure for unix_scm_rights_bsd44_way,
7040         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
7041         check to a struct member probe.
7042         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
7043         (sendfd, recvfd): Update preprocessor checks.
7044         * modules/passfd (Files): Reflect rename, and drop unused file.
7045         (Depends-on): Drop unused dependency.
7046
7047         passfd: allow compilation on mingw
7048         * modules/sys_socket (Depends-on): Add sys_uio.
7049         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
7050         iovec and a minimal struct msghdr.
7051         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
7052         * tests/test-sys_socket.c (main): Enhance test.
7053         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
7054         guaranteed to provide what we need.
7055         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
7056         * modules/passfd-tests (Depends-on): Add sys_wait.
7057         * tests/test-passfd.c (main): Skip test on mingw, for now.
7058         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
7059         partial 'struct msghdr' implementation.
7060
7061         sys_uio: new module
7062         * modules/sys_uio: New module.
7063         * modules/sys_uio-tests: Likewise.
7064         * lib/sys_uio.in.h: New file.
7065         * m4/sys_uio_h.m4: Likewise.
7066         * tests/test-sys_uio.c: Likewise.
7067         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
7068         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
7069
7070 2011-04-20  Jim Meyering  <meyering@redhat.com>
7071
7072         useless-if-before-free: avoid false-positive
7073         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
7074         disjunct so that it too requires a terminating ";".  Without that,
7075         this script would identify as useless one statement from gcc that
7076         was not:
7077           if (aligned_ptr)
7078             free (((void **) aligned_ptr) [-1]);
7079
7080 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
7081
7082         doc: update users.txt.
7083         * users.txt: Add barcode.
7084
7085 2011-04-19  Bruno Haible  <bruno@clisp.org>
7086
7087         ioctl: Remove link dependency on native Windows.
7088         * lib/fd-hook.h: Renamed from lib/close-hook.h.
7089         (gl_close_fn, gl_ioctl_fn): New types.
7090         (struct fd_hook): Renamed from struct close_hook. Change type of
7091         private_close_fn field. Add private_ioctl_fn field.
7092         (close_hook_fn): Add parameter for primary close method.
7093         (execute_close_hooks, execute_all_close_hooks): Likewise.
7094         (ioctl_hook_fn): New type.
7095         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
7096         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
7097         argument.
7098         (unregister_fd_hook): Renamed from unregister_close_hook.
7099         * lib/fd-hook.c: Renamed from lib/close-hook.c.
7100         Don't include <unistd.h>.
7101         (close): Remove undef.
7102         (anchor): Update.
7103         (execute_close_hooks): Add argument for primary close method.
7104         (execute_all_close_hooks): Likewise.
7105         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
7106         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
7107         argument. Allow each argument to be NULL.
7108         (unregister_fd_hook): Renamed from unregister_close_hook.
7109         * lib/close.c (rpl_close): Pass 'close' function pointer to
7110         execute_all_close_hooks.
7111         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
7112         (primary_ioctl): New function.
7113         (ioctl): Don't call ioctlsocket here. Instead, call
7114         execute_all_ioctl_hooks.
7115         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
7116         close method.
7117         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
7118         (fd_sockets_hook): Renamed from close_sockets_hook.
7119         (gl_sockets_startup, gl_sockets_cleanup): Update.
7120         * modules/fd-hook: Renamed from modules/close-hook. Update.
7121         * modules/close (Depends-on): Add fd-hook, remove close-hook.
7122         * modules/sockets (Depends-on): Likewise.
7123         * modules/ioctl (Depends-on): Add fd-hook.
7124         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
7125         GNULIB_SOCKET.
7126
7127 2011-04-19  Bruno Haible  <bruno@clisp.org>
7128
7129         Move the support of O_NONBLOCK in open() to the 'open' module.
7130         * modules/nonblocking (Depends-on): Remove 'open'.
7131         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
7132         gl_cv_have_open_O_NONBLOCK.
7133         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
7134         O_NONBLOCK support.
7135         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
7136
7137 2011-04-17  Bruno Haible  <bruno@clisp.org>
7138
7139         pipe2: Simplify code.
7140         * lib/pipe2.c (pipe2): Reduce code duplication.
7141
7142 2011-04-17  Bruno Haible  <bruno@clisp.org>
7143
7144         nonblocking: Add comment.
7145         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
7146
7147 2011-04-17  Bruno Haible  <bruno@clisp.org>
7148
7149         nonblocking: Add tests for sockets.
7150         * tests/test-nonblocking-socket.sh: New file.
7151         * tests/test-nonblocking-socket-main.c: New file.
7152         * tests/test-nonblocking-socket-child.c: New file.
7153         * tests/test-nonblocking-socket.h: New file.
7154         * tests/socket-server.h: New file.
7155         * tests/socket-client.h: New file.
7156         * modules/nonblocking-socket-tests: New file.
7157         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
7158
7159 2011-04-17  Bruno Haible  <bruno@clisp.org>
7160
7161         nonblocking: Add tests for pipes.
7162         * tests/test-nonblocking-pipe.sh: New file.
7163         * tests/test-nonblocking-pipe-main.c: New file.
7164         * tests/test-nonblocking-pipe-child.c: New file.
7165         * tests/test-nonblocking-pipe.h: New file.
7166         * tests/test-nonblocking-writer.h: New file.
7167         * tests/test-nonblocking-reader.h: New file.
7168         * tests/test-nonblocking-misc.h: New file.
7169         * modules/nonblocking-pipe-tests: New file.
7170         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
7171
7172 2011-04-16  Bruno Haible  <bruno@clisp.org>
7173
7174         gettext: Clarify the needed programmer actions.
7175         * modules/gettext (Notice): New field.
7176         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
7177
7178 2011-04-16  Bruno Haible  <bruno@clisp.org>
7179
7180         strchrnul: Tweak last commit.
7181         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
7182         bug.
7183         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
7184         as in _GL_FUNCDECL_SYS.
7185         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
7186         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
7187
7188 2011-04-15  Eric Blake  <eblake@redhat.com>
7189
7190         strchrnul: work around cygwin bug
7191         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
7192         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
7193         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
7194         * modules/string (Makefile.am): Substitute it.
7195         * lib/string.in.h (strchrnul): Use it.
7196
7197 2011-04-15  Bruno Haible  <bruno@clisp.org>
7198
7199         Don't require lib/stdio-write.c when only module 'stdio' is used.
7200         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
7201         invocation.
7202         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
7203
7204 2011-04-14  Bruno Haible  <bruno@clisp.org>
7205
7206         Support non-blocking pipe I/O in read() on native Windows.
7207         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
7208         (read): New declaration.
7209         * lib/read.c: New file.
7210         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
7211         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
7212         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
7213         vscanf): New declarations.
7214         * lib/stdio-read.c: New file.
7215         * m4/read.m4: New file.
7216         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
7217         REPLACE_READ.
7218         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
7219         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
7220         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
7221         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
7222         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
7223         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
7224         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
7225         * modules/read: New file.
7226         * modules/nonblocking (Files): Add lib/stdio-read.c.
7227         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
7228         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
7229         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
7230         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
7231         * modules/pread (Depends-on): Add read.
7232         * modules/safe-read (Depends-on): Likewise.
7233         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
7234         gets, scanf, vfscanf, vscanf): Verify signatures.
7235         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
7236         problem with non-blocking pipes.
7237         * doc/posix-functions/fgetc.texi: Likewise.
7238         * doc/posix-functions/fgets.texi: Likewise.
7239         * doc/posix-functions/fread.texi: Likewise.
7240         * doc/posix-functions/fscanf.texi: Likewise.
7241         * doc/posix-functions/getc.texi: Likewise.
7242         * doc/posix-functions/getchar.texi: Likewise.
7243         * doc/posix-functions/gets.texi: Likewise.
7244         * doc/posix-functions/scanf.texi: Likewise.
7245         * doc/posix-functions/vfscanf.texi: Likewise.
7246         * doc/posix-functions/vscanf.texi: Likewise.
7247
7248 2011-04-14  Bruno Haible  <bruno@clisp.org>
7249
7250         Support non-blocking pipe I/O in write() on native Windows.
7251         * lib/write.c (rpl_write): Split a write request that failed merely
7252         because the byte count was larger than the pipe buffer's size.
7253         * doc/posix-functions/write.texi: Mention the problem with large byte
7254         counts.
7255
7256 2011-04-14  Bruno Haible  <bruno@clisp.org>
7257
7258         wchar: Ensure that wchar_t gets defined on uClibc.
7259         * lib/wchar.in.h: On uClibc, include <stddef.h>.
7260         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
7261
7262 2011-04-13  Bruno Haible  <bruno@clisp.org>
7263
7264         safe-write, full-read: Avoid unnecessary compilation units.
7265         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
7266         (Depends-on): Remove safe-read. Add ssize_t.
7267         * modules/full-read (Files): Add lib/full-write.c.
7268         (Depends-on): Add full-write.
7269
7270 2011-04-13  Bruno Haible  <bruno@clisp.org>
7271
7272         Support non-blocking pipe I/O and SIGPIPE in pwrite().
7273         * modules/pwrite (Depends-on): Add 'write'.
7274
7275 2011-04-13  Bruno Haible  <bruno@clisp.org>
7276
7277         Support non-blocking pipe I/O in write() on native Windows.
7278         * lib/unistd.in.h (write): Enable replacement also if
7279         GNULIB_UNISTD_H_NONBLOCKING is 1.
7280         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
7281         (rpl_write): When failing to write on a non-blocking pipe, change
7282         errno from ENOSPC to EAGAIN.
7283         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
7284         putchar, puts, vfprintf, vprintf): Enable replacement also if
7285         GNULIB_STDIO_H_NONBLOCKING is 1.
7286         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
7287         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
7288         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
7289         CALL_WITH_SIGPIPE_EMULATION.
7290         (CALL_WITH_SIGPIPE_EMULATION): Use them.
7291         * m4/nonblocking.m4: New file.
7292         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
7293         for non-blocking I/O support.
7294         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7295         GNULIB_UNISTD_H_NONBLOCKING.
7296         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
7297         required for non-blocking I/O support.
7298         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
7299         * modules/nonblocking (Files): Add m4/nonblocking.m4,
7300         lib/stdio-write.c, m4/asm-underscore.m4.
7301         (Depends-on): Add stdio, unistd.
7302         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
7303         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
7304         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
7305         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
7306         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
7307         problem with non-blocking pipes.
7308         * doc/posix-functions/fputc.texi: Likewise.
7309         * doc/posix-functions/fputs.texi: Likewise.
7310         * doc/posix-functions/fwrite.texi: Likewise.
7311         * doc/posix-functions/printf.texi: Likewise.
7312         * doc/posix-functions/putc.texi: Likewise.
7313         * doc/posix-functions/putchar.texi: Likewise.
7314         * doc/posix-functions/puts.texi: Likewise.
7315         * doc/posix-functions/vfprintf.texi: Likewise.
7316         * doc/posix-functions/vprintf.texi: Likewise.
7317         * doc/posix-functions/write.texi: Likewise.
7318
7319 2011-04-10  Jim Meyering  <meyering@redhat.com>
7320
7321         maint.mk: prohibit doubled words
7322         Detect them also when they're separated by a newline.
7323         There are 3 ways to customize it:
7324           - disable the test on a per file basis, as usual with rules using
7325             $(VC_LIST_EXCEPT)
7326           - replace the default doubled-word-selecting regexp (affects all files)
7327           - ignore a particular file-vs-doubled-word match
7328         I nearly used that last one to ignore the "is is" match in
7329         coreutils' NEWS file, since the text was "ls -is is ..."
7330         To do that, I would have added this line to cfg.mk:
7331           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
7332         but it would have ignored any "is is" match in NEWS.
7333         Low probability, but still...
7334         Instead, I changed the text, slightly:
7335           -  ls -is is now consistent with ls -lis in ignoring values returned
7336           +  "ls -is" is now consistent with ls -lis in ignoring values returned
7337         * top/maint.mk (prohibit_double_word_RE_): Provide default.
7338         (prohibit_doubled_word_): Define.
7339         (sc_prohibit_doubled_word): New rule.
7340         (sc_prohibit_the_the): Remove.  Subsumed by the above.
7341
7342 2011-04-10  Jim Meyering  <meyering@redhat.com>
7343
7344         maint: fix doubled-word typo in comment
7345         * m4/gethostname.m4: s/is is/it is/
7346         * m4/getdomainname.m4: Likewise.
7347
7348 2011-04-10  Jim Meyering  <meyering@redhat.com>
7349
7350         maint: remove doubled word: s/it it/it/
7351         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
7352
7353 2011-04-10  Jim Meyering  <meyering@redhat.com>
7354
7355         maint.mk: remove useless semicolon and backslash
7356         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
7357         semicolon and backslash.
7358
7359 2011-04-10  Bruno Haible  <bruno@clisp.org>
7360
7361         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
7362         * modules/stdint-tests (Depends-on): Add wchar.
7363
7364 2011-04-10  Jim Meyering  <meyering@redhat.com>
7365
7366         maint: remove doubled words in comments, e.g., s/a a/a/
7367         * lib/strptime.c (day_of_the_week): s/the the/the/
7368         * tests/test-chown.h (test_chown): s/a a/a/
7369
7370         test-chown.h: correct a cast
7371         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
7372         when the destination is a stat.st_gid.
7373
7374 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
7375
7376         getaddrinfo: Fix test for sa_len member.
7377         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
7378         include <sys/types.h> before <sys/socket.h>.
7379
7380 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7381
7382         maint: change "can not" to "cannot"
7383         * doc/posix-functions/iconv.texi (iconv): This one crossed line
7384         boundaries.
7385
7386 2011-04-09  Jim Meyering  <meyering@redhat.com>
7387
7388         maint: change "a a" to "a"
7389         * tests/test-lchown.h (test_lchown): s/a a/a/
7390
7391         maint.mk: prohibit \<the the\>
7392         * top/maint.mk (sc_prohibit_the_the): New rule.
7393
7394         maint: fix "the the" in comment
7395         * lib/count-one-bits.h: s/the the/the/
7396
7397         maint: change "can not" to "cannot"
7398         But do not change the occurrences in maintain.texi or in
7399         build-aux/po/Makefile.in.in, which I presume comes from gettext.
7400         * doc/gnulib-tool.texi: s/can not/cannot/
7401         * doc/posix-functions/accept.texi (accept): Likewise.
7402         * doc/posix-functions/socket.texi (socket): Likewise.
7403         * lib/mbrtowc.c: Likewise.
7404
7405         maint.mk: prohibit use of "can not"
7406         * top/maint.mk (sc_prohibit_can_not): New rule.
7407         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
7408
7409 2011-04-09  Bruno Haible  <bruno@clisp.org>
7410
7411         careadlinkat: Guard against misuse of careadlinkatcwd.
7412         * lib/careadlinkat.c: Include <stdlib.h>.
7413         (careadlinkatcwd): Check that the fd argument is as expected.
7414
7415 2011-04-09  Bruno Haible  <bruno@clisp.org>
7416
7417         careadlinkat: Use common coding style.
7418         * lib/careadlinkat.c: Move gnulib includes after system includes.
7419
7420 2011-04-09  Bruno Haible  <bruno@clisp.org>
7421
7422         careadlinkat: Clarify specification.
7423         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
7424         (careadlinkatcwd): Add comment.
7425         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
7426
7427 2011-04-09  Bruno Haible  <bruno@clisp.org>
7428
7429         areadlinkat: Avoid link error on many platforms.
7430         * modules/areadlinkat (Depends-on): Add areadlink.
7431
7432 2011-04-09  Bruno Haible  <bruno@clisp.org>
7433
7434         allocator, careadlinkat: Fix double-inclusion guard.
7435         * lib/allocator.h: Fix double-inclusion guard.
7436         * lib/careadlinkat.h: Likewise.
7437
7438 2011-04-09  Bruno Haible  <bruno@clisp.org>
7439
7440         relocatable-prog-wrapper: Update after module 'areadlink' changed.
7441         * lib/relocwrapper.c: Update dependencies hierarchy.
7442         * build-aux/install-reloc: Update list of files to be compiled.
7443         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
7444         lib/allocator.[hc].
7445
7446 2011-04-08  Eric Blake  <eblake@redhat.com>
7447
7448         strftime: silence gnulib-tool warning
7449         * modules/strftime-tests (Depends-on): Drop automatic dependency.
7450
7451 2011-04-08  Bruno Haible  <bruno@clisp.org>
7452
7453         verify: Fix syntax error with GCC 4.6 in C++ mode.
7454         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
7455         (HAVE_STATIC_ASSERT): New macro.
7456         (verify_true, verify): Use 'static_assert' if it is supported and
7457         '_Static_assert' is not supported.
7458
7459 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7460
7461         allocator: New module.
7462         * modules/allocator, lib/allocator.c: New files.
7463         * lib/allocator.h (stdlib_allocator): New decl.
7464         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
7465         Remove.  Do not include <stdlib.h>.
7466         (careadlinkat): Use stdlib_allocator instead of rolling our own.
7467         * modules/careadlinkat (Files): Remove lib/allocator.h.
7468         (Depends-on): Add allocator.
7469
7470         stdlib: let modules use system malloc, realloc
7471         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
7472         if !_GL_USE_STDLIB_ALLOC.
7473         (malloc, realloc): Limit this change to a smaller scope.
7474
7475         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
7476         (malloc, realloc): Don't #undef; no longer needed.
7477         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7478         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7479         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
7480         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7481         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7482         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7483         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7484         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
7485
7486         careadlinkat: rename members to avoid problem
7487         * lib/allocator.h (struct allocator): Rename members from
7488         malloc/realloc to allocate/reallocate, to avoid problems if malloc
7489         and realloc are #define'd.  Reported by Eric Blake in
7490         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
7491         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
7492
7493 2011-04-08  Eric Blake  <eblake@redhat.com>
7494
7495         nonblocking: reduce dependency
7496         * tests/test-nonblocking.c: Only test sockets when in use.
7497         * modules/nonblocking-tests (Depends-on): Drop socket.
7498         (Makefile.am): Link even if sockets are not present.
7499         * modules/pipe2-tests (Makefile.am): Likewise.
7500         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
7501
7502         pipe2: fix O_NONBLOCK support on mingw
7503         * modules/pipe2 (Depends-on): Add nonblocking.
7504         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
7505         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
7506         * tests/test-nonblocking.c (main): Likewise.
7507         * modules/pipe2-tests (Makefile.am): Avoid link failure.
7508
7509         fcntl-h: fix O_ACCMODE on cygwin
7510         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
7511         * lib/fcntl.in.h (O_ACCMODE): Fix it.
7512
7513         pipe-filter: drop O_NONBLOCK workarounds
7514         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
7515         * modules/pipe-filter-ii (Depends-on): Likewise.
7516         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
7517
7518         nonblocking: provide O_NONBLOCK for mingw
7519         * modules/nonblocking (Depends-on): Add open.
7520         (configure.ac): Set new witness macro.
7521         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
7522         * modules/fcntl-h (Makefile.am): Substitute it.
7523         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
7524         nonblocking module is in use.
7525         * lib/nonblocking.c: Adjust portability test.
7526         * lib/open.c (open): Don't let native open see gnulib flag.
7527         * tests/test-fcntl-h.c (main): Enhance test.
7528         * tests/test-open.h (test_open): Likewise.
7529         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
7530
7531         careadlinkat: fix compilation error on mingw
7532         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
7533         within struct allocator.
7534
7535 2011-04-06  Eric Blake  <eblake@redhat.com>
7536
7537         binary-io: relicense under LGPLv2+
7538         * modules/binary-io (License): Relax to LGPLv2+.
7539         Requested for libvirt, and required by pipe2.
7540
7541 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
7542
7543         verify: use _Static_assert if available
7544         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
7545         (verify_true, verify): Use it if available.  This generates better
7546         diagnostics with GCC 4.6.0 and later.
7547
7548 2011-04-05  Bruno Haible  <bruno@clisp.org>
7549
7550         Remove leftover generated .h files after config.status changed.
7551
7552         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
7553         GL_GENERATE_ALLOCA_H.
7554         * modules/alloca-opt (Makefile.am): Remove alloca.h if
7555         GL_GENERATE_ALLOCA_H evaluates to false.
7556
7557         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
7558         GL_GENERATE_ARGZ_H.
7559         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
7560         evaluates to false.
7561
7562         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
7563         GL_GENERATE_BYTESWAP_H.
7564         * modules/byteswap (Makefile.am): Remove byteswap.h if
7565         GL_GENERATE_BYTESWAP_H evaluates to false.
7566
7567         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
7568         GL_GENERATE_ERRNO_H.
7569         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
7570         evaluates to false.
7571
7572         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
7573         GL_GENERATE_FLOAT_H.
7574         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
7575         evaluates to false.
7576
7577         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
7578         GL_GENERATE_FNMATCH_H.
7579         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
7580         GL_GENERATE_FNMATCH_H evaluates to false.
7581
7582         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
7583         GL_GENERATE_GLOB_H.
7584         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
7585         evaluates to false.
7586
7587         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
7588         automake conditional GL_GENERATE_ICONV_H.
7589         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
7590         evaluates to false.
7591
7592         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
7593         GL_GENERATE_NETINET_IN_H.
7594         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
7595         GL_GENERATE_NETINET_IN_H evaluates to false.
7596
7597         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
7598         conditional GL_GENERATE_PTHREAD_H.
7599         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
7600         * modules/pthread (Makefile.am): Remove pthread.h if
7601         GL_GENERATE_PTHREAD_H evaluates to false.
7602
7603         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
7604         GL_GENERATE_SCHED_H.
7605         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
7606         evaluates to false.
7607
7608         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
7609         conditional GL_GENERATE_SELINUX_CONTEXT_H.
7610         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
7611         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
7612
7613         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
7614         GL_GENERATE_STDARG_H.
7615         * modules/stdarg (Makefile.am): Remove stdarg.h if
7616         GL_GENERATE_STDARG_H evaluates to false.
7617
7618         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
7619         GL_GENERATE_STDBOOL_H.
7620         * modules/stdbool (Makefile.am): Remove stdbool.h if
7621         GL_GENERATE_STDBOOL_H evaluates to false.
7622
7623         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
7624         conditional GL_GENERATE_STDDEF_H.
7625         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
7626         * modules/stddef (Makefile.am): Remove stddef.h if
7627         GL_GENERATE_STDDEF_H evaluates to false.
7628
7629         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
7630         GL_GENERATE_STDINT_H.
7631         * modules/stdint (Makefile.am): Remove stdint.h if
7632         GL_GENERATE_STDINT_H evaluates to false.
7633
7634         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
7635         GL_GENERATE_SYSEXITS_H.
7636         * modules/sysexits (Makefile.am): Remove sysexits.h if
7637         GL_GENERATE_SYSEXITS_H evaluates to false.
7638
7639         Reported by Karl Berry and Ralf Wildenhues.
7640
7641 2011-04-05  Bruno Haible  <bruno@clisp.org>
7642
7643         Ensure to rebuild generated .h files when config.status has changed.
7644         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
7645         config.status.
7646         * modules/ctype (Makefile.am): Likewise.
7647         * modules/dirent (Makefile.am): Likewise.
7648         * modules/errno (Makefile.am): Likewise.
7649         * modules/fcntl-h (Makefile.am): Likewise.
7650         * modules/float (Makefile.am): Likewise.
7651         * modules/getopt-posix (Makefile.am): Likewise.
7652         * modules/glob (Makefile.am): Likewise.
7653         * modules/iconv-h (Makefile.am): Likewise.
7654         * modules/inttypes (Makefile.am): Likewise.
7655         * modules/langinfo (Makefile.am): Likewise.
7656         * modules/locale (Makefile.am): Likewise.
7657         * modules/math (Makefile.am): Likewise.
7658         * modules/netdb (Makefile.am): Likewise.
7659         * modules/netinet_in (Makefile.am): Likewise.
7660         * modules/poll-h (Makefile.am): Likewise.
7661         * modules/pthread (Makefile.am): Likewise.
7662         * modules/pty (Makefile.am): Likewise.
7663         * modules/sched (Makefile.am): Likewise.
7664         * modules/search (Makefile.am): Likewise.
7665         * modules/selinux-h (Makefile.am): Likewise.
7666         * modules/signal (Makefile.am): Likewise.
7667         * modules/spawn (Makefile.am): Likewise.
7668         * modules/stdarg (Makefile.am): Likewise.
7669         * modules/stdbool (Makefile.am): Likewise.
7670         * modules/stddef (Makefile.am): Likewise.
7671         * modules/stdint (Makefile.am): Likewise.
7672         * modules/stdio (Makefile.am): Likewise.
7673         * modules/stdlib (Makefile.am): Likewise.
7674         * modules/string (Makefile.am): Likewise.
7675         * modules/strings (Makefile.am): Likewise.
7676         * modules/sys_file (Makefile.am): Likewise.
7677         * modules/sys_ioctl (Makefile.am): Likewise.
7678         * modules/sys_select (Makefile.am): Likewise.
7679         * modules/sys_socket (Makefile.am): Likewise.
7680         * modules/sys_stat (Makefile.am): Likewise.
7681         * modules/sys_time (Makefile.am): Likewise.
7682         * modules/sys_times (Makefile.am): Likewise.
7683         * modules/sys_utsname (Makefile.am): Likewise.
7684         * modules/sys_wait (Makefile.am): Likewise.
7685         * modules/sysexits (Makefile.am): Likewise.
7686         * modules/termios (Makefile.am): Likewise.
7687         * modules/time (Makefile.am): Likewise.
7688         * modules/unistd (Makefile.am): Likewise.
7689         * modules/wchar (Makefile.am): Likewise.
7690         * modules/wctype-h (Makefile.am): Likewise.
7691         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
7692
7693 2011-04-05  Bruno Haible  <bruno@clisp.org>
7694
7695         pipe2: Relicense under LGPLv2+.
7696         * modules/pipe2 (License): Change to LGPLv2+.
7697         Requested by Eric Blake, for libvirt.
7698
7699 2011-04-05  Bruce Korb  <bkorb@gnu.org>
7700
7701         bootstrap: compute gnulib_extra_files after updating build_aux
7702         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
7703         change build_aux or also supply gnulib_extra_files.  Handle correctly.
7704
7705 2011-04-05  Eric Blake  <eblake@redhat.com>
7706
7707         bootstrap: preserve git whitelist item sorting
7708         * build-aux/bootstrap (sort_patterns): New function.
7709         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
7710
7711 2011-04-05  Simon Josefsson  <simon@josefsson.org>
7712
7713         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
7714         sc_space_tab check.
7715
7716 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
7717
7718         areadlink, areadlinkat: rewrite in terms of careadlinkat
7719         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
7720         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
7721         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
7722         (malloc, realloc): Remove #undefs.
7723         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
7724         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
7725         readlink, ssize_t, stdint, unistd.
7726         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
7727         areadlink, stdint.
7728
7729         careadlinkat: new module
7730         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
7731         * modules/careadlinkat: New files, written by me with
7732         a review and feedback from Ben Pfaff in
7733         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
7734
7735 2011-04-01  Bruno Haible  <bruno@clisp.org>
7736
7737         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
7738         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
7739         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
7740         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
7741         Reported by Bruce Korb <bruce.korb@gmail.com>.
7742
7743 2011-04-01  Bruno Haible  <bruno@clisp.org>
7744
7745         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
7746         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
7747         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
7748         * modules/wcpcpy (Depends-on): Add extensions.
7749         * modules/wcpncpy (Depends-on): Likewise.
7750         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
7751         systems.
7752         * doc/posix-functions/wcpncpy.texi: Likewise.
7753         * doc/posix-functions/wcwidth.texi: Likewise.
7754
7755 2011-03-31  Eric Blake  <eblake@redhat.com>
7756
7757         nonblocking: fix mingw test failures
7758         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
7759         non-blocking flag on regular file.
7760         (get_nonblocking_flag): Set errno on invalid fd.
7761         * tests/test-nonblocking.c (main): Avoid test failure on
7762         directories if fchdir is not active.
7763         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
7764
7765 2011-03-31  Bruno Haible  <bruno@clisp.org>
7766
7767         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
7768         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
7769         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
7770         Reported by Simon Josefsson <simon@josefsson.org>.
7771
7772 2011-03-31  Bruno Haible  <bruno@clisp.org>
7773         and Eric Blake  <eblake@redhat.com>
7774
7775         nonblocking: new module
7776         * modules/nonblocking: New module.
7777         * modules/nonblocking-tests: Likewise.
7778         * lib/nonblocking.h: New file.
7779         * lib/nonblocking.c: Likewise.
7780         * tests/test-nonblocking.c: New test.
7781         * lib/ioctl.c (ioctl) [mingw]: Update comment.
7782
7783 2011-03-30  Bruno Haible  <bruno@clisp.org>
7784
7785         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
7786         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
7787         instead of 'printf' format for GCC >= 4.4.
7788         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
7789         (fprintf, printf, vfprintf, vprintf): Declare with
7790         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
7791         the system's vfprintf() function.
7792         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
7793
7794 2011-03-30  Eric Blake  <eblake@redhat.com>
7795
7796         passfd: fix scoping bug
7797         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
7798         before sendmsg/recvmsg.
7799
7800         passfd: standardize coding conventions
7801         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
7802         can be learned at compile time.
7803         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
7804         ifdefs.
7805         (sendfd, recvfd): Follow gnulib code conventions.
7806
7807         passfd: fix incorrect sendmsg arguments
7808         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
7809         incorrect msg_controllen value.
7810         * modules/passfd-tests (Depends-on): Check for alarm.
7811         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
7812         Reported by Bastien ROUCARIES.
7813
7814 2011-03-30  Bruno Haible  <bruno@clisp.org>
7815
7816         c-strcasestr: Relicense under LGPLv2+.
7817         * modules/c-strcasestr (License): Change to LGPLv2+.
7818         Requested by Eric Blake, for libvirt.
7819
7820 2011-03-30  Simon Josefsson  <simon@josefsson.org>
7821
7822         * users.txt: Add libidn2.  Fix libtasn1 link.
7823
7824 2011-03-30  Jim Meyering  <meyering@redhat.com>
7825
7826         tests: readlink* ("",... fails with EINVAL on newer kernels
7827         readlink and readlinkat have typically failed with ENOENT for
7828         the invalid, empty file name,  "".  However, with the advent
7829         of linux-2.6.39, they fail with EINVAL.
7830         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
7831         when operating on the empty file name.
7832         * tests/test-readlink.h (test_readlink): Likewise.
7833
7834 2011-03-29  Bruno Haible  <bruno@clisp.org>
7835
7836         Relicense some modules under LGPLv2+, for libidn2.
7837         * modules/array-mergesort (License): Change to LGPLv2+.
7838         * modules/c-strcaseeq (License): Likewise.
7839         * modules/striconveh (License): Likewise.
7840         * modules/striconveha (License): Likewise.
7841         * modules/uniconv/base (License): Likewise.
7842         * modules/uniconv/u8-conv-from-enc (License): Likewise.
7843         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
7844         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
7845         * modules/unictype/base (License): Likewise.
7846         * modules/unictype/bidiclass-of (License): Likewise.
7847         * modules/unictype/category-M (License): Likewise.
7848         * modules/unictype/category-none (License): Likewise.
7849         * modules/unictype/category-of (License): Likewise.
7850         * modules/unictype/category-test (License): Likewise.
7851         * modules/unictype/category-test-withtable (License): Likewise.
7852         * modules/unictype/combining-class (License): Likewise.
7853         * modules/unictype/joiningtype-of (License): Likewise.
7854         * modules/unictype/scripts (License): Likewise.
7855         * modules/uninorm/base (License): Likewise.
7856         * modules/uninorm/canonical-decomposition (License): Likewise.
7857         * modules/uninorm/composition (License): Likewise.
7858         * modules/uninorm/decompose-internal (License): Likewise.
7859         * modules/uninorm/decomposition-table (License): Likewise.
7860         * modules/uninorm/nfc (License): Likewise.
7861         * modules/uninorm/nfd (License): Likewise.
7862         * modules/uninorm/u32-normalize (License): Likewise.
7863         * modules/unistr/base (License): Likewise.
7864         * modules/unistr/u32-cpy (License): Likewise.
7865         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
7866         * modules/unistr/u32-to-u8 (License): Likewise.
7867         * modules/unistr/u32-uctomb (License): Likewise.
7868         * modules/unistr/u8-check (License): Likewise.
7869         * modules/unistr/u8-mblen (License): Likewise.
7870         * modules/unistr/u8-mbtouc (License): Likewise.
7871         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
7872         * modules/unistr/u8-mbtoucr (License): Likewise.
7873         * modules/unistr/u8-prev (License): Likewise.
7874         * modules/unistr/u8-strlen (License): Likewise.
7875         * modules/unistr/u8-to-u32 (License): Likewise.
7876         * modules/unistr/u8-uctomb (License): Likewise.
7877         * modules/unitypes (License): Likewise.
7878         Requested by Simon Josefsson.
7879
7880 2011-03-29  Simon Josefsson  <simon@josefsson.org>
7881
7882         lib-symbol-visibility: Add a notice.
7883         * modules/lib-symbol-visibility (Notice): New field.
7884
7885 2011-03-29  Bruno Haible  <bruno@clisp.org>
7886
7887         getaddrinfo: Doc fix.
7888         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
7889         section "fixed in Gnulib".
7890
7891 2011-03-28  Simon Josefsson  <simon@josefsson.org>
7892
7893         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
7894         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
7895
7896 2011-03-26  Bruno Haible  <bruno@clisp.org>
7897
7898         unictype/property-byname: Reduce the number of load-time relocations.
7899         * lib/unictype/pr_byname.c: Include <stdlib.h>.
7900         (UC_PROPERTY_INDEX_*): New enumeration values.
7901         (uc_property_byname): Convert an index from the lookup table to an
7902         uc_property_t.
7903         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
7904         values.
7905
7906 2011-03-26  Bruno Haible  <bruno@clisp.org>
7907
7908         unictype/property-byname: Allow omitted word separators and aliases.
7909         * lib/unictype/pr_byname.gperf: Add property names without word
7910         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
7911         for 'space'.
7912
7913 2011-03-26  Bruno Haible  <bruno@clisp.org>
7914
7915         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
7916         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
7917         also hyphens to space.
7918         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
7919         without spaces.
7920         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
7921
7922 2011-03-26  Bruno Haible  <bruno@clisp.org>
7923
7924         unictype/joiningtype-byname: Recognize long names as well.
7925         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
7926         a long name.
7927         * lib/unictype/joiningtype_byname.c: Include <string.h>,
7928         unictype/joiningtype_byname.h.
7929         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
7930         * lib/unictype/joiningtype_byname.gperf: New file.
7931         * modules/unictype/joiningtype-byname (Files): Add
7932         lib/unictype/joiningtype_byname.gperf.
7933         (Depends-on): Add gperf.
7934         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
7935         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
7936         long names.
7937
7938         Tests for module 'unictype/joiningtype-longname'.
7939         * modules/unictype/joiningtype-longname-tests: New file.
7940         * tests/unictype/test-joiningtype_longname.c: New file.
7941
7942         New module 'unictype/joiningtype-longname'.
7943         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
7944         * lib/unictype/joiningtype_longname.c: New file.
7945         * modules/unictype/joiningtype-longname: New file.
7946         * modules/unictype/joiningtype-all (Depends-on): Add
7947         unictype/joiningtype-longname.
7948
7949 2011-03-26  Bruno Haible  <bruno@clisp.org>
7950
7951         unictype/bidiclass-byname: Recognize long names as well.
7952         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
7953         name.
7954         * lib/unictype/bidi_byname.c: Include <string.h>,
7955         unictype/bidi_byname.h.
7956         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
7957         * lib/unictype/bidi_byname.gperf: New file.
7958         * modules/unictype/bidiclass-byname (Files): Add
7959         lib/unictype/bidi_byname.gperf.
7960         (Depends-on): Add gperf.
7961         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
7962         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
7963         long names.
7964
7965         Tests for module 'unictype/bidiclass-longname'.
7966         * modules/unictype/bidiclass-longname-tests: New file.
7967         * tests/unictype/test-bidi_longname.c: New file.
7968
7969         New module 'unictype/bidiclass-longname'.
7970         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
7971         * lib/unictype/bidi_longname.c: New file.
7972         * modules/unictype/bidiclass-longname: New file.
7973         * modules/unictype/bidiclass-all (Depends-on): Add
7974         unictype/bidiclass-longname.
7975
7976 2011-03-26  Bruno Haible  <bruno@clisp.org>
7977
7978         unictype/bidi*: Rename modules.
7979         * modules/unictype/bidiclass-all: Renamed from
7980         modules/unictype/bidicategory-all.
7981         * modules/unictype/bidiclass-name: Renamed from
7982         modules/unictype/bidiclass-name.
7983         (Description): Update.
7984         * modules/unictype/bidiclass-name-tests: Renamed from
7985         modules/unictype/bidicategory-name-tests.
7986         * modules/unictype/bidiclass-byname: Renamed from
7987         modules/unictype/bidicategory-byname.
7988         (Description): Update.
7989         * modules/unictype/bidiclass-byname-tests: Renamed from
7990         modules/unictype/bidicategory-byname-tests.
7991         * modules/unictype/bidiclass-of: Renamed from
7992         modules/unictype/bidicategory-of.
7993         (Description): Update.
7994         * modules/unictype/bidiclass-of-tests: Renamed from
7995         modules/unictype/bidicategory-of-tests.
7996         * modules/unictype/bidiclass-test: Renamed from
7997         modules/unictype/bidicategory-test.
7998         (Description): Update.
7999         * modules/unictype/bidiclass-test-tests: Renamed from
8000         modules/unictype/bidicategory-test-tests.
8001         * modules/unictype/bidicategory-all: New file, a simple redirection.
8002         * modules/unictype/bidicategory-name: Likewise.
8003         * modules/unictype/bidicategory-byname: Likewise.
8004         * modules/unictype/bidicategory-of: Likewise.
8005         * modules/unictype/bidicategory-test: Likewise.
8006         * modules/unictype/property-bidi-* (Dependencies): Update.
8007         * lib/unictype/bidi_*.c: Update comment.
8008
8009 2011-03-26  Bruno Haible  <bruno@clisp.org>
8010
8011         unictype/bidi*: Rename functions, part 2.
8012         * modules/unictype/bidicategory-name (configure.ac): Update required
8013         libunistring version.
8014         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
8015
8016 2011-03-25  Bruno Haible  <bruno@clisp.org>
8017
8018         New module 'unictype/combining-class-all'.
8019         * modules/unictype/combining-class-all: New file.
8020
8021         Tests for module 'unictype/combining-class-byname'.
8022         * modules/unictype/combining-class-byname-tests: New file.
8023         * tests/unictype/test-combiningclass_byname.c: New file.
8024
8025         New module 'unictype/combining-class-byname'.
8026         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
8027         * lib/unictype/combiningclass_byname.c: New file.
8028         * lib/unictype/combiningclass_byname.gperf: New file.
8029         * modules/unictype/combining-class-byname: New file.
8030
8031         Tests for module 'unictype/combining-class-longname'.
8032         * modules/unictype/combining-class-longname-tests: New file.
8033         * tests/unictype/test-combiningclass_longname.c: New file.
8034
8035         New module 'unictype/combining-class-longname'.
8036         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
8037         * lib/unictype/combiningclass_longname.c: New file.
8038         * modules/unictype/combining-class-longname: New file.
8039
8040         Tests for module 'unictype/combining-class-name'.
8041         * modules/unictype/combining-class-name-tests: New file.
8042         * tests/unictype/test-combiningclass_name.c: New file.
8043
8044         New module 'unictype/combining-class-name'.
8045         * lib/unictype.in.h (uc_combining_class_name): New declaration.
8046         * lib/unictype/combiningclass_name.c: New file.
8047         * modules/unictype/combining-class-name: New file.
8048
8049 2011-03-25  Bruno Haible  <bruno@clisp.org>
8050
8051         unictype/combining-class: Rename source files.
8052         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
8053         of unictype/combining.h.
8054         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
8055         Update.
8056         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
8057         * modules/unictype/combining-class (Description): Fix.
8058         (Files, Makefile.am): Update.
8059         * tests/unictype/test-combiningclass.c: Renamed from
8060         tests/unictype/test-combining.c.
8061         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
8062
8063 2011-03-25  Bruno Haible  <bruno@clisp.org>
8064
8065         unictype: Update list of canonical combining classes.
8066         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
8067
8068 2011-03-25  Bruno Haible  <bruno@clisp.org>
8069
8070         unictype/category-byname: Recognize long names as well.
8071         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
8072         a long name.
8073         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
8074         unictype/categ_byname.h.
8075         (UC_CATEGORY_INDEX_*): New enumeration values.
8076         (uc_general_category_byname): Use uc_general_category_lookup and
8077         convert from index to value.
8078         * lib/unictype/categ_byname.gperf: New file.
8079         * modules/unictype/category-byname (Files): Add
8080         lib/unictype/categ_byname.gperf.
8081         (Depends-on): Add gperf.
8082         (Makefile.am): Add rule for generating unictype/categ_byname.h.
8083         * tests/unictype/test-categ_byname.c (main): Test the recognition of
8084         long names.
8085
8086         Tests for module 'unictype/category-longname'.
8087         * modules/unictype/category-longname-tests: New file.
8088         * tests/unictype/test-categ_longname.c: New file.
8089
8090         New module 'unictype/category-longname'.
8091         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
8092         * lib/unictype/categ_longname.c: New file.
8093         * modules/unictype/category-longname: New file.
8094         * modules/unictype/category-all (Depends-on): Add it.
8095
8096 2011-03-25  Bruno Haible  <bruno@clisp.org>
8097
8098         Tests for module 'unictype/category-LC'.
8099         * modules/unictype/category-LC-tests: New file.
8100         * tests/unictype/test-categ_LC.c: New file, automatically generated.
8101
8102         New module 'unictype/category-LC'.
8103         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
8104         (UC_CATEGORY_LC): New declaration.
8105         (UC_CASED_LETTER): New macro.
8106         * lib/gen-uni-tables.c (is_category_LC): New function.
8107         (output_categories): Also handle category LC.
8108         (UC_CATEGORY_MASK_LC): New enumeration value.
8109         (general_category_byname): Also handle category LC.
8110         * lib/unictype/categ_LC.c: New file.
8111         * lib/unictype/categ_LC.h: New file, automatically generated.
8112         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
8113         category LC.
8114         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
8115         * modules/unictype/category-LC: New file.
8116         * modules/unictype/category-byname (Depends-on): Add
8117         unictype/category-LC.
8118         * modules/unictype/category-all (Depends-on): Likewise.
8119
8120 2011-03-25  Eric Blake  <eblake@redhat.com>
8121
8122         xmalloc: revert yesterday's regression
8123         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
8124         realloc's underlying behavior (allowing allocation of zero-size
8125         objects, especially if malloc-gnu is also in use).
8126
8127 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
8128
8129         maint.mk: add missing version to VC-tag
8130         * top/maint.mk: git tag was missing actual tag name; add it.
8131
8132         valgrind: do leak checking, and exit with code 1 on error (not 0)
8133         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
8134         to VALGRIND.
8135
8136 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
8137
8138         posix-modules: say what it does.
8139         * posix-modules: Add a line to the --help output saying what it does.
8140
8141 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
8142
8143         xmalloc: Do not leak if underlying realloc is C99 compatible.
8144         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
8145         This avoids a leak on C99-based systems.  See
8146         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
8147
8148 2011-03-24  Eric Blake  <eblake@redhat.com>
8149
8150         realloc: document portability problem
8151         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
8152         passing 0 size to realloc.
8153
8154 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
8155
8156         doc: update users.txt
8157         * users.txt: Add cvsps, tmpwatch
8158
8159 2011-03-23  Matt Rice  <ratmice@gmail.com>
8160
8161         doc: update users.txt
8162         * users.txt: Add gdb.
8163
8164 2011-03-23  Jim Meyering  <meyering@redhat.com>
8165
8166         doc: update users.txt
8167         Looking through matches up to the following URL (there are still
8168         several more pages), I found several projects that use gnulib:
8169         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
8170         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
8171         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
8172
8173 2011-03-22  Bruno Haible  <bruno@clisp.org>
8174
8175         unictype/bidi*: Rename functions.
8176         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
8177         uc_bidi_class, uc_is_bidi_class): New declarations.
8178         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
8179         uc_bidi_category_byname.
8180         (uc_bidi_category_byname): New function.
8181         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
8182         u_bidi_category_name.
8183         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
8184         (uc_bidi_category_name): New function.
8185         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
8186         uc_bidi_category.
8187         (uc_bidi_category): New function.
8188         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
8189         uc_is_bidi_category. Invoke uc_bidi_class.
8190         (uc_is_bidi_category): New function.
8191         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
8192         instead of uc_bidi_category_byname.
8193         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
8194         instead of uc_bidi_category_name.
8195         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
8196         uc_bidi_category.
8197         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
8198         instead of uc_is_bidi_category.
8199
8200 2011-03-21  Bruno Haible  <bruno@clisp.org>
8201
8202         New module 'unictype/joininggroup-all'.
8203         * modules/unictype/joininggroup-all: New file.
8204
8205         Tests for module 'unictype/joininggroup-of'.
8206         * modules/unictype/joininggroup-of-tests: New file.
8207         * tests/unictype/test-joininggroup_of.c: New file.
8208         * tests/unictype/test-joininggroup_of.h: New file, automatically
8209         generated by gen-uni-tables.
8210
8211         New module 'unictype/joininggroup-of'.
8212         * modules/unictype/joininggroup-of: New file.
8213         * lib/unictype/joininggroup_of.c: New file.
8214         * lib/unictype/joininggroup_of.h: New file, automatically generated by
8215         gen-uni-tables.
8216
8217         Tests for module 'unictype/joininggroup-byname'.
8218         * modules/unictype/joininggroup-byname-tests: New file.
8219         * tests/unictype/test-joininggroup_byname.c: New file.
8220
8221         New module 'unictype/joininggroup-byname'.
8222         * modules/unictype/joininggroup-byname: New file.
8223         * lib/unictype/joininggroup_byname.c: New file.
8224         * lib/unictype/joininggroup_byname.gperf: New file.
8225
8226         Tests for module 'unictype/joininggroup-name'.
8227         * modules/unictype/joininggroup-name-tests: New file.
8228         * tests/unictype/test-joininggroup_name.c: New file.
8229
8230         New module 'unictype/joininggroup-name'.
8231         * modules/unictype/joininggroup-name: New file.
8232         * lib/unictype/joininggroup_name.c: New file.
8233         * lib/unictype/joininggroup_name.h: New file.
8234
8235         New module 'unictype/joiningtype-all'.
8236         * modules/unictype/joiningtype-all: New file.
8237
8238         Tests for module 'unictype/joiningtype-of'.
8239         * modules/unictype/joiningtype-of-tests: New file.
8240         * tests/unictype/test-joiningtype_of.c: New file.
8241         * tests/unictype/test-joiningtype_of.h: New file, automatically
8242         generated by gen-uni-tables.
8243
8244         New module 'unictype/joiningtype-of'.
8245         * modules/unictype/joiningtype-of: New file.
8246         * lib/unictype/joiningtype_of.c: New file.
8247         * lib/unictype/joiningtype_of.h: New file, automatically generated by
8248         gen-uni-tables.
8249
8250         Tests for module 'unictype/joiningtype-byname'.
8251         * modules/unictype/joiningtype-byname-tests: New file.
8252         * tests/unictype/test-joiningtype_byname.c: New file.
8253
8254         New module 'unictype/joiningtype-byname'.
8255         * modules/unictype/joiningtype-byname: New file.
8256         * lib/unictype/joiningtype_byname.c: New file.
8257
8258         Tests for module 'unictype/joiningtype-name'.
8259         * modules/unictype/joiningtype-name-tests: New file.
8260         * tests/unictype/test-joiningtype_name.c: New file.
8261
8262         New module 'unictype/joiningtype-name'.
8263         * modules/unictype/joiningtype-name: New file.
8264         * lib/unictype/joiningtype_name.c: New file.
8265
8266         unictype: Add support for Arabic shaping properties.
8267         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
8268         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
8269         declarations.
8270         (UC_JOINING_GROUP_*): New enumeration values.
8271         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
8272         declarations.
8273         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
8274         (unicode_joining_type): New variable.
8275         (UC_JOINING_GROUP_*): New enumeration values.
8276         (unicode_joining_group): New variable.
8277         (fill_arabicshaping, joining_type_as_c_identifier,
8278         output_joining_type_test, output_joining_type,
8279         joining_group_as_c_identifier, output_joining_group_test,
8280         output_joining_group): New functions.
8281         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
8282         fill_arabicshaping and output_joining_type_test, output_joining_type,
8283         output_joining_group_test, output_joining_group.
8284         Reported by Simon Josefsson.
8285
8286 2011-03-21  Jim Meyering  <meyering@redhat.com>
8287
8288         strftime: fix a bug in yesterday's change
8289         * lib/strftime.c (add): Accommodate width's initial value of -1.
8290         Otherwise, nstrftime would copy uninitialized data into
8291         the result buffer.
8292
8293 2011-03-21  Jim Meyering  <meyering@redhat.com>
8294
8295         tests: add strftime-tests module
8296         * tests/test-strftime.c: New file.
8297         * modules/strftime-tests: New module.
8298
8299 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8300
8301         strftime: don't assume a byte count fits in 'int'
8302         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
8303         found this problem by static analysis, using gcc -Wstrict-overflow
8304         (GCC 4.5.2, x86-64).  This reported an optimization that depended
8305         on an integer overflow having undefined behavior, but it turns out
8306         that the argument is a size, which might not fit in 'int' anyway,
8307
8308 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8309
8310         stdio: don't require ignore_value around fwrite
8311
8312         This patch works around libc bug 11959
8313         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
8314         Without this patch, applications must often write
8315         ignore_value (fwrite (...)) even though the ignore_value is
8316         not helpful here.  It's common to write many objects, using
8317         fwrite/printf/etc., and then use ferror to detect output error.
8318
8319         I considered making this patch optional, but decided against it,
8320         because libc is obviously being inconsistent here: there is no
8321         reason libc should insist that user code must inspect fwrite
8322         return's value without also insisting that it inspect printf's,
8323         putchar's, etc.  If user code wants to have a strict style where
8324         all these functions' values are checked (so that ferror need not
8325         be checked), we could add support for that style in a new gnulib
8326         module, but in the meantime it's better to be consistent and to
8327         support common usage.
8328
8329         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
8330         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
8331         that we are compiling in checking mode, and if not C++, and
8332         if not already wrapping fwrite for some other reason.
8333         (fwrite): #define to rpl_fwrite if the latter is defined.
8334
8335 2011-03-20  Bruno Haible  <bruno@clisp.org>
8336
8337         verror: Fix compilation error introduced on 2011-02-13.
8338         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
8339         instead of __attribute__.
8340         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8341
8342 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8343             Bruno Haible  <bruno@clisp.org>
8344
8345         socklen: do not depend on sys_socket
8346         While trying to modify Emacs to use gnulib's socklen module,
8347         I discovered a circular dependency: socklen depends on sys_socket
8348         and vice versa.  Emacs can use socklen, but it does not need
8349         sys_socket because it has its own substitute for sys/socket.h.
8350         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
8351         gl_TYPE_SOCKLEN_T.
8352         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
8353         gl_PREREQ_SYS_H_SOCKET.
8354         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
8355         gl_PREREQ_SYS_H_SOCKET.
8356         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
8357         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
8358         * modules/socklen (Depends-on): Do not depend on sys_socket.
8359         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
8360
8361 2011-03-20  Jim Meyering  <meyering@redhat.com>
8362
8363         maint.mk: sort file names *after* new transformation
8364         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
8365         prefix would have led to an unwarranted failure in GNU parted.
8366         Sort after that transformation.
8367
8368 2011-03-19  Jim Meyering  <meyering@redhat.com>
8369
8370         maint.mk: fix po-file syntax-check rule
8371         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
8372         Patch by Bruno Haible.
8373
8374 2011-03-19  Bruno Haible  <bruno@clisp.org>
8375
8376         socklen: Update comment.
8377         * m4/socklen.m4: Update comment about platforms.
8378
8379 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8380             Bruno Haible  <bruno@clisp.org>
8381
8382         inet_ntop, inet_pton: Simplify.
8383         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
8384         documented to provide socklen_t and we already depend on sys_socket.
8385         * modules/inet_pton (Depends-on): Likewise.
8386         * lib/arpa_inet.in.h: Adjust comment.
8387
8388 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8389             Bruno Haible  <bruno@clisp.org>
8390
8391         netdb: Simplify.
8392         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
8393         documented to provide socklen_t and we already depend on sys_socket.
8394         * lib/netdb.in.h: Adjust comment.
8395
8396 2011-03-19  Bruno Haible  <bruno@clisp.org>
8397
8398         sys_socket, netdb: Document problem with socklen_t.
8399         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
8400         platforms.
8401         * doc/posix-headers/netdb.texi: Likewise.
8402
8403 2011-03-18  Eric Blake  <eblake@redhat.com>
8404
8405         maint.mk: let po check work in VPATH build
8406         * top/maint.mk (po_file): Allow cfg.mk override.
8407         (sc_po_check): Allow VPATH use.
8408         Reported by Jiri Denemark.
8409
8410 2011-03-16  Jim Meyering  <meyering@redhat.com>
8411
8412         maint.mk: allow fine-grained syntax-check exclusion via Make variables
8413         Before, you would have had to create one .x-sc_ file per rule in order
8414         to exempt offending files.  Now, you may instead use a Make variable --
8415         usually defined in cfg.mk -- whose name identifies the affected rule.
8416         * top/maint.mk (_sc_excl): Define.
8417         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
8418         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
8419
8420 2011-03-13  Bruno Haible  <bruno@clisp.org>
8421
8422         ignore-value tests: Avoid warnings.
8423         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
8424         empty for gcc < 3.4.
8425
8426 2011-03-13  Bruno Haible  <bruno@clisp.org>
8427
8428         passfd: Fix link error on Solaris.
8429         * modules/passfd (Description): Correct.
8430         (Depends-on): Add socketlib.
8431         (Link): New section.
8432         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
8433
8434 2011-03-13  Bruno Haible  <bruno@clisp.org>
8435
8436         passfd: Fix link error on AIX 5.2.
8437         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
8438
8439 2011-03-13  Bruno Haible  <bruno@clisp.org>
8440
8441         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
8442         * lib/sys_socket.in.h: Include <stddef.h>.
8443         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
8444         CMSG_FIRSTHDR. Remove unused variable.
8445
8446 2011-03-13  Bruno Haible  <bruno@clisp.org>
8447
8448         passfd: Fix compilation error on OpenBSD.
8449         * lib/passfd.c: Include <sys/uio.h>.
8450
8451 2011-03-13  Bruno Haible  <bruno@clisp.org>
8452
8453         passfd test: Fix warnings.
8454         * tests/test-passfd.c: Include <sys/wait.h>.
8455         (main): Fix typo.
8456
8457 2011-03-13  Bruno Haible  <bruno@clisp.org>
8458
8459         passfd module, part 4, tweaks.
8460         * tests/test-passfd.c: Reorder includes.
8461         (main): Fix perror and printf calls.
8462
8463 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8464
8465         passfd module, part 4.
8466         * modules/passfd-tests: New file.
8467         * tests/test-passfd.c: New file.
8468
8469 2011-03-13  Jim Meyering  <meyering@redhat.com>
8470
8471         Makefile: rely on GNU make; derive syntax-check rule names
8472         Rather than requiring that each sc_ rule be listed as a dependent
8473         of "check", use features of GNU make to derive the list.
8474         * Makefile (syntax-check-rules): Define.
8475         (check): Depend on the new variable, not the hard-coded list.
8476
8477 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
8478             Bruno Haible  <bruno@clisp.org>
8479
8480         passfd module, part 3.
8481         * lib/passfd.h (recvfd): Add a flags argument.
8482         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
8483         (recvfd): Add a flags argument.
8484         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
8485         exists.
8486         * modules/passfd (Depends-on): Add cloexec.
8487         Suggested by Eric Blake.
8488
8489 2011-03-13  Bruno Haible  <bruno@clisp.org>
8490
8491         passfd module, part 2, tweaks.
8492         * modules/passfd (Files): Reorder.
8493         (Depends-on): Remove errno.
8494         (Include): Remove <sys/socket.h>, <sys/un.h>.
8495         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
8496         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
8497         specification header. Include <sys/socket.h> always. Don't include
8498         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
8499         (sendfd): Clarify that it sets errno when it fails.
8500         (recvfd): Fix specification.
8501
8502 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8503
8504         passfd module, part 2.
8505         * modules/passfd: New file.
8506         * lib/passfd.h: New file.
8507         * lib/passfd.c: New file.
8508
8509 2011-03-12  Bruno Haible  <bruno@clisp.org>
8510
8511         wcswidth, mbswidth: Avoid integer overflow.
8512         * lib/wcswidth.c: Include <limits.h>.
8513         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
8514         * lib/mbswidth.c: Include <limits.h>.
8515         (mbsnwidth): Avoid 'int' overflow.
8516         Reported by Jim Meyering.
8517
8518 2011-03-12  Bruno Haible  <bruno@clisp.org>
8519
8520         futimens, utimensat: Avoid endless recursion on Solaris 10.
8521         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
8522         Solaris.
8523         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
8524         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
8525
8526 2011-03-11  Jim Meyering  <meyering@redhat.com>
8527
8528         maint.mk: relax a regexp to accommodate other formatting styles
8529         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
8530         between "ngettext" and the following "(".
8531
8532 2011-03-11  PĂ¡draig Brady <P@draigBrady.com>
8533
8534         maint.mk: suppress a false positive warning
8535         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
8536         diagnostics are marked with ngettext.
8537
8538 2011-03-10  Eric Blake  <eblake@redhat.com>
8539
8540         wchar: add explicit dependencies, for Tru64
8541         * modules/mbmemcasecoll (Depends-on): Add wchar.
8542         * modules/mbtowc (Depends-on): Likewise.
8543         * modules/vasnprintf (Depends-on): Likewise.
8544         * modules/unistdio/u-printf-args (Depends-on): Likewise.
8545         * modules/wctomb (Depends-on): Likewise.
8546         Reported by Peter O'Gorman.
8547
8548 2011-03-08  Bruno Haible  <bruno@clisp.org>
8549
8550         passfd module, part 1, tweaks.
8551         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
8552         Improve indentation. Improve AC_MSG_CHECKING messages.
8553         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
8554         gl_SOCKET_FAMILIES.
8555
8556 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8557
8558         passfd module, part 1.
8559         * m4/afunix.m4: New file.
8560         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
8561         sockets.
8562
8563 2011-03-08  Bruno Haible  <bruno@clisp.org>
8564
8565         regex-quote: New API.
8566         * lib/regex-quote.h: Include <stdbool.h>.
8567         (struct regex_quote_spec): New type.
8568         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
8569         New declarations.
8570         (regex_quote_length, regex_quote_copy, regex_quote): Take a
8571         'const struct regex_quote_spec *' argument.
8572         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
8573         (pcre_special): New constant.
8574         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
8575         New functions.
8576         (regex_quote_length, regex_quote_copy, regex_quote): Take a
8577         'const struct regex_quote_spec *' argument.
8578         * modules/regex-quote (Depends-on): Add stdbool.
8579         * tests/test-regex-quote.c (check): Update for new API. Add test for
8580         anchored results.
8581         * NEWS: Mention the API change.
8582         Reported by Reuben Thomas and Eric Blake.
8583
8584 2011-03-06  Bruno Haible  <bruno@clisp.org>
8585
8586         regex-quote: Fix creation of POSIX extended regular expressions.
8587         * lib/regex-quote.c (ere_special): Add grouping and alternation
8588         operators.
8589
8590 2011-03-05  Bruno Haible  <bruno@clisp.org>
8591
8592         doc: Improve doc regarding autopoint vs. gnulib.
8593         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
8594         disable autopoint while running autoreconf.
8595         Suggested by Ralf Wildenhues.
8596
8597 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8598
8599         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
8600         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
8601
8602 2011-03-03  Bruce Korb  <bkorb@gnu.org>
8603
8604         parse-duration: remove xalloc.h dependency
8605         * lib/parse-duration.c (parse_period): handle NULL return from
8606         strdup instead of calling xstrdup().
8607         * modules/parse-duration: remove "xalloc" dependency
8608
8609 2011-03-03  Matthew Booth  <mbooth@redhat.com>
8610
8611         bootstrap: honor m4_base when running aclocal
8612         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
8613
8614 2011-03-02  Jim Meyering  <meyering@redhat.com>
8615
8616         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
8617         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
8618         on request from Matt Booth.
8619
8620 2011-03-01  Eric Blake  <eblake@redhat.com>
8621
8622         test-link: work on Hurd
8623         * tests/test-link.h (test_link): Hurd rejects linking directories
8624         with EISDIR instead of the POSIX-mandated EPERM.
8625
8626 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
8627
8628         stdio: simplify by moving files to printf-posix, sigpipe
8629         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
8630         since this symbol is needed only if printf is replaced.
8631         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
8632         Require gl_ASM_SYMBOL_PREFIX.
8633         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
8634         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
8635         (Depends-on): Add 'raise'.
8636         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
8637         * modules/stdio (Files): Remove lib/stdio-write.c,
8638         m4/asm-underscore.m4.
8639         (Depends-on): Remove 'raise'.
8640
8641         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
8642         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
8643         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
8644         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
8645
8646 2011-02-28  Bruno Haible  <bruno@clisp.org>
8647
8648         localcharset: Assume ANSI C behaviour of free().
8649         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
8650         calling free().
8651         Suggested by Simon Josefsson <simon@josefsson.org>.
8652
8653 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
8654             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
8655             Bruno Haible  <bruno@clisp.org>  (tiny change)
8656
8657         On Cygwin, use /proc file system instead of win32 API.
8658         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
8659         Win32 file names.
8660         (DllMain): Simplify by removing Cygwin specific code.
8661         (find_shared_library_fullname): Use Linux specific implementation also
8662         for Cygwin.
8663         (get_shared_library_fullname): Update accordingly.
8664         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
8665         Win32 file names.
8666         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
8667         Cygwin specific code.
8668
8669 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
8670             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
8671
8672         Fix OpenMP flag detection for various Fortran compilers.
8673         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
8674         OpenMP-conditional compilation construct, to force compile
8675         failure with missing OpenMP flag.
8676         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
8677
8678 2011-02-25  Eric Blake  <eblake@redhat.com>
8679
8680         strstr: expand test coverage
8681         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
8682         compilation.
8683         * tests/test-memmem.c (main): Duplicate tests.
8684         * tests/test-strcasestr.c (main): Likewise.
8685         * tests/test-c-strcasestr.c (main): Likewise.
8686
8687 2011-02-25  Jim Meyering  <meyering@redhat.com>
8688
8689         maint.mk: detect missing-NL-at-EOF, too
8690         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
8691         it also detects when a file lacks a newline at EOF.
8692         (require_exactly_one_NL_at_EOF_): Renamed from
8693         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
8694         since people may well have .x-sc_... file names tied to the
8695         existing name.  Suggested by Eric Blake.
8696
8697 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
8698
8699         dirname: move m4/dos.m4 functionality into lib/dosname.h
8700
8701         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
8702         extracts symbols from it, puts them into config.h; but it's much
8703         easier to use the symbols directly.  filename.h already does this,
8704         but it disagrees with dos.m4 in some respects.  This patch
8705         introduces a different include file dosname.h that packages up
8706         dos.m4, and then later we can work on merging filename.h and
8707         dosname.h.  Applications that need only the easy-to-configure
8708         symbols should consider including dosname.h rather than dirname.h.
8709         * NEWS: Mention incompatible changes.
8710         * m4/dos.m4: Remove.
8711         * lib/dosname.h, modules/dosname: New files.
8712         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
8713         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
8714         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
8715         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
8716         Include dosname.h, not dirname.h.
8717         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
8718         Include dosname.h, for definitions of symbols like ISSLASH
8719         that used to be in config.h.
8720         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
8721         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
8722         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8723         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8724         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
8725         * modules/rmdir (Files): Likewise.
8726         * modules/stat (Files): Likewise.
8727         * modules/unlink (Files): Likewise.
8728         * modules/dirname-lgpl (Depends-on): Add dosname.
8729         * modules/lstat (Depends-on): Likewise.
8730         * modules/openat (Depends-on): Likewise.
8731         * modules/rmdir (Depends-on): Likewise.
8732         * modules/savewd (Depends-on): Likewise.
8733         * modules/stat (Depends-on): Likewise.
8734         * modules/unlink (Depends-on): Likewise.
8735         * modules/openat (Depends-on): Remove dirname-lgpl.
8736         * modules/savewd (Depends-on): Likewise.
8737         * tests/test-dirname.c: Do not use removed symbols like
8738         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
8739         the remaining symbols, e.g., ISSLASH ('\\').
8740
8741 2011-02-25  Eric Blake  <eblake@redhat.com>
8742
8743         strstr: revert patches that introduced bug and pessimization
8744         * lib/str-two-way.h: Add another reference.
8745         (two_way_short_needle, two_way_long_needle): Revert changes from
8746         2011-02-24; they pessimize search speed.
8747         (critical_factorization): Partially revert changes from
8748         2010-06-22; they violate the requirement that the left half of the
8749         needle be smaller than the period of the needle.
8750
8751 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8752
8753         filenamecat: remove unnecessary dependency on dirname-lgpl
8754         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
8755         is no direct dependency, just an indirect one via filenamecat-lgpl.
8756
8757         remove: remove unnecessary use of m4/dos.m4
8758         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
8759         * modules/remove (FILES): Remove m4/dos.m4.
8760
8761         * lib/openat-proc.c: Don't include dirname.h; not needed.
8762
8763         backupfile: remove unnecessary use of m4/dos.m4
8764         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
8765         of its symbols are used by the backupfile code.  backupfile.c does
8766         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
8767         for the rare case of programs that want all their backup file
8768         names to live within 8+3 limits, and dos.m4 doesn't address that.
8769         * modules/backupfile (Files): Remove m4/dos.m4.
8770
8771 2011-02-24  Jim Meyering  <meyering@redhat.com>
8772
8773         strstr: fix a bug whereby strstr would mistakenly return NULL
8774         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
8775         in period calculation.
8776         (two_way_long_needle): Likewise.
8777         The original problem was reported by Mike Stump in
8778         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
8779         Ralf Wildenhues provided the short needle and haystack.
8780         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
8781         Add a more involved test to trigger the bug in two_way_long_needle.
8782
8783 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8784
8785         gnulib-tool: remove use of bold display in help screen
8786         * gnulib-tool (func_usage): Do not use bold display anymore in the
8787         help screen.  That was just meant to be a temporary emphasis for a
8788         backward-incompatible change.
8789
8790 2011-02-23  Bruno Haible  <bruno@clisp.org>
8791
8792         Fix misindentation of preprocessor directives.
8793         * lib/argp-namefrob.h: Reindent preprocessor directives.
8794         * lib/getopt_int.h (struct _getopt_data): Likewise.
8795         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
8796         * lib/vasnprintf.c (decode_long_double): Likewise.
8797         * tests/test-argmatch.c: Insert blank lines, for clarity.
8798         * tests/test-exclude.c: Likewise.
8799
8800 2011-02-22  Bruno Haible  <bruno@clisp.org>
8801
8802         ioctl: Fix for MacOS X in 64-bit mode.
8803         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
8804         value.
8805         Suggested by Eric Blake.
8806         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
8807
8808 2011-02-22  Jim Meyering  <meyering@redhat.com>
8809
8810         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
8811         * Makefile (sc_cpp_indent_check): Don't limit the check to files
8812         in lib/.
8813
8814 2011-02-22  Eric Blake  <eblake@redhat.com>
8815
8816         maint: avoid any CDPATH issue
8817         * Makefile (sc_cpp_indent_check): Anchor cd argument.
8818
8819         maint: adjust cpp indentation for my modules, as well
8820         * Makefile (sc_cpp_indent_check): Add my name.
8821         * lib/fbufmode.c: Filter through cppi.
8822         * lib/fpurge.c: Likewise.
8823         * lib/freadable.c: Likewise.
8824         * lib/freading.c: Likewise.
8825         * lib/fwritable.c: Likewise.
8826         * lib/fwriting.c: Likewise.
8827         * lib/sigaction.c: Likewise.
8828
8829 2011-02-22  Jim Meyering  <meyering@redhat.com>
8830
8831         maint: adjust cpp indentation to reflect nesting depth
8832         I.e., in a block of code that begins with an unnested "#if",
8833         put one space between the "#" in column 1 and following token.
8834         For example,
8835         -#include <sys/vfs.h>
8836         +# include <sys/vfs.h>
8837         Do this only in .c files that are part of a module I maintain.
8838         * lib/linkat.c: Filter through cppi.
8839         * lib/nanosleep.c: Likewise.
8840         * lib/openat.c: Likewise.
8841         * lib/openat-die.c: Likewise.
8842         * lib/dup3.c: Likewise.
8843         * lib/fchownat.c: Likewise.
8844         * lib/flock.c: Likewise.
8845         * lib/fsync.c: Likewise.
8846         * lib/fts.c: Likewise.
8847         * lib/getpass.c: Likewise.
8848         * lib/gettimeofday.c: Likewise.
8849         * lib/userspec.c: Likewise.
8850         * Makefile (sc_cpp_indent_check): New rule, to check this.
8851
8852 2011-02-22  Bruno Haible  <bruno@clisp.org>
8853
8854         New module 'wctomb'.
8855         * lib/stdlib.in.h (wctomb): New declaration.
8856         * lib/wctomb.c: New file.
8857         * lib/wctomb-impl.h: New file.
8858         * m4/wctomb.m4: New file.
8859         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
8860         REPLACE_WCTOMB.
8861         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
8862         REPLACE_WCTOMB.
8863         * modules/wctomb: New file.
8864         * tests/test-stdlib-c++.cc: Test signature of wctomb.
8865         * doc/posix-functions/wctomb.texi: Mention the new module.
8866         * modules/wctob (Depends-on): Add wctomb.
8867
8868 2011-02-22  Bruno Haible  <bruno@clisp.org>
8869
8870         New module 'mbtowc'.
8871         * lib/stdlib.in.h (mbtowc): New declaration.
8872         * lib/mbtowc.c: New file.
8873         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
8874         * m4/mbtowc.m4: New file.
8875         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
8876         REPLACE_MBTOWC.
8877         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
8878         REPLACE_MBTOWC.
8879         * modules/mbtowc: New file.
8880         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
8881         * doc/posix-functions/mbtowc.texi: Mention the new module.
8882         * modules/btowc (Depends-on): Add mbtowc.
8883
8884 2011-02-22  Bruno Haible  <bruno@clisp.org>
8885
8886         wcrtomb: Add more tests for native Windows platforms.
8887         * tests/test-wcrtomb-w32-1.sh: New file.
8888         * tests/test-wcrtomb-w32-2.sh: New file.
8889         * tests/test-wcrtomb-w32-3.sh: New file.
8890         * tests/test-wcrtomb-w32-4.sh: New file.
8891         * tests/test-wcrtomb-w32-5.sh: New file.
8892         * tests/test-wcrtomb-w32.c: New file.
8893         * modules/wcrtomb-tests (Files): Add them.
8894         (Makefile.am): Arrange to run these tests.
8895         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
8896         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
8897
8898 2011-02-20  Bruno Haible  <bruno@clisp.org>
8899
8900         wcrtomb: Enhance test.
8901         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
8902
8903 2011-02-20  Bruno Haible  <bruno@clisp.org>
8904
8905         mbrtowc: Tiny optimization.
8906         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
8907
8908 2011-02-20  Jim Meyering  <meyering@redhat.com>
8909
8910         test-exclude.c: remove unmatched #endif
8911         * tests/test-exclude.c: Remove stray #endif, left over from
8912         the change of a week ago.
8913
8914 2011-02-19  Jim Meyering  <meyering@redhat.com>
8915
8916         git-version-gen: skip "-dirty" check when appropriate
8917         * build-aux/git-version-gen: Don't run any git commands when the
8918         version string comes from .tarball-version.  Prior to this, we
8919         would run git update-index --refresh even from a just-unpacked
8920         tarball directory, and that could affect a .git/ directory in a
8921         parent of the build directory.  Reported by Mike Frysinger.
8922
8923 2011-02-19  Bruno Haible  <bruno@clisp.org>
8924
8925         unictype/property-byname: Reduce the size of the 'data' segment.
8926         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
8927
8928 2011-02-19  Bruno Haible  <bruno@clisp.org>
8929
8930         unictype/scripts: Reduce the size of the 'data' segment.
8931         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
8932         '%pic'.
8933         * lib/unictype/scripts_byname.gperf: Regenerated.
8934
8935 2011-02-19  Bruno Haible  <bruno@clisp.org>
8936
8937         stdint: Update documentation.
8938         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
8939
8940 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
8941
8942         stdint: omit redundant check for wchar.h
8943         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
8944         always tests whether wchar.h exists, so remove the now-redundant test.
8945
8946 2011-02-18  Bruno Haible  <bruno@clisp.org>
8947
8948         stdint: Cut dependency to module 'wchar'.
8949         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
8950         include the necessary prerequisites.
8951         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
8952         * modules/stdint (Depends-on): Remove wchar.
8953         (Makefile.am): Substitute HAVE_WCHAR_H.
8954         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
8955
8956 2011-02-18  Eric Blake  <eblake@redhat.com>
8957
8958         longlong: skip, rather than fail, on cross-compilation
8959         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
8960         when cross-compiling; regression from 2011-02-16.
8961
8962 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
8963
8964         * NEWS: Mention 2011-02-08 change to stdlib.
8965
8966 2011-02-17  Bruno Haible  <bruno@clisp.org>
8967
8968         getloadavg: Add comments about platforms.
8969         * m4/getloadavg.m4: Add comment.
8970         * lib/getloadavg.c: Likewise.
8971
8972 2011-02-17  Bruno Haible  <bruno@clisp.org>
8973
8974         getloadavg: Fix link error on Solaris 2.6.
8975         * modules/getloadavg (Link): New section.
8976         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
8977         linking test-getloadavg.
8978         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
8979         getloadavg.
8980
8981 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
8982
8983         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
8984         It was 'int', but this doesn't match the IRIX 6.5 manual.
8985         Suggested by Bruno Haible in
8986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
8987
8988 2011-02-17  Bruno Haible  <bruno@clisp.org>
8989
8990         havelib: Fix comments.
8991         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
8992         change.
8993
8994 2011-02-17  Bruno Haible  <bruno@clisp.org>
8995
8996         havelib: Update config.rpath.
8997         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
8998
8999 2011-02-17  Bruno Haible  <bruno@clisp.org>
9000
9001         getloadavg test: Add some plausibility checks.
9002         * tests/test-getloadavg.c (check_avg): Print a warning when the value
9003         is improbable.
9004
9005 2011-02-16  Eric Blake  <eblake@redhat.com>
9006
9007         maintainer-makefile: make syntax-check a no-op from tarballs
9008         * top/maint.mk (no-vc-detected): New rule.
9009         (local-checks-available): Use it to avoid hanging if someone tries
9010         'make syntax-check' from a tarball.  Also append to any non-syntax
9011         checks already defined in cfg.mk.
9012
9013 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
9014
9015         longlong: tune, particularly for common case of c99
9016
9017         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
9018         or running anything if c99, or if unsigned long long int does not
9019         work.  In either case, we know the answer without further tests.
9020         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
9021         it at most once, and use its results for both long long int and
9022         unsigned long long int.  This is more likely to be efficient in
9023         the common case where the program wants to check for both long
9024         long int and unsigned long long int.
9025         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
9026         since the answer is already known.
9027
9028 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
9029
9030         getloadavg: set errno
9031         * lib/getloadavg.c: Set errno when returning -1.  If no other
9032         error number looks appropriate, set it to ENOSYS if the getloadavg
9033         looks like it can't possibly ever work, ENOTSUP otherwise.
9034         Suggested by Bruno Haible in
9035         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
9036
9037         getloadavg: trim unused parts and speed up 'configure'
9038         * NEWS: Document this.
9039         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
9040         always compiled if getloadavg is absent.
9041         Move test code to ...
9042         * tests/test-getloadavg.c: New file, containing previous
9043         contents of test from lib/getloadavg.c.  It also contains
9044         suggestions by Bruno Haible in
9045         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
9046         * modules/getloadavg-tests: New file.
9047         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
9048         Do tests in the same order as they're needed for getloadavg.c.
9049         Omit setgid-related tests that generate symbols KMEM_GROUP,
9050         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
9051         Do only the tests that are needed to see whether the system has
9052         getloadavg, moving the other tests into ...
9053         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
9054         NLIST_NAME_UNION; nobody should be using it.  Do not define
9055         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
9056         relevant, as the user of this module shouldn't care how getloadavg
9057         is implemented.
9058
9059         getloadavg: omit unused var
9060         * lib/getloadavg.c (getloadavg): Omit unused local variable.
9061
9062 2011-02-15  Jim Meyering  <meyering@redhat.com>
9063
9064         doc: update users.txt
9065         * users.txt: Update iwhd's URL.
9066
9067 2011-02-13  Bruno Haible  <bruno@clisp.org>
9068
9069         Consistent macro naming for macros that use GCC __attribute__.
9070         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
9071         _ATTRIBUTE_NONNULL_.
9072         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
9073         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
9074         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
9075         ATTRIBUTE_DEPRECATED.
9076         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
9077         ATTRIBUTE_NORETURN.
9078         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9079         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9080         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9081         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9082         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
9083         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
9084         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
9085         ATTRIBUTE_SENTINEL.
9086         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
9087         ATTRIBUTE_RETURN_CHECK.
9088         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
9089         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
9090         ATTRIBUTE_NORETURN.
9091         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
9092         Reported by Paul Eggert.
9093
9094 2011-02-13  Bruno Haible  <bruno@clisp.org>
9095
9096         Don't interfere with a program's definition of __attribute__.
9097         * lib/argp.h (__attribute__): Remove definition.
9098         (_GL_ATTRIBUTE_FORMAT): New macro.
9099         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
9100         * lib/argp-fmtstream.h (__attribute__): Remove definition.
9101         (_GL_ATTRIBUTE_FORMAT): New macro.
9102         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
9103         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
9104         GCC 3 or newer.
9105         * lib/error.h (__attribute__): Remove definition.
9106         (_GL_ATTRIBUTE_FORMAT): New macro.
9107         (error, error_at_line): Use it.
9108         * lib/hash.h (__attribute__): Remove definition.
9109         (ATTRIBUTE_WUR): Update definition. Define always.
9110         * lib/openat.h (__attribute__): Remove definition.
9111         (ATTRIBUTE_NORETURN): Update definition. Define always.
9112         * lib/sigpipe-die.h (__attribute__): Remove definition.
9113         (ATTRIBUTE_NORETURN): Update definition. Define always.
9114         * lib/vasnprintf.h (__attribute__): Remove definition.
9115         (_GL_ATTRIBUTE_FORMAT): New macro.
9116         (asnprintf, vasnprintf): Use it.
9117         * lib/xalloc.h (__attribute__): Remove definition.
9118         (ATTRIBUTE_NORETURN): Update definition. Define always.
9119         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
9120         * lib/xmemdup0.h (__attribute__): Remove definition.
9121         (ATTRIBUTE_NORETURN): Update definition. Define always.
9122         * lib/xprintf.h (__attribute__): Remove definition.
9123         (_GL_ATTRIBUTE_FORMAT): New macro.
9124         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
9125         * lib/xstrtol.h (__attribute__): Remove definition.
9126         (ATTRIBUTE_NORETURN): Update definition. Define always.
9127         * lib/xvasprintf.h (__attribute__): Remove definition.
9128         (_GL_ATTRIBUTE_FORMAT): New macro.
9129         (xasprintf, xvasprintf): Use it.
9130         * tests/test-argmatch.c (__attribute__): Remove definition.
9131         (ATTRIBUTE_NORETURN): Update definition. Define always.
9132         * tests/test-exclude.c (__attribute__): Remove definition.
9133         (ATTRIBUTE_NORETURN): Update definition. Define always.
9134         Reported by Paul Eggert.
9135
9136 2011-02-13  Bruno Haible  <bruno@clisp.org>
9137
9138         mbrtowc: Add more tests for native Windows platforms.
9139         * tests/test-mbrtowc-w32-1.sh: New file.
9140         * tests/test-mbrtowc-w32-2.sh: New file.
9141         * tests/test-mbrtowc-w32-3.sh: New file.
9142         * tests/test-mbrtowc-w32-4.sh: New file.
9143         * tests/test-mbrtowc-w32-5.sh: New file.
9144         * tests/test-mbrtowc-w32.c: New file.
9145         * modules/mbrtowc-tests (Files): Add them.
9146         (Makefile.am): Arrange to run these tests.
9147         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
9148         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
9149
9150 2011-02-13  Bruno Haible  <bruno@clisp.org>
9151
9152         mbrtowc: Work around native Windows bug.
9153         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
9154         guess when no suitable locale for testing was found.
9155         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
9156
9157 2011-02-13  Bruno Haible  <bruno@clisp.org>
9158
9159         mbsinit: Work around mingw bug.
9160         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
9161         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
9162         Windows.
9163         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
9164
9165 2011-02-13  Bruno Haible  <bruno@clisp.org>
9166
9167         mbsinit: Don't crash for a NULL argument.
9168         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
9169         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
9170
9171 2011-02-13  Bruno Haible  <bruno@clisp.org>
9172
9173         Don't interfere with a program's definition of __attribute__.
9174         * lib/stdio.in.h (__attribute__): Remove definition.
9175         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
9176         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
9177         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
9178         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
9179         * lib/string.in.h (__attribute__): Remove definition.
9180         Reported by Paul Eggert.
9181
9182 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
9183
9184         stdlib: don't get in the way of non-GCC __attribute__
9185         See thread starting at
9186         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
9187         Revert previous stdlib change, installing the following instead:
9188         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
9189         to get in the way of a non-GCC compiler that supports __attribute__.
9190         (_GL_ATTRIBUTE_RETURN): New macro.
9191         (_Exit): Use it instead of __attribute__.
9192
9193 2011-02-12  Bruno Haible  <bruno@clisp.org>
9194
9195         quotearg test: Avoid test failure on mingw.
9196         * tests/test-quotearg.sh: Convert the locale identifier from native
9197         Windows syntax to Unix syntax.
9198
9199 2011-02-12  Bruno Haible  <bruno@clisp.org>
9200
9201         setlocale: Prefer gnulib's override over libintl's override.
9202         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
9203         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
9204         GNULIB_defined_setlocale is set.
9205
9206 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
9207
9208         stdlib: support non-GCC __attribute__
9209
9210         Fix a serious and tricky problem encountered when attempting to
9211         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
9212         5.5, but it crashed due to memory corruption on Solaris 10 with
9213         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
9214         bits that are otherwise zero.  This tagging is optional inside
9215         Emacs but is preferred and is used when __attribute__ ((__aligned
9216         (8))) works, as it does with both recent-enough GCC and with Sun C
9217         5.11.  However, Sun C 5.11 is not GCC and does not #define
9218         __GNUC__ and __GNUC_MINOR__.
9219
9220         When I added the getloadavg module to Emacs, it brought in
9221         stdlib.in.h, which contained this fragment:
9222
9223            #ifndef __attribute__
9224            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
9225            #  define __attribute__(Spec)   /* empty */
9226            # endif
9227            #endif
9228
9229         When files that include <stdlib.h> were compiled with Sun C 5.11,
9230         the above code disabled __attribute__ ((__aligned (8))), which
9231         caused variables to not be properly aligned, which eventually led
9232         to the pointer corruption mentioned above.  (This was a bit hard
9233         to diagnose, unfortunately.)
9234
9235         Several "#define __attribute__(X) /* empty */" code snippets need
9236         to be eradicated from Gnulib to work with non-GCC compilers that
9237         support __attribute__.  The Autoconf way to do this is to test for
9238         each kind of attribute that we want support for, and selectively
9239         enable that in source code.
9240
9241         Fix this problem just for stdlib.h, by adding a test for the
9242         __noreturn__ attribute, and change stdlib.in.h to use that test
9243         when needed.  This technique can be easily generalized to the
9244         other *.in.h files and attributes, and a similar technique can be
9245         used for *.h and *.c files.  This patch is enough to solve the
9246         problem for Emacs + getloadavg, and I thought I'd publish it for
9247         feedback before undertaking further, similar fixes in other
9248         modules.
9249
9250         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
9251         because it's not needed for stdlib.h.  It merely substitutes the
9252         value directly into stdlib.h.  We may well need to #define it, or
9253         similar symbols, for other modules, but it's nice to also have an
9254         option to not #define it for applications like Emacs that do not
9255         need it.
9256
9257         * lib/stdlib.in.h (__attribute__): Do not #define.
9258         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
9259         be defined only if the _Exit module is also used.
9260         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
9261         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
9262         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
9263         platforms.
9264         * modules/_Exit (Files): Add m4/attribute.m4.
9265         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
9266         * m4/attribute.m4: New file.
9267
9268 2011-02-12  Bruno Haible  <bruno@clisp.org>
9269
9270         wcsrtombs: Work around bug on native Windows.
9271         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
9272         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
9273         instead of len.
9274         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
9275
9276 2011-02-12  Bruno Haible  <bruno@clisp.org>
9277
9278         mbsrtowcs: Work around bug on native Windows.
9279         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
9280         against mingw bug.
9281         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
9282
9283 2011-02-12  Bruno Haible  <bruno@clisp.org>
9284
9285         Avoid setlocale bugs in tests.
9286         * modules/btowc (Dependencies): Add setlocale.
9287         * modules/c-strcase (Dependencies): Likewise.
9288         * modules/mbmemcasecmp (Dependencies): Likewise.
9289         * modules/mbmemcasecoll (Dependencies): Likewise.
9290         * modules/mbrtowc (Dependencies): Likewise.
9291         * modules/mbscasecmp (Dependencies): Likewise.
9292         * modules/mbscasestr (Dependencies): Likewise.
9293         * modules/mbschr (Dependencies): Likewise.
9294         * modules/mbscspn (Dependencies): Likewise.
9295         * modules/mbsinit (Dependencies): Likewise.
9296         * modules/mbsncasecmp (Dependencies): Likewise.
9297         * modules/mbsnrtowcs (Dependencies): Likewise.
9298         * modules/mbspbrk (Dependencies): Likewise.
9299         * modules/mbspcasecmp (Dependencies): Likewise.
9300         * modules/mbsrchr (Dependencies): Likewise.
9301         * modules/mbsrtowcs (Dependencies): Likewise.
9302         * modules/mbsspn (Dependencies): Likewise.
9303         * modules/mbsstr (Dependencies): Likewise.
9304         * modules/nl_langinfo (Dependencies): Likewise.
9305         * modules/quotearg (Dependencies): Likewise.
9306         * modules/unicase/locale-language (Dependencies): Likewise.
9307         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
9308         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
9309         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
9310         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
9311         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
9312         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
9313         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
9314         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
9315         * modules/vasnprintf-posix (Dependencies): Likewise.
9316         * modules/wcrtomb (Dependencies): Likewise.
9317         * modules/wcsnrtombs (Dependencies): Likewise.
9318         * modules/wcsrtombs (Dependencies): Likewise.
9319
9320 2011-02-12  Bruno Haible  <bruno@clisp.org>
9321
9322         setlocale: Workaround native Windows bug.
9323         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
9324         succeeds but sets LC_CTYPE to "C", report a failure.
9325         * tests/test-setlocale2.sh: New file.
9326         * tests/test-setlocale2.c: New file.
9327         * modules/setlocale-tests (Files): Add the new files.
9328         (Makefile.am): Enable test-setlocale2.sh test.
9329         * doc/posix-functions/setlocale.texi: Mention workaround.
9330
9331 2011-02-11  Bruno Haible  <bruno@clisp.org>
9332
9333         Tests for module 'setlocale'.
9334         * modules/setlocale-tests: New file.
9335         * tests/test-setlocale1.sh: New file.
9336         * tests/test-setlocale1.c: New file.
9337
9338         New module 'setlocale'.
9339         * lib/locale.in.h (setlocale): New declaration.
9340         * lib/setlocale.c: New file, based on
9341         gettext/gettext-runtime/intl/setlocale.c.
9342         * m4/setlocale.m4: New file.
9343         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
9344         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
9345         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
9346         REPLACE_SETLOCALE.
9347         * modules/setlocale: New file.
9348         * tests/test-locale-c++.cc: Test the declaration of setlocale.
9349         * doc/posix-functions/setlocale.texi: Mention the new module.
9350
9351 2011-02-11  Bruno Haible  <bruno@clisp.org>
9352
9353         Prepare for locale dependent tests on mingw.
9354         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
9355         because it has the wrong locale encoding.
9356         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
9357         French_France.1252 instead of "fr".
9358         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
9359         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
9360         because it has the wrong locale encoding.
9361         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
9362         native Windows, try Turkish_Turkey.65001.
9363         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
9364         Chinese_China.54936.
9365
9366         Prepare for locale dependent tests on mingw.
9367         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
9368         differently.
9369         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
9370         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
9371         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
9372         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
9373
9374 2011-02-11  Eric Blake  <eblake@redhat.com>
9375
9376         strptime: avoid compiler warnings
9377         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
9378         compiler warnings about dead code.
9379         Reported by Daniel P. Berrange.
9380
9381 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
9382
9383         doc: update users.txt
9384         * users.txt: Add rcs.
9385
9386 2011-02-10  John W. Eaton  <jwe@gnu.org>
9387
9388         doc: update users.txt
9389         * users.txt: Add octave.
9390
9391 2011-02-10  Jim Meyering  <meyering@redhat.com>
9392
9393         doc: update users.txt
9394         * users.txt: Add iwhd.
9395
9396 2011-02-09  Bruno Haible  <bruno@clisp.org>
9397
9398         gnulib-tool: Make copyright notice adjustment more robust.
9399         * gnulib-tool (func_import): In sed_transform_main_lib_file,
9400         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
9401         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
9402         License".
9403         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
9404
9405 2011-02-06  Bruno Haible  <bruno@clisp.org>
9406
9407         New module 'towctrans'.
9408         * modules/towctrans: New file.
9409         * lib/wctype.in.h (towctrans): New declaration.
9410         * lib/towctrans.c: New file.
9411         * lib/towctrans-impl.h: New file.
9412         * m4/towctrans.m4: New file.
9413         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
9414         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
9415         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
9416         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
9417         * doc/posix-functions/towctrans.texi: Mention the new module.
9418
9419 2011-02-06  Bruno Haible  <bruno@clisp.org>
9420
9421         New module 'wctrans'.
9422         * modules/wctrans: New file.
9423         * lib/wctype.in.h (wctrans): New declaration.
9424         * lib/wctrans.c: New file.
9425         * lib/wctrans-impl.h: New file.
9426         * m4/wctrans.m4: New file.
9427         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
9428         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
9429         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
9430         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
9431         * doc/posix-functions/wctrans.texi: Mention the new module.
9432
9433 2011-02-06  Bruno Haible  <bruno@clisp.org>
9434
9435         New module 'iswctype'.
9436         * modules/iswctype: New file.
9437         * lib/wctype.in.h (iswctype): New declaration.
9438         * lib/iswctype.c: New file.
9439         * lib/iswctype-impl.h: New file.
9440         * m4/iswctype.m4: New file.
9441         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
9442         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
9443         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
9444         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
9445         * doc/posix-functions/iswctype.texi: Mention the new module and the
9446         HP-UX 11.00 problem.
9447
9448 2011-02-06  Bruno Haible  <bruno@clisp.org>
9449
9450         New module 'wctype'.
9451         * modules/wctype: Change to represent the wctype() substitute.
9452         * lib/wctype.in.h (wctype): New declaration.
9453         * lib/wctype.c: New file.
9454         * lib/wctype-impl.h: New file.
9455         * m4/wctype.m4: New file.
9456         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
9457         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
9458         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
9459         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
9460         * doc/posix-functions/wctype.texi: Mention the new module and the
9461         HP-UX 11.00 problem.
9462
9463 2011-02-06  Bruno Haible  <bruno@clisp.org>
9464
9465         wctype-h: Ensure wctype_t and wctrans_t are defined.
9466         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
9467         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
9468         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
9469         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
9470         HAVE_WCTRANS_T.
9471         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
9472
9473 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
9474
9475         flock: fix license typo
9476
9477         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
9478         omitted.
9479
9480 2011-02-08  Bruno Haible  <bruno@clisp.org>
9481
9482         Split large sed scripts, for HP-UX sed.
9483         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
9484         to avoid HP-UX limit of 99 commands, in the near future.
9485         * modules/stdlib (Makefile.am): Likewise.
9486         * modules/unistd (Makefile.am): Likewise.
9487         * modules/wchar (Makefile.am): Likewise.
9488         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9489         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
9490         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
9491
9492 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
9493             Bruno Haible  <bruno@clisp.org>
9494
9495         stdlib: improve random_r modularization
9496         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
9497         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
9498         you also need the random_r module to get this material right.
9499         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
9500         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
9501         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
9502
9503 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
9504
9505         stdlib: don't depend on stdint
9506         * lib/stdlib.in.h: Don't include <stdint.h> merely because
9507         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
9508         be independent of whether stdint.h is needed.
9509         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
9510         here, instead of ...
9511         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
9512         struct random_data should be using the random_r module, not just
9513         the stdlib module (which wouldn't make sense: what package needs
9514         just struct random_data without also needing random_r?).
9515         * modules/stdlib (Depends-on): Remove stdint.
9516
9517         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
9518         See the thread rooted at
9519         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
9520         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
9521         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
9522         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
9523         __VMS)); previously it was always included (via fcntl--.h).
9524         (getloadavg): Do not use c_strtod.  Instead, approximate it by
9525         hand; this is good enough for load averages.  Also, do not use
9526         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
9527         flags directly if available and don't bother otherwise.  (Packages
9528         that need the extra reliability should use the modules that define
9529         these flags on older platforms that lack them.)
9530         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
9531         fcntl-safer.
9532
9533 2011-02-08  Jim Meyering  <meyering@redhat.com>
9534
9535         di-set.h, ino-map.h: add multiple-inclusion guard
9536         Technically, the guard is required only for ino-map.h, due to its
9537         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
9538         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
9539         * lib/ino-map.h: Likewise.
9540
9541 2011-02-06  Bruno Haible  <bruno@clisp.org>
9542
9543         iswblank: Ensure declaration on glibc systems.
9544         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
9545         * modules/iswblank (Dependencies): Add 'extensions'.
9546         * doc/posix-functions/iswblank.texi: Document the glibc problem.
9547
9548 2011-02-06  Bruno Haible  <bruno@clisp.org>
9549
9550         New module 'iswblank'.
9551         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
9552         * modules/iswblank: New file.
9553         * modules/wctype-h (Files): Remove lib/iswblank.c.
9554         (Makefile.am): Substitute GNULIB_ISWBLANK.
9555         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
9556         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
9557         (gl_WCTYPE_H_DEFAULTS): New macro.
9558         (gl_WCTYPE_H): Require it. Remove iswblank related code.
9559         * modules/iswblank-tests: New file.
9560         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
9561         * tests/test-wctype-h.c (main): Remove iswblank tests.
9562         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
9563         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
9564         of 'wctype-h'.
9565         * NEWS: Mention the change.
9566         * modules/mbchar (Depends-on): Add iswblank.
9567
9568 2011-02-08  Bruno Haible  <bruno@clisp.org>
9569
9570         di-set tests: Refactor.
9571         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
9572         unnecessary includes.
9573         (ASSERT): Remove macro.
9574         (main): Make C90 compliant by avoiding variable declaration after
9575         statement.
9576         * modules/di-set-tests (Files): Add tests/macros.h.
9577
9578 2011-02-08  Bruno Haible  <bruno@clisp.org>
9579
9580         ino-map tests: Refactor.
9581         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
9582         unnecessary includes.
9583         (ASSERT): Remove macro.
9584         (main): Make C90 compliant by avoiding variable declaration after
9585         statement.
9586         * modules/ino-map-tests (Files): Add tests/macros.h.
9587
9588 2011-02-08  Jim Meyering  <meyering@redhat.com>
9589
9590         di-set: add "const" to a cast
9591         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
9592         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
9593
9594 2011-02-06  Bruno Haible  <bruno@clisp.org>
9595
9596         Rename module 'wctype' to 'wctype-h'.
9597         * modules/wctype-h: Renamed from modules/wctype.
9598         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
9599         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
9600         (Files, Depends-on, Makefile.am): Update.
9601         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
9602         (Files, Makefile.am): Update.
9603         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
9604         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
9605         * doc/posix-headers/wctype.texi: Update.
9606         * doc/posix-functions/iswalnum.texi: Update.
9607         * doc/posix-functions/iswalpha.texi: Update.
9608         * doc/posix-functions/iswblank.texi: Update.
9609         * doc/posix-functions/iswcntrl.texi: Update.
9610         * doc/posix-functions/iswdigit.texi: Update.
9611         * doc/posix-functions/iswgraph.texi: Update.
9612         * doc/posix-functions/iswlower.texi: Update.
9613         * doc/posix-functions/iswprint.texi: Update.
9614         * doc/posix-functions/iswpunct.texi: Update.
9615         * doc/posix-functions/iswspace.texi: Update.
9616         * doc/posix-functions/iswupper.texi: Update.
9617         * doc/posix-functions/iswxdigit.texi: Update.
9618         * doc/posix-functions/towlower.texi: Update.
9619         * doc/posix-functions/towupper.texi: Update.
9620         * NEWS: Mention the change.
9621         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
9622         * modules/mbchar (Dependencies): Likewise.
9623         * modules/mbswidth (Dependencies): Likewise.
9624         * modules/quotearg (Dependencies): Likewise.
9625         * modules/regex (Dependencies): Likewise.
9626         * modules/wcscasecmp (Dependencies): Likewise.
9627         * modules/wcsncasecmp (Dependencies): Likewise.
9628         * modules/wcwidth (Dependencies): Likewise.
9629
9630 2011-02-06  Bruno Haible  <bruno@clisp.org>
9631
9632         New module 'wcswidth'.
9633         * modules/wcswidth: New file.
9634         * lib/wchar.in.h (wcswidth): New declaration.
9635         * lib/wcswidth.c: New file.
9636         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
9637         * m4/wcswidth.m4: New file.
9638         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
9639         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
9640         REPLACE_WCSWIDTH.
9641         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
9642         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
9643         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
9644         * doc/posix-functions/wcswidth.texi: Mention the new module.
9645
9646 2011-02-06  Bruno Haible  <bruno@clisp.org>
9647
9648         New module 'wcstok'.
9649         * modules/wcstok: New file.
9650         * lib/wchar.in.h (wcstok): New declaration.
9651         * lib/wcstok.c: New file.
9652         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
9653         * m4/wcstok.m4: New file.
9654         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
9655         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
9656         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
9657         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
9658         * doc/posix-functions/wcstok.texi: Mention the new module.
9659
9660 2011-02-06  Bruno Haible  <bruno@clisp.org>
9661
9662         New module 'wcsstr'.
9663         * modules/wcsstr: New file.
9664         * lib/wchar.in.h (wcsstr): New declaration.
9665         * lib/wcsstr.c: New file.
9666         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
9667         * m4/wcsstr.m4: New file.
9668         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
9669         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
9670         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
9671         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
9672         * doc/posix-functions/wcsstr.texi: Mention the new module.
9673
9674 2011-02-06  Bruno Haible  <bruno@clisp.org>
9675
9676         New module 'wcspbrk'.
9677         * modules/wcspbrk: New file.
9678         * lib/wchar.in.h (wcspbrk): New declaration.
9679         * lib/wcspbrk.c: New file.
9680         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
9681         * m4/wcspbrk.m4: New file.
9682         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
9683         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
9684         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
9685         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
9686         * doc/posix-functions/wcspbrk.texi: Mention the new module.
9687
9688 2011-02-06  Bruno Haible  <bruno@clisp.org>
9689
9690         New module 'wcsspn'.
9691         * modules/wcsspn: New file.
9692         * lib/wchar.in.h (wcsspn): New declaration.
9693         * lib/wcsspn.c: New file.
9694         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
9695         * m4/wcsspn.m4: New file.
9696         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
9697         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
9698         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
9699         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
9700         * doc/posix-functions/wcsspn.texi: Mention the new module.
9701
9702 2011-02-06  Bruno Haible  <bruno@clisp.org>
9703
9704         New module 'wcscspn'.
9705         * modules/wcscspn: New file.
9706         * lib/wchar.in.h (wcscspn): New declaration.
9707         * lib/wcscspn.c: New file.
9708         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
9709         * m4/wcscspn.m4: New file.
9710         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
9711         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
9712         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
9713         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
9714         * doc/posix-functions/wcscspn.texi: Mention the new module.
9715
9716 2011-02-06  Bruno Haible  <bruno@clisp.org>
9717
9718         New module 'wcsrchr'.
9719         * modules/wcsrchr: New file.
9720         * lib/wchar.in.h (wcsrchr): New declaration.
9721         * lib/wcsrchr.c: New file.
9722         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
9723         * m4/wcsrchr.m4: New file.
9724         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
9725         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
9726         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
9727         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
9728         * doc/posix-functions/wcsrchr.texi: Mention the new module.
9729
9730 2011-02-06  Bruno Haible  <bruno@clisp.org>
9731
9732         New module 'wcschr'.
9733         * modules/wcschr: New file.
9734         * lib/wchar.in.h (wcschr): New declaration.
9735         * lib/wcschr.c: New file.
9736         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
9737         * m4/wcschr.m4: New file.
9738         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
9739         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
9740         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
9741         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
9742         * doc/posix-functions/wcschr.texi: Mention the new module.
9743
9744 2011-02-06  Bruno Haible  <bruno@clisp.org>
9745
9746         New module 'wcsdup'.
9747         * modules/wcsdup: New file.
9748         * lib/wchar.in.h (wcsdup): New declaration.
9749         * lib/wcsdup.c: New file.
9750         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
9751         * m4/wcsdup.m4: New file.
9752         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
9753         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
9754         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
9755         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
9756         * doc/posix-functions/wcsdup.texi: Mention the new module.
9757
9758 2011-02-06  Bruno Haible  <bruno@clisp.org>
9759
9760         New module 'wcsxfrm'.
9761         * modules/wcsxfrm: New file.
9762         * lib/wchar.in.h (wcsxfrm): New declaration.
9763         * lib/wcsxfrm.c: New file.
9764         * lib/wcsxfrm-impl.h: New file.
9765         * m4/wcsxfrm.m4: New file.
9766         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
9767         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
9768         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
9769         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
9770         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
9771
9772 2011-02-06  Bruno Haible  <bruno@clisp.org>
9773
9774         New module 'wcscoll'.
9775         * modules/wcscoll: New file.
9776         * lib/wchar.in.h (wcscoll): New declaration.
9777         * lib/wcscoll.c: New file.
9778         * lib/wcscoll-impl.h: New file.
9779         * m4/wcscoll.m4: New file.
9780         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
9781         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
9782         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
9783         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
9784         * doc/posix-functions/wcscoll.texi: Mention the new module.
9785
9786 2011-02-06  Bruno Haible  <bruno@clisp.org>
9787
9788         New module 'wcsncasecmp'.
9789         * modules/wcsncasecmp: New file.
9790         * lib/wchar.in.h (wcsncasecmp): New declaration.
9791         * lib/wcsncasecmp.c: New file.
9792         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
9793         * m4/wcsncasecmp.m4: New file.
9794         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
9795         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
9796         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
9797         HAVE_WCSNCASECMP.
9798         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
9799         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
9800
9801 2011-02-06  Bruno Haible  <bruno@clisp.org>
9802
9803         New module 'wcscasecmp'.
9804         * modules/wcscasecmp: New file.
9805         * lib/wchar.in.h (wcscasecmp): New declaration.
9806         * lib/wcscasecmp.c: New file.
9807         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
9808         * m4/wcscasecmp.m4: New file.
9809         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
9810         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
9811         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
9812         HAVE_WCSCASECMP.
9813         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
9814         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
9815
9816 2011-02-05  Bruno Haible  <bruno@clisp.org>
9817
9818         New module 'wcsncmp'.
9819         * modules/wcsncmp: New file.
9820         * lib/wchar.in.h (wcsncmp): New declaration.
9821         * lib/wcsncmp.c: New file.
9822         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
9823         * m4/wcsncmp.m4: New file.
9824         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
9825         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
9826         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
9827         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
9828         * doc/posix-functions/wcsncmp.texi: Mention the new module.
9829
9830 2011-02-05  Bruno Haible  <bruno@clisp.org>
9831
9832         New module 'wcscmp'.
9833         * modules/wcscmp: New file.
9834         * lib/wchar.in.h (wcscmp): New declaration.
9835         * lib/wcscmp.c: New file.
9836         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
9837         * m4/wcscmp.m4: New file.
9838         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
9839         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
9840         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
9841         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
9842         * doc/posix-functions/wcscmp.texi: Mention the new module.
9843
9844 2011-02-05  Bruno Haible  <bruno@clisp.org>
9845
9846         New module 'wcsncat'.
9847         * modules/wcsncat: New file.
9848         * lib/wchar.in.h (wcsncat): New declaration.
9849         * lib/wcsncat.c: New file.
9850         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
9851         * m4/wcsncat.m4: New file.
9852         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
9853         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
9854         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
9855         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
9856         * doc/posix-functions/wcsncat.texi: Mention the new module.
9857
9858 2011-02-05  Bruno Haible  <bruno@clisp.org>
9859
9860         New module 'wcscat'.
9861         * modules/wcscat: New file.
9862         * lib/wchar.in.h (wcscat): New declaration.
9863         * lib/wcscat.c: New file.
9864         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
9865         * m4/wcscat.m4: New file.
9866         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
9867         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
9868         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
9869         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
9870         * doc/posix-functions/wcscat.texi: Mention the new module.
9871
9872 2011-02-05  Bruno Haible  <bruno@clisp.org>
9873
9874         New module 'wcpncpy'.
9875         * modules/wcpncpy: New file.
9876         * lib/wchar.in.h (wcpncpy): New declaration.
9877         * lib/wcpncpy.c: New file.
9878         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
9879         * m4/wcpncpy.m4: New file.
9880         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
9881         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
9882         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
9883         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
9884         * doc/posix-functions/wcpncpy.texi: Mention the new module.
9885
9886 2011-02-05  Bruno Haible  <bruno@clisp.org>
9887
9888         New module 'wcsncpy'.
9889         * modules/wcsncpy: New file.
9890         * lib/wchar.in.h (wcsncpy): New declaration.
9891         * lib/wcsncpy.c: New file.
9892         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
9893         * m4/wcsncpy.m4: New file.
9894         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
9895         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
9896         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
9897         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
9898         * doc/posix-functions/wcsncpy.texi: Mention the new module.
9899
9900 2011-02-05  Bruno Haible  <bruno@clisp.org>
9901
9902         New module 'wcpcpy'.
9903         * modules/wcpcpy: New file.
9904         * lib/wchar.in.h (wcpcpy): New declaration.
9905         * lib/wcpcpy.c: New file.
9906         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
9907         * m4/wcpcpy.m4: New file.
9908         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
9909         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
9910         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
9911         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
9912         * doc/posix-functions/wcpcpy.texi: Mention the new module.
9913
9914 2011-02-05  Bruno Haible  <bruno@clisp.org>
9915
9916         New module 'wcscpy'.
9917         * modules/wcscpy: New file.
9918         * lib/wchar.in.h (wcscpy): New declaration.
9919         * lib/wcscpy.c: New file.
9920         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
9921         * m4/wcscpy.m4: New file.
9922         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
9923         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
9924         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
9925         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
9926         * doc/posix-functions/wcscpy.texi: Mention the new module.
9927
9928 2011-02-05  Bruno Haible  <bruno@clisp.org>
9929
9930         New module 'wcsnlen'.
9931         * modules/wcsnlen: New file.
9932         * lib/wchar.in.h (wcsnlen): New declaration.
9933         * lib/wcsnlen.c: New file.
9934         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
9935         * m4/wcsnlen.m4: New file.
9936         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
9937         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
9938         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
9939         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
9940         * doc/posix-functions/wcsnlen.texi: Mention the new module.
9941
9942 2011-02-05  Bruno Haible  <bruno@clisp.org>
9943
9944         New module 'wcslen'.
9945         * modules/wcslen: New file.
9946         * lib/wchar.in.h (wcslen): New declaration.
9947         * lib/wcslen.c: New file.
9948         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
9949         * m4/wcslen.m4: New file.
9950         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
9951         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
9952         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
9953         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
9954         * doc/posix-functions/wcslen.texi: Mention the new module.
9955
9956 2011-02-05  Bruno Haible  <bruno@clisp.org>
9957
9958         New module 'wmemset'.
9959         * modules/wmemset: New file.
9960         * lib/wchar.in.h (wmemset): New declaration.
9961         * lib/wmemset.c: New file.
9962         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
9963         * m4/wmemset.m4: New file.
9964         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
9965         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
9966         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
9967         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
9968         * doc/posix-functions/wmemset.texi: Mention the new module.
9969
9970 2011-02-05  Bruno Haible  <bruno@clisp.org>
9971
9972         New module 'wmemmove'.
9973         * modules/wmemmove: New file.
9974         * lib/wchar.in.h (wmemmove): New declaration.
9975         * lib/wmemmove.c: New file.
9976         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
9977         * m4/wmemmove.m4: New file.
9978         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
9979         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
9980         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
9981         HAVE_WMEMMOVE.
9982         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
9983         * doc/posix-functions/wmemmove.texi: Mention the new module.
9984
9985 2011-02-05  Bruno Haible  <bruno@clisp.org>
9986
9987         New module 'wmemcpy'.
9988         * modules/wmemcpy: New file.
9989         * lib/wchar.in.h (wmemcpy): New declaration.
9990         * lib/wmemcpy.c: New file.
9991         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
9992         * m4/wmemcpy.m4: New file.
9993         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
9994         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
9995         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
9996         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
9997         * doc/posix-functions/wmemcpy.texi: Mention the new module.
9998
9999 2011-02-05  Bruno Haible  <bruno@clisp.org>
10000
10001         New module 'wmemcmp'.
10002         * modules/wmemcmp: New file.
10003         * lib/wchar.in.h (wmemcmp): New declaration.
10004         * lib/wmemcmp.c: New file.
10005         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
10006         * m4/wmemcmp.m4: New file.
10007         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
10008         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
10009         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
10010         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
10011         * doc/posix-functions/wmemcmp.texi: Mention the new module.
10012
10013 2011-02-07  Jim Meyering  <meyering@redhat.com>
10014
10015         di-set, ino-map: new modules, from coreutils
10016         * lib/di-set.c: New file.
10017         * lib/di-set.h: Likewise.
10018         * lib/ino-map.c: Likewise.
10019         * lib/ino-map.h: Likewise.
10020         * modules/di-set: Likewise.
10021         * modules/di-set-tests: Likewise.
10022         * modules/ino-map: Likewise.
10023         * modules/ino-map-tests: Likewise.
10024         * tests/test-di-set.c: Likewise.
10025         * tests/test-ino-map.c: Likewise.
10026
10027 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
10028
10029         getloadavg: merge minor changes from Emacs
10030
10031         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
10032         (getloadavg): Use memset, not bzero.
10033
10034         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
10035         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
10036         clash (bug#86).
10037
10038 2010-11-14  Bruno Haible  <bruno@clisp.org>
10039
10040         Allow multiple gnulib generated replacements to coexist.
10041         * lib/getopt.in.h (struct option): Avoid identical redefinition.
10042         * lib/inttypes.in.h (imaxdiv_t): Likewise.
10043         * lib/langinfo.in.h (nl_item): Likewise.
10044         * lib/math.in.h (_NaN, NAN): Likewise.
10045         * lib/netdb.in.h (struct addrinfo): Likewise.
10046         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
10047         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
10048         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
10049         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
10050         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
10051         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
10052         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
10053         pthread_mutexattr_init, pthread_mutexattr_settype,
10054         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
10055         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
10056         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
10057         pthread_spin_trylock, pthread_spin_unlock): Likewise.
10058         * lib/sched.in.h (struct sched_param): Likewise.
10059         * lib/se-selinux.in.h (security_class_t, security_context_t,
10060         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
10061         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
10062         lsetfilecon, fsetfilecon, security_check_context,
10063         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
10064         Likewise.
10065         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
10066         Likewise.
10067         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
10068         _gl_function_taking_int_returning_void_t, union sigval,
10069         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
10070         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
10071         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
10072         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
10073         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
10074         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
10075         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
10076         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
10077         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
10078         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
10079         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
10080         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
10081         socklen_t, rpl_fd_isset): Likewise.
10082         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
10083         * lib/sys_time.in.h (struct timeval): Likewise.
10084         * lib/sys_times.in.h (struct tms): Likewise.
10085         * lib/sys_utsname.in.h (struct utsname):
10086         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
10087         * lib/unistd.in.h (getpagesize): Likewise.
10088         * lib/wchar.in.h (mbstate_t): Likewise.
10089         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
10090         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
10091         towlower, towupper): Likewise.
10092         Reported by Sam Steingold <sds@gnu.org>.
10093
10094 2011-02-05  Eric Blake  <eblake@redhat.com>
10095
10096         unsetenv: work around Haiku issues
10097         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
10098         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
10099
10100 2010-12-30  Bruce Korb  <bkorb@gnu.org>
10101
10102         libposix: avoid calling error() within libposix
10103         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
10104         is defined.
10105
10106 2011-02-05  Eric Blake  <eblake@redhat.com>
10107
10108         strerror_r-posix: port to cygwin
10109         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
10110         implementation.
10111         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
10112         * tests/test-strerror_r.c (main): Fix test.
10113         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
10114         issue.
10115
10116 2011-02-05  Bruno Haible  <bruno@clisp.org>
10117
10118         New module 'wmemchr'.
10119         * modules/wmemchr: New file.
10120         * lib/wchar.in.h (wmemchr): New declaration.
10121         * lib/wmemchr.c: New file.
10122         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
10123         * m4/wmemchr.m4: New file.
10124         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
10125         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
10126         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
10127         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
10128         * doc/posix-functions/wmemchr.texi: Mention the new module.
10129
10130 2011-02-04  Eric Blake  <eblake@redhat.com>
10131
10132         fdopendir: detect FreeBSD bug
10133         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
10134         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
10135
10136 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
10137
10138         stdbool: do not define HAVE_STDBOOL_H
10139         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
10140         AC_HEADER_STDBOOL.  All uses changed.  Do not define
10141         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
10142         imported from the latest Autoconf git.  It was motivated by Emacs,
10143         which uses gnulib but does not need HAVE_STDBOOL_H.
10144
10145 2011-02-04  Bruno Haible  <bruno@clisp.org>
10146
10147         wcsnrtombs: Prepare for new module wwcsnrtombs.
10148         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
10149         * lib/wcsnrtombs.c: Include it.
10150         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
10151
10152         wcsrtombs: Prepare for new module wwcsrtombs.
10153         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
10154         * lib/wcsrtombs.c: Include it.
10155         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
10156
10157         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
10158         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
10159         * lib/mbsnrtowcs.c: Include it.
10160         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
10161
10162         mbsrtowcs: Prepare for new module mbsrtowwcs.
10163         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
10164         * lib/mbsrtowcs.c: Include it.
10165         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
10166
10167 2011-02-04  Bruno Haible  <bruno@clisp.org>
10168
10169         vasnprintf: Reduce use of malloc for small format strings.
10170         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
10171         (arguments): Add room for the first 7 arguments.
10172         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
10173         (char_directives, u8_directives, u16_directives, u32_directives): Add
10174         room for the first 7 directives.
10175         * lib/printf-parse.c: Include <string.h>.
10176         (PRINTF_PARSE): Change memory handling code so that it uses the first
10177         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
10178         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
10179         Reported by PĂ¡draig Brady <P@draigbrady.com>.
10180
10181 2011-01-31  Eric Blake  <eblake@redhat.com>
10182
10183         dup2: work around Haiku bug
10184         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
10185         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
10186         * doc/posix-functions/dup2.texi (dup2): Document the bug.
10187         * tests/test-dup2.c (main): Enhance test.
10188
10189 2011-01-31  Simon Josefsson  <simon@josefsson.org>
10190
10191         doc: off_t is not available in eglibc 2.11.2 stdio.h.
10192         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
10193         declared by eglibc 2.11.2.
10194         * lib/stdio.in.h: Likewise.
10195
10196 2011-01-31  Eric Blake  <eblake@redhat.com>
10197
10198         ignore-value: add missing test dependency
10199         * tests/test-ignore-value.c: Revert previous change; stdio.h
10200         provides off_t.
10201         * modules/ignore-value-tests (Depends-on): Add missing dependency.
10202
10203 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
10204
10205         mktime: clarify long_int width checking
10206         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
10207         the top level, to make it clearer that the assumption about
10208         long_int width is being checked.  See
10209         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
10210
10211 2011-01-30  Simon Josefsson  <simon@josefsson.org>
10212
10213         ignore-value: Fix self-test.
10214         * tests/test-ignore-value.c: Include sys/types.h for off_t.
10215
10216 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
10217
10218         TYPE_MAXIMUM: avoid theoretically undefined behavior
10219         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
10220         negative number, which the C Standard says has undefined behavior.
10221         In practice this is not a problem, but might as well do it by the book.
10222         Reported by Rich Felker and Eric Blake; see
10223         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
10224         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
10225         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
10226         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10227         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
10228         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10229         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
10230
10231         mktime: #undef mktime before #defining it
10232         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
10233
10234         mktime: systematically normalize tm_isdst comparisons
10235         * lib/mktime.c (isdst_differ): New function.
10236         (__mktime_internal): Use it systematically for all isdst comparisons.
10237         This completes the fix for libc BZ #6723, and removes the need for
10238         normalizing tm_isdst.  See
10239         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
10240         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
10241
10242         mktime: fix some integer overflow issues and sidestep the rest
10243
10244         This was prompted by a bug report by Benjamin Lindner for MinGW
10245         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
10246         His bug is due to signed integer overflow (0 - INT_MIN), and I
10247         I scanned through mktime.c looking for other integer overflow
10248         problems, fixing all the bugs I found.
10249
10250         Although the C Standard says the resulting code is still not safe
10251         in the presence of integer overflow, in practice it should be good
10252         enough for all real-world two's-complement implementations, except
10253         for debugging environments that deliberately trap on integer
10254         overflow (e.g., gcc -ftrapv).
10255
10256         * lib/mktime.c (WRAPV): New macro.
10257         (SHR): Also check that long_int and time_t shift right in the
10258         usual way, before using the fast-but-unportable method.
10259         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
10260         used.  The code already assumed two's complement, so there's
10261         no need to test for alternatives.  All uses removed.
10262         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
10263         the C standard.  Problem reported by Rich Felker in
10264         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
10265         (twos_complement_arithmetic): Also check long_int and time_t.
10266         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
10267         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
10268         (__mktime_internal): Avoid integer overflow with unary subtraction
10269         in two instances where -1 - X is an adequate replacement for -X,
10270         since the calculations are approximate.
10271
10272 2011-01-29  Eric Blake  <eblake@redhat.com>
10273
10274         mktime: avoid infinite loop
10275         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
10276         type; behavior is still undefined but portable to all known targets.
10277         Reported by Rich Felker.
10278
10279 2011-01-29  Simon Josefsson  <simon@josefsson.org>
10280
10281         rename, unlink, same-inode: Relicense.
10282         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
10283         * modules/unlink (License): Likewise.
10284         * modules/same-inode (License): Likewise.
10285
10286 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
10287
10288         mktime: avoid problems on NetBSD 5 / i386
10289         * lib/mktime.c (long_int): New type.  This works around a problem
10290         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
10291         but time_t is 64 bits, and where I expect the existing code is
10292         wrong in some cases.
10293         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
10294         (ydhms_diff): Bring back the compile-time check for wide-enough
10295         year and yday.
10296
10297         mktime: fix misspelling in comment
10298         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
10299         This merges all recent glibc changes of importance.
10300
10301 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10302
10303         move-if-change: cope with concurrent mv of identical file.
10304         * build-aux/move-if-change (CMPPROG): Accept environment
10305         variable as an override for `cmp'.
10306         (usage): Document CMPPROG.
10307         Adjust comparison to drop stdout.  Cope with failure of mv if
10308         the target file exists and is identical to the source, for
10309         parallel builds.
10310         Report from H.J. Lu against binutils in PR binutils/12283.
10311
10312 2011-01-28  Bruce Korb  <bkorb@gnu.org>
10313
10314         * users.txt: Mention sharutils.
10315
10316 2011-01-28  Simon Josefsson  <simon@josefsson.org>
10317
10318         * users.txt: Mention OATH Toolkit.
10319
10320 2011-01-27  Bruno Haible  <bruno@clisp.org>
10321
10322         Prepare for supporting FreeBSD 10.
10323         * build-aux/config.libpath: Remove handling of freebsd1*.
10324
10325 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
10326
10327         Prepare for supporting FreeBSD 10.
10328         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
10329         match FreeBSD 10.0.
10330
10331 2011-01-27  Bruno Haible  <bruno@clisp.org>
10332
10333         vma-iter, get-rusage-as: Add OpenBSD support.
10334         * modules/vma-iter (configure.ac): Test for mquery.
10335         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
10336         * lib/vma-iter.c: Include <sys/mman.h>.
10337         (vma_iterate): Add an implementation based on mquery().
10338         * lib/resource-ext.h (get_rusage_as): Update comments.
10339         * lib/get-rusage-as.c: Likewise.
10340         * lib/get-rusage-data.c: Likewise.
10341
10342 2011-01-26  Karl Berry  <karl@gnu.org>
10343
10344         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
10345         variables to make it easier to override the makeinfo program used.
10346
10347 2011-01-26  Eric Blake  <eblake@redhat.com>
10348
10349         fcntl: work around Haiku F_DUPFD bugs
10350         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
10351         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
10352         cloexec bit on duplication.
10353         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
10354
10355 2011-01-26  Bruno Haible  <bruno@clisp.org>
10356
10357         Enable memory leak tests on AIX.
10358         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
10359         * tests/test-fprintf-posix3.c (main): Likewise.
10360
10361 2011-01-26  Bruno Haible  <bruno@clisp.org>
10362
10363         Tests for module 'get-rusage-data'.
10364         * modules/get-rusage-data-tests: New file.
10365         * tests/test-get-rusage-data.c: New file.
10366
10367         New module 'get-rusage-data'.
10368         * lib/resource-ext.h (get_rusage_data): New declaration.
10369         * lib/get-rusage-data.c: New file.
10370         * modules/get-rusage-data: New file.
10371
10372 2011-01-25  Bruno Haible  <bruno@clisp.org>
10373
10374         get-rusage-as: Allow for easier testing.
10375         * lib/resource-ext.h (get_rusage_as): Add comment.
10376         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
10377         (main): New function for interactive testing.
10378
10379 2011-01-25  Bruno Haible  <bruno@clisp.org>
10380
10381         vma-iter: Treat Haiku like BeOS.
10382         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
10383         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
10384
10385 2011-01-25  Eric Blake  <eblake@redhat.com>
10386
10387         c-stack: fix regression on cygwin when libsigsegv is present
10388         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
10389
10390 2011-01-24  Bruno Haible  <bruno@clisp.org>
10391
10392         vma-iter: Avoid empty intervals.
10393         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
10394         on an empty interval.
10395
10396 2011-01-24  Jim Meyering  <meyering@redhat.com>
10397
10398         u64: remove unnecessary #include
10399         * lib/u64.h: Don't include <stddef.h>.  It was not used.
10400
10401 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10402
10403         Allow the user to avoid the HAVE_RAW_DECL_* macros.
10404         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
10405
10406 2011-01-23  Bruno Haible  <bruno@clisp.org>
10407
10408         New module 'vma-iter'.
10409         * lib/vma-iter.h: New file.
10410         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
10411         * modules/vma-iter: New file.
10412         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
10413         for get_rusage_as_via_iterator.
10414         (vma_iterate_callback): New function.
10415         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
10416         * modules/get-rusage-as (Depends-on): Add vma-iter.
10417
10418 2011-01-23  Bruno Haible  <bruno@clisp.org>
10419
10420         uninorm: Tweak includes.
10421         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
10422         Reported by Jim Meyering.
10423
10424 2011-01-23  Bruno Haible  <bruno@clisp.org>
10425
10426         get-rusage-as: Improve on NetBSD.
10427         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
10428         /proc, like on FreeBSD.
10429
10430 2011-01-23  Jim Meyering  <meyering@redhat.com>
10431
10432         xreadlink.h: remove unnecessary #include
10433         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
10434
10435         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
10436         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
10437
10438 2011-01-23  Bruno Haible  <bruno@clisp.org>
10439
10440         get-rusage-as: Fix bug.
10441         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
10442         original limit when aborting the first loop.
10443
10444 2011-01-23  Bruno Haible  <bruno@clisp.org>
10445
10446         wctype: Ensure valid C syntax.
10447         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
10448         unconditionally, instead of gl_NEXT_HEADERS conditionally.
10449
10450 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
10451
10452         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
10453         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
10454         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
10455         as they are needed only for configure's test case.
10456         This removes two unnecessary symbols from config.h.
10457
10458         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
10459         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
10460         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
10461         AC_CHECK_HEADERS_ONCE on a header that we also invoke
10462         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
10463         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
10464         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
10465         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10466         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
10467         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10468         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
10469         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10470         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10471         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10472         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10473         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10474         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
10475         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
10476
10477 2011-01-21  Eric Blake  <eblake@redhat.com>
10478
10479         maintainer-makefile: work with older git for submodule check
10480         * top/maint.mk (public-submodule-commit): Rewrite to avoid
10481         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
10482         Reported by Matthias Bolte.
10483
10484         bootstrap: minor portability fixes
10485         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
10486         (usage): Omit leading capital and trailing . on help phrases, per
10487         GNU Coding Standards.
10488         (check_versions, top level): Prefix messages with script name.
10489
10490 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
10491
10492         bootstrap: support --no-git option
10493         * build-aux/bootstrap: Add --no-git option, to be used when
10494         --gnulib-srcdir points to the exact desired checkout.
10495
10496 2011-01-21  Eric Blake  <eblake@redhat.com>
10497
10498         strerror_r-posix: work with glibc 2.13
10499         * lib/strerror_r.c (strerror_r): Fix return type.
10500
10501 2011-01-21  PĂ¡draig Brady  <P@draigBrady.com>
10502             Bruno Haible  <bruno@clisp.org>
10503
10504         uN_strstr: New unit tests.
10505         * modules/unistr/u8-strstr-tests: New file.
10506         * modules/unistr/u16-strstr-tests: New file.
10507         * modules/unistr/u32-strstr-tests: New file.
10508         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
10509         * tests/unistr/test-u8-strstr.c: New file.
10510         * tests/unistr/test-u16-strstr.c: New file.
10511         * tests/unistr/test-u32-strstr.c: New file.
10512
10513 2011-01-21  PĂ¡draig Brady  <P@draigBrady.com>
10514             Bruno Haible  <bruno@clisp.org>
10515
10516         Make uN_strstr functions O(n) worst-case.
10517         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
10518         16-bit and 32-bit unit cases, use the unibyte algorithm from
10519         lib/mbsstr.c.
10520         * lib/unistr/u8-strstr.c: Include <string.h>.
10521         (UNIT_IS_UINT8_T): New macro.
10522         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
10523         (U_STRLEN, U_STRNLEN): New macros.
10524         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
10525         (U_STRLEN, U_STRNLEN): New macros.
10526         * modules/unistr/u8-strstr (Depends-on): Add strstr.
10527         (configure.ac): Update required libunistring version.
10528         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
10529         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
10530         malloca.
10531         (configure.ac): Update required libunistring version.
10532         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
10533         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
10534         malloca.
10535         (configure.ac): Update required libunistring version.
10536
10537 2011-01-21  PĂ¡draig Brady  <P@draigBrady.com>
10538             Bruno Haible  <bruno@clisp.org>
10539
10540         Prepare for faster uN_strstr functions.
10541         * lib/str-kmp.h: Support definable UNITs.
10542         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
10543         needle_len argument.
10544         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
10545         * lib/mbscasestr.c (mbscasestr): Likewise.
10546
10547 2011-01-21  PĂ¡draig Brady <P@draigBrady.com>
10548
10549         malloca-tests: make faster by unsetting MALLOC_PERTURB_
10550         * tests/test-malloca.c (main): Unset the environment variable
10551         to greatly speed up the test.
10552         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
10553         * modules/malloca-tests: Depend on unsetenv.
10554
10555 2011-01-21  PĂ¡draig Brady <P@draigBrady.com>
10556
10557         ignore-value: remove stdint dependency
10558         * lib/ignore-value.h: Remove <stdint.h>
10559         * modules/ignore-value: Remove stdint dependency.
10560
10561 2011-01-21  Jim Meyering  <meyering@redhat.com>
10562
10563         maint.mk: adjust variable name to be consistent with other gl_ vars
10564         * top/maint.mk (gl_public_submodule_commit): Rename the variable
10565         to be lower case.
10566
10567 2011-01-20  Jim Meyering  <meyering@redhat.com>
10568
10569         maint.mk: make "check" depend on public-submodule-commit by default
10570         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
10571
10572 2011-01-20  Bruno Haible  <bruno@clisp.org>
10573
10574         mbfile, mbiter: Complete change from 2008-12-21.
10575         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
10576         * m4/mbiter.m4 (gl_MBITER): Likewise.
10577
10578 2011-01-20  Jim Meyering  <meyering@redhat.com>
10579
10580         init.sh: insert space between each function name and "()"
10581         * tests/init.sh: Make it a little easier to see that a function's
10582         name is "warn_", and not "warn" when looking at the first part of
10583         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
10584
10585 2011-01-20  Jim Meyering  <meyering@redhat.com>
10586
10587         mountlist: clean up code formatting
10588         * lib/mountlist.c (read_file_system_list): Split a long line,
10589         correct bracing style, use NULL in place of "(struct statfs *)0",
10590         don't parenthesize return value, add spaces around "=" and after
10591         ";-in-for-stmt".
10592
10593 2011-01-14  Markus Duft <mduft@gentoo.org>
10594
10595         mountlist: add support for Interix
10596         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
10597         Apply statvfs to all entries of /dev/fs.
10598         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
10599         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
10600
10601 2011-01-20  Jim Meyering  <meyering@redhat.com>
10602
10603         maint.mk: improve the public-submodule-commit rule
10604         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
10605         to suppress printing of its commands... unless V=1.
10606         Add git submodule's --quiet option to suppress printing of e.g.,
10607         "Entering gnulib" output.
10608         "cd" into $(srcdir) before running git submodule.
10609
10610 2011-01-20  Bruno Haible  <bruno@clisp.org>
10611
10612         include_next: Fix bug introduced on 2011-01-18.
10613         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
10614         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
10615         ac_cv_header_... variable if the second argument is not 'check'.
10616         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
10617         gl_NEXT_HEADERS_INTERNAL.
10618
10619 2011-01-20  Bruno Haible  <bruno@clisp.org>
10620
10621         Allow the user to avoid the GNULIB_TEST_* macros.
10622         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
10623         Suggested by Paul Eggert.
10624
10625 2011-01-14  Jim Meyering  <meyering@redhat.com>
10626
10627         bootstrap: avoid failure when there is no .gitmodules file
10628         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
10629         has been assigned to, even when its value is the empty string.
10630         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
10631         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
10632         Reported by John W. Eaton <jwe@gnu.org>.
10633
10634 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
10635
10636         assume <ctype.h>, ..., <time.h> exist
10637         For years gnulib has been assuming the existence of the headers
10638         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
10639         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
10640         them, since they don't appear to be needed.
10641         * README (Portability guidelines): Document this.
10642         * lib/flock.c: Assume <fcntl.h> exists.
10643         * lib/regex_internal.h: Assume <locale.h> exists.
10644         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
10645         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
10646         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
10647         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
10648         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
10649         * m4/regex.m4 (gl_REGEX): Likewise.
10650         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
10651         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
10652         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
10653         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
10654         * tests/test-argp.c: Likewise.
10655         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
10656
10657         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
10658         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
10659         AA_APPLE_UNIVERSAL_BUILD.  See
10660         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
10661         * NEWS: Document this.
10662
10663 2011-01-19  Eric Blake  <eblake@redhat.com>
10664
10665         c-stack: assume stack overflow if SA_SIGINFO unsupported
10666         * lib/c-stack.c (SIGACTION_WORKS): Rename...
10667         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
10668         sigaction will work.
10669         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
10670         behavior match Linux.
10671         * tests/test-c-stack.c (main): Prefer NULL for pointers.
10672
10673         stdbool-tests: accomodate Haiku
10674         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
10675
10676         binary-io: fix O_TEXT on Haiku
10677         * modules/binary-io (Depends-on): Add fcntl-h.
10678         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
10679         than blindly undefining O_TEXT.
10680         Reported by Scott McCreary.
10681
10682 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10683
10684         include_next: do not check for standard headers like stddef.h
10685
10686         I found this problem when modifying Emacs to use gnulib.
10687         I noticed that it added HAVE_STDDEF_H to config.h, even though
10688         gnulib always assumes <stddef.h> exists as per README and this
10689         symbol is unnecessary.
10690         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
10691         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
10692         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
10693         faster for headers like stddef.h that are known to exist.
10694         (gl_CHECK_NEXT_HEADERS): Use it.
10695         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
10696         rather than gl_CHECK_NEXT_HEADERS.
10697         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
10698         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
10699
10700 2011-01-18  Eric Blake  <eblake@redhat.com>
10701
10702         ansi-c++-opt: skip C++ dependency style if C++ is unused
10703         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
10704         tests when we know C++ compilation is not desired.
10705         Reported by Scott McCreary.
10706
10707 2011-01-18  Bruno Haible  <bruno@clisp.org>
10708
10709         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
10710         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
10711         (main): Perform test also when getrlimit and setrlimit don't exist or
10712         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
10713         limiting the address space size using setrlimit, compare the address
10714         space size before and after the the test.
10715         * tests/test-dprintf-posix2.c: Likewise.
10716         * tests/test-fprintf-posix3.sh: Update skip messages.
10717         * tests/test-dprintf-posix2.sh: Likewise.
10718         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
10719         * modules/dprintf-posix-tests (Depends-on): Likewise.
10720         Reported by Bruce Korb <bkorb@gnu.org> and
10721         Gary V. Vaughan <gary@gnu.org>.
10722
10723 2011-01-18  Bruno Haible  <bruno@clisp.org>
10724
10725         get-rusage-as: Improvement for Cygwin.
10726         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
10727         areas that are merely reserved.
10728
10729 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10730
10731         strftime: remove dependencies on multibyte modules
10732
10733         strftime depended on mbrlen, mbsinit, and wchar, but these modules
10734         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
10735         only if __osf__ is defined, and I suspect OSF doesn't need these
10736         other modules.  If my guess is wrong, we'll need to come up with a
10737         variant of strftime that doesn't need the multibyte modules.
10738
10739         I discovered this problem when attempting modify Emacs to use the
10740         strftime module.  With the previous gnulib, this caused Emacs to
10741         need 31 new files, ranging from lib/config.charset to
10742         m4/wint_t.m4.  This was overkill and I expect would be offputting
10743         to the Emacs maintainers.  After this change, only 6 new files are
10744         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
10745         stdbool.m4, and tm_gmtoff.m4.
10746
10747         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
10748         Suggested by Bruno Haible in
10749         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
10750         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
10751         and do not check for wchar.h.
10752         * modules/strftime (Files): Remove m4/mbstate_t.m4.
10753         (Depends-on): Remove mbrlen, mbsinit, wchar.
10754
10755 2011-01-18  Bruno Haible  <bruno@clisp.org>
10756
10757         Tests for module 'get-rusage-as'.
10758         * modules/get-rusage-as-tests: New file.
10759         * tests/test-get-rusage-as.c: New file.
10760
10761         New module 'get-rusage-as'.
10762         * modules/get-rusage-as: New file.
10763         * lib/resource-ext.h: New file.
10764         * lib/get-rusage-as.c: New file.
10765
10766 2011-01-17  Eric Blake  <eblake@redhat.com>
10767
10768         sigaction: relax license from LGPLv3+ to LGPLv2+
10769         * modules/sigaction (License): Relax to LGPLv2+.
10770
10771 2011-01-14  Bruno Haible  <bruno@clisp.org>
10772
10773         filemode: Make function declarations usable in C++ mode.
10774         * lib/filemode.h: Enclose function declarations in extern "C" block.
10775         Reported by John W. Eaton <jwe@gnu.org>.
10776
10777 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
10778
10779         save-cwd: no longer include "xgetcwd.h"
10780         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
10781         This avoids a compilation failure in projects that use save-cwd
10782         without also using the xgetcwd module.
10783
10784 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10785
10786         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
10787         This is so that a program like Emacs, which needs only dtoastr,
10788         does not have to bother with distributing and compiling ftoastr
10789         and ldtoastr.
10790         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
10791         * modules/dtoastr, modules/ldtoastr: New files.
10792         * modules/ftoastr: Now works just for 'float'.
10793         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
10794         (Makefile.am): Remove ftoastr.h (not needed and no effect),
10795         dtoastr.c, ldtoastr.c.
10796
10797 2011-01-11  Jim Meyering  <meyering@redhat.com>
10798
10799         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
10800         There is no need to work around the lack of the fchdir function,
10801         since gnulib can now provide a replacement when required.
10802         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
10803         * modules/save-cwd (Depends-on): Add fchdir.
10804
10805 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10806
10807         openat, save-cwd: avoid xmalloc
10808
10809         This removes a direct (but undocumented) dependency of openat on
10810         xalloc, along with an indirect dependency via save-cwd.  It also
10811         removes a dependency of save-cwd on xgetcwd, and thereby
10812         indirectly on xalloc.  This change causes the openat substitute
10813         to fall back on save_cwd when memory is tight, and for save_cwd to
10814         fail instead of dying when memory is tight, but that's good enough.
10815         Problem and initial idea for fix reported by Bastien Roucaries in
10816         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
10817
10818         * lib/openat-proc.c: Include stdlib.h (for malloc), not
10819         xalloc.h (for xmalloc).
10820         (openat_proc_name): Use malloc, not xmalloc.
10821         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
10822         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
10823
10824         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
10825         This avoids heap allocation for file names whose lengths are in
10826         the range 512..1023, with the upper bound increasing to at most
10827         4031 depending on the platform's PATH_MAX.  (We do not want
10828         pathmax.h here as it might supply a non-constant PATH_MAX.)
10829         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
10830         Perhaps they should be moved to malloca.h?
10831         (OPENAT_BUFFER_SIZE): Use them.
10832
10833 2011-01-10  Bruno Haible  <bruno@clisp.org>
10834
10835         doc: Update users.txt.
10836         * users.txt: Add recutils.
10837
10838 2011-01-09  Karl Berry  <karl@gnu.org>
10839
10840         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
10841
10842         * doc/configmake.texi: New file.
10843         * doc/gnulib.texi: Include it.
10844         * modules/configmake: Move documentation from here.
10845
10846 2011-01-09  Bruno Haible  <bruno@clisp.org>
10847
10848         Update to Unicode 6.0.0.
10849         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
10850         (get_lbp): Update for Unicode 6.0.0.
10851         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
10852         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
10853         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
10854         U+11001, U+11038..U+11046. Remove U+06DE.
10855         (uc_width): Fix bounds of planes.
10856         * tests/uniwidth/test-uc_width2.sh: Same updates as in
10857         lib/uniwidth/width.c.
10858         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
10859         trailing whitespace removed.
10860         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
10861         without comments, but with the original copyright notice.
10862         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
10863         * lib/unicase/ignorable.h: Likewise.
10864         * lib/unicase/tocasefold.h: Likewise.
10865         * lib/unicase/tolower.h: Likewise.
10866         * lib/unicase/totitle.h: Likewise.
10867         * lib/unicase/toupper.h: Likewise.
10868         * lib/unictype/bidi_of.h: Likewise.
10869         * lib/unictype/blocks.h: Likewise.
10870         * lib/unictype/categ_C.h: Likewise.
10871         * lib/unictype/categ_Cn.h: Likewise.
10872         * lib/unictype/categ_L.h: Likewise.
10873         * lib/unictype/categ_Ll.h: Likewise.
10874         * lib/unictype/categ_Lm.h: Likewise.
10875         * lib/unictype/categ_Lo.h: Likewise.
10876         * lib/unictype/categ_Lu.h: Likewise.
10877         * lib/unictype/categ_M.h: Likewise.
10878         * lib/unictype/categ_Mc.h: Likewise.
10879         * lib/unictype/categ_Me.h: Likewise.
10880         * lib/unictype/categ_Mn.h: Likewise.
10881         * lib/unictype/categ_N.h: Likewise.
10882         * lib/unictype/categ_Nd.h: Likewise.
10883         * lib/unictype/categ_No.h: Likewise.
10884         * lib/unictype/categ_P.h: Likewise.
10885         * lib/unictype/categ_Po.h: Likewise.
10886         * lib/unictype/categ_S.h: Likewise.
10887         * lib/unictype/categ_Sc.h: Likewise.
10888         * lib/unictype/categ_Sk.h: Likewise.
10889         * lib/unictype/categ_Sm.h: Likewise.
10890         * lib/unictype/categ_So.h: Likewise.
10891         * lib/unictype/categ_of.h: Likewise.
10892         * lib/unictype/combining.h: Likewise.
10893         * lib/unictype/ctype_alnum.h: Likewise.
10894         * lib/unictype/ctype_alpha.h: Likewise.
10895         * lib/unictype/ctype_graph.h: Likewise.
10896         * lib/unictype/ctype_lower.h: Likewise.
10897         * lib/unictype/ctype_print.h: Likewise.
10898         * lib/unictype/ctype_punct.h: Likewise.
10899         * lib/unictype/ctype_upper.h: Likewise.
10900         * lib/unictype/decdigit.h: Likewise.
10901         * lib/unictype/digit.h: Likewise.
10902         * lib/unictype/numeric.h: Likewise.
10903         * lib/unictype/pr_alphabetic.h: Likewise.
10904         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
10905         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
10906         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
10907         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
10908         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
10909         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
10910         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
10911         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
10912         * lib/unictype/pr_case_ignorable.h: Likewise.
10913         * lib/unictype/pr_cased.h: Likewise.
10914         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
10915         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
10916         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
10917         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
10918         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
10919         * lib/unictype/pr_combining.h: Likewise.
10920         * lib/unictype/pr_composite.h: Likewise.
10921         * lib/unictype/pr_currency_symbol.h: Likewise.
10922         * lib/unictype/pr_decimal_digit.h: Likewise.
10923         * lib/unictype/pr_deprecated.h: Likewise.
10924         * lib/unictype/pr_format_control.h: Likewise.
10925         * lib/unictype/pr_grapheme_base.h: Likewise.
10926         * lib/unictype/pr_grapheme_extend.h: Likewise.
10927         * lib/unictype/pr_grapheme_link.h: Likewise.
10928         * lib/unictype/pr_id_continue.h: Likewise.
10929         * lib/unictype/pr_id_start.h: Likewise.
10930         * lib/unictype/pr_ideographic.h: Likewise.
10931         * lib/unictype/pr_lowercase.h: Likewise.
10932         * lib/unictype/pr_math.h: Likewise.
10933         * lib/unictype/pr_numeric.h: Likewise.
10934         * lib/unictype/pr_other_alphabetic.h: Likewise.
10935         * lib/unictype/pr_other_id_continue.h: Likewise.
10936         * lib/unictype/pr_other_math.h: Likewise.
10937         * lib/unictype/pr_punctuation.h: Likewise.
10938         * lib/unictype/pr_sentence_terminal.h: Likewise.
10939         * lib/unictype/pr_terminal_punctuation.h: Likewise.
10940         * lib/unictype/pr_unassigned_code_value.h: Likewise.
10941         * lib/unictype/pr_unified_ideograph.h: Likewise.
10942         * lib/unictype/pr_uppercase.h: Likewise.
10943         * lib/unictype/pr_xid_continue.h: Likewise.
10944         * lib/unictype/pr_xid_start.h: Likewise.
10945         * lib/unictype/scripts.h: Likewise.
10946         * lib/unictype/scripts_byname.gperf: Likewise.
10947         * lib/unictype/sy_java_ident.h: Likewise.
10948         * lib/unigbrk/gbrkprop.h: Likewise.
10949         * lib/unilbrk/lbrkprop1.h: Likewise.
10950         * lib/unilbrk/lbrkprop2.h: Likewise.
10951         * lib/uninorm/decomposition-table2.h: Likewise.
10952         * lib/uniwbrk/wbrkprop.h: Likewise.
10953         * tests/unicase/test-cased.c: Likewise.
10954         * tests/unicase/test-ignorable.c: Likewise.
10955         * tests/unicase/test-uc_tolower.c: Likewise.
10956         * tests/unicase/test-uc_totitle.c: Likewise.
10957         * tests/unicase/test-uc_toupper.c: Likewise.
10958         * tests/unictype/test-categ_C.c: Likewise.
10959         * tests/unictype/test-categ_Cn.c: Likewise.
10960         * tests/unictype/test-categ_L.c: Likewise.
10961         * tests/unictype/test-categ_Ll.c: Likewise.
10962         * tests/unictype/test-categ_Lm.c: Likewise.
10963         * tests/unictype/test-categ_Lo.c: Likewise.
10964         * tests/unictype/test-categ_Lu.c: Likewise.
10965         * tests/unictype/test-categ_M.c: Likewise.
10966         * tests/unictype/test-categ_Mc.c: Likewise.
10967         * tests/unictype/test-categ_Me.c: Likewise.
10968         * tests/unictype/test-categ_Mn.c: Likewise.
10969         * tests/unictype/test-categ_N.c: Likewise.
10970         * tests/unictype/test-categ_Nd.c: Likewise.
10971         * tests/unictype/test-categ_No.c: Likewise.
10972         * tests/unictype/test-categ_P.c: Likewise.
10973         * tests/unictype/test-categ_Po.c: Likewise.
10974         * tests/unictype/test-categ_S.c: Likewise.
10975         * tests/unictype/test-categ_Sc.c: Likewise.
10976         * tests/unictype/test-categ_Sk.c: Likewise.
10977         * tests/unictype/test-categ_Sm.c: Likewise.
10978         * tests/unictype/test-categ_So.c: Likewise.
10979         * tests/unictype/test-ctype_alnum.c: Likewise.
10980         * tests/unictype/test-ctype_alpha.c: Likewise.
10981         * tests/unictype/test-ctype_graph.c: Likewise.
10982         * tests/unictype/test-ctype_lower.c: Likewise.
10983         * tests/unictype/test-ctype_print.c: Likewise.
10984         * tests/unictype/test-ctype_punct.c: Likewise.
10985         * tests/unictype/test-ctype_upper.c: Likewise.
10986         * tests/unictype/test-decdigit.h: Likewise.
10987         * tests/unictype/test-digit.h: Likewise.
10988         * tests/unictype/test-numeric.h: Likewise.
10989         * tests/unictype/test-pr_alphabetic.c: Likewise.
10990         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
10991         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
10992         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
10993         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
10994         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
10995         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
10996         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
10997         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
10998         * tests/unictype/test-pr_case_ignorable.c: Likewise.
10999         * tests/unictype/test-pr_cased.c: Likewise.
11000         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
11001         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
11002         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
11003         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
11004         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
11005         * tests/unictype/test-pr_combining.c: Likewise.
11006         * tests/unictype/test-pr_composite.c: Likewise.
11007         * tests/unictype/test-pr_currency_symbol.c: Likewise.
11008         * tests/unictype/test-pr_decimal_digit.c: Likewise.
11009         * tests/unictype/test-pr_deprecated.c: Likewise.
11010         * tests/unictype/test-pr_format_control.c: Likewise.
11011         * tests/unictype/test-pr_grapheme_base.c: Likewise.
11012         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
11013         * tests/unictype/test-pr_grapheme_link.c: Likewise.
11014         * tests/unictype/test-pr_id_continue.c: Likewise.
11015         * tests/unictype/test-pr_id_start.c: Likewise.
11016         * tests/unictype/test-pr_ideographic.c: Likewise.
11017         * tests/unictype/test-pr_lowercase.c: Likewise.
11018         * tests/unictype/test-pr_math.c: Likewise.
11019         * tests/unictype/test-pr_numeric.c: Likewise.
11020         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
11021         * tests/unictype/test-pr_other_id_continue.c: Likewise.
11022         * tests/unictype/test-pr_other_math.c: Likewise.
11023         * tests/unictype/test-pr_punctuation.c: Likewise.
11024         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
11025         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
11026         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
11027         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
11028         * tests/unictype/test-pr_uppercase.c: Likewise.
11029         * tests/unictype/test-pr_xid_continue.c: Likewise.
11030         * tests/unictype/test-pr_xid_start.c: Likewise.
11031         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
11032         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
11033         changes.
11034         * lib/unictype/categ_Cc.h: Likewise.
11035         * lib/unictype/categ_Cf.h: Likewise.
11036         * lib/unictype/categ_Co.h: Likewise.
11037         * lib/unictype/categ_Cs.h: Likewise.
11038         * lib/unictype/categ_Lt.h: Likewise.
11039         * lib/unictype/categ_Nl.h: Likewise.
11040         * lib/unictype/categ_Pc.h: Likewise.
11041         * lib/unictype/categ_Pd.h: Likewise.
11042         * lib/unictype/categ_Pe.h: Likewise.
11043         * lib/unictype/categ_Pf.h: Likewise.
11044         * lib/unictype/categ_Pi.h: Likewise.
11045         * lib/unictype/categ_Ps.h: Likewise.
11046         * lib/unictype/categ_Z.h: Likewise.
11047         * lib/unictype/categ_Zl.h: Likewise.
11048         * lib/unictype/categ_Zp.h: Likewise.
11049         * lib/unictype/categ_Zs.h: Likewise.
11050         * lib/unictype/ctype_blank.h: Likewise.
11051         * lib/unictype/ctype_cntrl.h: Likewise.
11052         * lib/unictype/ctype_digit.h: Likewise.
11053         * lib/unictype/ctype_space.h: Likewise.
11054         * lib/unictype/ctype_xdigit.h: Likewise.
11055         * lib/unictype/mirror.h: Likewise.
11056         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
11057         * lib/unictype/pr_bidi_block_separator.h: Likewise.
11058         * lib/unictype/pr_bidi_common_separator.h: Likewise.
11059         * lib/unictype/pr_bidi_control.h: Likewise.
11060         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
11061         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
11062         * lib/unictype/pr_bidi_european_digit.h: Likewise.
11063         * lib/unictype/pr_bidi_pdf.h: Likewise.
11064         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
11065         * lib/unictype/pr_bidi_whitespace.h: Likewise.
11066         * lib/unictype/pr_dash.h: Likewise.
11067         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
11068         * lib/unictype/pr_diacritic.h: Likewise.
11069         * lib/unictype/pr_extender.h: Likewise.
11070         * lib/unictype/pr_hex_digit.h: Likewise.
11071         * lib/unictype/pr_hyphen.h: Likewise.
11072         * lib/unictype/pr_ids_binary_operator.h: Likewise.
11073         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
11074         * lib/unictype/pr_ignorable_control.h: Likewise.
11075         * lib/unictype/pr_iso_control.h: Likewise.
11076         * lib/unictype/pr_join_control.h: Likewise.
11077         * lib/unictype/pr_left_of_pair.h: Likewise.
11078         * lib/unictype/pr_line_separator.h: Likewise.
11079         * lib/unictype/pr_logical_order_exception.h: Likewise.
11080         * lib/unictype/pr_non_break.h: Likewise.
11081         * lib/unictype/pr_not_a_character.h: Likewise.
11082         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
11083         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
11084         * lib/unictype/pr_other_id_start.h: Likewise.
11085         * lib/unictype/pr_other_lowercase.h: Likewise.
11086         * lib/unictype/pr_other_uppercase.h: Likewise.
11087         * lib/unictype/pr_paired_punctuation.h: Likewise.
11088         * lib/unictype/pr_paragraph_separator.h: Likewise.
11089         * lib/unictype/pr_pattern_syntax.h: Likewise.
11090         * lib/unictype/pr_pattern_white_space.h: Likewise.
11091         * lib/unictype/pr_private_use.h: Likewise.
11092         * lib/unictype/pr_quotation_mark.h: Likewise.
11093         * lib/unictype/pr_radical.h: Likewise.
11094         * lib/unictype/pr_soft_dotted.h: Likewise.
11095         * lib/unictype/pr_space.h: Likewise.
11096         * lib/unictype/pr_titlecase.h: Likewise.
11097         * lib/unictype/pr_variation_selector.h: Likewise.
11098         * lib/unictype/pr_white_space.h: Likewise.
11099         * lib/unictype/pr_zero_width.h: Likewise.
11100         * lib/unictype/sy_c_ident.h: Likewise.
11101         * lib/unictype/sy_c_whitespace.h: Likewise.
11102         * lib/unictype/sy_java_whitespace.h: Likewise.
11103         * lib/uninorm/composition-table.gperf: Likewise.
11104         * lib/uninorm/decomposition-table1.h: Likewise.
11105         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
11106         LB8.
11107         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
11108         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
11109         * modules/unictype/*: Bump version number of expected libunistring
11110         version.
11111
11112 2011-01-09  Bruno Haible  <bruno@clisp.org>
11113
11114         Update to Unicode 5.2.0.
11115         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
11116         trailing whitespace removed.
11117
11118 2011-01-09  Bruno Haible  <bruno@clisp.org>
11119
11120         New Unicode character properties, from Unicode 5.2.0.
11121         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
11122         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
11123         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
11124         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
11125         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
11126         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
11127         uc_is_property_cased, uc_is_property_case_ignorable,
11128         uc_is_property_changes_when_lowercased,
11129         uc_is_property_changes_when_uppercased,
11130         uc_is_property_changes_when_titlecased,
11131         uc_is_property_changes_when_casefolded,
11132         uc_is_property_changes_when_casemapped): New declarations.
11133         * lib/unictype/pr_byname.gperf: Add the new properties.
11134         * modules/unictype/property-byname (Depends-on): Depend on the new
11135         properties modules.
11136         * modules/unictype/property-all (Depends-on): Likewise.
11137         * MODULES.html.sh (Unicode string functions): Add
11138         unictype/property-case-ignorable, unictype/property-cased,
11139         unictype/property-changes-when-casefolded,
11140         unictype/property-changes-when-casemapped,
11141         unictype/property-changes-when-lowercased,
11142         unictype/property-changes-when-titlecased,
11143         unictype/property-changes-when-uppercased.
11144
11145         New module 'unictype/property-changes-when-casemapped'.
11146         * modules/unictype/property-changes-when-casemapped: New file.
11147         * lib/unictype/pr_changes_when_casemapped.c: New file.
11148         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
11149         generated by gen-uni-tables.
11150         * modules/unictype/property-changes-when-casemapped-tests: New file.
11151         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
11152         automatically generated by gen-uni-tables.
11153
11154         New module 'unictype/property-changes-when-casefolded'.
11155         * modules/unictype/property-changes-when-casefolded: New file.
11156         * lib/unictype/pr_changes_when_casefolded.c: New file.
11157         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
11158         generated by gen-uni-tables.
11159         * modules/unictype/property-changes-when-casefolded-tests: New file.
11160         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
11161         automatically generated by gen-uni-tables.
11162
11163         New module 'unictype/property-changes-when-titlecased'.
11164         * modules/unictype/property-changes-when-titlecased: New file.
11165         * lib/unictype/pr_changes_when_titlecased.c: New file.
11166         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
11167         generated by gen-uni-tables.
11168         * modules/unictype/property-changes-when-titlecased-tests: New file.
11169         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
11170         automatically generated by gen-uni-tables.
11171
11172         New module 'unictype/property-changes-when-uppercased'.
11173         * modules/unictype/property-changes-when-uppercased: New file.
11174         * lib/unictype/pr_changes_when_uppercased.c: New file.
11175         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
11176         generated by gen-uni-tables.
11177         * modules/unictype/property-changes-when-uppercased-tests: New file.
11178         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
11179         automatically generated by gen-uni-tables.
11180
11181         New module 'unictype/property-changes-when-lowercased'.
11182         * modules/unictype/property-changes-when-lowercased: New file.
11183         * lib/unictype/pr_changes_when_lowercased.c: New file.
11184         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
11185         generated by gen-uni-tables.
11186         * modules/unictype/property-changes-when-lowercased-tests: New file.
11187         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
11188         automatically generated by gen-uni-tables.
11189
11190         New module 'unictype/property-case-ignorable'.
11191         * modules/unictype/property-case-ignorable: New file.
11192         * lib/unictype/pr_case_ignorable.c: New file.
11193         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
11194         by gen-uni-tables.
11195         * modules/unictype/property-case-ignorable-tests: New file.
11196         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
11197         generated by gen-uni-tables.
11198
11199         New module 'unictype/property-cased'.
11200         * modules/unictype/property-cased: New file.
11201         * lib/unictype/pr_cased.c: New file.
11202         * lib/unictype/pr_cased.h: New file, automatically generated by
11203         gen-uni-tables.
11204         * modules/unictype/property-cased-tests: New file.
11205         * tests/unictype/test-pr_cased.c: New file, automatically generated by
11206         gen-uni-tables.
11207
11208 2011-01-09  Bruno Haible  <bruno@clisp.org>
11209
11210         Update to Unicode 5.2.0.
11211         * lib/gen-uni-tables.c (output_predicate, output_category,
11212         output_combclass, output_bidi_category, output_decimal_digit_test,
11213         output_decimal_digit, output_digit_test, output_digit,
11214         output_numeric_test, output_numeric, output_mirror, output_scripts,
11215         output_scripts_byname, output_blocks, output_ident_category): Fix
11216         comment header.
11217         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
11218         get_wbp.
11219         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
11220         items.
11221         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
11222         Changes_When_Lowercased, Changes_When_Uppercased,
11223         Changes_When_Titlecased, Changes_When_Casefolded,
11224         Changes_When_Casemapped.
11225         (is_property_alphabetic, is_property_default_ignorable_code_point):
11226         Update for Unicode 5.2.0.
11227         (is_property_cased, is_property_case_ignorable,
11228         is_property_changes_when_lowercased,
11229         is_property_changes_when_uppercased,
11230         is_property_changes_when_titlecased,
11231         is_property_changes_when_casefolded,
11232         is_property_changes_when_casemapped): New functions.
11233         (output_properties): Output also the properties cased, case_ignorable,
11234         changes_when_lowercased, changes_when_uppercased,
11235         changes_when_titlecased, changes_when_casefolded,
11236         changes_when_casemapped.
11237         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
11238         Unicode TR#11 revision 17 -> 19.
11239         (LBP_CP): New enumeration value.
11240         (LBP_*): Adjust values accordingly.
11241         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
11242         TR#14 revision 22 -> 24.
11243         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
11244         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
11245         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
11246         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
11247         is_WBP_MIDLETTER.
11248         (output_composition_tables): Allow for 24 bits instead of 16 bits in
11249         the code1 and code2 of each composition rule.
11250         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
11251         * lib/unicase/ignorable.h: Likewise.
11252         * lib/unicase/tocasefold.h: Likewise.
11253         * lib/unicase/tolower.h: Likewise.
11254         * lib/unicase/totitle.h: Likewise.
11255         * lib/unicase/toupper.h: Likewise.
11256         * lib/unictype/bidi_of.h: Likewise.
11257         * lib/unictype/blocks.h: Likewise.
11258         * lib/unictype/categ_C.h: Likewise.
11259         * lib/unictype/categ_Cf.h: Likewise.
11260         * lib/unictype/categ_Cn.h: Likewise.
11261         * lib/unictype/categ_L.h: Likewise.
11262         * lib/unictype/categ_Ll.h: Likewise.
11263         * lib/unictype/categ_Lm.h: Likewise.
11264         * lib/unictype/categ_Lo.h: Likewise.
11265         * lib/unictype/categ_Lu.h: Likewise.
11266         * lib/unictype/categ_M.h: Likewise.
11267         * lib/unictype/categ_Mc.h: Likewise.
11268         * lib/unictype/categ_Mn.h: Likewise.
11269         * lib/unictype/categ_N.h: Likewise.
11270         * lib/unictype/categ_Nd.h: Likewise.
11271         * lib/unictype/categ_Nl.h: Likewise.
11272         * lib/unictype/categ_No.h: Likewise.
11273         * lib/unictype/categ_P.h: Likewise.
11274         * lib/unictype/categ_Pd.h: Likewise.
11275         * lib/unictype/categ_Po.h: Likewise.
11276         * lib/unictype/categ_S.h: Likewise.
11277         * lib/unictype/categ_Sc.h: Likewise.
11278         * lib/unictype/categ_So.h: Likewise.
11279         * lib/unictype/categ_of.h: Likewise.
11280         * lib/unictype/combining.h: Likewise.
11281         * lib/unictype/ctype_alnum.h: Likewise.
11282         * lib/unictype/ctype_alpha.h: Likewise.
11283         * lib/unictype/ctype_graph.h: Likewise.
11284         * lib/unictype/ctype_lower.h: Likewise.
11285         * lib/unictype/ctype_print.h: Likewise.
11286         * lib/unictype/ctype_punct.h: Likewise.
11287         * lib/unictype/ctype_upper.h: Likewise.
11288         * lib/unictype/decdigit.h: Likewise.
11289         * lib/unictype/digit.h: Likewise.
11290         * lib/unictype/numeric.h: Likewise.
11291         * lib/unictype/pr_alphabetic.h: Likewise.
11292         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
11293         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
11294         * lib/unictype/pr_bidi_european_digit.h: Likewise.
11295         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
11296         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
11297         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
11298         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
11299         * lib/unictype/pr_combining.h: Likewise.
11300         * lib/unictype/pr_composite.h: Likewise.
11301         * lib/unictype/pr_currency_symbol.h: Likewise.
11302         * lib/unictype/pr_dash.h: Likewise.
11303         * lib/unictype/pr_decimal_digit.h: Likewise.
11304         * lib/unictype/pr_deprecated.h: Likewise.
11305         * lib/unictype/pr_diacritic.h: Likewise.
11306         * lib/unictype/pr_extender.h: Likewise.
11307         * lib/unictype/pr_grapheme_base.h: Likewise.
11308         * lib/unictype/pr_grapheme_extend.h: Likewise.
11309         * lib/unictype/pr_grapheme_link.h: Likewise.
11310         * lib/unictype/pr_id_continue.h: Likewise.
11311         * lib/unictype/pr_id_start.h: Likewise.
11312         * lib/unictype/pr_ideographic.h: Likewise.
11313         * lib/unictype/pr_ignorable_control.h: Likewise.
11314         * lib/unictype/pr_logical_order_exception.h: Likewise.
11315         * lib/unictype/pr_lowercase.h: Likewise.
11316         * lib/unictype/pr_numeric.h: Likewise.
11317         * lib/unictype/pr_other_alphabetic.h: Likewise.
11318         * lib/unictype/pr_punctuation.h: Likewise.
11319         * lib/unictype/pr_sentence_terminal.h: Likewise.
11320         * lib/unictype/pr_terminal_punctuation.h: Likewise.
11321         * lib/unictype/pr_unassigned_code_value.h: Likewise.
11322         * lib/unictype/pr_unified_ideograph.h: Likewise.
11323         * lib/unictype/pr_uppercase.h: Likewise.
11324         * lib/unictype/pr_xid_continue.h: Likewise.
11325         * lib/unictype/pr_xid_start.h: Likewise.
11326         * lib/unictype/pr_zero_width.h: Likewise.
11327         * lib/unictype/scripts.h: Likewise.
11328         * lib/unictype/scripts_byname.gperf: Likewise.
11329         * lib/unictype/sy_java_ident.h: Likewise.
11330         * lib/unigbrk/gbrkprop.h: Likewise.
11331         * lib/unilbrk/lbrkprop1.h: Likewise.
11332         * lib/unilbrk/lbrkprop2.h: Likewise.
11333         * lib/unilbrk/lbrktables.h: Likewise.
11334         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
11335         LBP_CP. Implement rule LB30.
11336         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
11337         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
11338         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
11339         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
11340         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
11341         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
11342         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
11343         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
11344         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
11345         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
11346         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
11347         bits instead of 16 bits in the code1 and code2 of each composition
11348         rule.
11349         (uc_composition): Update for Unicode 5.2.0.
11350         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
11351         * lib/uninorm/decomposition-table2.h: Likewise.
11352         * lib/uniwbrk/wbrkprop.h: Likewise.
11353         * tests/unicase/test-cased.c: Likewise.
11354         * tests/unicase/test-ignorable.c: Likewise.
11355         * tests/unicase/test-uc_tolower.c: Likewise.
11356         * tests/unicase/test-uc_totitle.c: Likewise.
11357         * tests/unicase/test-uc_toupper.c: Likewise.
11358         * tests/unictype/test-categ_C.c: Likewise.
11359         * tests/unictype/test-categ_Cf.c: Likewise.
11360         * tests/unictype/test-categ_Cn.c: Likewise.
11361         * tests/unictype/test-categ_L.c: Likewise.
11362         * tests/unictype/test-categ_Ll.c: Likewise.
11363         * tests/unictype/test-categ_Lm.c: Likewise.
11364         * tests/unictype/test-categ_Lo.c: Likewise.
11365         * tests/unictype/test-categ_Lu.c: Likewise.
11366         * tests/unictype/test-categ_M.c: Likewise.
11367         * tests/unictype/test-categ_Mc.c: Likewise.
11368         * tests/unictype/test-categ_Mn.c: Likewise.
11369         * tests/unictype/test-categ_N.c: Likewise.
11370         * tests/unictype/test-categ_Nd.c: Likewise.
11371         * tests/unictype/test-categ_Nl.c: Likewise.
11372         * tests/unictype/test-categ_No.c: Likewise.
11373         * tests/unictype/test-categ_P.c: Likewise.
11374         * tests/unictype/test-categ_Pd.c: Likewise.
11375         * tests/unictype/test-categ_Po.c: Likewise.
11376         * tests/unictype/test-categ_S.c: Likewise.
11377         * tests/unictype/test-categ_Sc.c: Likewise.
11378         * tests/unictype/test-categ_So.c: Likewise.
11379         * tests/unictype/test-ctype_alnum.c: Likewise.
11380         * tests/unictype/test-ctype_alpha.c: Likewise.
11381         * tests/unictype/test-ctype_graph.c: Likewise.
11382         * tests/unictype/test-ctype_lower.c: Likewise.
11383         * tests/unictype/test-ctype_print.c: Likewise.
11384         * tests/unictype/test-ctype_punct.c: Likewise.
11385         * tests/unictype/test-ctype_upper.c: Likewise.
11386         * tests/unictype/test-decdigit.h: Likewise.
11387         * tests/unictype/test-digit.h: Likewise.
11388         * tests/unictype/test-numeric.h: Likewise.
11389         * tests/unictype/test-pr_alphabetic.c: Likewise.
11390         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
11391         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
11392         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
11393         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
11394         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
11395         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
11396         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
11397         * tests/unictype/test-pr_combining.c: Likewise.
11398         * tests/unictype/test-pr_composite.c: Likewise.
11399         * tests/unictype/test-pr_currency_symbol.c: Likewise.
11400         * tests/unictype/test-pr_dash.c: Likewise.
11401         * tests/unictype/test-pr_decimal_digit.c: Likewise.
11402         * tests/unictype/test-pr_deprecated.c: Likewise.
11403         * tests/unictype/test-pr_diacritic.c: Likewise.
11404         * tests/unictype/test-pr_extender.c: Likewise.
11405         * tests/unictype/test-pr_grapheme_base.c: Likewise.
11406         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
11407         * tests/unictype/test-pr_grapheme_link.c: Likewise.
11408         * tests/unictype/test-pr_id_continue.c: Likewise.
11409         * tests/unictype/test-pr_id_start.c: Likewise.
11410         * tests/unictype/test-pr_ideographic.c: Likewise.
11411         * tests/unictype/test-pr_ignorable_control.c: Likewise.
11412         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
11413         * tests/unictype/test-pr_lowercase.c: Likewise.
11414         * tests/unictype/test-pr_numeric.c: Likewise.
11415         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
11416         * tests/unictype/test-pr_punctuation.c: Likewise.
11417         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
11418         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
11419         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
11420         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
11421         * tests/unictype/test-pr_uppercase.c: Likewise.
11422         * tests/unictype/test-pr_xid_continue.c: Likewise.
11423         * tests/unictype/test-pr_xid_start.c: Likewise.
11424         * tests/unictype/test-pr_zero_width.c: Likewise.
11425         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
11426         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
11427         changed behaviour: line breaking is now disallowed between a letter
11428         or '=' and '('.
11429         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
11430         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
11431         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
11432         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
11433         * tests/uniwidth/test-uc_width2.sh: Same updates as in
11434         lib/uniwidth/width.c.
11435         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
11436         without comments, but with the original copyright notice.
11437         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
11438         changes.
11439         * lib/unictype/categ_Cc.h: Likewise.
11440         * lib/unictype/categ_Co.h: Likewise.
11441         * lib/unictype/categ_Cs.h: Likewise.
11442         * lib/unictype/categ_Lt.h: Likewise.
11443         * lib/unictype/categ_Me.h: Likewise.
11444         * lib/unictype/categ_Pc.h: Likewise.
11445         * lib/unictype/categ_Pe.h: Likewise.
11446         * lib/unictype/categ_Pf.h: Likewise.
11447         * lib/unictype/categ_Pi.h: Likewise.
11448         * lib/unictype/categ_Ps.h: Likewise.
11449         * lib/unictype/categ_Sk.h: Likewise.
11450         * lib/unictype/categ_Sm.h: Likewise.
11451         * lib/unictype/categ_Z.h: Likewise.
11452         * lib/unictype/categ_Zl.h: Likewise.
11453         * lib/unictype/categ_Zp.h: Likewise.
11454         * lib/unictype/categ_Zs.h: Likewise.
11455         * lib/unictype/ctype_blank.h: Likewise.
11456         * lib/unictype/ctype_cntrl.h: Likewise.
11457         * lib/unictype/ctype_digit.h: Likewise.
11458         * lib/unictype/ctype_space.h: Likewise.
11459         * lib/unictype/ctype_xdigit.h: Likewise.
11460         * lib/unictype/mirror.h: Likewise.
11461         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
11462         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
11463         * lib/unictype/pr_bidi_block_separator.h: Likewise.
11464         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
11465         * lib/unictype/pr_bidi_common_separator.h: Likewise.
11466         * lib/unictype/pr_bidi_control.h: Likewise.
11467         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
11468         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
11469         * lib/unictype/pr_bidi_pdf.h: Likewise.
11470         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
11471         * lib/unictype/pr_bidi_whitespace.h: Likewise.
11472         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
11473         * lib/unictype/pr_format_control.h: Likewise.
11474         * lib/unictype/pr_hex_digit.h: Likewise.
11475         * lib/unictype/pr_hyphen.h: Likewise.
11476         * lib/unictype/pr_ids_binary_operator.h: Likewise.
11477         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
11478         * lib/unictype/pr_iso_control.h: Likewise.
11479         * lib/unictype/pr_join_control.h: Likewise.
11480         * lib/unictype/pr_left_of_pair.h: Likewise.
11481         * lib/unictype/pr_line_separator.h: Likewise.
11482         * lib/unictype/pr_math.h: Likewise.
11483         * lib/unictype/pr_non_break.h: Likewise.
11484         * lib/unictype/pr_not_a_character.h: Likewise.
11485         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
11486         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
11487         * lib/unictype/pr_other_id_continue.h: Likewise.
11488         * lib/unictype/pr_other_id_start.h: Likewise.
11489         * lib/unictype/pr_other_lowercase.h: Likewise.
11490         * lib/unictype/pr_other_math.h: Likewise.
11491         * lib/unictype/pr_other_uppercase.h: Likewise.
11492         * lib/unictype/pr_paired_punctuation.h: Likewise.
11493         * lib/unictype/pr_paragraph_separator.h: Likewise.
11494         * lib/unictype/pr_pattern_syntax.h: Likewise.
11495         * lib/unictype/pr_pattern_white_space.h: Likewise.
11496         * lib/unictype/pr_private_use.h: Likewise.
11497         * lib/unictype/pr_quotation_mark.h: Likewise.
11498         * lib/unictype/pr_radical.h: Likewise.
11499         * lib/unictype/pr_soft_dotted.h: Likewise.
11500         * lib/unictype/pr_space.h: Likewise.
11501         * lib/unictype/pr_titlecase.h: Likewise.
11502         * lib/unictype/pr_variation_selector.h: Likewise.
11503         * lib/unictype/pr_white_space.h: Likewise.
11504         * lib/unictype/sy_c_ident.h: Likewise.
11505         * lib/unictype/sy_c_whitespace.h: Likewise.
11506         * lib/unictype/sy_java_whitespace.h: Likewise.
11507         * modules/uni*/*: Bump version number of expected libunistring version.
11508         Reported by Simon Josefsson.
11509
11510 2011-01-09  Karl Heuer  <kwzh@gnu.org>
11511
11512         useless-if-before-free: fix typo in --help and make the internal,
11513         automatic version date update process work once again.
11514         --help output contained a NUL character instead of the
11515         backslash-zero that was intended.  Also, the "must lie within
11516         the first 8 lines" line is on line 9, and hence not getting
11517         automatically updated.
11518         * build-aux/useless-if-before-free: Fix the former by adding a
11519         backslash, and the latter by condensing the three lines of what-it-does
11520         to a single line, leaving one line of slack for the future.
11521
11522 2011-01-09  Bruno Haible  <bruno@clisp.org>
11523
11524         uniwidth/width: Fix width of U+1D173..U+1D17A.
11525         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
11526         symbolic_width, output_width_property_test): New functions.
11527         (main): Invoke output_nonspacing_property, output_width_property_test.
11528         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
11529         U+1D173..U+1D17A.
11530         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
11531         1.
11532         * modules/uniwidth/*: Bump version number of expected libunistring
11533         version.
11534         * modules/unilbrk/*: Likewise.
11535
11536 2011-01-08  Bruno Haible  <bruno@clisp.org>
11537
11538         uninorm tests: Preserve copyright of Unicode data file.
11539         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
11540         Mention modifications.
11541
11542 2011-01-08  Bruno Haible  <bruno@clisp.org>
11543
11544         gen-uni-tables: Prepare for Unicode 5.2.0.
11545         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
11546         (debug_output_lbp, output_lbp): Update.
11547
11548 2011-01-08  Bruno Haible  <bruno@clisp.org>
11549
11550         unilbrk: Clarify gen-uni-tables.c code.
11551         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
11552         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
11553         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
11554
11555 2011-01-07  Bruno Haible  <bruno@clisp.org>
11556
11557         strtod: Restore errno when successfully parsing Infinity or NaN.
11558         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
11559         restore the original errno.
11560
11561 2011-01-07  Bruno Haible  <bruno@clisp.org>
11562
11563         remove test: Avoid failure on HP-UX 11.
11564         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
11565
11566 2011-01-07  Bruno Haible  <bruno@clisp.org>
11567
11568         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
11569         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
11570         error code.
11571
11572 2011-01-07  PĂ¡draig Brady <P@draigBrady.com>
11573
11574         ignore-value: fixup comments, and add Eric Blake
11575         as an author since he rewrote the macros.
11576         * lib/ignore-value.h (ignore_value):  State that
11577         we now support aggregates.  Also specify exactly
11578         when the GCC warn_unused_result feature was added.
11579
11580 2011-01-06  Eric Blake  <eblake@redhat.com>
11581
11582         ignore-value: support aggregate types
11583         * lib/ignore-value.h (ignore_value): Provide separate gcc
11584         definition.
11585         * modules/ignore-value-tests: New test module.
11586         * tests/test-ignore-value.c: New test.
11587
11588         maint.mk: improve sc_prohibit_strcmp regex
11589         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
11590         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
11591         definition of STRNEQ.
11592
11593         signal: work around Haiku issue with SIGBUS
11594         * lib/siglist.h: Add comment.
11595         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
11596         strsignal's favoring of SIGSEGV.
11597         * tests/test-signal.c (main): Avoid test failure.
11598         * doc/posix-headers/signal.texi (signal.h): Document the issue.
11599         Reported by Scott McCreary.
11600
11601         maint.mk: add pre-release check to ensure submodule commits are public
11602         * top/maint.mk (public-submodule-commit): New rule.
11603         (submodule-checks): New variable.
11604         (alpha beta stable): Depend on the variable.
11605
11606 2011-01-05  PĂ¡draig Brady <P@draigBrady.com>
11607         and Jim Meyering  <meyering@redhat.com>
11608
11609         ignore-value: make ignore_value more generic; deprecate ignore_ptr
11610         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
11611         (ATTRIBUTE_DEPRECATED): Define.
11612         (_ignore_case): New function.
11613         (ignore_value): New macro, to replace the old function.
11614         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
11615         * modules/ignore-value (Depends-on): Add stdint.
11616
11617 2011-01-04  Eric Blake  <eblake@redhat.com>
11618
11619         doc: regenerate INSTALL
11620         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
11621         @firstparagraphindent support, now that autoconf dropped it.
11622         (INSTALL_PRELUDE): Reinstate old macro.
11623         * doc/install.texi: Resync from autoconf.
11624         * doc/INSTALL: Reflect recent autoconf update.
11625         * doc/INSTALL.ISO: Likewise.
11626         * doc/INSTALL.UTF-8: Likewise.
11627         Reported by Karl Berry.
11628
11629 2011-01-04  Bruce Korb  <address@hidden>
11630
11631         git-version-gen: avoid a sub-shell
11632         * build-aux/git-version-gen: Redirect stderr in `...` via
11633         "exec 2>...", rather than via an added sub-shell.
11634
11635 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
11636
11637         git-version-gen: use (...) rather than sh -c '...'
11638         * build-aux/git-version-gen: Rather than hard-coding a shell's name
11639         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
11640
11641 2011-01-03  Jim Meyering  <meyering@redhat.com>
11642
11643         git-version-gen: convert leading TABs to spaces
11644         * build-aux/git-version-gen: Expand leading TABs.
11645
11646         git-version-gen: handle failed "git rev-list"
11647         * build-aux/git-version-gen: Rather than leaking a "fatal" error
11648         from git and proceeding as if it had succeeded but printed no SHA1
11649         checksums, suppress the diagnostic and handle the failure.
11650         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
11651
11652         git-version-gen: include command name in one more diagnostic
11653         * build-aux/git-version-gen: When the required .tarball-version file
11654         was missing or unreadable, you might see the diagnostic from "cat",
11655         but no trace of the name of the invoking script.  Now, you still see
11656         the diagnostic from cat, but also get one from "git-version-gen: ".
11657         Inspired by a patch from Bruce Korb.
11658
11659         update-copyright: adjust test to match changed code
11660         * tests/test-update-copyright.sh: Change test's expected output
11661         to match new actual output.
11662
11663 2011-01-02  Bruno Haible  <bruno@clisp.org>
11664
11665         getlogin_r: Avoid test failure on HP-UX 11.
11666         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
11667         ERANGE when the second argument is zero.
11668         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
11669         portability problem.
11670
11671 2011-01-02  Bruce Korb  <bkorb@gnu.org>
11672
11673         * build-aux/update-copyright: doc Simon's changes
11674
11675 2011-01-02  Simon Josefsson  <simon@josefsson.org>
11676
11677         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
11678         environment variable.
11679
11680 2011-01-02  Bruno Haible  <bruno@clisp.org>
11681
11682         unigbrk: Avoid gcc warnings.
11683         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
11684         unused variable.
11685         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
11686         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
11687         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
11688         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
11689         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
11690         Change type of first argument to 'const char *'.
11691         (main): Remove unused variable.
11692         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
11693         type of first argument to 'const char *'.
11694         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
11695         Likewise.
11696         (main): Change type of variable 's'.
11697         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
11698         to 'int'.
11699
11700 2011-01-02  Bruno Haible  <bruno@clisp.org>
11701
11702         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
11703         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
11704         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
11705         bug.
11706         * lib/pwrite.c: Undo 2010-12-31 patch.
11707         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
11708
11709 2011-01-02  Bruno Haible  <bruno@clisp.org>
11710
11711         pread: Fix test whether it works.
11712         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
11713
11714 2011-01-02  Bruno Haible  <bruno@clisp.org>
11715
11716         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
11717         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
11718         ends in "6". Don't require a specific month name. Try also the locale
11719         names found on HP-UX 11 and Solaris 7.
11720
11721 2011-01-02  Bruno Haible  <bruno@clisp.org>
11722
11723         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
11724         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
11725         C linkage.
11726         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
11727
11728 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11729
11730         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
11731         for consistency, since the "cluster" term is not used elsewhere.
11732         * lib/unigbrk.in.h: Update name.
11733         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
11734         * lib/unigbrk/u16-grapheme-next.c: Update name.
11735         * lib/unigbrk/u16-grapheme-prev.c: Update name.
11736         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
11737         * lib/unigbrk/u32-grapheme-next.c: Update name.
11738         * lib/unigbrk/u32-grapheme-prev.c: Update name.
11739         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
11740         * lib/unigbrk/u8-grapheme-next.c: Update name.
11741         * lib/unigbrk/u8-grapheme-prev.c: Update name.
11742         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
11743         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
11744         Suggested by Bruno Haible.
11745
11746 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11747
11748         Remove module 'u8-grapheme-len' as too redundant with
11749         'u8-grapheme-next'.
11750         * modules/unigbrk/u8-grapheme-len: Delete file.
11751         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
11752         * lib/unigbrk.in.h: Remove prototype for deleted function.
11753         * lib/unigbrk/u8-grapheme-len.c: Delete file.
11754         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
11755
11756         Remove module 'u16-grapheme-len' as too redundant with
11757         'u16-grapheme-next'.
11758         * modules/unigbrk/u16-grapheme-len: Delete file.
11759         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
11760         * lib/unigbrk.in.h: Remove prototype for deleted function.
11761         * lib/unigbrk/u16-grapheme-len.c: Delete file.
11762         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
11763
11764         Remove module 'u32-grapheme-len' as too redundant with
11765         'u32-grapheme-next'.
11766         * modules/unigbrk/u32-grapheme-len: Delete file.
11767         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
11768         * lib/unigbrk.in.h: Remove prototype for deleted function.
11769         * lib/unigbrk/u32-grapheme-len.c: Delete file.
11770         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
11771
11772         Suggested by Bruno Haible.
11773
11774 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11775
11776         * unigbrk.in.h: Fix typo: "ben" => "been".
11777         Reported by Bruno Haible.
11778
11779 2011-01-01  Jim Meyering  <meyering@redhat.com>
11780
11781         maint: update almost all copyright ranges to include 2011
11782         Run the new "make update-copyright" rule.
11783
11784 2011-01-01  Jim Meyering  <meyering@redhat.com>
11785
11786         maint: update-copyright: exempt doc/INSTALL*
11787         * Makefile (update-copyright): Also exclude doc/INSTALL*,
11788         since they are generated.  Suggested by Bruno Haible.
11789
11790 2011-01-01  Jim Meyering  <meyering@redhat.com>
11791
11792         maint: refine the update-copyright rule
11793         * Makefile (update-copyright): Also exclude any file that includes
11794         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
11795         code that merely generates the comment.
11796
11797 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
11798
11799         New module 'u8-grapheme-len'.
11800         * modules/unigbrk/u8-grapheme-len: New file.
11801         * modules/unigbrk/u8-grapheme-len-tests: New file.
11802         * lib/unigbrk.in.h: Add prototype for new function.
11803         * lib/unigbrk/u8-grapheme-len.c: New file.
11804         * tests/unigbrk/test-u8-grapheme-len.c: New file.
11805
11806         New module 'u16-grapheme-len'.
11807         * modules/unigbrk/u16-grapheme-len: New file.
11808         * modules/unigbrk/u16-grapheme-len-tests: New file.
11809         * lib/unigbrk.in.h: Add prototype for new function.
11810         * lib/unigbrk/u16-grapheme-len.c: New file.
11811         * tests/unigbrk/test-u16-grapheme-len.c: New file.
11812
11813         New module 'u32-grapheme-len'.
11814         * modules/unigbrk/u32-grapheme-len: New file.
11815         * modules/unigbrk/u32-grapheme-len-tests: New file.
11816         * lib/unigbrk.in.h: Add prototype for new function.
11817         * lib/unigbrk/u32-grapheme-len.c: New file.
11818         * tests/unigbrk/test-u32-grapheme-len.c: New file.
11819
11820         New module 'u8-grapheme-next'.
11821         * modules/unigbrk/u8-grapheme-next: New file.
11822         * modules/unigbrk/u8-grapheme-next-tests: New file.
11823         * lib/unigbrk.in.h: Add prototype for new function.
11824         * lib/unigbrk/u8-grapheme-next.c: New file.
11825         * tests/unigbrk/test-u8-grapheme-next.c: New file.
11826
11827         New module 'u16-grapheme-next'.
11828         * modules/unigbrk/u16-grapheme-next: New file.
11829         * modules/unigbrk/u16-grapheme-next-tests: New file.
11830         * lib/unigbrk.in.h: Add prototype for new function.
11831         * lib/unigbrk/u16-grapheme-next.c: New file.
11832         * tests/unigbrk/test-u16-grapheme-next.c: New file.
11833
11834         New module 'u32-grapheme-next'.
11835         * modules/unigbrk/u32-grapheme-next: New file.
11836         * modules/unigbrk/u32-grapheme-next-tests: New file.
11837         * lib/unigbrk.in.h: Add prototype for new function.
11838         * lib/unigbrk/u32-grapheme-next.c: New file.
11839         * tests/unigbrk/test-u32-grapheme-next.c: New file.
11840
11841         New module 'u8-grapheme-prev'.
11842         * modules/unigbrk/u8-grapheme-prev: New file.
11843         * modules/unigbrk/u8-grapheme-prev-tests: New file.
11844         * lib/unigbrk.in.h: Add prototype for new function.
11845         * lib/unigbrk/u8-grapheme-prev.c: New file.
11846         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
11847
11848         New module 'u16-grapheme-prev'.
11849         * modules/unigbrk/u16-grapheme-prev: New file.
11850         * modules/unigbrk/u16-grapheme-prev-tests: New file.
11851         * lib/unigbrk.in.h: Add prototype for new function.
11852         * lib/unigbrk/u16-grapheme-prev.c: New file.
11853         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
11854
11855         New module 'u32-grapheme-prev'.
11856         * modules/unigbrk/u32-grapheme-prev: New file.
11857         * modules/unigbrk/u32-grapheme-prev-tests: New file.
11858         * lib/unigbrk.in.h: Add prototype for new function.
11859         * lib/unigbrk/u32-grapheme-prev.c: New file.
11860         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
11861
11862         New module 'u8-grapheme-breaks'.
11863         * modules/unigbrk/u8-grapheme-breaks: New file.
11864         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
11865         * lib/unigbrk.in.h: Add prototype for new function.
11866         * lib/unigbrk/u8-grapheme-breaks.c: New file.
11867         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
11868
11869         New module 'u16-grapheme-breaks'.
11870         * modules/unigbrk/u16-grapheme-breaks: New file.
11871         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
11872         * lib/unigbrk.in.h: Add prototype for new function.
11873         * lib/unigbrk/u16-grapheme-breaks.c: New file.
11874         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
11875
11876         New module 'u32-grapheme-breaks'.
11877         * modules/unigbrk/u32-grapheme-breaks: New file.
11878         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
11879         * lib/unigbrk.in.h: Add prototype for new function.
11880         * lib/unigbrk/u32-grapheme-breaks.c: New file.
11881         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
11882
11883         New module 'ulc-grapheme-breaks'.
11884         * modules/unigbrk/ulc-grapheme-breaks: New file.
11885         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
11886         * m4/locale-ar.m4: New file.
11887         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
11888         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
11889         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
11890
11891 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
11892
11893         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
11894         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
11895         modified how this file was generated before I initially submitted
11896         the module, but failed to regenerate it.  This meant that several
11897         of the level2 entries were wrong.
11898         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
11899         Remove the division-by-2 that is folded into the table now that
11900         gbrkprop.h has been regenerated properly.  Now -1 entries are
11901         handled correctly.
11902
11903         New module 'unigbrk/uc-gbrk-prop-tests'.
11904         * modules/unigbrk/uc-gbrk-prop-tests: New file.
11905         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
11906         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
11907         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
11908
11909 2011-01-01  Bruno Haible  <bruno@clisp.org>
11910
11911         Avoid use of hexadecimal escapes.
11912         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
11913         instead of hexadecimal escapes.
11914
11915 2011-01-01  Jim Meyering  <meyering@redhat.com>
11916
11917         maint: new rule to update copyright year ranges
11918         * Makefile (update-copyright): New rule.
11919
11920         maint: indent with TABs in Makefile
11921         * Makefile: Expand leading sequences of spaces to TABs
11922
11923         version-etc: update the copyright year it reports
11924         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
11925
11926 2010-12-31  Bruno Haible  <bruno@clisp.org>
11927
11928         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
11929         * lib/isfinite.c (zerof, zerod, zerol): New variables.
11930         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
11931         zero.
11932
11933 2010-12-31  Bruno Haible  <bruno@clisp.org>
11934
11935         pwrite: Work around HP-UX 11.11 bug.
11936         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
11937         works and set REPLACE_PWRITE if not.
11938         * lib/pwrite.c (pwrite): Add an implementation that uses the system
11939         function.
11940         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
11941
11942 2010-12-31  Bruno Haible  <bruno@clisp.org>
11943
11944         pread: Work around HP-UX 11 bugs.
11945         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
11946         and set REPLACE_PREAD if not.
11947         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
11948
11949 2010-12-31  Eric Blake  <eblake@redhat.com>
11950
11951         nl_langinfo: fix YESEXPR on Irix 6.5
11952         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
11953         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
11954         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
11955         it.
11956
11957 2010-12-31  Bruno Haible  <bruno@clisp.org>
11958
11959         iconv: Document HP-UX 11 bug.
11960         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
11961
11962 2010-12-31  Bruno Haible  <bruno@clisp.org>
11963
11964         ldexpl: Fix link error on HP-UX 11.
11965         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
11966         LDEXPL_LIBM, using $ISNANL_LIBM.
11967
11968 2010-12-31  Eric Blake  <eblake@redhat.com>
11969
11970         ftello: avoid compilation failure with SunStudio c89
11971         * lib/ftello.c (ftello): Use lseek, not llseek.
11972
11973         tests: avoid failing coreutils tests on cygwin
11974         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
11975         (create_exe_shims_): Return 0 when skipping.
11976
11977 2010-12-31  Bruno Haible  <bruno@clisp.org>
11978
11979         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
11980         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
11981
11982 2010-12-31  Bruno Haible  <bruno@clisp.org>
11983
11984         waitpid: Fix link error in C++ mode.
11985         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
11986
11987 2010-12-31  Bruno Haible  <bruno@clisp.org>
11988
11989         isnan: Use GCC built-ins when possible.
11990         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
11991         __builtin_isnan.
11992         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
11993         (isnan): Define using GCC built-ins for GCC >= 4.0.
11994
11995 2010-12-31  Bruno Haible  <bruno@clisp.org>
11996
11997         isnand: Fix mistake.
11998         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
11999         __builtin_isnand.
12000
12001 2010-12-31  Bruno Haible  <bruno@clisp.org>
12002
12003         open: Avoid C++ error on HP-UX 11.
12004         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
12005
12006 2010-12-31  Bruno Haible  <bruno@clisp.org>
12007
12008         time_r: Add missing declarations on HP-UX 11.
12009         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
12010         instead of HAVE_LOCALTIME_R.
12011         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
12012         HAVE_LOCALTIME_R always.
12013         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
12014         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
12015         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
12016         HAVE_LOCALTIME_R.
12017         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
12018         * doc/posix-functions/localtime_r.texi: Likewise.
12019
12020 2010-12-29  Eric Blake  <eblake@redhat.com>
12021
12022         mountlist: tweak previous commit
12023         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
12024         Reported by Paul Eggert.
12025
12026         mountlist: fix local drive detection on cygwin
12027         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
12028         that works for cygwin.
12029
12030 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
12031
12032         ftoastr, snprintf: ftoastr + snprintf module
12033         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
12034         since the snprintf module now should be good enough here.
12035         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
12036         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
12037         and gl_MODULE_INDICATOR([snprintf]), but the former enables
12038         GNULIB_SNPRINTF only for the test directory, and the latter
12039         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
12040         seems to suffice by itself.
12041
12042 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12043
12044         alloca: one step towards thread-safety
12045         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
12046         need for a static variable.  All callers changed.  This does not
12047         make the alloca replacement thread-safe, but it's one step.
12048
12049         tests: minor indenting change
12050         * tests/init.sh: Sync from coreutils housekeeping patch
12051         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
12052         to keep lines within 80 columns.
12053
12054 2010-12-28  Jim Meyering  <meyering@redhat.com>
12055
12056         regex: don't infloop on persistent failing calloc
12057         * lib/regexec.c (build_trtable): Return failure indication upon
12058         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
12059         In glibc, this was fixed for version 2.13:
12060         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
12061
12062 2010-12-28  Bruno Haible  <bruno@clisp.org>
12063             Paul Eggert <eggert@cs.ucla.edu>
12064
12065         linkat: Make implementation robust against system behaviour variations.
12066         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
12067         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
12068         way, and to -2 if it needs a generic runtime test.
12069         * lib/linkat.c (solaris_optimized_link_immediate,
12070         solaris_optimized_link_follow): New functions.
12071         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
12072         (check_same_link): Use it.
12073
12074 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
12075
12076         New module 'unigbrk/base'.
12077         * modules/unigbrk/base: New file.
12078         * lib/unigbrk.in.h: New file.
12079
12080         New module 'unigbrk/uc-gbrk-prop'.
12081         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
12082         * modules/unigbrk/uc-gbrk-prop: New file.
12083         * lib/unigbrk/gbrkprop.h: New file.
12084         * lib/unigbrk/uc-gbrk-prop.c: New file.
12085
12086         New module 'unigbrk/uc-is-grapheme-break'.
12087         * modules/unigbrk/uc-is-grapheme-break: New file.
12088         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
12089         * lib/unigbrk/uc-is-grapheme-break.c: New file.
12090         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
12091         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
12092         * tests/unigbrk/GraphemeBreakTest.txt: New file.
12093
12094         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
12095
12096 2010-12-27  Bruno Haible  <bruno@clisp.org>
12097
12098         linkat test: Avoid failure on Solaris 11 2010-11.
12099         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
12100
12101 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
12102
12103         utimens: work around glibc rounding bug on more platforms
12104         * lib/utimens.c (fdutimens): Work around rounding bug even if
12105         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
12106         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
12107
12108 2010-12-27  Bruno Haible  <bruno@clisp.org>
12109
12110         select tests: Improve comments.
12111         * tests/test-select.c (do_select): Add comments.
12112
12113 2010-12-27  Bruno Haible  <bruno@clisp.org>
12114
12115         select tests: Safer way of handling timeout.
12116         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
12117         at every invocation.
12118
12119 2010-12-27  Bruno Haible  <bruno@clisp.org>
12120
12121         select tests: Use 'bool' where appropriate.
12122         * tests/test-select.c (connect_to_socket): Change argument type to
12123         'bool'.
12124
12125 2010-12-27  Bruno Haible  <bruno@clisp.org>
12126
12127         select tests: Use existing modules.
12128         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
12129         (configure.ac): Don't test for unistd.h.
12130         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
12131         declared in <unistd.h>.
12132
12133 2010-12-27  Bruno Haible  <bruno@clisp.org>
12134
12135         mbrtowc: Work around a Solaris 7 bug.
12136         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
12137         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
12138         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
12139         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
12140         MBRTOWC_NULL_ARG1_BUG.
12141         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
12142         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
12143         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
12144         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
12145
12146 2010-12-27  Jim Meyering  <meyering@redhat.com>
12147
12148         read-file.c: tweak syntax
12149         * lib/read-file.c (fread_file): Remove space after "*" in function
12150         definitions.
12151
12152 2010-12-27  Bruno Haible  <bruno@clisp.org>
12153
12154         times test: Avoid gcc warnings on OSF/1.
12155         * tests/test-times.c (main): Cast printf arguments from clock_t to
12156         'long int'.
12157
12158 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
12159
12160         utimens: work around glibc rounding bug on older Linux kernels
12161         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
12162         on Linux with a glibc whose utimes might not work, then work
12163         around a longstanding glibc bug involving rounding rather than
12164         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
12165         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
12166
12167 2010-12-26  Bruno Haible  <bruno@clisp.org>
12168
12169         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
12170         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
12171         _GL_CXXALIAS_SYS.
12172         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12173
12174 2010-12-26  Bruno Haible  <bruno@clisp.org>
12175
12176         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
12177         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
12178         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
12179         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
12180         looking for the declaration.
12181         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
12182         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
12183         problem.
12184         * doc/posix-functions/inet_pton.texi: Likewise.
12185
12186 2010-12-26  Bruno Haible  <bruno@clisp.org>
12187
12188         arpa_inet: Use the common idioms with C++ support.
12189         * lib/arpa_inet.in.h: Include c++defs.h.
12190         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
12191         support.
12192         * modules/arpa_inet (Depends-on): Add c++defs.
12193         (Makefile.am): Substitute the contents of c++defs.h.
12194         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
12195         * modules/arpa_inet-c++-tests: New file.
12196         * tests/test-arpa_inet-c++.cc: New file.
12197
12198 2010-12-25  Bruno Haible  <bruno@clisp.org>
12199
12200         Fix more C++ link errors on Solaris 8.
12201         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
12202         $(LIB_EACCESS).
12203         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
12204         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
12205         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
12206         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
12207         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
12208
12209 2010-12-25  Bruno Haible  <bruno@clisp.org>
12210
12211         printf-posix: Fix link error when a non-GCC compiler is used.
12212         * lib/stdio.in.h (printf): When not using GCC, override printf
12213         correctly.
12214         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12215
12216 2010-12-25  Bruno Haible  <bruno@clisp.org>
12217
12218         strerror_r-posix: Update doc.
12219         * doc/posix-functions/strerror_r.texi: Update doc about the return
12220         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
12221
12222 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
12223
12224         utimens: simplify the logic of the previous change
12225         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
12226         This should not affect whether the test succeeds or fails.
12227
12228         utimens: configure better on hosts with NFS clock skew
12229         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
12230         uses the clock of the local host.  It might use the clock of the
12231         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
12232         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
12233
12234 2010-12-25  Bruno Haible  <bruno@clisp.org>
12235
12236         ptsname test: Avoid failure on Solaris.
12237         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
12238         open a pseudo-terminal; don't use BSD-style ptys.
12239         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
12240
12241 2010-12-25  Bruno Haible  <bruno@clisp.org>
12242
12243         ptsname: Avoid ERANGE failure on some systems.
12244         * lib/ptsname.c (buffer): Increase size.
12245
12246 2010-12-25  Bruno Haible  <bruno@clisp.org>
12247
12248         rename, renameat: Avoid test failures at NFS mounted locations.
12249         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
12250         so that subsequent mkdir calls succeed.
12251
12252 2010-12-25  Bruno Haible  <bruno@clisp.org>
12253
12254         iswblank: Fix C++ link error on Solaris 8.
12255         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
12256         _GL_FUNCDECL_SYS.
12257
12258 2010-12-25  Bruno Haible  <bruno@clisp.org>
12259
12260         unistd: Fix C++ link error on Solaris 8.
12261         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
12262
12263 2010-12-25  Bruno Haible  <bruno@clisp.org>
12264
12265         readlink doc: Mention an old glibc bug.
12266         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
12267
12268 2010-12-25  Bruno Haible  <bruno@clisp.org>
12269
12270         fcntl-h: Fix for use of C++ on glibc systems.
12271         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
12272         also on glibc systems in C++ mode.
12273         Reported by Gary V. Vaughan <gary@gnu.org>.
12274
12275 2010-12-25  Bruno Haible  <bruno@clisp.org>
12276
12277         roundl-ieee: Make it work on OSF/1 5.1 with cc.
12278         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
12279
12280 2010-12-25  Bruno Haible  <bruno@clisp.org>
12281
12282         truncl-ieee: Make it work on OSF/1 5.1 with cc.
12283         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
12284         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
12285         test whether truncl works according to ISO C 99 with IEC 60559.
12286         * m4/truncl-ieee.m4: New file.
12287         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
12288         m4/signbit.m4.
12289         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
12290
12291 2010-12-25  Bruno Haible  <bruno@clisp.org>
12292
12293         ceill-ieee: Make it work on OSF/1 5.1 with cc.
12294         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
12295         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
12296         test whether ceill works according to ISO C 99 with IEC 60559.
12297         * m4/ceill-ieee.m4: New file.
12298         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
12299         m4/signbit.m4.
12300         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
12301
12302 2010-12-25  Bruno Haible  <bruno@clisp.org>
12303
12304         Ensure all prerequisites of <wchar.h> are included.
12305         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
12306         before <wchar.h>.
12307         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
12308         gl_MBRLEN_NUL_RETVAL): Likewise.
12309         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
12310         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
12311         AC_FUNC_MBRTOWC): Likewise.
12312         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
12313         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
12314         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
12315         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
12316         Likewise.
12317         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
12318         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
12319         (gl_WCHAR_H): Improve comments.
12320         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
12321
12322 2010-12-25  Bruno Haible  <bruno@clisp.org>
12323
12324         strtok_r: Fix C syntax error in autoconf macro.
12325         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
12326         characters in test program.
12327
12328 2010-12-24  Bruno Haible  <bruno@clisp.org>
12329
12330         ceil, trunc, round: Fix gcc warnings.
12331         * lib/ceil.c (MIN): Undefine before redefining.
12332         * lib/trunc.c (MIN): Likewise.
12333         * lib/round.c (MIN): Likewise.
12334         Include <math.h> first.
12335
12336 2010-12-24  Bruno Haible  <bruno@clisp.org>
12337
12338         select tests: Avoid failures on OSF/1 5.1.
12339         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
12340         failure of closing the last socket; it may fail with ECONNRESET.
12341
12342 2010-12-24  Eric Blake  <eblake@redhat.com>
12343
12344         stdint: avoid HP-UX 10.20 preprocessor bug
12345         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
12346         than #if.
12347         * tests/test-floor2.c (main): Likewise.
12348         Reported by Peter O'Gorman.
12349
12350         pipe: make obsoletion transition easier
12351         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
12352         * modules/pipe (Files): Include revived file.
12353         (Include): Drop reference, to mirror getdate's behavior.
12354
12355 2010-12-24  Bruno Haible  <bruno@clisp.org>
12356
12357         sys_socket: Hide mismatch of declarations on NonStop Kernel.
12358         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
12359         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
12360         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12361
12362 2010-12-24  Bruno Haible  <bruno@clisp.org>
12363
12364         gethostname: Ensure declaration on NonStop Kernel.
12365         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
12366         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12367
12368 2010-12-24  Bruno Haible  <bruno@clisp.org>
12369
12370         sys_select: Ensure all necessary types on NonStop Kernel.
12371         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
12372         include <sys/time.h>.
12373         * doc/posix-headers/sys_select.texi: Mention that it's missing on
12374         NonStop Kernel.
12375         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12376
12377 2010-12-24  Bruno Haible  <bruno@clisp.org>
12378
12379         sys_select: Remove unneeded include.
12380         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
12381         have <sys/select.h>.
12382
12383 2010-12-24  Bruno Haible  <bruno@clisp.org>
12384
12385         gethostname: Provide a fallback for HOST_NAME_MAX.
12386         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
12387         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
12388         instead.
12389         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12390
12391 2010-12-24  Bruno Haible  <bruno@clisp.org>
12392
12393         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
12394         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
12395         (SA_RESTART): Likewise.
12396         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12397
12398 2010-12-24  Bruno Haible  <bruno@clisp.org>
12399
12400         signal: Define NSIG.
12401         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
12402         * tests/test-signal.c (nsig): New variable.
12403         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12404
12405 2010-12-24  Bruno Haible  <bruno@clisp.org>
12406
12407         rename, renameat: Avoid test failures on OSF/1 5.1.
12408         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
12409         alternative error codes.
12410         * tests/test-renameat.c (main): Likewise.
12411
12412 2010-12-24  Bruno Haible  <bruno@clisp.org>
12413
12414         *printf: Detect large precisions bug on Solaris 10/SPARC.
12415         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
12416         by Paul Eggert.
12417         * tests/test-snprintf-posix.h (test_function): Add this test code here
12418         too.
12419         * tests/test-sprintf-posix.h (test_function): Likewise.
12420         * tests/test-vasnprintf-posix.c (test_function): Likewise.
12421         * tests/test-vasprintf-posix.c (test_function): Likewise.
12422         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
12423         around by gnulib.
12424         * doc/posix-functions/printf.texi: Likewise.
12425         * doc/posix-functions/snprintf.texi: Likewise.
12426         * doc/posix-functions/sprintf.texi: Likewise.
12427         * doc/posix-functions/vfprintf.texi: Likewise.
12428         * doc/posix-functions/vprintf.texi: Likewise.
12429         * doc/posix-functions/vsnprintf.texi: Likewise.
12430         * doc/posix-functions/vsprintf.texi: Likewise.
12431         * doc/posix-functions/dprintf.texi: Undo last commit.
12432         * doc/posix-functions/vdprintf.texi: Likewise.
12433
12434 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12435
12436         tests: port test-fdutimensat.c to Solaris 8
12437         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
12438         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
12439         On Solaris 8, it fails with errno == ENOSYS, because there is no
12440         futimens (so it can't use the fd), and there is no lutimens (so it
12441         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
12442
12443         vsnprintf: make more consistent with snprintf; doc fixes
12444
12445         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
12446         the byte count return problem was promoted from the snprintf-posix
12447         to the snprintf module.
12448         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12449         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
12450         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
12451         * tests/test-snprintf.c (main): Check the byte count returned.
12452         * tests/test-vsnprintf.c (main): Likewise.
12453
12454 2010-12-23  Eric Blake  <eblake@redhat.com>
12455
12456         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
12457         * modules/sigpipe (License): Relax license.
12458
12459 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
12460
12461         doc: document Solaris printf bug with large float precisions
12462         * doc/posix-functions/dprintf.texi (dprintf):
12463         * doc/posix-functions/fprintf.texi (fprintf):
12464         * doc/posix-functions/printf.texi (printf):
12465         * doc/posix-functions/snprintf.texi (snprintf):
12466         * doc/posix-functions/sprintf.texi (sprintf):
12467         * doc/posix-functions/vdprintf.texi (vdprintf):
12468         * doc/posix-functions/vfprintf.texi (vfprintf):
12469         * doc/posix-functions/vprintf.texi (vprintf):
12470         * doc/posix-functions/vsnprintf.texi (vsnprintf):
12471         * doc/posix-functions/vsprintf.texi (vsprintf):
12472         Mention that these functions mishandle large floating point
12473         precisions on Solaris 10.  The same bug is also present in Solaris
12474         8, and I assume earlier.  This causes "cd gnulib-tests; make
12475         check" to fail on Solaris 8 (and I assume, later) when building
12476         the latest coreutils, in test-vasprintf-posix's call to
12477         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
12478         the wide flavors (e.g., wprintf) so this patch just updates the
12479         documentation for the narrow ones.
12480
12481         test-posixtm.c: add two tests
12482         * tests/test-posixtm.c: Add two tests, to highlight the
12483         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
12484         around this bug; this is merely to document it.
12485
12486 2010-12-22  Bruno Haible  <bruno@clisp.org>
12487
12488         getlogin_r: Work around portability problem on OSF/1.
12489         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
12490         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
12491         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
12492         test for a truncated result.
12493         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
12494         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
12495         * modules/getlogin_r (Depends-on): Add memchr.
12496         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
12497
12498 2010-12-22  Bruno Haible  <bruno@clisp.org>
12499
12500         ptsname: Avoid test failure on OSF/1 5.1.
12501         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
12502         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
12503         (same_slave): New function.
12504         (main): Use it to compare ptsname's result with the expected file name.
12505
12506 2010-12-22  Bruno Haible  <bruno@clisp.org>
12507
12508         Port extended stdio modules to HP NonStop Kernel.
12509         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
12510         macros.
12511         * lib/fbufmode.c: Update comments.
12512         * lib/fflush.c: Likewise.
12513         * lib/fpurge.c: Likewise.
12514         * lib/freadable.c: Likewise.
12515         * lib/freadahead.c: Likewise.
12516         * lib/freading.c: Likewise.
12517         * lib/freadptr.c: Likewise.
12518         * lib/freadseek.c: Likewise.
12519         * lib/fseeko.c: Likewise.
12520         * lib/fseterr.c: Likewise.
12521         * lib/fwritable.c: Likewise.
12522         * lib/fwriting.c: Likewise.
12523         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12524
12525 2010-12-22  Bruno Haible  <bruno@clisp.org>
12526
12527         ttyname_r: Work around bug on OSF/1 5.1.
12528         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
12529         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
12530         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
12531         present.
12532         * lib/ttyname_r.c (ttyname_r): Update comments.
12533
12534 2010-12-22  Bruno Haible  <bruno@clisp.org>
12535
12536         round: Implement result sign according to IEEE 754.
12537         * lib/round.c (MIN, MINUS_ZERO): New macros.
12538         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
12539         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
12540         * tests/test-round-ieee.c (main): Likewise.
12541         * tests/test-roundl-ieee.c (main): Likewise.
12542
12543         trunc: Implement result sign according to IEEE 754.
12544         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
12545         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
12546         * tests/test-trunc2.c: Include minus-zero.h.
12547         (MINUS_ZERO): New macro.
12548         (trunc_reference): Keep in sync with lib/trunc.c.
12549         * tests/test-truncf2.c: Include minus-zero.h.
12550         (MINUS_ZERO): New macro.
12551         (truncf_reference): Keep in sync with lib/trunc.c.
12552         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
12553         * tests/test-trunc-ieee.c (main): Likewise.
12554         * tests/test-truncl-ieee.c (main): Likewise.
12555
12556         ceil: Implement result sign according to IEEE 754.
12557         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
12558         (FUNC): Return -0.0 for -1 < x < 0.
12559         * tests/test-ceil2.c: Include minus-zero.h.
12560         (MINUS_ZERO): New macro.
12561         (ceil_reference): Keep in sync with lib/ceil.c.
12562         * tests/test-ceilf2.c: Include minus-zero.h.
12563         (MINUS_ZERO): New macro.
12564         (ceilf_reference): Keep in sync with lib/ceil.c.
12565         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
12566         * tests/test-ceil-ieee.c (main): Likewise.
12567         * tests/test-ceill-ieee.c (main): Likewise.
12568
12569         floor: Implement result sign according to IEEE 754.
12570         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
12571         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
12572         * tests/test-floorf2.c (floorf_reference): Likewise.
12573         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
12574         * tests/test-floor-ieee.c (main): Likewise.
12575         * tests/test-floorl-ieee.c (main): Likewise.
12576
12577 2010-12-22  Bruno Haible  <bruno@clisp.org>
12578
12579         getaddrinfo: Update doc.
12580         * doc/posix-functions/gai_strerror.texi: Return type is also different
12581         on AIX and HP-UX.
12582
12583 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
12584
12585         getaddrinfo, inet_ntop: Update doc for Solaris.
12586         * doc/posix-functions/gai_strerror.texi: Return type is also an
12587         issue on Solaris 9 and earlier.
12588         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
12589         on Solaris 10 and earlier.
12590
12591 2010-12-21  Bruno Haible  <bruno@clisp.org>
12592
12593         New module 'roundl-ieee'.
12594         * modules/roundl-ieee: New file.
12595         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
12596         test whether roundl works according to ISO C 99 with IEC 60559.
12597         * m4/roundl-ieee.m4: New file.
12598         * modules/roundl-ieee-tests: New file.
12599         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
12600         * tests/test-roundl.c (main): Remove signbit tests.
12601         * modules/roundl-tests (Depends-on): Remove signbit.
12602         * doc/posix-functions/roundl.texi: Mention the new module.
12603
12604 2010-12-21  Bruno Haible  <bruno@clisp.org>
12605
12606         New module 'truncl-ieee'.
12607         * modules/truncl-ieee: New file.
12608         * modules/truncl-ieee-tests: New file.
12609         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
12610         * tests/test-truncl.c (main): Remove signbit tests.
12611         * modules/truncl-tests (Depends-on): Remove signbit.
12612         * doc/posix-functions/truncl.texi: Mention the new module.
12613
12614 2010-12-21  Bruno Haible  <bruno@clisp.org>
12615
12616         New module 'ceill-ieee'.
12617         * modules/ceill-ieee: New file.
12618         * modules/ceill-ieee-tests: New file.
12619         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
12620         * tests/test-ceill.c (main): Remove signbit tests.
12621         * modules/ceill-tests (Depends-on): Remove signbit.
12622         * doc/posix-functions/ceill.texi: Mention the new module.
12623
12624 2010-12-21  Bruno Haible  <bruno@clisp.org>
12625
12626         New module 'floorl-ieee'.
12627         * modules/floorl-ieee: New file.
12628         * modules/floorl-ieee-tests: New file.
12629         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
12630         * tests/test-floorl.c (main): Remove signbit tests.
12631         * modules/floorl-tests (Depends-on): Remove signbit.
12632         * doc/posix-functions/floorl.texi: Mention the new module.
12633
12634 2010-12-21  Bruno Haible  <bruno@clisp.org>
12635
12636         New module 'round-ieee'.
12637         * modules/round-ieee: New file.
12638         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
12639         whether round works according to ISO C 99 with IEC 60559.
12640         * m4/round-ieee.m4: New file.
12641         * modules/round-ieee-tests: New file.
12642         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
12643         * tests/test-round1.c (main): Remove signbit tests.
12644         * modules/round-tests (Depends-on): Remove 'signbit'.
12645         * doc/posix-functions/round.texi: Mention the new module.
12646
12647 2010-12-21  Bruno Haible  <bruno@clisp.org>
12648
12649         New module 'trunc-ieee'.
12650         * modules/trunc-ieee: New file.
12651         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
12652         whether trunc works according to ISO C 99 with IEC 60559.
12653         * m4/trunc-ieee.m4: New file.
12654         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
12655         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
12656         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
12657         * modules/trunc-ieee-tests: New file.
12658         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
12659         * tests/test-trunc1.c (main): Remove signbit tests.
12660         * modules/trunc-tests (Depends-on): Remove 'signbit'.
12661         * doc/posix-functions/trunc.texi: Mention the new module.
12662
12663 2010-12-21  Bruno Haible  <bruno@clisp.org>
12664
12665         New module 'ceil-ieee'.
12666         * modules/ceil-ieee: New file.
12667         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
12668         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
12669         ISO C 99 with IEC 60559.
12670         * m4/ceil-ieee.m4: New file.
12671         * modules/ceil (Files): Add lib/ceil.c.
12672         (Depends-on): Add 'float'.
12673         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12674         * lib/math.in.h (ceil): New declaration.
12675         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
12676         REPLACE_CEIL.
12677         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
12678         * modules/ceil-ieee-tests: New file.
12679         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
12680         * tests/test-math-c++.cc: Check the signature of 'ceil'.
12681         * doc/posix-functions/ceil.texi: Mention the new module.
12682
12683 2010-12-21  Bruno Haible  <bruno@clisp.org>
12684
12685         New module 'floor-ieee'.
12686         * modules/floor-ieee: New file.
12687         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
12688         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
12689         ISO C 99 with IEC 60559.
12690         * m4/floor-ieee.m4: New file.
12691         * modules/floor (Files): Add lib/floor.c.
12692         (Depends-on): Add 'float'.
12693         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12694         * lib/math.in.h (floor): New declaration.
12695         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
12696         REPLACE_FLOOR.
12697         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
12698         * modules/floor-ieee-tests: New file.
12699         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
12700         * tests/test-math-c++.cc: Check the signature of 'floor'.
12701         * doc/posix-functions/floor.texi: Mention the new module.
12702
12703 2010-12-21  Bruno Haible  <bruno@clisp.org>
12704
12705         New module 'roundf-ieee'.
12706         * modules/roundf-ieee: New file.
12707         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
12708         test whether roundf works according to ISO C 99 with IEC 60559.
12709         * m4/roundf-ieee.m4: New file.
12710         * modules/roundf-ieee-tests: New file.
12711         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
12712         * tests/test-roundf1.c (main): Remove signbit tests.
12713         * modules/roundf-tests (Depends-on): Remove 'signbit'.
12714         * doc/posix-functions/roundf.texi: Mention the new module.
12715
12716 2010-12-21  Bruno Haible  <bruno@clisp.org>
12717
12718         New module 'truncf-ieee'.
12719         * modules/truncf-ieee: New file.
12720         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
12721         test whether truncf works according to ISO C 99 with IEC 60559.
12722         * m4/truncf-ieee.m4: New file.
12723         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
12724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
12725         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
12726         * modules/truncf-ieee-tests: New file.
12727         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
12728         * tests/test-truncf1.c (main): Remove signbit tests.
12729         * modules/truncf-tests (Depends-on): Remove 'signbit'.
12730         * doc/posix-functions/truncf.texi: Mention the new module.
12731
12732 2010-12-21  Bruno Haible  <bruno@clisp.org>
12733
12734         New module 'ceilf-ieee'.
12735         * modules/ceilf-ieee: New file.
12736         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
12737         test whether ceilf works according to ISO C 99 with IEC 60559.
12738         * m4/ceilf-ieee.m4: New file.
12739         * modules/ceilf-ieee-tests: New file.
12740         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
12741         * tests/test-ceilf1.c (main): Remove signbit tests.
12742         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
12743         * doc/posix-functions/ceilf.texi: Mention the new module.
12744
12745 2010-12-21  Bruno Haible  <bruno@clisp.org>
12746
12747         New module 'floorf-ieee'.
12748         * modules/floorf-ieee: New file.
12749         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
12750         test whether floorf works according to ISO C 99 with IEC 60559.
12751         * m4/floorf-ieee.m4: New file.
12752         * modules/floorf-ieee-tests: New file.
12753         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
12754         * tests/test-floorf1.c (main): Remove signbit tests.
12755         * modules/floorf-tests (Depends-on): Remove 'signbit'.
12756         * doc/posix-functions/floorf.texi: Mention the new module.
12757
12758 2010-12-21  Bruno Haible  <bruno@clisp.org>
12759
12760         Support for minus zero in autoconf macros.
12761         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
12762         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
12763         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
12764         * tests/minus-zero.h: Update comments.
12765
12766 2010-12-21  Bruno Haible  <bruno@clisp.org>
12767
12768         Tests for module 'ceil'.
12769         * modules/ceil-tests: New file.
12770         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
12771         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
12772
12773 2010-12-21  Bruno Haible  <bruno@clisp.org>
12774
12775         Tests for module 'floor'.
12776         * modules/floor-tests: New file.
12777         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
12778         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
12779
12780 2010-12-21  Bruno Haible  <bruno@clisp.org>
12781
12782         math: Fix indentation.
12783         * lib/math.in.h (floorf): Fix indentation.
12784
12785 2010-12-21  Bruno Haible  <bruno@clisp.org>
12786
12787         Fix cross-compilation guesses on Solaris.
12788         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
12789         not match "solaris2.10".
12790         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
12791         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
12792         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
12793
12794 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
12795
12796         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
12797         This fixes a problem observed with the latest coreutils snapshot
12798         that caused a test to fail on Solaris 8.  src/csplit.c's call
12799         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
12800         earlier, instead of returning the number of bytes that would have
12801         been generated; this causes csplit to incorrectly report memory
12802         exhaustion.
12803         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
12804         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
12805         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
12806         comments to match.
12807         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
12808         Fix typo in matching older versions of Solaris: "solaris2.10"
12809         is matched by the shell pattern "solaris2.[0-9]*".  This matters
12810         only for guessing while cross-compiling.
12811         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
12812
12813 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
12814
12815         ftoastr: fix comment again
12816         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
12817         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
12818         Also, simplify example a bit by using flags = 0.
12819
12820 2010-12-20  Bruno Haible  <bruno@clisp.org>
12821
12822         round*, trunc*: Update documentation regarding glibc.
12823         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
12824         * doc/posix-functions/round.texi: Likewise.
12825         * doc/posix-functions/roundl.texi: Likewise.
12826         * doc/posix-functions/truncf.texi: Likewise.
12827         * doc/posix-functions/trunc.texi: Likewise.
12828         * doc/posix-functions/truncl.texi: Likewise.
12829
12830 2010-12-20  Bruno Haible  <bruno@clisp.org>
12831
12832         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
12833         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
12834         * doc/posix-functions/round.texi: Likewise.
12835         * doc/posix-functions/roundl.texi: Likewise.
12836
12837 2010-12-20  Bruno Haible  <bruno@clisp.org>
12838
12839         ttyname_r: Add missing declaration on HP-UX 11.
12840         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
12841         HAVE_TTYNAME_R.
12842         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
12843         declared. Set HAVE_TTYNAME_R always.
12844         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12845         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
12846         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
12847         HAVE_TTYNAME_R.
12848         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
12849
12850 2010-12-20  Bruno Haible  <bruno@clisp.org>
12851
12852         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
12853         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
12854         * doc/posix-functions/getlogin_r.texi: Likewise.
12855         * tests/test-getlogin.c: Include <errno.h>.
12856         (main): Avoid test failure on HP-UX 11.11.
12857         * tests/test-getlogin_r.c (main): Likewise.
12858
12859 2010-12-20  Bruno Haible  <bruno@clisp.org>
12860
12861         getlogin_r: Add missing declaration on HP-UX 11.
12862         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
12863         declared also when it exists as a function.
12864         * doc/posix-functions/getlogin_r.texi: Document this workaround.
12865
12866 2010-12-20  Bruno Haible  <bruno@clisp.org>
12867
12868         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
12869         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
12870         through wcrtomb.
12871
12872 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
12873
12874         ftoastr: fix comment
12875         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
12876         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
12877
12878 2010-12-19  Bruno Haible  <bruno@clisp.org>
12879
12880         isnan: Ensure it is a macro.
12881         * lib/math.in.h (isnan): Define as a macro if not already a macro.
12882         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
12883         Solaris.
12884
12885 2010-12-19  Bruno Haible  <bruno@clisp.org>
12886
12887         ldexpl test: Fix link error on OSF/1 5.1.
12888         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
12889
12890 2010-12-19  Bruno Haible  <bruno@clisp.org>
12891
12892         wctype: Make it work in C++ mode on OSF/1 5.1.
12893         * lib/wctype.in.h (iswblank): Declare but not define here.
12894         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
12895         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
12896         * modules/wctype (Files): Add lib/iswblank.c.
12897
12898 2010-12-19  Bruno Haible  <bruno@clisp.org>
12899
12900         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
12901         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
12902         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
12903
12904 2010-12-19  Bruno Haible  <bruno@clisp.org>
12905
12906         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
12907         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
12908         _POSIX_PII_SOCKET.
12909         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
12910         * doc/posix-functions/recvfrom.texi: Likewise.
12911         * doc/posix-functions/send.texi: Likewise.
12912         * doc/posix-functions/sendto.texi: Likewise.
12913
12914 2010-12-19  Bruno Haible  <bruno@clisp.org>
12915
12916         tcgetsid: Add missing declaration on OSF/1 5.1.
12917         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
12918         HAVE_TCGETSID.
12919         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
12920         Don't set HAVE_TCGETSID.
12921         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
12922         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
12923         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
12924         HAVE_TCGETSID.
12925         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
12926
12927 2010-12-19  Bruno Haible  <bruno@clisp.org>
12928
12929         stdio: Fix problem with popen() declaration on OSF/1 5.1.
12930         * lib/stdio.in.h: During the include_next statement, let recursive
12931         includes of this file include only the system header file.
12932
12933 2010-12-19  Bruno Haible  <bruno@clisp.org>
12934
12935         iconv_open: Fix regression from 2010-12-04.
12936         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
12937         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
12938
12939 2010-12-19  Bruno Haible  <bruno@clisp.org>
12940
12941         stdbool test: Avoid a gcc warning.
12942         * tests/test-stdbool.c (main): Fail if e1 is false.
12943         Reported by Jim Meyering.
12944
12945 2010-12-19  Jim Meyering  <meyering@redhat.com>
12946
12947         setenv: restore to working order
12948         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
12949         mistakenly removed.
12950         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
12951         HAVE_SETENV.
12952         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
12953         HAVE_SETENV.
12954
12955 2010-12-19  Bruno Haible  <bruno@clisp.org>
12956
12957         Document some different function declarations on OSF/1 5.1.
12958         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
12959         * doc/posix-functions/inet_ntop.texi: Likewise.
12960         * doc/posix-functions/gethostname.texi: Likewise.
12961         * lib/unistd.in.h (gethostname): Update comment.
12962
12963 2010-12-19  Bruno Haible  <bruno@clisp.org>
12964
12965         doc: Mention vasprintf-posix module.
12966         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
12967         the 'vasprintf-posix' module.
12968         * doc/glibc-functions/vasprintf.texi: Likewise.
12969
12970 2010-12-19  Bruno Haible  <bruno@clisp.org>
12971
12972         unsetenv: Add missing declaration on OSF/1 5.1.
12973         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
12974         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
12975         Don't set HAVE_UNSETENV. In the test program, set _BSD.
12976         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
12977         not HAVE_UNSETENV.
12978         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
12979         HAVE_UNSETENV.
12980         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
12981
12982 2010-12-19  Bruno Haible  <bruno@clisp.org>
12983
12984         setenv: Add missing declaration on OSF/1 5.1.
12985         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
12986         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
12987         declared. Don't set HAVE_SETENV.
12988         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
12989         not HAVE_SETENV.
12990         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
12991         HAVE_SETENV.
12992         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
12993
12994 2010-12-19  Bruno Haible  <bruno@clisp.org>
12995
12996         nl_langinfo tests: Avoid gcc warning.
12997         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
12998
12999 2010-12-19  Bruno Haible  <bruno@clisp.org>
13000
13001         mknod: Avoid error in C++ mode on OSF/1 with GCC.
13002         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
13003         _GL_CXXALIAS_SYS.
13004
13005 2010-12-19  Bruno Haible  <bruno@clisp.org>
13006
13007         stdbool: Relax test.
13008         * tests/test-stdbool.c (e): Don't require that casts from a variable's
13009         address to 'bool' work in static initializer, for compilers other than
13010         GCC.
13011
13012 2010-12-19  Bruno Haible  <bruno@clisp.org>
13013
13014         ftello: Add missing declaration on OSF/1 5.1.
13015         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
13016         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
13017         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
13018         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
13019         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
13020
13021 2010-12-19  Bruno Haible  <bruno@clisp.org>
13022
13023         fseeko: Add missing declaration on OSF/1 5.1.
13024         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
13025         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
13026         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
13027         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
13028         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
13029
13030 2010-12-19  Bruno Haible  <bruno@clisp.org>
13031
13032         fchdir: Add missing declaration on OSF/1 5.1.
13033         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
13034         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
13035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
13036         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
13037         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
13038
13039 2010-12-19  Bruno Haible  <bruno@clisp.org>
13040
13041         relocatable-prog-wrapper: Separate from relocatable-prog.
13042         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
13043         uninstall-relocwrapper rule here.
13044         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
13045         Reported by Ian Beckwith <ianb@erislabs.net>.
13046
13047 2010-12-19  Bruno Haible  <bruno@clisp.org>
13048
13049         unistr/u8-mbsnlen: Add missing dependency.
13050         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
13051         Reported by Ian Beckwith <ianb@erislabs.net>.
13052
13053 2010-12-19  Bruno Haible  <bruno@clisp.org>
13054
13055         iconv: Make it possible again to use this module without 'iconv-h'.
13056         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
13057         if it is not defined.
13058         Reported by Ian Beckwith <ianb@erislabs.net>.
13059
13060 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
13061
13062         acl: port to Solaris 8 when copying from tmpfs to ufs
13063         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
13064         error number.  Problem observed on Solaris 8 with latest
13065         coreutils, with "mv A B", where A is on a tmpfs file system and B
13066         is on a ufs file system.  This caused coreutils' mv/part-symlink
13067         test to fail.
13068
13069         tests: set fail=0 at start
13070         * tests/init.sh (setup_): Move fail=0 initialization here ...
13071         (mktempd_): ... from here, so that tests can rely on fail being
13072         set to 0 initially.  This fixes a problem in coreutils; see:
13073         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
13074
13075 2010-12-18  Bruno Haible  <bruno@clisp.org>
13076
13077         memmem-simple: Stylistic changes.
13078         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
13079         Fix preprocessor directive indentation.
13080
13081 2010-12-15  PĂ¡draig Brady <P@draigBrady.com>
13082
13083         memmem, memmem-simple: reorganize and expand empty needle check
13084         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
13085         functional checks to memmem-simple so that one has a fully functional
13086         memmem by using just this module.
13087         Restrict the performance only check to the memmem module.
13088         Also expand the empty needle check to ensure the correct
13089         pointer is returned, not just a non NULL pointer.
13090         * doc/glibc-functions/memmem.texi: Rearrange the portability
13091         documentation to correlate with the rearranged checks.
13092         Clarify exactly how the memmem and memmem-simple modules
13093         relate to each other.
13094
13095 2010-12-15  PĂ¡draig Brady <P@draigBrady.com>
13096             Bruno Haible  <bruno@clisp.org>
13097
13098         Improve cross-compilation guesses for uClibc.
13099         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
13100         that uClibc does not have the glibc bug.
13101         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
13102         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
13103
13104 2010-12-14  Eric Blake  <eblake@redhat.com>
13105
13106         configmake: provide fallbacks for oldest supported autotools
13107         * m4/configmake.m4: New file.
13108         * modules/configmake (Files): Ship it.
13109         (configure.ac): Use it to guarantee fallbacks.
13110
13111 2010-12-13  PĂ¡draig Brady <P@draigBrady.com>
13112
13113         read-file: Improve handling of large files
13114         * lib/read-file.c (fread_file): Minimize realloc()s
13115         for regular files, and better manage sizes around SIZE_MAX.
13116
13117 2010-12-13  Eric Blake  <eblake@redhat.com>
13118
13119         cloexec, fcntl: relax license
13120         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
13121         consent from all contributors.
13122         * modules/fcntl (License): Likewise.
13123
13124 2010-12-10  Bruno Haible  <bruno@clisp.org>
13125
13126         Tests for module 'pipe-posix'.
13127         * modules/pipe-posix-tests: New file.
13128         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
13129
13130 2010-12-10  Bruno Haible  <bruno@clisp.org>
13131
13132         pipe-posix: Make it work in C++ mode.
13133         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
13134         (pipe): Use common idiom, not a macro definition.
13135         * lib/pipe.c: New file.
13136         * m4/pipe.m4: New file.
13137         * modules/pipe-posix (Description): Enhance.
13138         (Files): Add lib/pipe.c, m4/pipe.m4.
13139         (configure.ac): Invoke gl_FUNC_PIPE.
13140         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
13141         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
13142         * tests/test-unistd-c++.cc: Check the signature of pipe.
13143
13144 2010-12-10  Bruno Haible  <bruno@clisp.org>
13145
13146         Rename module 'pipe' to 'spawn-pipe'.
13147         * modules/spawn-pipe: New file, renamed from modules/pipe.
13148         (Files, configure.ac, Makefile.am): Update.
13149         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
13150         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
13151         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
13152         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
13153         "spawn-pipe.h" instead of "pipe.h".
13154         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
13155         to gl_SPAWN_PIPE.
13156         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
13157         (Files, Makefile.am): Update.
13158         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
13159         Update.
13160         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
13161         Include "spawn-pipe.h" instead of "pipe.h".
13162         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
13163         * lib/javacomp.c: Likewise.
13164         * lib/javaversion.c: Likewise.
13165         * lib/pipe-filter-gi.c: Likewise.
13166         * lib/pipe-filter-ii.c: Likewise.
13167         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
13168         * modules/javacomp (Depends-on): Likewise.
13169         * modules/javaversion (Depends-on): Likewise.
13170         * modules/pipe-filter-gi (Depends-on): Likewise.
13171         * modules/pipe-filter-ii (Depends-on): Likewise.
13172         * MODULES.html.sh (Executing programs): Update.
13173         * NEWS: Mention the change.
13174
13175 2010-12-10  Eric Blake  <eblake@redhat.com>
13176
13177         pipe-posix: new module
13178         * modules/pipe-posix: New file.
13179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
13180         (gl_UNISTD_H): Check for declaration.
13181         * modules/unistd (Makefile.am): Substitute it.
13182         * lib/unistd.in.h (pipe): Provide it for mingw.
13183         * doc/posix-functions/pipe.texi (pipe): Update documentation.
13184         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
13185
13186 2010-12-07  Bruno Haible  <bruno@clisp.org>
13187
13188         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
13189         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
13190         u8_strcmp_gnu.
13191         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
13192
13193 2010-12-06  Bruno Haible  <bruno@clisp.org>
13194
13195         Update internal documentation.
13196         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
13197
13198 2010-12-04  Bruno Haible  <bruno@clisp.org>
13199
13200         Put more information about failed tests into the test return codes.
13201         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
13202         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
13203         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
13204         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13205         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
13206         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
13207         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13208         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
13209         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
13210         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
13211         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
13212         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
13213         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13214         * m4/stdint.m4 (gl_STDINT_H): Likewise.
13215         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
13216         returns a bit mask.
13217         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
13218         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
13219         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
13220         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
13221         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
13222         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
13223         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
13224         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
13225         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
13226         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
13227         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
13228         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
13229         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
13230         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
13231         * m4/link.m4 (gl_FUNC_LINK): Likewise.
13232         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
13233         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
13234         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
13235         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
13236         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
13237         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
13238         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
13239         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
13240         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
13241         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
13242         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
13243         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
13244         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
13245         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
13246         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
13247         gl_PRINTF_PRECISION): Likewise.
13248         * m4/regex.m4 (gl_REGEX): Likewise.
13249         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
13250         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13251         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
13252         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13253         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
13254         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
13255         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
13256         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
13257         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
13258         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13259         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
13260         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
13261         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
13262         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
13263         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13264         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
13265         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
13266         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
13267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13268         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
13269         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
13270         enumerated value.
13271         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
13272
13273 2010-12-04  Bruno Haible  <bruno@clisp.org>
13274
13275         Update for Solaris 11 2010-11.
13276         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
13277         Express, released in November 2010.
13278
13279 2010-12-04  Bruno Haible  <bruno@clisp.org>
13280
13281         nproc: Relax license.
13282         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
13283         and Paul Eggert.
13284         Requested by Ludovic Courtès <ludo@gnu.org>.
13285
13286 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
13287
13288         utimecmp: fine-grained src to nearby coarse-grained dest
13289
13290         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
13291         and the source is on a file system with higher-resolution time
13292         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
13293         not work, and the time stamps are close together, the algorithm to
13294         determine the exact resolution from the read-back mtime was buggy:
13295         it had a "!=" where it should have had an "==".  This bug has been
13296         in the code ever since it was introduced to gnulib.
13297         Problem reported by Dan Jacobson in
13298         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
13299
13300 2010-11-30  Bruno Haible  <bruno@clisp.org>
13301
13302         strerror_r-posix: Fix autoconf test.
13303         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
13304
13305 2010-11-28  Bruno Haible  <bruno@clisp.org>
13306             Paul Eggert  <eggert@cs.ucla.edu>
13307
13308         Tests for module 'getdomainname'.
13309         * modules/getdomainname-tests: New file.
13310         * tests/test-getdomainname.c: New file, based on
13311         tests/test-gethostname.c.
13312
13313 2010-11-28  Bruno Haible  <bruno@clisp.org>
13314             Paul Eggert  <eggert@cs.ucla.edu>
13315
13316         getdomainname: Use the system function when possible.
13317         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
13318         (getdomainname): Replace if needed. Provide the declaration if it is
13319         missing. Don't use _GL_CXXALIAS_SYS_CAST.
13320         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
13321         (getdomainname): When the system has getdomainname, call the system
13322         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
13323         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
13324         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
13325         found in libnsl. Look for the declaration also in <netdb.h>. Replace
13326         the function if its second argument is of type 'int' or if it is found
13327         in libnsl.
13328         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
13329         <sys/systeminfo.h> and sysinfo().
13330         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
13331         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13332         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
13333         HAVE_GETDOMAINNAME.
13334         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
13335         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
13336         * doc/glibc-functions/getdomainname.texi: Document the problems with
13337         the getdomainname declaration.
13338
13339 2010-11-28  Bruno Haible  <bruno@clisp.org>
13340
13341         sys_socket: Ensure ss_family field on AIX.
13342         * lib/sys_socket.in.h (ss_family): New macro definition.
13343         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
13344         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
13345         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
13346         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
13347         * modules/sys_socket (Makefile.am): Substitute
13348         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
13349         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
13350
13351 2010-11-27  Bruno Haible  <bruno@clisp.org>
13352
13353         readline: Improve configure output.
13354         * m4/readline.m4 (gl_FUNC_READLINE): Make the
13355         "checking for readline..." result understandable.
13356
13357 2010-11-27  Bruno Haible  <bruno@clisp.org>
13358
13359         *printf-posix: Detect a bug on Solaris 10/x86.
13360         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
13361         for floating-point output.
13362         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
13363         directive.
13364         * tests/test-snprintf-posix.h (test_function): Likewise.
13365         * tests/test-sprintf-posix.h (test_function): Likewise.
13366         * tests/test-vasprintf-posix.c (test_function): Likewise.
13367         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
13368         * doc/posix-functions/printf.texi: Likewise.
13369         * doc/posix-functions/snprintf.texi: Likewise.
13370         * doc/posix-functions/sprintf.texi: Likewise.
13371         * doc/posix-functions/vfprintf.texi: Likewise.
13372         * doc/posix-functions/vprintf.texi: Likewise.
13373         * doc/posix-functions/vsnprintf.texi: Likewise.
13374         * doc/posix-functions/vsprintf.texi: Likewise.
13375         * doc/glibc-functions/obstack_printf.texi: Likewise.
13376         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13377
13378 2010-11-27  Bruno Haible  <bruno@clisp.org>
13379
13380         Fix link error when module libunistring-optional is in use.
13381         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
13382         * modules/striconveha-tests (Makefile.am): Likewise.
13383
13384 2010-11-27  Bruno Haible  <bruno@clisp.org>
13385
13386         regex: Mention link dependencies.
13387         * modules/regex (Link): New section.
13388         * modules/rpmatch (Link): Likewise.
13389         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
13390
13391 2010-11-27  Bruno Haible  <bruno@clisp.org>
13392
13393         ftoastr: Fix compilation error on Solaris.
13394         * lib/ftoastr.c: Include <config.h>.
13395
13396 2010-11-27  Bruno Haible  <bruno@clisp.org>
13397
13398         getloadavg: Update documentation.
13399         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
13400
13401 2010-11-27  Bruno Haible  <bruno@clisp.org>
13402
13403         sys_socket: Fix test whether the functions are declared.
13404         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
13405         not <sys/select.h>.
13406
13407 2010-11-27  Bruno Haible  <bruno@clisp.org>
13408
13409         getpass: Make sure to get system declaration on some platforms.
13410         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
13411         gl_USE_SYSTEM_EXTENSIONS.
13412         * modules/getpass (Depends-on): Add extensions.
13413
13414 2010-11-26  Bruno Haible  <bruno@clisp.org>
13415
13416         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
13417         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
13418         'iconv' module is present.
13419         (ICONV_CONST): New macro.
13420         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
13421         ICONV_CONST.
13422         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
13423         set ICONV_CONST.
13424         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
13425         here.
13426         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
13427         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
13428         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
13429         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
13430         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
13431         present.
13432
13433 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
13434
13435         ftoastr: comment fix
13436         * lib/ftoastr.c: "little" -> "little or no" in comment
13437
13438 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
13439
13440         stdint: port to GCC 4.3 + OSX + Octave
13441         On this platform, stdint.h is buggy and defines int64_t to long
13442         long int.  The replacement defined it to long int, causing
13443         problems with C++ style name mangling.  Instead, trust the system
13444         definition if INT64_MAX is defined, and likewise for the unsigned
13445         variant.   Problem reported by Jarno Rajahalme in
13446         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
13447         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
13448         and don't mess with int64_t and INT64_MAX in this case.
13449         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
13450
13451 2010-11-24  Bruno Haible  <bruno@clisp.org>
13452
13453         doc: Corrections regarding MacOS X 10.4 and 10.5.
13454         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
13455         MacOS X.
13456         Reported by Simon Josefsson.
13457
13458 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
13459
13460         Uninstall ".bin" files installed by relocwrapper.
13461         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
13462         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
13463         unless it is already there.
13464
13465 2010-11-21  Bruno Haible  <bruno@clisp.org>
13466
13467         Update for NetBSD 5.0.
13468         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
13469         NetBSD; the test fails on NetBSD 5.0.
13470         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
13471         about NetBSD.
13472
13473 2010-11-21  Bruno Haible  <bruno@clisp.org>
13474
13475         Update for HP-UX 11.23 and HP-UX 11.31.
13476         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
13477         HP-UX.
13478
13479 2010-11-21  Bruno Haible  <bruno@clisp.org>
13480
13481         Update for MacOS X 10.5.
13482         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
13483         MacOS X; the test fails on MacOS X 10.5.8.
13484         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
13485         about MacOS X.
13486
13487 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
13488
13489         bootstrap: add bootstrap_sync option.
13490         See discussion at
13491         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
13492         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
13493         * build-aux/bootstrap: Accept --bootstrap-sync to update
13494         bootstrap if it is not identical to the local gnulib's
13495         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
13496         enable this by default.  Accept --no-bootstrap-sync to disable
13497         it.
13498
13499 2010-11-20  Bruno Haible  <bruno@clisp.org>
13500
13501         Ensure that <features.h> is included before __GLIBC__ is tested.
13502         * lib/printf-parse.h: Include <features.h>.
13503         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
13504         Reported by Mike Frysinger <vapier@gentoo.org>.
13505
13506         Ensure that <features.h> is included before __GLIBC__ is tested.
13507         * lib/wchar.in.h: Include <features.h>.
13508         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
13509         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
13510         Reported by Mike Frysinger <vapier@gentoo.org>.
13511
13512         Ensure that <features.h> is included before __GLIBC__ is tested.
13513         * lib/arpa_inet.in.h: Include <features.h>.
13514         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
13515         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
13516         Reported by Mike Frysinger <vapier@gentoo.org>.
13517
13518         Ensure that <features.h> is included before __GLIBC__ is tested.
13519         * build-aux/link-warning.h: Include <features.h>.
13520         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
13521         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
13522         Reported by Mike Frysinger <vapier@gentoo.org>.
13523
13524         Ensure that <features.h> is included before __GLIBC__ is tested.
13525         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
13526         Reported by Mike Frysinger <vapier@gentoo.org>.
13527
13528 2010-11-20  Bruno Haible  <bruno@clisp.org>
13529
13530         memmem: Fix autoconf test.
13531         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
13532
13533 2010-11-20  Bruno Haible  <bruno@clisp.org>
13534
13535         Port to uClibc.
13536         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
13537         * lib/fcntl.in.h: Likewise.
13538         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
13539         * lib/mbrtowc.c (mbrtowc): Likewise.
13540         * lib/relocatable.c (find_shared_library_fullname): Likewise.
13541         * lib/strerror_r.c: Likewise.
13542         * lib/unistr/u8-strnlen.c: Likewise.
13543         * lib/vasnprintf.c (decimal_point_char): Likewise.
13544         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
13545         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
13546         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
13547         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
13548         * tests/test-sigaction.c (handler, main): Likewise.
13549         * lib/freading.h: Treat uClibc like a non-glibc platform.
13550         * lib/freading.c: Likewise.
13551         * lib/gettext.h: Likewise.
13552         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
13553         Likewise.
13554         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
13555         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
13556         * lib/propername.c (proper_name_utf8): Likewise.
13557         * lib/spawn.in.h: Likewise.
13558         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
13559         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
13560         mem_cd_iconveh_internal): Likewise.
13561         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
13562         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
13563         strstr, strcasestr): Likewise.
13564         * lib/unicodeio.c (unicode_to_mb): Likewise.
13565         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
13566         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
13567         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
13568         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
13569         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
13570         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
13571         * lib/unistr/u8-stpncpy.c: Likewise.
13572         * lib/vasnprintf.c (VASNPRINTF): Likewise.
13573         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
13574         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
13575         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13576         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
13577         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
13578         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
13579         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
13580         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
13581         Likewise.
13582         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
13583         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13584         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
13585         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13586         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
13587         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13588         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13589         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
13590         * tests/test-getopt.h (OPTIND_MIN): Likewise.
13591         * tests/test-striconveha.c (main): Likewise.
13592         * tests/test-vasnprintf-posix.c (test_function): Likewise.
13593         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
13594         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
13595         * doc/posix-functions/getline.texi: Likewise.
13596         Reported by Mike Frysinger <vapier@gentoo.org>.
13597
13598 2010-11-20  Bruno Haible  <bruno@clisp.org>
13599
13600         nproc: Fix condition.
13601         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
13602         HAVE_PTHREAD_AFFINITY_NP.
13603
13604 2010-11-20  Bruno Haible  <bruno@clisp.org>
13605
13606         Fix a comment.
13607         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
13608
13609 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
13610
13611         ftoastr: don't assume snprintf
13612         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
13613         Implement a subset of snprintf here, by using sprintf safely.
13614         * modules/ftoastr (Depends-on): Remove snprintf.
13615
13616 2010-11-19  Jim Meyering  <meyering@redhat.com>
13617
13618         test-rename.h: fix compilation failure
13619         * tests/test-rename.h (test_rename): Add omitted "}".
13620
13621 2010-11-17  Jim Meyering  <meyering@redhat.com>
13622
13623         maint.mk: add a URL discussing the no-@acronym policy
13624         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
13625
13626 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
13627
13628         ftoastr: depend on snprintf, improve comments
13629         * lib/ftoastr.c: Also mention Loitsch's draft.
13630         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
13631         needed in the current implementation, but it might simplify
13632         speeding up the code later.
13633         * modules/ftoastr: Depend on snprintf; this improves portability.
13634         Suggested by Bruno Haible in the same email.
13635
13636         ftoastr: port to hosts lacking strtof and strtold
13637         Problem reported by Bruno Haible in
13638         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
13639         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
13640         environment and strtold (and presumably strtof) are not available.
13641         * modules/ftoastr (Files): Add m4/c-strtod.m4.
13642         (configure.ac): Require gl_C99_STRTOLD.
13643
13644 2010-11-18  Bruno Haible  <bruno@clisp.org>
13645
13646         c-strtold: Avoid link error on AIX 7.
13647         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
13648         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
13649         (gl_C_STRTOLD): Test whether strtold_l exists.
13650         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13651
13652 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13653
13654         intprops: new macro INT_BITS_STRLEN_BOUND
13655         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
13656         ftoastr.h.  This exposes an internal of intprops.h that was formerly
13657         not exposed.  Also, it uses a slightly tighter bound than before;
13658         though this makes no practical difference, we might as well be as
13659         tight as we easily can.
13660
13661         ftoastr: new module, for lossless conversion of floats to short strings
13662         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
13663         * modules/ftoastr: New files.
13664
13665 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
13666
13667         bootstrap: port to Solaris sed
13668         * build-aux/bootstrap (get_version): Port to Solaris sed.
13669         See Ralf Wildenhues's note in
13670         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
13671
13672 2010-11-14  Jim Meyering  <meyering@redhat.com>
13673
13674         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
13675         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
13676         and move definition closer to sole use.
13677
13678 2010-11-13  Jim Meyering  <meyering@redhat.com>
13679
13680         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
13681         Now we require at least autoconf-2.59, which means the work-around
13682         is no longer needed.
13683         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
13684         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13685         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
13686         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
13687         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
13688
13689 2010-11-13  Bruno Haible  <bruno@clisp.org>
13690
13691         rename, renameat: Avoid test failures at NFS mounted locations.
13692         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
13693         functions.
13694         (test_rename): Use assert_nonexistent.
13695         * tests/test-rename.c: Include <dirent.h>.
13696         * tests/test-renameat.c: Likewise.
13697         Reported by Gary V. Vaughan <gary@gnu.org>.
13698
13699         rename, renameat: Document Linux bug with NFS
13700         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
13701         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
13702         * doc/posix-functions/renameat.texi: Likewise.
13703         Suggested by Eric Blake.
13704
13705 2010-11-13  Bruno Haible  <bruno@clisp.org>
13706
13707         rename test: Add comments.
13708         * tests/test-rename.h (test_rename): Add structure and comments.
13709
13710 2010-11-13  Eric Blake  <eblake@redhat.com>
13711
13712         maintainer-makefile: cover a few more files
13713         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
13714         scripts generated within C files, for libvirt.
13715
13716 2010-11-13  Bruno Haible  <bruno@clisp.org>
13717
13718         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
13719         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
13720         character, return the number of bytes that belong together, not always
13721         1.
13722         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
13723         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
13724         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
13725         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
13726         number of bytes of an invalid character.
13727         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
13728         (main): Invoke it.
13729         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
13730         results.
13731         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
13732         malformed byte sequences.
13733         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
13734         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
13735         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
13736         Reported by Ben Pfaff and Paolo Bonzini.
13737
13738 2010-11-13  Bruno Haible  <bruno@clisp.org>
13739
13740         openat: Work around glibc bug with fchownat() and empty file names.
13741         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
13742         (gl_FUNC_FCHOWNAT): Invoke it.
13743         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
13744         * doc/posix-functions/fchownat.texi: Document the glibc bug.
13745         Reported by Gary V. Vaughan <gary@gnu.org>.
13746
13747 2010-11-13  Bruno Haible  <bruno@clisp.org>
13748
13749         openat: Ensure autoconf macro ordering.
13750         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
13751         gl_USE_SYSTEM_EXTENSIONS.
13752         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
13753
13754 2010-11-13  Bruno Haible  <bruno@clisp.org>
13755
13756         Update comments.
13757         * lib/unistr/u8-check.c: Update file name in comments.
13758         * lib/unistr/u8-mblen.c: Likewise.
13759         * lib/unistr/u8-prev.c: Likewise.
13760         * lib/unistr/u8-strmblen.c: Likewise.
13761         * lib/unistr/u8-strmbtouc.c: Likewise.
13762
13763 2010-11-13  Jim Meyering  <meyering@redhat.com>
13764
13765         tests: avoid test failure on Solaris 10 due to lack of PATH export
13766         * tests/test-update-copyright.sh: Don't forget to export PATH.
13767
13768         init.sh: ensure that IFS is defined, just in case...
13769         * tests/init.sh (setup_): Ensure that IFS is defined,
13770         so that saving and restoring it works as expected.  This
13771         appears to be useful at least for an old version of dash
13772         from a long time ago (RH 6).  See here for details:
13773         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
13774
13775         maint.mk: tighten "test a == b" check
13776         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
13777         test to files that contain something like #!/bin/sh.
13778         Without this, coreutils would get two false positives in
13779         the comments of C source files.
13780
13781 2010-11-12  Eric Blake  <eblake@redhat.com>
13782
13783         bootstrap: fix typo in previous attempt
13784         * build-aux/bootstrap (buildreq): Correct the grouping.
13785         Reported by Paul Eggert.
13786
13787         maintainer-makefile: prohibit test x == x
13788         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
13789         Based on a report by Matthias Bolte.
13790
13791         bootstrap: allow FreeBSD gzip
13792         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
13793         which has no '.' and goes to stderr.
13794         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
13795         Reported by Matthias Bolte.
13796
13797         maintainer-makefile: check for i18n setup
13798         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
13799         will likely work.
13800
13801 2010-11-12  Bruno Haible  <bruno@clisp.org>
13802
13803         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
13804         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
13805         * lib/nanosleep.c (nanosleep): Likewise.
13806
13807 2010-11-11  Bruno Haible  <bruno@clisp.org>
13808
13809         fcntl-h: Fix for use of C++ on glibc systems.
13810         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
13811         also on glibc systems in C++ mode.
13812         Reported by Gary V. Vaughan <gary@gnu.org>.
13813
13814 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
13815
13816         mknod: avoid false failure with dash
13817         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
13818
13819 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13820
13821         unlink: Fix "is it should" typo in diagnostic.
13822         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
13823         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
13824
13825 2010-11-11  Bruno Haible  <bruno@clisp.org>
13826
13827         Tests for module 'strerror_r-posix'.
13828         * modules/strerror_r-posix-tests: New file.
13829         * tests/test-strerror_r.c: New file.
13830         * tests/test-string-c++.cc: Check the signature of strerror_r.
13831
13832         New module 'strerror_r-posix'.
13833         * lib/string.in.h (strerror_r): New declaration.
13834         * lib/strerror_r.c: New file.
13835         * m4/strerror_r.m4: New file.
13836         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
13837         of strerror_r.
13838         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
13839         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
13840         * modules/strerror_r-posix: New file.
13841         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
13842         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
13843         * doc/posix-functions/strerror_r.texi: Mention the new module and the
13844         portability problems.
13845
13846 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
13847
13848         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
13849         line is also considered for output. Quoted function name in shell
13850         command, so temporary files for functions like MyClass::operator()
13851         are removed correctly without errors.
13852
13853 2010-11-09  Bruno Haible  <bruno@clisp.org>
13854
13855         * doc/posix-functions/strerror.texi: List more failing platforms.
13856
13857         * doc/posix-functions/strerror.texi: Add a comment.
13858
13859 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
13860
13861         fdopendir: fix bug on MacOS X when low on file descriptors
13862
13863         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
13864         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
13865         All callers changed.
13866         (fdopendir): Invoke save_cwd at the top level, not after using
13867         multiple dup() calls to use up file descriptors.  Then retry
13868         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
13869         less than the maximum number of open file descriptors, because
13870         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
13871         on Mac OS X 10.6.4 for tar 1.24
13872         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
13873         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
13874         and for tar 1.25
13875         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
13876
13877 2010-11-07  Bruno Haible  <bruno@clisp.org>
13878
13879         vasnprintf: Support I flag on glibc systems.
13880         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
13881         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
13882         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
13883         snprintf function.
13884         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
13885         glibc systems.
13886         * tests/test-vasnprintf-posix3.c: New file.
13887         * modules/vasnprintf-posix-tests (Files): Add it.
13888         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
13889
13890 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
13891
13892         [html] Fix copy/paste bug: Use unique name for compiler warnings.
13893         * MODULES.html.sh: For compiler warnings, use name
13894         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
13895
13896 2010-11-05  Eric Blake  <eblake@redhat.com>
13897
13898         ceil, floor: avoid spurious failure with icc
13899         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
13900         [denormals-as-zero] when optimizing without -mieee-fp option.
13901         * tests/test-floorf2.c (floorf_reference): Likewise.
13902         * tests/test-ceilf1.c (dummy): New function.
13903         (main): Use it to outsmart icc's optimization.
13904         * tests/test-floorf1.c (dummy, main): Likewise.
13905
13906         tests: require working signbit
13907         * modules/ceilf-tests (Depends-on): Add signbit.
13908         * modules/ceill-tests (Depends-on): Likewise.
13909         * modules/floorf-tests (Depends-on): Likewise.
13910         * modules/floorl-tests (Depends-on): Likewise.
13911         * modules/round-tests (Depends-on): Likewise.
13912         * modules/roundf-tests (Depends-on): Likewise.
13913         * modules/roundl-tests (Depends-on): Likewise.
13914         * modules/trunc-tests (Depends-on): Likewise.
13915         * modules/truncf-tests (Depends-on): Likewise.
13916         * modules/truncl-tests (Depends-on): Likewise.
13917
13918         strtod: work around icc bug
13919         * lib/strtod.c (minus_zero): Define to working value.
13920         (strtod): Use it to avoid icc bug.
13921
13922         copysign: enhance tests
13923         * modules/copysign-tests (Files): Add minus-zero.h.
13924         * tests/test-copysign.c (main): Also test zeros.
13925
13926 2010-11-04  Eric Blake  <eblake@redhat.com>
13927
13928         ceil, floor, round, trunc: enhance tests of -0
13929         * tests/test-ceilf1.c (main): Ensure correct sign of result.
13930         * tests/test-ceill.c (main): Likewise.
13931         * tests/test-floorf1.c (main): Likewise.
13932         * tests/test-floorl.c (main): Likewise.
13933         * tests/test-round1.c (main): Likewise.
13934         * tests/test-roundf1.c (main): Likewise.
13935         * tests/test-roundl.c (main): Likewise.
13936         * tests/test-trunc1.c (main): Likewise.
13937         * tests/test-truncf1.c (main): Likewise.
13938         * tests/test-truncl.c (main): Likewise.
13939
13940 2010-11-04  Eric Blake  <eblake@redhat.com>
13941
13942         frexp, tests: work around ICC bug with -zero
13943         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
13944         works with more compilers.
13945         * tests/minus-zero.h: New file.
13946         * modules/ceilf-tests (Files): Include it.
13947         * modules/ceill-tests (Files): Likewise.
13948         * modules/floorf-tests (Files): Likewise.
13949         * modules/floorl-tests (Files): Likewise.
13950         * modules/frexp-nolibm-tests (Files): Likewise.
13951         * modules/frexp-tests (Files): Likewise.
13952         * modules/frexpl-nolibm-tests (Files): Likewise.
13953         * modules/frexpl-tests (Files): Likewise.
13954         * modules/isnan-tests (Files): Likewise.
13955         * modules/isnand-nolibm-tests (Files): Likewise.
13956         * modules/isnand-tests (Files): Likewise.
13957         * modules/isnanf-nolibm-tests (Files): Likewise.
13958         * modules/isnanf-tests (Files): Likewise.
13959         * modules/isnanl-nolibm-tests (Files): Likewise.
13960         * modules/isnanl-tests (Files): Likewise.
13961         * modules/round-tests (Files): Likewise.
13962         * modules/roundf-tests (Files): Likewise.
13963         * modules/roundl-tests (Files): Likewise.
13964         * modules/ldexpl-tests (Files): Likewise.
13965         * modules/signbit-tests (Files): Likewise.
13966         * modules/snprintf-posix-tests (Files): Likewise.
13967         * modules/sprintf-posix-tests (Files): Likewise.
13968         * modules/strtod-tests (Files): Likewise.
13969         * modules/trunc-tests (Files): Likewise.
13970         * modules/truncf-tests (Files): Likewise.
13971         * modules/truncl-tests (Files): Likewise.
13972         * modules/vsnprintf-posix-tests (Files): Likewise.
13973         * modules/vsprintf-posix-tests (Files): Likewise.
13974         * modules/vasnprintf-posix-tests (Files): Likewise.
13975         * modules/vasprintf-posix-tests (Files): Likewise.
13976         * tests/test-ceilf1.c (main): Use it.
13977         * tests/test-ceill.c (main): Likewise.
13978         * tests/test-floorf1.c (main): Likewise.
13979         * tests/test-floorl.c (main): Likewise.
13980         * tests/test-frexp.c (main): Likewise.
13981         * tests/test-frexpl.c (main): Likewise.
13982         * tests/test-isnan.c (main): Likewise.
13983         * tests/test-isnand.h (main): Likewise.
13984         * tests/test-isnanf.h (main): Likewise.
13985         * tests/test-isnanl.h (main): Likewise.
13986         * tests/test-ldexpl.c (main): Likewise.
13987         * tests/test-round.c (main): Likewise.
13988         * tests/test-roundf.c (main): Likewise.
13989         * tests/test-roundl.c (main): Likewise.
13990         * tests/test-signbit.c (test_signbitf, test_signbitd)
13991         (test_signbitl): Likewise.
13992         * tests/test-snprintf-posix.h (test_function): Likewise.
13993         * tests/test-sprintf-posix.h (test_function): Likewise.
13994         * tests/test-strtod.c (main): Likewise.
13995         * tests/test-trunc1.c (main): Likewise.
13996         * tests/test-truncf1.c (main): Likewise.
13997         * tests/test-truncl.c (main): Likewise.
13998
13999         isnanl: work around icc bug
14000         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
14001
14002 2010-11-03  Eric Blake  <eblake@redhat.com>
14003
14004         tests: fix compiler warnings
14005         * tests/test-getopt.h (test_getopt): Fix condition.
14006         * tests/test-getopt_long.h (test_getopt_long): Likewise.
14007         * tests/test-pipe2.c (main): Likewise.
14008         * tests/test-quotearg-simple.c (main): Avoid icc warning.
14009
14010         utimens: fix broken m4 test
14011         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
14012
14013 2010-10-28  Bruno Haible  <bruno@clisp.org>
14014
14015         posix_spawn*, getdtablesize: Relax license.
14016         * modules/posix_spawn (License): Change to LGPLv2+.
14017         * modules/posix_spawnp (License): Likewise.
14018         * modules/posix_spawn-internal (License): Likewise.
14019         * modules/posix_spawnattr_init (License): Likewise.
14020         * modules/posix_spawnattr_getflags (License): Likewise.
14021         * modules/posix_spawnattr_setflags (License): Likewise.
14022         * modules/posix_spawnattr_getpgroup (License): Likewise.
14023         * modules/posix_spawnattr_setpgroup (License): Likewise.
14024         * modules/posix_spawnattr_getschedparam (License): Likewise.
14025         * modules/posix_spawnattr_setschedparam (License): Likewise.
14026         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
14027         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
14028         * modules/posix_spawnattr_getsigdefault (License): Likewise.
14029         * modules/posix_spawnattr_setsigdefault (License): Likewise.
14030         * modules/posix_spawnattr_getsigmask (License): Likewise.
14031         * modules/posix_spawnattr_setsigmask (License): Likewise.
14032         * modules/posix_spawnattr_destroy (License): Likewise.
14033         * modules/posix_spawn_file_actions_init (License): Likewise.
14034         * modules/posix_spawn_file_actions_addclose (License): Likewise.
14035         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
14036         * modules/posix_spawn_file_actions_addopen (License): Likewise.
14037         * modules/posix_spawn_file_actions_destroy (License): Likewise.
14038         * modules/getdtablesize (License): Likewise.
14039         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
14040
14041 2010-10-26  Bruno Haible  <bruno@clisp.org>
14042
14043         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
14044         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
14045         Cygwin and mingw.
14046         Suggested by Eric Blake.
14047
14048 2010-10-26  Bruno Haible  <bruno@clisp.org>
14049
14050         stdio: Work around compilation error due to renameat() on Solaris 10.
14051         * lib/stdio.in.h: Include <unistd.h> on Solaris.
14052         * lib/renameat.c: Don't include <unistd.h> here.
14053         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
14054         Reported by Paul Eggert and Eric Blake.
14055
14056 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
14057
14058         renameat: port to Solaris 10, which declares renameat in unistd.h
14059
14060         * lib/renameat.c: Include unistd.h before stdio.h, because
14061         Solaris 10 declares renameat in unistd.h.  Problem encountered
14062         when building GNU tar 1.24 on Solaris 10.
14063
14064 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
14065
14066         fdopendir: fix C89 compilation
14067         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
14068         compilers.
14069
14070 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
14071
14072         inttostr: simplify by removing unnecessary redundancy
14073         * lib/anytostr.c: Don't include verify.h.
14074         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
14075         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
14076         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
14077         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
14078         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
14079         Likewise.
14080         * modules/inttostr (Depends-on): Remove 'verify'.
14081
14082 2010-10-23  Bruno Haible  <bruno@clisp.org>
14083
14084         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
14085         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
14086         Reported by Eric Blake.
14087
14088 2010-10-23  Bruno Haible  <bruno@clisp.org>
14089
14090         Tests: Fix LOCALE_JA on MirBSD 10.
14091         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
14092         to an UTF-8 locale.
14093         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
14094         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
14095         Reported by Eric Blake.
14096
14097 2010-10-21  Bruno Haible  <bruno@clisp.org>
14098
14099         nl_langinfo test: Avoid test failure on NetBSD 5.
14100         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
14101         Reported by Eric Blake.
14102
14103 2010-10-21  Eric Blake  <eblake@redhat.com>
14104
14105         c-stack: work around libsigsegv 2.8 bug
14106         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
14107         overflow on at least PowerPC64.
14108
14109 2010-10-17  Bruno Haible  <bruno@clisp.org>
14110
14111         userspec: Drop redundant file.
14112         * modules/userspec (Files): Remove lib/inttostr.h.
14113
14114 2010-10-17  Bruno Haible  <bruno@clisp.org>
14115
14116         nl_langinfo tests: Silence some warnings.
14117         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
14118         Reported by Jim Meyering.
14119
14120 2010-10-17  Bruno Haible  <bruno@clisp.org>
14121
14122         Make use of GCC's attribute __alloc_size__.
14123         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
14124         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
14125         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
14126         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
14127         __alloc_size__.
14128         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
14129         Suggested by Jim Meyering.
14130
14131 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
14132
14133         bootstrap: anchor .gitignore entries.
14134         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
14135         with...
14136         (insert_vc_ignore): ... this new function, which prepends `/' to
14137         all .gitignore entries before passing them to
14138         insert_sorted_if_absent.
14139
14140 2010-10-16  Bruno Haible  <bruno@clisp.org>
14141
14142         nextafter: Fix configure check.
14143         * modules/nextafter (configure.ac): Correct expected prototype.
14144
14145 2010-10-16  Bruno Haible  <bruno@clisp.org>
14146
14147         termios: Update documentation.
14148         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
14149
14150 2010-10-16  Bruno Haible  <bruno@clisp.org>
14151
14152         tests: Make them compile with TinyCC.
14153         * tests/test-strstr.c (main): Remove parentheses around array
14154         initializer.
14155
14156 2010-10-15  Eric Blake  <eblake@redhat.com>
14157
14158         ignore-value: make header idempotent
14159         * lib/ignore-value.h: Add double-inclusion guards.
14160         Reported by Stefan Berger.
14161
14162 2010-10-15  Jim Meyering  <meyering@redhat.com>
14163
14164         GNUmakefile: handle "stable" target, not "major"
14165         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
14166         lists in maint.mk and announce-gen.  Without this, "make stable"
14167         would fail to ensure that $(VERSION) is up to date.
14168
14169 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
14170
14171         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
14172         & co.
14173
14174 2010-10-14  Bruno Haible  <bruno@clisp.org>
14175
14176         vasnprintf: Don't set errno to 0.
14177         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
14178         block that sets it to 0.
14179         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
14180
14181 2010-10-14  Bruno Haible  <bruno@clisp.org>
14182
14183         socketlib: Fix.
14184         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
14185         gl_PREREQ_SYS_H_WINSOCK2.
14186         Reported by Ian Beckwith <ianb@erislabs.net>.
14187
14188 2010-10-13  Jim Meyering  <meyering@redhat.com>
14189
14190         test-select-stdin.c: avoid warn_unused_result warnings
14191         * tests/test-select-stdin.c: Include "macros.h".
14192         ASSERT that read and fflush succeed.
14193
14194 2010-10-13  Jim Meyering  <meyering@redhat.com>
14195
14196         git-version-gen: do require git-VC'd files in cwd
14197         * build-aux/git-version-gen: Reject a git version string
14198         if there are no commits associated with the current directory.
14199         This avoids an unlikely false-positive (unrelated dir whose parent
14200         repository also contains a tag matching v*), as pointed out
14201         by Giuseppe Scrivano in
14202         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
14203
14204 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
14205
14206         argv-iter: omit nonconforming declaration
14207         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
14208         enum arg_iter_err declaration, which doesn't conform to C99.
14209         Solaris 10 cc warns about this.
14210
14211 2010-10-13  Eric Blake  <eblake@redhat.com>
14212
14213         termios: fix compilation on mingw
14214         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
14215         (gl_TERMIOS_H): Adjust it on mingw.
14216         * modules/termios (Makefile.am): Substitute new key.
14217         * lib/termios.in.h (includes): Make include_next conditional.
14218         * doc/posix-headers/termios.texi (termios.h): Update
14219         documentation.
14220         Reported by Daniel P. Berrange.
14221
14222 2010-10-13  Jim Meyering  <meyering@redhat.com>
14223
14224         git-version-gen: don't require that .git/ be in the current dir
14225         * build-aux/git-version-gen: Adjust this script so that it works
14226         when run from any working directory beneath the top-level .git/-
14227         containing directory.  Inspired by a patch from Giuseppe Scrivano,
14228         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
14229
14230         test-select: avoid warn_unused_result warnings
14231         * tests/test-select.c: Include "macros.h".
14232         ASSERT that each call to read, write, and pipe succeeds.
14233         While not technically required, also check each "close".
14234         * modules/select-tests (Files): Add tests/macros.h.
14235
14236         test-symlinkat: remove declaration of unused local
14237         * tests/test-symlinkat.c (main): Remove unused local, "buf".
14238
14239         test-inttostr: avoid shadowing warnings
14240         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
14241         and use malloc rather than the stack for the same reason as
14242         mentioned in the comment justifying the other allocation.
14243
14244 2010-10-11  Bruno Haible  <bruno@clisp.org>
14245
14246         stdlib: Allow multiple gnulib generated replacements to coexist.
14247         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
14248         Reported by Sam Steingold <sds@gnu.org>.
14249
14250 2010-10-11  Jim Meyering  <meyering@redhat.com>
14251
14252         fix a documentation typo
14253         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
14254
14255 2010-10-11  Eric Blake  <eblake@redhat.com>
14256
14257         futimens: work around Solaris 11 bug
14258         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
14259         * tests/test-futimens.h (test_futimens): Enhance, rather than
14260         weaken test.
14261         * doc/posix-functions/futimens.texi (futimens): Document the bug.
14262
14263 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
14264
14265         Indentation.
14266         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
14267         higher-level operators more to the left.
14268
14269 2010-10-11  Jim Meyering  <meyering@redhat.com>
14270
14271         test-futimens: avoid unwarranted test failure on Solaris 5.11
14272         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
14273         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
14274         because it tries to dereference the NULL name argument.
14275
14276 2010-10-11  Bruno Haible  <bruno@clisp.org>
14277
14278         Indentation.
14279         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
14280         indentation.
14281
14282 2010-10-11  Jim Meyering  <meyering@redhat.com>
14283
14284         spawn.in.h: make indentation consistent with parentheses
14285         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
14286         Make indentation consistent with parentheses.
14287
14288 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
14289
14290         Fix mismatched parens in previous commit
14291         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
14292         parens.
14293
14294 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14295
14296         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
14297
14298         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
14299         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
14300         * lib/malloca.c: Include "verify.h".
14301         (verify1): Remove, replacing with a verify call.
14302         * lib/relocwrapper.c (verify1): Likewise.
14303         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
14304         Likewise.
14305         * modules/malloca (Depends-on): Add 'verify'.
14306         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
14307         * modules/vasnprintf (Depends-on): Add 'verify'.
14308         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14309         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14310         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14311         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14312         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14313         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14314         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14315
14316         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
14317
14318         Formerly the style was sometimes 2*X - 1, because the C standard
14319         was wrongly thought to disallow ?: in integral constant expressions.
14320         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
14321         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
14322         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14323         * lib/stdint.in.h (_verify_intmax_size): Likewise.
14324         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
14325         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
14326         verify that time_t cannot be floating.
14327
14328 2010-10-08  Eric Blake  <eblake@redhat.com>
14329
14330         time: enforce recent POSIX ruling that time_t is integral
14331         * lib/time.in.h (__time_t_must_be_integral): Detect any
14332         problematic systems, allowing the rest of gnulib to assume POSIX.
14333
14334 2010-10-08  Jim Meyering  <meyering@redhat.com>
14335
14336         fdopendir: fix a bug on systems lacking openat and /proc support
14337         OpenBSD 4.7 is one such system.  The most noticeable effect was
14338         failure of any application making nontrivial use of fts: rm, du,
14339         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
14340           ./rm: traversal failed: `a': Bad file descriptor
14341         Debugging that, you see that even though FD 6 was closed just
14342         prior to the opendir call in fd_clone_opendir, its resulting
14343         dir->dd_fd was 8, rather than the expected value of 6:
14344
14345         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
14346         93                close (fd);
14347         (gdb) n
14348         94                dir = fd_clone_opendir (dupfd);
14349         (gdb) n
14350         95                saved_errno = errno;
14351         (gdb) p dir->dd_fd
14352         $11 = 8
14353
14354         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
14355         The problem is that on OpenBSD, fd_clone_opendir has to resort
14356         to using the old-style save/restore CWD mechanism, due to its
14357         lack of openat/proc support, and *that* would steal the FD (6)
14358         that opendir was supposed to use.
14359
14360         The fix is to squirrel away the desired FD so that save_cwd uses a
14361         different one, and then free the dest FD right before calling opendir.
14362         That guarantees opendir will use the required file descriptor.
14363
14364         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
14365
14366 2010-10-08  Bruno Haible  <bruno@clisp.org>
14367
14368         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
14369         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
14370
14371 2010-10-08  Bruno Haible  <bruno@clisp.org>
14372
14373         nanosleep: Make replacement POSIX compliant.
14374         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
14375         is out of range.
14376         Reported by Jim Meyering.
14377
14378 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14379
14380         bootstrap: add hook for altering gnulib.mk, for Bison
14381         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
14382         the Bison bootstrapping process can rewrite file names and variables
14383         in this file before later parts of 'bootstrap' use the file.
14384         Bison wants to include lib/gnulib.mk from the top-level makefile,
14385         so it needs the file names in this file to be relative to the top
14386         level, not relative to lib; plus it needs variable names to be
14387         rewritten.
14388         (slurp): Use the new function.
14389
14390         bootstrap: reformat for readability
14391         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
14392
14393 2010-10-08  Eric Blake  <eblake@redhat.com>
14394
14395         docs: update cygwin progress
14396         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
14397         1.7.7.
14398         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
14399         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
14400         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
14401         * doc/posix-functions/carg.texi (carg): Likewise.
14402         * doc/posix-functions/cargf.texi (cargf): Likewise.
14403         * doc/posix-functions/casin.texi (casin): Likewise.
14404         * doc/posix-functions/casinf.texi (casinf): Likewise.
14405         * doc/posix-functions/casinh.texi (casinh): Likewise.
14406         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
14407         * doc/posix-functions/catan.texi (catan): Likewise.
14408         * doc/posix-functions/catanf.texi (catanf): Likewise.
14409         * doc/posix-functions/catanh.texi (catanh): Likewise.
14410         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
14411         * doc/posix-functions/ccos.texi (ccos): Likewise.
14412         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
14413         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
14414         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
14415         * doc/posix-functions/cexp.texi (cexp): Likewise.
14416         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
14417         * doc/posix-functions/cimag.texi (cimag): Likewise.
14418         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
14419         * doc/posix-functions/clog.texi (clog): Likewise.
14420         * doc/posix-functions/clogf.texi (clogf): Likewise.
14421         * doc/posix-functions/conj.texi (conj): Likewise.
14422         * doc/posix-functions/conjf.texi (conjf): Likewise.
14423         * doc/posix-functions/cpow.texi (cpow): Likewise.
14424         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
14425         * doc/posix-functions/cproj.texi (cproj): Likewise.
14426         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
14427         * doc/posix-functions/creal.texi (creal): Likewise.
14428         * doc/posix-functions/crealf.texi (crealf): Likewise.
14429         * doc/posix-functions/csin.texi (csin): Likewise.
14430         * doc/posix-functions/csinf.texi (csinf): Likewise.
14431         * doc/posix-functions/csinh.texi (csinh): Likewise.
14432         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
14433         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
14434         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
14435         * doc/posix-functions/ctan.texi (ctan): Likewise.
14436         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
14437         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
14438         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
14439         * doc/posix-headers/complex.texi (complex.h): Likewise.
14440
14441 2010-10-07  Jim Meyering  <meyering@redhat.com>
14442
14443         parse-datetime: avoid compilation failure on OpenBSD 4.7
14444         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
14445         This works around a compilation failure on OpenBSD 4.7:
14446         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
14447
14448 2010-10-07  Eric Blake  <eblake@redhat.com>
14449
14450         docs: update cygwin progress
14451         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
14452         1.7.6.
14453         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
14454         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
14455         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
14456         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
14457         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
14458         Likewise.
14459         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
14460         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
14461         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
14462         Likewise.
14463         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
14464         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
14465         Likewise.
14466         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
14467         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
14468         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
14469         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
14470         Likewise.
14471         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
14472         Likewise.
14473         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
14474
14475         docs: update parse-datetime history
14476         * doc/parse-datetime.texi (Authors of parse_datetime): Better
14477         documentation of this function's history and alternatives.
14478
14479         cygwin: use more robust version check
14480         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
14481         exclude an eventual cygwin 1.9.1.
14482         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
14483         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
14484         (gl_FUNC_STRCASESTR): Likewise.
14485         Reported by Bruno Haible.
14486
14487 2010-10-06  Bruno Haible  <bruno@clisp.org>
14488
14489         string, sys_select: Avoid #including large headers unless necessary.
14490         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
14491         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
14492         OSF/1, BeOS, Haiku.
14493         Reported by Jim Meyering.
14494
14495 2010-10-05  Eric Blake  <eblake@redhat.com>
14496
14497         memmem, strstr, strcasestr: fix bug with long periodic needle
14498         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
14499         periodic needle having false positive.
14500         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
14501         and cygwin 1.7.7.
14502         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
14503         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
14504         (gl_FUNC_STRCASESTR): Likewise.
14505         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
14506         * tests/test-memmem.c (main): Expose the bug.
14507         * tests/test-strcasestr.c (main): Likewise.
14508         * tests/test-strstr.c (main): Likewise.
14509         * tests/test-c-strcasestr.c (main): Likewise.
14510         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
14511         * doc/posix-functions/strstr.texi (strstr): Likewise.
14512         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14513         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
14514
14515 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14516
14517         parse-datetime: do some more renaming
14518         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
14519         parse_datetime, not get_date.  Mention the renaming.
14520         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
14521         in comments.
14522         * m4/bison.m4: Likewise.
14523
14524 2010-10-05  Eric Blake  <eblake@redhat.com>
14525
14526         parse-datetime: better name than get_date
14527         * NEWS: Reword the deprecation notice.
14528         * modules/get_date: Rename to modules/parse-datetime.
14529         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
14530         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
14531         * lib/get_date.y: Rename to lib/parse-datetime.y.
14532         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
14533         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
14534         * doc/getdate.texi: Provide fallback wrapper.
14535         * lib/getdate.h: Move guts, and wrap...
14536         * lib/parse-datetime.h: ...new file.
14537         * lib/parse-datetime.y (get_date): Rename...
14538         (parse_datetime): ...to this.
14539         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
14540         (gl_PARSE_DATETIME): ...to this.
14541         * doc/posix-functions/getdate.texi (get_date): Provide fallback
14542         documentation.
14543         * modules/getdate (Files): Provide fallback docs and header.
14544         (Notice, Depends-on): Update references.
14545         * tests/test-parse-datetime.c: Likewise.
14546         * DEPENDENCIES: Likewise.
14547         * MODULES.html.sh (Date and time <time.h>): Likewise.
14548         * doc/parse-datetime.texi (Date input formats)
14549         (Authors of parse_datetime): Likewise.
14550         * modules/parse-datetime (Files, configure.ac, Makefile.am)
14551         (Include): Likewise.
14552         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
14553         * gnulib-tool: Likewise.
14554         * m4/bison.m4 (gl_BISON): Likewise.
14555         Suggested by Bruno Haible.
14556
14557 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14558
14559         more ports to Solaris tr, which needs [] around ranges
14560         * gnulib-tool: Solaris tr needs [] around ranges.
14561         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
14562         * tests/test-pipe-filter-gi1.c (main): Likewise.
14563         * tests/test-pipe-filter-ii1.c (main): Likewise.
14564
14565 2010-10-05  Eric Blake  <eblake@redhat.com>
14566
14567         bootstrap: fix Solaris regression
14568         * build-aux/bootstrap (check_versions): Solaris tr still needs []
14569         around ranges.
14570         Reported by PĂ¡draig Brady.
14571
14572         bootstrap: work with pkg-config
14573         * build-aux/bootstrap (check_versions): Also transliterate - in
14574         prerequisite name.
14575         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
14576         prerequisites that were already found, to avoid confusion.
14577         Reported by Justin Clift.
14578
14579         faccessat: remove unused wrappers
14580         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
14581         presence of these wrappers dragged in -lgen on Solaris.
14582         Reported by Clemens Brogi; fix suggested by Paul Eggert.
14583
14584 2010-10-05  Jim Meyering  <meyering@redhat.com>
14585
14586         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
14587         * Makefile (sc_pragma_columns): New syntax-check rule.
14588
14589 2010-10-04  Bruno Haible  <bruno@clisp.org>
14590
14591         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
14592         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
14593         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
14594         Reported by Bruce Korb and Eric Blake.
14595
14596 2010-10-04  Bruno Haible  <bruno@clisp.org>
14597
14598         threadlib: Make option --with-libpth-prefix work.
14599         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
14600         use $LIBPTH, not just -lpth.
14601
14602 2010-10-04  Bruno Haible  <bruno@clisp.org>
14603
14604         Avoid line length limitation from HP NonStop system header files.
14605         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
14606         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
14607         * lib/ctype.in.h: Likewise.
14608         * lib/dirent.in.h: Likewise.
14609         * lib/errno.in.h: Likewise.
14610         * lib/fcntl.in.h: Likewise.
14611         * lib/float.in.h: Likewise.
14612         * lib/getopt.in.h: Likewise.
14613         * lib/iconv.in.h: Likewise.
14614         * lib/inttypes.in.h: Likewise.
14615         * lib/langinfo.in.h: Likewise.
14616         * lib/locale.in.h: Likewise.
14617         * lib/math.in.h: Likewise.
14618         * lib/netdb.in.h: Likewise.
14619         * lib/netinet_in.in.h: Likewise.
14620         * lib/poll.in.h: Likewise.
14621         * lib/pthread.in.h: Likewise.
14622         * lib/pty.in.h: Likewise.
14623         * lib/sched.in.h: Likewise.
14624         * lib/se-selinux.in.h: Likewise.
14625         * lib/search.in.h: Likewise.
14626         * lib/signal.in.h: Likewise.
14627         * lib/spawn.in.h: Likewise.
14628         * lib/stdarg.in.h: Likewise.
14629         * lib/stddef.in.h: Likewise.
14630         * lib/stdint.in.h: Likewise.
14631         * lib/stdio.in.h: Likewise.
14632         * lib/stdlib.in.h: Likewise.
14633         * lib/string.in.h: Likewise.
14634         * lib/strings.in.h: Likewise.
14635         * lib/sys_file.in.h: Likewise.
14636         * lib/sys_ioctl.in.h: Likewise.
14637         * lib/sys_select.in.h: Likewise.
14638         * lib/sys_socket.in.h: Likewise.
14639         * lib/sys_stat.in.h: Likewise.
14640         * lib/sys_time.in.h: Likewise.
14641         * lib/sys_times.in.h: Likewise.
14642         * lib/sys_utsname.in.h: Likewise.
14643         * lib/sys_wait.in.h: Likewise.
14644         * lib/sysexits.in.h: Likewise.
14645         * lib/termios.in.h: Likewise.
14646         * lib/time.in.h: Likewise.
14647         * lib/unistd.in.h: Likewise.
14648         * lib/wchar.in.h: Likewise.
14649         * lib/wctype.in.h: Likewise.
14650         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
14651         * modules/ctype (Makefile.am): Likewise.
14652         * modules/dirent (Makefile.am): Likewise.
14653         * modules/errno (Makefile.am): Likewise.
14654         * modules/fcntl-h (Makefile.am): Likewise.
14655         * modules/float (Makefile.am): Likewise.
14656         * modules/getopt-posix (Makefile.am): Likewise.
14657         * modules/iconv-h (Makefile.am): Likewise.
14658         * modules/inttypes (Makefile.am): Likewise.
14659         * modules/langinfo (Makefile.am): Likewise.
14660         * modules/locale (Makefile.am): Likewise.
14661         * modules/math (Makefile.am): Likewise.
14662         * modules/netdb (Makefile.am): Likewise.
14663         * modules/netinet_in (Makefile.am): Likewise.
14664         * modules/poll-h (Makefile.am): Likewise.
14665         * modules/pthread (Makefile.am): Likewise.
14666         * modules/pty (Makefile.am): Likewise.
14667         * modules/sched (Makefile.am): Likewise.
14668         * modules/search (Makefile.am): Likewise.
14669         * modules/selinux-h (Makefile.am): Likewise.
14670         * modules/signal (Makefile.am): Likewise.
14671         * modules/spawn (Makefile.am): Likewise.
14672         * modules/stdarg (Makefile.am): Likewise.
14673         * modules/stddef (Makefile.am): Likewise.
14674         * modules/stdint (Makefile.am): Likewise.
14675         * modules/stdio (Makefile.am): Likewise.
14676         * modules/stdlib (Makefile.am): Likewise.
14677         * modules/string (Makefile.am): Likewise.
14678         * modules/strings (Makefile.am): Likewise.
14679         * modules/sys_file (Makefile.am): Likewise.
14680         * modules/sys_ioctl (Makefile.am): Likewise.
14681         * modules/sys_select (Makefile.am): Likewise.
14682         * modules/sys_socket (Makefile.am): Likewise.
14683         * modules/sys_stat (Makefile.am): Likewise.
14684         * modules/sys_time (Makefile.am): Likewise.
14685         * modules/sys_times (Makefile.am): Likewise.
14686         * modules/sys_utsname (Makefile.am): Likewise.
14687         * modules/sys_wait (Makefile.am): Likewise.
14688         * modules/sysexits (Makefile.am): Likewise.
14689         * modules/termios (Makefile.am): Likewise.
14690         * modules/time (Makefile.am): Likewise.
14691         * modules/unistd (Makefile.am): Likewise.
14692         * modules/wchar (Makefile.am): Likewise.
14693         * modules/wctype (Makefile.am): Likewise.
14694
14695 2010-10-04  Bruno Haible  <bruno@clisp.org>
14696
14697         read-file tests: Avoid a test failure on NonStop Kernel.
14698         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
14699         a regular file.
14700         Reported by Joachim Schmitz <schmitz@hp.com>.
14701
14702 2010-10-03  Bruno Haible  <bruno@clisp.org>
14703
14704         gnulib-tool: Fixes for --create-testdir with --libtool.
14705         * gnulib-tool (func_get_automake_snippet): Don't augment
14706         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
14707         an executable.
14708         (func_create_testdir): Handle module 'alloca' like func_import.
14709         Reported by Bruce Korb <bruce.korb@gmail.com>.
14710
14711 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
14712
14713         Avoid some lines longer than 80 characters.
14714         * lib/stdint.in.h: Break long comment lines.
14715         * lib/math.in.h: Likewise.
14716         (_GL_NUM_UINT_WORDS): New macro, for readability.
14717         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
14718         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
14719         * lib/stdlib.in.h: Likewise.
14720         * lib/spawn.in.h: Likewise.
14721         * lib/sys_socket.in.h: Update an URL.
14722         * lib/sys_stat.in.h: Break long line.
14723
14724 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
14725
14726         Improve pmccabe2html.
14727         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
14728         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
14729         when the sources change. Remove the line in the HTML about "Used
14730         ranges" (which implied that there might be other unused ranges),
14731         rename "Resume" to "Summary" (easier to understand for more users).
14732         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
14733         styles, and some unnecessary blank lines.
14734
14735 2010-10-03  Bruno Haible  <bruno@clisp.org>
14736             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14737
14738         acl: Add support for ACLs on NonStop Kernel.
14739         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
14740         Check whether the function aclsort() exists.
14741         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
14742         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
14743         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14744         (acl_nontrivial [HAVE_ACLSORT]: New function.
14745         (file_has_acl): Implement for NonStop Kernel.
14746         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14747         (qset_acl): Implement for NonStop Kernel.
14748         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
14749         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14750         (main): Implement for NonStop Kernel.
14751         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
14752         Kernel. Handle this flavor.
14753         * tests/test-set-mode-acl.sh: Likewise.
14754         * tests/test-copy-acl.sh: Likewise.
14755         * tests/test-copy-file.sh: Likewise.
14756
14757 2010-10-03  Bruno Haible  <bruno@clisp.org>
14758
14759         Info about ACLs on NonStop Kernel.
14760         * doc/acl-resources.txt: Add info about NonStop Kernel.
14761         References by Joachim Schmitz <schmitz@hp.com>.
14762
14763 2010-10-02  Bruno Haible  <bruno@clisp.org>
14764
14765         Define missing EDQUOT on NonStop Kernel.
14766         * lib/errno.in.h (EDQUOT): Assign a value if missing.
14767         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
14768         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
14769         missing.
14770         * doc/posix-headers/errno.texi: Mention the NSK bug.
14771         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
14772         Reported by Joachim Schmitz <schmitz@hp.com>.
14773
14774 2010-10-02  Bruno Haible  <bruno@clisp.org>
14775
14776         Update doc for POSIX:2008.
14777         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
14778         Update URL of POSIX specification.
14779
14780 2010-10-02  Bruno Haible  <bruno@clisp.org>
14781
14782         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
14783         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
14784         from gnulib, not from Automake.
14785
14786 2010-10-02  Bruno Haible  <bruno@clisp.org>
14787
14788         New module 'system-posix'.
14789         * modules/system-posix: New file.
14790         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
14791         module is present.
14792         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
14793         GNULIB_SYSTEM_POSIX.
14794         * modules/stdlib (Depends-on): Remove sys_wait.
14795         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
14796         * doc/posix-functions/system.texi: Mention the new module.
14797         * doc/posix-headers/stdlib.texi: Likewise.
14798         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
14799         define test_sys_wait_macros to a no-op.
14800         Reported by Sam Steingold <sds@gnu.org>.
14801
14802 2010-09-30  Bruno Haible  <bruno@clisp.org>
14803
14804         More renaming from 'getdate' to 'get_date'.
14805         * doc/get_date.texi: Renamed from doc/getdate.texi.
14806         * modules/get_date (Files): Update.
14807         * MODULES.html.sh (Date and time <time.h>): Update.
14808         * DEPENDENCIES: Update.
14809         * gnulib-tool: Update comment.
14810         * m4/bison.m4 (gl_BISON): Likewise.
14811         * m4/get_date.m4 (gl_GET_DATE): Likewise.
14812
14813 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
14814
14815         bootstrap: support ACLOCAL_FLAGS during aclocal
14816         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
14817         can add additional -I dir for third-party .m4 files.
14818
14819 2010-09-30  Eric Blake  <eblake@redhat.com>
14820
14821         bootstrap: use glibtoolize on MacOS
14822         * build-aux/bootstrap (check_versions): Convert libtool into
14823         libtoolize.
14824         (tool search): Move libtool check earlier, and look for
14825         glibtoolize for MacOS.
14826         (gnulib_tool_options): Auto-add --libtool when appropriate.
14827         Reported by Justin Clift.
14828
14829         poll: fix typo that broke test on MacOS
14830         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
14831         Reported by Justin Clift.
14832
14833         getdate: rename to get_date
14834         Note: getdate.h is not renamed, to minimize client impact.
14835         * modules/getdate: Mark obsolete.  Move old contents...
14836         * modules/get_date: ...to new module name.
14837         * modules/getdate-tests: Move...
14838         * modules/get_date-tests: ...here.
14839         * m4/getdate.m4: Move...
14840         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
14841         * lib/getdate.y: Move...
14842         * lib/get_date.y: ...here.
14843         * tests/test-getdate.c: Move...
14844         * tests/test-get_date.c: ...here.
14845         * doc/posix-functions/getdate.texi (getdate): Update name.
14846         * NEWS: Mention the change.
14847
14848 2010-09-29  Bruno Haible  <bruno@clisp.org>
14849
14850         Separate the module 'waitpid' from the module 'sys_wait'.
14851         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
14852         present.
14853         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
14854         gl_MODULE_INDICATOR_FOR_TESTS.
14855         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
14856         * modules/sys_wait (Depends-on): Remove waitpid.
14857         (Makefile.am): Substitute GNULIB_WAITPID.
14858         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
14859         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
14860         signature only if the 'waitpid' module is present.
14861         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
14862         * NEWS: Mention the change.
14863         * modules/grantpt (Depends-on): Add waitpid.
14864         * modules/wait-process (Depends-on): Likewise.
14865
14866 2010-09-29  Bruno Haible  <bruno@clisp.org>
14867
14868         More tests for module 'sys_wait'.
14869         * modules/sys_wait-c++-tests: New file.
14870         * tests/test-sys_wait-c++.cc: New file.
14871         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
14872         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
14873
14874 2010-09-29  Bruno Haible  <bruno@clisp.org>
14875
14876         New module 'waitpid'.
14877         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
14878         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
14879         Don't include <process.h>.
14880         (waitpid): Declare only, using modern idiom.
14881         * m4/waitpid.m4: New file.
14882         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
14883         * modules/waitpid: New file.
14884         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
14885         (Makefile.am): Update.
14886         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
14887
14888 2010-09-28  Bruno Haible  <bruno@clisp.org>
14889
14890         poll: Assume ANSI C.
14891         * lib/poll.c (poll): Use an ANSI C declaration.
14892
14893 2010-09-28  Bruno Haible  <bruno@clisp.org>
14894
14895         poll-h: Create poll.h on all platforms.
14896         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
14897         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
14898         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
14899         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
14900         (gl_REPLACE_POLL_H): Don't set POLL_H.
14901         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
14902         * modules/poll-h (Depends-on): Add include_next.
14903         (Makefile.am): Create poll.h unconditionally. Substitute also
14904         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
14905
14906 2010-09-28  Bruno Haible  <bruno@clisp.org>
14907
14908         Tests for module 'poll-h'.
14909         * modules/poll-h-c++-tests: New file.
14910         * tests/test-poll-h-c++.cc: New file.
14911
14912         Tests for module 'poll-h'.
14913         * modules/poll-h-tests: New file.
14914         * tests/test-poll-h.c: New file.
14915
14916 2010-09-28  Bruno Haible  <bruno@clisp.org>
14917
14918         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
14919         * modules/poll-h (Depends-on): Add 'extensions'.
14920
14921 2010-09-28  Bruno Haible  <bruno@clisp.org>
14922
14923         New module 'poll-h'.
14924         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
14925         (poll): Use modern idiom.
14926         * modules/poll-h: New file.
14927         * modules/poll (Files): Remove lib/poll.in.h.
14928         (Depends-on): Add poll-h.
14929         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
14930         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
14931         * m4/poll_h.m4: New file.
14932         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
14933         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
14934         and invoke gl_REPLACE_POLL_H.
14935         * lib/poll.c: Use common idiom.
14936         * tests/test-poll.c: Likewise.
14937         * doc/posix-headers/poll.texi: Mention the poll-h module.
14938         Suggested by Eric Blake.
14939
14940 2010-09-26  Bruno Haible  <bruno@clisp.org>
14941
14942         sys_wait: Implement WSTOPSIG.
14943         * lib/sys_wait.in.h (WSTOPSIG): New macro.
14944         Reported by Simon Josefsson.
14945
14946 2010-09-26  Simon Josefsson  <simon@josefsson.org>
14947
14948         stdlib, sys_wait: Avoid compilation error on mingw.
14949         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
14950
14951 2010-09-26  Bruno Haible  <bruno@clisp.org>
14952
14953         stdlib tests: Avoid code duplication.
14954         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
14955         * modules/sys_wait-tests (Files): Likewise.
14956         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
14957         * tests/test-stdlib.c: Include test-sys_wait.h.
14958         (main): Invoke test_sys_wait_macros.
14959         * tests/test-sys_wait.c: Include test-sys_wait.h.
14960         (main): Invoke test_sys_wait_macros.
14961
14962 2010-09-25  Simon Josefsson  <simon@josefsson.org>
14963
14964         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
14965         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
14966         sure Windows sockets are working before calling getaddrinfo.
14967         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
14968         * doc/gnulib.texi (Windows sockets): Fix typo.
14969
14970 2010-09-25  Bruno Haible  <bruno@clisp.org>
14971
14972         Tests for module 'regex-quote'.
14973         * modules/regex-quote-tests: New file.
14974         * tests/test-regex-quote.c: New file.
14975
14976         New module 'regex-quote'.
14977         * lib/regex-quote.h: New file.
14978         * lib/regex-quote.c: New file.
14979         * modules/regex-quote: New file.
14980         Suggested by Reuben Thomas <rrt@sc3d.org>.
14981
14982 2010-09-24  Bruno Haible  <bruno@clisp.org>
14983
14984         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
14985         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
14986
14987 2010-09-23  Bruno Haible  <bruno@clisp.org>
14988
14989         setenv: Relax license.
14990         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
14991         Blake.
14992         Requested by Eric Blake.
14993
14994 2010-09-22  Bruno Haible  <bruno@clisp.org>
14995
14996         termios: Relax license.
14997         * modules/termios (License): Change to LGPLv2+.
14998         Requested by Eric Blake.
14999
15000 2010-09-22  Bruno Haible  <bruno@clisp.org>
15001
15002         threadlib: Allow the package to change the default to 'no'.
15003         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
15004         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
15005         Reported by Paul Eggert.
15006
15007 2010-09-22  PĂ¡draig Brady  <P@draigbrady.com>
15008             Bruno Haible  <bruno@clisp.org>
15009
15010         Fix endless loop in mbmemcasecoll.
15011         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
15012         byte.
15013         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
15014
15015 2010-09-22  Bruno Haible  <bruno@clisp.org>
15016
15017         Tests for module 'memcoll'.
15018         * modules/memcoll-tests: New file.
15019         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
15020
15021         memcoll, xmemcoll: Clarify size vs. length.
15022         * modules/memcoll.c (memcoll0): Clarify specification.
15023         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
15024         passed to collate_error.
15025
15026 2010-09-22  Bruno Haible  <bruno@clisp.org>
15027
15028         Tests for module 'memcasecmp'.
15029         * modules/memcasecmp-tests: New file.
15030         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
15031
15032 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
15033
15034         * lib/pthread.in.h: Add split double-inclusion guard, and include
15035         system <pthread.h> if there is one.  Use @@-style as in other
15036         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
15037         pthread.h doesn't.
15038         (pthread_mutexattr_destroy, pthread_mutexattr_init):
15039         (pthread_mutexattr_settype, pthread_mutex_trylock):
15040         New static inline functions, if there's no system <pthread.h>.
15041         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
15042         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
15043         Approximate with mutexes if the system lacks spinlocks, as in
15044         MacOS.
15045         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
15046         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
15047         @@-style.  Check for spinlocks separately.
15048         (gl_PTHREAD_DEFAULTS): New macro.
15049         * modules/pthread: Redo to use a more typical style for in.h files.
15050
15051 2010-09-21  Eric Blake  <eblake@redhat.com>
15052
15053         net_if: enhance tests
15054         * tests/test-net_if.c (main): Move signature checks earlier.
15055         Print failures to stderr.
15056         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
15057         Document the bug that we do not yet fix.
15058
15059 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
15060
15061         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
15062         about gnulib, not GSS.
15063
15064 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
15065
15066         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
15067         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
15068         for Emacs.
15069         * build-aux/pmccabe2html: Make Makefile.am example code more
15070         cut-and-paste friendly.
15071
15072 2010-09-21  Simon Josefsson  <simon@josefsson.org>
15073
15074         * tests/test-net_if.c: New file.
15075         * modules/net_if-tests: New file.
15076
15077 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15078
15079         pthread: add pthread_spin_destroy
15080         * lib/pthread.in.h (pthread_spin_destroy): New function.
15081
15082 2010-09-19  Bruno Haible  <bruno@clisp.org>
15083
15084         gnulib-tool: Fix --help output.
15085         * gnulib-tool (func_usage): Fix help message.
15086         Reported by Reuben Thomas <rrt@sc3d.org>.
15087
15088 2010-09-18  Jim Meyering  <meyering@redhat.com>
15089
15090         maint.mk: avoid unexpanded \n in two diagnostics
15091         * top/maint.mk (sc_prohibit_always_true_header_tests):
15092         Don't use a literal \n in a halt=... assignment.  It would not be
15093         expanded, and the two \n bytes would appear in the diagnostic output
15094         rather than the desired newline.  Use halt=$$(printf ... instead.
15095         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
15096
15097 2010-09-18  Bruno Haible  <bruno@clisp.org>
15098
15099         netinet_in: Doc tweak.
15100         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
15101         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15102
15103 2010-09-18  Jim Meyering  <meyering@redhat.com>
15104
15105         init.sh: correct an outdated comment
15106         * tests/init.sh (create_exe_shims_):  s/function/alias/
15107
15108         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
15109         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
15110         a file named "*.exe" is removed between the glob expansion and the
15111         processing of that oddly named file.
15112
15113 2010-09-17  Eric Blake  <eblake@redhat.com>
15114
15115         mirbsd: add some more support
15116         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
15117         in BSD family.
15118         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
15119         devices as OpenBSD.
15120         * m4/host-os.m4 (mirbsd): Add MirBSD.
15121
15122         tests: fix unportable assumption on sys/wait.h
15123         * tests/test-sys_wait.c (main): Relax test.
15124         * tests/test-stdlib.c (main): Likewise.
15125
15126         init.sh: accomodate directory with no .exes
15127         * tests/init.sh: Accomodate directory containing only scripts.
15128
15129         tests: avoid compiler warning
15130         * tests/test-stdlib.c (main): Use the variable.
15131
15132         fdutimens, fdutimensat: update signature, again
15133         * lib/utimens.h (gl_futimens): Delete, and move signature...
15134         (fdutimens): ...here.
15135         (fdutimensat): Rearrange signature.
15136         (lutimensat): Rename variable for clarity.
15137         * lib/fdutimensat.c (fdutimensat): Update signature.
15138         * lib/utimens.c (fdutimens): Likewise.
15139         (gl_futimens): Delete.
15140         (utimens, lutimens): Update callers.
15141         * lib/futimens.c (futimens): Likewise.
15142         * tests/test-fdutimensat.c: Likewise.
15143         * tests/test-utimens.c: Likewise.
15144         * tests/test-futimens.h: Update comment.
15145         * NEWS: Mention this.
15146         Suggested by Paul Eggert.
15147
15148 2010-09-17  Bruno Haible  <bruno@clisp.org>
15149
15150         Take over the maintenance of some older macros from Autoconf.
15151         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
15152         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
15153         GNU Autoconf.
15154         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
15155         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
15156
15157 2010-09-17  Eric Blake  <eblake@redhat.com>
15158
15159         fdutimensat: drop atflag validation
15160         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
15161         with valid fd, to close a race scenario where futimens is
15162         unsupported and FILE was replaced by a symlink.
15163         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
15164         accordingly.
15165         Suggested by Paul Eggert.
15166
15167 2010-09-16  Bruno Haible  <bruno@clisp.org>
15168
15169         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
15170         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
15171
15172 2010-09-16  Bruno Haible  <bruno@clisp.org>
15173
15174         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
15175         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
15176         login_tty exists.
15177         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15178
15179 2010-09-16  Bruno Haible  <bruno@clisp.org>
15180
15181         login_tty: Make the replacement code work on BSD systems.
15182         * lib/login_tty.c: Include <sys/ioctl.h>.
15183         (login_tty): Use ioctl TIOCSCTTY when available.
15184         * modules/login_tty (Depends-on): Add sys_ioctl.
15185         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15186
15187 2010-09-16  Bruno Haible  <bruno@clisp.org>
15188
15189         login_tty: Stricter unit test.
15190         * modules/login_tty-tests (Depends-on): Add tcgetsid.
15191         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
15192         and tcgetsid() after login_tty.
15193         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15194
15195 2010-09-16  Bruno Haible  <bruno@clisp.org>
15196
15197         New module 'tcgetsid'.
15198         * lib/tcgetsid.c: New file.
15199         * m4/tcgetsid.m4: New file.
15200         * modules/tcgetsid: New file.
15201         * modules/termios (Depends-on): Add c++defs, warn-on-use.
15202         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
15203         GNULIB_TCGETSID, HAVE_TCGETSID.
15204         * lib/termios.in.h: Include <sys/types.h>.
15205         (tcgetsid): New declaration.
15206         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
15207         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
15208         * doc/posix-functions/tcgetsid.texi: Mention the new module.
15209         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
15210
15211 2010-09-16  Bruno Haible  <bruno@clisp.org>
15212
15213         Tests for module 'termios'.
15214         * modules/termios-c++-tests: New file.
15215         * modules/termios-tests: New file.
15216         * tests/test-termios-c++.cc: New file.
15217         * tests/test-termios.c: New file.
15218
15219         New module 'termios'.
15220         * modules/termios: New file.
15221         * lib/termios.in.h: New file.
15222         * m4/termios_h.m4: New file.
15223         * doc/posix-headers/termios.texi: Mention the new module.
15224
15225 2010-09-16  Eric Blake  <eblake@redhat.com>
15226
15227         fdutimensat: add an atflag parameter
15228         * lib/fdutimensat.c (fdutimensat): Add new parameter.
15229         * lib/utimens.h (fdutimensat): Update prototype.
15230         * tests/test-fdutimensat.c: Adjust test to match.
15231         * NEWS: Document the change.
15232         Suggested by Paul Eggert.
15233
15234 2010-09-16  Bruno Haible  <bruno@clisp.org>
15235
15236         Fix typos in comments.
15237         * lib/striconveh.h: Fix typo in comment.
15238         * lib/login_tty.c (login_tty): Likewise.
15239
15240 2010-09-15  Bruno Haible  <bruno@clisp.org>
15241
15242         stdlib: clarify MirBSD WEXITSTATUS bug
15243         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
15244         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
15245
15246 2010-09-15  Eric Blake  <eblake@redhat.com>
15247
15248         stdlib: work around MirBSD WEXITSTATUS bug
15249         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
15250         * modules/stdlib (Depends-on): Add sys_wait.
15251         * tests/test-sys_wait.c (main): Enhance test.
15252         * tests/test-stdlib.c (main): Likewise.
15253         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
15254
15255         docs: mention MacOS issue with WEXITSTATUS(constant)
15256         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
15257         issue.
15258         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
15259
15260         strnlen: add tests
15261         * modules/strnlen-tests: New file.
15262         * tests/test-strnlen.c: Likewise.
15263
15264 2010-09-14  Bruno Haible  <bruno@clisp.org>
15265
15266         unistr/base: Avoid link errors when module 'libunistring' is also used.
15267         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
15268         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
15269         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
15270         Declare also when HAVE_LIBUNISTRING is set.
15271         Reported by PĂ¡draig Brady <P@draigbrady.com>.
15272
15273 2010-09-14  Eric Blake  <eblake@redhat.com>
15274
15275         test-rawmemchr: make more robust
15276         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
15277         (Depends-on, configure.ac): Add needed prerequisites to use it.
15278         * modules/memchr-tests (Files, Depends-on, configure.ac):
15279         Likewise, to avoid implicit reliance on memchr module prereqs.
15280         * tests/test-memchr.c (main): Ensure proper masking.
15281         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
15282         reads.
15283
15284         memchr: detect glibc Alpha bug
15285         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
15286         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
15287         Alpha.
15288         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
15289         * tests/test-memchr.c (main): Enhance test.
15290         Reported by Nelson H. F. Beebe.
15291
15292 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15293
15294         fts, getcwd, glob: audit for dirfd returning -1
15295         * lib/fts.c (opendir): Remove #define; no longer used.
15296         (opendirat): New arg PDIR_FD.  All callers changed.
15297         (fts_build, _opendir2): Use new opendirat to avoid the need for
15298         dirfd, or for checking whether dirfd returns a negative value.
15299         Don't use opendir; always use openat followed by fdopendir.
15300         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
15301         it.
15302         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
15303         returns -1 here.
15304         * modules/fts (Depends-on): Remove dirfd.
15305         * modules/getcwd (Depends-on): Likewise.
15306
15307 2010-09-13  Eric Blake  <eblake@redhat.com>
15308
15309         float: fix broken MirBSD header
15310         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
15311         * doc/posix-headers/float.texi (float.h): Document it.
15312
15313 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15314
15315         fts: use O_NOFOLLOW to avoid race condition when opening a directory
15316         * lib/fts.c (opendirat): New arg extra_flags.
15317         (__opendir2): Use it to avoid following symlinks when opening
15318         a directory, if symlinks are not supposed to be followed.  See
15319         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
15320
15321         fdopendir: preserve argument fd before returning
15322         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
15323         (fdopendir_with_dup, fd_clone_opendir): New static functions.
15324         (fdopendir): Use them, arranging for FD to be open to the same
15325         directory that it was when it started.  (It might be temporarily
15326         closed while fdopendir is running, so this not thread- or
15327         signal-safe.)  Be careful to do the right thing even when file
15328         descriptors are scarce and dup fails with errno == EMFILE.  See
15329         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
15330
15331 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
15332
15333         regex: Pass the system regex if its only problem is 32-bit regoff_t.
15334         * NEWS: Document change.
15335         * m4/regex.m4: Disable test for regoff_t size.
15336
15337 2010-09-13  Jim Meyering  <meyering@redhat.com>
15338
15339         fts: don't operate on an invalid file descriptor after failed dup
15340         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
15341         negative file descriptor.
15342
15343 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
15344
15345         savedir: add streamsavedir, deprecate fdsavedir
15346         * NEWS: Mention deprecation of fdsavedir.
15347         * lib/savedir.c (streamsavedir): New extern function, whose name
15348         ends in "savedir" to be consistent with the others.  This differs
15349         from savedirstream in that it doesn't close its argument.  The
15350         next version of GNU tar will use this instead of fdsavedir, to
15351         avoid some race conditions and conserve file descriptors.
15352         (savedirstream): Reimplement as a wrapper around streamsavedir.
15353         (fdsavedir): Add a comment deprecating this function.  As far as
15354         I know, only GNU tar used it, and GNU tar doesn't need it any more.
15355         * lib/savedir.h (streamsavedir): New decl.
15356         (fdsavedir): Add a comment deprecating this.
15357
15358 2010-09-10  Bruno Haible  <bruno@clisp.org>
15359
15360         langinfo: Fix last commit.
15361         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
15362         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
15363         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15364
15365 2010-09-10  Bruno Haible  <bruno@clisp.org>
15366
15367         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
15368         * lib/progreloc.c (O_EXEC): Define fallback.
15369
15370 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
15371
15372         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
15373         * NEWS: Document recent changes to fcntl-h.
15374         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
15375         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
15376         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
15377         Similarly for O_SEARCH; this last was already true, but not documented.
15378         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
15379         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
15380         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
15381         Likewise.
15382         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
15383         is zero, not whether it is defined.
15384         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
15385         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
15386         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
15387
15388 2010-09-10  Bruno Haible  <bruno@clisp.org>
15389
15390         langinfo, nl_langinfo: Fix for IRIX 5.3.
15391         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
15392         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
15393         HAVE_LANGINFO_YESEXPR.
15394         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
15395         HAVE_LANGINFO_YESEXPR.
15396         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
15397         HAVE_LANGINFO_T_FMT_AMPM is 0.
15398         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
15399         HAVE_LANGINFO_YESEXPR is 0.
15400         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
15401         NOEXPR.
15402         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
15403         * doc/posix-functions/nl_langinfo.texi: Likewise.
15404         Reported by Eric Blake.
15405
15406 2010-09-10  Bruno Haible  <bruno@clisp.org>
15407
15408         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
15409         * doc/glibc-functions/login_tty.texi: Mention the include file problem
15410         on FreeBSD 8.0 and OpenBSD 4.6.
15411         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
15412         * m4/pty_h.m4 (gl_PTY_H): Likewise.
15413         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
15414         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
15415         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
15416         ac_includes_default.
15417         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15418
15419 2010-09-09  Eric Blake  <eblake@redhat.com>
15420
15421         strsignal: work around NetBSD bug
15422         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
15423         * lib/string.in.h (includes): Likewise.
15424         * doc/posix-functions/strsignal.texi (strsignal): Document the
15425         bug.
15426         Reported by Nelson H. F. Beebe.
15427
15428         gnulib-tool: work with NetBSD /bin/sh
15429         * gnulib-tool (func_cache_var, func_cache_lookup_module)
15430         (func_get_description, func_get_comment, func_get_status)
15431         (func_get_notice, func_get_applicability, func_get_filelist)
15432         (func_get_dependencies, func_get_autoconf_early_snippet)
15433         (func_get_autoconf_snippet, func_get_automake_snippet)
15434         (func_get_include_directive, func_get_link_directive)
15435         (func_get_license, func_get_maintainer, func_import): Avoid
15436         shell syntax errors from parsing syntax extensions.
15437
15438 2010-09-09  Bruno Haible  <bruno@clisp.org>
15439
15440         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
15441         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
15442         a reliable way to determine whether the 'alias' command works.
15443
15444 2010-09-08  Jim Meyering  <meyering@redhat.com>
15445
15446         init.sh: penalize a set-x-impaired shell; don't disqualify it
15447         * tests/init.sh: Too many shells corrupt application stderr when
15448         you set -x, so we can't afford to disqualify them, since at least
15449         on Irix-6.5, that would disqualify all bourne shells.
15450         Instead, use a two-pass approach.
15451         On the first pass, try to find a shell that meets the stricter
15452         condition that set -x does not corrupt stderr.
15453         If no shell meets the stricter condition, retest each candidate
15454         shell, but without that extra condition.  Finally, when
15455         VERBOSE=yes is requested and set -x might cause trouble, simply
15456         issue a warning and refrain from enabling debug output.
15457
15458 2010-09-08  Eric Blake  <eblake@redhat.com>
15459
15460         unsetenv: fix OpenBSD bug
15461         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
15462         * doc/posix-functions/unsetenv.texi (unsetenv): Update
15463         documentation.
15464         Reported by Jim Meyering.
15465
15466         strtod: work around IRIX 6.5 bug
15467         * lib/strtod.c (strtod): Reparse number on shorter string if
15468         exponent parse was invalid.
15469         * tests/test-strtod.c (main): Add check for "0x1p 2".
15470         Reported by Tom G. Christensen.
15471
15472         getopt: optimize previous patch
15473         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
15474         empty variable.  Speed up awk script.
15475         Reported by Paolo Bonzini.
15476
15477 2010-09-08  Jim Meyering  <meyering@redhat.com>
15478
15479         test.sh: disqualify shells for which set -x corrupts stderr
15480         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
15481         and OpenBSD 4.7.  They make it so with "set -x", environment settings
15482         appear in stderr output.  For example, this command:
15483             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
15484         prints "P=1" on those two systems:
15485
15486 2010-09-08  Bruno Haible  <bruno@clisp.org>
15487
15488         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
15489         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
15490         commands, because some shells ignore redirections when there is an
15491         error in the command lookup.
15492         Reported by Eric Blake.
15493
15494 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
15495
15496         * lib/regex.h: Fix a mention of `regex_compile' (should be
15497         `re_compile_pattern').
15498         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
15499         (re_set_registers): Correct name of parameter in comment.
15500
15501         * doc/regex.texi: Add documentation for missing syntax flags.
15502         Remove commented-out documentation of defunct syntax option
15503         RE_NO_EMPTY_ALTS.
15504         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
15505         Add documentation of re_set_registers.
15506         Document trick to re-use a pattern buffer by setting fastmap manually.
15507         Update documentation of struct re_pattern_buffer per public members.
15508         Uncomment documentation of equivalence class operators and
15509         collating symbol operators, since they are now implemented,
15510         Explain leftmost-longest matching in relation to alternatives.
15511         Tidy documentation of substring matching.
15512         Remove POSIX documentation, which is done better in
15513         glibc, and refer the reader there. Keep BSD API documentation, as
15514         that is not readily available elsewhere.
15515
15516 2010-09-07  Eric Blake  <eblake@redhat.com>
15517
15518         getopt: handle POSIXLY_CORRECT set but not exported
15519         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
15520         export state of POSIXLY_CORRECT, due to bash set -o posix.
15521         Reported by Dustin J. Mitchell.
15522
15523 2010-09-05  Bruno Haible  <bruno@clisp.org>
15524
15525         gnulib-tool: Highlight the changed options.
15526         * gnulib-tool (func_usage): Display the --import, --add-import,
15527         --remove-import explanations in bold font.
15528
15529 2010-09-06  Karl Berry  <karl@gnu.org>
15530
15531         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
15532
15533 2010-09-05  Bruno Haible  <bruno@clisp.org>
15534
15535         uniwidth/width: Update comment.
15536         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
15537         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
15538
15539 2010-09-05  Bruno Haible  <bruno@clisp.org>
15540
15541         isinf, isnan: Relax license.
15542         * modules/isinf (License): Change from GPL to LGPL, with consent from
15543         Ben Pfaff.
15544         * modules/isnan (License): Likewise.
15545         Requested by Ludovic Courtès.
15546
15547 2010-09-04  Bruno Haible  <bruno@clisp.org>
15548
15549         gnulib-tool: Help migration from --import to --add-import or --update.
15550         * gnulib-tool: Emit a verbose error message when --import is used
15551         without any module name.
15552
15553 2010-09-04  Bruno Haible  <bruno@clisp.org>
15554
15555         Update doc about gnulib-tool.
15556         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
15557         'gnulib-tool --update' in more detail.
15558         Reported by Eric Blake.
15559
15560 2010-09-04  Bruno Haible  <bruno@clisp.org>
15561
15562         gnulib-tool: Change --import. New options --add/remove-import.
15563         * gnulib-tool: New options --add-import, --remove-import.
15564         (func_usage): Document them.
15565         (have_associative): Define always.
15566         (func_import): In import mode, don't merge the specified settings with
15567         the cached settings. Implement remove-import mode.
15568         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
15569         Explain when to use them versus --import.
15570         (Simple update): Use --add-import instead of --import.
15571         * NEWS: Mention the change.
15572
15573 2010-09-04  Bruno Haible  <bruno@clisp.org>
15574
15575         * doc/gnulib-tool.texi (Initial import): Update paragraph about
15576         separate gnulib.mk.
15577
15578 2010-09-04  Bruno Haible  <bruno@clisp.org>
15579
15580         gnulib-tool: Don't talk about CVS any more.
15581         * gnulib-tool (func_usage, func_import): Write "version control"
15582         instead of CVS.
15583
15584 2010-09-04  Jim Meyering  <meyering@redhat.com>
15585
15586         maint.mk: avoid obscure sc_copyright_check failure in coreutils
15587         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
15588         false positives (whose names may be ill-chosen) when searching
15589         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
15590         would cause a false-positive.
15591
15592         avoid coreutils "make distcheck" failure
15593         Coreutils tests with an absolute build directory name that contains
15594         a space.  Not quoting this directory name caused a failure.
15595         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
15596         * tests/test-vc-list-files-cvs.sh: Likewise.
15597
15598 2010-09-04  Bruno Haible  <bruno@clisp.org>
15599
15600         gnulib-tool: Avoid error when run in a package without Makefile.am.
15601         * gnulib-tool: When collecting the m4dirs in a package that does not
15602         have a Makefile.am, eliminate those directories that contain no
15603         gnulib-cache.m4. Fix expression that counts these directories.
15604
15605 2010-09-04  Bruno Haible  <bruno@clisp.org>
15606
15607         update-copyright test: Improve output when perl is missing or too old.
15608         * tests/test-update-copyright.sh: Move test of Perl version down after
15609         the test whether Perl exists. Provide an explanation relating Perl's
15610         error message to Automake's SKIP: message.
15611
15612 2010-09-04  Bruno Haible  <bruno@clisp.org>
15613
15614         Don't augment PATH in TESTS_ENVIRONMENT.
15615         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
15616         set abs_aux_dir instead of augmenting PATH.
15617         * modules/vc-list-files-tests (Makefile.am): Likewise.
15618         * tests/test-update-copyright.sh: Augment PATH here.
15619         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
15620         path_prepend_.
15621         * tests/test-vc-list-files-git.sh: Likewise.
15622
15623 2010-09-04  Jim Meyering  <meyering@redhat.com>
15624
15625         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
15626         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
15627
15628 2010-09-04  Bruno Haible  <bruno@clisp.org>
15629
15630         strdup: Fix compilation error in C++ mode.
15631         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
15632         the macro.
15633
15634 2010-09-04  Bruno Haible  <bruno@clisp.org>
15635
15636         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
15637         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
15638         macro into a function.
15639         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15640
15641 2010-09-04  Bruno Haible  <bruno@clisp.org>
15642
15643         Set PATH_SEPARATOR the same way autoconf does.
15644         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
15645         the value of PATH_SEPARATOR the same way autoconf-generated configure
15646         scripts do.
15647         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
15648         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
15649
15650 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
15651
15652         Set PATH_SEPARATOR the same way autoconf does.
15653         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
15654         the same way autoconf-generated configure scripts do.
15655         * posix-modules: Likewise.
15656
15657 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15658
15659         hash: fix safe_hasher const typo
15660         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
15661         const; otherwise, there is a type error later.
15662
15663 2010-09-02  Jim Meyering  <meyering@redhat.com>
15664
15665         test-update-copyright.sh: require perl 5.8.0
15666         * tests/test-update-copyright.sh: Require 5.8.0,
15667         which Tom G. Christensen has confirmed is adequate,
15668         while 5.6.1 is not.
15669
15670 2010-09-02  Eric Blake  <eblake@redhat.com>
15671
15672         tests: init.sh improvements for re-exec'ing with zsh
15673         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
15674         -vx through shell re-exec.
15675         Reported by Tom G. Christensen.
15676
15677         wctype: fix typo in previous commit
15678         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
15679         Reported by Ludovic Courtès.
15680
15681 2010-09-02  Jim Meyering  <meyering@redhat.com>
15682
15683         test-update-copyright.sh: skip test if Perl is too old
15684         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
15685         Reported by Tom G. Christensen.
15686
15687 2010-09-02  Bruno Haible  <bruno@clisp.org>
15688
15689         wctype: Avoid compilation error on IRIX 6.5.30.
15690         * lib/wctype.in.h (iswblank): Declare with a replacement if
15691         REPLACE_ISWBLANK is set.
15692         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
15693         declared. Set REPLACE_ISWBLANK.
15694         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
15695         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
15696         * doc/posix-headers/wctype.texi: Likewise.
15697         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15698
15699 2010-09-01  Bruno Haible  <bruno@clisp.org>
15700
15701         New module 'socketlib'.
15702         * modules/socketlib: New file.
15703         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
15704         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
15705         * modules/sockets (Depends-on): Add socketlib.
15706         Suggested by Sam Steingold <sds@gnu.org>.
15707
15708 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15709
15710         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
15711
15712         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
15713         when one needs search access to a directory but not read access.
15714         On systems where it is available, it works in some cases where
15715         O_RDONLY does not, namely on directories that are searchable but
15716         not readable, and which need only to be searchable.  If O_SEARCH
15717         is not available, fall back to the traditional method of using
15718         O_RDONLY.
15719
15720         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
15721         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
15722         when opening a directory that needs only to be searchable.
15723         * lib/chdir-safer.c (chdir_no_follow): Likewise.
15724         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
15725         * lib/openat-proc.c (openat_proc_name): Likewise.
15726         * lib/openat.c (openat_needs_fchdir): Likewise.
15727         * lib/save-cwd.c (save_cwd): Likewise.
15728         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
15729
15730 2010-08-28  Bruno Haible  <bruno@clisp.org>
15731
15732         New module 'host-cpu-c-abi'.
15733         * modules/host-cpu-c-abi: New file.
15734         * m4/host-cpu-c-abi.m4: New file, based on part of
15735         clisp/src/m4/general.m4.
15736         Requested by Sam Steingold <sds@gnu.org>.
15737
15738 2010-08-31  Eric Blake  <eblake@redhat.com>
15739         and Jim Meyering  <meyering@redhat.com>
15740
15741         hash: factor, and guard against misbehaving hasher function
15742         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
15743         of table->hasher's return value.  Also protect against a hash value
15744         so large that adding it to table->bucket results in a NULL pointer.
15745         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
15746         Use it in place of open-coded check-and-abort.
15747
15748 2010-08-30  Bruno Haible  <bruno@clisp.org>
15749
15750         hash: silence spurious clang warning
15751         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
15752         Reported by Eric Blake.
15753
15754 2010-08-30  Eric Blake  <eblake@redhat.com>
15755
15756         strstr, memmem, strcasestr: avoid leaked shell message
15757         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
15758         FreeBSD.
15759         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
15760         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
15761
15762         tests: silence clang warning
15763         * tests/test-malloca.c (do_allocation): Avoid dead store.
15764
15765 2010-08-29  Bruno Haible  <bruno@clisp.org>
15766
15767         gettext: Fix recent mistake.
15768         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
15769
15770 2010-08-29  Bruno Haible  <bruno@clisp.org>
15771
15772         selinux-h: Offer a --without-selinux option.
15773         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
15774         --without-selinux was specified, skip all tests and define
15775         HAVE_SELINUX_SELINUX_H to 0.
15776         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
15777         set LIB_SELINUX to empty.
15778         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
15779         gl_LIBSELINUX. If --without-selinux was specified, replace
15780         selinux/context.h.
15781         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
15782
15783 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15784             Bruno Haible  <bruno@clisp.org>
15785
15786         Make the module 'realloc-gnu' work again on AIX and OSF/1.
15787         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
15788         of HAVE_REALLOC.
15789         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
15790         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
15791         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
15792         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
15793
15794 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15795             Bruno Haible  <bruno@clisp.org>
15796
15797         Make the module 'calloc-gnu' work again on AIX and OSF/1.
15798         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
15799         HAVE_CALLOC.
15800         * lib/xmalloc.c: Update accordingly.
15801         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
15802         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
15803         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
15804
15805 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15806             Bruno Haible  <bruno@clisp.org>
15807
15808         Make the module 'malloc-gnu' work again on AIX and OSF/1.
15809         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
15810         HAVE_MALLOC.
15811         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
15812         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
15813         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
15814
15815 2010-08-29  Bruno Haible  <bruno@clisp.org>
15816
15817         Update modules list.
15818         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
15819         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
15820         (String handling <string.h>): Add astrxfrm.
15821         (File system functions): Add readlinkat.
15822
15823 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15824
15825         Tests for module 'realloc-gnu'.
15826         * modules/realloc-gnu-tests: New file.
15827         * tests/test-realloc-gnu.c: New file.
15828
15829         Tests for module 'calloc-gnu'.
15830         * modules/calloc-gnu-tests: New file.
15831         * tests/test-calloc-gnu.c: New file.
15832
15833         Tests for module 'malloc-gnu'.
15834         * modules/malloc-gnu-tests: New file.
15835         * tests/test-malloc-gnu.c: New file.
15836
15837 2010-08-28  Bruno Haible  <bruno@clisp.org>
15838
15839         Rename module 'realloc' -> 'realloc-gnu'.
15840         * modules/realloc-gnu: New file, copied from modules/realloc.
15841         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
15842         obsolete.
15843         * modules/mgetgroups (Depends-on): Update.
15844         * doc/posix-functions/realloc.texi: Update.
15845         * NEWS: Mention the change.
15846
15847         Rename module 'calloc' -> 'calloc-gnu'.
15848         * modules/calloc-gnu: New file, copied from modules/calloc.
15849         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
15850         obsolete.
15851         * doc/posix-functions/calloc.texi: Update.
15852         * NEWS: Mention the change.
15853
15854         Rename module 'malloc' -> 'malloc-gnu'.
15855         * modules/malloc-gnu: New file, copied from modules/malloc.
15856         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
15857         obsolete.
15858         * modules/argp (Depends-on): Update.
15859         * modules/regex (Depends-on): Update.
15860         * doc/posix-functions/malloc.texi: Update.
15861         * NEWS: Mention the change.
15862
15863 2010-08-28  Eric Blake  <eblake@redhat.com>
15864
15865         pread, pwrite: add missing dependency
15866         * modules/pread (Depends-on): Add extensions.
15867         * modules/pwrite (Depends-on): Likewise.
15868
15869 2010-08-28  Bruno Haible  <bruno@clisp.org>
15870
15871         unistr/u*-strchr: Fix tests dependencies.
15872         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
15873         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
15874         Reported by Ian Beckwith <ianb@erislabs.net>.
15875
15876 2010-08-28  Bruno Haible  <bruno@clisp.org>
15877
15878         read-file: Don't occupy too much unused memory.
15879         * lib/read-file.c (fread_file): Shrink the buffer at the end.
15880
15881 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
15882             Eric Blake  <eblake@redhat.com>
15883             Bruno Haible  <bruno@clisp.org>
15884
15885         read-file: Avoid memory reallocations with regular files.
15886         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
15887         (fread_file): With regular files, use the remaining length as the
15888         initial buffer size.  Check against overflow.
15889         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
15890         sys_stat.
15891
15892 2010-08-28  Bruno Haible  <bruno@clisp.org>
15893
15894         ftello: Relax license.
15895         * modules/ftello (License): Relax to LGPLv2+.
15896         Reported by Eric Blake.
15897
15898 2010-08-28  Bruno Haible  <bruno@clisp.org>
15899
15900         Avoid relocwrapper link errors due to gnulib replacement functions.
15901         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
15902         function.
15903         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15904
15905 2010-08-28  Bruno Haible  <bruno@clisp.org>
15906
15907         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
15908         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
15909         defined.
15910         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
15911         Suggested by Eric Blake.
15912
15913 2010-08-28  Bruno Haible  <bruno@clisp.org>
15914
15915         sys_socket, netdb: Ensure socklen_t gets defined.
15916         * modules/sys_socket (Depends-on): Add socklen.
15917         * modules/netdb (Depends-on): Likewise.
15918         * modules/getaddrinfo (Depends-on): Remove socklen.
15919         * modules/getsockopt (Depends-on): Likewise.
15920         * modules/setsockopt (Depends-on): Likewise.
15921         * tests/test-sys_socket.c: Check that socklen_t is defined.
15922         * tests/test-netdb.c: Likewise.
15923         * m4/socklen.m4: Update comments.
15924         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15925
15926 2010-08-27  Eric Blake  <eblake@redhat.com>
15927
15928         login_tty: add missing dependency
15929         * modules/login_tty (Depends-on): Add pty.
15930
15931 2010-08-26  Eric Blake  <eblake@redhat.com>
15932
15933         lib-symbol-versions: fix m4 quoting
15934         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
15935         format for AC_LINK_IFELSE.
15936
15937         glob: fix compile test
15938         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
15939
15940         btowc: fix missing file
15941         * modules/btowc (Files): Also ship locale-fr.m4.
15942
15943         lseek: fix link test
15944         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
15945         AC_LINK_IFELSE.
15946
15947         include_next: silence autoconf 2.68 warning
15948         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
15949         AC_COMPILE_IFELSE as special.
15950         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
15951         autoconf < 2.68.
15952
15953         acl: fix compilation test
15954         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
15955         AC_COMPILE_IFELSE.
15956
15957 2010-08-26  Bruno Haible  <bruno@clisp.org>
15958
15959         Modernize AC_TRY_RUN invocations.
15960         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
15961         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
15962         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
15963         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
15964         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
15965         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
15966         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
15967         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
15968         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
15969         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
15970         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
15971         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
15972         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
15973         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
15974         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
15975         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
15976         gl_MBRLEN_NUL_RETVAL): Likewise.
15977         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
15978         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
15979         Likewise.
15980         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
15981         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
15982         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
15983         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
15984         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
15985         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
15986         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
15987         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
15988         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
15989         Likewise.
15990         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
15991         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
15992         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
15993         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
15994         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15995         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
15996         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
15997         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
15998         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
15999         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
16000
16001 2010-08-26  Bruno Haible  <bruno@clisp.org>
16002
16003         Modernize AC_TRY_LINK invocations.
16004         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
16005         AC_TRY_LINK.
16006         * m4/argp.m4 (gl_ARGP): Likewise.
16007         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
16008         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
16009         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
16010         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
16011         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
16012         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
16013         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
16014         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
16015         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
16016         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
16017         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
16018         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
16019         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
16020         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
16021         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
16022         * m4/hostent.m4 (gl_HOSTENT): Likewise.
16023         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
16024         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
16025         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
16026         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
16027         Likewise.
16028         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
16029         Likewise.
16030         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
16031         Likewise.
16032         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
16033         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
16034         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
16035         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
16036         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
16037         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
16038         * m4/servent.m4 (gl_SERVENT): Likewise.
16039         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
16040         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
16041         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
16042         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
16043         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
16044         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16045         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16046         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16047         * modules/tsearch-tests (configure.ac): Likewise.
16048
16049 2010-08-26  Bruno Haible  <bruno@clisp.org>
16050
16051         Modernize AC_TRY_COMPILE invocations.
16052         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
16053         AC_TRY_COMPILE.
16054         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
16055         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
16056         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
16057         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
16058         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
16059         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
16060         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
16061         * m4/lock.m4 (gl_LOCK): Likewise.
16062         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
16063         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
16064         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
16065         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
16066         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
16067         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
16068         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
16069         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
16070         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
16071         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
16072         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
16073         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
16074         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
16075         extraneous semicolon.
16076
16077 2010-08-26  Jim Meyering  <meyering@redhat.com>
16078
16079         stat-time: relax license LGPL
16080         * modules/stat-time (License): Change from GPL to LGPL,
16081         with consent from all contributors, for use in libguile.
16082         Requested by Ludovic Courtès.
16083
16084 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
16085
16086         poll: return immediately on POLLHUP.
16087         * lib/poll.c (poll): Always set timeout before wait_timeout is
16088         computed.
16089
16090 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16091
16092         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
16093         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
16094         rmdir ("dir/.//"), unlinkat.
16095
16096 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16097
16098         stdbool: avoid spurious failure with modern xlc
16099         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
16100
16101 2010-08-24  Bruno Haible  <bruno@clisp.org>
16102
16103         getloadavg: simplify code
16104         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
16105         gl_have_func. Update comments.
16106
16107 2010-08-24  Eric Blake  <eblake@redhat.com>
16108
16109         getloadavg: don't define SVR4 on cygwin
16110         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
16111         only define SVR4 when -lkvm is required.
16112         Reported by Yaakov Selkowitz.
16113
16114 2010-08-24  Bruno Haible  <bruno@clisp.org>
16115
16116         priv-set: fix comment
16117         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
16118
16119 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
16120
16121         priv-set: fix comments
16122         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
16123         to match code, as suggested by David Bartley in:
16124         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
16125
16126 2010-08-23  Eric Blake  <eblake@redhat.com>
16127
16128         stdbool: avoid rejecting clang
16129         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
16130         * tests/test-stdbool.c: Enable more tests if using the system
16131         <stdbool.h> instead of the gnulib replacement.
16132         (main): Move xlc bug test to a runtime test for all compilers.
16133         Reported by Anders Kaseorg.
16134
16135         argz: fix shell quoting issue
16136         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
16137         Reported by Charles Wilson.
16138
16139 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
16140             Erik Faye-Lund <kusmabite@gmail.com>
16141
16142         poll, select: handle ERROR_BROKEN_PIPE.
16143         * lib/poll.c (win32_compute_revents): Return POLLHUP when
16144         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
16145         * lib/select.c (win32_compute_revents): Do not mark a pipe
16146         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
16147
16148 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
16149
16150         fts: allow compilation with C++
16151         * lib/fts_.h: Specify extern "C" linkage with C++.
16152
16153 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16154
16155         Fix gnulib-tool sed script de-commentation for AIX sed.
16156         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
16157         sed.
16158
16159 2010-08-17  Eric Blake  <eblake@redhat.com>
16160
16161         test-stddef: test for (some) offsetof bugs
16162         * tests/test-stddef.c: Enhance test to ensure correct type of
16163         offsetof.
16164         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
16165         that we are not fixing at this time.
16166
16167 2010-08-15  Bruno Haible  <bruno@clisp.org>
16168
16169         stpncpy: Allow stpncpy to be defined as a macro.
16170         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
16171         if it's already correctly declared.
16172         * lib/string.in.h (stpncpy): Undefine before redefining.
16173         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
16174
16175 2010-08-14  Bruno Haible  <bruno@clisp.org>
16176
16177         Rename module 'memxfrm' to 'amemxfrm'.
16178         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
16179         (amemxfrm): Renamed from memxfrm.
16180         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
16181         (amemxfrm): Renamed from memxfrm.
16182         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
16183         * NEWS: Mention the change.
16184         * MODULES.html.sh (String handling <string.h>): Update.
16185         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
16186         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
16187         * lib/unicase/u16-casexfrm.c: Likewise.
16188         * lib/unicase/u32-casexfrm.c: Likewise.
16189         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
16190         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
16191         * lib/uninorm/u16-normxfrm.c: Likewise.
16192         * lib/uninorm/u32-normxfrm.c: Likewise.
16193         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
16194         memxfrm.
16195         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
16196         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
16197         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
16198         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
16199         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
16200         Suggested by Paul Eggert.
16201
16202 2010-08-14  Bruno Haible  <bruno@clisp.org>
16203
16204         Tests for module 'astrxfrm'.
16205         * modules/astrxfrm-tests: New file.
16206         * tests/test-astrxfrm.c: New file.
16207
16208         New module 'astrxfrm'.
16209         * lib/astrxfrm.h: New file.
16210         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
16211         * modules/astrxfrm: New file.
16212
16213 2010-08-14  Reuben Thomas <rrt@sc3d.org>
16214
16215         regex: Tweak doc.
16216         * doc/regex.texi (Overview): Don't mention regex.c.
16217         (GNU Regular Expression Compiling): Likewise.
16218         (Match-end-of-line Operator): Mention 'not_eol'.
16219
16220 2010-08-14  Brian Gough  <bjg@gnu.org>
16221             Bruno Haible  <bruno@clisp.org>
16222
16223         git-merge-changelog: add doc relating to use with bzr and hg.
16224         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
16225
16226 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
16227
16228         pthread: fix pthread.h creation for srcdir != builddir
16229         * modules/pthread (Makefile.am): Fix the rule to work also in a
16230         non-srcdir build.
16231
16232 2010-08-13  Karl Berry  <karl@gnu.org>
16233
16234         * doc/regex.texi (Predefined Syntaxes): @smallexample.
16235         * doc/posix-*/*: force line break before @url of POSIX
16236         specifications.
16237         Suggested by Werner Lemberg.
16238
16239 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
16240
16241         strtod: fix const diagnostic
16242         * lib/strtod.c (strtod): Don't assign const char * to char *,
16243         as this elicits a warning from GCC when warnings are enabled.
16244
16245 2010-08-10  PĂ¡draig Brady <P@draigbrady.com>
16246         and Eric Blake  <eblake@redhat.com>
16247
16248         copy-acl: ignore ENOTSUP on HP-UX
16249         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
16250         so that it is available for HP-UX.
16251         * lib/copy-acl.c (qcopy_acl): Use it.
16252         Reported by Patrick M. Callahan.
16253
16254 2010-08-10  Eric Blake  <eblake@redhat.com>
16255
16256         open, chown: relax license
16257         * modules/open (License): Change to LGPLv2+, with consent by all
16258         authors, for use in augeas.
16259         * modules/chown (License): Likewise.
16260         * modules/lchown (Likewise): Likewise.
16261         Requested by Adam Stokes.
16262
16263 2010-08-09  Karl Berry  <karl@gnu.org>
16264
16265         * build-aux/ar-lib: new file, import from Automake.
16266         * config/srclist.txt: autocheck for updates.
16267
16268 2010-08-09  Eric Blake  <eblake@redhat.com>
16269
16270         readlinkat: adjust client modules
16271         * modules/areadlinkat (Depends-on): Use readlinkat, not
16272         symlinkat.
16273         * modules/areadlinkat-with-size (Depends-on): Likewise.
16274
16275         mknod: be more vocal about danger of running tests as root
16276         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
16277         root, since that is just asking for problems.
16278         Suggested by Bruno Haible, based on a report by Rainer Tammer.
16279
16280         readlinkat: split into its own module
16281         * modules/symlinkat: Split readlinkat...
16282         * modules/readlinkat: ...into separate module.
16283         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
16284         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
16285         * lib/symlinkat.c (readlinkat): Move...
16286         * lib/readlinkat.c: ...into new file.
16287         * modules/symlinkat-tests: Split readlinkat test...
16288         * modules/readlinkat-tests: ...into separate module.
16289         * tests/test-symlinkat.c: Split...
16290         * tests/test-readlinkat.c: ...into new file.
16291         * NEWS: Document the split.
16292         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
16293         * lib/unistd.in.h (readlinkat): Likewise.
16294         Suggested by Bruno Haible.
16295
16296 2010-08-08  Bruno Haible  <bruno@clisp.org>
16297
16298         memxfrm: Speed up.
16299         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
16300         that usually only one call to strxfrm is necessary for each string
16301         part.
16302         Reported by Paul Eggert <eggert@cs.ucla.edu>.
16303
16304 2010-08-07  Karl Berry  <karl@gnu.org>
16305
16306         * doc/posix-headers/limits.texi,
16307         * doc/posix-functions/malloc.texi,
16308         * doc/posix-functions/strsignal.texi: missing @item.
16309         * doc/ld-version-script.texi: spurious leading i.
16310         * doc/regex.texi (Interval Operators): no commas inside @var.
16311
16312 2010-08-01  Bruno Haible  <bruno@clisp.org>
16313
16314         Integrate the regex documentation.
16315         * doc/gnulib.texi: Define 'cn' index.
16316         (Regular expressions): New a chapter that includes regex.texi and
16317         regexprops-generic.texi.
16318         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
16319         syntax.
16320
16321         Whitespace cleanup.
16322         * doc/regex.texi: Remove trailing spaces.
16323
16324         Add regex documentation.
16325         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
16326         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
16327         Written by Kathy A. Hargreaves and Karl Berry.
16328
16329 2010-08-01  Bruno Haible  <bruno@clisp.org>
16330
16331         link: Update documentation.
16332         * doc/posix-functions/link.texi: Update regarding Solaris.
16333
16334 2010-07-31  Bruno Haible  <bruno@clisp.org>
16335
16336         Update modules list.
16337         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
16338         (String handling <string.h>): Add memcmp2, memxfrm.
16339         (Container data structures): Add xlist, xsublist, xoset.
16340         (Core language properties): Add alignof, unused-parameter.
16341         (Process control, Numeric conversion functions <stdlib.h>): Renamed
16342         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
16343         (Unibyte characters <ctype.h>): New section.
16344         (String handling <string.h>): New section.
16345         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
16346         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
16347         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
16348         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
16349         tan, tanh, tanl, y0, y1, yn.
16350         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
16351         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
16352         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
16353         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
16354         unlockpt, vdprintf, vdprintf-posix.
16355         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
16356         (File system functions): Add concat-filename, sys_file, sys_ioctl,
16357         xconcat-filename.
16358         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
16359         getdtablesize, pipe2, pipe2-safer.
16360         (Security): New section.
16361         (Networking functions): Add accept4.
16362         (Signal handling): Add sigpipe.
16363         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
16364         mbmemcasecoll.
16365         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
16366         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
16367         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
16368         pipe-filter-ii.
16369         (Misc): Add argp-version-etc, login_tty, parse-duration.
16370
16371 2010-07-31  Bruno Haible  <bruno@clisp.org>
16372
16373         Improve doc in MODULES.html.
16374         * modules/linkat (Description): Add the word "function".
16375         * modules/mkfifo (Description): Likewise.
16376         * modules/mknod (Description): Likewise.
16377         * modules/remove (Description): Likewise.
16378         * modules/renameat (Description): Likewise.
16379         * modules/stat (Description): Likewise.
16380         * modules/symlink (Description): Likewise.
16381         * modules/unlink (Description): Likewise.
16382
16383 2010-07-31  Bruno Haible  <bruno@clisp.org>
16384
16385         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
16386         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
16387         option --enable/disable-c++ instead of --enable/disable-cxx.
16388         * NEWS: Mention the change.
16389
16390 2010-07-31  Bruno Haible  <bruno@clisp.org>
16391
16392         readlink, areadlink: Relax test a bit.
16393         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
16394         alternative to ENOTDIR.
16395         * tests/test-areadlink.h (test_areadlink): Likewise.
16396         Reported by Rainer Tammer.
16397
16398 2010-07-31  Bruno Haible  <bruno@clisp.org>
16399
16400         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
16401         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
16402         character, perform the search using U_STRCHR.
16403         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
16404         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
16405         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
16406         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
16407         Suggested by Paolo Bonzini.
16408
16409 2010-07-31  Bruno Haible  <bruno@clisp.org>
16410
16411         unistr/u*-strstr: Fix dependencies.
16412         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
16413         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
16414         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
16415
16416 2010-07-31  Bruno Haible  <bruno@clisp.org>
16417
16418         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
16419         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
16420         the beginning of the loop.
16421         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
16422         cases in 'switch' statement.
16423
16424         unistr/u8-strchr: Fix several bugs.
16425         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
16426         the string. When not found, return NULL, not a pointer near the end.
16427
16428         More tests for unistr/u8-strchr.
16429         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
16430         that the function does not read past the first occurrence of the byte
16431         being searched.
16432         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
16433         * tests/unistr/test-u16-strchr.c (main): New function.
16434         * tests/unistr/test-u32-strchr.c (main): New function.
16435
16436 2010-07-31  Bruno Haible  <bruno@clisp.org>
16437
16438         posix-modules: Ignore backup files of documentation files.
16439         * posix-modules: grep only through files named *.texi.
16440
16441 2010-07-31  Bruno Haible  <bruno@clisp.org>
16442
16443         symlinkat: Fix documentation.
16444         * doc/posix-functions/readlinkat.texi: Fix module name.
16445
16446 2010-07-31  Bruno Haible  <bruno@clisp.org>
16447
16448         fchownat: Replace also when chown has the trailing slash bug.
16449         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
16450         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
16451         introduced on 2010-04-10.
16452         Reported by Rainer Tammer.
16453
16454 2010-07-31  Bruno Haible  <bruno@clisp.org>
16455
16456         linkat: Work around AIX 7.1 bug.
16457         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
16458         whether linkat handles trailing slash correctly. If not, replace linkat
16459         and define LINKAT_TRAILING_SLASH_BUG.
16460         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
16461         check whether (fd1,file1) points to a directory if file1 or file2 ends
16462         in a slash. Code taken from lib/link.c.
16463         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
16464         Reported by Rainer Tammer.
16465
16466 2010-07-31  Bruno Haible  <bruno@clisp.org>
16467
16468         Correctly determine whether pow is available in libc on AIX 7 with xlc.
16469         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
16470         This disables an xlc optimization that was causing wrong test results.
16471         Reported by Rainer Tammer.
16472
16473 2010-07-31  Bruno Haible  <bruno@clisp.org>
16474
16475         iconv: Work around AIX 6.1..7.1 bug.
16476         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
16477         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
16478         cross-compiling, guess no on all versions of AIX.
16479         Reported by Rainer Tammer.
16480
16481 2010-07-31  Bruno Haible  <bruno@clisp.org>
16482
16483         readlink: Relax test a bit.
16484         * tests/test-readlink.h (test_readlink): Allow different errno value
16485         when readlink is called with a file name that ends in / and refers to
16486         a file.
16487         Suggested by Eric Blake.
16488         Reported by Rainer Tammer.
16489
16490 2010-07-31  Bruno Haible  <bruno@clisp.org>
16491
16492         copysign: Does not require -lm on glibc systems.
16493         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
16494         gl_COMMON_DOUBLE_MATHFUNC.
16495         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
16496
16497 2010-07-31  Bruno Haible  <bruno@clisp.org>
16498
16499         duplocale: Work around AIX 7.1 bug.
16500         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
16501         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
16502         * lib/duplocale.c (rpl_duplocale): Update comment.
16503         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
16504         Reported by Rainer Tammer.
16505
16506 2010-07-30  Bruno Haible  <bruno@clisp.org>
16507
16508         dirfd: Avoid link error on AIX 7.1.
16509         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
16510         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
16511         exist, set REPLACE_DIRFD.
16512         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
16513         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
16514         * doc/posix-functions/dirfd.texi: Update.
16515         Reported by Rainer Tammer.
16516
16517 2010-07-30  Eric Blake  <eblake@redhat.com>
16518
16519         strtod: next round of AIX fixes
16520         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
16521         exponent.
16522         * tests/test-strtod.c (main): Enhance tests.
16523         * doc/posix-functions/strtod.texi (strtod): Document next bug.
16524         Reported by Rainer Tammer.
16525
16526         futimens: fix configure check
16527         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
16528         Reported by Bruno Haible.
16529
16530 2010-07-30  Bruno Haible  <bruno@clisp.org>
16531
16532         getline: Update regarding AIX.
16533         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
16534         Reported by Rainer Tammer.
16535
16536 2010-07-30  Bruno Haible  <bruno@clisp.org>
16537
16538         wcwidth: Drop replacement on AIX 7.
16539         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
16540         AIX 7.
16541         Reported by Rainer Tammer.
16542
16543 2010-07-30  Bruno Haible  <bruno@clisp.org>
16544
16545         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
16546         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
16547         a 'char *'.
16548         Reported by Rainer Tammer.
16549
16550 2010-07-30  Bruno Haible  <bruno@clisp.org>
16551
16552         unlink: Update regarding AIX.
16553         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
16554         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
16555         Reported by Rainer Tammer.
16556
16557 2010-07-30  Bruno Haible  <bruno@clisp.org>
16558
16559         symlink: Update regarding AIX.
16560         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
16561         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
16562         Reported by Rainer Tammer.
16563
16564 2010-07-30  Bruno Haible  <bruno@clisp.org>
16565
16566         strndup: Update regarding AIX.
16567         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
16568         AIX 7.
16569         Reported by Rainer Tammer.
16570
16571 2010-07-30  Bruno Haible  <bruno@clisp.org>
16572
16573         stat: Update regarding AIX.
16574         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
16575         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
16576         Reported by Rainer Tammer.
16577
16578 2010-07-30  Bruno Haible  <bruno@clisp.org>
16579
16580         truncl: Fix autoconf test.
16581         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
16582         whether truncl works.
16583         Reported by Rainer Tammer.
16584
16585 2010-07-30  Bruno Haible  <bruno@clisp.org>
16586
16587         round: Update regarding AIX.
16588         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
16589         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
16590         Reported by Rainer Tammer.
16591
16592 2010-07-30  Bruno Haible  <bruno@clisp.org>
16593
16594         rename: Update regarding AIX.
16595         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
16596         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
16597         Reported by Rainer Tammer.
16598
16599 2010-07-30  Bruno Haible  <bruno@clisp.org>
16600
16601         printf.m4: Update regarding AIX.
16602         * m4/printf.m4: Update comments regarding AIX.
16603         Reported by Rainer Tammer.
16604
16605 2010-07-30  Bruno Haible  <bruno@clisp.org>
16606
16607         iconv: Update regarding AIX.
16608         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
16609         AIX 7.
16610         Reported by Rainer Tammer.
16611
16612 2010-07-30  Bruno Haible  <bruno@clisp.org>
16613
16614         getopt: Update regarding AIX.
16615         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
16616         no on AIX.
16617         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
16618         Reported by Rainer Tammer.
16619
16620 2010-07-30  Bruno Haible  <bruno@clisp.org>
16621
16622         ldexpl; Update regarding AIX.
16623         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
16624         on AIX 7.
16625         Reported by Rainer Tammer.
16626
16627 2010-07-30  Bruno Haible  <bruno@clisp.org>
16628
16629         frexpl: Update regarding AIX.
16630         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
16631         on AIX 7.
16632         Reported by Rainer Tammer.
16633
16634 2010-07-30  Bruno Haible  <bruno@clisp.org>
16635
16636         open, fopen: Update regarding AIX.
16637         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
16638         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
16639         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
16640         * doc/posix-functions/fopen.texi: Likewise.
16641         Reported by Rainer Tammer.
16642
16643 2010-07-30  Bruno Haible  <bruno@clisp.org>
16644
16645         chown: Update doc regarding AIX.
16646         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
16647         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
16648         Reported by Rainer Tammer.
16649
16650 2010-07-30  Eric Blake  <eblake@redhat.com>
16651
16652         strtod: fix bug in replacement function on AIX
16653         * lib/strtod.c (strtod): Special case broken "0x" parse in
16654         underlying strtod.
16655         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
16656         * doc/posix-functions/strtod.texi (strtod): Likewise.
16657         Reported by Rainer Tammer.
16658
16659 2010-07-30  Bruno Haible  <bruno@clisp.org>
16660
16661         mbrlen: Fix cross-compilation guess for AIX.
16662         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
16663         guess. Leftover from 2008-12-22.
16664
16665 2010-07-30  Bruno Haible  <bruno@clisp.org>
16666
16667         mbrtowc: Fix cross-compilation guess for AIX.
16668         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
16669         guess. Leftover from 2008-12-21.
16670
16671 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
16672
16673         init.sh: work around trap limitation of some shells
16674         * tests/init.sh (setup_): Move exit trap outside of shell function.
16675
16676 2010-07-29  Eric Blake  <eblake@redhat.com>
16677
16678         strtod: aid debugging
16679         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
16680         understanding why strtod is rejected.
16681
16682 2010-07-28  Bruno Haible  <bruno@clisp.org>
16683
16684         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
16685         * lib/unistr/u8-chr.c: Include <string.h>.
16686         * tests/unistr/test-u8-chr.c: Likewise.
16687         * tests/unistr/test-u16-chr.c: Likewise.
16688         * tests/unistr/test-u32-chr.c: Likewise.
16689         * tests/unistr/test-u8-strchr.c: Likewise.
16690         * tests/unistr/test-u16-strchr.c: Likewise.
16691         * tests/unistr/test-u32-strchr.c: Likewise.
16692         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
16693         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
16694         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
16695         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
16696
16697 2010-07-28  Bruno Haible  <bruno@clisp.org>
16698
16699         Use spaces for indentation, not tabs.
16700         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
16701
16702 2010-07-27  Bruno Haible  <bruno@clisp.org>
16703
16704         mbspcasecmp: Fix function specification.
16705         * lib/string.in.h (mbspcasecmp): Fix specification comment.
16706         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
16707         Reported by Eric Blake <eblake@redhat.com>.
16708
16709 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
16710
16711         timespec: use cast and not conditional, as truncation isn't possible
16712         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
16713         instead of a conditional.  Comment about the situation in more detail.
16714         This undoes most of the 2009-10-29 patch.
16715
16716 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
16717
16718         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
16719         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
16720         * lib/unistr/u8-strchr.c: Likewise.
16721         * modules/unistr/u8-chr: Depend on memchr.
16722
16723         unistr/u*-strchr: add tests
16724         * modules/unistr/u8-strchr-tests: New file.
16725         * modules/unistr/u16-strchr-tests: New file.
16726         * modules/unistr/u32-strchr-tests: New file.
16727         * tests/unistr/test-strchr.h: New file.
16728         * tests/unistr/test-u8-strchr.c: New file.
16729         * tests/unistr/test-u16-strchr.c: New file.
16730         * tests/unistr/test-u32-strchr.c: New file.
16731
16732         unistr/u*-chr: test multibyte sequences more
16733         * tests/unistr/test-chr.h: Do complete testing of the characters in the
16734         test vector.
16735         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
16736         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
16737         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
16738
16739         unistr/u*-chr: test multibyte sequences
16740         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
16741
16742         unistr/u*-chr: prepare for multibyte tests
16743         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
16744         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
16745         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
16746         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
16747         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
16748         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
16749
16750 2010-07-18  Bruno Haible  <bruno@clisp.org>
16751
16752         unistr/u8-strchr: Optimize non-ASCII argument case.
16753         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
16754         because the first byte often matches anyway.
16755         Reported by PĂ¡draig Brady <P@draigbrady.com>.
16756
16757 2010-07-15  Karl Berry  <karl@gnu.org>
16758
16759         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
16760
16761 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
16762
16763         getcwd: on Solaris, work better if ancestors are inaccessible
16764         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
16765         buffer and size, try again with a large buffer.  This works better
16766         on Solaris, since its getcwd succeeds even if the path to the root
16767         is inaccessible, and this is helpful in common cases such as .zfs
16768         hidden directories.  Problem reported by J Chapman Flack in
16769         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
16770         Use system getcwd if it's declared, not merely if it's partly
16771         working; use the partly-working test only to avoid needless effort
16772         if the system getcwd fails.
16773         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
16774         comment that was already obsolete and is now even more obsolete.
16775         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
16776         now might call strdup.
16777
16778 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
16779
16780         pthread: Add enough so that coreutils/src/sort.c compiles.
16781         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
16782         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
16783         gnulib. Include <sched.h> and <time.h>, as per POSIX.
16784         Include <sys/types.h>, in case it defines pthread_t.
16785         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
16786         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
16787         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
16788         (pthread_rwlockattr_t, pthread_spinlock_t):
16789         New typedefs, if HAVE_PTHREAD_T is not defined.
16790         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
16791         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
16792         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
16793         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
16794         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
16795         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
16796         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
16797         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
16798         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
16799         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
16800         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
16801         New macros.
16802         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
16803         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
16804         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
16805         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
16806         (pthread_spin_unlock): New dummy functions.
16807         (pthread_create): Return EAGAIN; don't set errno.
16808         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
16809         require AC_C_INLINE.
16810         * modules/pthread (Depends-on): Add sched, time.
16811         (pthread.h): Use AM_V_GEN.
16812
16813 2010-07-13  Bruno Haible  <bruno@clisp.org>
16814
16815         striconveh: Don't malloc memory if the result buffer is sufficient.
16816         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
16817         buffer if its size is sufficient.
16818         Reported by Ludovic Courtès <ludo@gnu.org>.
16819
16820 2010-07-13  Bruno Haible  <bruno@clisp.org>
16821
16822         strtod: Add safety check.
16823         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
16824
16825 2010-07-12  Bruno Haible  <bruno@clisp.org>
16826
16827         Unify tests that set gl_cv_func_ldexpl_no_libm.
16828         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
16829         gl_FUNC_LDEXPL.
16830         (gl_FUNC_LDEXPL): Invoke it.
16831         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
16832
16833 2010-07-12  Bruno Haible  <bruno@clisp.org>
16834
16835         Unify tests that set gl_cv_func_ldexp_no_libm.
16836         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
16837         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
16838         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
16839         (configure.ac): Simply invoke gl_FUNC_LDEXP.
16840         * modules/strtod (Files): Add m4/ldexp.m4.
16841
16842 2010-07-12  Bruno Haible  <bruno@clisp.org>
16843
16844         Unify tests that set gl_cv_func_frexpl_no_libm.
16845         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
16846         gl_FUNC_FREXPL_NO_LIBM.
16847         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
16848         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
16849
16850 2010-07-12  Bruno Haible  <bruno@clisp.org>
16851
16852         Unify tests that set gl_cv_func_frexp_no_libm.
16853         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
16854         gl_FUNC_FREXP_NO_LIBM.
16855         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
16856         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
16857
16858 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
16859
16860         memcoll: clarify sizes versus lengths, document better, and tweak perf
16861         * lib/memcoll.c (strcoll_loop, memcoll0):
16862         Improve quality of descriptive comments.  Name variables
16863         consistently as to whether they are lengths (which do not include
16864         terminating null) versus sizes (which do).
16865         * lib/xmemcoll.c (xmemcoll0): Likewise.
16866         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
16867         returned when s1size == 0; this is easier to compile and saves
16868         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
16869
16870 2010-07-12  Bruno Haible  <bruno@clisp.org>
16871
16872         Tests for module '_Exit'.
16873         * modules/_Exit-tests: New file.
16874         * tests/test-_Exit.sh: New file.
16875         * tests/test-_Exit.c: New file.
16876
16877         New module '_Exit'.
16878         * lib/stdlib.in.h (__attribute__): New macro.
16879         (_Exit): New declaration.
16880         * lib/_Exit.c: New file.
16881         * m4/_Exit.m4: New file.
16882         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
16883         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
16884         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
16885         * modules/_Exit: New file.
16886         * tests/test-stdlib-c++.cc (_Exit): Check signature.
16887         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
16888
16889 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
16890
16891         strtod: make it more-accurate typically, and don't require libm
16892         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
16893         Include limits.h.  Don't include string.h.
16894         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
16895         (locale_isspace): New function, so that no casts are needed to
16896         check whether *s is a space.
16897         (ldexp): Provide an unused dummy if not available.
16898         (scale_radix_exp, parse_number, underlying_strtod): New functions.
16899         (strtod): Use them.  This implementation prefers to use the
16900         underlying strtod if available, falling back on our own code
16901         only to fix known bugs.  This is more likely to produce an
16902         accurate result.  Also, it avoids the use of libm functions.
16903         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
16904         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
16905         was absent, but it caused a test failure with coreutils.
16906         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
16907         with libm.
16908         * modules/strtod (Makefile.am, Link): libm is no longer needed.
16909         * modules/strtod-tests (Makefile.am): Likewise.
16910
16911 2010-07-11  PĂ¡draig Brady  <P@draigBrady.com>
16912             Bruno Haible  <bruno@clisp.org>
16913
16914         unistr/u8-strchr: Optimize ASCII argument case.
16915         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
16916
16917 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16918
16919         (x)memcoll: minor tweaks
16920         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
16921         is after the type that it qualifies.
16922         (memcoll0): Likewise.
16923         * lib/memcoll.h (memcoll0): Likewise.
16924         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
16925         * lib/xmemcoll.h (xmemcoll0): Likewise.
16926         * lib/memcoll.c (memcoll0): Correct the comment.  This function
16927         differs from memcoll in that the NUL byte is part of the argument.
16928         Omit the abort-checks, as performance is a real issue here.  Plus,
16929         the checks were wrong anyway (an off-by-one error).  Omit local
16930         variable 'diff', as it's a bit clearer that way.
16931         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
16932         no longer needed.
16933
16934 2010-07-08  Chen Guo <chenguo4@yahoo.com>
16935
16936         (x)memcoll: speedup when input is known to be NUL delimited
16937         * lib/memcoll.c: Include stdlib.
16938         (memcoll0): New function.
16939         (strcoll_loop): New function, refactored for use in both memcoll
16940         and memcoll0.
16941         * lib/memcoll.h (memcoll0): Add prototype.
16942         * lib/xmemcoll.c (xmemcoll0): New function.
16943         (collate_error): New function, refactored for use in both xmemcoll
16944         and xmemcoll0.
16945         * lib/xmemcoll.h (xmemcoll0): Add prototype.
16946         * m4/memcoll.m4: add inline invocation.
16947
16948 2010-07-06  PĂ¡draig Brady  <P@draigBrady.com>
16949
16950         * build-aux/bootstrap: Remove any local translations
16951         from the translation project synchronization directory,
16952         so that local only translations are not distributed.
16953
16954 2010-07-04  Bruno Haible  <bruno@clisp.org>
16955
16956         fsusage: Clarify which code applies to which platforms.
16957         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
16958         platform.
16959         * lib/fsusage.c (get_fs_usage): Likewise.
16960
16961 2010-07-04  Bruno Haible  <bruno@clisp.org>
16962
16963         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
16964         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
16965         Reported by Martin Lambers <marlam@marlam.de>.
16966
16967 2010-07-04  Jim Meyering  <meyering@redhat.com>
16968
16969         hash: once again explicitly disallow insertion of NULL
16970         * lib/hash.c (hash_insert0): Reinstate just-removed test:
16971         inserting a NULL pointer cannot work with these functions.
16972         Add a comment with details.
16973         This reverts part of the 2010-07-01 commit, 5bef1a35
16974         "hash: extend module to deal with non-pointer keys".
16975
16976 2010-07-01  Bruno Haible  <bruno@clisp.org>
16977
16978         stdbool: Update doc.
16979         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
16980         Info from Christian Weisgerber <naddy@mips.inka.de>.
16981
16982 2010-07-01  Jim Meyering  <meyering@redhat.com>
16983
16984         hash: extend module to deal with non-pointer keys
16985         * lib/hash.c (hash_insert0): New interface, much like hash_insert
16986         but that allows insertion of non-pointer entries.
16987         Do not disallow an ENTRY value of NULL.
16988         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
16989         * lib/hash.h (hash_insert0): Declare.
16990
16991 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
16992
16993         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
16994         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
16995         not present (i.e. with autoconf 2.59 and when using gettextize, not
16996         gnulib), require AC_GNU_SOURCE instead.
16997
16998 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
16999
17000         idpriv-drop: Fix tests.
17001         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
17002         not to the test-idpriv-droptemp program.
17003
17004 2010-06-29  Bruno Haible  <bruno@clisp.org>
17005
17006         string: Fix syntax error with g++ 2.96.
17007         * lib/string.in.h (__pure__): Remove definition.
17008         (_GL_ATTRIBUTE_PURE): New macro.
17009         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
17010         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
17011         Reported by Christian Weisgerber <naddy@mips.inka.de>.
17012
17013 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
17014
17015         unitypes: Fix bug introduced on 2010-05-18.
17016         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
17017
17018 2010-06-22  Eric Blake  <eblake@redhat.com>
17019
17020         memmem: slight optimization
17021         * lib/str-two-way.h (critical_factorization): Update comments.
17022         Reduce work during factorization phase.
17023         Reported by Carlos Bueno <carlos@bueno.org>.
17024
17025 2010-06-21  Bruno Haible  <bruno@clisp.org>
17026
17027         Fix HAVE_CALLOC_POSIX misnomer.
17028         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
17029         !HAVE_CALLOC_POSIX.
17030         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
17031         HAVE_CALLOC_POSIX.
17032         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
17033         instead of HAVE_CALLOC_POSIX.
17034         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
17035         HAVE_CALLOC_POSIX.
17036
17037         Use modern idiom for calloc() replacement.
17038         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
17039         AC_FUNC_CALLOC.
17040         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
17041         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
17042         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
17043         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
17044         (gl_REPLACE_CALLOC): New macro.
17045
17046 2010-06-21  Bruno Haible  <bruno@clisp.org>
17047
17048         Fix HAVE_REALLOC_POSIX misnomer.
17049         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
17050         !HAVE_REALLOC_POSIX.
17051         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
17052         HAVE_REALLOC_POSIX.
17053         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
17054         instead of HAVE_REALLOC_POSIX.
17055         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
17056         HAVE_REALLOC_POSIX.
17057
17058         Use modern idiom for realloc() replacement.
17059         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
17060         AC_FUNC_REALLOC.
17061         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
17062         Autoconf's AC_FUNC_REALLOC.
17063         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
17064         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
17065         (gl_REPLACE_REALLOC): New macro.
17066         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
17067
17068 2010-06-21  Bruno Haible  <bruno@clisp.org>
17069
17070         Fix HAVE_MALLOC_POSIX misnomer.
17071         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
17072         !HAVE_MALLOC_POSIX.
17073         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
17074         HAVE_MALLOC_POSIX.
17075         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
17076         instead of HAVE_MALLOC_POSIX.
17077         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
17078         HAVE_MALLOC_POSIX.
17079
17080         Use modern idiom for malloc() replacement.
17081         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
17082         AC_FUNC_MALLOC.
17083         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
17084         Autoconf's AC_FUNC_MALLOC.
17085         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
17086         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
17087         (gl_REPLACE_MALLOC): New macro.
17088         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
17089
17090 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
17091
17092         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
17093         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
17094         This macro takes 3 arguments, not 4.
17095
17096 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
17097
17098         ipv6: fix detection under mingw
17099         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
17100         in6_addr.
17101
17102 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
17103
17104         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
17105         that strtod() works when cross-compiling to a glibc version known
17106         to work.
17107
17108 2010-06-15  Bruno Haible  <bruno@clisp.org>
17109
17110         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
17111
17112 2010-06-15  RenĂ© Berber  <r.berber@computer.org>  (tiny change)
17113
17114         select: Correct timeout.
17115         * lib/select.c (rpl_select): Compute wait_timeout correctly.
17116
17117 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
17118
17119         git-version-gen: init shell var to avoid env var influence
17120         * build-aux/git-version-gen (v): Init shell var to empty.
17121
17122 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
17123
17124         priv-set: Don't assume that priv.h exists merely because getppriv does.
17125         See Jan Andersen's bug report about AIX 5L in
17126         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
17127         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
17128         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
17129         * lib/priv-set.h: Likewise.
17130         * tests/test-priv-set.c: Likewise.
17131
17132 2010-06-13  Bruno Haible  <bruno@clisp.org>
17133
17134         relocatable: Make it easier to test whether to install wrappers.
17135         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
17136         RELOCATABLE_VIA_WRAPPER.
17137
17138 2010-06-13  Bruno Haible  <bruno@clisp.org>
17139
17140         gnulib-tool: Display specified modules and dependencies differently.
17141         * gnulib-tool (func_show_module_list): New function.
17142         (func_import, func_create_testdir): Invoke it.
17143         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
17144
17145 2010-06-13  Bruno Haible  <bruno@clisp.org>
17146
17147         gnulib-tool: Align code of func_import and func_create_testdir.
17148         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
17149         specified_modules.
17150
17151 2010-06-12  Jim Meyering  <meyering@redhat.com>
17152
17153         test-inttostr: avoid spurious failure on Solaris 9
17154         * tests/test-inttostr.c (main): Skip the test when snprintf fails
17155         to accept "%ju".  Reported by Bruno Haible.
17156
17157 2010-06-11  Jim Meyering  <meyering@redhat.com>
17158
17159         test-sys_socket: mark variables as used more readably
17160         * tests/test-sys_socket.c (main): Mark otherwise unused variables
17161         as "used" explicitly via (void) statement casts.  This is more
17162         readable than using them in an artificial return expression.
17163         Suggestion from Bruno Haible.
17164
17165 2010-06-11  Bruno Haible  <bruno@clisp.org>
17166
17167         Avoid some more warnings from "gcc -Wwrite-strings".
17168         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
17169         to 'const char *'.
17170         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
17171         * tests/test-c-strcasestr.c (main): Likewise.
17172         * tests/test-mbscasestr1.c (main): Likewise.
17173         * tests/test-mbscasestr2.c (main): Likewise.
17174         * tests/test-memmem.c (main): Likewise.
17175         * tests/test-strstr.c (main): Likewise.
17176         * tests/test-strcasestr.c (main): Likewise.
17177
17178 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17179
17180         init.sh: change framework_failure_ to fail with status 99, not 1
17181         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
17182         automake's parallel-tests rule that this is an unexpected failure,
17183         even if the test is listed in XFAIL_TESTS.
17184
17185 2010-06-11  Jim Meyering  <meyering@redhat.com>
17186
17187         test-inttostr: avoid warnings about 4-6KB literal strings
17188         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
17189         Include "macros.h", for its definition of ASSERT.
17190         (CK): s/assert/ASSERT/
17191         * modules/inttostr-tests (Files): Add macros.h.
17192
17193         init.sh: don't use $ME_ or skip_ before they are defined
17194         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
17195         their first uses.  Also hoist their companions: warn_, fail_,
17196         framework_failure_, $stderr_fileno.  Prompted by a patch from
17197         Stefano Lattarini.
17198
17199         test-sys_socket: avoid set-but-not-used warnings from gcc
17200         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
17201         avoid warning about set-but-not-used variables.
17202
17203         test-xvasprintf: avoid 'const' discard warnings
17204         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
17205         "const" when assigning from literal strings.
17206         (test_xasprintf): Add "void" in function argument list to placate
17207         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
17208
17209         tests: avoid compilation warnings in argmatch and exclude tests...
17210         in packages that define ARGMATCH_DIE_DECL, like coreutils.
17211         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
17212         Since it always exits, declare with the "noreturn" attribute.
17213         * tests/test-argmatch.c: Likewise.
17214
17215         tests: avoid 'const' discard warnings in mbsstr tests
17216         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
17217         * tests/test-mbsstr2.c (main): Likewise.
17218
17219         test-verify: avoid warning from gcc's -Wmissing-declarations
17220         * tests/test-verify.c (function): Declare to be static.
17221
17222         test-inttostr.c: include <string.h> for use of strcmp
17223         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
17224
17225         test-linkat: avoid failed assertion on "other" architectures
17226         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
17227         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
17228         sparc: https://bugs.launchpad.net/bugs/591968
17229
17230 2010-06-11  Jim Meyering  <meyering@redhat.com>
17231
17232         printf.m4: avoid autoconf's "Expanded Before Required" warning
17233         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
17234         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
17235         autoconf warning.
17236
17237 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
17238
17239         Replacement header templates are now named with ".in", not "_".
17240         * doc/gnulib-intro.texi: Correct.
17241
17242 2010-06-10  Jim Meyering  <meyering@redhat.com>
17243
17244         inttostr-tests: depend on snprintf, not snprintf-posix
17245         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
17246         snprintf-posix, to avoid this aclocal failure:
17247           missing file gnulib-tests/vasnprintf.c
17248           configure.ac:45: error: expected source file, required through \
17249           AC_LIBSOURCES, not found
17250
17251 2010-06-10  Jim Meyering  <meyering@redhat.com>
17252
17253         inttostr: add a new function, inttostr, and tests
17254         The namesake function was not available.  The existence of the
17255         template file, inttostr.c makes its addition nontrivial.
17256         * lib/anytostr.c: Rename from inttostr.c.
17257         (anytostr): Rename from inttostr.
17258         * lib/inttostr.c: New file.
17259         * modules/inttostr (Files): Add anytostr.c.
17260         (Makefile.am): Set lib_SOURCES instead of ...
17261         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
17262         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
17263         * lib/offtostr.c: Likewise.
17264         * lib/uinttostr.c: Likewise.
17265         * lib/umaxtostr.c: Likewise.
17266         * modules/inttostr-tests: New file.
17267         * tests/test-inttostr.c: New file.  Test these functions.
17268
17269 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
17270             Bruno Haible  <bruno@clisp.org>
17271
17272         Add "Extending Gnulib" chapter to manual.
17273         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
17274         chapter.
17275         (Extending Gnulib): New chapter.
17276         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
17277         chapter.
17278
17279 2010-06-09  Bruno Haible  <bruno@clisp.org>
17280
17281         Avoid relocwrapper link errors due to gnulib replacement functions.
17282         * lib/areadlink.c: Use the system's malloc, realloc functions.
17283         (areadlink): Set errno to ENOMEM explicitly.
17284         * modules/areadlink (Depends-on): Remove malloc-posix.
17285         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17286
17287 2010-06-09  Bruno Haible  <bruno@clisp.org>
17288
17289         Avoid relocwrapper link errors due to gnulib replacement functions.
17290         * lib/canonicalize-lgpl.c: Use the system's malloc function.
17291         * lib/malloca.c: Likewise.
17292         * lib/relocatable.c: Likewise.
17293         * lib/progreloc.c: Use the system's malloc, sprintf functions.
17294         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
17295         * lib/setenv.c: Use the system's malloc, realloc functions.
17296         * lib/strerror.c: Use the system's sprintf function.
17297         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17298
17299 2010-06-04  Bruno Haible  <bruno@clisp.org>
17300
17301         Prefer documented low-level autoconf macro names.
17302         * m4/lib-link.m4: Use m4_translit instead of translit.
17303         * m4/environ.m4: Likewise.
17304         * m4/mathfunc.m4: Likewise.
17305         * m4/onceonly.m4: Likewise.
17306         * m4/stdint.m4: Likewise.
17307         Suggested by Eric Blake.
17308
17309 2010-06-04  Martin Lambers  <marlam@marlam.de>
17310             Bruno Haible  <bruno@clisp.org>
17311
17312         havelib: Allow library names with '+' characters.
17313         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
17314         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
17315
17316 2010-06-09  Bruno Haible  <bruno@clisp.org>
17317
17318         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
17319         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
17320         realloc failed.
17321
17322 2010-06-08  Peter Simons  <simons@cryp.to>
17323
17324         maint.mk: make the news-check rule more configurable
17325         * top/maint.mk (news-check-lines-spec): New variable.
17326         (news-check): Use "sed -n 1,10p" in place of "head".
17327
17328 2010-06-07  Jim Meyering  <meyering@redhat.com>
17329
17330         do-release-commit-and-tag: fix typo in --help
17331         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
17332
17333         regex: avoid new dead-code warning with gcc-4.6.0
17334         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
17335         if-block containing a while-loop.  It's been unused for at least
17336         5 years.
17337
17338 2010-06-05  Bruno Haible  <bruno@clisp.org>
17339
17340         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
17341         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
17342
17343 2010-06-04  Bruno Haible  <bruno@clisp.org>
17344
17345         Update to GNU gettext 0.18.1.
17346         * modules/gettext (configure.ac): Require gettext infrastructure from
17347         version 0.18.1.
17348
17349 2010-06-03  Bruno Haible  <bruno@clisp.org>
17350
17351         Don't use AC_LIBOBJ with file names in subdirectories.
17352         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
17353         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
17354         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
17355         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
17356         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
17357         gl_LIBUNISTRING_LIBSOURCE.
17358         (Makefile.am): Augment lib_SOURCES here, conditionally.
17359         * NEWS: Drop requirement for Automake option 'subdir-objects'.
17360
17361 2010-06-03  Bruno Haible  <bruno@clisp.org>
17362
17363         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
17364         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
17365         expansion does not end with a newline.
17366         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
17367         unnecessary newline.
17368
17369 2010-06-03  Bruno Haible  <bruno@clisp.org>
17370
17371         Reduce dependencies.
17372         * tests/test-quotearg.h: New file, extracted from
17373         tests/test-quotearg.c.
17374         * tests/test-quotearg-simple.c: New file, extracted from
17375         tests/test-quotearg.c.
17376         * tests/test-quotearg.c: Don't include <ctype.h>.
17377         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
17378         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
17379         use_quote_double_quotes, use_quotearg_colon): Moved to
17380         tests/test-quotearg.h.
17381         (results_g, flag_results, custom_quotes, custom_results): Moved
17382         to tests/test-quotearg-simple.c.
17383         (main): Moved the part that does not depend on gettext to
17384         tests/test-quotearg-simple.c. Return 77 if the test cannot be
17385         performed.
17386         * modules/quotearg-simple: New file.
17387         * modules/quotearg-simple-tests: New file.
17388         * modules/quotearg (Depends-on): Add quotearg-simple.
17389         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
17390         (Files): Add tests/test-quotearg.h.
17391         Reported by Paolo Bonzini.
17392
17393 2010-06-03  Bruno Haible  <bruno@clisp.org>
17394
17395         Reduce dependencies.
17396         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
17397
17398 2010-06-03  Bruno Haible  <bruno@clisp.org>
17399
17400         time: Undefine more broken macros.
17401         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
17402         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
17403         Reported by Eric Blake.
17404
17405 2010-06-03  Bruno Haible  <bruno@clisp.org>
17406
17407         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
17408         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
17409         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
17410         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
17411         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
17412         Reported by Ludovic Courtès <ludo@gnu.org>.
17413
17414 2010-06-02  Eric Blake  <eblake@redhat.com>
17415
17416         time: work with mingw + pthreads-win32 library
17417         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
17418         if timespec is defined only in pthread.h.
17419         * modules/time (Makefile.am): Substitute it.
17420         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
17421         <pthread.h>, when needed.
17422         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
17423         from the library.
17424
17425 2010-05-31  Bruno Haible  <bruno@clisp.org>
17426
17427         Avoid expanding two macros in the wrong order.
17428         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
17429         gl_LIBUNISTRING if it is defined.
17430         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
17431         autoconf >= 2.64.
17432         Reported by Ludovic Courtès <ludo@gnu.org>.
17433
17434 2010-05-27  Jim Meyering  <meyering@redhat.com>
17435
17436         maint.mk: also prohibit "#undef" of always-defined symbols
17437         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
17438         Allow more than one space before the symbol name.
17439         (sc_prohibit_always-defined_macros): Use grep's -E, now that
17440         the regexp uses alternation.
17441
17442 2010-05-26  Eric Blake  <eblake@redhat.com>
17443
17444         maint.mk: avoid echo -e
17445         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
17446         Convert all uses of echo -* to printf.
17447         Reported by Matthias Bolte.
17448
17449 2010-05-25  Bruno Haible  <bruno@clisp.org>
17450
17451         Update to GNU gettext 0.18, part 2.
17452         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
17453         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
17454
17455 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17456
17457         Add missing include in test-pwrite.c.
17458         * tests/test-pwrite.c: Include string.h, for strcmp.
17459
17460 2010-05-24  Bruno Haible  <bruno@clisp.org>
17461
17462         * NEWS: Mention requirement for Automake option 'subdir-objects'.
17463
17464 2010-05-24  Bruno Haible  <bruno@clisp.org>
17465
17466         Don't use conversion with transliteration in u{8,16,32}_strcoll.
17467         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
17468         iconveh_error argument.
17469         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
17470         U_STRCONV_TO_LOCALE.
17471         * lib/unistr/u16-strcoll.c: Likewise.
17472         * lib/unistr/u32-strcoll.c: Likewise.
17473         * modules/unistr/u8-strcoll (Depends-on): Add
17474         uniconv/u8-strconv-to-enc, localcharset. Remove
17475         uniconv/u8-strconv-to-locale.
17476         (configure.ac): Bump version number.
17477         * modules/unistr/u16-strcoll (Depends-on): Add
17478         uniconv/u16-strconv-to-enc, localcharset. Remove
17479         uniconv/u16-strconv-to-locale.
17480         (configure.ac): Bump version number.
17481         * modules/unistr/u32-strcoll (Depends-on): Add
17482         uniconv/u32-strconv-to-enc, localcharset. Remove
17483         uniconv/u32-strconv-to-locale.
17484         (configure.ac): Bump version number.
17485
17486 2010-05-24  Bruno Haible  <bruno@clisp.org>
17487
17488         Avoid a test failure on NetBSD 5.0.
17489         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
17490         an iconv() bug.
17491
17492 2010-05-24  Bruno Haible  <bruno@clisp.org>
17493
17494         Adjust #include directive style.
17495         * modules/regex (Includes): Recommend to write <regex.h>.
17496
17497 2010-05-24  Bruno Haible  <bruno@clisp.org>
17498
17499         regex: Don't require alloca.
17500         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
17501         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
17502         only inside if (0).
17503
17504 2010-05-23  Jim Meyering  <meyering@redhat.com>
17505
17506         test-renameat.c: include <sys/stat.h>
17507         * tests/test-renameat.c: Include <sys/stat.h>; required for
17508         definition of S_IS* macros.
17509
17510 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
17511
17512         Update maintainer documentation for 'relocatable-prog' module.
17513         * doc/relocatable-maint.texi: Update.
17514         Comments by Bruno Haible.
17515
17516 2010-05-23  Bruno Haible  <bruno@clisp.org>
17517
17518         git-merge-changelog: Enable --split-merged-entry by default.
17519         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
17520         (usage): Don't mention this option any more.
17521         Reported by Ralf Wildenhues.
17522
17523 2010-05-23  Jim Meyering  <meyering@redhat.com>
17524
17525         test-pwrite: do not leave behind a test file named "out"
17526         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
17527         The trivial-looking use of init.sh is really necessary.
17528         It ensures that the temporary file, "out", is created in
17529         a temporary directory, and removed upon termination.
17530         * tests/test-pwrite.sh: Re-add file.
17531         * modules/pwrite-tests: Reference it.
17532
17533 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17534
17535         Fix output redirection buglet in init.sh.
17536         * tests/init.sh: Fix redirection of stderr.
17537
17538 2010-05-20  Simon Josefsson  <simon@josefsson.org>
17539
17540         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
17541
17542 2010-05-17  Simon Josefsson  <simon@josefsson.org>
17543
17544         * modules/valgrind-tests: New file.
17545         * m4/valgrind-tests.m4: New file.
17546         * doc/valgrind-tests.texi: New file.
17547         * doc/gnulib.texi (Running self-tests under valgrind): New
17548         section.
17549
17550 2010-05-19  Bruno Haible  <bruno@clisp.org>
17551
17552         Clean up dead code in recent commit.
17553         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
17554         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
17555         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
17556         Suggested by Paolo Bonzini.
17557
17558 2010-05-19  Bruno Haible  <bruno@clisp.org>
17559
17560         Avoid valgrind error reports from libunistring.
17561         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
17562         * modules/libunistring (Files): Add it.
17563         * modules/libunistring-optional (Files): Likewise.
17564
17565 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
17566             Bruno Haible  <bruno@clisp.org>
17567
17568         New module 'libunistring-optional'.
17569         * modules/libunistring-optional: New file.
17570         * m4/libunistring-base.m4: New file.
17571         * m4/libunistring-optional.m4: New file.
17572         * lib/unicase.in.h: Renamed from lib/unicase.h.
17573         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
17574         * lib/unictype.in.h: Renamed from lib/unictype.h.
17575         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
17576         * lib/uniname.in.h: Renamed from lib/uniname.h.
17577         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
17578         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
17579         * lib/unistr.in.h: Renamed from lib/unistr.h.
17580         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
17581         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
17582         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
17583         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
17584         gl_LIBUNISTRING. If the library was found, determine the installed
17585         version and set LIBUNISTRING_VERSION.
17586         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
17587         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
17588         handle a configuration option --with-included-libunistring.
17589         * modules/libunistring (Files): Add m4/absolute-header.m4.
17590         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
17591         Add m4/libunistring-base.m4.
17592         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17593         (Makefile.am): Build unicase.h from unicase.in.h.
17594         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
17595         Add m4/libunistring-base.m4.
17596         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17597         (Makefile.am): Build uniconv.h from uniconv.in.h.
17598         * modules/unictype/base (Files): Use unictype.in.h instead of
17599         unictype.h. Add m4/libunistring-base.m4.
17600         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17601         (Makefile.am): Build unictype.h from unictype.in.h.
17602         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
17603         Add m4/libunistring-base.m4.
17604         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17605         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
17606         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
17607         Add m4/libunistring-base.m4.
17608         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17609         (Makefile.am): Build uniname.h from uniname.in.h.
17610         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
17611         Add m4/libunistring-base.m4.
17612         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17613         (Makefile.am): Build uninorm.h from uninorm.in.h.
17614         * modules/unistdio/base (Files): Use unistdio.in.h instead of
17615         unistdio.h. Add m4/libunistring-base.m4.
17616         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17617         (Makefile.am): Build unistdio.h from unistdio.in.h.
17618         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
17619         Add m4/libunistring-base.m4.
17620         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17621         (Makefile.am): Build unistr.h from unistr.in.h.
17622         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
17623         Add m4/libunistring-base.m4.
17624         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17625         (Makefile.am): Build unitypes.h from unitypes.in.h.
17626         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
17627         Add m4/libunistring-base.m4.
17628         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17629         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
17630         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
17631         uniwidth.h. Add m4/libunistring-base.m4.
17632         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17633         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
17634         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
17635         instead of augmenting lib_SOURCES.
17636         * modules/unicase/empty-suffix-context: Likewise.
17637         * modules/unicase/locale-language: Likewise.
17638         * modules/unicase/tolower: Likewise.
17639         * modules/unicase/totitle: Likewise.
17640         * modules/unicase/toupper: Likewise.
17641         * modules/unicase/u8-casecmp: Likewise.
17642         * modules/unicase/u8-casecoll: Likewise.
17643         * modules/unicase/u8-casefold: Likewise.
17644         * modules/unicase/u8-casexfrm: Likewise.
17645         * modules/unicase/u8-ct-casefold: Likewise.
17646         * modules/unicase/u8-ct-tolower: Likewise.
17647         * modules/unicase/u8-ct-totitle: Likewise.
17648         * modules/unicase/u8-ct-toupper: Likewise.
17649         * modules/unicase/u8-is-cased: Likewise.
17650         * modules/unicase/u8-is-casefolded: Likewise.
17651         * modules/unicase/u8-is-lowercase: Likewise.
17652         * modules/unicase/u8-is-titlecase: Likewise.
17653         * modules/unicase/u8-is-uppercase: Likewise.
17654         * modules/unicase/u8-prefix-context: Likewise.
17655         * modules/unicase/u8-suffix-context: Likewise.
17656         * modules/unicase/u8-tolower: Likewise.
17657         * modules/unicase/u8-totitle: Likewise.
17658         * modules/unicase/u8-toupper: Likewise.
17659         * modules/unicase/u16-casecmp: Likewise.
17660         * modules/unicase/u16-casecoll: Likewise.
17661         * modules/unicase/u16-casefold: Likewise.
17662         * modules/unicase/u16-casexfrm: Likewise.
17663         * modules/unicase/u16-ct-casefold: Likewise.
17664         * modules/unicase/u16-ct-tolower: Likewise.
17665         * modules/unicase/u16-ct-totitle: Likewise.
17666         * modules/unicase/u16-ct-toupper: Likewise.
17667         * modules/unicase/u16-is-cased: Likewise.
17668         * modules/unicase/u16-is-casefolded: Likewise.
17669         * modules/unicase/u16-is-lowercase: Likewise.
17670         * modules/unicase/u16-is-titlecase: Likewise.
17671         * modules/unicase/u16-is-uppercase: Likewise.
17672         * modules/unicase/u16-prefix-context: Likewise.
17673         * modules/unicase/u16-suffix-context: Likewise.
17674         * modules/unicase/u16-tolower: Likewise.
17675         * modules/unicase/u16-totitle: Likewise.
17676         * modules/unicase/u16-toupper: Likewise.
17677         * modules/unicase/u32-casecmp: Likewise.
17678         * modules/unicase/u32-casecoll: Likewise.
17679         * modules/unicase/u32-casefold: Likewise.
17680         * modules/unicase/u32-casexfrm: Likewise.
17681         * modules/unicase/u32-ct-casefold: Likewise.
17682         * modules/unicase/u32-ct-tolower: Likewise.
17683         * modules/unicase/u32-ct-totitle: Likewise.
17684         * modules/unicase/u32-ct-toupper: Likewise.
17685         * modules/unicase/u32-is-cased: Likewise.
17686         * modules/unicase/u32-is-casefolded: Likewise.
17687         * modules/unicase/u32-is-lowercase: Likewise.
17688         * modules/unicase/u32-is-titlecase: Likewise.
17689         * modules/unicase/u32-is-uppercase: Likewise.
17690         * modules/unicase/u32-prefix-context: Likewise.
17691         * modules/unicase/u32-suffix-context: Likewise.
17692         * modules/unicase/u32-tolower: Likewise.
17693         * modules/unicase/u32-totitle: Likewise.
17694         * modules/unicase/u32-toupper: Likewise.
17695         * modules/unicase/ulc-casecmp: Likewise.
17696         * modules/unicase/ulc-casecoll: Likewise.
17697         * modules/unicase/ulc-casexfrm: Likewise.
17698         * modules/uniconv/u8-conv-from-enc: Likewise.
17699         * modules/uniconv/u8-conv-to-enc: Likewise.
17700         * modules/uniconv/u8-strconv-from-enc: Likewise.
17701         * modules/uniconv/u8-strconv-from-locale: Likewise.
17702         * modules/uniconv/u8-strconv-to-enc: Likewise.
17703         * modules/uniconv/u8-strconv-to-locale: Likewise.
17704         * modules/uniconv/u16-conv-from-enc: Likewise.
17705         * modules/uniconv/u16-conv-to-enc: Likewise.
17706         * modules/uniconv/u16-strconv-from-enc: Likewise.
17707         * modules/uniconv/u16-strconv-from-locale: Likewise.
17708         * modules/uniconv/u16-strconv-to-enc: Likewise.
17709         * modules/uniconv/u16-strconv-to-locale: Likewise.
17710         * modules/uniconv/u32-conv-from-enc: Likewise.
17711         * modules/uniconv/u32-conv-to-enc: Likewise.
17712         * modules/uniconv/u32-strconv-from-enc: Likewise.
17713         * modules/uniconv/u32-strconv-from-locale: Likewise.
17714         * modules/uniconv/u32-strconv-to-enc: Likewise.
17715         * modules/uniconv/u32-strconv-to-locale: Likewise.
17716         * modules/unictype/bidicategory-byname: Likewise.
17717         * modules/unictype/bidicategory-name: Likewise.
17718         * modules/unictype/bidicategory-of: Likewise.
17719         * modules/unictype/bidicategory-test: Likewise.
17720         * modules/unictype/block-list: Likewise.
17721         * modules/unictype/block-test: Likewise.
17722         * modules/unictype/category-C: Likewise.
17723         * modules/unictype/category-Cc: Likewise.
17724         * modules/unictype/category-Cf: Likewise.
17725         * modules/unictype/category-Cn: Likewise.
17726         * modules/unictype/category-Co: Likewise.
17727         * modules/unictype/category-Cs: Likewise.
17728         * modules/unictype/category-L: Likewise.
17729         * modules/unictype/category-Ll: Likewise.
17730         * modules/unictype/category-Lm: Likewise.
17731         * modules/unictype/category-Lo: Likewise.
17732         * modules/unictype/category-Lt: Likewise.
17733         * modules/unictype/category-Lu: Likewise.
17734         * modules/unictype/category-M: Likewise.
17735         * modules/unictype/category-Mc: Likewise.
17736         * modules/unictype/category-Me: Likewise.
17737         * modules/unictype/category-Mn: Likewise.
17738         * modules/unictype/category-N: Likewise.
17739         * modules/unictype/category-Nd: Likewise.
17740         * modules/unictype/category-Nl: Likewise.
17741         * modules/unictype/category-No: Likewise.
17742         * modules/unictype/category-P: Likewise.
17743         * modules/unictype/category-Pc: Likewise.
17744         * modules/unictype/category-Pd: Likewise.
17745         * modules/unictype/category-Pe: Likewise.
17746         * modules/unictype/category-Pf: Likewise.
17747         * modules/unictype/category-Pi: Likewise.
17748         * modules/unictype/category-Po: Likewise.
17749         * modules/unictype/category-Ps: Likewise.
17750         * modules/unictype/category-S: Likewise.
17751         * modules/unictype/category-Sc: Likewise.
17752         * modules/unictype/category-Sk: Likewise.
17753         * modules/unictype/category-Sm: Likewise.
17754         * modules/unictype/category-So: Likewise.
17755         * modules/unictype/category-Z: Likewise.
17756         * modules/unictype/category-Zl: Likewise.
17757         * modules/unictype/category-Zp: Likewise.
17758         * modules/unictype/category-Zs: Likewise.
17759         * modules/unictype/category-and: Likewise.
17760         * modules/unictype/category-and-not: Likewise.
17761         * modules/unictype/category-byname: Likewise.
17762         * modules/unictype/category-name: Likewise.
17763         * modules/unictype/category-none: Likewise.
17764         * modules/unictype/category-of: Likewise.
17765         * modules/unictype/category-or: Likewise.
17766         * modules/unictype/category-test: Likewise.
17767         * modules/unictype/combining-class: Likewise.
17768         * modules/unictype/ctype-alnum: Likewise.
17769         * modules/unictype/ctype-alpha: Likewise.
17770         * modules/unictype/ctype-blank: Likewise.
17771         * modules/unictype/ctype-cntrl: Likewise.
17772         * modules/unictype/ctype-digit: Likewise.
17773         * modules/unictype/ctype-graph: Likewise.
17774         * modules/unictype/ctype-lower: Likewise.
17775         * modules/unictype/ctype-print: Likewise.
17776         * modules/unictype/ctype-punct: Likewise.
17777         * modules/unictype/ctype-space: Likewise.
17778         * modules/unictype/ctype-upper: Likewise.
17779         * modules/unictype/ctype-xdigit: Likewise.
17780         * modules/unictype/decimal-digit: Likewise.
17781         * modules/unictype/digit: Likewise.
17782         * modules/unictype/mirror: Likewise.
17783         * modules/unictype/numeric: Likewise.
17784         * modules/unictype/property-alphabetic: Likewise.
17785         * modules/unictype/property-ascii-hex-digit: Likewise.
17786         * modules/unictype/property-bidi-arabic-digit: Likewise.
17787         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
17788         * modules/unictype/property-bidi-block-separator: Likewise.
17789         * modules/unictype/property-bidi-boundary-neutral: Likewise.
17790         * modules/unictype/property-bidi-common-separator: Likewise.
17791         * modules/unictype/property-bidi-control: Likewise.
17792         * modules/unictype/property-bidi-embedding-or-override: Likewise.
17793         * modules/unictype/property-bidi-eur-num-separator: Likewise.
17794         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
17795         * modules/unictype/property-bidi-european-digit: Likewise.
17796         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
17797         * modules/unictype/property-bidi-left-to-right: Likewise.
17798         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
17799         * modules/unictype/property-bidi-other-neutral: Likewise.
17800         * modules/unictype/property-bidi-pdf: Likewise.
17801         * modules/unictype/property-bidi-segment-separator: Likewise.
17802         * modules/unictype/property-bidi-whitespace: Likewise.
17803         * modules/unictype/property-byname: Likewise.
17804         * modules/unictype/property-combining: Likewise.
17805         * modules/unictype/property-composite: Likewise.
17806         * modules/unictype/property-currency-symbol: Likewise.
17807         * modules/unictype/property-dash: Likewise.
17808         * modules/unictype/property-decimal-digit: Likewise.
17809         * modules/unictype/property-default-ignorable-code-point: Likewise.
17810         * modules/unictype/property-deprecated: Likewise.
17811         * modules/unictype/property-diacritic: Likewise.
17812         * modules/unictype/property-extender: Likewise.
17813         * modules/unictype/property-format-control: Likewise.
17814         * modules/unictype/property-grapheme-base: Likewise.
17815         * modules/unictype/property-grapheme-extend: Likewise.
17816         * modules/unictype/property-grapheme-link: Likewise.
17817         * modules/unictype/property-hex-digit: Likewise.
17818         * modules/unictype/property-hyphen: Likewise.
17819         * modules/unictype/property-id-continue: Likewise.
17820         * modules/unictype/property-id-start: Likewise.
17821         * modules/unictype/property-ideographic: Likewise.
17822         * modules/unictype/property-ids-binary-operator: Likewise.
17823         * modules/unictype/property-ids-trinary-operator: Likewise.
17824         * modules/unictype/property-ignorable-control: Likewise.
17825         * modules/unictype/property-iso-control: Likewise.
17826         * modules/unictype/property-join-control: Likewise.
17827         * modules/unictype/property-left-of-pair: Likewise.
17828         * modules/unictype/property-line-separator: Likewise.
17829         * modules/unictype/property-logical-order-exception: Likewise.
17830         * modules/unictype/property-lowercase: Likewise.
17831         * modules/unictype/property-math: Likewise.
17832         * modules/unictype/property-non-break: Likewise.
17833         * modules/unictype/property-not-a-character: Likewise.
17834         * modules/unictype/property-numeric: Likewise.
17835         * modules/unictype/property-other-alphabetic: Likewise.
17836         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
17837         * modules/unictype/property-other-grapheme-extend: Likewise.
17838         * modules/unictype/property-other-id-continue: Likewise.
17839         * modules/unictype/property-other-id-start: Likewise.
17840         * modules/unictype/property-other-lowercase: Likewise.
17841         * modules/unictype/property-other-math: Likewise.
17842         * modules/unictype/property-other-uppercase: Likewise.
17843         * modules/unictype/property-paired-punctuation: Likewise.
17844         * modules/unictype/property-paragraph-separator: Likewise.
17845         * modules/unictype/property-pattern-syntax: Likewise.
17846         * modules/unictype/property-pattern-white-space: Likewise.
17847         * modules/unictype/property-private-use: Likewise.
17848         * modules/unictype/property-punctuation: Likewise.
17849         * modules/unictype/property-quotation-mark: Likewise.
17850         * modules/unictype/property-radical: Likewise.
17851         * modules/unictype/property-sentence-terminal: Likewise.
17852         * modules/unictype/property-soft-dotted: Likewise.
17853         * modules/unictype/property-space: Likewise.
17854         * modules/unictype/property-terminal-punctuation: Likewise.
17855         * modules/unictype/property-test: Likewise.
17856         * modules/unictype/property-titlecase: Likewise.
17857         * modules/unictype/property-unassigned-code-value: Likewise.
17858         * modules/unictype/property-unified-ideograph: Likewise.
17859         * modules/unictype/property-uppercase: Likewise.
17860         * modules/unictype/property-variation-selector: Likewise.
17861         * modules/unictype/property-white-space: Likewise.
17862         * modules/unictype/property-xid-continue: Likewise.
17863         * modules/unictype/property-xid-start: Likewise.
17864         * modules/unictype/property-zero-width: Likewise.
17865         * modules/unictype/scripts: Likewise.
17866         * modules/unictype/syntax-c-ident: Likewise.
17867         * modules/unictype/syntax-c-whitespace: Likewise.
17868         * modules/unictype/syntax-java-ident: Likewise.
17869         * modules/unictype/syntax-java-whitespace: Likewise.
17870         * modules/unilbrk/u8-possible-linebreaks: Likewise.
17871         * modules/unilbrk/u8-width-linebreaks: Likewise.
17872         * modules/unilbrk/u16-possible-linebreaks: Likewise.
17873         * modules/unilbrk/u16-width-linebreaks: Likewise.
17874         * modules/unilbrk/u32-possible-linebreaks: Likewise.
17875         * modules/unilbrk/u32-width-linebreaks: Likewise.
17876         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
17877         * modules/unilbrk/ulc-width-linebreaks: Likewise.
17878         * modules/uniname/uniname: Likewise.
17879         * modules/uninorm/canonical-decomposition: Likewise.
17880         * modules/uninorm/composition: Likewise.
17881         * modules/uninorm/decomposing-form: Likewise.
17882         * modules/uninorm/decomposition: Likewise.
17883         * modules/uninorm/filter: Likewise.
17884         * modules/uninorm/nfc: Likewise.
17885         * modules/uninorm/nfd: Likewise.
17886         * modules/uninorm/nfkc: Likewise.
17887         * modules/uninorm/nfkd: Likewise.
17888         * modules/uninorm/u8-normalize: Likewise.
17889         * modules/uninorm/u8-normcmp: Likewise.
17890         * modules/uninorm/u8-normcoll: Likewise.
17891         * modules/uninorm/u8-normxfrm: Likewise.
17892         * modules/uninorm/u16-normalize: Likewise.
17893         * modules/uninorm/u16-normcmp: Likewise.
17894         * modules/uninorm/u16-normcoll: Likewise.
17895         * modules/uninorm/u16-normxfrm: Likewise.
17896         * modules/uninorm/u32-normalize: Likewise.
17897         * modules/uninorm/u32-normcmp: Likewise.
17898         * modules/uninorm/u32-normcoll: Likewise.
17899         * modules/uninorm/u32-normxfrm: Likewise.
17900         * modules/unistdio/u8-asnprintf: Likewise.
17901         * modules/unistdio/u8-asprintf: Likewise.
17902         * modules/unistdio/u8-snprintf: Likewise.
17903         * modules/unistdio/u8-sprintf: Likewise.
17904         * modules/unistdio/u8-u8-asnprintf: Likewise.
17905         * modules/unistdio/u8-u8-asprintf: Likewise.
17906         * modules/unistdio/u8-u8-snprintf: Likewise.
17907         * modules/unistdio/u8-u8-sprintf: Likewise.
17908         * modules/unistdio/u8-u8-vasnprintf: Likewise.
17909         * modules/unistdio/u8-u8-vasprintf: Likewise.
17910         * modules/unistdio/u8-u8-vsnprintf: Likewise.
17911         * modules/unistdio/u8-u8-vsprintf: Likewise.
17912         * modules/unistdio/u8-vasnprintf: Likewise.
17913         * modules/unistdio/u8-vasprintf: Likewise.
17914         * modules/unistdio/u8-vsnprintf: Likewise.
17915         * modules/unistdio/u8-vsprintf: Likewise.
17916         * modules/unistdio/u16-asnprintf: Likewise.
17917         * modules/unistdio/u16-asprintf: Likewise.
17918         * modules/unistdio/u16-snprintf: Likewise.
17919         * modules/unistdio/u16-sprintf: Likewise.
17920         * modules/unistdio/u16-u16-asnprintf: Likewise.
17921         * modules/unistdio/u16-u16-asprintf: Likewise.
17922         * modules/unistdio/u16-u16-snprintf: Likewise.
17923         * modules/unistdio/u16-u16-sprintf: Likewise.
17924         * modules/unistdio/u16-u16-vasnprintf: Likewise.
17925         * modules/unistdio/u16-u16-vasprintf: Likewise.
17926         * modules/unistdio/u16-u16-vsnprintf: Likewise.
17927         * modules/unistdio/u16-u16-vsprintf: Likewise.
17928         * modules/unistdio/u16-vasnprintf: Likewise.
17929         * modules/unistdio/u16-vasprintf: Likewise.
17930         * modules/unistdio/u16-vsnprintf: Likewise.
17931         * modules/unistdio/u16-vsprintf: Likewise.
17932         * modules/unistdio/u32-asnprintf: Likewise.
17933         * modules/unistdio/u32-asprintf: Likewise.
17934         * modules/unistdio/u32-snprintf: Likewise.
17935         * modules/unistdio/u32-sprintf: Likewise.
17936         * modules/unistdio/u32-u32-asnprintf: Likewise.
17937         * modules/unistdio/u32-u32-asprintf: Likewise.
17938         * modules/unistdio/u32-u32-snprintf: Likewise.
17939         * modules/unistdio/u32-u32-sprintf: Likewise.
17940         * modules/unistdio/u32-u32-vasnprintf: Likewise.
17941         * modules/unistdio/u32-u32-vasprintf: Likewise.
17942         * modules/unistdio/u32-u32-vsnprintf: Likewise.
17943         * modules/unistdio/u32-u32-vsprintf: Likewise.
17944         * modules/unistdio/u32-vasnprintf: Likewise.
17945         * modules/unistdio/u32-vasprintf: Likewise.
17946         * modules/unistdio/u32-vsnprintf: Likewise.
17947         * modules/unistdio/u32-vsprintf: Likewise.
17948         * modules/unistdio/ulc-asnprintf: Likewise.
17949         * modules/unistdio/ulc-asprintf: Likewise.
17950         * modules/unistdio/ulc-fprintf: Likewise.
17951         * modules/unistdio/ulc-snprintf: Likewise.
17952         * modules/unistdio/ulc-sprintf: Likewise.
17953         * modules/unistdio/ulc-vasnprintf: Likewise.
17954         * modules/unistdio/ulc-vasprintf: Likewise.
17955         * modules/unistdio/ulc-vfprintf: Likewise.
17956         * modules/unistdio/ulc-vsnprintf: Likewise.
17957         * modules/unistdio/ulc-vsprintf: Likewise.
17958         * modules/unistr/u8-check: Likewise.
17959         * modules/unistr/u8-chr: Likewise.
17960         * modules/unistr/u8-cmp: Likewise.
17961         * modules/unistr/u8-cmp2: Likewise.
17962         * modules/unistr/u8-cpy: Likewise.
17963         * modules/unistr/u8-cpy-alloc: Likewise.
17964         * modules/unistr/u8-endswith: Likewise.
17965         * modules/unistr/u8-mblen: Likewise.
17966         * modules/unistr/u8-mbsnlen: Likewise.
17967         * modules/unistr/u8-mbtouc: Likewise.
17968         * modules/unistr/u8-mbtouc-unsafe: Likewise.
17969         * modules/unistr/u8-mbtoucr: Likewise.
17970         * modules/unistr/u8-move: Likewise.
17971         * modules/unistr/u8-next: Likewise.
17972         * modules/unistr/u8-prev: Likewise.
17973         * modules/unistr/u8-set: Likewise.
17974         * modules/unistr/u8-startswith: Likewise.
17975         * modules/unistr/u8-stpcpy: Likewise.
17976         * modules/unistr/u8-stpncpy: Likewise.
17977         * modules/unistr/u8-strcat: Likewise.
17978         * modules/unistr/u8-strchr: Likewise.
17979         * modules/unistr/u8-strcmp: Likewise.
17980         * modules/unistr/u8-strcoll: Likewise.
17981         * modules/unistr/u8-strcpy: Likewise.
17982         * modules/unistr/u8-strcspn: Likewise.
17983         * modules/unistr/u8-strdup: Likewise.
17984         * modules/unistr/u8-strlen: Likewise.
17985         * modules/unistr/u8-strmblen: Likewise.
17986         * modules/unistr/u8-strmbtouc: Likewise.
17987         * modules/unistr/u8-strncat: Likewise.
17988         * modules/unistr/u8-strncmp: Likewise.
17989         * modules/unistr/u8-strncpy: Likewise.
17990         * modules/unistr/u8-strnlen: Likewise.
17991         * modules/unistr/u8-strpbrk: Likewise.
17992         * modules/unistr/u8-strrchr: Likewise.
17993         * modules/unistr/u8-strspn: Likewise.
17994         * modules/unistr/u8-strstr: Likewise.
17995         * modules/unistr/u8-strtok: Likewise.
17996         * modules/unistr/u8-to-u16: Likewise.
17997         * modules/unistr/u8-to-u32: Likewise.
17998         * modules/unistr/u8-uctomb: Likewise.
17999         * modules/unistr/u16-check: Likewise.
18000         * modules/unistr/u16-chr: Likewise.
18001         * modules/unistr/u16-cmp: Likewise.
18002         * modules/unistr/u16-cmp2: Likewise.
18003         * modules/unistr/u16-cpy: Likewise.
18004         * modules/unistr/u16-cpy-alloc: Likewise.
18005         * modules/unistr/u16-endswith: Likewise.
18006         * modules/unistr/u16-mblen: Likewise.
18007         * modules/unistr/u16-mbsnlen: Likewise.
18008         * modules/unistr/u16-mbtouc: Likewise.
18009         * modules/unistr/u16-mbtouc-unsafe: Likewise.
18010         * modules/unistr/u16-mbtoucr: Likewise.
18011         * modules/unistr/u16-move: Likewise.
18012         * modules/unistr/u16-next: Likewise.
18013         * modules/unistr/u16-prev: Likewise.
18014         * modules/unistr/u16-set: Likewise.
18015         * modules/unistr/u16-startswith: Likewise.
18016         * modules/unistr/u16-stpcpy: Likewise.
18017         * modules/unistr/u16-stpncpy: Likewise.
18018         * modules/unistr/u16-strcat: Likewise.
18019         * modules/unistr/u16-strchr: Likewise.
18020         * modules/unistr/u16-strcmp: Likewise.
18021         * modules/unistr/u16-strcoll: Likewise.
18022         * modules/unistr/u16-strcpy: Likewise.
18023         * modules/unistr/u16-strcspn: Likewise.
18024         * modules/unistr/u16-strdup: Likewise.
18025         * modules/unistr/u16-strlen: Likewise.
18026         * modules/unistr/u16-strmblen: Likewise.
18027         * modules/unistr/u16-strmbtouc: Likewise.
18028         * modules/unistr/u16-strncat: Likewise.
18029         * modules/unistr/u16-strncmp: Likewise.
18030         * modules/unistr/u16-strncpy: Likewise.
18031         * modules/unistr/u16-strnlen: Likewise.
18032         * modules/unistr/u16-strpbrk: Likewise.
18033         * modules/unistr/u16-strrchr: Likewise.
18034         * modules/unistr/u16-strspn: Likewise.
18035         * modules/unistr/u16-strstr: Likewise.
18036         * modules/unistr/u16-strtok: Likewise.
18037         * modules/unistr/u16-to-u32: Likewise.
18038         * modules/unistr/u16-to-u8: Likewise.
18039         * modules/unistr/u16-uctomb: Likewise.
18040         * modules/unistr/u32-check: Likewise.
18041         * modules/unistr/u32-chr: Likewise.
18042         * modules/unistr/u32-cmp: Likewise.
18043         * modules/unistr/u32-cmp2: Likewise.
18044         * modules/unistr/u32-cpy: Likewise.
18045         * modules/unistr/u32-cpy-alloc: Likewise.
18046         * modules/unistr/u32-endswith: Likewise.
18047         * modules/unistr/u32-mblen: Likewise.
18048         * modules/unistr/u32-mbsnlen: Likewise.
18049         * modules/unistr/u32-mbtouc: Likewise.
18050         * modules/unistr/u32-mbtouc-unsafe: Likewise.
18051         * modules/unistr/u32-mbtoucr: Likewise.
18052         * modules/unistr/u32-move: Likewise.
18053         * modules/unistr/u32-next: Likewise.
18054         * modules/unistr/u32-prev: Likewise.
18055         * modules/unistr/u32-set: Likewise.
18056         * modules/unistr/u32-startswith: Likewise.
18057         * modules/unistr/u32-stpcpy: Likewise.
18058         * modules/unistr/u32-stpncpy: Likewise.
18059         * modules/unistr/u32-strcat: Likewise.
18060         * modules/unistr/u32-strchr: Likewise.
18061         * modules/unistr/u32-strcmp: Likewise.
18062         * modules/unistr/u32-strcoll: Likewise.
18063         * modules/unistr/u32-strcpy: Likewise.
18064         * modules/unistr/u32-strcspn: Likewise.
18065         * modules/unistr/u32-strdup: Likewise.
18066         * modules/unistr/u32-strlen: Likewise.
18067         * modules/unistr/u32-strmblen: Likewise.
18068         * modules/unistr/u32-strmbtouc: Likewise.
18069         * modules/unistr/u32-strncat: Likewise.
18070         * modules/unistr/u32-strncmp: Likewise.
18071         * modules/unistr/u32-strncpy: Likewise.
18072         * modules/unistr/u32-strnlen: Likewise.
18073         * modules/unistr/u32-strpbrk: Likewise.
18074         * modules/unistr/u32-strrchr: Likewise.
18075         * modules/unistr/u32-strspn: Likewise.
18076         * modules/unistr/u32-strstr: Likewise.
18077         * modules/unistr/u32-strtok: Likewise.
18078         * modules/unistr/u32-to-u16: Likewise.
18079         * modules/unistr/u32-to-u8: Likewise.
18080         * modules/unistr/u32-uctomb: Likewise.
18081         * modules/uniwbrk/u8-wordbreaks: Likewise.
18082         * modules/uniwbrk/u16-wordbreaks: Likewise.
18083         * modules/uniwbrk/u32-wordbreaks: Likewise.
18084         * modules/uniwbrk/ulc-wordbreaks: Likewise.
18085         * modules/uniwbrk/wordbreak-property: Likewise.
18086         * modules/uniwidth/u8-strwidth: Likewise.
18087         * modules/uniwidth/u8-width: Likewise.
18088         * modules/uniwidth/u16-strwidth: Likewise.
18089         * modules/uniwidth/u16-width: Likewise.
18090         * modules/uniwidth/u32-strwidth: Likewise.
18091         * modules/uniwidth/u32-width: Likewise.
18092         * modules/uniwidth/width: Likewise.
18093         * modules/unicase/cased-tests (Makefile.am): Link all test programs
18094         with $(LIBUNISTRING).
18095         * modules/unicase/ignorable-tests: Likewise.
18096         * modules/unicase/locale-language-tests: Likewise.
18097         * modules/unicase/tolower-tests: Likewise.
18098         * modules/unicase/totitle-tests: Likewise.
18099         * modules/unicase/toupper-tests: Likewise.
18100         * modules/unicase/u8-casecmp-tests: Likewise.
18101         * modules/unicase/u8-casecoll-tests: Likewise.
18102         * modules/unicase/u8-casefold-tests: Likewise.
18103         * modules/unicase/u8-is-cased-tests: Likewise.
18104         * modules/unicase/u8-is-casefolded-tests: Likewise.
18105         * modules/unicase/u8-is-lowercase-tests: Likewise.
18106         * modules/unicase/u8-is-titlecase-tests: Likewise.
18107         * modules/unicase/u8-is-uppercase-tests: Likewise.
18108         * modules/unicase/u8-tolower-tests: Likewise.
18109         * modules/unicase/u8-totitle-tests: Likewise.
18110         * modules/unicase/u8-toupper-tests: Likewise.
18111         * modules/unicase/u16-casecmp-tests: Likewise.
18112         * modules/unicase/u16-casecoll-tests: Likewise.
18113         * modules/unicase/u16-casefold-tests: Likewise.
18114         * modules/unicase/u16-is-cased-tests: Likewise.
18115         * modules/unicase/u16-is-casefolded-tests: Likewise.
18116         * modules/unicase/u16-is-lowercase-tests: Likewise.
18117         * modules/unicase/u16-is-titlecase-tests: Likewise.
18118         * modules/unicase/u16-is-uppercase-tests: Likewise.
18119         * modules/unicase/u16-tolower-tests: Likewise.
18120         * modules/unicase/u16-totitle-tests: Likewise.
18121         * modules/unicase/u16-toupper-tests: Likewise.
18122         * modules/unicase/u32-casecmp-tests: Likewise.
18123         * modules/unicase/u32-casecoll-tests: Likewise.
18124         * modules/unicase/u32-casefold-tests: Likewise.
18125         * modules/unicase/u32-is-cased-tests: Likewise.
18126         * modules/unicase/u32-is-casefolded-tests: Likewise.
18127         * modules/unicase/u32-is-lowercase-tests: Likewise.
18128         * modules/unicase/u32-is-titlecase-tests: Likewise.
18129         * modules/unicase/u32-is-uppercase-tests: Likewise.
18130         * modules/unicase/u32-tolower-tests: Likewise.
18131         * modules/unicase/u32-totitle-tests: Likewise.
18132         * modules/unicase/u32-toupper-tests: Likewise.
18133         * modules/unicase/ulc-casecmp-tests: Likewise.
18134         * modules/unicase/ulc-casecoll-tests: Likewise.
18135         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
18136         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
18137         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
18138         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
18139         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
18140         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
18141         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
18142         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
18143         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
18144         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
18145         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
18146         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
18147         * modules/unictype/bidicategory-byname-tests: Likewise.
18148         * modules/unictype/bidicategory-name-tests: Likewise.
18149         * modules/unictype/bidicategory-of-tests: Likewise.
18150         * modules/unictype/bidicategory-test-tests: Likewise.
18151         * modules/unictype/block-list-tests: Likewise.
18152         * modules/unictype/block-of-tests: Likewise.
18153         * modules/unictype/block-test-tests: Likewise.
18154         * modules/unictype/category-C-tests: Likewise.
18155         * modules/unictype/category-Cc-tests: Likewise.
18156         * modules/unictype/category-Cf-tests: Likewise.
18157         * modules/unictype/category-Cn-tests: Likewise.
18158         * modules/unictype/category-Co-tests: Likewise.
18159         * modules/unictype/category-Cs-tests: Likewise.
18160         * modules/unictype/category-L-tests: Likewise.
18161         * modules/unictype/category-Ll-tests: Likewise.
18162         * modules/unictype/category-Lm-tests: Likewise.
18163         * modules/unictype/category-Lo-tests: Likewise.
18164         * modules/unictype/category-Lt-tests: Likewise.
18165         * modules/unictype/category-Lu-tests: Likewise.
18166         * modules/unictype/category-M-tests: Likewise.
18167         * modules/unictype/category-Mc-tests: Likewise.
18168         * modules/unictype/category-Me-tests: Likewise.
18169         * modules/unictype/category-Mn-tests: Likewise.
18170         * modules/unictype/category-N-tests: Likewise.
18171         * modules/unictype/category-Nd-tests: Likewise.
18172         * modules/unictype/category-Nl-tests: Likewise.
18173         * modules/unictype/category-No-tests: Likewise.
18174         * modules/unictype/category-P-tests: Likewise.
18175         * modules/unictype/category-Pc-tests: Likewise.
18176         * modules/unictype/category-Pd-tests: Likewise.
18177         * modules/unictype/category-Pe-tests: Likewise.
18178         * modules/unictype/category-Pf-tests: Likewise.
18179         * modules/unictype/category-Pi-tests: Likewise.
18180         * modules/unictype/category-Po-tests: Likewise.
18181         * modules/unictype/category-Ps-tests: Likewise.
18182         * modules/unictype/category-S-tests: Likewise.
18183         * modules/unictype/category-Sc-tests: Likewise.
18184         * modules/unictype/category-Sk-tests: Likewise.
18185         * modules/unictype/category-Sm-tests: Likewise.
18186         * modules/unictype/category-So-tests: Likewise.
18187         * modules/unictype/category-Z-tests: Likewise.
18188         * modules/unictype/category-Zl-tests: Likewise.
18189         * modules/unictype/category-Zp-tests: Likewise.
18190         * modules/unictype/category-Zs-tests: Likewise.
18191         * modules/unictype/category-and-not-tests: Likewise.
18192         * modules/unictype/category-and-tests: Likewise.
18193         * modules/unictype/category-byname-tests: Likewise.
18194         * modules/unictype/category-name-tests: Likewise.
18195         * modules/unictype/category-none-tests: Likewise.
18196         * modules/unictype/category-of-tests: Likewise.
18197         * modules/unictype/category-or-tests: Likewise.
18198         * modules/unictype/category-test-withtable-tests: Likewise.
18199         * modules/unictype/combining-class-tests: Likewise.
18200         * modules/unictype/ctype-alnum-tests: Likewise.
18201         * modules/unictype/ctype-alpha-tests: Likewise.
18202         * modules/unictype/ctype-blank-tests: Likewise.
18203         * modules/unictype/ctype-cntrl-tests: Likewise.
18204         * modules/unictype/ctype-digit-tests: Likewise.
18205         * modules/unictype/ctype-graph-tests: Likewise.
18206         * modules/unictype/ctype-lower-tests: Likewise.
18207         * modules/unictype/ctype-print-tests: Likewise.
18208         * modules/unictype/ctype-punct-tests: Likewise.
18209         * modules/unictype/ctype-space-tests: Likewise.
18210         * modules/unictype/ctype-upper-tests: Likewise.
18211         * modules/unictype/ctype-xdigit-tests: Likewise.
18212         * modules/unictype/decimal-digit-tests: Likewise.
18213         * modules/unictype/digit-tests: Likewise.
18214         * modules/unictype/mirror-tests: Likewise.
18215         * modules/unictype/numeric-tests: Likewise.
18216         * modules/unictype/property-alphabetic-tests: Likewise.
18217         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
18218         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
18219         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
18220         * modules/unictype/property-bidi-block-separator-tests: Likewise.
18221         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
18222         * modules/unictype/property-bidi-common-separator-tests: Likewise.
18223         * modules/unictype/property-bidi-control-tests: Likewise.
18224         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
18225         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
18226         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
18227         * modules/unictype/property-bidi-european-digit-tests: Likewise.
18228         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
18229         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
18230         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
18231         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
18232         * modules/unictype/property-bidi-pdf-tests: Likewise.
18233         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
18234         * modules/unictype/property-bidi-whitespace-tests: Likewise.
18235         * modules/unictype/property-byname-tests: Likewise.
18236         * modules/unictype/property-combining-tests: Likewise.
18237         * modules/unictype/property-composite-tests: Likewise.
18238         * modules/unictype/property-currency-symbol-tests: Likewise.
18239         * modules/unictype/property-dash-tests: Likewise.
18240         * modules/unictype/property-decimal-digit-tests: Likewise.
18241         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
18242         * modules/unictype/property-deprecated-tests: Likewise.
18243         * modules/unictype/property-diacritic-tests: Likewise.
18244         * modules/unictype/property-extender-tests: Likewise.
18245         * modules/unictype/property-format-control-tests: Likewise.
18246         * modules/unictype/property-grapheme-base-tests: Likewise.
18247         * modules/unictype/property-grapheme-extend-tests: Likewise.
18248         * modules/unictype/property-grapheme-link-tests: Likewise.
18249         * modules/unictype/property-hex-digit-tests: Likewise.
18250         * modules/unictype/property-hyphen-tests: Likewise.
18251         * modules/unictype/property-id-continue-tests: Likewise.
18252         * modules/unictype/property-id-start-tests: Likewise.
18253         * modules/unictype/property-ideographic-tests: Likewise.
18254         * modules/unictype/property-ids-binary-operator-tests: Likewise.
18255         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
18256         * modules/unictype/property-ignorable-control-tests: Likewise.
18257         * modules/unictype/property-iso-control-tests: Likewise.
18258         * modules/unictype/property-join-control-tests: Likewise.
18259         * modules/unictype/property-left-of-pair-tests: Likewise.
18260         * modules/unictype/property-line-separator-tests: Likewise.
18261         * modules/unictype/property-logical-order-exception-tests: Likewise.
18262         * modules/unictype/property-lowercase-tests: Likewise.
18263         * modules/unictype/property-math-tests: Likewise.
18264         * modules/unictype/property-non-break-tests: Likewise.
18265         * modules/unictype/property-not-a-character-tests: Likewise.
18266         * modules/unictype/property-numeric-tests: Likewise.
18267         * modules/unictype/property-other-alphabetic-tests: Likewise.
18268         * modules/unictype/property-other-default-ignorable-code-point-tests:
18269         Likewise.
18270         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
18271         * modules/unictype/property-other-id-continue-tests: Likewise.
18272         * modules/unictype/property-other-id-start-tests: Likewise.
18273         * modules/unictype/property-other-lowercase-tests: Likewise.
18274         * modules/unictype/property-other-math-tests: Likewise.
18275         * modules/unictype/property-other-uppercase-tests: Likewise.
18276         * modules/unictype/property-paired-punctuation-tests: Likewise.
18277         * modules/unictype/property-paragraph-separator-tests: Likewise.
18278         * modules/unictype/property-pattern-syntax-tests: Likewise.
18279         * modules/unictype/property-pattern-white-space-tests: Likewise.
18280         * modules/unictype/property-private-use-tests: Likewise.
18281         * modules/unictype/property-punctuation-tests: Likewise.
18282         * modules/unictype/property-quotation-mark-tests: Likewise.
18283         * modules/unictype/property-radical-tests: Likewise.
18284         * modules/unictype/property-sentence-terminal-tests: Likewise.
18285         * modules/unictype/property-soft-dotted-tests: Likewise.
18286         * modules/unictype/property-space-tests: Likewise.
18287         * modules/unictype/property-terminal-punctuation-tests: Likewise.
18288         * modules/unictype/property-test-tests: Likewise.
18289         * modules/unictype/property-titlecase-tests: Likewise.
18290         * modules/unictype/property-unassigned-code-value-tests: Likewise.
18291         * modules/unictype/property-unified-ideograph-tests: Likewise.
18292         * modules/unictype/property-uppercase-tests: Likewise.
18293         * modules/unictype/property-variation-selector-tests: Likewise.
18294         * modules/unictype/property-white-space-tests: Likewise.
18295         * modules/unictype/property-xid-continue-tests: Likewise.
18296         * modules/unictype/property-xid-start-tests: Likewise.
18297         * modules/unictype/property-zero-width-tests: Likewise.
18298         * modules/unictype/scripts-tests: Likewise.
18299         * modules/unictype/syntax-c-ident-tests: Likewise.
18300         * modules/unictype/syntax-c-whitespace-tests: Likewise.
18301         * modules/unictype/syntax-java-ident-tests: Likewise.
18302         * modules/unictype/syntax-java-whitespace-tests: Likewise.
18303         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
18304         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
18305         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
18306         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
18307         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
18308         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
18309         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
18310         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
18311         * modules/uniname/uniname-tests: Likewise.
18312         * modules/uninorm/canonical-decomposition-tests: Likewise.
18313         * modules/uninorm/compat-decomposition-tests: Likewise.
18314         * modules/uninorm/composition-tests: Likewise.
18315         * modules/uninorm/decomposing-form-tests: Likewise.
18316         * modules/uninorm/decomposition-tests: Likewise.
18317         * modules/uninorm/filter-tests: Likewise.
18318         * modules/uninorm/nfc-tests: Likewise.
18319         * modules/uninorm/nfd-tests: Likewise.
18320         * modules/uninorm/nfkc-tests: Likewise.
18321         * modules/uninorm/nfkd-tests: Likewise.
18322         * modules/uninorm/u8-normcmp-tests: Likewise.
18323         * modules/uninorm/u8-normcoll-tests: Likewise.
18324         * modules/uninorm/u16-normcmp-tests: Likewise.
18325         * modules/uninorm/u16-normcoll-tests: Likewise.
18326         * modules/uninorm/u32-normcmp-tests: Likewise.
18327         * modules/uninorm/u32-normcoll-tests: Likewise.
18328         * modules/unistdio/u8-asnprintf-tests: Likewise.
18329         * modules/unistdio/u8-vasnprintf-tests: Likewise.
18330         * modules/unistdio/u8-vasprintf-tests: Likewise.
18331         * modules/unistdio/u8-vsnprintf-tests: Likewise.
18332         * modules/unistdio/u8-vsprintf-tests: Likewise.
18333         * modules/unistdio/u16-asnprintf-tests: Likewise.
18334         * modules/unistdio/u16-vasnprintf-tests: Likewise.
18335         * modules/unistdio/u16-vasprintf-tests: Likewise.
18336         * modules/unistdio/u16-vsnprintf-tests: Likewise.
18337         * modules/unistdio/u16-vsprintf-tests: Likewise.
18338         * modules/unistdio/u32-asnprintf-tests: Likewise.
18339         * modules/unistdio/u32-vasnprintf-tests: Likewise.
18340         * modules/unistdio/u32-vasprintf-tests: Likewise.
18341         * modules/unistdio/u32-vsnprintf-tests: Likewise.
18342         * modules/unistdio/u32-vsprintf-tests: Likewise.
18343         * modules/unistdio/ulc-asnprintf-tests: Likewise.
18344         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
18345         * modules/unistdio/ulc-vasprintf-tests: Likewise.
18346         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
18347         * modules/unistdio/ulc-vsprintf-tests: Likewise.
18348         * modules/unistr/u8-check-tests: Likewise.
18349         * modules/unistr/u8-chr-tests: Likewise.
18350         * modules/unistr/u8-cmp-tests: Likewise.
18351         * modules/unistr/u8-cmp2-tests: Likewise.
18352         * modules/unistr/u8-cpy-alloc-tests: Likewise.
18353         * modules/unistr/u8-cpy-tests: Likewise.
18354         * modules/unistr/u8-mblen-tests: Likewise.
18355         * modules/unistr/u8-mbsnlen-tests: Likewise.
18356         * modules/unistr/u8-mbtouc-tests: Likewise.
18357         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
18358         * modules/unistr/u8-mbtoucr-tests: Likewise.
18359         * modules/unistr/u8-move-tests: Likewise.
18360         * modules/unistr/u8-next-tests: Likewise.
18361         * modules/unistr/u8-prev-tests: Likewise.
18362         * modules/unistr/u8-set-tests: Likewise.
18363         * modules/unistr/u8-stpcpy-tests: Likewise.
18364         * modules/unistr/u8-stpncpy-tests: Likewise.
18365         * modules/unistr/u8-strcat-tests: Likewise.
18366         * modules/unistr/u8-strcmp-tests: Likewise.
18367         * modules/unistr/u8-strcoll-tests: Likewise.
18368         * modules/unistr/u8-strcpy-tests: Likewise.
18369         * modules/unistr/u8-strdup-tests: Likewise.
18370         * modules/unistr/u8-strlen-tests: Likewise.
18371         * modules/unistr/u8-strmblen-tests: Likewise.
18372         * modules/unistr/u8-strmbtouc-tests: Likewise.
18373         * modules/unistr/u8-strncat-tests: Likewise.
18374         * modules/unistr/u8-strncmp-tests: Likewise.
18375         * modules/unistr/u8-strncpy-tests: Likewise.
18376         * modules/unistr/u8-strnlen-tests: Likewise.
18377         * modules/unistr/u8-to-u16-tests: Likewise.
18378         * modules/unistr/u8-to-u32-tests: Likewise.
18379         * modules/unistr/u8-uctomb-tests: Likewise.
18380         * modules/unistr/u16-check-tests: Likewise.
18381         * modules/unistr/u16-chr-tests: Likewise.
18382         * modules/unistr/u16-cmp-tests: Likewise.
18383         * modules/unistr/u16-cmp2-tests: Likewise.
18384         * modules/unistr/u16-cpy-alloc-tests: Likewise.
18385         * modules/unistr/u16-cpy-tests: Likewise.
18386         * modules/unistr/u16-mblen-tests: Likewise.
18387         * modules/unistr/u16-mbsnlen-tests: Likewise.
18388         * modules/unistr/u16-mbtouc-tests: Likewise.
18389         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
18390         * modules/unistr/u16-mbtoucr-tests: Likewise.
18391         * modules/unistr/u16-move-tests: Likewise.
18392         * modules/unistr/u16-next-tests: Likewise.
18393         * modules/unistr/u16-prev-tests: Likewise.
18394         * modules/unistr/u16-set-tests: Likewise.
18395         * modules/unistr/u16-stpcpy-tests: Likewise.
18396         * modules/unistr/u16-stpncpy-tests: Likewise.
18397         * modules/unistr/u16-strcat-tests: Likewise.
18398         * modules/unistr/u16-strcmp-tests: Likewise.
18399         * modules/unistr/u16-strcoll-tests: Likewise.
18400         * modules/unistr/u16-strcpy-tests: Likewise.
18401         * modules/unistr/u16-strdup-tests: Likewise.
18402         * modules/unistr/u16-strlen-tests: Likewise.
18403         * modules/unistr/u16-strmblen-tests: Likewise.
18404         * modules/unistr/u16-strmbtouc-tests: Likewise.
18405         * modules/unistr/u16-strncat-tests: Likewise.
18406         * modules/unistr/u16-strncmp-tests: Likewise.
18407         * modules/unistr/u16-strncpy-tests: Likewise.
18408         * modules/unistr/u16-strnlen-tests: Likewise.
18409         * modules/unistr/u16-to-u32-tests: Likewise.
18410         * modules/unistr/u16-to-u8-tests: Likewise.
18411         * modules/unistr/u16-uctomb-tests: Likewise.
18412         * modules/unistr/u32-check-tests: Likewise.
18413         * modules/unistr/u32-chr-tests: Likewise.
18414         * modules/unistr/u32-cmp-tests: Likewise.
18415         * modules/unistr/u32-cmp2-tests: Likewise.
18416         * modules/unistr/u32-cpy-alloc-tests: Likewise.
18417         * modules/unistr/u32-cpy-tests: Likewise.
18418         * modules/unistr/u32-mblen-tests: Likewise.
18419         * modules/unistr/u32-mbsnlen-tests: Likewise.
18420         * modules/unistr/u32-mbtouc-tests: Likewise.
18421         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
18422         * modules/unistr/u32-mbtoucr-tests: Likewise.
18423         * modules/unistr/u32-move-tests: Likewise.
18424         * modules/unistr/u32-next-tests: Likewise.
18425         * modules/unistr/u32-prev-tests: Likewise.
18426         * modules/unistr/u32-set-tests: Likewise.
18427         * modules/unistr/u32-stpcpy-tests: Likewise.
18428         * modules/unistr/u32-stpncpy-tests: Likewise.
18429         * modules/unistr/u32-strcat-tests: Likewise.
18430         * modules/unistr/u32-strcmp-tests: Likewise.
18431         * modules/unistr/u32-strcoll-tests: Likewise.
18432         * modules/unistr/u32-strcpy-tests: Likewise.
18433         * modules/unistr/u32-strdup-tests: Likewise.
18434         * modules/unistr/u32-strlen-tests: Likewise.
18435         * modules/unistr/u32-strmblen-tests: Likewise.
18436         * modules/unistr/u32-strmbtouc-tests: Likewise.
18437         * modules/unistr/u32-strncat-tests: Likewise.
18438         * modules/unistr/u32-strncmp-tests: Likewise.
18439         * modules/unistr/u32-strncpy-tests: Likewise.
18440         * modules/unistr/u32-strnlen-tests: Likewise.
18441         * modules/unistr/u32-to-u16-tests: Likewise.
18442         * modules/unistr/u32-to-u8-tests: Likewise.
18443         * modules/unistr/u32-uctomb-tests: Likewise.
18444         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
18445         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
18446         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
18447         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
18448         * modules/uniwidth/u8-strwidth-tests: Likewise.
18449         * modules/uniwidth/u8-width-tests: Likewise.
18450         * modules/uniwidth/u16-strwidth-tests: Likewise.
18451         * modules/uniwidth/u16-width-tests: Likewise.
18452         * modules/uniwidth/u32-strwidth-tests: Likewise.
18453         * modules/uniwidth/u32-width-tests: Likewise.
18454         * modules/uniwidth/width-tests: Likewise.
18455
18456 2010-05-18  Richard Jones  <rjones@redhat.com>
18457
18458         doc: users.txt: list hivex
18459         * users.txt: Add hivex.
18460
18461 2010-05-18  Richard Jones  <rjones@redhat.com>
18462
18463         doc: users.txt: list febootstrap
18464         * users.txt: Add febootstrap.
18465
18466 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
18467
18468         bootstrap: fix an error when gnulib is not used as a git submodule
18469         * build-aux/bootstrap (gnulib_path): If its length is zero then
18470         assign "gnulib" to it.
18471         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
18472
18473 2010-05-16  Bruno Haible  <bruno@clisp.org>
18474
18475         Avoid autoconf warnings about AM_ICONV.
18476         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
18477         2.64.
18478
18479 2010-05-16  Bruno Haible  <bruno@clisp.org>
18480
18481         absolute-header: Make the macro usable in more situations.
18482         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
18483         from gl_ABSOLUTE_HEADER.
18484         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
18485
18486 2010-05-16  James Youngman  <jay@gnu.org>
18487
18488         doc: update users.txt
18489         * users.txt: Add CSSC.
18490
18491 2010-05-16  Jim Meyering  <meyering@redhat.com>
18492
18493         init.sh: fix an error in the previous change; add more comments
18494         * tests/init.sh: Compare exit code in loop against 9, not 2.
18495         Patch by Bruno Haible.
18496         Make the two tests more similar by adding an empty "then" clause.
18497         Add comments.
18498
18499         init.sh: avoid unnecessary shell re-exec
18500         * tests/init.sh: Improve the re-exec-required check to first test the
18501         current shell.  If it passes the test, do not search for a shell that
18502         does pass, and do not re-exec.  This test is particularly contorted to
18503         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
18504         of $(...) evokes a syntax error and causes immediate shell exit with
18505         status 2.  Bruno Haible reported that the re-exec made it impossible
18506         to single-step through any init.sh-using script.
18507
18508 2010-05-16  Bruno Haible  <bruno@clisp.org>
18509
18510         Fix collision between gnulib's and libintl's printf replacements.
18511         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
18512         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
18513         (printf): When using GNU C, map the __printf__ function to rpl_printf
18514         via __asm__. When not using GNU C, define rpl_printf instead of
18515         __printf__.
18516         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
18517         commit.
18518         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
18519         commit.
18520         * m4/asm-underscore.m4: New file.
18521         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
18522         * modules/stdio (Files): Add m4/asm-underscore.m4.
18523         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
18524         Reported by Ben Pfaff.
18525
18526 2010-05-16  Bruno Haible  <bruno@clisp.org>
18527
18528         verify: Avoid skipping the test on openSUSE 11.0.
18529         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
18530
18531 2010-05-13  Bruno Haible  <bruno@clisp.org>
18532
18533         Avoid useless warnings from G++.
18534         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
18535         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
18536         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
18537
18538 2010-05-11  Jim Meyering  <meyering@redhat.com>
18539
18540         maint.mk: tweak preceding change
18541         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
18542         regexps tighter by anchoring at EOL, and make the new group "shy"
18543         for slightly decreased overhead.
18544
18545 2010-05-11  Eric Blake  <eblake@redhat.com>
18546
18547         maint.mk: gnulib doesn't guarantee NSIG
18548         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
18549
18550 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
18551
18552         test-pwrite.c: Remove unused variable declaration.
18553         * tests/test-pwrite.c (main): Remove read_buf declaration.
18554
18555         Remove useless test-pwrite.sh file.
18556         * tests/test-pwrite.sh: Delete file.
18557         * modules/pwrite-tests: Remove references.
18558         Reported by Bruno Haible.
18559
18560 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
18561
18562         init.sh: fix a typo
18563         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
18564
18565 2010-05-10  Jim Meyering  <meyering@redhat.com>
18566
18567         maint.mk: avoid using a temporary file in the always-defined-macros check
18568         * top/maint.mk (.re-defmac): Remove rule.
18569         (gl_trap_): Remove definition.
18570         (sc_prohibit_always-defined_macros): Rewrite not to create and
18571         depend on a temporary file.  Instead, depend on GNU grep's ability
18572         to read a list of regular expressions from stdin when given "-f -".
18573
18574 2010-05-09  Bruno Haible  <bruno@clisp.org>
18575
18576         Update to GNU gettext 0.18, part 1.
18577         * m4/gettext.m4: Update to GNU gettext 0.18.
18578         * m4/intl.m4: Likewise.
18579         * m4/po.m4: Likewise.
18580         * modules/gettext (Files): Add m4/fcntl-o.m4.
18581         (configure.ac): Require gettext infrastructure from version 0.18.
18582
18583 2010-05-09  Jim Meyering  <meyering@redhat.com>
18584
18585         init.sh: enable MALLOC_PERTURB_
18586         * tests/init.sh: Enable glibc's malloc-perturbing option.
18587
18588         maint.mk: improve sc_cross_check_PATH_usage_in_tests
18589         With my recent change in init.sh from the two-line form:
18590             -#   : ${srcdir=.}
18591             -#   . "$srcdir/init.sh"; path_prepend_ .
18592             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
18593         I noticed that using the one-line form would cause this test
18594         to fail with a false-positive, or to stop working altogether,
18595         depending on whether help-version changed or all the tests did.
18596         * top/maint.mk (_hv_regex): Remove this definition.
18597         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
18598         (_hv_regex_strong): Use a stronger regex to check for conformance.
18599         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
18600         Give a separate diagnostic for lack of conforming use.
18601
18602         maint.mk: prohibit definition of symbols defined by gnulib
18603         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
18604         definition of symbols defined by gnulib.
18605
18606 2010-05-09  Bruno Haible  <bruno@clisp.org>
18607
18608         acl: Avoid test failure on Cygwin-hosted mingw.
18609         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
18610
18611 2010-05-09  Bruno Haible  <bruno@clisp.org>
18612
18613         error: Use system's fcntl function.
18614         * lib/error.c (fcntl): Undefine.
18615
18616 2010-05-09  Jim Meyering  <meyering@redhat.com>
18617
18618         verify: adjust formatting to be more consistent
18619         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
18620         argument-list '('s, and after one comma.
18621
18622 2010-05-09  Bruno Haible  <bruno@clisp.org>
18623
18624         error: More reliable output on mingw.
18625         * lib/error.c: Include <windows.h>.
18626         (is_open): New function.
18627         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
18628         defined.
18629
18630 2010-05-09  Bruno Haible  <bruno@clisp.org>
18631
18632         vasnprintf: Fix syntax errors in libintl build on mingw.
18633         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
18634         pad_ourselves and prec_ourselves after use.
18635
18636 2010-05-08  Bruno Haible  <bruno@clisp.org>
18637
18638         * lib/config.charset: Update comments for Cygwin 1.7.
18639         * lib/localcharset.c: Likewise.
18640
18641 2010-05-07  Jim Meyering  <meyering@redhat.com>
18642
18643         init.sh: improve comments
18644         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
18645         . "${srcdir=.}/init.sh"; path_prepend_ .
18646         Add a note about path_prepend_ and the alternative of using
18647         TESTS_ENVIRONMENT.
18648
18649 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
18650
18651         exclude: Unescape hashed patterns in wildcard mode.
18652         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
18653         to the hash list.
18654         * tests/test-exclude8.sh: New test case.
18655         * modules/exclude-tests: Add new test.
18656
18657 2010-05-05  Eric Blake  <eblake@redhat.com>
18658
18659         verify: automate tests
18660         * modules/verify-tests: New module.
18661         * tests/test-verify.sh: New file.
18662         * tests/test-verify.c: Guard each negative test with a unique id.
18663         Also avoid warning about unused left hand of comma expressions.
18664
18665 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18666
18667         Further improvements to verify.h, suggested by Eric Blake.
18668         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
18669         the GL_* versions, to avoid collision with OpenGL.
18670         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
18671         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
18672         than testing merely whether it's defined.
18673
18674         Modify verify.h to pacify gcc -Wredundant_decls.
18675         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
18676         These use the prefix "GL_" since they're likely to be useful elsewhere.
18677         We may need to break them out into a different .h file.
18678         (__COUNTER__): Define to 0 if the compiler doesn't support it.
18679         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
18680         of verify_function__.
18681
18682 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
18683
18684         Tests for module pwrite.
18685         * modules/pwrite-tests: New file.
18686         * tests/test-pwrite.sh: New file.
18687         * tests/test-pwrite.c: New file.
18688
18689         New module pwrite.
18690         * lib/unistd.in.h (pwrite): New declaration.
18691         * lib/pwrite.c: New file, from glibc with modifications.
18692         * m4/pwrite.m4: New file.
18693         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
18694         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
18695         REPLACE_PWRITE.
18696         * modules/pwrite: New file.
18697         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
18698         REPLACE_PWRITE.
18699         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
18700         * doc/posix-functions/pwrite.texi: Mention the new module.
18701
18702 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
18703
18704         pread: Update documentation.
18705         * doc/posix-functions/pread.texi: Mention the 'pread' module.
18706
18707 2010-05-04  Eric Blake  <eblake@redhat.com>
18708
18709         docs: update cygwin progress
18710         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
18711         this bug.
18712         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
18713         Added in cygwin 1.7.2.
18714         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
18715         Likewise.
18716         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
18717         Likewise.
18718         * doc/glibc-functions/dup3.texi (dup3): Likewise.
18719         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
18720         * doc/glibc-functions/accept4.texi (accept4): Likewise.
18721         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
18722         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
18723         Mention nproc module.
18724         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
18725         bug in cygwin 1.7.5 addition.
18726         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
18727         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
18728         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
18729         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
18730         1.7.5.
18731         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
18732         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
18733         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
18734         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
18735         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
18736         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
18737         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
18738         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
18739         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
18740         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
18741         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
18742         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
18743         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
18744         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
18745         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
18746         Likewise.
18747         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
18748         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
18749         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
18750         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
18751         Likewise.
18752         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
18753         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
18754         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
18755         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
18756         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
18757         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
18758         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
18759         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
18760         Likewise.
18761         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
18762         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
18763         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
18764         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
18765         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
18766         Likewise.
18767         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
18768         Likewise.
18769         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
18770         Likewise.
18771         * doc/glibc-functions/xdrrec_endofrecord.texi
18772         (xdrrec_endofrecord): Likewise.
18773         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
18774         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
18775         Likewise.
18776         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
18777         Likewise.
18778
18779 2010-05-04  Jim Meyering  <meyering@redhat.com>
18780
18781         gendocs.sh: make its "-s FILE" option more useful
18782         * build-aux/gendocs.sh: When honoring the -s FILE option, update
18783         $PACKAGE to reflect the probably-different basename of "FILE".
18784
18785 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
18786
18787         bootstrap: don't ignore download_po_files failure
18788         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
18789         failure.
18790
18791 2010-05-03  Jim Meyering  <meyering@redhat.com>
18792
18793         maint.mk: allow to pass options to gendocs.sh
18794         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
18795         (gendocs_options_): New overridable variable.
18796
18797         gnu-web-doc-update: don't ignore configure or build failure
18798         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
18799
18800         announce-gen: backslash-escape '@'s in --help output
18801         * build-aux/announce-gen: Fix syntax errors.
18802
18803         maint.mk, announce-gen: allow project-specific announcement mail headers
18804         * top/maint.mk (translation_project_): Define default.
18805         (announcement_Cc_, announcement_mail_headers_): Likewise.
18806         (announcement): Invoke announce-gen with new --mail-headers option.
18807         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
18808
18809         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
18810         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
18811         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
18812         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
18813         line in the "err2" output file when running "make check" in verbose
18814         mode (i.e., with set -x enabled).
18815
18816 2010-05-03  Bruno Haible  <bruno@clisp.org>
18817
18818         wctob: Fix for weird platforms.
18819         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
18820         argument value.
18821
18822 2010-05-03  Jim Meyering  <meyering@redhat.com>
18823
18824         maint.mk: prohibit unwarranted use of <strings.h>
18825         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
18826         strings.h in a file that does not also use strcasecmp, strncasecmp,
18827         ffs or ffsll.
18828
18829         maint.mk: remove obsolete comments
18830         * top/maint.mk: Remove stale, commented-out rules.
18831
18832 2010-05-02  Bruno Haible  <bruno@clisp.org>
18833
18834         wcwidth: Declare also when it's aliased.
18835         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
18836         macro.
18837
18838 2010-05-02  Bruno Haible  <bruno@clisp.org>
18839
18840         Fix regression from 2010-04-25.
18841         * gnulib-tool (func_modules_transitive_closure): Check the status of
18842         all modules, not only of the tests that are of the form foo-tests where
18843         foo is a module.
18844
18845 2010-05-02  Bruno Haible  <bruno@clisp.org>
18846
18847         wctob: Work around nasty Cygwin 1.7.2 bug.
18848         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
18849         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
18850
18851 2010-05-01  Bruno Haible  <bruno@clisp.org>
18852
18853         fpurge: Sharper test.
18854         * tests/test-fpurge.c (main): Add one more ftell check.
18855         * modules/fpurge-tests (Depends-on): Add ftell.
18856         Suggested by Eric Blake.
18857
18858 2010-05-01  Bruno Haible  <bruno@clisp.org>
18859
18860         ftello: Another test.
18861         * tests/test-ftello3.c: New file.
18862         * modules/ftello-tests (Files): Add it.
18863         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
18864         MOSTLYCLEANFILES.
18865
18866         ftell: Another test.
18867         * tests/test-ftell3.c: New file.
18868         * modules/ftell-tests (Files): Add it.
18869         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
18870         MOSTLYCLEANFILES.
18871
18872 2010-05-01  Bruno Haible  <bruno@clisp.org>
18873
18874         ftell, ftello: Work around Solaris bug.
18875         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
18876         * lib/ftello.c: Include stdio-impl.h.
18877         (ftello): On Solaris, when _IOWRT is set, compute the result without
18878         looking at _IOREAD.
18879         * modules/ftello (Files): Add lib/stdio-impl.h.
18880         * doc/posix-functions/ftell.texi: Mention Solaris bug.
18881         * doc/posix-functions/ftello.texi: Likewise.
18882         Reported by Eric Blake.
18883
18884 2010-05-01  Bruno Haible  <bruno@clisp.org>
18885
18886         freading: Adapt to special meaning of _IOREAD flag on Solaris.
18887         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
18888         the _IOWRT flag is also set.
18889
18890 2010-05-01  Bruno Haible  <bruno@clisp.org>
18891
18892         Fix doc about a HP-UX stdio bug.
18893         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
18894         * doc/posix-functions/ftello.texi: Likewise.
18895
18896 2010-05-01  Bruno Haible  <bruno@clisp.org>
18897
18898         lseek test: Fix failure on Solaris.
18899         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
18900         output.
18901
18902 2010-04-30  Jim Meyering  <meyering@redhat.com>
18903
18904         bootstrap: don't ignore failure to generate po*/Makevars
18905         * build-aux/bootstrap (with_gettext): Don't ignore failure
18906         to create po/Makevars or runtime-po/Makevars.
18907
18908 2010-04-29  Eric Blake  <eblake@redhat.com>
18909
18910         headers: relax license to LGPLv2+
18911         * modules/fcntl-h (License): Relax license.
18912         * modules/getopt-posix (License): Likewise.
18913         * modules/locale (License): Likewise.
18914         * modules/math (License): Likewise.
18915         * modules/pty (License): Likewise.
18916         * modules/sched (License): Likewise.
18917         * modules/search (License): Likewise.
18918         * modules/spawn (License): Likewise.
18919         * modules/stdarg (License): Likewise.
18920         * modules/sysexits (License): Likewise.
18921
18922 2010-04-29  Jim Meyering  <meyering@redhat.com>
18923
18924         inttypes: relax license to LGPLv2+
18925         * modules/inttypes (License): Relax license.
18926
18927 2010-04-29  Simon Josefsson  <simon@josefsson.org>
18928
18929         * top/maint.mk (indent): Run twice to produce idempotent results.
18930
18931 2010-04-28  Bruno Haible  <bruno@clisp.org>
18932
18933         getdate: Generate getdate.c in the source directory.
18934         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
18935         MOSTLYCLEANFILES.
18936         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
18937
18938 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
18939
18940         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
18941         is not declared as a const *; avoid warnings in that case.
18942
18943 2010-04-28  Eric Blake  <eblake@redhat.com>
18944
18945         canonicalize-lgpl: avoid compiler warning
18946         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
18947         declaration' / 'extraneous semicolon' warning with some compilers.
18948         Reported by Andreas Gruenbacher.
18949
18950 2010-04-28  Jim Meyering  <meyering@redhat.com>
18951
18952         init.sh: ensure a more reliable exit status when exiting via trap
18953         * tests/init.sh (setup_): Don't rely on $? in signal handler.
18954         Inspired by patches from Dmitry V. Levin.
18955         Also trap on signal 3 (SIGQUIT).
18956
18957 2010-04-27  Bruno Haible  <bruno@clisp.org>
18958
18959         Update doc about utimes().
18960         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
18961         'utimens' module.
18962         Reported by Andreas Gruenbacher <agruen@suse.de>.
18963
18964 2010-04-27  Eric Blake  <eblake@redhat.com>
18965
18966         full-read, full-write: relax license
18967         * modules/full-read (License): Drop to LGPLv2+.
18968         * modules/full-write (License): Likewise.
18969         * modules/safe-read (License): Likewise.
18970         * modules/safe-write (License): Likewise.
18971
18972         pthread: mention library for linking
18973         * modules/pthread (Link): Mention $(LIB_PTHREAD).
18974
18975 2010-04-27  Jim Meyering  <meyering@redhat.com>
18976
18977         maint.mk: fix a bug introduced in last change
18978         * top/maint.mk (gl_assured_headers_): Now that all names are on
18979         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
18980         is not anchored to end of word, it should be adequate.
18981
18982         maint.mk: avoid side-effect in latest syntax-check
18983         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
18984         to run commands via $(shell...), and hence to incur cost only when
18985         the new rule is actually run.
18986
18987         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
18988         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
18989         and use that to create a regexp used to detect all #if HAVE_..._H uses.
18990         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
18991         (gl_assured_headers_, az_, AZ_): Define.
18992         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
18993
18994 2010-04-26  Jim Meyering  <jim@meyering.net>
18995             Bruno Haible  <bruno@clisp.org>
18996
18997         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
18998         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
18999         Prompted by an exchange with Gilles Espinasse.
19000
19001 2010-04-26  Jim Meyering  <meyering@redhat.com>
19002
19003         git-version-gen: aesthetic tweak
19004         * build-aux/git-version-gen: Use "$nl" rather than a literal,
19005         so that the command remains on a single line.
19006
19007 2010-04-26  Eric Blake  <eblake@redhat.com>
19008
19009         git-version-gen: allow use on EBCDIC hosts
19010         * build-aux/git-version-gen (dirty): Use literal rather than tying
19011         ourselves to ascii.
19012         Reported by Steve Goetze.
19013
19014 2010-04-25  Bruno Haible  <bruno@clisp.org>
19015
19016         netdb: Add support for GNULIB_POSIXCHECK.
19017         * lib/netdb.in.h: Include warn-on-use.h.
19018         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
19019         functions are used when GNULIB_POSIXCHECK is defined and the
19020         getaddrinfo module is not in use.
19021         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
19022         freeaddrinfo, gai_strerror, getnameinfo are declared.
19023         * modules/netdb (Depends-on): Add warn-on-use.
19024         (Makefile.am): Include warn-on-use.h in netdb.h.
19025
19026 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
19027
19028         build: avoid "make check" failure without .git/ directory
19029         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
19030         there is no .git/ directory.
19031
19032 2010-04-25  Bruno Haible  <bruno@clisp.org>
19033
19034         ptsname: Fix misuse of ttyname_r.
19035         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
19036         of errno.
19037
19038 2010-04-25  Bruno Haible  <bruno@clisp.org>
19039
19040         ttyname_r: Make it work on Solaris 10.
19041         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
19042         if the system function has the POSIX declaration. Test whether the
19043         function fails if the buffer is less than 128 bytes large.
19044         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
19045         system's ttyname_r function. Provide a reasonably large buffer.
19046         * modules/ttyname_r (Depends-on): Add extensions.
19047         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
19048
19049 2010-04-25  Bruno Haible  <bruno@clisp.org>
19050
19051         Use the 'extensions' module for some more functions on Solaris.
19052         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
19053         module.
19054         * doc/posix-functions/ctime_r.texi: Likewise.
19055         * doc/posix-functions/getgrgid_r.texi: Likewise.
19056         * doc/posix-functions/getgrnam_r.texi: Likewise.
19057         * doc/posix-functions/getpwnam_r.texi: Likewise.
19058         * doc/posix-functions/getpwuid_r.texi: Likewise.
19059         * doc/posix-functions/readdir_r.texi: Likewise.
19060         * doc/posix-functions/sigwait.texi: Likewise.
19061         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
19062         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
19063
19064 2010-04-25  Bruno Haible  <bruno@clisp.org>
19065
19066         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
19067         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
19068         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
19069         * lib/ttyname_r.c: Include <limits.h>.
19070         (ttyname_r): Define using the system's ttyname_r function, if it exists
19071         and not on Solaris.
19072         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
19073         set.
19074         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
19075         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
19076         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
19077         Reported by Simon Josefsson.
19078
19079 2010-04-25  Bruno Haible  <bruno@clisp.org>
19080
19081         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
19082         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
19083         * doc/posix-functions/ctime_r.texi: Likewise.
19084         * doc/posix-functions/getgrgid_r.texi: Likewise.
19085         * doc/posix-functions/getgrnam_r.texi: Likewise.
19086         * doc/posix-functions/getlogin_r.texi: Likewise.
19087         * doc/posix-functions/getpwnam_r.texi: Likewise.
19088         * doc/posix-functions/getpwuid_r.texi: Likewise.
19089         * doc/posix-functions/readdir_r.texi: Likewise.
19090         * doc/posix-functions/sigwait.texi: Likewise.
19091         * doc/posix-functions/ttyname_r.texi: Likewise.
19092         Reported by Simon Josefsson.
19093
19094 2010-04-25  Bruno Haible  <bruno@clisp.org>
19095
19096         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
19097         * gnulib-tool (func_usage): Document that --with-*-tests options apply
19098         also to --create-testdir.
19099         (func_acceptable): Don't consider the status of *-tests modules here.
19100         (func_modules_transitive_closure): Consider it here, before including a
19101         test module.
19102         (func_import, func_create_testdir): Set inc_all_direct_tests,
19103         inc_all_indirect_tests.
19104         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
19105         --create-testdir and --create-megatestdir.
19106
19107 2010-04-25  Bruno Haible  <bruno@clisp.org>
19108
19109         gnulib-tool: Add --without-*-tests options.
19110         * gnulib-tool (func_usage): Document the --without-*-tests options.
19111         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
19112         excl_unportable_tests): New variables.
19113         Fail if they are specified with --import or --update.
19114         (func_acceptable): Respect the excl_*_tests variables.
19115         (func_import): Set the excl_*_tests variables to empty.
19116
19117 2010-04-25  Simon Josefsson  <simon@josefsson.org>
19118             Bruno Haible  <bruno@clisp.org>
19119
19120         Work around a MacOS X 10.4 bug with openpty.
19121         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
19122         * tests/test-openpty.c (main): Close the master side explicitly.
19123
19124 2010-04-25  Bruno Haible  <bruno@clisp.org>
19125
19126         strnlen: Fix a C++ test error on MacOS X and Solaris.
19127         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
19128         the function is not declared.
19129         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
19130         Simon Josefsson.
19131
19132 2010-04-24  Bruno Haible  <bruno@clisp.org>
19133
19134         Avoid a gcc warning.
19135         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
19136         of correct type for %08lx directive.
19137         Reported by Eric Blake.
19138
19139 2010-04-24  Bruno Haible  <bruno@clisp.org>
19140
19141         vasnprintf: Correct errno value in case of out-of-memory.
19142         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
19143         or sprintf. Use the errno value from SNPRINTF or sprintf.
19144         Reported by Ian Beckwith <ianb@erislabs.net>.
19145
19146 2010-04-24  Bruno Haible  <bruno@clisp.org>
19147
19148         ansi-c++-opt: Find correct compiler when cross-compiling.
19149         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
19150         AC_CHECK_PROGS.
19151         Reported by Simon Josefsson.
19152
19153 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
19154
19155         vc-list-files: Add support for subversion
19156         * build-aux/vc-list-files: Use "svn list" to generate the list of
19157         files controlled by subversion.
19158
19159 2010-04-23  Jim Meyering  <meyering@redhat.com>
19160
19161         vc-list-files tests: convert to use init.sh
19162         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
19163         path_prepend_.
19164         Use Exit, not exit.
19165         Use skip_ rather than open coding it.
19166         Remove trap set-up and compare definitions.
19167         * tests/test-vc-list-files-git.sh: Likewise.
19168         * modules/vc-list-files-tests (Files): Add tests/init.sh.
19169
19170 2010-04-22  Simon Josefsson  <simon@josefsson.org>
19171
19172         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
19173         backup files.
19174
19175 2010-04-21  Simon Josefsson  <simon@josefsson.org>
19176
19177         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
19178
19179 2010-04-20  Eric Blake  <eblake@redhat.com>
19180
19181         tests: be robust to ignored SIGPIPE
19182         * tests/test-select-in.sh: Consume all output.
19183         * tests/test-lseek.sh: Check correct exit status, while avoiding
19184         EPIPE.
19185
19186 2010-04-20  Simon Josefsson  <simon@josefsson.org>
19187             Bruno Haible  <bruno@clisp.org>
19188
19189         visibility: Don't use -fvisibility if it leads to a warning.
19190         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
19191         yes, don't pretend that visibility works if it leads to a warning.
19192         Reported by Mike Gran <spk121@yahoo.com>.
19193
19194 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
19195
19196         * build-aux/bootstrap: Use "git -h" for testing for supported options
19197         instead of "git --help".  The short-form option only shows a summary,
19198         and doesn't layout the full man page.  Grep for the full option name
19199         in the summary, too.
19200
19201 2010-04-19  Bruno Haible  <bruno@clisp.org>
19202
19203         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
19204         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
19205         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
19206         mention of RELOCATABLE_STRIP.
19207         Reported by Sylvain Beucler <beuc@beuc.net>.
19208
19209 2010-04-19  Bruno Haible  <bruno@clisp.org>
19210
19211         * lib/diffseq.h: Fix typo in comment.
19212         Reported by Eric Blake.
19213
19214 2010-04-19  Bruno Haible  <bruno@clisp.org>
19215
19216         ioctl: Move autoconf macro to a .m4 file.
19217         * m4/ioctl.m4: New file, extracted from modules/ioctl.
19218         * modules/ioctl (Files): Add it.
19219         (configure.ac): Simply invoke gl_FUNC_IOCTL.
19220         Reported by Ian Beckwith <ianb@erislabs.net>.
19221
19222 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
19223             Bruno Haible  <bruno@clisp.org>
19224
19225         diffseq: Accommodate use-case with abstract arrays.
19226         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
19227         is not defined.
19228         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
19229         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
19230
19231 2010-04-18  Bruno Haible  <bruno@clisp.org>
19232
19233         * doc/posix-headers/stdbool.texi: More precise wording.
19234
19235 2010-04-17  Jim Meyering  <meyering@redhat.com>
19236
19237         maint.mk: use gnu-style indentation in an embedded perl script
19238         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
19239         Rename variable: s/two/last_two_bytes/
19240
19241 2010-04-16  Eric Blake  <eblake@redhat.com>
19242
19243         test-stdbool: skip test that fails with Solaris CC
19244         * tests/test-stdbool.c (f): Skip test that causes compilation
19245         error under buggy C++ compiler.
19246         * lib/stdbool.in.h: Document the limitation.
19247         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
19248
19249         setenv: allow compilation with C++
19250         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
19251         register keyword.
19252
19253         stdint: allow test to pass with C++
19254         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
19255
19256         getopt: allow compilation with C++
19257         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
19258         struct.
19259         * lib/getopt.c (_getopt_internal_r): Use correct type.
19260         Reported by Dagobert Michelson, via Joel E. Denny.
19261
19262 2010-04-16  Bruno Haible  <bruno@clisp.org>
19263
19264         Override netdb.h always.
19265         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
19266         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
19267         Reported by Ludovic Courtès <ludo@gnu.org>.
19268
19269 2010-04-15  Bruno Haible  <bruno@clisp.org>
19270
19271         openpty: Fix mistake from 2010-03-21.
19272         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
19273         Reported by Simon Josefsson.
19274
19275 2010-04-15  Eric Blake  <eblake@redhat.com>
19276
19277         test-forkpty: fix expected signature
19278         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
19279         Reported by Simon Josefsson.
19280
19281 2010-04-15  Jim Meyering  <meyering@redhat.com>
19282
19283         maint.mk: texinfo_suffix_re_: correct the default regexp
19284         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
19285
19286         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
19287         make it configurable via texinfo_suffix_re_.
19288
19289 2010-04-14  Eric Blake  <eblake@redhat.com>
19290
19291         strtok_r: relax license to LGPLv2+
19292         * modules/strtok_r (License): Relax license.
19293         Reported by Matthias Bolte.
19294
19295 2010-04-14  Simon Josefsson  <simon@josefsson.org>
19296
19297         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
19298         version 1.4.4 by default instead of requiring the libgcrypt
19299         version used during build.  This makes it possible to use the
19300         application with older but still binary compatible libgcrypt
19301         versions.
19302
19303 2010-04-13  Eric Blake  <eblake@redhat.com>
19304
19305         getopt-gnu: match recent glibc fixes and posix ruling
19306         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
19307         '+' handling, when requesting extensions.
19308         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
19309         'W;' handling.
19310         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
19311         * doc/posix-functions/getopt.texi (getopt): Document this.
19312         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
19313         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19314         Likewise.
19315
19316         getopt: merge bug fixes from glibc
19317         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
19318         diagnostics.  Honor '+:' correctly.  Reject ';'.
19319
19320         getopt-posix: detect MacOS bug
19321         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
19322         optind when missing a required argument.
19323         * doc/posix-functions/getopt.texi (getopt): Document the bug.
19324         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
19325         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19326         Likewise.
19327
19328         getopt-posix: avoid spurious failure on Solaris
19329         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
19330         an indicator that setting optind=1 is sufficient for reset.
19331
19332         getopt-posix: avoid spurious failure on FreeBSD
19333         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
19334         in POSIX mode, since the m4 test uses it.
19335
19336         gnulib-tool: silence warning on BSD sh
19337         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
19338
19339 2010-04-13  Jim Meyering  <meyering@redhat.com>
19340
19341         doc: users.txt: GNU patch now uses gnulib
19342         * users.txt: Add patch.
19343
19344 2010-04-12  Jim Meyering  <meyering@redhat.com>
19345
19346         maint.mk: generate more concise timing data for syntax-check rules
19347         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
19348         " done" from each line that reports a syntax-check test duration.
19349
19350 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
19351
19352         git-version-gen: use "git update-index..." rather than "git status"
19353         * build-aux/git-version-gen: Use git update-index --refresh, not
19354         "git status".  With some versions of git, "git status" would fail
19355         to update the index and result in an unwarranted "-dirty" suffix.
19356
19357 2010-04-11  Jim Meyering  <meyering@redhat.com>
19358
19359         openat: correct formatting (no semantic change)
19360         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
19361         Suggested by Bruno Haible.
19362
19363 2010-04-11  Bruno Haible  <bruno@clisp.org>
19364
19365         Stricter declaration checking in testdirs.
19366         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
19367         If for_tests is true, augment AM_CPPFLAGS to define
19368         GNULIB_STRICT_CHECKING.
19369         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
19370         GNULIB_STRICT_CHECKING is defined, verify that the function is
19371         declared.
19372
19373 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
19374             Bruno Haible  <bruno@clisp.org>
19375
19376         libunistring: Improve configure output.
19377         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
19378         Don't say "consider installing GNU libunistring" when checking again
19379         with libiconv.
19380
19381 2010-04-11  Bruno Haible  <bruno@clisp.org>
19382
19383         libunistring: Correct value of $LTLIBUNISTRING.
19384         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
19385         correct the value of $LTLIBUNISTRING.
19386
19387 2010-04-11  Bruno Haible  <bruno@clisp.org>
19388
19389         havelib: Add static libraries to LIBS in the right order.
19390         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
19391         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
19392
19393 2010-04-11  Bruno Haible  <bruno@clisp.org>
19394
19395         libunistring: Detect libunistring also when it depends on libiconv.
19396         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
19397         the second AC_LIB_HAVE_LINKFLAGS invocation.
19398
19399 2010-04-11  James Youngman  <jay@gnu.org>
19400
19401         close-stream: declare local scalars to be "const"
19402         * lib/close-stream.c (close_stream): Make boolean variables const
19403         to document the fact that we set but do not change them.
19404
19405 2010-04-11  Bruno Haible  <bruno@clisp.org>
19406
19407         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
19408
19409 2010-04-11  Jim Meyering  <meyering@redhat.com>
19410
19411         maint.mk: don't include dist-check.mk
19412         * top/maint.mk: Remove bogus include directive.
19413
19414         maint.mk: improve empty-line-at-EOF check
19415         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
19416         solution, rather than tail+Perl-based one.  The latter would read
19417         a few kilobytes from the end of each file, and did not handle empty
19418         files properly.
19419
19420         maint.mk: print the elapsed time for each syntax-check rule
19421         * top/maint.mk (sc_m_rules_): Save start time in a file.
19422         (sc_z_rules_): New rules: remove temp file and print elapsed time.
19423         (local-check): Interpose the .z rules
19424
19425 2010-04-11  Jim Meyering  <meyering@redhat.com>
19426
19427         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
19428         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
19429         empty file with one that ends in an empty line.
19430
19431 2010-04-10  Bruno Haible  <bruno@clisp.org>
19432
19433         mkdir: Make it work on mingw64.
19434         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
19435         * lib/mkdir.c: Update comment.
19436         Reported by Roman Donchenko (Đ Đ¾Đ¼Đ°Đ½ Đ”Đ¾Đ½Ñ‡ĐµĐ½ĐºĐ¾) <dxdragon@yandex.ru>.
19437
19438 2010-04-10  Bruno Haible  <bruno@clisp.org>
19439
19440         Don't override improved macro from newer autoconf.
19441         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
19442         autoconf >= 2.62.
19443         Reported by Joel E. Denny <jdenny@clemson.edu>.
19444
19445 2010-04-10  Jim Meyering  <meyering@redhat.com>
19446
19447         maint.mk: new syntax-check rule: prohibit empty lines at end of file
19448         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
19449
19450         maint.mk: correct a diagnostic
19451         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
19452         in diagnostic; now use $prohibit.
19453
19454 2010-04-10  Bruno Haible  <address@hidden>
19455
19456         fchownat: Fix a C++ test error on Solaris 8.
19457         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
19458         the function does not exist.
19459
19460 2010-04-10  Bruno Haible  <bruno@clisp.org>
19461
19462         vasnprintf: Add more tests.
19463         * tests/test-vasnprintf-posix.c: Include <errno.h>.
19464         (test_function): Test converting an invalid wide string.
19465
19466         vasnprintf: Correct handling of unconvertible wide string arguments.
19467         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
19468         VASNPRINTF.
19469         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
19470         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
19471         smaller than the expected maximum need for the directive. Set errno to
19472         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
19473         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
19474         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
19475         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
19476         * modules/vasnprintf (Files): Add m4/printf.m4.
19477         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19478
19479 2010-04-10  Bruno Haible  <bruno@clisp.org>
19480
19481         vasnprintf: Fix crash in %ls directive.
19482         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
19483         string is passed as argument to %ls, with no precision and no width.
19484         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19485
19486 2010-04-10  Bruno Haible  <bruno@clisp.org>
19487
19488         vasnprintf: Fix multiple test failures on mingw.
19489         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
19490         _snprintf, or snwprintf, not _snwprintf.
19491
19492 2010-04-10  Bruno Haible  <bruno@clisp.org>
19493
19494         write: Fix a C++ test error on mingw.
19495         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
19496
19497 2010-04-10  Bruno Haible  <bruno@clisp.org>
19498
19499         vasnprintf test: Reduce code duplication.
19500         * tests/test-vasnprintf.c (test_function): New function, extracted from
19501         test_vasnprintf.
19502         (test_vasnprintf, test_asnprintf): Invoke it.
19503
19504 2010-04-10  Bruno Haible  <bruno@clisp.org>
19505
19506         strnlen: Fix warning in C++ mode on MacOS X.
19507         * lib/string.in.h (strnlen): Use the modern idiom.
19508         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
19509         defining strnlen as a macro already in <config.h>.
19510         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19511         REPLACE_STRNLEN.
19512         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
19513         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19514
19515 2010-04-08  James Youngman  <jay@gnu.org>
19516
19517         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
19518         the example.
19519
19520 2010-04-09  Jim Meyering  <meyering@redhat.com>
19521
19522         maint.mk: print better diagnostic when there is no $(_hv_file)
19523         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
19524         announce that when $(_hv_file) (aka help-version) does not exist.
19525
19526         init.sh: run tr in the "C" locale to avoid multibyte interpretation
19527         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
19528         not try to interpret its random input bytes.  Jarno Rajahalme reported
19529         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
19530         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
19531         (mktempd_): Likewise, just in case.
19532
19533         ftruncate: add two years to projected module removal date: 2012
19534         * m4/ftruncate.m4: Adjust comments.
19535
19536         ftruncate: mark module as obsolete; even MinGW provides it, now
19537         * modules/ftruncate (Status): Obsolete.
19538         (Notice): Say that.
19539         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
19540         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
19541
19542 2010-04-08  Bruno Haible  <bruno@clisp.org>
19543
19544         Fix side effects from tests-related modules.
19545         * modules/dprintf-posix (Comment): New section.
19546         * modules/fprintf-posix (Comment): Likewise.
19547         * modules/obstack-printf-posix (Comment): Likewise.
19548         * modules/printf-posix (Comment): Likewise.
19549         * modules/snprintf-posix (Comment): Likewise.
19550         * modules/sprintf-posix (Comment): Likewise.
19551         * modules/vasnprintf-posix (Comment): Likewise.
19552         * modules/vasprintf-posix (Comment): Likewise.
19553         * modules/vdprintf-posix (Comment): Likewise.
19554         * modules/vfprintf-posix (Comment): Likewise.
19555         * modules/vprintf-posix (Comment): Likewise.
19556         * modules/vsnprintf-posix (Comment): Likewise.
19557         * modules/vsprintf-posix (Comment): Likewise.
19558         * modules/xprintf-posix (Comment): Likewise.
19559         * modules/xvasprintf-posix (Comment): Likewise.
19560         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
19561         * modules/floorf-tests (Depends-on): Likewise.
19562         * modules/round-tests (Depends-on): Likewise.
19563         * modules/roundf-tests (Depends-on): Likewise.
19564         * modules/trunc-tests (Depends-on): Likewise.
19565         * modules/truncf-tests (Depends-on): Likewise.
19566         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
19567         'fprintf-posix' module is not present.
19568         * tests/test-floorf2.c (check): Likewise.
19569         * tests/test-trunc2.c (check): Likewise.
19570         * tests/test-truncf2.c (check): Likewise.
19571         * tests/test-round2.c (equal): Likewise.
19572         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19573
19574 2010-04-07  Karl Berry  <karl@gnu.org>
19575
19576         * config/srclist.txt,
19577         * config/srclistvars.sh,
19578         * config/srclist-update: doc fixes.
19579
19580 2010-04-07  Jim Meyering  <meyering@redhat.com>
19581
19582         maint.mk: add a PATH crosschecking syntax-check rule
19583         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
19584         Useful if you use a test like the one in help-version (coreutils,
19585         diffutils, grep, gzip) that ensures $(VERSION) matches what is
19586         printed by prog --version.
19587
19588 2010-04-06  Bruno Haible  <bruno@clisp.org>
19589
19590         Fix link error on mingw.
19591         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
19592         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
19593
19594 2010-04-06  Bruno Haible  <bruno@clisp.org>
19595
19596         Assume rmdir exists.
19597         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
19598
19599 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
19600
19601         doc: update users.txt
19602         * users.txt: Add gcal.
19603
19604 2010-04-06  Jim Meyering  <meyering@redhat.com>
19605
19606         init.sh: simply unset TMPDIR rather than risking env -i
19607         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
19608         although it probably works fine on all Unix-based systems, some
19609         systems (Cygwin?) cannot tolerate a totally cleared environment.
19610         Suggestion from Eric Blake.
19611
19612 2010-04-06  Jim Meyering  <meyering@redhat.com>
19613
19614         init.sh: portability fix: use env's POSIX-specified -i option not -u
19615         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
19616         than unportable env -u.  Solaris 5.11's env lacks support for -u.
19617
19618 2010-04-05  Bruno Haible  <bruno@clisp.org>
19619
19620         btowc: Work around Cygwin 1.7.2 bug.
19621         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
19622         does not map NUL to 0.
19623         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
19624
19625 2010-04-05  Bruno Haible  <bruno@clisp.org>
19626
19627         Make the multithread modules work on Cygwin 1.7.2.
19628         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
19629         imported symbols can be declared weak, so that it returns "no" on
19630         Cygwin 1.7.2.
19631
19632 2010-04-05  Bruno Haible  <bruno@clisp.org>
19633
19634         Use the module 'strncat'.
19635         * modules/unistr/u8-strncat (Depends-on): Add strncat.
19636
19637         Tests for module 'strncat'.
19638         * modules/strncat-tests: New file.
19639         * tests/test-strncat.c: New file.
19640
19641         New module 'strncat'.
19642         * lib/string.in.h (strncat): New declaration.
19643         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
19644         * m4/strncat.m4: New file, based on m4/memchr.m4.
19645         * modules/strncat: New file.
19646         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
19647         is declared.
19648         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
19649         REPLACE_STRNCAT.
19650         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
19651         REPLACE_STRNCAT.
19652         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
19653         module.
19654         * tests/test-string-c++.cc: Check signature of strncat.
19655
19656 2010-04-05  Jim Meyering  <meyering@redhat.com>
19657
19658         xstrtoumax-tests: convert to use init.sh
19659         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
19660         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19661         Use Exit, not exit.
19662         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19663
19664         xstrtoimax-tests: convert to use init.sh
19665         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
19666         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19667         Use Exit, not exit.
19668         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19669
19670 2010-04-05  Bruno Haible  <bruno@clisp.org>
19671
19672         sys_socket: Avoid #define replacements in C++ mode.
19673         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
19674         warning to the function if possible, rather than #defining the symbol
19675         to a dysfunctional alias.
19676
19677 2010-04-05  Bruno Haible  <bruno@clisp.org>
19678
19679         fseeko: Fix C++ test error on mingw.
19680         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
19681         gl_FUNC_FSEEKO.
19682         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
19683         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
19684         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
19685         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
19686
19687 2010-04-05  Bruno Haible  <bruno@clisp.org>
19688
19689         duplocale: Improve test output.
19690         * tests/test-duplocale.c (main): Print reason for skipped test.
19691
19692 2010-04-05  Bruno Haible  <bruno@clisp.org>
19693
19694         Assume rmdir exists.
19695         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
19696         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
19697
19698 2010-04-05  Bruno Haible  <bruno@clisp.org>
19699
19700         Fix link error on Solaris 8 with cc.
19701         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
19702
19703 2010-04-05  Bruno Haible  <bruno@clisp.org>
19704
19705         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
19706         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
19707
19708 2010-04-05  Bruno Haible  <bruno@clisp.org>
19709
19710         vasprintf: Update documentation.
19711         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
19712
19713 2010-04-05  Bruno Haible  <bruno@clisp.org>
19714
19715         ptsname: Improve test.
19716         * tests/test-ptsname.c (main): Also try the various master names of BSD
19717         systems.
19718
19719 2010-04-05  Bruno Haible  <bruno@clisp.org>
19720
19721         memchr: Avoid a possible C++ test error.
19722         * lib/string.in.h (memchr): Provide declaration if function is missing.
19723         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
19724         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
19725         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
19726         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
19727
19728 2010-04-05  Bruno Haible  <bruno@clisp.org>
19729
19730         strtok_r: Improve idiom.
19731         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
19732         AC_LIBOBJ is used.
19733
19734 2010-04-05  Bruno Haible  <bruno@clisp.org>
19735
19736         strdup: Improve idiom.
19737         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
19738         AC_LIBOBJ is used.
19739         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
19740         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
19741         when AC_LIBOBJ is used.
19742
19743 2010-04-05  Bruno Haible  <bruno@clisp.org>
19744
19745         mbsinit, mbrtowc, wcrtomb: Improve idioms.
19746         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
19747         don't set REPLACE_MBSINIT to 1.
19748         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
19749         don't set REPLACE_MBRTOWC to 1.
19750         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
19751         exist, don't set REPLACE_MBSRTOWCS to 1.
19752         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
19753         exist, don't set REPLACE_MBSNRTOWCS to 1.
19754         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
19755         don't set REPLACE_WCRTOMB to 1.
19756         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
19757         exist, don't set REPLACE_WCSRTOMBS to 1.
19758         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
19759         exist, don't set REPLACE_WCSNRTOMBS to 1.
19760
19761 2010-04-05  Bruno Haible  <bruno@clisp.org>
19762
19763         ldexpl: Improve idiom.
19764         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
19765         make sure to set HAVE_DECL_LDEXPL to 0.
19766
19767 2010-04-05  Jim Meyering  <meyering@redhat.com>
19768
19769         xstrtol-tests: convert to use init.sh
19770         * modules/xstrtol-tests (Files): Add tests/init.sh.
19771         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19772         Use Exit, not exit.
19773         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19774
19775         atexit-tests: convert to use init.sh
19776         * modules/atexit-tests (Files): Add tests/init.sh.
19777         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19778         Use Exit, not exit.
19779         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19780
19781         init.sh: fix typo
19782         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
19783
19784         init.sh: make it easier for a test script to write to the tty, ...
19785         when using automake's parallel-tests mode.
19786         * tests/init.sh (stderr_fileno_): Define overridable variable.
19787         (warn_): New function, to use it.
19788         (fail_, skip_, framework_failure_): Use warn_.
19789
19790 2010-04-04  Bruno Haible  <bruno@clisp.org>
19791
19792         btowc: Avoid warning.
19793         * lib/btowc.c: Include <stdlib.h>.
19794         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
19795
19796 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
19797             Bruno Haible  <bruno@clisp.org>
19798
19799         wchar: Port to NetBSD 1.5.
19800         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
19801         * lib/wctype.in.h (WEOF): Likewise.
19802
19803 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
19804             Bruno Haible  <bruno@clisp.org>
19805
19806         Port extended stdio to NetBSD 1.5.
19807         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
19808         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
19809         older.
19810
19811 2010-04-04  Bruno Haible  <bruno@clisp.org>
19812
19813         string: Remove unused substitution.
19814         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
19815         HAVE_DECL_STRERROR.
19816         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
19817
19818 2010-04-04  Bruno Haible  <bruno@clisp.org>
19819
19820         strtod: Avoid a possible C++ test error.
19821         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
19822         set REPLACE_STRTOD.
19823
19824 2010-04-04  Bruno Haible  <bruno@clisp.org>
19825
19826         strerror: Update documentation.
19827         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
19828
19829 2010-04-04  Bruno Haible  <bruno@clisp.org>
19830
19831         stdio: Fix some C++ test errors on Solaris 8 with GCC.
19832         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
19833         _GL_CXXALIAS_SYS_CAST.
19834
19835 2010-04-04  Bruno Haible  <bruno@clisp.org>
19836
19837         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
19838         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
19839         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
19840         REPLACE_FREXPL to 1.
19841         * doc/posix-functions/frexpl.texi: Update documentation.
19842
19843 2010-04-04  Bruno Haible  <bruno@clisp.org>
19844
19845         math: Fix some C++ test errors on Solaris 8 and Cygwin.
19846         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
19847
19848 2010-04-04  Bruno Haible  <bruno@clisp.org>
19849
19850         Implement nanosleep for native Windows.
19851         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
19852
19853 2010-04-04  Bruno Haible  <bruno@clisp.org>
19854
19855         math: Fix some C++ test errors on Solaris 8.
19856         * lib/math.in.h (truncf, trunc): Use simpler idiom.
19857
19858 2010-04-04  Bruno Haible  <bruno@clisp.org>
19859
19860         math: Fix some C++ test errors on Cygwin.
19861         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
19862         truncl): Provide declaration if the system does not have it.
19863         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
19864         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
19865         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
19866         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
19867         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
19868         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
19869         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
19870         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
19871         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
19872         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
19873         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
19874         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
19875         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
19876         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
19877         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
19878         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
19879         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
19880         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
19881         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
19882         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
19883         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
19884         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
19885
19886 2010-04-04  Bruno Haible  <bruno@clisp.org>
19887
19888         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
19889         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
19890         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
19891         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
19892         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
19893         * m4/isinf.m4 (gl_ISINF): Likewise.
19894         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
19895
19896 2010-04-04  Bruno Haible  <bruno@clisp.org>
19897
19898         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
19899         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
19900
19901 2010-04-04  Bruno Haible  <bruno@clisp.org>
19902
19903         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
19904         * modules/tmpfile (configure.ac): Update.
19905
19906         tmpfile: Fix C++ test error on mingw.
19907         * lib/stdio.in.h (tmpfile): New declaration.
19908         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
19909         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
19910         * modules/tmpfile (Depends-on): Add stdio.
19911         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
19912         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
19913         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
19914         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
19915         REPLACE_TMPFILE.
19916         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
19917
19918 2010-04-04  Bruno Haible  <bruno@clisp.org>
19919
19920         ioctl: Fix C++ test error on mingw.
19921         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
19922         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
19923         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
19924
19925 2010-04-03  Bruno Haible  <bruno@clisp.org>
19926
19927         wcwidth: Fix C++ test error on mingw.
19928         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
19929         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
19930         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
19931
19932 2010-04-03  Bruno Haible  <bruno@clisp.org>
19933
19934         nanosleep: Fix C++ test error on mingw.
19935         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
19936         * lib/time.in.h (nanosleep): Use modern idiom.
19937         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
19938         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
19939         REPLACE_NANOSLEEP to 1.
19940         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
19941         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
19942
19943 2010-04-03  Bruno Haible  <bruno@clisp.org>
19944
19945         strptime: Fix C++ test error on mingw.
19946         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
19947         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
19948         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
19949         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
19950         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
19951         not REPLACE_STRPTIME.
19952         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
19953         REPLACE_STRPTIME.
19954
19955 2010-04-03  Bruno Haible  <bruno@clisp.org>
19956
19957         timegm: Fix C++ test error on mingw.
19958         * lib/time.in.h (timegm): Use modern idiom.
19959         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
19960         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
19961         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
19962         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
19963
19964 2010-04-03  Bruno Haible  <bruno@clisp.org>
19965
19966         timegm: Assume declaration if function exists.
19967         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
19968         if it exists. Don't clobber ac_cv_func_timegm.
19969
19970 2010-04-03  Bruno Haible  <bruno@clisp.org>
19971
19972         time_r: Fix C++ test error on mingw.
19973         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
19974         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
19975         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
19976         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
19977         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
19978
19979 2010-04-03  Bruno Haible  <bruno@clisp.org>
19980
19981         time_r: Minor updates.
19982         * modules/time_r (Description): Mention the provided functions.
19983         * lib/time_r.c: Don't include <string.h>.
19984         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
19985         * doc/posix-functions/localtime_r.texi: Likewise.
19986
19987 2010-04-03  Bruno Haible  <bruno@clisp.org>
19988
19989         time: Fix regression introduced on 2010-03-08.
19990         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
19991         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
19992
19993 2010-04-03  Jim Meyering  <meyering@redhat.com>
19994
19995         maint.mk: don't silently disable project-specific syntax-check rules
19996         * top/maint.mk (_prohibit_regexp): Define, to help people realize
19997         that they need to convert their project-specific syntax-check rules
19998         to use the new _sc_search_regexp.
19999
20000 2010-04-03  Bruno Haible  <bruno@clisp.org>
20001
20002         fchdir: Fix regression introduced on 2010-03-08.
20003         * lib/unistd.in.h (fchdir): Fix declaration.
20004         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
20005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
20006         REPLACE_FCHDIR.
20007         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
20008         REPLACE_FCHDIR.
20009
20010 2010-04-03  Bruno Haible  <bruno@clisp.org>
20011
20012         getpagesize: Fix C++ test error on mingw.
20013         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
20014         system does not declare the function.
20015         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
20016         declared.
20017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20018         HAVE_DECL_GETPAGESIZE.
20019         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
20020
20021 2010-04-03  Bruno Haible  <bruno@clisp.org>
20022
20023         stdio: Make C++ tests work on mingw.
20024         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
20025         does not declare the function.
20026
20027 2010-04-03  Bruno Haible  <bruno@clisp.org>
20028
20029         ftello: Fix C++ test error on mingw.
20030         * lib/stdio.in.h (ftello): Use modern idiom.
20031         * lib/ftello.c (ftello): Renamed from rpl_ftello.
20032         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
20033         is missing and that it needs to be replaced.
20034         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
20035         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
20036         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
20037
20038 2010-04-03  Bruno Haible  <bruno@clisp.org>
20039
20040         fseeko: Fix C++ test error on mingw.
20041         * lib/stdio.in.h (fseeko): Use modern idiom.
20042         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
20043         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
20044         is missing and that it needs to be replaced.
20045         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
20046         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
20047         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
20048
20049 2010-04-03  Bruno Haible  <bruno@clisp.org>
20050
20051         mkstemp: Fix C++ test error on mingw.
20052         * lib/stdlib.in.h (mkstemp): Use modern idiom.
20053         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
20054         function is missing and that it needs to be replaced.
20055         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
20056         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
20057
20058 2010-04-03  Bruno Haible  <bruno@clisp.org>
20059
20060         stpncpy: Fix C++ test error on mingw.
20061         * lib/string.in.h (stpncpy): Use modern idiom.
20062         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
20063         function is missing and that it needs to be replaced.
20064         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20065         REPLACE_STPNCPY.
20066         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
20067
20068 2010-04-03  Bruno Haible  <bruno@clisp.org>
20069
20070         sys_stat: Fix C++ test error on mingw.
20071         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
20072         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
20073
20074 2010-04-03  Bruno Haible  <bruno@clisp.org>
20075
20076         pty: Update doc.
20077         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
20078
20079 2010-04-03  Bruno Haible  <bruno@clisp.org>
20080
20081         unistd: Fix C++ test error on mingw.
20082         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
20083
20084 2010-04-03  Bruno Haible  <bruno@clisp.org>
20085
20086         Update doc regarding mingw.
20087         * doc/glibc-functions/openpty.texi: Update regarding mingw.
20088         * doc/glibc-functions/login_tty.texi: Likewise.
20089         * doc/glibc-functions/forkpty.texi: Likewise.
20090
20091 2010-04-03  Bruno Haible  <bruno@clisp.org>
20092
20093         stdlib: Avoid compilation failure of c-strtold on mingw.
20094         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
20095
20096 2010-04-03  Bruno Haible  <bruno@clisp.org>
20097
20098         locale: Make C++ tests work on Cygwin and mingw.
20099         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
20100         cannot provide the function.
20101         Reported by Simon Josefsson.
20102
20103 2010-04-03  Bruno Haible  <bruno@clisp.org>
20104
20105         localename: Port to MacOS X 10.6.
20106         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
20107         memory layout of the locales in MacOS X 10.6 as well.
20108         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
20109
20110 2010-04-02  Bruno Haible  <bruno@clisp.org>
20111
20112         gnulib-tool: Ensure that long-running tests are executed last.
20113         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
20114         running tests after the one for the other tests.
20115
20116 2010-04-02  Bruno Haible  <bruno@clisp.org>
20117
20118         gnulib-tool: Ensure the tests in the main directory are executed first.
20119         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
20120         start with the current directory.
20121
20122 2010-04-02  Bruno Haible  <bruno@clisp.org>
20123
20124         Tests for module 'havelib', moved here from GNU gettext.
20125         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
20126         modifications.
20127         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
20128         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
20129         with modifications.
20130         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
20131         modifications.
20132         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
20133         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
20134         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
20135         with modifications.
20136         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
20137         with modifications.
20138         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
20139         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
20140         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
20141         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
20142         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
20143         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
20144         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
20145         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
20146         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
20147         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
20148         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
20149         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
20150         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
20151         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
20152         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
20153         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
20154         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
20155         with modifications.
20156         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
20157         with modifications.
20158         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
20159         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
20160         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
20161         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
20162         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
20163         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
20164         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
20165         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
20166         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
20167         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
20168         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
20169         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
20170         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
20171         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
20172         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
20173         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
20174         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
20175         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
20176         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
20177         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
20178         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
20179         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
20180         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
20181         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
20182         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
20183         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
20184         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
20185         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
20186         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
20187         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
20188         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
20189         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
20190         * tests/havelib/rpathx/rpathx.c: New file, from
20191         gettext/autoconf-lib-link.
20192         * tests/havelib/rpathx/Makefile.am: New file, from
20193         gettext/autoconf-lib-link.
20194         * tests/havelib/rpathx/configure.ac: New file, from
20195         gettext/autoconf-lib-link with modifications.
20196         * tests/havelib/rpathy/rpathy.c: New file, from
20197         gettext/autoconf-lib-link.
20198         * tests/havelib/rpathy/Makefile.am: New file, from
20199         gettext/autoconf-lib-link.
20200         * tests/havelib/rpathy/configure.ac: New file, from
20201         gettext/autoconf-lib-link with modifications.
20202         * tests/havelib/rpathz/rpathz.c: New file, from
20203         gettext/autoconf-lib-link.
20204         * tests/havelib/rpathz/Makefile.am: New file, from
20205         gettext/autoconf-lib-link.
20206         * tests/havelib/rpathz/configure.ac: New file, from
20207         gettext/autoconf-lib-link with modifications.
20208         * tests/havelib/rpathlx/usex.c: New file, from
20209         gettext/autoconf-lib-link.
20210         * tests/havelib/rpathlx/Makefile.am: New file, from
20211         gettext/autoconf-lib-link.
20212         * tests/havelib/rpathlx/configure.ac: New file, from
20213         gettext/autoconf-lib-link with modifications.
20214         * tests/havelib/rpathly/usey.c: New file, from
20215         gettext/autoconf-lib-link.
20216         * tests/havelib/rpathly/Makefile.am: New file, from
20217         gettext/autoconf-lib-link.
20218         * tests/havelib/rpathly/configure.ac: New file, from
20219         gettext/autoconf-lib-link with modifications.
20220         * tests/havelib/rpathlz/usez.c: New file, from
20221         gettext/autoconf-lib-link.
20222         * tests/havelib/rpathlz/Makefile.am: New file, from
20223         gettext/autoconf-lib-link.
20224         * tests/havelib/rpathlz/configure.ac: New file, from
20225         gettext/autoconf-lib-link with modifications.
20226         * tests/havelib/rpathlyx/usey.c: New file, from
20227         gettext/autoconf-lib-link.
20228         * tests/havelib/rpathlyx/Makefile.am: New file, from
20229         gettext/autoconf-lib-link.
20230         * tests/havelib/rpathlyx/configure.ac: New file, from
20231         gettext/autoconf-lib-link with modifications.
20232         * tests/havelib/rpathlzyx/usez.c: New file, from
20233         gettext/autoconf-lib-link.
20234         * tests/havelib/rpathlzyx/Makefile.am: New file, from
20235         gettext/autoconf-lib-link.
20236         * tests/havelib/rpathlzyx/configure.ac: New file, from
20237         gettext/autoconf-lib-link with modifications.
20238         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
20239         with modifications.
20240
20241 2010-04-02  Bruno Haible  <bruno@clisp.org>
20242
20243         gnulib-tool: Create distributed built sources also for the tests.
20244         * gnulib-tool (func_create_testdir): Also generate distributed built
20245         sources in the tests directory.
20246
20247 2010-04-02  Bruno Haible  <bruno@clisp.org>
20248
20249         gnulib-tool: Obey user's environment variables.
20250         * gnulib-tool (func_create_testdir): When creating built sources,
20251         respect the environment variables for autoconf, automake, etc. given by
20252         the user.
20253
20254 2010-04-02  Bruno Haible  <bruno@clisp.org>
20255
20256         gnulib-tool: Provide the value of --m4-base to modules.
20257         * gnulib-tool (func_import, func_create_testdir): Emit a definition
20258         of gl_m4_base.
20259
20260 2010-04-02  Eric Blake  <eblake@redhat.com>
20261
20262         maint.mk: fix some fallout
20263         * NEWS: Document the incompatible change, and its effect on cfg.mk.
20264         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
20265
20266 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
20267
20268         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
20269         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
20270         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
20271         (sc_cast_of_x_alloc_return_value): Likewise.
20272         (sc_cast_of_alloca_return_value): Likewise.
20273         (sc_space_tab): Likewise.
20274         (sc_prohibit_atoi_atof): Likewise.
20275         (sc_prohibit_magic_number_exit): Likewise.
20276         (sc_error_exit_success): Likewise.
20277         (sc_file_system): Likewise.
20278         (sc_prohibit_have_config_h): Likewise.
20279         (sc_require_config_h): Likewise.
20280         (sc_prohibit_HAVE_MBRTOWC): Likewise.
20281         (sc_obsolete_symbols): Likewise.
20282         (sc_changelog): Likewise.
20283         (sc_program_name): Likewise.
20284         (sc_the_the): Likewise.
20285         (sc_trailing_blank): Likewise.
20286         (sc_two_space_separator_in_usage): Likewise.
20287         (sc_useless_cpp_parens): Likewise.
20288         (sc_GPL_version): Likewise.
20289         (sc_GFDL_version): Likewise.
20290         (sc_texinfo_acronym): Likewise.
20291         (sc_prohibit_cvs_keyword): Likewise.
20292         (sc_prohibit_stat_st_blocks): Likewise.
20293         (sc_prohibit_S_IS_definition): Likewise.
20294         (sc_redundant_const): Likewise.
20295         (sc_makefile_TAB_only_indentation): Likewise.
20296         (sc_m4_quote_check): Likewise.
20297         (sc_makefile_path_separator_check): Likewise.
20298         (sc_copyright_check): Likewise.
20299         (sc_Wundef_boolean): Likewise.
20300         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
20301
20302         maint.mk: match 0 or more whitespace-before-function-call '('
20303         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
20304         that have zero or two-and-more spaces between the function name
20305         and the open parenthesis.
20306         (sc_error_message_warn_fatal): Likewise.
20307         (sc_error_message_uppercase): Likewise.
20308         (sc_error_message_period): Likewise.
20309
20310 2010-03-31  Eric Blake  <eblake@redhat.com>
20311
20312         maint.mk: check for [ as well as test
20313         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
20314         Based on a libvirt report by Matthias Bolte.
20315
20316         gnumakefile: don't squelch _version output
20317         * top/GNUmakefile (_version): Create one-shot dependency rather
20318         than using $(shell) when version must be regenerated.
20319         (_autoreconf): Run verbosely, by default.
20320
20321         sys_time: avoid compiler warnings
20322         * lib/sys_time.in.h (includes): Ensure gcc pragma is
20323         unconditional, fixing regression from 2010-03-29.
20324         Reported by Simon Josefsson.
20325
20326 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
20327
20328         maint.mk: s/_header_without_use/_sc_header_without_use/
20329         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
20330         (sc_prohibit_assert_without_use): Use the new name.
20331         (sc_prohibit_close_stream_without_use): Likewise.
20332         (sc_prohibit_getopt_without_use): Likewise.
20333         (sc_prohibit_quotearg_without_use): Likewise.
20334         (sc_prohibit_quote_without_use): Likewise.
20335         (sc_prohibit_long_options_without_use): Likewise.
20336         (sc_prohibit_inttostr_without_use): Likewise.
20337         (sc_prohibit_ignore_value_without_use): Likewise.
20338         (sc_prohibit_error_without_use): Likewise.
20339         (sc_prohibit_xalloc_without_use): Likewise.
20340         (sc_prohibit_hash_without_use): Likewise.
20341         (sc_prohibit_hash_pjw_without_use): Likewise.
20342         (sc_prohibit_safe_read_without_use): Likewise.
20343         (sc_prohibit_argmatch_without_use): Likewise.
20344         (sc_prohibit_canonicalize_without_use): Likewise.
20345         (sc_prohibit_root_dev_ino_without_use): Likewise.
20346         (sc_prohibit_openat_without_use): Likewise.
20347         (sc_prohibit_c_ctype_without_use): Likewise.
20348         (sc_prohibit_signal_without_use): Likewise.
20349         (sc_prohibit_intprops_without_use): Likewise.
20350
20351 2010-03-30  Eric Blake  <eblake@redhat.com>
20352
20353         maint: improve module indicators
20354         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
20355         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
20356         columns, and avoid extra macro expansion.
20357
20358         fdopendir: work around FreeBSD bug
20359         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
20360         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
20361         * modules/dirent (Makefile.am): Substitute it.
20362         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
20363         declaration.
20364         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
20365         fix.
20366         Reported by Christian Weisgerber <naddy@mips.inka.de>.
20367
20368 2010-03-29  Bruno Haible  <bruno@clisp.org>
20369
20370         Emit #pragma system_header after the inclusion guard, not before.
20371         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
20372         guard that spans the entire file, not before. This enables an
20373         optimization in GCC's preprocessor.
20374         * lib/ctype.in.h: Likewise.
20375         * lib/dirent.in.h: Likewise.
20376         * lib/errno.in.h: Likewise.
20377         * lib/float.in.h: Likewise.
20378         * lib/getopt.in.h: Likewise.
20379         * lib/iconv.in.h: Likewise.
20380         * lib/langinfo.in.h: Likewise.
20381         * lib/locale.in.h: Likewise.
20382         * lib/math.in.h: Likewise.
20383         * lib/netdb.in.h: Likewise.
20384         * lib/netinet_in.in.h: Likewise.
20385         * lib/pty.in.h: Likewise.
20386         * lib/sched.in.h: Likewise.
20387         * lib/se-selinux.in.h: Likewise.
20388         * lib/search.in.h: Likewise.
20389         * lib/spawn.in.h: Likewise.
20390         * lib/stdarg.in.h: Likewise.
20391         * lib/stdint.in.h: Likewise.
20392         * lib/string.in.h: Likewise.
20393         * lib/strings.in.h: Likewise.
20394         * lib/sys_file.in.h: Likewise.
20395         * lib/sys_ioctl.in.h: Likewise.
20396         * lib/sys_time.in.h: Likewise.
20397         * lib/sys_times.in.h: Likewise.
20398         * lib/sys_utsname.in.h: Likewise.
20399         * lib/sys_wait.in.h: Likewise.
20400         * lib/sysexits.in.h: Likewise.
20401         * lib/wctype.in.h: Likewise.
20402
20403 2010-03-28  James Youngman  <jay@gnu.org>
20404
20405         save-cwd: don't leak a file descriptor when the caller execs.
20406         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
20407         saved file descriptor.
20408         * modules/save-cwd (Depends-on): Depend on cloexec.
20409
20410 2010-03-29  Bruno Haible  <bruno@clisp.org>
20411
20412         Remove vestiges of fts-lgpl module.
20413         * lib/fts_.h: Assume GNULIB_FTS is 1.
20414         * lib/fts.c: Likewise.
20415         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
20416
20417 2010-03-28  Bruno Haible  <bruno@clisp.org>
20418
20419         Fix definition of tests witness macro.
20420         * gnulib-tool (func_import): Fix definition of witness macro.
20421
20422 2010-03-28  Bruno Haible  <bruno@clisp.org>
20423
20424         Fix ioctl's protoype on glibc systems.
20425         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
20426         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
20427         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
20428         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
20429         signature. If not, arrange to replace the ioctl function.
20430         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
20431         REPLACE_IOCTL.
20432         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
20433         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
20434         Reported by Ludovic Courtès <ludo@gnu.org>.
20435
20436 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
20437
20438         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
20439         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
20440         made it so grep -r --include=GLOB* ... did not work.
20441
20442 2010-03-26  Jim Meyering  <meyering@redhat.com>
20443             Eric Blake  <eblake@redhat.com>
20444
20445         maint.mk: prohibit use of test's -o and -a operators
20446         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
20447
20448 2010-03-28  Bruno Haible  <bruno@clisp.org>
20449
20450         Remove unused GNULIB_XYZ macro definitions.
20451         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
20452         invocation.
20453
20454 2010-03-28  Bruno Haible  <bruno@clisp.org>
20455
20456         Mark privileged tests modules.
20457         * modules/idpriv-drop-tests (Status): New section.
20458         * modules/idpriv-droptemp-tests (Status): New section.
20459
20460 2010-03-28  Bruno Haible  <bruno@clisp.org>
20461
20462         Split C++ tests into separate tests modules.
20463         * modules/dirent-c++-tests: New file, extracted from
20464         modules/dirent-tests.
20465         * modules/dirent-tests: Depend on it.
20466         * modules/fcntl-h-c++-tests: New file, extracted from
20467         modules/fcntl-h-tests.
20468         * modules/fcntl-h-tests: Depend on it.
20469         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
20470         * modules/glob-tests: Depend on it.
20471         * modules/iconv-h-c++-tests: New file, extracted from
20472         modules/iconv-h-tests.
20473         * modules/iconv-h-tests: Depend on it.
20474         * modules/langinfo-c++-tests: New file, extracted from
20475         modules/langinfo-tests.
20476         * modules/langinfo-tests: Depend on it.
20477         * modules/locale-c++-tests: New file, extracted from
20478         modules/locale-tests.
20479         * modules/locale-tests: Depend on it.
20480         * modules/math-c++-tests: New file, extracted from modules/math-tests.
20481         * modules/math-tests: Depend on it.
20482         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
20483         * modules/pty-tests: Depend on it.
20484         * modules/search-c++-tests: New file, extracted from
20485         modules/search-tests.
20486         * modules/search-tests: Depend on it.
20487         * modules/signal-c++-tests: New file, extracted from
20488         modules/signal-tests.
20489         * modules/signal-tests: Depend on it.
20490         * modules/spawn-c++-tests: New file, extracted from
20491         modules/spawn-tests.
20492         * modules/spawn-tests: Depend on it.
20493         * modules/stdio-c++-tests: New file, extracted from
20494         modules/stdio-tests.
20495         * modules/stdio-tests: Depend on it.
20496         * modules/stdlib-c++-tests: New file, extracted from
20497         modules/stdlib-tests.
20498         * modules/stdlib-tests: Depend on it.
20499         * modules/string-c++-tests: New file, extracted from
20500         modules/string-tests.
20501         * modules/string-tests: Depend on it.
20502         * modules/sys_ioctl-c++-tests: New file, extracted from
20503         modules/sys_ioctl-tests.
20504         * modules/sys_ioctl-tests: Depend on it.
20505         * modules/sys_select-c++-tests: New file, extracted from
20506         modules/sys_select-tests.
20507         * modules/sys_select-tests: Depend on it.
20508         * modules/sys_socket-c++-tests: New file, extracted from
20509         modules/sys_socket-tests.
20510         * modules/sys_socket-tests: Depend on it.
20511         * modules/sys_stat-c++-tests: New file, extracted from
20512         modules/sys_stat-tests.
20513         * modules/sys_stat-tests: Depend on it.
20514         * modules/sys_time-c++-tests: New file, extracted from
20515         modules/sys_time-tests.
20516         * modules/sys_time-tests: Depend on it.
20517         * modules/time-c++-tests: New file, extracted from modules/time-tests.
20518         * modules/time-tests: Depend on it.
20519         * modules/unistd-c++-tests: New file, extracted from
20520         modules/unistd-tests.
20521         * modules/unistd-tests: Depend on it.
20522         * modules/wchar-c++-tests: New file, extracted from
20523         modules/wchar-tests.
20524         * modules/wchar-tests: Depend on it.
20525         * modules/wctype-c++-tests: New file, extracted from
20526         modules/wctype-tests.
20527         * modules/wctype-tests: Depend on it.
20528         Reported by Simon Josefsson.
20529
20530 2010-03-28  Bruno Haible  <bruno@clisp.org>
20531
20532         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
20533         * gnulib-tool (func_exists_module): New function, extracted from
20534         func_verify_module.
20535         (func_verify_module): Use it.
20536         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
20537         'foo' only if 'foo' exists.
20538         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
20539         module.
20540
20541 2010-03-28  Bruno Haible  <bruno@clisp.org>
20542
20543         gnulib-tool: Add support for special categories of tests.
20544         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
20545         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
20546         (func_usage): Document them.
20547         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
20548         inc_unportable_tests, inc_all_tests): New variables.
20549         (func_acceptable): Consider these variables.
20550         (func_modules_transitive_closure): Make it work when the 'Status' field
20551         consists of multiple words.
20552         (func_import): Store and restore the values of inc_cxx_tests,
20553         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
20554         inc_all_tests in gnulib-comp.m4.
20555         (func_create_testdir): Set inc_all_tests to true.
20556         * doc/gnulib.texi (Extra tests modules): New section.
20557         Suggested by Jim Meyering.
20558
20559 2010-03-28  Bruno Haible  <bruno@clisp.org>
20560
20561         ansi-c++-opt: Allow turning off the C++ build by default.
20562         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
20563         gl_CXX_CHOICE_DEFAULT_NO is defined.
20564         Requested by Eric Blake.
20565
20566 2010-03-28  Bruno Haible  <bruno@clisp.org>
20567
20568         unistd: Avoid #define replacements in C++ mode.
20569         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
20570         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
20571         setsockopt, shutdown, select): In C++, attach a warning to the function
20572         if possible, rather than #defining the symbol to a dysfunctional alias.
20573         Reported by John W. Eaton <jwe@gnu.org>.
20574
20575 2010-03-28  Bruno Haible  <bruno@clisp.org>
20576
20577         Fix link errors on mingw.
20578         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
20579         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
20580         $(LIBSOCKET).
20581         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
20582         $(LIBSOCKET).
20583
20584 2010-03-28  Bruno Haible  <bruno@clisp.org>
20585             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20586
20587         lib-ignore: Determine different options for different compilers.
20588         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
20589         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
20590         Add comments.
20591         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
20592         * NEWS: Mention the change.
20593
20594 2010-03-27  Bruno Haible  <bruno@clisp.org>
20595
20596         Remove unused GNULIB_XYZ macro definitions.
20597         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
20598         * modules/fseek (configure.ac): Likewise.
20599         * modules/ioctl (configure.ac): Likewise.
20600         * modules/open (configure.ac): Likewise.
20601         * modules/stdlib-safer (configure.ac): Likewise.
20602
20603 2010-03-27  Bruno Haible  <bruno@clisp.org>
20604
20605         Add a remark about certain modules.
20606         * modules/malloc (Comment): New section.
20607         * modules/realloc (Comment): Likewise.
20608         * modules/sigpipe (Comment): Likewise.
20609
20610 2010-03-27  Bruno Haible  <bruno@clisp.org>
20611
20612         Resolve conflict between the two kinds of module indicators.
20613         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
20614         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
20615         * modules/canonicalize (configure.ac): Invoke
20616         gl_MODULE_INDICATOR_FOR_TESTS.
20617         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
20618         GNULIB_XYZ.
20619         * tests/test-dirent-c++.cc: Likewise.
20620         * tests/test-dirent-safer.c: Likewise.
20621         * tests/test-dup2.c: Likewise.
20622         * tests/test-fchdir.c: Likewise.
20623         * tests/test-fcntl-h-c++.cc: Likewise.
20624         * tests/test-getopt.c: Likewise.
20625         * tests/test-getopt.h: Likewise.
20626         * tests/test-langinfo-c++.cc: Likewise.
20627         * tests/test-locale-c++.cc: Likewise.
20628         * tests/test-math-c++.cc: Likewise.
20629         * tests/test-pty-c++.cc: Likewise.
20630         * tests/test-search-c++.cc: Likewise.
20631         * tests/test-signal-c++.cc: Likewise.
20632         * tests/test-spawn-c++.cc: Likewise.
20633         * tests/test-stdio-c++.cc: Likewise.
20634         * tests/test-stdlib-c++.cc: Likewise.
20635         * tests/test-string-c++.cc: Likewise.
20636         * tests/test-sys_ioctl-c++.cc: Likewise.
20637         * tests/test-sys_select-c++.cc: Likewise.
20638         * tests/test-sys_socket-c++.cc: Likewise.
20639         * tests/test-sys_stat-c++.cc: Likewise.
20640         * tests/test-sys_time-c++.cc: Likewise.
20641         * tests/test-time-c++.cc: Likewise.
20642         * tests/test-unistd-c++.cc: Likewise.
20643         * tests/test-wchar-c++.cc: Likewise.
20644         * tests/uninorm/test-u8-nfc.c: Likewise.
20645         * tests/uninorm/test-u8-nfd.c: Likewise.
20646         * tests/uninorm/test-u8-nfkc.c: Likewise.
20647         * tests/uninorm/test-u8-nfkd.c: Likewise.
20648         * tests/uninorm/test-u16-nfc.c: Likewise.
20649         * tests/uninorm/test-u16-nfd.c: Likewise.
20650         * tests/uninorm/test-u16-nfkc.c: Likewise.
20651         * tests/uninorm/test-u16-nfkd.c: Likewise.
20652         * tests/uninorm/test-u32-nfc.c: Likewise.
20653         * tests/uninorm/test-u32-nfc-big.c: Likewise.
20654         * tests/uninorm/test-u32-nfd.c: Likewise.
20655         * tests/uninorm/test-u32-nfd-big.c: Likewise.
20656         * tests/uninorm/test-u32-nfkc.c: Likewise.
20657         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
20658         * tests/uninorm/test-u32-nfkd.c: Likewise.
20659         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
20660         * tests/uninorm/test-u32-normalize-big.c: Likewise.
20661
20662 2010-03-27  Bruno Haible  <bruno@clisp.org>
20663
20664         Distinguish two kinds of module indicators.
20665         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
20666         gl_MODULE_INDICATOR.
20667         (gl_MODULE_INDICATOR): New macro.
20668         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
20669         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
20670         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
20671         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
20672         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
20673         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
20674         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
20675         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
20676         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
20677         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
20678         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
20679         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
20680         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
20681         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
20682         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
20683         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
20684         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
20685         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
20686         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
20687         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
20688         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
20689         * modules/cloexec (configure.ac): Likewise.
20690         * modules/getopt-gnu (configure.ac): Likewise.
20691         * modules/uninorm/u8-normalize (configure.ac): Likewise.
20692         * modules/uninorm/u16-normalize (configure.ac): Likewise.
20693         * modules/uninorm/u32-normalize (configure.ac): Likewise.
20694         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
20695
20696 2010-03-27  Bruno Haible  <bruno@clisp.org>
20697
20698         New module description field 'Comment'.
20699         * gnulib-tool: New option --extract-comment.
20700         (func_usage): Document it.
20701         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
20702         (func_get_comment): New function.
20703         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
20704
20705 2010-03-27  Bruno Haible  <bruno@clisp.org>
20706
20707         Addendum to 2010-02-07 commit.
20708         * gnulib-tool (func_usage): Document --extract-applicability option.
20709
20710 2010-03-27  Bruno Haible  <bruno@clisp.org>
20711
20712         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
20713         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
20714         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
20715         rather than link errors.
20716
20717 2010-03-27  Bruno Haible  <bruno@clisp.org>
20718
20719         Avoid side effects from tests-related modules on the compilation of lib.
20720         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
20721         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
20722         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
20723         parameter. Emit into AM_CPPFLAGS a definition of the designated C
20724         macro.
20725         (func_import): Define a witness macro. Assign it a value that depends
20726         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
20727         tests-related modules.
20728         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
20729         Reported by Jim Meyering.
20730
20731 2010-03-27  Bruno Haible  <bruno@clisp.org>
20732
20733         Factorize common .m4 code.
20734         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
20735         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
20736         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
20737         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
20738         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
20739         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
20740         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
20741         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
20742         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
20743         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
20744         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
20745         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
20746         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
20747         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
20748         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
20749         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
20750         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
20751         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
20752         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
20753         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
20754         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
20755         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
20756         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
20757         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
20758         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
20759         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
20760         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
20761         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
20762         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
20763         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
20764         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
20765         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
20766
20767 2010-03-27  Bruno Haible  <bruno@clisp.org>
20768
20769         Fix a compilation error on Cygwin with g++ >= 4.3.
20770         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
20771         if it is undefined or if we alias it to chmod.
20772         (lstat): Don't warn about the use of this function if it is undefined
20773         or if we alias it to stat.
20774         Reported by Simon Josefsson.
20775
20776 2010-03-27  Bruno Haible  <bruno@clisp.org>
20777
20778         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
20779         * modules/getlogin (configure.ac): Update.
20780
20781         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
20782         * modules/getlogin_r (configure.ac): Update.
20783
20784         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
20785         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
20786         * modules/inet_ntop (configure.ac): Update.
20787
20788         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
20789         * modules/inet_pton (configure.ac): Update.
20790
20791         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
20792         * modules/mbslen (configure.ac): Update.
20793
20794         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
20795         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
20796         * modules/forkpty (configure.ac): Update.
20797         * modules/openpty (configure.ac): Update.
20798
20799 2010-03-26  Simon Josefsson  <simon@josefsson.org>
20800
20801         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
20802         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
20803
20804 2010-03-25  Eric Blake  <eblake@redhat.com>
20805
20806         maint: use pragma consistently across replacement headers
20807         * lib/ctype.in.h (system_header): Hoist for consistent placement.
20808         * lib/dirent.in.h (system_header): Likewise.
20809         * lib/errno.in.h (system_header): Likewise.
20810         * lib/float.in.h (system_header): Likewise.
20811         * lib/getopt.in.h (system_header): Likewise.
20812         * lib/iconv.in.h (system_header): Likewise.
20813         * lib/inttypes.in.h (system_header): Likewise.
20814         * lib/langinfo.in.h (system_header): Likewise.
20815         * lib/locale.in.h (system_header): Likewise.
20816         * lib/math.in.h (system_header): Likewise.
20817         * lib/netdb.in.h (system_header): Likewise.
20818         * lib/netinet_in.in.h (system_header): Likewise.
20819         * lib/pty.in.h (system_header): Likewise.
20820         * lib/sched.in.h (system_header): Likewise.
20821         * lib/se-selinux.in.h (system_header): Likewise.
20822         * lib/search.in.h (system_header): Likewise.
20823         * lib/spawn.in.h (system_header): Likewise.
20824         * lib/stdarg.in.h (system_header): Likewise.
20825         * lib/stdint.in.h (system_header): Likewise.
20826         * lib/string.in.h (system_header): Likewise.
20827         * lib/strings.in.h (system_header): Likewise.
20828         * lib/sys_file.in.h (system_header): Likewise.
20829         * lib/sys_ioctl.in.h (system_header): Likewise.
20830         * lib/sys_socket.in.h (system_header): Likewise.
20831         * lib/sys_times.in.h (system_header): Likewise.
20832         * lib/sys_utsname.in.h (system_header): Likewise.
20833         * lib/sys_wait.in.h (system_header): Likewise.
20834         * lib/sysexits.in.h (system_header): Likewise.
20835         * lib/unistd.in.h (system_header): Likewise.
20836         * lib/wctype.in.h (system_header): Likewise.
20837
20838         arpa/inet: fix mingw compilation warning
20839         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
20840         Reported by Matthew Bolte.
20841
20842 2010-03-25  Bruno Haible  <bruno@clisp.org>
20843
20844         Avoid collision between gnulib wrapper and libintl wrapper.
20845         * lib/printf.c (printf): Don't define if a printf wrapper is already
20846         defined in intl/printf.c.
20847         Reported by Michel Boaventura <michel@michelboaventura.com>.
20848
20849 2010-03-25  Bruno Haible  <bruno@clisp.org>
20850
20851         Use ANSI C.
20852         * lib/readutmp.h (getutent): Provide ANSI C prototype.
20853
20854 2010-03-25  Bruno Haible  <bruno@clisp.org>
20855
20856         Minor formatting changes.
20857         * lib/acosl.c: Insert space before function argument list.
20858         * lib/argz.c: Likewise.
20859         * lib/asinl.c: Likewise.
20860         * lib/expl.c: Likewise.
20861         * lib/gen-uni-tables.c: Likewise.
20862         * lib/gettext.h: Likewise.
20863         * lib/glthread/lock.h: Likewise.
20864         * lib/tanl.c: Likewise.
20865         * lib/uniname/uniname.c: Likewise.
20866         * tests/test-idpriv-drop.c: Likewise.
20867         * tests/test-idpriv-droptemp.c: Likewise.
20868         * tests/test-lock.c: Likewise.
20869         * tests/test-tls.c: Likewise.
20870         * lib/argp-help.c: Insert space before function-like macro argument
20871         list.
20872         * lib/memcmp.c: Likewise.
20873         * tests/test-base64.c: Likewise.
20874         * lib/localename.c: Insert space before sizeof's argument list.
20875         * lib/safe-alloc.h: Likewise.
20876         * lib/file-set.h: Insert space before macro argument list.
20877         * tests/test-argp.c: Likewise.
20878         * lib/argp-namefrob.h: Insert space before function parameter list.
20879         * lib/getaddrinfo.c: Likewise.
20880         * lib/netdb.in.h: Likewise.
20881         * lib/parse-duration.h: Likewise.
20882         * lib/parse-duration.c: Likewise.
20883         * lib/poll.c: Likewise.
20884         * lib/select.c: Likewise.
20885         * lib/trim.h: Likewise.
20886         * tests/test-usleep.c: Likewise.
20887         * lib/ldexpl.c: Insert space before function parameter list and before
20888         function argument list.
20889         * lib/logl.c: Likewise.
20890         * lib/sqrtl.c: Likewise.
20891         * lib/trim.c: Likewise.
20892         * lib/cosl.c: Use GNU style indentation. Insert space before function
20893         argument list.
20894         * lib/sinl.c: Likewise.
20895         * lib/tsearch.c: Insert space after 'for'.
20896         Reported by Jim Meyering.
20897
20898 2010-03-23  PĂ¡draig Brady  <P@draigBrady.com>  (tiny change)
20899
20900         * maint.mk (sc_Wundef_boolean): Check for the presence of the
20901         config header before grepping, as it's not present before
20902         autoreconf/configure are run.  Reported by Simon Josefsson.
20903
20904 2010-03-23  Bruno Haible  <bruno@clisp.org>
20905
20906         pt_chown: Make it work with automake < 1.11.
20907         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
20908         Reported by Simon Josefsson.
20909
20910 2010-03-23  Bruno Haible  <bruno@clisp.org>
20911
20912         pt_chown: Don't depend on GPLed modules.
20913         * lib/pt_chown.c: Don't include idpriv.h.
20914         (main): Don't drop privileges.
20915         * modules/pt_chown (Depends-on): Remove idpriv-drop.
20916         Reported by Simon Josefsson.
20917
20918 2010-03-24  Simon Josefsson  <simon@josefsson.org>
20919
20920         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
20921         suggestions from karl@freefriends.org (Karl Berry).
20922
20923 2010-03-22  Eric Blake  <eblake@redhat.com>
20924
20925         gethostname: further tweaks
20926         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
20927         are overriding gethostname.
20928         Suggested by Bruno Haible.
20929
20930 2010-03-21  Bruno Haible  <bruno@clisp.org>
20931
20932         Fix comments.
20933         * lib/forkpty.c (rpl_forkpty): Fix comment.
20934         * lib/openpty.c (rpl_openpty): Likewise.
20935         Reported by Eric Blake.
20936
20937 2010-03-22  Eric Blake  <eblake@redhat.com>
20938
20939         gethostname: fix build on mingw
20940         * lib/unistd.in.h (includes): Work around fact that mingw
20941         <winsock2.h> re-includes <unistd.h>, by avoiding any
20942         redeclarations if we are being included by <winsock2.h>.
20943         Reported by Matthias Bolte.
20944
20945 2010-03-21  Bruno Haible  <bruno@clisp.org>
20946
20947         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
20948         * lib/forkpty.c (forkpty): New replacement function, from glibc with
20949         modifications.
20950         * lib/pty.in.h (forkpty): Update declaration. Add comments.
20951         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
20952         provide the replacement.
20953         * modules/forkpty (Depends-on): Add openpty, login_tty.
20954         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
20955         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
20956         * doc/glibc-functions/forkpty.texi: More supported platforms.
20957         * config/srclist.txt: Add forkpty.c (commented).
20958
20959 2010-03-21  Bruno Haible  <bruno@clisp.org>
20960
20961         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
20962         (Makefile.am): Verify that PTY_LIB is defined.
20963
20964         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
20965
20966 2010-03-21  Bruno Haible  <bruno@clisp.org>
20967
20968         Tests for module 'login_tty'.
20969         * modules/login_tty-tests: New file.
20970         * tests/test-login_tty.c: New file.
20971
20972         New module 'login_tty'.
20973         * lib/login_tty.c: New file.
20974         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
20975         * modules/login_tty: New file.
20976         * doc/glibc-functions/login_tty.texi: Mention the new module.
20977
20978 2010-03-21  Bruno Haible  <bruno@clisp.org>
20979
20980         login_tty: Documentation.
20981         * doc/glibc-functions/login_tty.texi: New file.
20982         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
20983
20984 2010-03-21  Bruno Haible  <bruno@clisp.org>
20985
20986         pty: Consistent macro naming.
20987         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
20988         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
20989         * modules/pty (configure.ac): Update.
20990
20991 2010-03-21  Bruno Haible  <bruno@clisp.org>
20992
20993         Tests for openpty: Make stricter.
20994         * tests/test-openpty.c (main): Add test of canonical processing and
20995         erase.
20996         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
20997
20998         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
20999         * lib/openpty.c (openpty): New replacement function.
21000         * lib/pty.in.h: Include <termios.h>.
21001         (openpty): Update declaration. Add comments.
21002         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
21003         is not declared, arrange to provide the replacement. Check for _getpty
21004         and posix_openpt.
21005         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
21006         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
21007         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
21008         * modules/pty-tests (test_pty_c___LDADD): New variable.
21009         * doc/glibc-functions/openpty.texi: More supported platforms.
21010
21011 2010-03-21  Bruno Haible  <bruno@clisp.org>
21012
21013         setenv: Tweaks.
21014         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
21015         the test program.
21016         * doc/posix-functions/setenv.texi: Update platforms list.
21017
21018 2010-03-21  Bruno Haible  <bruno@clisp.org>
21019
21020         New module 'unlockpt'.
21021         * lib/unlockpt.c: New file, from glibc with modifications.
21022         * m4/unlockpt.m4: New file.
21023         * modules/unlockpt: New file.
21024         * lib/stdlib.in.h (unlockpt): New declaration.
21025         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
21026         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
21027         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
21028         HAVE_UNLOCKPT.
21029         * doc/posix-functions/unlockpt.texi: Mention the new module.
21030         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
21031         * config/srclist.txt: Add unlockpt.c (commented).
21032
21033 2010-03-21  Jim Meyering  <meyering@redhat.com>
21034
21035         maint.mk: prohibit inclusion of "intprops.h" without use
21036         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
21037
21038 2010-03-21  Bruno Haible  <bruno@clisp.org>
21039
21040         New module 'grantpt'.
21041         * lib/grantpt.c: New file, from glibc with modifications.
21042         * m4/grantpt.m4: New file.
21043         * modules/grantpt: New file.
21044         * lib/stdlib.in.h (grantpt): New declaration.
21045         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
21046         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
21047         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
21048         HAVE_GRANTPT.
21049         * doc/posix-functions/grantpt.texi: Mention the new module.
21050         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
21051         * config/srclist.txt: Add grantpt.c (commented).
21052
21053 2010-03-21  Bruno Haible  <bruno@clisp.org>
21054
21055         New module 'pt_chown'.
21056         * lib/pt_chown.c: New file, from glibc with modifications.
21057         * lib/pty-private.h: New file, from glibc with modifications.
21058         * modules/pt_chown: New file.
21059         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
21060
21061 2010-03-21  Bruno Haible  <bruno@clisp.org>
21062
21063         Tests for module 'ptsname'.
21064         * modules/ptsname-tests: New file.
21065         * tests/test-ptsname.c: New file.
21066
21067         New module 'ptsname'.
21068         * lib/ptsname.c: New file, from glibc with modifications.
21069         * m4/ptsname.m4: New file.
21070         * modules/ptsname: New file.
21071         * lib/stdlib.in.h (ptsname): New declaration.
21072         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
21073         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
21074         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
21075         HAVE_PTSNAME.
21076         * doc/posix-functions/ptsname.texi: Mention the new module.
21077         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
21078         * config/srclist.txt: Add ptsname.c (commented).
21079
21080 2010-03-21  Bruno Haible  <bruno@clisp.org>
21081
21082         Tests for module 'ttyname_r'.
21083         * modules/ttyname_r-tests: New file.
21084         * tests/test-ttyname_r.c: New file.
21085
21086         New module 'ttyname_r'.
21087         * lib/ttyname_r.c: New file.
21088         * m4/ttyname_r.m4: New file.
21089         * modules/ttyname_r: New file.
21090         * lib/unistd.in.h (ttyname_r): New declaration.
21091         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
21092         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
21093         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
21094         HAVE_TTYNAME_R.
21095         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
21096         * doc/posix-functions/ttyname_r.texi: Mention the new module.
21097
21098 2010-03-20  Bruno Haible  <bruno@clisp.org>
21099
21100         signal: Undefine macro definitions in C++ mode.
21101         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
21102         sigfillset): Undefine macro definitions from the system header in C++
21103         mode.
21104         Reported by John W. Eaton <jwe@gnu.org>.
21105
21106 2010-03-20  Bruno Haible  <bruno@clisp.org>
21107
21108         Ensure no #include statements inside extern "C" { ... }.
21109         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
21110         contain #include statements.
21111         * lib/time.in.h: Likewise.
21112
21113 2010-03-20  Bruno Haible  <bruno@clisp.org>
21114
21115         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
21116         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
21117         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
21118         Reported by John W. Eaton <jwe@gnu.org>.
21119
21120 2010-03-20  Bruno Haible  <bruno@clisp.org>
21121
21122         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
21123         Reported by Jim Meyering.
21124
21125 2010-03-20  Bruno Haible  <bruno@clisp.org>
21126
21127         pipe: Set errno upon failure.
21128         * lib/pipe.h: Specify that when -1 is returned, errno is set.
21129         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
21130         errno value in error message.
21131
21132 2010-03-20  Bruno Haible  <bruno@clisp.org>
21133             Jim Meyering  <meyering@redhat.com>
21134
21135         lchown: Avoid "unused variable" warning.
21136         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
21137
21138 2010-03-20  Bruno Haible  <bruno@clisp.org>
21139
21140         Work around unlink() bug on MacOS X 10.5.6.
21141         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
21142         attempting to unlink a parent directory.
21143         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
21144         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
21145         activate for the replacement function.
21146         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
21147
21148 2010-03-20  Bruno Haible  <bruno@clisp.org>
21149
21150         Fix link errors on Solaris 8.
21151         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
21152         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
21153
21154 2010-03-19  Jim Meyering  <meyering@redhat.com>
21155
21156         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
21157         The _LIBC implementation of build_range_exp correctly honors the
21158         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
21159         However, the non-_LIBC implementation would ignore that syntax-bit
21160         flag and return REG_ERANGE unconditionally.
21161         This change makes it honor that flag.
21162         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
21163         Make two pointer parameters "const".
21164         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
21165         (parse_bracket_exp): Update caller.
21166
21167         regex.m4: correct the reversed range endpoint ([b-a]) test
21168         * m4/regex.m4: When requiring that [b-a] evoke failure,
21169         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
21170         test pass once again for x86-based systems.
21171
21172 2010-03-19  Bruno Haible  <bruno@clisp.org>
21173
21174         scandir: Fix link error on Solaris 8.
21175         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
21176         macros.
21177
21178 2010-03-19  Bruno Haible  <bruno@clisp.org>
21179
21180         getusershell: Fix documentation.
21181         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
21182         module.
21183         * doc/glibc-functions/setusershell.texi: Likewise.
21184
21185         getusershell: Provide declaration, missing on Solaris 9.
21186         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
21187         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
21188         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
21189         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
21190         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21191         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
21192         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
21193         HAVE_GETUSERSHELL.
21194         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
21195
21196 2010-03-19  Bruno Haible  <bruno@clisp.org>
21197
21198         wctype: Provide iswblank function.
21199         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
21200         exists and is fine.
21201         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
21202         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
21203         * tests/test-wctype.c (main): Re-enable the iswblank tests.
21204         * doc/posix-functions/iswblank.texi: Update.
21205
21206 2010-03-19  Bruno Haible  <bruno@clisp.org>
21207
21208         Tests of module 'pty' in C++ mode.
21209         * modules/pty-tests: New file.
21210         * tests/test-pty-c++.cc: New file.
21211         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
21212
21213 2010-03-19  Eric Blake  <eblake@redhat.com>
21214
21215         logb: fix documentation
21216         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
21217         1.5 declaration bug.
21218
21219         forkpty, openpty: prefer glibc's const-safe prototype
21220         * lib/forkpty.c (rpl_forkpty): New file.
21221         * lib/openpty.c (rpl_openpty): Likewise.
21222         * modules/forkpty (Files): Distribute it.
21223         * modules/openpty (Files): Likewise.
21224         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
21225         check...
21226         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
21227         replacement for for non-const BSD signature.
21228         * modules/pty (Makefile.am): Substitute witnesses.
21229         * lib/pty.in.h (forkpty, openpty): Declare replacements.
21230         * tests/test-forkpty.c: Update signature check.
21231         * tests/test-openpty.c: Likewise.
21232         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
21233         * doc/glibc-functions/openpty.texi (openpty): Likewise.
21234
21235         forkpty, openpty: split functions into new modules
21236         * modules/pty (Makefile.am): Substitute new witnesses.
21237         (Libraries): Move library detection...
21238         * modules/forkpty: ...into new module.
21239         * modules/openpty: Another new module.
21240         * modules/pty-tests: Rename and split...
21241         * modules/forkpty-tests: ...to this...
21242         * modules/openpty-tests: ...and this.
21243         * tests/test-pty.c: Rename and split...
21244         * tests/test-forkpty.c: ...to this...
21245         * tests/test-openpty.c: ...and this.
21246         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
21247         (gl_PTY): Split library searching...
21248         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
21249         (gl_FORKPTY, gl_OPENPTY): New macros.
21250         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
21251         * NEWS: Mention the split.
21252         * MODULES.html.sh (Misc): Document the modules.
21253         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
21254         * doc/glibc-functions/openpty.texi (openpty): Likewise.
21255
21256         pty: improve replacement header
21257         * lib/pty.in.h: New file.
21258         * modules/pty (Files): Ship it.
21259         (Makefile.am): Always build replacement.
21260         * m4/pty.m4: Rename...
21261         * m4/pty_h.m4: ...to this.
21262         (gl_PTY): Modernize setting of witness macros; update check of
21263         forkpty to take proper advantage of cache.
21264         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
21265
21266         getopt: avoid compiler warning
21267         * lib/getopt.c (attribute_hidden): Remove unused macro.
21268
21269 2010-03-18  Bruno Haible  <bruno@clisp.org>
21270
21271         Fix link errors on Solaris 8.
21272         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
21273         * modules/search-tests (test_search_c___LDADD): Likewise.
21274         * modules/signal-tests (test_signal_c___LDADD): Likewise.
21275         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
21276         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
21277         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
21278         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
21279         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
21280         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
21281
21282 2010-03-18  Bruno Haible  <bruno@clisp.org>
21283
21284         Fix bug introduced on 2010-03-14.
21285         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
21286         (gl_SPAWN_H): Require it.
21287         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
21288         Reported by Simon Josefsson.
21289
21290 2010-03-18  Bruno Haible  <bruno@clisp.org>
21291
21292         Fix typo introduced on 2009-12-31.
21293         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
21294         posix_spawn_file_actions_adddup2.
21295
21296 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
21297         and Eric Blake  <eblake@redhat.com>
21298
21299         test-vc-list-files-git: make more robust
21300         * tests/test-vc-list-files-git.sh: Unset problematic environment
21301         variables.  Chain commands together.
21302
21303 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
21304
21305         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
21306         `AC_CHECK_DECL' invocation.
21307
21308 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
21309
21310         * lib/inttostr.c (inttostr): Make sure the invocation of verify
21311         appears before executable statements. Suggested by Petr Sumbera
21312         <Petr.Sumbera@Sun.COM>.
21313
21314 2010-03-14  Bruno Haible  <bruno@clisp.org>
21315
21316         * tests/test-flock.c (test_exclusive): Comment out a test that causes
21317         portability problems. Instead use a simpler test.
21318         (main): Check that invalid arguments are rejected only on Linux.
21319
21320 2010-03-14  Bruno Haible  <bruno@clisp.org>
21321
21322         Fix bug introduced on 2009-12-31.
21323         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
21324         gl_PREREQ_SYS_H_WINSOCK2 always.
21325         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
21326         SYS_SOCKET_H variable.
21327         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
21328         Update comments.
21329         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
21330         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
21331         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21332         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21333         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
21334
21335 2010-03-14  Bruno Haible  <bruno@clisp.org>
21336
21337         Fix values returned by sinl, cosl.
21338         * lib/trigl.h: Add specification comments.
21339         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
21340         that combines the values from the precomputed table with the values of
21341         the Chebyshev polynomials.
21342
21343 2010-03-14  Bruno Haible  <bruno@clisp.org>
21344
21345         Fix compilation error when modules 'posix_spawn[p]' are not used.
21346         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
21347         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
21348
21349 2010-03-14  Bruno Haible  <bruno@clisp.org>
21350
21351         Fix compilation error on mingw when module 'time_r' is not used.
21352         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
21353         is 1.
21354         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
21355         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
21356         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
21357         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
21358
21359 2010-03-14  Bruno Haible  <bruno@clisp.org>
21360
21361         Fix compilation error with Sun C.
21362         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
21363         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
21364         instead of GCC specific ULONG_LONG_MAX.
21365         * lib/xstrtoll.c: Likewise.
21366         * lib/xstrtoull.c: Likewise.
21367
21368 2010-03-13  Bruno Haible  <bruno@clisp.org>
21369
21370         Allow the user to disable C++ code and tests.
21371         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
21372         (gl_PROG_ANSI_CXX): Require it.
21373
21374 2010-03-13  Bruno Haible  <bruno@clisp.org>
21375
21376         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
21377         cases.
21378
21379 2010-03-13  Bruno Haible  <bruno@clisp.org>
21380
21381         Test that gnulib does not break the standard C++ headers.
21382         * tests/test-locale-c++2.cc: New file.
21383         * modules/locale-tests (Files): Add it.
21384         (Makefile.am): Compile it for test-locale-c++.
21385         * tests/test-math-c++2.cc: New file.
21386         * modules/math-tests (Files): Add it.
21387         (Makefile.am): Compile it for test-math-c++.
21388         * tests/test-signal-c++2.cc: New file.
21389         * modules/signal-tests (Files): Add it.
21390         (Makefile.am): Compile it for test-signal-c++.
21391         * tests/test-stdio-c++2.cc: New file.
21392         * modules/stdio-tests (Files): Add it.
21393         (Makefile.am): Compile it for test-stdio-c++.
21394         * tests/test-stdlib-c++2.cc: New file.
21395         * modules/stdlib-tests (Files): Add it.
21396         (Makefile.am): Compile it for test-stdlib-c++.
21397         * tests/test-string-c++2.cc: New file.
21398         * modules/string-tests (Files): Add it.
21399         (Makefile.am): Compile it for test-string-c++.
21400         * tests/test-time-c++2.cc: New file.
21401         * modules/time-tests (Files): Add it.
21402         (Makefile.am): Compile it for test-time-c++.
21403         Reported by John W. Eaton <jwe@gnu.org>.
21404
21405 2010-03-13  Bruno Haible  <bruno@clisp.org>
21406
21407         * gnulib-tool (func_usage): Clarify which options are available for
21408         --create-testdir and --create-megatestdir.
21409
21410 2010-03-13  Bruno Haible  <bruno@clisp.org>
21411
21412         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
21413         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
21414         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
21415         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
21416         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
21417         when appropriate.
21418         Reported by Jim Meyering.
21419
21420 2010-03-12  Simon Josefsson  <simon@josefsson.org>
21421
21422         * gnulib-tool (func_import): Explain origin of code.
21423
21424 2010-03-12  Bruno Haible  <bruno@clisp.org>
21425
21426         Fix problem with automake's definition of CXXLINK.
21427         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
21428         Reported by Simon Josefsson and Ludovic Courtès.
21429
21430 2010-03-12  Bruno Haible  <bruno@clisp.org>
21431
21432         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
21433         stable releases.
21434
21435 2010-03-11  Bruno Haible  <bruno@clisp.org>
21436
21437         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
21438         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
21439         whether the system provides one variant or multiple variants of the
21440         function.
21441         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
21442         C++ compilers.
21443         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
21444         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
21445         Reported by Jim Meyering.
21446
21447 2010-03-09  Simon Josefsson  <simon@josefsson.org>
21448
21449         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
21450
21451 2010-03-08  Bruno Haible  <bruno@clisp.org>
21452
21453         gnulib-tool: Add support for --libtool in --create-testdir.
21454         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
21455         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
21456
21457 2010-03-08  Eric Blake  <eblake@redhat.com>
21458
21459         gnulib-tool.texi: mention possibility of git submodule
21460         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
21461         submodules.
21462         * doc/.gitignore: Ignore another generated file.
21463
21464 2010-03-08  Karl Berry  <karl@gnu.org>
21465
21466         * doc/gnulib-tool.texi (VCS Issues): Mention third option
21467         of committing gnulib files while skipping others.
21468
21469 2010-03-07  Bruno Haible  <bruno@clisp.org>
21470
21471         Tests of module 'wctype' in C++ mode.
21472         * tests/test-wctype-c++.cc: New file.
21473         * modules/wctype-tests (Files): Add it and tests/signature.h.
21474         (Depends-on): Add ansi-c++-opt.
21475         (Makefile.am): Arrange to compile and run test-wctype-c++.
21476
21477         Tests of module 'wchar' in C++ mode.
21478         * tests/test-wchar-c++.cc: New file.
21479         * modules/wchar-tests (Files): Add it and tests/signature.h.
21480         (Depends-on): Add ansi-c++-opt.
21481         (Makefile.am): Arrange to compile and run test-wchar-c++.
21482         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
21483         gl_MODULE_INDICATOR.
21484
21485         Tests of module 'unistd' in C++ mode.
21486         * tests/test-unistd-c++.cc: New file.
21487         * modules/unistd-tests (Files): Add it and tests/signature.h.
21488         (Depends-on): Add ansi-c++-opt.
21489         (Makefile.am): Arrange to compile and run test-unistd-c++.
21490         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
21491         gl_MODULE_INDICATOR.
21492
21493         Tests of module 'time' in C++ mode.
21494         * tests/test-time-c++.cc: New file.
21495         * modules/time-tests (Files): Add it and tests/signature.h.
21496         (Depends-on): Add ansi-c++-opt.
21497         (Makefile.am): Arrange to compile and run test-time-c++.
21498         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
21499
21500         Tests of module 'sys_time' in C++ mode.
21501         * tests/test-sys_time-c++.cc: New file.
21502         * modules/sys_time-tests (Files): Add it and tests/signature.h.
21503         (Depends-on): Add ansi-c++-opt.
21504         (Makefile.am): Arrange to compile and run test-sys_time-c++.
21505         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
21506         gl_MODULE_INDICATOR.
21507
21508         Tests of module 'sys_stat' in C++ mode.
21509         * tests/test-sys_stat-c++.cc: New file.
21510         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
21511         (Depends-on): Add ansi-c++-opt.
21512         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
21513         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
21514         gl_MODULE_INDICATOR.
21515
21516         Tests of module 'sys_socket' in C++ mode.
21517         * tests/test-sys_socket-c++.cc: New file.
21518         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
21519         (Depends-on): Add ansi-c++-opt.
21520         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
21521         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
21522         gl_MODULE_INDICATOR.
21523
21524         Tests of module 'sys_select' in C++ mode.
21525         * tests/test-sys_select-c++.cc: New file.
21526         * modules/sys_select-tests (Files): Add it and tests/signature.h.
21527         (Depends-on): Add ansi-c++-opt.
21528         (Makefile.am): Arrange to compile and run test-sys_select-c++.
21529         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
21530         gl_MODULE_INDICATOR.
21531
21532         Tests of module 'sys_ioctl' in C++ mode.
21533         * tests/test-sys_ioctl-c++.cc: New file.
21534         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
21535         (Depends-on): Add ansi-c++-opt.
21536         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
21537         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
21538         gl_MODULE_INDICATOR.
21539
21540         Tests of module 'string' in C++ mode.
21541         * tests/test-string-c++.cc: New file.
21542         * modules/string-tests (Files): Add it and tests/signature.h.
21543         (Depends-on): Add ansi-c++-opt.
21544         (Makefile.am): Arrange to compile and run test-string-c++.
21545         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
21546         gl_MODULE_INDICATOR.
21547
21548         Tests of module 'stdlib' in C++ mode.
21549         * tests/test-stdlib-c++.cc: New file.
21550         * modules/stdlib-tests (Files): Add it and tests/signature.h.
21551         (Depends-on): Add ansi-c++-opt.
21552         (Makefile.am): Arrange to compile and run test-stdlib-c++.
21553         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
21554         gl_MODULE_INDICATOR.
21555
21556         Tests of module 'stdio' in C++ mode.
21557         * tests/test-stdio-c++.cc: New file.
21558         * modules/stdio-tests (Files): Add it and tests/signature.h.
21559         (Depends-on): Add ansi-c++-opt.
21560         (Makefile.am): Arrange to compile and run test-stdio-c++.
21561         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
21562         gl_MODULE_INDICATOR.
21563
21564         Tests of module 'spawn' in C++ mode.
21565         * tests/test-spawn-c++.cc: New file.
21566         * modules/spawn-tests (Files): Add it and tests/signature.h.
21567         (Depends-on): Add ansi-c++-opt.
21568         (Makefile.am): Arrange to compile and run test-spawn-c++.
21569         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
21570         gl_MODULE_INDICATOR.
21571
21572         Tests of module 'signal' in C++ mode.
21573         * tests/test-signal-c++.cc: New file.
21574         * modules/signal-tests (Files): Add it and tests/signature.h.
21575         (Depends-on): Add ansi-c++-opt.
21576         (Makefile.am): Arrange to compile and run test-signal-c++.
21577         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
21578         gl_MODULE_INDICATOR.
21579
21580         Tests of module 'search' in C++ mode.
21581         * tests/test-search-c++.cc: New file.
21582         * modules/search-tests (Files): Add it and tests/signature.h.
21583         (Depends-on): Add ansi-c++-opt.
21584         (Makefile.am): Arrange to compile and run test-search-c++.
21585         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
21586         gl_MODULE_INDICATOR.
21587
21588         Tests of module 'math' in C++ mode.
21589         * tests/test-math-c++.cc: New file.
21590         * modules/math-tests (Files): Add it and tests/signature.h.
21591         (Depends-on): Add ansi-c++-opt.
21592         (Makefile.am): Arrange to compile and run test-math-c++.
21593         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
21594
21595         Tests of module 'locale' in C++ mode.
21596         * tests/test-locale-c++.cc: New file.
21597         * modules/locale-tests (Files): Add it and tests/signature.h.
21598         (Depends-on): Add ansi-c++-opt.
21599         (Makefile.am): Arrange to compile and run test-locale-c++.
21600         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
21601         gl_MODULE_INDICATOR.
21602
21603         Tests of module 'langinfo' in C++ mode.
21604         * tests/test-langinfo-c++.cc: New file.
21605         * modules/langinfo-tests (Files): Add it and tests/signature.h.
21606         (Depends-on): Add ansi-c++-opt.
21607         (Makefile.am): Arrange to compile and run test-langinfo-c++.
21608         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
21609         gl_MODULE_INDICATOR.
21610
21611         Tests of module 'iconv-h' in C++ mode.
21612         * tests/test-iconv-h-c++.cc: New file.
21613         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
21614         (Depends-on): Add ansi-c++-opt.
21615         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
21616
21617         Tests of module 'glob' in C++ mode.
21618         * tests/test-glob-c++.cc: New file.
21619         * modules/glob-tests (Files): Add it.
21620         (Depends-on): Add ansi-c++-opt.
21621         (Makefile.am): Arrange to compile and run test-glob-c++.
21622
21623         Tests of module 'fcntl-h' in C++ mode.
21624         * tests/test-fcntl-h-c++.cc: New file.
21625         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
21626         (Depends-on): Add ansi-c++-opt.
21627         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
21628         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
21629         gl_MODULE_INDICATOR.
21630
21631         Tests of module 'dirent' in C++ mode.
21632         * tests/test-dirent-c++.cc: New file.
21633         * modules/dirent-tests (Files): Add it and tests/signature.h.
21634         (Depends-on): Add ansi-c++-opt.
21635         (Makefile.am): Arrange to compile and run test-dirent-c++.
21636         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
21637         gl_MODULE_INDICATOR.
21638
21639         New module 'ansi-c++-opt'.
21640         * modules/ansi-c++-opt: New file.
21641         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
21642
21643         Document C++ namespace mode.
21644         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
21645
21646         wctype: Avoid #define replacements in C++ mode.
21647         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
21648         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
21649         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
21650         In C++, define a namespaced alias symbol.
21651         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
21652         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
21653         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
21654         rule.
21655
21656         wchar: Avoid #define replacements in C++ mode.
21657         * lib/wchar.in.h: Include c++defs.h.
21658         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
21659         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
21660         symbol.
21661         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
21662         * modules/wchar (Depends-on): Add c++defs.
21663         (Makefile.am): Update wchar.h rule.
21664
21665         unistd: Avoid #define replacements in C++ mode.
21666         * lib/unistd.in.h: Include c++defs.h.
21667         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
21668         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
21669         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
21670         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
21671         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
21672         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
21673         symbol.
21674         (environ): Update.
21675         * modules/unistd (Depends-on): Add c++defs.
21676         (Makefile.am): Update unistd.h rule.
21677
21678         time: Avoid #define replacements in C++ mode.
21679         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
21680         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
21681         define a namespaced alias symbol.
21682         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
21683         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
21684         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
21685         * modules/time (Depends-on): Add c++defs, warn-on-use.
21686         (Makefile.am): Update time.h rule.
21687         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
21688         * modules/nanosleep (configure.ac): Likewise.
21689         * modules/strptime (configure.ac): Likewise.
21690         * modules/timegm (configure.ac): Likewise.
21691
21692         sys_time: Avoid #define replacements in C++ mode.
21693         * lib/sys_time.in.h: Include c++defs.h.
21694         (gettimeofday): In C++, define a namespaced alias symbol.
21695         * modules/sys_time (Depends-on): Add c++defs.
21696         (Makefile.am): Update sys/time.h rule.
21697
21698         sys_stat: Avoid #define replacements in C++ mode.
21699         * lib/sys_stat.in.h: Include c++defs.h.
21700         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
21701         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
21702         namespaced alias symbol.
21703         In C++, define a namespaced alias symbol.
21704         * modules/sys_stat (Depends-on): Add c++defs.
21705         (Makefile.am): Update sys/stat.h rule.
21706
21707         sys_socket: Avoid #define replacements in C++ mode.
21708         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
21709         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
21710         definitions also when the system has a <sys/socket.h>.
21711         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
21712         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
21713         In C++, define a namespaced alias symbol.
21714         * modules/sys_socket (Depends-on): Add c++defs.
21715         (Makefile.am): Update sys/socket.h rule.
21716
21717         sys_select: Avoid #define replacements in C++ mode.
21718         * lib/sys_select.in.h: Include c++defs.h. Enable the function
21719         definitions also when the system has a <sys/select.h>.
21720         (select): In C++, define a namespaced alias symbol.
21721         * modules/sys_select (Depends-on): Add c++defs.
21722         (Makefile.am): Update sys/select.h rule.
21723
21724         sys_ioctl: Avoid #define replacements in C++ mode.
21725         * lib/sys_ioctl.in.h: Include c++defs.h.
21726         (ioctl): In C++, define a namespaced alias symbol.
21727         * modules/sys_ioctl (Depends-on): Add c++defs.
21728         (Makefile.am): Update sys/ioctl.h rule.
21729
21730         string: Avoid #define replacements in C++ mode.
21731         * lib/string.in.h: Include c++defs.h.
21732         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
21733         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
21734         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
21735         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
21736         strsignal, strverscmp): In C++, define a namespaced alias symbol.
21737         * modules/string (Depends-on): Add c++defs.
21738         (Makefile.am): Update string.h rule.
21739
21740         stdlib: Avoid #define replacements in C++ mode.
21741         * lib/stdlib.in.h: Include c++defs.h.
21742         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
21743         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
21744         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
21745         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
21746         symbol.
21747         * modules/stdlib (Depends-on): Add c++defs.
21748         (Makefile.am): Update stdlib.h rule.
21749
21750         stdio: Avoid #define replacements in C++ mode.
21751         * lib/stdio.in.h: Include c++defs.h.
21752         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
21753         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
21754         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
21755         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
21756         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
21757         namespaced alias symbol.
21758         * modules/stdio (Depends-on): Add c++defs.
21759         (Makefile.am): Update stdio.h rule.
21760
21761         spawn: Avoid #define replacements in C++ mode.
21762         * lib/spawn.in.h: Include c++defs.h.
21763         (posix_spawn, posix_spawnp, posix_spawnattr_init,
21764         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
21765         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
21766         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
21767         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
21768         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
21769         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
21770         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
21771         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
21772         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
21773         In C++, define a namespaced alias symbol.
21774         * modules/spawn (Depends-on): Add c++defs.
21775         (Makefile.am): Update spawn.h rule.
21776
21777         signal: Avoid #define replacements in C++ mode.
21778         * lib/signal.in.h: Include c++defs.h.
21779         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
21780         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
21781         namespaced alias symbol.
21782         * modules/signal (Depends-on): Add c++defs.
21783         (Makefile.am): Update signal.h rule.
21784
21785         search: Avoid #define replacements in C++ mode.
21786         * lib/search.in.h: Include c++defs.h.
21787         (_gl_search_compar_fn, _gl_search_action_fn): New types.
21788         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
21789         symbol.
21790         * modules/search (Depends-on): Add c++defs.
21791         (Makefile.am): Update search.h rule.
21792
21793         math: Avoid #define replacements in C++ mode.
21794         * lib/math.in.h: Include c++defs.h.
21795         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
21796         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
21797         trunc, truncl): In C++, define a namespaced alias symbol.
21798         * modules/math (Depends-on): Add c++defs.
21799         (Makefile.am): Update math.h rule.
21800
21801         locale: Avoid #define replacements in C++ mode.
21802         * lib/locale.in.h: Include c++defs.h.
21803         (duplocale): In C++, define a namespaced alias symbol.
21804         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
21805         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
21806         * modules/locale (Depends-on): Add c++defs.
21807         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
21808
21809         langinfo: Avoid #define replacements in C++ mode.
21810         * lib/langinfo.in.h: Include c++defs.h.
21811         (nl_langinfo): In C++, define a namespaced alias symbol.
21812         * modules/langinfo (Depends-on): Add c++defs.
21813         (Makefile.am): Update langinfo.h rule.
21814
21815         iconv-h: Avoid #define replacements in C++ mode.
21816         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
21817         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
21818         symbol.
21819         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
21820         whenever iconv is present.
21821         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
21822         (Makefile.am): Update iconv.h rule.
21823
21824         glob: Avoid #define replacements in C++ mode.
21825         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
21826         (_gl_glob_errfunc_fn): New type.
21827         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
21828         symbol.
21829         * modules/glob (Depends-on): Add c++defs, warn-on-use.
21830         (Makefile.am): Update glob.h rule.
21831
21832         fcntl-h: Avoid #define replacements in C++ mode.
21833         * lib/fcntl.in.h: Include c++defs.h.
21834         (fcntl, open, openat): In C++, define a namespaced alias symbol.
21835         * modules/fcntl-h (Depends-on): Add c++defs.
21836         (Makefile.am): Update fcntl.h rule.
21837
21838         dirent: Avoid #define replacements in C++ mode.
21839         * lib/dirent.in.h: Include c++defs.h.
21840         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
21841         namespaced alias symbol.
21842         (dirfd): Update declaration.
21843         * modules/dirent (Depends-on): Add c++defs.
21844         (Makefile.am): Update dirent.h rule.
21845
21846         ctype: Make it usable in C++ code.
21847         * lib/ctype.in.h: Include c++defs.h.
21848         (isblank): Declare as extern "C".
21849         * modules/ctype (Depends-on): Add c++defs.
21850         (Makefile.am): Update ctype.h rule.
21851
21852         New module 'c++defs'.
21853         * modules/c++defs: New file.
21854         * build-aux/c++defs.h: New file.
21855         Reported by John W. Eaton <jwe@gnu.org>.
21856
21857 2010-03-07  Bruno Haible  <bruno@clisp.org>
21858
21859         logb: Provide missing declaration for Cygwin.
21860         * lib/math.in.h (logb): New declaration.
21861         * m4/logb.m4: New file.
21862         * modules/logb (Files): Add m4/logb.m4.
21863         (Depends-on): Add math.
21864         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
21865         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
21866         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
21867         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
21868         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
21869
21870 2010-03-07  Bruno Haible  <bruno@clisp.org>
21871
21872         Fix test-cond link error.
21873         * tests/test-cond.c: Include <stdio.h>.
21874
21875 2010-03-07  Bruno Haible  <bruno@clisp.org>
21876
21877         Fix test-dirent-safer link error.
21878         * modules/dirent-safer-tests (Makefile.am): Define
21879         test_dirent_safer_LDADD.
21880
21881 2010-03-07  Bruno Haible  <bruno@clisp.org>
21882
21883         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
21884         among default module list.
21885
21886 2010-03-07  Bruno Haible  <bruno@clisp.org>
21887
21888         Fix link error on platforms with GNU libiconv.
21889         * modules/unistr/u8-strcoll-tests (Makefile): Define
21890         test_u8_strcoll_LDADD.
21891         * modules/unistr/u16-strcoll-tests (Makefile): Define
21892         test_u16_strcoll_LDADD.
21893         * modules/unistr/u32-strcoll-tests (Makefile): Define
21894         test_u32_strcoll_LDADD.
21895
21896 2010-03-07  Bruno Haible  <bruno@clisp.org>
21897
21898         Use POSIX declarations for socket functions.
21899         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
21900         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
21901         rpl_sendto): Change declaration to match POSIX.
21902         * lib/connect.c (rpl_connect): Likewise.
21903         * lib/accept.c (rpl_accept): Likewise.
21904         * lib/bind.c (rpl_bind): Likewise.
21905         * lib/getpeername.c (rpl_getpeername): Likewise.
21906         * lib/getsockname.c (rpl_getsockname): Likewise.
21907         * lib/recv.c (rpl_recv): Likewise.
21908         * lib/send.c (rpl_send): Likewise.
21909         * lib/recvfrom.c (rpl_recvfrom): Likewise.
21910         * lib/sendto.c (rpl_sendto): Likewise.
21911
21912 2010-03-06  Bruno Haible  <bruno@clisp.org>
21913
21914         Clarify access, euidaccess, faccessat.
21915         * doc/posix-functions/faccessat.texi: Mention security problem under
21916         "Other problems", not "Portability problems".
21917         * doc/posix-functions/access.texi: Likewise. Mention a related security
21918         problem.
21919         * doc/glibc-functions/euidaccess.texi: Mention security problems.
21920         * lib/euidaccess.c: Add comments about platforms.
21921         * lib/unistd.in.h (access, euidaccess): Add warnings.
21922
21923 2010-03-07  Bruno Haible  <bruno@clisp.org>
21924
21925         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
21926         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
21927         (POSIX_SPAWN_SETSCHEDULER): Likewise.
21928         (POSIX_SPAWN_USEVFORK): Define in a way that works when
21929         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
21930         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
21931         declare when POSIX_SPAWN_SETSCHEDULER is zero.
21932         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
21933         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
21934         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
21935         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
21936         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
21937         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
21938         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
21939         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
21940         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
21941         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
21942         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
21943         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
21944         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
21945         Likewise.
21946         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
21947         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
21948         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
21949         Likewise.
21950         * tests/test-spawn.c (main): Make it work when
21951         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
21952
21953 2010-03-07  Bruno Haible  <bruno@clisp.org>
21954
21955         Fix incorrect Makefile.am generation in German locale.
21956         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
21957         Execute sed command with character range in C locale.
21958
21959 2010-03-06  Bruno Haible  <bruno@clisp.org>
21960
21961         Tests for module 'iconv-h'.
21962         * modules/iconv-h-tests: New file.
21963         * tests/test-iconv-h.c: New file.
21964
21965         New module 'iconv-h'.
21966         * modules/iconv-h: New file.
21967         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
21968         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
21969         (configure.ac): Remove gl_ICONV_H.
21970         (Makefile.am): Remove rule for iconv.h.
21971
21972 2010-03-06  Bruno Haible  <bruno@clisp.org>
21973
21974         More consistent naming of *.m4 files.
21975         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
21976         * modules/wctype (Files): Update.
21977
21978         More consistent naming of *.m4 files.
21979         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
21980         * modules/wchar (Files): Update.
21981
21982 2010-03-06  Jim Meyering  <meyering@redhat.com>
21983
21984         euidaccess: relax license to LGPLv2+
21985         * modules/euidaccess (License): Relax to LGPLv2+.
21986
21987 2010-03-06  Bruno Haible  <bruno@clisp.org>
21988
21989         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
21990         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
21991         (Makefile.am): Augment lib_SOURCES instead.
21992
21993 2010-03-04  Jim Meyering  <meyering@redhat.com>
21994
21995         utime: remove obsolete module
21996         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
21997         unnecessary for years, and has been marked as obsolete for 10 months.
21998         * modules/utime: Remove file.
21999         * lib/utime.c: Remove file.
22000         * m4/utime.m4: Remove file.
22001         * m4/utimes-null.m4: Remove file.
22002         * doc/posix-functions/utime.texi (utime): Remove reference to
22003         the module.  Move the sole "fixed by gnulib" item into the
22004         "problems not fixed by Gnulib" list.
22005         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
22006
22007 2010-03-05  Simon Josefsson  <simon@josefsson.org>
22008
22009         * modules/exit (License): Relax license to LGPLv2+.
22010         (Status): Mark as obsolete.
22011         * NEWS: Mention deprecated 'exit' module.
22012         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
22013         of now obsolete 'exit'.
22014
22015 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22016
22017         fts-lgpl: remove unused module
22018         * modules/fts-lgpl: Remove.
22019         * MODULES.html.sh (func_all_modules): Adjust.
22020         * check-module (find_included_lib_files): Adjust.
22021         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
22022
22023 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
22024
22025         copy-acl: enhance Solaris ACL error handling
22026         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
22027         * lib/set-mode-acl.c (qset_acl): Likewise.
22028
22029 2010-03-02  Bruno Haible  <bruno@clisp.org>
22030
22031         spawn: Don't override the system defined values on FreeBSD 8.
22032         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
22033         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
22034         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
22035         if HAVE_POSIX_SPAWN is 1.
22036         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
22037
22038 2010-03-01  Bruno Haible  <bruno@clisp.org>
22039
22040         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
22041         regarding Automake.
22042
22043 2010-02-25  Bruno Haible  <bruno@clisp.org>
22044
22045         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
22046         * gnulib-tool: Define 'echo' as a function only before the ksh alias
22047         setting, not afterwards.
22048         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
22049
22050 2010-02-24  Eric Blake  <eblake@redhat.com>
22051
22052         bootstrap, git-version-gen: use timestamp
22053         * build-aux/git-version-gen (scriptversion): Force UTC.
22054         * build-aux/bootstrap (scriptversion): New variable.
22055
22056         bootstrap: allow older git
22057         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
22058         older than 1.6.4.  Requested by the libvirt project.
22059
22060 2010-02-23  Eric Blake  <eblake@redhat.com>
22061
22062         warn-on-use: work with old autoconf
22063         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
22064         AS_VAR semantics of autoconf 2.60.
22065         Reported by Bruno Haible.
22066
22067         bootstrap: improve some comments
22068         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
22069         clarification comments.
22070
22071         gettimeofday: provide correct function
22072         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
22073         when replacement is declared, otherwise provide gettimeofday.
22074         Reported by Michael Goffioul.
22075
22076 2010-02-23  Jim Meyering  <meyering@redhat.com>
22077
22078         lib-ignore: relax license to "unlimited", not LGPLv2+
22079         * modules/lib-ignore (License): Relax to "unlimited".
22080
22081 2010-02-23  Jim Meyering  <meyering@redhat.com>
22082
22083         lib-ignore: relax license to LGPLv2+
22084         * modules/lib-ignore (License): Relax to LGPLv2+.
22085
22086 2010-02-22  Eric Blake  <eblake@redhat.com>
22087
22088         lseek: avoid bash 3.2 broken pipe bug
22089         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
22090         warning from bash 3.2.
22091         Reported by Ben Pfaff, with analysis from Bruno Haible.
22092
22093         bootstrap: support non-FSF copyright holder
22094         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
22095         bootstrap.conf override of COPYRIGHT_HOLDER.
22096         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
22097
22098         bootstrap: interoperate with gettext 0.14.1
22099         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
22100
22101         bootstrap: allow for alternate submodule location
22102         * build-aux/bootstrap (gnulib_path): New variable; use instead of
22103         hardcoding submodule location.
22104         (gnulib_mk): Allow direct use of Makefile.am.
22105
22106         bootstrap: use GNULIB_SRCDIR to reduce disk usage
22107         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
22108         rather than reconfiguring where the submodule points.
22109
22110         gettimeofday: restore support for platforms that lack function
22111         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
22112         replacement if function is missing.
22113         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
22114         * modules/sys_time (Makefile.am): Substitute it.
22115         * lib/sys_time.in.h (gettimeofday): Check it.
22116         Reported by Michael Goffioul.
22117
22118 2010-02-21  Bruno Haible  <bruno@clisp.org>
22119
22120         * lib/stdio.in.h (obstack_printf): Fix typo.
22121
22122 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
22123
22124         vc-list-files: use bzr ls's -R option
22125         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
22126         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
22127
22128 2010-02-21  Jim Meyering  <meyering@redhat.com>
22129
22130         init.sh: fix EXEEXT shims to work also for names like test-prog
22131         * tests/init.sh: Re-exec a better shell, when needed.
22132         If the current shell lacks support for posix $(...), an init.sh-using
22133         test will now try to find a shell that supports that.  If EXEEXT is
22134         nonempty, we also require support for hyphen-in-alias-name and shell
22135         substitutions like ${var#glob}.  Failure to find such a shell results
22136         in a skipped test.
22137
22138 2010-02-21  Bruno Haible  <bruno@clisp.org>
22139
22140         Really work around around "broken pipe" error message from bash 3.2.
22141         * gnulib-tool (func_reset_sigpipe): Remove function.
22142         (echo): In bash 3.2, define to a function that uses printf.
22143         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
22144
22145 2010-02-20  Bruno Haible  <bruno@clisp.org>
22146
22147         Restore support for automake 1.9.6 with autoconf 2.61.
22148         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
22149         Reported by James Youngman <jay@gnu.org>.
22150
22151 2010-02-20  Bruno Haible  <bruno@clisp.org>
22152
22153         Improve *printf warning condition.
22154         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
22155         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
22156         and the function is overridden due to SIGPIPE emulation.
22157
22158 2010-02-20  Bruno Haible  <bruno@clisp.org>
22159
22160         * lib/stdio.in.h: Tweak comments.
22161
22162 2010-02-19  Bruno Haible  <bruno@clisp.org>
22163
22164         Make it easier to find modules. New gnulib-tool option '--find'.
22165         * gnulib-tool: New option --find.
22166         (func_usage): Document it.
22167         (func_sanitize_modulelist): New function, extracted from
22168         func_all_modules.
22169         (func_all_modules): Invoke it.
22170         * doc/gnulib-tool.texi (Which modules?): New node.
22171
22172 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
22173
22174         * lib/sys_select.in.h: Provide select replacement even if
22175         sys/select.h exists on a system, for Interix.
22176
22177 2010-02-18  Jim Meyering  <meyering@redhat.com>
22178
22179         init.sh: don't use $(...) just yet
22180         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
22181         to accommodate e.g., Solaris' /bin/sh.
22182
22183 2010-02-17  Bruno Haible  <bruno@clisp.org>
22184
22185         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
22186         Reported by Ludovic Courtès <ludo@gnu.org>.
22187
22188 2010-02-16  Simon Josefsson  <simon@josefsson.org>
22189
22190         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
22191         linking with -lintl.
22192
22193 2010-02-17  Simon Josefsson  <simon@josefsson.org>
22194
22195         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
22196         if not provided by the system's netdb.h.  Reported by
22197         ludo@gnu.org (Ludovic Courtès).
22198
22199 2010-02-15  Jim Meyering  <meyering@redhat.com>
22200
22201         init.sh: improve portability and efficiency
22202         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
22203         "dummy" in a for loop.
22204         Use '!', not '^' to select the complement of a character set used
22205         in a "case" statement.
22206         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
22207         Suggestions from Eric Blake.
22208
22209         init.sh: automatically accommodate programs with the .exe suffix
22210         Automatically arrange for an invocation of "prog" to execute the
22211         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
22212         may use the simpler "prog", yet still work when built on a system
22213         that requires specifying the added suffix.
22214         Do this by constructing a function named "prog" that invokes
22215         "prog.exe" for each .exe file in selected directories.
22216         * tests/init.sh (find_exe_basenames_): New function.
22217         (create_exe_shim_functions_): New function.
22218         (path_prepend_): Use it.
22219
22220         maint.mk: mark syntax-check sc_*.m rules as .PHONY
22221         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
22222         "make -t syntax-check" doesn't create a ton of sc_*.m files.
22223
22224 2010-02-14  Jim Meyering  <meyering@redhat.com>
22225
22226         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
22227         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
22228         (sc_prohibit_hash_pjw_without_use): New rule.
22229
22230         maint.mk: allow the default upload destination dir to be overridden
22231         * top/maint.mk (upload_dest_dir_): Define with a default that
22232         preserves the status quo.
22233         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
22234         Reported by Peter Simons.
22235
22236         maint.mk: prohibit inclusion of "hash.h" without_use
22237         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
22238
22239 2010-02-10  Jim Meyering  <meyering@redhat.com>
22240
22241         maint.mk: prohibit inclusion of "ignore-value.h" without_use
22242         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
22243
22244 2010-02-09  Eric Blake  <ebb9@byu.net>
22245         and Bruno Haible  <bruno@clisp.org>
22246
22247         obstack-printf-posix: ensure declaration
22248         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
22249         extracted from gl_FUNC_OBSTACK_PRINTF.
22250         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
22251         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
22252         Likewise.
22253         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
22254         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
22255         0.
22256
22257 2010-02-08  Bruno Haible  <bruno@clisp.org>
22258
22259         gnulib-tool: Fix typo in 2010-02-07 commit.
22260         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
22261         Reported by Eric Blake.
22262
22263 2010-02-07  Bruno Haible  <bruno@clisp.org>
22264
22265         gnulib-tool: Fix up caching patches.
22266         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
22267         option --no-cache. Use associative arrays when supported by the shell.
22268         (sed_comments): New variable.
22269         (modcache): Renamed from do_cache.
22270         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
22271         abbreviate unnecessarily.
22272         (have_associative): New variable.
22273         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
22274         way also for ksh and zsh.
22275         (func_init_sed_convert_to_cache_statements): New function, extracted
22276         from func_cache_lookup_module. Add support for associative arrays.
22277         Don't set the c_MODULE_cached variable here. Ignore all lines before
22278         the first field header. Remove only the final newline, not all trailing
22279         newlines. Support empty fields correctly. Limit the use of 'eval' to
22280         assignments.
22281         (func_get_description, func_get_status, func_get_notice,
22282         func_get_applicability, func_get_filelist, func_get_dependencies,
22283         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
22284         func_get_automake_snippet, func_get_include_directive,
22285         func_get_link_directive, func_get_license, func_get_maintainer):
22286         Update documentation. List the unoptimized code first. Add support for
22287         associative arrays. Limit the use of 'eval' to assignments.
22288         (func_get_applicability): Undo stylistic pessimisations.
22289         (func_get_automake_snippet, func_get_include_directive): Reduce code
22290         duplication.
22291         (func_modules_transitive_closure, func_modules_add_dummy,
22292         func_modules_notice, func_modules_to_filelist, func_add_file,
22293         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
22294         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
22295         func_create_testdir, func_create_megatestdir): Update documentation.
22296
22297 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22298
22299         * gnulib-tool (func_cache_lookup_module): Store the module name
22300         belonging to the cache variable; error out if two different
22301         module names map to the same cache variable name.
22302
22303 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22304
22305         gnulib-tool: Make caching optional.
22306         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
22307         Update matching short versions of --no-changelog.
22308         (func_usage): Update.
22309         (sed_extract_cache_prog): Renamed from ...
22310         (sed_extract_prog): ... this; revert to old extraction script.
22311         (func_get_description, func_get_status)
22312         (func_get_notice, func_get_applicability, func_get_filelist)
22313         (func_get_dependencies, func_get_autoconf_early_snippet)
22314         (func_get_autoconf_snippet, func_get_automake_snippet)
22315         (func_get_include_directive, func_get_link_directive)
22316         (func_get_license, func_get_maintainer): If $do_cache is false,
22317         use old, non-caching extraction scripts.
22318         Suggestion by Bruno Haible.
22319
22320 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22321
22322         gnulib-tool: cache module metainformation.
22323         * gnulib-tool (sed_extract_prog): Match newline before each
22324         header, and rewrite header to a shell variable suffix.
22325         (func_cache_var, func_cache_lookup_module): New functions,
22326         to turn a module name into a cache variable prefix, and to
22327         look up and cache module metainformation.
22328         (func_get_description, func_get_status)
22329         (func_get_notice, func_get_applicability, func_get_filelist)
22330         (func_get_dependencies, func_get_autoconf_early_snippet)
22331         (func_get_autoconf_snippet, func_get_automake_snippet)
22332         (func_get_include_directive, func_get_link_directive)
22333         (func_get_license, func_get_maintainer): Use
22334         func_cache_lookup_module.
22335
22336 2010-02-07  Bruno Haible  <bruno@clisp.org>
22337
22338         fnctl: Fix missing dependency.
22339         * modules/fcntl (Depends-on): Add getdtablesize.
22340         Reported by John W. Eaton <jwe@gnu.org>.
22341
22342 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
22343
22344         Argp: fix recognition of short alias options.
22345
22346         * lib/argp-parse.c (convert_options): Fix improper use of
22347         `|' between character values.
22348         * tests/test-argp.c (group1_option): New alias option
22349         --read (-r).
22350         (group1_parser): Special handling for 'r'.
22351         (test15): New test case.
22352         (test_fun): Add test15.
22353         * tests/test-argp-2.sh: Update expected --help and --usage
22354         outputs.
22355
22356 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
22357
22358         * tests/test-argp.c: Fix indentation.
22359
22360 2010-02-04  Eric Blake  <ebb9@byu.net>
22361
22362         gettimeofday: expose type of second argument
22363         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
22364         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
22365         * tests/test-gettimeofday.c: Use it to silence warning.
22366         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
22367         the issue.
22368
22369 2010-02-03  Jim Meyering  <meyering@redhat.com>
22370
22371         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
22372         * lib/regcomp.c (TYPE_SIGNED): Define.
22373         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
22374
22375         regcomp.c: avoid a new -Wshadow warning
22376         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
22377
22378 2010-02-01  Jim Meyering  <meyering@redhat.com>
22379
22380         removing useless parentheses in cpp #define directives
22381         For motivation, see commit c0221df4, "define STREQ(a,b)
22382         consistently, removing useless parentheses"
22383         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
22384         * lib/mountlist.c (MNT_IGNORE): Likewise.
22385         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
22386
22387 2010-02-01  Eric Blake  <ebb9@byu.net>
22388
22389         sys_time: use link-warning
22390         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
22391         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
22392         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
22393         * modules/sys_time (Depends-on): Add warn-on-use.
22394         (Makefile.am): Always build replacement.
22395         (configure.ac): Update substitutions.
22396         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
22397         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
22398         bother with SYS_TIME_H.
22399         * modules/gettimeofday (configure.ac): Declare indicator.
22400         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
22401         in use.
22402
22403         closein-tests: silence compiler warning
22404         * tests/test-closein.c (main): Ignore fread result.
22405         * modules/closein-tests (Depends-on): Add ignore-value.
22406
22407         tests: silence warning about system return
22408         * tests/test-areadlink-with-size.c (main): Ignore system result.
22409         * tests/test-areadlink.c (main): Likewise.
22410         * tests/test-areadlinkat-with-size.c (main): Likewise.
22411         * tests/test-areadlinkat.c (main): Likewise.
22412         * tests/test-canonicalize-lgpl.c (main): Likewise.
22413         * tests/test-canonicalize.c (main): Likewise.
22414         * tests/test-chown.c (main): Likewise.
22415         * tests/test-fchownat.c (main): Likewise.
22416         * tests/test-fdutimensat.c (main): Likewise.
22417         * tests/test-fstatat.c (main): Likewise.
22418         * tests/test-futimens.c (main): Likewise.
22419         * tests/test-lchown.c (main): Likewise.
22420         * tests/test-link.c (main): Likewise.
22421         * tests/test-linkat.c (main): Likewise.
22422         * tests/test-lstat.c (main): Likewise.
22423         * tests/test-mkdir.c (main): Likewise.
22424         * tests/test-mkdirat.c (main): Likewise.
22425         * tests/test-mkfifo.c (main): Likewise.
22426         * tests/test-mkfifoat.c (main): Likewise.
22427         * tests/test-mknod.c (main): Likewise.
22428         * tests/test-readlink.c (main): Likewise.
22429         * tests/test-remove.c (main): Likewise.
22430         * tests/test-rename.c (main): Likewise.
22431         * tests/test-renameat.c (main): Likewise.
22432         * tests/test-rmdir.c (main): Likewise.
22433         * tests/test-symlink.c (main): Likewise.
22434         * tests/test-symlinkat.c (main): Likewise.
22435         * tests/test-unlink.c (main): Likewise.
22436         * tests/test-unlinkat.c (main): Likewise.
22437         * tests/test-utimens.c (main): Likewise.
22438         * tests/test-utimensat.c (main): Likewise.
22439         * modules/areadlink-tests (Depends-on): Add ignore-value.
22440         * modules/areadlink-with-size-tests (Depends-on): Likewise.
22441         * modules/areadlinkat-tests (Depends-on): Likewise.
22442         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
22443         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22444         * modules/canonicalize-tests (Depends-on): Likewise.
22445         * modules/chown-tests (Depends-on): Likewise.
22446         * modules/fdutimensat-tests (Depends-on): Likewise.
22447         * modules/futimens-tests (Depends-on): Likewise.
22448         * modules/lchown-tests (Depends-on): Likewise.
22449         * modules/link-tests (Depends-on): Likewise.
22450         * modules/linkat-tests (Depends-on): Likewise.
22451         * modules/lstat-tests (Depends-on): Likewise.
22452         * modules/mkdir-tests (Depends-on): Likewise.
22453         * modules/mkfifo-tests (Depends-on): Likewise.
22454         * modules/mkfifoat-tests (Depends-on): Likewise.
22455         * modules/mknod-tests (Depends-on): Likewise.
22456         * modules/openat-tests (Depends-on): Likewise.
22457         * modules/readlink-tests (Depends-on): Likewise.
22458         * modules/remove-tests (Depends-on): Likewise.
22459         * modules/rename-tests (Depends-on): Likewise.
22460         * modules/renameat-tests (Depends-on): Likewise.
22461         * modules/rmdir-tests (Depends-on): Likewise.
22462         * modules/symlink-tests (Depends-on): Likewise.
22463         * modules/symlinkat-tests (Depends-on): Likewise.
22464         * modules/unlink-tests (Depends-on): Likewise.
22465         * modules/utimens-tests (Depends-on): Likewise.
22466         * modules/utimensat-tests (Depends-on): Likewise.
22467
22468 2010-01-31  Bruno Haible  <bruno@clisp.org>
22469
22470         Perform the same test for many <math.h> functions.
22471         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
22472         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
22473         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
22474         of gl_MATHFUNC.
22475         * modules/acos (configure.ac): Likewise.
22476         * modules/asin (configure.ac): Likewise.
22477         * modules/atan (configure.ac): Likewise.
22478         * modules/atan2 (configure.ac): Likewise.
22479         * modules/cbrt (configure.ac): Likewise.
22480         * modules/copysign (configure.ac): Likewise.
22481         * modules/cos (configure.ac): Likewise.
22482         * modules/cosh (configure.ac): Likewise.
22483         * modules/erf (configure.ac): Likewise.
22484         * modules/erfc (configure.ac): Likewise.
22485         * modules/exp (configure.ac): Likewise.
22486         * modules/fmod (configure.ac): Likewise.
22487         * modules/hypot (configure.ac): Likewise.
22488         * modules/j0 (configure.ac): Likewise.
22489         * modules/j1 (configure.ac): Likewise.
22490         * modules/jn (configure.ac): Likewise.
22491         * modules/lgamma (configure.ac): Likewise.
22492         * modules/log (configure.ac): Likewise.
22493         * modules/log10 (configure.ac): Likewise.
22494         * modules/log1p (configure.ac): Likewise.
22495         * modules/pow (configure.ac): Likewise.
22496         * modules/remainder (configure.ac): Likewise.
22497         * modules/sin (configure.ac): Likewise.
22498         * modules/sinh (configure.ac): Likewise.
22499         * modules/tan (configure.ac): Likewise.
22500         * modules/tanh (configure.ac): Likewise.
22501         * modules/y0 (configure.ac): Likewise.
22502         * modules/y1 (configure.ac): Likewise.
22503         * modules/yn (configure.ac): Likewise.
22504         Suggested by Paolo Bonzini.
22505
22506 2010-01-31  Bruno Haible  <bruno@clisp.org>
22507
22508         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
22509
22510 2010-01-31  Bruno Haible  <bruno@clisp.org>
22511
22512         Work around getdelim() bug on FreeBSD 8.0.
22513         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
22514         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
22515         not work.
22516         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
22517         is 1.
22518         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
22519         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
22520         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
22521         a non-zero size.
22522         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
22523
22524 2010-01-31  Bruno Haible  <bruno@clisp.org>
22525
22526         Work around getline() bug on FreeBSD 8.0.
22527         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
22528         and a non-zero size.
22529         * tests/test-getline.c (main): Likewise.
22530         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
22531         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
22532
22533 2010-01-28  Eric Blake  <ebb9@byu.net>
22534
22535         regex: fix build failure
22536         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
22537         platforms.
22538
22539 2010-01-28  Jim Meyering  <meyering@redhat.com>
22540
22541         regex: do not ignore memory allocation failure
22542         * lib/regex_internal.c (create_cd_newstate): Detect
22543         re_node_set_init_copy failure.   Extracted from glibc commit
22544         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22545
22546         regex: sync more white-space changes from libc
22547         * lib/regex_internal.c: White-space only changes.
22548         * lib/regexec.c: Likewise.
22549
22550         regex: add many uses of __attribute_warn_unused_result__
22551         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
22552         * lib/regexec.c: Likewise.
22553         Extracted from a messy glibc commit.
22554
22555         regcomp.c: spelling and merge-artifact from glibc
22556         * lib/regcomp.c: Merge remainder of glibc's
22557         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22558
22559         regcomp.c: sync white-space changes from glibc
22560         * lib/regcomp.c: Merge to accommodate white space
22561         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22562
22563         regcomp.c: do not ignore internal return values
22564         * lib/regcomp.c: Do not ignore internal return values.
22565         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
22566         but without its white-space changes and spelling fixes.
22567
22568         regex_internal.h: define __attribute_warn_unused_result__
22569         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
22570
22571         maint: add a syntax-check rule to check for vulnerable Makefile.in
22572         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
22573
22574 2010-01-27  Jim Meyering  <meyering@redhat.com>
22575
22576         ncftpput-ftp: clean up spaces
22577         * build-aux/ncftpput-ftp: Make Copyright line consistent.
22578         Remove trailing blanks.
22579
22580 2010-01-27  Simon Josefsson  <simon@josefsson.org>
22581
22582         * build-aux/git-version-gen: Fix copyright statement.
22583         * build-aux/gnupload: Likewise.
22584         * tests/test-arcfour.c: Likewise.
22585         * tests/test-arctwo.c: Likewise.
22586         * tests/test-count-one-bits.c: Likewise.
22587         * tests/test-crc.c: Likewise.
22588         * tests/test-des.c: Likewise.
22589         * tests/test-gc-arcfour.c: Likewise.
22590         * tests/test-gc-arctwo.c: Likewise.
22591         * tests/test-gc-des.c: Likewise.
22592         * tests/test-gc-hmac-md5.c: Likewise.
22593         * tests/test-gc-hmac-sha1.c: Likewise.
22594         * tests/test-gc-md2.c: Likewise.
22595         * tests/test-gc-md4.c: Likewise.
22596         * tests/test-gc-md5.c: Likewise.
22597         * tests/test-gc-pbkdf2-sha1.c: Likewise.
22598         * tests/test-gc-rijndael.c: Likewise.
22599         * tests/test-gc-sha1.c: Likewise.
22600         * tests/test-gc.c: Likewise.
22601         * tests/test-gethostname.c: Likewise.
22602         * tests/test-gettimeofday.c: Likewise.
22603         * tests/test-hash.c: Likewise.
22604         * tests/test-hmac-md5.c: Likewise.
22605         * tests/test-hmac-sha1.c: Likewise.
22606         * tests/test-md2.c: Likewise.
22607         * tests/test-md4.c: Likewise.
22608         * tests/test-md5.c: Likewise.
22609         * tests/test-memchr.c: Likewise.
22610         * tests/test-memchr2.c: Likewise.
22611         * tests/test-memcmp.c: Likewise.
22612         * tests/test-memmem.c: Likewise.
22613         * tests/test-memrchr.c: Likewise.
22614         * tests/test-rawmemchr.c: Likewise.
22615         * tests/test-read-file.c: Likewise.
22616         * tests/test-rijndael.c: Likewise.
22617         * tests/test-sockets.c: Likewise.
22618         * tests/test-strchrnul.c: Likewise.
22619         * tests/test-strstr.c: Likewise.
22620         * tests/test-strtod.c: Likewise.
22621         * build-aux/ncftpput-ftp: Likewise.
22622
22623 2010-01-26  Eric Blake  <ebb9@byu.net>
22624
22625         ignore-value: update recommended header name
22626         * modules/ignore-value (Include): Only use <> for headers that
22627         exist in glibc.
22628
22629 2010-01-26  Jim Meyering  <meyering@redhat.com>
22630
22631         test-userspec.c: avoid compiler warnings
22632         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
22633         and "initialization discards qualifiers..." warnings.
22634         Put the first "uid" in its own scope, and make char* members "const".
22635
22636 2010-01-25  Bruno Haible  <bruno@clisp.org>
22637
22638         gnulib-tool: Make warning diagnostics consistent.
22639         * gnulib-tool (func_warning): New function.
22640         Use it everywhere where gnulib-tool produces output to stderr and it is
22641         not a fatal error.
22642
22643 2010-01-25  Bruno Haible  <bruno@clisp.org>
22644
22645         Fix test dependencies.
22646         * modules/xstrtol-tests (Depends-on): Add inttypes.
22647         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
22648
22649 2010-01-25 PĂ¡draig Brady <P@draigBrady.com>
22650
22651         syntax-check: detect incorrect boolean macro values in config.h
22652         * modules/maintainer-makefile (configure.ac): Parameterize the location
22653         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
22654         The logic is from Eric Blake and the location indicated by Jim Meyering.
22655         Note the more natural CONFIG_HEADER name is prohibited by automake
22656         for backwards compatibility reasons.
22657         * top/maint.mk (sc_Wundef_boolean): New rule.
22658
22659 2010-01-25  Jim Meyering  <meyering@redhat.com>
22660
22661         bootstrap: detect MacOS 10.6's shasum, too
22662         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
22663         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
22664
22665 2010-01-23  Jim Meyering  <meyering@redhat.com>
22666
22667         xstrtoll: new module
22668         * modules/xstrtoll: New file.
22669         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
22670         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
22671         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
22672         ./configure fails if you use this module and lack "long long".
22673         * modules/xstrtoll-tests: New module.
22674         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
22675         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
22676         new init.sh-based test framework.
22677
22678 2010-01-24  Bruno Haible  <bruno@clisp.org>
22679
22680         Tests for module 'yn'.
22681         * modules/yn-tests: New file.
22682         * tests/test-yn.c: New file.
22683
22684         Tests for module 'y1'.
22685         * modules/y1-tests: New file.
22686         * tests/test-y1.c: New file.
22687
22688         Tests for module 'y0'.
22689         * modules/y0-tests: New file.
22690         * tests/test-y0.c: New file.
22691
22692         Tests for module 'tanh'.
22693         * modules/tanh-tests: New file.
22694         * tests/test-tanh.c: New file.
22695
22696         Tests for module 'tan'.
22697         * modules/tan-tests: New file.
22698         * tests/test-tan.c: New file.
22699
22700         Tests for module 'sqrt'.
22701         * modules/sqrt-tests: New file.
22702         * tests/test-sqrt.c: New file.
22703
22704         Tests for module 'sinh'.
22705         * modules/sinh-tests: New file.
22706         * tests/test-sinh.c: New file.
22707
22708         Tests for module 'sin'.
22709         * modules/sin-tests: New file.
22710         * tests/test-sin.c: New file.
22711
22712         Tests for module 'rint'.
22713         * modules/rint-tests: New file.
22714         * tests/test-rint.c: New file.
22715
22716         Tests for module 'remainder'.
22717         * modules/remainder-tests: New file.
22718         * tests/test-remainder.c: New file.
22719
22720         Tests for module 'pow'.
22721         * modules/pow-tests: New file.
22722         * tests/test-pow.c: New file.
22723
22724         Tests for module 'nextafter'.
22725         * modules/nextafter-tests: New file.
22726         * tests/test-nextafter.c: New file.
22727
22728         Tests for module 'modf'.
22729         * modules/modf-tests: New file.
22730         * tests/test-modf.c: New file.
22731
22732         Tests for module 'logb'.
22733         * modules/logb-tests: New file.
22734         * tests/test-logb.c: New file.
22735
22736         Tests for module 'log1p'.
22737         * modules/log1p-tests: New file.
22738         * tests/test-log1p.c: New file.
22739
22740         Tests for module 'log10'.
22741         * modules/log10-tests: New file.
22742         * tests/test-log10.c: New file.
22743
22744         Tests for module 'log'.
22745         * modules/log-tests: New file.
22746         * tests/test-log.c: New file.
22747
22748         Tests for module 'lgamma'.
22749         * modules/lgamma-tests: New file.
22750         * tests/test-lgamma.c: New file.
22751
22752         Tests for module 'ldexp'.
22753         * modules/ldexp-tests: New file.
22754         * tests/test-ldexp.c: New file.
22755
22756         Tests for module 'jn'.
22757         * modules/jn-tests: New file.
22758         * tests/test-jn.c: New file.
22759
22760         Tests for module 'j1'.
22761         * modules/j1-tests: New file.
22762         * tests/test-j1.c: New file.
22763
22764         Tests for module 'j0'.
22765         * modules/j0-tests: New file.
22766         * tests/test-j0.c: New file.
22767
22768         Tests for module 'hypot'.
22769         * modules/hypot-tests: New file.
22770         * tests/test-hypot.c: New file.
22771
22772         Tests for module 'fmod'.
22773         * modules/fmod-tests: New file.
22774         * tests/test-fmod.c: New file.
22775
22776         Tests for module 'fabs'.
22777         * modules/fabs-tests: New file.
22778         * tests/test-fabs.c: New file.
22779
22780         Tests for module 'exp'.
22781         * modules/exp-tests: New file.
22782         * tests/test-exp.c: New file.
22783
22784         Tests for module 'erfc'.
22785         * modules/erfc-tests: New file.
22786         * tests/test-erfc.c: New file.
22787
22788         Tests for module 'erf'.
22789         * modules/erf-tests: New file.
22790         * tests/test-erf.c: New file.
22791
22792         Tests for module 'cosh'.
22793         * modules/cosh-tests: New file.
22794         * tests/test-cosh.c: New file.
22795
22796         Tests for module 'cos'.
22797         * modules/cos-tests: New file.
22798         * tests/test-cos.c: New file.
22799
22800         Tests for module 'copysign'.
22801         * modules/copysign-tests: New file.
22802         * tests/test-copysign.c: New file.
22803
22804         Tests for module 'cbrt'.
22805         * modules/cbrt-tests: New file.
22806         * tests/test-cbrt.c: New file.
22807
22808         Tests for module 'atan2'.
22809         * modules/atan2-tests: New file.
22810         * tests/test-atan2.c: New file.
22811
22812         Tests for module 'atan'.
22813         * modules/atan-tests: New file.
22814         * tests/test-atan.c: New file.
22815
22816         Tests for module 'asin'.
22817         * modules/asin-tests: New file.
22818         * tests/test-asin.c: New file.
22819
22820         Tests for module 'acos'.
22821         * modules/acos-tests: New file.
22822         * tests/test-acos.c: New file.
22823
22824 2010-01-24  Bruno Haible  <bruno@clisp.org>
22825
22826         Fix tests for common <math.h> functions.
22827         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
22828         code snippet that references the function pointer, rather than merely
22829         calling the function. Substitute the FUNC_LIBM variable.
22830         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
22831         * modules/acos (configure.ac): Likewise.
22832         * modules/asin (configure.ac): Likewise.
22833         * modules/atan (configure.ac): Likewise.
22834         * modules/atan2 (configure.ac): Likewise.
22835         * modules/cbrt (configure.ac): Likewise.
22836         * modules/copysign (configure.ac): Likewise.
22837         * modules/cos (configure.ac): Likewise.
22838         * modules/cosh (configure.ac): Likewise.
22839         * modules/erf (configure.ac): Likewise.
22840         * modules/erfc (configure.ac): Likewise.
22841         * modules/exp (configure.ac): Likewise.
22842         * modules/fabs (configure.ac): Likewise.
22843         * modules/fmod (configure.ac): Likewise.
22844         * modules/hypot (configure.ac): Likewise.
22845         * modules/j0 (configure.ac): Likewise.
22846         * modules/j1 (configure.ac): Likewise.
22847         * modules/jn (configure.ac): Likewise.
22848         * modules/ldexp (configure.ac): Likewise.
22849         * modules/lgamma (configure.ac): Likewise.
22850         * modules/log (configure.ac): Likewise.
22851         * modules/log10 (configure.ac): Likewise.
22852         * modules/log1p (configure.ac): Likewise.
22853         * modules/logb (configure.ac): Likewise.
22854         * modules/modf (configure.ac): Likewise.
22855         * modules/nextafter (configure.ac): Likewise.
22856         * modules/pow (configure.ac): Likewise.
22857         * modules/remainder (configure.ac): Likewise.
22858         * modules/rint (configure.ac): Likewise.
22859         * modules/sin (configure.ac): Likewise.
22860         * modules/sinh (configure.ac): Likewise.
22861         * modules/tan (configure.ac): Likewise.
22862         * modules/tanh (configure.ac): Likewise.
22863         * modules/y0 (configure.ac): Likewise.
22864         * modules/y1 (configure.ac): Likewise.
22865         * modules/yn (configure.ac): Likewise.
22866
22867 2010-01-24  Bruno Haible  <bruno@clisp.org>
22868
22869         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
22870         * tests/test-acosl.c (x): New variable.
22871         (main): Store argument in x and fetch it from x.
22872         * tests/test-asinl.c (x): New variable.
22873         (main): Store argument in x and fetch it from x.
22874         * tests/test-atanl.c (x): New variable.
22875         (main): Store argument in x and fetch it from x.
22876         * tests/test-cosl.c (x): New variable.
22877         (main): Store argument in x and fetch it from x.
22878         * tests/test-expl.c (x): New variable.
22879         (main): Store argument in x and fetch it from x.
22880         * tests/test-logl.c (x): New variable.
22881         (main): Store argument in x and fetch it from x.
22882         * tests/test-sinl.c (x): New variable.
22883         (main): Store argument in x and fetch it from x.
22884         * tests/test-sqrtl.c (x): New variable.
22885         (main): Store argument in x and fetch it from x.
22886         * tests/test-tanl.c (x): New variable.
22887         (main): Store argument in x and fetch it from x.
22888
22889 2010-01-24  Bruno Haible  <bruno@clisp.org>
22890
22891         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
22892         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
22893         assignments to the initial TESTS_ENVIRONMENT.
22894         * doc/gnulib.texi (Unit test modules): Document it.
22895         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
22896         TESTS_ENVIRONMENT.
22897         * modules/btowc-tests (Makefile.am): Likewise.
22898         * modules/c-stack-tests (Makefile.am): Likewise.
22899         * modules/c-strcase-tests (Makefile.am): Likewise.
22900         * modules/copy-file-tests (Makefile.am): Likewise.
22901         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
22902         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
22903         * modules/mbrtowc-tests (Makefile.am): Likewise.
22904         * modules/mbscasecmp-tests (Makefile.am): Likewise.
22905         * modules/mbscasestr-tests (Makefile.am): Likewise.
22906         * modules/mbschr-tests (Makefile.am): Likewise.
22907         * modules/mbscspn-tests (Makefile.am): Likewise.
22908         * modules/mbsinit-tests (Makefile.am): Likewise.
22909         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
22910         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
22911         * modules/mbspbrk-tests (Makefile.am): Likewise.
22912         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
22913         * modules/mbsrchr-tests (Makefile.am): Likewise.
22914         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
22915         * modules/mbsspn-tests (Makefile.am): Likewise.
22916         * modules/mbsstr-tests (Makefile.am): Likewise.
22917         * modules/nl_langinfo-tests (Makefile.am): Likewise.
22918         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
22919         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
22920         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
22921         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
22922         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
22923         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
22924         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
22925         * modules/wcrtomb-tests (Makefile.am): Likewise.
22926         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
22927         * modules/wcsrtombs-tests (Makefile.am): Likewise.
22928         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
22929         assignments from TESTS_ENVIRONMENT.
22930         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
22931         augmentation.
22932         * modules/argp-version-etc-tests (Makefile.am): Likewise.
22933         * modules/atexit-tests (Makefile.am): Likewise.
22934         * modules/binary-io-tests (Makefile.am): Likewise.
22935         * modules/closein-tests (Makefile.am): Likewise.
22936         * modules/dprintf-posix-tests (Makefile.am): Likewise.
22937         * modules/exclude-tests (Makefile.am): Likewise.
22938         * modules/fflush-tests (Makefile.am): Likewise.
22939         * modules/fpending-tests (Makefile.am): Likewise.
22940         * modules/fprintf-posix-tests (Makefile.am): Likewise.
22941         * modules/freadahead-tests (Makefile.am): Likewise.
22942         * modules/freadptr-tests (Makefile.am): Likewise.
22943         * modules/freadseek-tests (Makefile.am): Likewise.
22944         * modules/fseek-tests (Makefile.am): Likewise.
22945         * modules/fseeko-tests (Makefile.am): Likewise.
22946         * modules/ftell-tests (Makefile.am): Likewise.
22947         * modules/ftello-tests (Makefile.am): Likewise.
22948         * modules/idpriv-drop-tests (Makefile.am): Likewise.
22949         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
22950         * modules/lseek-tests (Makefile.am): Likewise.
22951         * modules/parse-duration-tests (Makefile.am): Likewise.
22952         * modules/perror-tests (Makefile.am): Likewise.
22953         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
22954         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
22955         * modules/pipe-tests (Makefile.am): Likewise.
22956         * modules/pread-tests (Makefile.am): Likewise.
22957         * modules/printf-posix-tests (Makefile.am): Likewise.
22958         * modules/select-tests (Makefile.am): Likewise.
22959         * modules/sigpipe-tests (Makefile.am): Likewise.
22960         * modules/tsearch-tests (Makefile.am): Likewise.
22961         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
22962         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
22963         * modules/uniname/uniname-tests (Makefile.am): Likewise.
22964         * modules/uniwidth/width-tests (Makefile.am): Likewise.
22965         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
22966         * modules/version-etc-tests (Makefile.am): Likewise.
22967         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
22968         * modules/vprintf-posix-tests (Makefile.am): Likewise.
22969         * modules/xalloc-die-tests (Makefile.am): Likewise.
22970         * modules/xprintf-posix-tests (Makefile.am): Likewise.
22971         * modules/xstrtoimax-tests (Makefile.am): Likewise.
22972         * modules/xstrtol-tests (Makefile.am): Likewise.
22973         * modules/xstrtoumax-tests (Makefile.am): Likewise.
22974         * modules/yesno-tests (Makefile.am): Likewise.
22975         Suggested by Jim Meyering.
22976
22977 2010-01-24  Bruno Haible  <bruno@clisp.org>
22978
22979         More documentation.
22980         * doc/gnulib.texi (Writing modules): New chapter.
22981         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
22982         the new chapter.
22983
22984 2010-01-24  Jim Meyering  <meyering@redhat.com>
22985
22986         maint.mk: do not prepend "./" after filtering
22987         * top/maint.mk (_prepend_srcdir_prefix): New variable
22988         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
22989         "./" when $(srcdir) is ".".
22990
22991         define STREQ(a,b) consistently, removing useless parentheses
22992         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
22993         since the only risk is that "a" or "b" contains an unparenthesized
22994         comma, but if either did that, STREQ would have 3 or more arguments.
22995         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
22996         * lib/fts.c (STREQ): Remove unnecessary parentheses.
22997         * lib/hash-triple.c (STREQ): Likewise.
22998         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
22999         * lib/getugroups.c (STREQ): Likewise.
23000
23001 2010-01-23  Jim Meyering  <meyering@redhat.com>
23002
23003         maint.mk: fix syntax-check in a non-srcdir build directory
23004         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
23005         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
23006
23007 2010-01-22  Jim Meyering  <meyering@redhat.com>
23008
23009         userspec: add unit tests
23010         * tests/test-userspec.c: New file.
23011         * modules/userspec-tests: Likewise.
23012
23013 2010-01-21  Jim Meyering  <meyering@redhat.com>
23014
23015         maint.mk: handle source file names containing "." robustly
23016         * top/maint.mk (_dot_escaped_srcdir): Define.
23017         (VC_LIST): Use it in LHS of sed substitution.
23018
23019 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
23020
23021         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
23022         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
23023         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
23024         from a non-srcdir build.
23025
23026 2010-01-20  Eric Blake  <ebb9@byu.net>
23027
23028         warn-on-use: use instead of link-warning
23029         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
23030         * modules/unistd (Depends-on, Makefile.am): Likewise.
23031         * modules/arpa_inet (Depends-on): Replace link-warning with
23032         warn-on-use.
23033         (Makefile.am): Update rules accordingly.
23034         * modules/ctype (Depends-on, Makefile.am): Likewise.
23035         * modules/dirent (Depends-on, Makefile.am): Likewise.
23036         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
23037         * modules/inttypes (Depends-on, Makefile.am): Likewise.
23038         * modules/langinfo (Depends-on, Makefile.am): Likewise.
23039         * modules/locale (Depends-on, Makefile.am): Likewise.
23040         * modules/math (Depends-on, Makefile.am): Likewise.
23041         * modules/search (Depends-on, Makefile.am): Likewise.
23042         * modules/signal (Depends-on, Makefile.am): Likewise.
23043         * modules/spawn (Depends-on, Makefile.am): Likewise.
23044         * modules/stdlib (Depends-on, Makefile.am): Likewise.
23045         * modules/string (Depends-on, Makefile.am): Likewise.
23046         * modules/strings (Depends-on, Makefile.am): Likewise.
23047         * modules/sys_file (Depends-on, Makefile.am): Likewise.
23048         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
23049         * modules/sys_select (Depends-on, Makefile.am): Likewise.
23050         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
23051         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
23052         * modules/sys_times (Depends-on, Makefile.am): Likewise.
23053         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
23054         * modules/wchar (Depends-on, Makefile.am): Likewise.
23055         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
23056         should be poisoned.
23057         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
23058         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
23059         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
23060         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
23061         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
23062         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
23063         * m4/math_h.m4 (gl_MATH_H): Likewise.
23064         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
23065         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
23066         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
23067         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
23068         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
23069         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
23070         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
23071         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
23072         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
23073         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23074         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
23075         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
23076         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23077         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
23078         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
23079         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
23080         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
23081         GL_LINK_WARNING.
23082         * lib/ctype.in.h: Likewise.
23083         * lib/dirent.in.h: Likewise.
23084         * lib/fcntl.in.h: Likewise.
23085         * lib/inttypes.in.h: Likewise.
23086         * lib/langinfo.in.h: Likewise.
23087         * lib/locale.in.h: Likewise.
23088         * lib/math.in.h: Likewise.
23089         * lib/search.in.h: Likewise.
23090         * lib/signal.in.h: Likewise.
23091         * lib/spawn.in.h: Likewise.
23092         * lib/stdio.in.h: Likewise.
23093         * lib/stdlib.in.h: Likewise.
23094         * lib/string.in.h: Likewise.
23095         * lib/strings.in.h: Likewise.
23096         * lib/sys_file.in.h: Likewise.
23097         * lib/sys_ioctl.in.h: Likewise.
23098         * lib/sys_select.in.h: Likewise.
23099         * lib/sys_socket.in.h: Likewise.
23100         * lib/sys_stat.in.h: Likewise.
23101         * lib/sys_times.in.h: Likewise.
23102         * lib/sys_utsname.in.h: Likewise.
23103         * lib/unistd.in.h: Likewise.
23104         * lib/wchar.in.h: Likewise.
23105
23106 2010-01-20  Bruno Haible  <bruno@clisp.org>
23107
23108         Avoid duplicate -lm.
23109         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
23110         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
23111         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
23112         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
23113         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
23114         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
23115         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
23116         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
23117         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
23118         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
23119         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
23120         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
23121         Reported by Paolo Bonzini.
23122
23123 2010-01-19  Bruno Haible  <bruno@clisp.org>
23124
23125         langinfo, nl_langinfo: Relicense under LGPLv2+.
23126         * modules/langinfo (License): Change to LGPLv2+.
23127         * modules/nl_langinfo (License): Likewise.
23128         Patch by David Lutterkort <lutter@redhat.com>.
23129
23130 2010-01-19  Bruno Haible  <bruno@clisp.org>
23131
23132         Avoid compilation error with cc on OSF/1 5.1.
23133         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
23134         statement, not before.
23135         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23136
23137 2010-01-18  Bruno Haible  <bruno@clisp.org>
23138
23139         Avoid a link error due to the __printf__ symbol.
23140         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
23141         and 2.6.x.
23142         (__format__, __printf__): Remove definitions.
23143         * lib/argp-fmtstream.h: Likewise.
23144         * lib/argp.h: Likewise.
23145         * lib/error.h: Likewise.
23146         * lib/vasnprintf.h: Likewise.
23147         * lib/xprintf.h: Likewise.
23148         * lib/xvasprintf.h: Likewise.
23149         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23150
23151 2010-01-18  Bruno Haible  <bruno@clisp.org>
23152
23153         Tests for module 'tanl'.
23154         * modules/tanl-tests: New file.
23155         * tests/test-tanl.c: New file.
23156
23157         Tests for module 'sqrtl'.
23158         * modules/sqrtl-tests: New file.
23159         * tests/test-sqrtl.c: New file.
23160
23161         Tests for module 'sinl'.
23162         * modules/sinl-tests: New file.
23163         * tests/test-sinl.c: New file.
23164
23165         Tests for module 'logl'.
23166         * modules/logl-tests: New file.
23167         * tests/test-logl.c: New file.
23168
23169         Tests for module 'expl'.
23170         * modules/expl-tests: New file.
23171         * tests/test-expl.c: New file.
23172
23173         Tests for module 'cosl'.
23174         * modules/cosl-tests: New file.
23175         * tests/test-cosl.c: New file.
23176
23177         Tests for module 'atanl'.
23178         * modules/atanl-tests: New file.
23179         * tests/test-atanl.c: New file.
23180
23181         Tests for module 'asinl'.
23182         * modules/asinl-tests: New file.
23183         * tests/test-asinl.c: New file.
23184
23185         Tests for module 'acosl'.
23186         * modules/acosl-tests: New file.
23187         * tests/test-acosl.c: New file.
23188
23189         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
23190         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
23191         tanl): Use the standard gnulib idiom.
23192         * lib/cosl.c: Don't include trigl.c and sincosl.c.
23193         * lib/sinl.c: Likewise.
23194         * lib/tanl.c: Don't include trigl.c.
23195         (kernel_tanl): Make static.
23196         * lib/sincosl.c: Include trigl.h first.
23197         * lib/trigl.c: Likewise.
23198         * m4/acosl.m4: New file.
23199         * m4/asinl.m4: New file.
23200         * m4/atanl.m4: New file.
23201         * m4/cosl.m4: New file.
23202         * m4/expl.m4: New file.
23203         * m4/logl.m4: New file.
23204         * m4/sinl.m4: New file.
23205         * m4/sqrtl.m4: New file.
23206         * m4/tanl.m4: New file.
23207         * m4/mathl.m4: Remove file.
23208         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
23209         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
23210         Don't initialize GNULIB_MATHL.
23211         * modules/acosl: New file.
23212         * modules/asinl: New file.
23213         * modules/atanl: New file.
23214         * modules/cosl: New file.
23215         * modules/expl: New file.
23216         * modules/logl: New file.
23217         * modules/sinl: New file.
23218         * modules/sqrtl: New file.
23219         * modules/tanl: New file.
23220         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
23221         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
23222         substitute GNULIB_MATHL.
23223         * modules/mathl: Rewritten.
23224         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
23225         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
23226         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
23227         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
23228         * doc/posix-functions/expl.texi: Mention the 'expl' module.
23229         * doc/posix-functions/logl.texi: Mention the 'logl' module.
23230         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
23231         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
23232         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
23233
23234 2010-01-18  Bruno Haible  <bruno@clisp.org>
23235
23236         sqrt: Make gl_FUNC_SQRT requirable.
23237         * m4/sqrt.m4: New file.
23238         * modules/sqrt (Files): Add it.
23239         (configure.ac): Invoke gl_FUNC_SQRT.
23240
23241 2010-01-18  Bruno Haible  <bruno@clisp.org>
23242
23243         New modules for common <math.h> functions.
23244         * m4/mathfunc.m4: New file.
23245         * modules/acos: New file.
23246         * modules/asin: New file.
23247         * modules/atan: New file.
23248         * modules/atan2: New file.
23249         * modules/cbrt: New file.
23250         * modules/copysign: New file.
23251         * modules/cos: New file.
23252         * modules/cosh: New file.
23253         * modules/erf: New file.
23254         * modules/erfc: New file.
23255         * modules/exp: New file.
23256         * modules/fabs: New file.
23257         * modules/fmod: New file.
23258         * modules/hypot: New file.
23259         * modules/j0: New file.
23260         * modules/j1: New file.
23261         * modules/jn: New file.
23262         * modules/ldexp: New file.
23263         * modules/lgamma: New file.
23264         * modules/log: New file.
23265         * modules/log10: New file.
23266         * modules/log1p: New file.
23267         * modules/logb: New file.
23268         * modules/modf: New file.
23269         * modules/nextafter: New file.
23270         * modules/pow: New file.
23271         * modules/remainder: New file.
23272         * modules/rint: New file.
23273         * modules/sin: New file.
23274         * modules/sinh: New file.
23275         * modules/sqrt: New file.
23276         * modules/tan: New file.
23277         * modules/tanh: New file.
23278         * modules/y0: New file.
23279         * modules/y1: New file.
23280         * modules/yn: New file.
23281         * doc/posix-functions/acos.texi: Mention the 'acos' module.
23282         * doc/posix-functions/asin.texi: Mention the 'asin' module.
23283         * doc/posix-functions/atan.texi: Mention the 'atan' module.
23284         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
23285         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
23286         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
23287         * doc/posix-functions/cos.texi: Mention the 'cos' module.
23288         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
23289         * doc/posix-functions/erf.texi: Mention the 'erf' module.
23290         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
23291         * doc/posix-functions/exp.texi: Mention the 'exp' module.
23292         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
23293         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
23294         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
23295         * doc/posix-functions/j0.texi: Mention the 'j0' module.
23296         * doc/posix-functions/j1.texi: Mention the 'j1' module.
23297         * doc/posix-functions/jn.texi: Mention the 'jn' module.
23298         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
23299         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
23300         * doc/posix-functions/log.texi: Mention the 'log' module.
23301         * doc/posix-functions/log10.texi: Mention the 'log10' module.
23302         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
23303         * doc/posix-functions/logb.texi: Mention the 'logb' module.
23304         * doc/posix-functions/modf.texi: Mention the 'modf' module.
23305         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
23306         * doc/posix-functions/pow.texi: Mention the 'pow' module.
23307         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
23308         * doc/posix-functions/rint.texi: Mention the 'rint' module.
23309         * doc/posix-functions/sin.texi: Mention the 'sin' module.
23310         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
23311         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
23312         * doc/posix-functions/tan.texi: Mention the 'tan' module.
23313         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
23314         * doc/posix-functions/y0.texi: Mention the 'y0' module.
23315         * doc/posix-functions/y1.texi: Mention the 'y1' module.
23316         * doc/posix-functions/yn.texi: Mention the 'yn' module.
23317
23318 2010-01-18  Jim Meyering  <meyering@redhat.com>
23319
23320         ignore-value: relax license to LGPLv2+
23321         * modules/ignore-value (License): Relax to LGPLv2+.
23322
23323         getdate: don't leak when TZ contains two or more '"'s
23324         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
23325         double quote in TZ after the first one.
23326
23327         readtokens: do not leak internal token_lengths buffer
23328         * lib/readtokens.c (readtokens): Free the local, lengths,
23329         when the supplied "token_lengths" parameter is NULL.
23330
23331 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23332
23333         Fix a couple of missing LIBTHREAD link failures on AIX.
23334         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
23335         $(LIBTHREAD).
23336         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
23337
23338         Link test-poll against INET_PTON_LIB.
23339         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
23340         for inet_pton on Solaris 10.
23341
23342 2010-01-17  Bruno Haible  <bruno@clisp.org>
23343
23344         unistdio/*-sprintf: Fix typo in module description.
23345         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
23346         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
23347         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
23348         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
23349         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
23350         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
23351         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
23352         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23353
23354 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23355
23356         gnulib-tool: fix filelist for AIX, HP-UX ksh.
23357         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
23358         variables in shell case patterns, for AIX and HP-UX ksh.
23359
23360         Split large sed scripts, for HP-UX sed.
23361         * modules/stdio: Split sed scripts around 50 sed commands,
23362         to avoid HP-UX limit of 99 commands, in the near future.
23363         * modules/string: Likewise.
23364         * modules/unistd: Likewise.
23365
23366         gnulib-tool: avoid writing in the current directory.
23367         * gnulib-tool (func_emit_lib_Makefile_am)
23368         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
23369         not in the current directory, so concurrent gnulib-tool
23370         instances do not interfere.
23371
23372 2010-01-16  Jim Meyering  <meyering@redhat.com>
23373
23374         doc: update users.txt
23375         * users.txt: Add grep.
23376         (diffutils, gzip): Update URLs.
23377
23378 2010-01-12  Bruno Haible  <bruno@clisp.org>
23379
23380         posix_spawn: Avoid test failure on Cygwin.
23381         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
23382         characters.
23383         Reported by Simon Josefsson.
23384
23385 2010-01-12  Bruno Haible  <bruno@clisp.org>
23386
23387         * tests/test-cond.c (main): When skipping the test, show the reason.
23388
23389 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23390
23391         * lib/striconv.c (str_cd_iconv): Avoid if before free.
23392
23393 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23394
23395         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
23396         VC_LIST_ALWAYS_EXCLUDE_REGEX.
23397
23398 2010-01-12  Eric Blake  <ebb9@byu.net>
23399
23400         build: guarantee AS_VAR_IF
23401         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
23402         (gl_AS_VAR_IF): Move...
23403         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
23404         Reported by Simon Josefsson.
23405
23406 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23407
23408         * lib/stdio.in.h: Fix typo.
23409
23410 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23411
23412         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
23413         libgpg-error.
23414
23415 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23416
23417         * tests/test-xalloc-die.sh: Use $EXEEXT.
23418
23419 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23420             Bruno Haible  <bruno@clisp.org>
23421
23422         getlogin, getlogin_r: Avoid test failure.
23423         * tests/test-getlogin.c: Include <stdio.h>.
23424         (main): Skip the test when the function fails because stdin is not a
23425         tty.
23426         * tests/test-getlogin_r.c: Include <stdio.h>.
23427         (main): Skip the test when the function fails because stdin is not a
23428         tty.
23429
23430 2010-01-11  Eric Blake  <ebb9@byu.net>
23431
23432         tests: avoid more large file warnings
23433         * tests/test-fflush.c: Avoid warning about ftell use.
23434         * tests/test-fseek.c: Avoid warning about fseek use.
23435
23436 2010-01-10  Bruno Haible  <bruno@clisp.org>
23437
23438         nproc: Work better on Linux when /proc and /sys are not mounted.
23439         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
23440         as lower bound when, on glibc/Linux systems,
23441         sysconf (_SC_NPROCESSORS_CONF) returns 1.
23442         Suggested by PĂ¡draig Brady <P@draigbrady.com>.
23443         Reported by Dmitry V. Levin <ldv@altlinux.org>.
23444
23445         nproc: Refactor.
23446         * lib/nproc.c (num_processors_via_affinity_mask): New function,
23447         extracted from num_processors.
23448         (num_processors): Call it.
23449
23450 2010-01-11  Jim Meyering  <meyering@redhat.com>
23451
23452         utimecmp: avoid new warning from upcoming gcc-4.5.0
23453         * lib/utimecmp.c (BILLION): Define using #define rather than an
23454         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
23455
23456 2010-01-11  Eric Blake  <ebb9@byu.net>
23457
23458         math: add portability warnings for classification macros
23459         * modules/math (Depends-on): Add warn-on-use.
23460         (Makefile.am): Provide new substitutions.
23461         * m4/math_h.m4 (gl_MATH_H): Require inline.
23462         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
23463         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
23464         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
23465         implement warnings.
23466
23467         unistd: warn on use of environ without module
23468         * modules/unistd (Depends-on): Add warn-on-use.
23469         (Makefile.am): Provide new substitutions.
23470         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
23471         * lib/unistd.in.h (environ): Wrap with a warning helper function.
23472
23473         stdio: warn on suspicious uses
23474         * modules/stdio (Depends-on): Add warn-on-use.
23475         (Makefile.am): Provide new substitutions.
23476         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
23477         fseeko.
23478         * lib/stdio.in.h (gets): Always warn on use.
23479         (fseek, ftell): Adjust when warnings are issued, and honor
23480         _GL_NO_LARGE_FILES as a way to silence the warning.
23481         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
23482         any warning about large file offsets.
23483         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
23484         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
23485         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
23486         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
23487         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
23488         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
23489         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
23490         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
23491
23492         warn-on-use: new module
23493         * modules/warn-on-use: New file.
23494         * build-aux/warn-on-use.h: Likewise.
23495         * m4/warn-on-use.m4: Likewise.
23496         * MODULES.html.sh (Support for building): Mention it.
23497
23498 2010-01-10  Bruno Haible  <bruno@clisp.org>
23499
23500         Tests for module 'unistr/u32-strdup'.
23501         * modules/unistr/u32-strdup-tests: New file.
23502         * tests/unistr/test-u32-strdup.c: New file.
23503
23504         Tests for module 'unistr/u16-strdup'.
23505         * modules/unistr/u16-strdup-tests: New file.
23506         * tests/unistr/test-u16-strdup.c: New file.
23507
23508         Tests for module 'unistr/u8-strdup'.
23509         * modules/unistr/u8-strdup-tests: New file.
23510         * tests/unistr/test-u8-strdup.c: New file.
23511         * tests/unistr/test-strdup.h: New file.
23512
23513         Tests for module 'unistr/u32-strncmp'.
23514         * modules/unistr/u32-strncmp-tests: New file.
23515         * tests/unistr/test-u32-strncmp.c: New file.
23516
23517         Tests for module 'unistr/u16-strncmp'.
23518         * modules/unistr/u16-strncmp-tests: New file.
23519         * tests/unistr/test-u16-strncmp.c: New file.
23520
23521         Tests for module 'unistr/u8-strncmp'.
23522         * modules/unistr/u8-strncmp-tests: New file.
23523         * tests/unistr/test-u8-strncmp.c: New file.
23524         * tests/unistr/test-strncmp.h: New file.
23525
23526         Tests for module 'unistr/u32-strcoll'.
23527         * modules/unistr/u32-strcoll-tests: New file.
23528         * tests/unistr/test-u32-strcoll.c: New file.
23529
23530         Tests for module 'unistr/u16-strcoll'.
23531         * modules/unistr/u16-strcoll-tests: New file.
23532         * tests/unistr/test-u16-strcoll.c: New file.
23533
23534         Tests for module 'unistr/u8-strcoll'.
23535         * modules/unistr/u8-strcoll-tests: New file.
23536         * tests/unistr/test-u8-strcoll.c: New file.
23537
23538         Tests for module 'unistr/u32-strcmp'.
23539         * modules/unistr/u32-strcmp-tests: New file.
23540         * tests/unistr/test-u32-strcmp.c: New file.
23541         * tests/unistr/test-u32-strcmp.h: New file.
23542
23543         Tests for module 'unistr/u16-strcmp'.
23544         * modules/unistr/u16-strcmp-tests: New file.
23545         * tests/unistr/test-u16-strcmp.c: New file.
23546         * tests/unistr/test-u16-strcmp.h: New file.
23547
23548         Tests for module 'unistr/u8-strcmp'.
23549         * modules/unistr/u8-strcmp-tests: New file.
23550         * tests/unistr/test-u8-strcmp.c: New file.
23551         * tests/unistr/test-u8-strcmp.h: New file.
23552         * tests/unistr/test-strcmp.h: New file.
23553
23554         Tests for module 'unistr/u32-strncat'.
23555         * modules/unistr/u32-strncat-tests: New file.
23556         * tests/unistr/test-u32-strncat.c: New file.
23557
23558         Tests for module 'unistr/u16-strncat'.
23559         * modules/unistr/u16-strncat-tests: New file.
23560         * tests/unistr/test-u16-strncat.c: New file.
23561
23562         Tests for module 'unistr/u8-strncat'.
23563         * modules/unistr/u8-strncat-tests: New file.
23564         * tests/unistr/test-u8-strncat.c: New file.
23565         * tests/unistr/test-strncat.h: New file.
23566
23567         Tests for module 'unistr/u32-strcat'.
23568         * modules/unistr/u32-strcat-tests: New file.
23569         * tests/unistr/test-u32-strcat.c: New file.
23570
23571         Tests for module 'unistr/u16-strcat'.
23572         * modules/unistr/u16-strcat-tests: New file.
23573         * tests/unistr/test-u16-strcat.c: New file.
23574
23575         Tests for module 'unistr/u8-strcat'.
23576         * modules/unistr/u8-strcat-tests: New file.
23577         * tests/unistr/test-u8-strcat.c: New file.
23578         * tests/unistr/test-strcat.h: New file.
23579
23580         Tests for module 'unistr/u32-stpncpy'.
23581         * modules/unistr/u32-stpncpy-tests: New file.
23582         * tests/unistr/test-u32-stpncpy.c: New file.
23583
23584         Tests for module 'unistr/u16-stpncpy'.
23585         * modules/unistr/u16-stpncpy-tests: New file.
23586         * tests/unistr/test-u16-stpncpy.c: New file.
23587
23588         Tests for module 'unistr/u8-stpncpy'.
23589         * modules/unistr/u8-stpncpy-tests: New file.
23590         * tests/unistr/test-u8-stpncpy.c: New file.
23591         * tests/unistr/test-stpncpy.h: New file.
23592
23593         Tests for module 'unistr/u32-strncpy'.
23594         * modules/unistr/u32-strncpy-tests: New file.
23595         * tests/unistr/test-u32-strncpy.c: New file.
23596
23597         Tests for module 'unistr/u16-strncpy'.
23598         * modules/unistr/u16-strncpy-tests: New file.
23599         * tests/unistr/test-u16-strncpy.c: New file.
23600
23601         Tests for module 'unistr/u8-strncpy'.
23602         * modules/unistr/u8-strncpy-tests: New file.
23603         * tests/unistr/test-u8-strncpy.c: New file.
23604         * tests/unistr/test-strncpy.h: New file.
23605
23606         Tests for module 'unistr/u32-stpcpy'.
23607         * modules/unistr/u32-stpcpy-tests: New file.
23608         * tests/unistr/test-u32-stpcpy.c: New file.
23609
23610         Tests for module 'unistr/u16-stpcpy'.
23611         * modules/unistr/u16-stpcpy-tests: New file.
23612         * tests/unistr/test-u16-stpcpy.c: New file.
23613
23614         Tests for module 'unistr/u8-stpcpy'.
23615         * modules/unistr/u8-stpcpy-tests: New file.
23616         * tests/unistr/test-u8-stpcpy.c: New file.
23617         * tests/unistr/test-stpcpy.h: New file.
23618
23619         Tests for module 'unistr/u32-strcpy'.
23620         * modules/unistr/u32-strcpy-tests: New file.
23621         * tests/unistr/test-u32-strcpy.c: New file.
23622
23623         Tests for module 'unistr/u16-strcpy'.
23624         * modules/unistr/u16-strcpy-tests: New file.
23625         * tests/unistr/test-u16-strcpy.c: New file.
23626
23627         Tests for module 'unistr/u8-strcpy'.
23628         * modules/unistr/u8-strcpy-tests: New file.
23629         * tests/unistr/test-u8-strcpy.c: New file.
23630         * tests/unistr/test-strcpy.h: New file.
23631
23632         Tests for module 'unistr/u32-strnlen'.
23633         * modules/unistr/u32-strnlen-tests: New file.
23634         * tests/unistr/test-u32-strnlen.c: New file.
23635
23636         Tests for module 'unistr/u16-strnlen'.
23637         * modules/unistr/u16-strnlen-tests: New file.
23638         * tests/unistr/test-u16-strnlen.c: New file.
23639
23640         Tests for module 'unistr/u8-strnlen'.
23641         * modules/unistr/u8-strnlen-tests: New file.
23642         * tests/unistr/test-u8-strnlen.c: New file.
23643         * tests/unistr/test-strnlen.h: New file.
23644
23645         Tests for module 'unistr/u32-strlen'.
23646         * modules/unistr/u32-strlen-tests: New file.
23647         * tests/unistr/test-u32-strlen.c: New file.
23648
23649         Tests for module 'unistr/u16-strlen'.
23650         * modules/unistr/u16-strlen-tests: New file.
23651         * tests/unistr/test-u16-strlen.c: New file.
23652
23653         Tests for module 'unistr/u8-strlen'.
23654         * modules/unistr/u8-strlen-tests: New file.
23655         * tests/unistr/test-u8-strlen.c: New file.
23656
23657         Tests for module 'unistr/u32-prev'.
23658         * modules/unistr/u32-prev-tests: New file.
23659         * tests/unistr/test-u32-prev.c: New file.
23660
23661         Tests for module 'unistr/u16-prev'.
23662         * modules/unistr/u16-prev-tests: New file.
23663         * tests/unistr/test-u16-prev.c: New file.
23664
23665         Tests for module 'unistr/u8-prev'.
23666         * modules/unistr/u8-prev-tests: New file.
23667         * tests/unistr/test-u8-prev.c: New file.
23668
23669         Tests for module 'unistr/u32-next'.
23670         * modules/unistr/u32-next-tests: New file.
23671         * tests/unistr/test-u32-next.c: New file.
23672
23673         Tests for module 'unistr/u16-next'.
23674         * modules/unistr/u16-next-tests: New file.
23675         * tests/unistr/test-u16-next.c: New file.
23676
23677         Tests for module 'unistr/u8-next'.
23678         * modules/unistr/u8-next-tests: New file.
23679         * tests/unistr/test-u8-next.c: New file.
23680
23681         Tests for module 'unistr/u32-strmbtouc'.
23682         * modules/unistr/u32-strmbtouc-tests: New file.
23683         * tests/unistr/test-u32-strmbtouc.c: New file.
23684
23685         Tests for module 'unistr/u16-strmbtouc'.
23686         * modules/unistr/u16-strmbtouc-tests: New file.
23687         * tests/unistr/test-u16-strmbtouc.c: New file.
23688
23689         Tests for module 'unistr/u8-strmbtouc'.
23690         * modules/unistr/u8-strmbtouc-tests: New file.
23691         * tests/unistr/test-u8-strmbtouc.c: New file.
23692
23693         Tests for module 'unistr/u32-strmblen'.
23694         * modules/unistr/u32-strmblen-tests: New file.
23695         * tests/unistr/test-u32-strmblen.c: New file.
23696
23697         Tests for module 'unistr/u16-strmblen'.
23698         * modules/unistr/u16-strmblen-tests: New file.
23699         * tests/unistr/test-u16-strmblen.c: New file.
23700
23701         Tests for module 'unistr/u8-strmblen'.
23702         * modules/unistr/u8-strmblen-tests: New file.
23703         * tests/unistr/test-u8-strmblen.c: New file.
23704
23705         Tests for module 'unistr/u32-cpy-alloc'.
23706         * modules/unistr/u32-cpy-alloc-tests: New file.
23707         * tests/unistr/test-u32-cpy-alloc.c: New file.
23708
23709         Tests for module 'unistr/u16-cpy-alloc'.
23710         * modules/unistr/u16-cpy-alloc-tests: New file.
23711         * tests/unistr/test-u16-cpy-alloc.c: New file.
23712
23713         Tests for module 'unistr/u8-cpy-alloc'.
23714         * modules/unistr/u8-cpy-alloc-tests: New file.
23715         * tests/unistr/test-u8-cpy-alloc.c: New file.
23716         * tests/unistr/test-cpy-alloc.h: New file.
23717
23718         Tests for module 'unistr/u32-mbsnlen'.
23719         * modules/unistr/u32-mbsnlen-tests: New file.
23720         * tests/unistr/test-u32-mbsnlen.c: New file.
23721
23722         Tests for module 'unistr/u16-mbsnlen'.
23723         * modules/unistr/u16-mbsnlen-tests: New file.
23724         * tests/unistr/test-u16-mbsnlen.c: New file.
23725
23726         Tests for module 'unistr/u8-mbsnlen'.
23727         * modules/unistr/u8-mbsnlen-tests: New file.
23728         * tests/unistr/test-u8-mbsnlen.c: New file.
23729
23730         Tests for module 'unistr/u32-chr'.
23731         * modules/unistr/u32-chr-tests: New file.
23732         * tests/unistr/test-u32-chr.c: New file.
23733
23734         Tests for module 'unistr/u16-chr'.
23735         * modules/unistr/u16-chr-tests: New file.
23736         * tests/unistr/test-u16-chr.c: New file.
23737
23738         Tests for module 'unistr/u8-chr'.
23739         * modules/unistr/u8-chr-tests: New file.
23740         * tests/unistr/test-u8-chr.c: New file.
23741         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
23742
23743         Tests for module 'unistr/u32-cmp2'.
23744         * modules/unistr/u32-cmp2-tests: New file.
23745         * tests/unistr/test-u32-cmp2.c: New file.
23746
23747         Tests for module 'unistr/u16-cmp2'.
23748         * modules/unistr/u16-cmp2-tests: New file.
23749         * tests/unistr/test-u16-cmp2.c: New file.
23750
23751         Tests for module 'unistr/u8-cmp2'.
23752         * modules/unistr/u8-cmp2-tests: New file.
23753         * tests/unistr/test-u8-cmp2.c: New file.
23754         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
23755
23756         Tests for module 'unistr/u32-cmp'.
23757         * modules/unistr/u32-cmp-tests: New file.
23758         * tests/unistr/test-u32-cmp.c: New file.
23759
23760         Tests for module 'unistr/u16-cmp'.
23761         * modules/unistr/u16-cmp-tests: New file.
23762         * tests/unistr/test-u16-cmp.c: New file.
23763
23764         Tests for module 'unistr/u8-cmp'.
23765         * modules/unistr/u8-cmp-tests: New file.
23766         * tests/unistr/test-u8-cmp.c: New file.
23767         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
23768
23769         Tests for module 'unistr/u32-set'.
23770         * modules/unistr/u32-set-tests: New file.
23771         * tests/unistr/test-u32-set.c: New file.
23772
23773         Tests for module 'unistr/u16-set'.
23774         * modules/unistr/u16-set-tests: New file.
23775         * tests/unistr/test-u16-set.c: New file.
23776
23777         Tests for module 'unistr/u8-set'.
23778         * modules/unistr/u8-set-tests: New file.
23779         * tests/unistr/test-u8-set.c: New file.
23780         * tests/unistr/test-set.h: New file.
23781
23782         Tests for module 'unistr/u32-move'.
23783         * modules/unistr/u32-move-tests: New file.
23784         * tests/unistr/test-u32-move.c: New file.
23785
23786         Tests for module 'unistr/u16-move'.
23787         * modules/unistr/u16-move-tests: New file.
23788         * tests/unistr/test-u16-move.c: New file.
23789
23790         Tests for module 'unistr/u8-move'.
23791         * modules/unistr/u8-move-tests: New file.
23792         * tests/unistr/test-u8-move.c: New file.
23793         * tests/unistr/test-move.h: New file.
23794
23795         Tests for module 'unistr/u32-cpy'.
23796         * modules/unistr/u32-cpy-tests: New file.
23797         * tests/unistr/test-u32-cpy.c: New file.
23798
23799         Tests for module 'unistr/u16-cpy'.
23800         * modules/unistr/u16-cpy-tests: New file.
23801         * tests/unistr/test-u16-cpy.c: New file.
23802
23803         Tests for module 'unistr/u8-cpy'.
23804         * modules/unistr/u8-cpy-tests: New file.
23805         * tests/unistr/test-u8-cpy.c: New file.
23806         * tests/unistr/test-cpy.h: New file.
23807
23808 2010-01-09  Bruno Haible  <bruno@clisp.org>
23809
23810         Tests for module 'unistr/u32-uctomb'.
23811         * modules/unistr/u32-uctomb-tests: New file.
23812         * tests/unistr/test-u32-uctomb.c: New file.
23813
23814         Tests for module 'unistr/u16-uctomb'.
23815         * modules/unistr/u16-uctomb-tests: New file.
23816         * tests/unistr/test-u16-uctomb.c: New file.
23817
23818         Tests for module 'unistr/u8-uctomb'.
23819         * modules/unistr/u8-uctomb-tests: New file.
23820         * tests/unistr/test-u8-uctomb.c: New file.
23821
23822         Tests for module 'unistr/u32-mbtoucr'.
23823         * modules/unistr/u32-mbtoucr-tests: New file.
23824         * tests/unistr/test-u32-mbtoucr.c: New file.
23825
23826         Tests for module 'unistr/u16-mbtoucr'.
23827         * modules/unistr/u16-mbtoucr-tests: New file.
23828         * tests/unistr/test-u16-mbtoucr.c: New file.
23829
23830         Tests for module 'unistr/u8-mbtoucr'.
23831         * modules/unistr/u8-mbtoucr-tests: New file.
23832         * tests/unistr/test-u8-mbtoucr.c: New file.
23833
23834         Tests for module 'unistr/u32-mbtouc'.
23835         * modules/unistr/u32-mbtouc-tests: New file.
23836         * tests/unistr/test-u32-mbtouc.c: New file.
23837
23838         Tests for module 'unistr/u16-mbtouc'.
23839         * modules/unistr/u16-mbtouc-tests: New file.
23840         * tests/unistr/test-u16-mbtouc.c: New file.
23841
23842         Tests for module 'unistr/u8-mbtouc'.
23843         * modules/unistr/u8-mbtouc-tests: New file.
23844         * tests/unistr/test-u8-mbtouc.c: New file.
23845
23846         Tests for module 'unistr/u32-mbtouc-unsafe'.
23847         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
23848         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
23849         * tests/unistr/test-u32-mbtouc.h: New file.
23850
23851         Tests for module 'unistr/u16-mbtouc-unsafe'.
23852         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
23853         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
23854         * tests/unistr/test-u16-mbtouc.h: New file.
23855
23856         Tests for module 'unistr/u8-mbtouc-unsafe'.
23857         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
23858         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
23859         * tests/unistr/test-u8-mbtouc.h: New file.
23860
23861         Tests for module 'unistr/u32-mblen'.
23862         * modules/unistr/u32-mblen-tests: New file.
23863         * tests/unistr/test-u32-mblen.c: New file.
23864
23865         Tests for module 'unistr/u16-mblen'.
23866         * modules/unistr/u16-mblen-tests: New file.
23867         * tests/unistr/test-u16-mblen.c: New file.
23868
23869         Tests for module 'unistr/u8-mblen'.
23870         * modules/unistr/u8-mblen-tests: New file.
23871         * tests/unistr/test-u8-mblen.c: New file.
23872
23873         Tests for module 'unistr/u32-to-u16'.
23874         * modules/unistr/u32-to-u16-tests: New file.
23875         * tests/unistr/test-u32-to-u16.c: New file.
23876
23877         Tests for module 'unistr/u32-to-u8'.
23878         * modules/unistr/u32-to-u8-tests: New file.
23879         * tests/unistr/test-u32-to-u8.c: New file.
23880
23881         Tests for module 'unistr/u16-to-u32'.
23882         * modules/unistr/u16-to-u32-tests: New file.
23883         * tests/unistr/test-u16-to-u32.c: New file.
23884
23885         Tests for module 'unistr/u16-to-u8'.
23886         * modules/unistr/u16-to-u8-tests: New file.
23887         * tests/unistr/test-u16-to-u8.c: New file.
23888
23889         Tests for module 'unistr/u8-to-u32'.
23890         * modules/unistr/u8-to-u32-tests: New file.
23891         * tests/unistr/test-u8-to-u32.c: New file.
23892
23893         Tests for module 'unistr/u8-to-u16'.
23894         * modules/unistr/u8-to-u16-tests: New file.
23895         * tests/unistr/test-u8-to-u16.c: New file.
23896
23897         Tests for module 'unistr/u32-check'.
23898         * modules/unistr/u32-check-tests: New file.
23899         * tests/unistr/test-u32-check.c: New file.
23900
23901         Tests for module 'unistr/u16-check'.
23902         * modules/unistr/u16-check-tests: New file.
23903         * tests/unistr/test-u16-check.c: New file.
23904
23905         Tests for module 'unistr/u8-check'.
23906         * modules/unistr/u8-check-tests: New file.
23907         * tests/unistr/test-u8-check.c: New file.
23908
23909         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
23910         (category_equals): New function.
23911         (main): Add more tests.
23912         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
23913
23914         * tests/unictype/test-bidi_byname.c (main): Add more tests.
23915
23916 2010-01-10  Bruno Haible  <bruno@clisp.org>
23917
23918         unistr/u*-strcoll: Try harder to distinguish different strings.
23919         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
23920         compare s1 and s2 to see if they are different.
23921
23922 2010-01-10  Bruno Haible  <bruno@clisp.org>
23923
23924         unistr/u*-stpncpy: Fix the return value.
23925         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
23926         description of the return value consistent with stpncpy in glibc.
23927         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
23928         written non-NUL unit.
23929
23930 2010-01-10  Bruno Haible  <bruno@clisp.org>
23931
23932         unistr/u*-next: Add missing dependencies.
23933         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
23934         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
23935         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
23936
23937 2010-01-10  Bruno Haible  <bruno@clisp.org>
23938
23939         unistr/u8-mbsnlen: Fix return value for incomplete character.
23940         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
23941         u8_mblen.
23942         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
23943         Remove unistr/u8-mblen.
23944         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
23945         u16_mblen.
23946         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
23947         Remove unistr/u16-mblen.
23948
23949 2010-01-10  Bruno Haible  <bruno@clisp.org>
23950
23951         wchar: Fix compilation error when <wchar.h> is used from coreutils.
23952         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
23953         Reported by Brian Gough <bjg@gnu.org> and
23954         Chris Clayton <chris2553@googlemail.com> via
23955         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
23956
23957 2010-01-09  Bruno Haible  <bruno@clisp.org>
23958
23959         unistr/u16-to-u32: Reject invalid input.
23960         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
23961         u16_mbtouc.
23962         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
23963         Remove unistr/u16-mbtouc.
23964
23965         unistr/u16-to-u8: Reject invalid input.
23966         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
23967         u16_mbtouc.
23968         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
23969         Remove unistr/u16-mbtouc.
23970
23971         unistr/u8-to-u32: Reject invalid input.
23972         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
23973         u8_mbtouc.
23974         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
23975         Remove unistr/u8-mbtouc.
23976
23977         unistr/u8-to-u16: Reject invalid input.
23978         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
23979         u8_mbtouc.
23980         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
23981         Remove unistr/u8-mbtouc.
23982
23983 2010-01-09  Bruno Haible  <bruno@clisp.org>
23984
23985         Tests for module 'getlogin'.
23986         * modules/getlogin-tests: New file.
23987         * tests/test-getlogin.c: New file.
23988
23989         New module 'getlogin'.
23990         * lib/unistd.in.h (getlogin): New declaration.
23991         * lib/getlogin.c: New file.
23992         * m4/getlogin.m4: New file.
23993         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
23994         HAVE_GETLOGIN.
23995         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
23996         HAVE_GETLOGIN.
23997         * modules/getlogin: New file.
23998         * doc/posix-functions/getlogin.texi: Mention the new module.
23999         Reported by John W. Eaton <jwe@gnu.org>.
24000
24001 2010-01-09  Bruno Haible  <bruno@clisp.org>
24002
24003         getlogin_r: Support for native Windows.
24004         * lib/getlogin_r.c: Include <windows.h>
24005         (getlogin_r): Implement for native Windows.
24006         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
24007         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
24008         via John W. Eaton <jwe@gnu.org>.
24009
24010 2010-01-09  Bruno Haible  <bruno@clisp.org>
24011
24012         getlogin_r: Small fixes.
24013         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
24014         succeeds.
24015         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
24016         before testing whether getlogin_r is declared. No need to set
24017         HAVE_DECL_GETLOGIN_R to 1.
24018         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
24019
24020 2010-01-09  Bruno Haible  <bruno@clisp.org>
24021
24022         * lib/unistd.in.h (getlogin_r): Add comment.
24023
24024 2010-01-09  Bruno Haible  <bruno@clisp.org>
24025
24026         Tests for module 'getlogin_r'.
24027         * modules/getlogin_r-tests: New file.
24028         * tests/test-getlogin_r.c: New file.
24029
24030 2010-01-09  Jim Meyering  <meyering@redhat.com>
24031
24032         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
24033         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
24034         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
24035
24036 2010-01-08  Simon Josefsson  <simon@josefsson.org>
24037
24038         * lib/dup2.c (rpl_dup2): Improve comment.
24039
24040 2010-01-08  Eric Blake  <ebb9@byu.net>
24041
24042         maint.mk: allow packages to add makefile @@ exceptions
24043         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
24044         (sc_makefile_check): Rename...
24045         (sc_makefile_at_at_check): ...to this, and use hook.
24046
24047         dup2: work around mingw bug
24048         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
24049         Reported by Simon Josefsson.
24050
24051 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
24052
24053         glob: Fix C++ compilation.
24054         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
24055         C++.
24056
24057 2010-01-07  Bruno Haible  <bruno@clisp.org>
24058
24059         Fix indentation of wctype.in.h, broken since 2007-01-06.
24060         * lib/wctype.in.h: Fix indentation of preprocessor directives.
24061
24062 2010-01-07  Bruno Haible  <bruno@clisp.org>
24063
24064         mbslen: Avoid collision with system function.
24065         * lib/string.in.h [MirBSD]: Include <wchar.h>.
24066         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
24067         * m4/mbslen.m4: New file.
24068         * modules/mbslen (Files): Add it.
24069         (configure.ac): Invoke gl_MBSLEN.
24070         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
24071         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
24072         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
24073         via Ian Beckwith <ianb@erislabs.net>.
24074
24075 2010-01-07  Bruno Haible  <bruno@clisp.org>
24076
24077         dirent: Document the last fix.
24078         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
24079
24080 2010-01-07  Bruno Haible  <bruno@clisp.org>
24081
24082         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
24083         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
24084         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
24085         va_list are defined.
24086         * doc/posix-headers/stdio.texi: Document the bug of missing types.
24087         Reported by Eric Blake.
24088
24089 2010-01-07  Bruno Haible  <bruno@clisp.org>
24090
24091         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
24092         * modules/xlist (Depends-on): Add 'list',
24093         * modules/xoset (Depends-on): Add 'oset'.
24094         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24095
24096 2010-01-07  Bruno Haible  <bruno@clisp.org>
24097
24098         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
24099         * doc/posix-functions/strncasecmp.texi: Likewise.
24100
24101 2010-01-07  Bruno Haible  <bruno@clisp.org>
24102
24103         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
24104
24105 2010-01-07  John W. Eaton  <jwe@octave.org>
24106
24107         wctype: allow C++ use
24108         * lib/wctype.in.h: Add extern "C" block for C++.
24109
24110 2010-01-06  Eric Blake  <ebb9@byu.net>
24111
24112         maint.mk: detect incorrect GFDL usage
24113         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
24114
24115 2010-01-06  Jim Meyering  <meyering@redhat.com>
24116         and Eric Blake  <ebb9@byu.net>
24117
24118         maint.mk: ignore multi-line copyright in NEWS
24119         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
24120
24121 2010-01-06  Eric Blake  <ebb9@byu.net>
24122
24123         select: add missing dependency
24124         * modules/select-tests (Depends-on): Move sockets dependency...
24125         * modules/select (Depends-on): ...here.
24126         Reported by Ian Beckwith.
24127
24128         doc: regenerate INSTALL
24129         * doc/INSTALL: Reflect recent autoconf update.
24130         * doc/INSTALL.ISO: Likewise.
24131         * doc/INSTALL.UTF-8: Likewise.
24132
24133         pread: fix compilation on glibc
24134         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
24135         Reported by Ralf Wildenhues.
24136
24137         dirent: fix test failure
24138         * lib/dirent.in.h (includes): Guarantee ino_t.
24139         Reported by Ralf Wildenhues.
24140
24141 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
24142
24143         linkat, renameat: avoid bad free
24144         * lib/at-func2.c (at_func2): Fix typo.
24145         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
24146
24147 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24148
24149         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
24150         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
24151         to avoid failure of symlink test later.
24152
24153 2010-01-06  Eric Blake  <ebb9@byu.net>
24154
24155         stdio, unistd: guarantee ssize_t
24156         * lib/unistd.in.h (includes): Ensure that types required by POSIX
24157         2008 are exposed when needed.
24158         * lib/stdio.in.h (includes): Likewise.
24159         Reported by Ralf Wildenhues.
24160
24161 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
24162
24163         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
24164         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
24165         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
24166
24167 2010-01-06  Jim Meyering  <meyering@redhat.com>
24168
24169         readtokens: this module *does* require xalloc.h
24170         It uses only functions that were omitted by the old syntax-check rule.
24171         * lib/readtokens.c: Include "xalloc.h" once again.
24172         * modules/readtokens (Depends-on): Add xalloc.
24173         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
24174
24175 2010-01-05  Eric Blake  <ebb9@byu.net>
24176
24177         maint: support 'make announcement' from a VPATH build
24178         * top/maint.mk (announcement): Look for correct NEWS file.
24179
24180 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
24181
24182         utimens (fdutimens): ignore a negative FD, per contract
24183         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
24184         when we have a valid file descriptor.  Otherwise, using a brand
24185         new glibc (with just-patched futimens that now fails with EBADF)
24186         would cause this function to fail with ENOSYS.
24187         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
24188         See also http://bugzilla.redhat.com/552320.
24189
24190 2010-01-05  Eric Blake  <ebb9@byu.net>
24191
24192         strcase: document what it provides
24193         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
24194         gnulib module.
24195         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
24196         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
24197
24198 2010-01-05  Jim Meyering  <meyering@redhat.com>
24199
24200         maint: remove useless inclusions of "xalloc.h"
24201         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
24202         * lib/readtokens.c: Likewise.
24203         * lib/same.c: Likewise.
24204         * modules/getloadavg (Depends-on): Remove xalloc.
24205         * modules/readtokens: Likewise.
24206         * modules/same: Likewise.
24207
24208         maint.mk: include 4 more function names in alloca.h-checking regexp
24209         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
24210         regexp.  Before, we would give a false-positive (saying alloca.h
24211         is included unnecessarily) when the only uses involved omitted symbols.
24212
24213         xalloc.h: use consistent formatting
24214         * lib/xalloc.h: Move declarations to start in the first column.
24215
24216 2010-01-05  Eric Blake  <ebb9@byu.net>
24217
24218         mkdir: avoid xalloc
24219         * lib/mkdir.c (includes): Drop unused header.
24220         Reported by John W. Eaton.
24221
24222 2010-01-04  Jim Meyering  <meyering@redhat.com>
24223
24224         nl_langinfo: avoid configure-time syntax error
24225         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
24226         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
24227         the empty string.  Don't let that provoke a shell syntax error.
24228
24229         regcomp, regexec, fnmatch: avoid array bounds read error
24230         * lib/regcomp.c (build_equiv_class): From glibc:
24231         Use only the low 24 bits of a findidx return value as an index
24232         into the weights array.  Patch by Ulrich Drepper:
24233         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
24234         * lib/regexec.c (check_node_accept_bytes): Likewise.
24235         * lib/fnmatch_loop.c (FCT): Likewise.
24236
24237         regcomp: skip collseq lookup when there are no rules
24238         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
24239         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
24240
24241         regcomp: recognize ill-formed { } expressions
24242         * lib/regcomp.c (parse_dup_op): From glibc:
24243         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
24244
24245         regcomp: fix typo in comment
24246         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
24247         s/satisfy/satisfies/.
24248
24249         regcomp: sync from glibc: remove dead store
24250         * lib/regcomp.c (duplicate_node_closure): Remove useless
24251         search_duplicated_node call and dead store.
24252
24253         regcomp: sync from glibc; always use nl_langinfo
24254         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
24255         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
24256         * modules/regex (Depends-on): Add nl_langinfo.
24257
24258 2010-01-04  Eric Blake  <ebb9@byu.net>
24259
24260         fdopendir: fix configure test
24261         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
24262
24263 2010-01-01  Bruno Haible  <bruno@clisp.org>
24264
24265         wchar: Remove unused configure check.
24266         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
24267
24268 2010-01-01  Eric Blake  <ebb9@byu.net>
24269
24270         headers: make check of system header explicit
24271         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
24272         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
24273         ourselves.
24274         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
24275         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24276         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
24277         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
24278         internals.
24279         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
24280         missing.
24281         Suggested by Bruno Haible.
24282
24283 2010-01-01  Jim Meyering  <meyering@redhat.com>
24284
24285         ChangeLog: tweak to eliminate unnecessary copyright line
24286         * ChangeLog: Remove a copyright line that was mistakenly updated
24287         by today's update-copyright run.  Reported by Eric Blake.
24288
24289         test-update-copyright: don't let envvar setting cause test failure
24290         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
24291
24292 2010-01-01  Bruno Haible  <bruno@clisp.org>
24293
24294         localename: Avoid gcc warning.
24295         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
24296         function if it is not used.
24297
24298 2010-01-01  Jim Meyering  <meyering@redhat.com>
24299
24300         update nearly all FSF copyright year lists to include 2010
24301         Use the same procedure as for 2009, outlined in
24302         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
24303
24304         version-etc: set COPYRIGHT_YEAR to 2010
24305         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
24306
24307 2009-12-31  Eric Blake  <ebb9@byu.net>
24308
24309         doc: correct availability of cygwin 1.5.x getopt
24310         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
24311         variables.
24312         * doc/posix-functions/opterr.texi (opterr): Likewise.
24313         * doc/posix-functions/optind.texi (optind): Likewise.
24314         * doc/posix-functions/optopt.texi (optopt): Likewise.
24315         * doc/posix-functions/tzname.texi (tzname): Likewise.
24316
24317         openat: update maintainer
24318         * modules/openat (Maintainer): Add myself.
24319
24320         utimens: avoid shadowing warning
24321         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
24322         buffers into one, to avoid shadowing, as well as avoiding a
24323         redundant stat.
24324         Reported by Jim Meyering.
24325
24326         test-dup2: avoid compiler warning
24327         * tests/test-dup2.c (is_inheritable): Only define if used.
24328
24329 2010-01-01  Bruno Haible  <bruno@clisp.org>
24330
24331         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
24332         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
24333         defined, use wctomb instead of wcrtomb.
24334
24335 2010-01-01  Bruno Haible  <bruno@clisp.org>
24336
24337         iconv: Reject native Solaris iconv.
24338         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
24339         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
24340
24341 2009-12-31  Bruno Haible  <bruno@clisp.org>
24342
24343         * tests/test-signal.c (main): Remove test of 'SIG'.
24344
24345 2009-12-31  Bruno Haible  <bruno@clisp.org>
24346
24347         spawn: Fix incomplete fix.
24348         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
24349         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
24350         warnings for GNULIB_POSIXCHECK again.
24351         Reported by Eric Blake.
24352
24353 2009-12-31  Bruno Haible  <bruno@clisp.org>
24354
24355         Avoid namespace pollution on glibc systems.
24356         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
24357         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
24358         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
24359         glibc systems.
24360
24361 2009-12-31  Bruno Haible  <bruno@clisp.org>
24362
24363         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
24364         (gl_REPLACE_WCHAR_H): Turn into a no-op.
24365         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
24366         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
24367         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
24368         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
24369         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
24370
24371 2009-12-31  Bruno Haible  <bruno@clisp.org>
24372
24373         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
24374         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
24375         afterwards.
24376
24377 2009-12-31  Bruno Haible  <bruno@clisp.org>
24378
24379         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
24380         SYS_UTSNAME_H.
24381
24382 2009-12-31  Bruno Haible  <bruno@clisp.org>
24383
24384         spawn: Fix misapplied patch.
24385         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
24386         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
24387         warnings for GNULIB_POSIXCHECK.
24388
24389 2009-12-31  Bruno Haible  <bruno@clisp.org>
24390
24391         times: Update after sys_times changed.
24392         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
24393         * modules/times (Files): Add it.
24394         (configure.ac): Invoke gl_FUNC_TIMES.
24395
24396 2009-12-31  Bruno Haible  <bruno@clisp.org>
24397
24398         Use AC_C_INLINE where necessary.
24399         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
24400         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24401         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
24402         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
24403         * m4/mbfile.m4 (gl_MBFILE): Likewise.
24404         * m4/mbiter.m4 (gl_MBITER): Likewise.
24405         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
24406         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24407         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
24408         * modules/u64 (configure.ac): Likewise.
24409
24410 2009-12-31  Bruno Haible  <bruno@clisp.org>
24411
24412         Use AC_C_INLINE instead of module 'inline' where possible.
24413         * modules/inline (Description): Clarify purpose.
24414         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
24415         * modules/count-one-bits (Depends-on): Remove inline.
24416         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
24417         * modules/openat (Depends-on): Remove inline.
24418         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
24419         instead of depending on module 'inline'.
24420         * modules/filevercmp (Depends-on, configure.ac): Likewise.
24421         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
24422         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
24423         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
24424         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
24425         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
24426         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
24427         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
24428         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
24429         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
24430         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
24431         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
24432         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
24433         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
24434         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
24435         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
24436         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
24437         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
24438         Likewise.
24439         * modules/unictype/property-ascii-hex-digit (Depends-on,
24440         configure.ac): Likewise.
24441         * modules/unictype/property-bidi-arabic-digit (Depends-on,
24442         configure.ac): Likewise.
24443         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
24444         configure.ac): Likewise.
24445         * modules/unictype/property-bidi-block-separator (Depends-on,
24446         configure.ac): Likewise.
24447         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
24448         configure.ac): Likewise.
24449         * modules/unictype/property-bidi-common-separator (Depends-on,
24450         configure.ac): Likewise.
24451         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
24452         Likewise.
24453         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
24454         configure.ac): Likewise.
24455         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
24456         configure.ac): Likewise.
24457         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
24458         configure.ac): Likewise.
24459         * modules/unictype/property-bidi-european-digit (Depends-on,
24460         configure.ac): Likewise.
24461         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
24462         configure.ac): Likewise.
24463         * modules/unictype/property-bidi-left-to-right (Depends-on,
24464         configure.ac): Likewise.
24465         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
24466         configure.ac): Likewise.
24467         * modules/unictype/property-bidi-other-neutral (Depends-on,
24468         configure.ac): Likewise.
24469         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
24470         Likewise.
24471         * modules/unictype/property-bidi-segment-separator (Depends-on,
24472         configure.ac): Likewise.
24473         * modules/unictype/property-bidi-whitespace (Depends-on,
24474         configure.ac): Likewise.
24475         * modules/unictype/property-combining (Depends-on, configure.ac):
24476         Likewise.
24477         * modules/unictype/property-composite (Depends-on, configure.ac):
24478         Likewise.
24479         * modules/unictype/property-currency-symbol (Depends-on,
24480         configure.ac): Likewise.
24481         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
24482         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
24483         Likewise.
24484         * modules/unictype/property-default-ignorable-code-point (Depends-on,
24485         configure.ac): Likewise.
24486         * modules/unictype/property-deprecated (Depends-on, configure.ac):
24487         Likewise.
24488         * modules/unictype/property-diacritic (Depends-on, configure.ac):
24489         Likewise.
24490         * modules/unictype/property-extender (Depends-on, configure.ac):
24491         Likewise.
24492         * modules/unictype/property-format-control (Depends-on, configure.ac):
24493         Likewise.
24494         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
24495         Likewise.
24496         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
24497         Likewise.
24498         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
24499         Likewise.
24500         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
24501         Likewise.
24502         * modules/unictype/property-hyphen (Depends-on, configure.ac):
24503         Likewise.
24504         * modules/unictype/property-id-continue (Depends-on, configure.ac):
24505         Likewise.
24506         * modules/unictype/property-id-start (Depends-on, configure.ac):
24507         Likewise.
24508         * modules/unictype/property-ideographic (Depends-on, configure.ac):
24509         Likewise.
24510         * modules/unictype/property-ids-binary-operator (Depends-on,
24511         configure.ac): Likewise.
24512         * modules/unictype/property-ids-trinary-operator (Depends-on,
24513         configure.ac): Likewise.
24514         * modules/unictype/property-ignorable-control (Depends-on,
24515         configure.ac): Likewise.
24516         * modules/unictype/property-iso-control (Depends-on, configure.ac):
24517         Likewise.
24518         * modules/unictype/property-join-control (Depends-on, configure.ac):
24519         Likewise.
24520         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
24521         Likewise.
24522         * modules/unictype/property-line-separator (Depends-on, configure.ac):
24523         Likewise.
24524         * modules/unictype/property-logical-order-exception (Depends-on,
24525         configure.ac): Likewise.
24526         * modules/unictype/property-lowercase (Depends-on, configure.ac):
24527         Likewise.
24528         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
24529         * modules/unictype/property-non-break (Depends-on, configure.ac):
24530         Likewise.
24531         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
24532         Likewise.
24533         * modules/unictype/property-numeric (Depends-on, configure.ac):
24534         Likewise.
24535         * modules/unictype/property-other-alphabetic (Depends-on,
24536         configure.ac): Likewise.
24537         * modules/unictype/property-other-default-ignorable-code-point
24538         (Depends-on, configure.ac): Likewise.
24539         * modules/unictype/property-other-grapheme-extend (Depends-on,
24540         configure.ac): Likewise.
24541         * modules/unictype/property-other-id-continue (Depends-on,
24542         configure.ac): Likewise.
24543         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
24544         Likewise.
24545         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
24546         Likewise.
24547         * modules/unictype/property-other-math (Depends-on, configure.ac):
24548         Likewise.
24549         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
24550         Likewise.
24551         * modules/unictype/property-paired-punctuation (Depends-on,
24552         configure.ac): Likewise.
24553         * modules/unictype/property-paragraph-separator (Depends-on,
24554         configure.ac): Likewise.
24555         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
24556         Likewise.
24557         * modules/unictype/property-pattern-white-space (Depends-on,
24558         configure.ac): Likewise.
24559         * modules/unictype/property-private-use (Depends-on, configure.ac):
24560         Likewise.
24561         * modules/unictype/property-punctuation (Depends-on, configure.ac):
24562         Likewise.
24563         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
24564         Likewise.
24565         * modules/unictype/property-radical (Depends-on, configure.ac):
24566         Likewise.
24567         * modules/unictype/property-sentence-terminal (Depends-on,
24568         configure.ac): Likewise.
24569         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
24570         Likewise.
24571         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
24572         * modules/unictype/property-terminal-punctuation (Depends-on,
24573         configure.ac): Likewise.
24574         * modules/unictype/property-titlecase (Depends-on, configure.ac):
24575         Likewise.
24576         * modules/unictype/property-unassigned-code-value (Depends-on,
24577         configure.ac): Likewise.
24578         * modules/unictype/property-unified-ideograph (Depends-on,
24579         configure.ac): Likewise.
24580         * modules/unictype/property-uppercase (Depends-on, configure.ac):
24581         Likewise.
24582         * modules/unictype/property-variation-selector (Depends-on,
24583         configure.ac): Likewise.
24584         * modules/unictype/property-white-space (Depends-on, configure.ac):
24585         Likewise.
24586         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
24587         Likewise.
24588         * modules/unictype/property-xid-start (Depends-on, configure.ac):
24589         Likewise.
24590         * modules/unictype/property-zero-width (Depends-on, configure.ac):
24591         Likewise.
24592         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
24593         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
24594         Likewise.
24595
24596 2009-12-31  Bruno Haible  <bruno@clisp.org>
24597
24598         Remove unnecessary AC_C_INLINE invocation.
24599         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
24600         since 2009-08-21.
24601
24602 2009-12-31  Jim Meyering  <meyering@redhat.com>
24603
24604         maint.mk: don't require explicit gpg_key_ID in cfg.mk
24605         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
24606         With this change, we can all remove the gpg_key_ID = ... definition
24607         from our respective cfg.mk files.
24608
24609         maint.mk: create announcement template in ~/, not in /tmp
24610         * top/maint.mk (emit_upload_commands): Adjust.
24611         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
24612         Remove temporary file, .ci-msg.
24613
24614 2009-12-31  Eric Blake  <ebb9@byu.net>
24615
24616         link-warning: always build headers with link warnings
24617         * modules/arpa_inet (Makefile.am): Always build replacement
24618         header.
24619         * modules/ctype (Makefile.am): Likewise.
24620         * modules/dirent (Makefile.am): Likewise.
24621         * modules/inttypes (Makefile.am): Likewise.
24622         * modules/langinfo (Makefile.am): Likewise.
24623         * modules/locale (Makefile.am): Likewise.
24624         * modules/spawn (Makefile.am): Likewise.
24625         * modules/sys_file (Makefile.am): Likewise.
24626         * modules/sys_ioctl (Makefile.am): Likewise.
24627         * modules/sys_select (Makefile.am): Likewise.
24628         * modules/sys_socket (Makefile.am): Likewise.
24629         * modules/sys_times (Makefile.am): Likewise.
24630         * modules/sys_utsname (Makefile.am): Likewise.
24631         * modules/sys_wait (Makefile.am): Likewise.
24632         * modules/wchar (Makefile.am): Likewise.
24633         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
24634         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
24635         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
24636         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
24637         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
24638         Likewise.
24639         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
24640         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
24641         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
24642         Likewise.
24643         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
24644         Likewise.
24645         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
24646         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
24647         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
24648         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24649         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24650         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
24651         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
24652         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
24653         (gl_WCHAR_H_DEFAULTS): Likewise.
24654
24655 2009-12-31  Eric Blake  <ebb9@byu.net>
24656
24657         signal, spawn: use link warnings
24658         * lib/signal.in.h (sigset_t): Make unconditional.
24659         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
24660         (sigpending, sigprocmask, sigaction): Add link warnings.
24661         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
24662         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
24663         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
24664         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
24665         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
24666         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
24667         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
24668         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
24669         (posix_spawn_file_actions_destroy)
24670         (posix_spawn_file_actions_addopen)
24671         (posix_spawn_file_actions_addclose)
24672         (posix_spawn_file_actions_adddup2): Likewise.
24673         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
24674         * tests/test-signal.c (main): Enhance test.
24675
24676         spawn: improve wrapper support
24677         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
24678         (gl_SPAWN_H_DEFAULTS): New defaults.
24679         * modules/spawn (Makefile.am): Substitute them.
24680         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
24681         Only declare if missing or broken.
24682
24683         sys_times, sys_utsname: use include_next
24684         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
24685         header.
24686         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
24687         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
24688         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
24689         * modules/sys_times (Depends-on): Add include_next.
24690         (Makefile.am): Substitute additional values.
24691         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
24692         * lib/sys_times.in.h (includes): Include native header, if
24693         available.
24694         * lib/sys_utsname.in.h (includes): Likewise.
24695         * tests/test-sys_times.c (main): Enhance test.
24696
24697         fdutimensat: revert prior patch
24698         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
24699         utimens.h.
24700         Reported by Bruno Haible.
24701
24702 2009-12-30  Eric Blake  <ebb9@byu.net>
24703
24704         sys_wait: drop link-warning dependency
24705         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
24706         link-warning efforts.
24707         * lib/sys_wait.in.h: Likewise.
24708
24709         fdutimensat: remove bogus dependency
24710         * modules/fdutimensat (Depends-on): Drop inline.
24711
24712         unistd: fix typo
24713         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
24714
24715 2009-12-30  Bruno Haible  <bruno@clisp.org>
24716
24717         Fix compilation error with Solaris cc.
24718         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
24719         * lib/unicase/u16-is-invariant.c: Likewise.
24720         * lib/unicase/u32-is-invariant.c: Likewise.
24721         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
24722
24723 2009-12-30  Bruno Haible  <bruno@clisp.org>
24724
24725         Fix test crash.
24726         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
24727         locales.
24728         Reported by Simon Josefsson <simon@josefsson.org>.
24729
24730 2009-12-30  Bruno Haible  <bruno@clisp.org>
24731
24732         Fix compilation error on most platforms.
24733         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
24734         Reported by Simon Josefsson <simon@josefsson.org>
24735         and Nelson H. F. Beebe <beebe@math.utah.edu>.
24736
24737 2009-12-30  Eric Blake  <ebb9@byu.net>
24738
24739         futimens, utimensat: work around ntfs-3g bug
24740         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
24741         a ctime bug is present, and expand workaround to cover ntfs-3g.
24742         * lib/utimens.c (fdutimens, lutimens): Likewise.
24743         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
24744         (validate_timespec): Adjust return value.
24745         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
24746         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24747         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
24748
24749 2009-12-29  Eric Blake  <ebb9@byu.net>
24750
24751         link-warning: make usage consistent
24752         * modules/ctype (Depends-on): Add link-warning.
24753         (Makefile.am): Update rules accordingly.
24754         * modules/langinfo (Depends-on, Makefile.am): Likewise.
24755         * modules/locale (Depends-on, Makefile.am): Likewise.
24756         * modules/sys_file (Makefile.am): Likewise.
24757         * modules/getopt-posix (Makefile.am): Delete unused link warning
24758         efforts.
24759         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
24760         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
24761         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
24762         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
24763
24764         stdio: remove unused variables
24765         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
24766         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
24767         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24768
24769         tests: test more substitute headers
24770         * modules/ctype-tests: New file.
24771         * modules/dirent-tests: Likewise.
24772         * modules/spawn-tests: Likewise.
24773         * modules/sys_file-tests: Likewise.
24774         * modules/sys_ioctl-tests: Likewise.
24775         * modules/sys_wait-tests: Likewise.
24776         * tests/test-ctype.c: Likewise.
24777         * tests/test-dirent.c: Likewise.
24778         * tests/test-spawn.c: Likewise.
24779         * tests/test-sys_file.c: Likewise.
24780         * tests/test-sys_ioctl.c: Likewise.
24781         * tests/test-sys_wait.c: Likewise.
24782         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
24783         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
24784         whether or not flock is in use.
24785
24786         tests: remove License section from module
24787         * modules/arpa_inet-tests: Remove unneeded section.
24788         * modules/byteswap-tests: Likewise.
24789         * modules/ceilf-tests: Likewise.
24790         * modules/ceill-tests: Likewise.
24791         * modules/crypto/des-tests: Likewise.
24792         * modules/crypto/gc-arcfour-tests: Likewise.
24793         * modules/crypto/gc-arctwo-tests: Likewise.
24794         * modules/crypto/gc-des-tests: Likewise.
24795         * modules/crypto/gc-hmac-md5-tests: Likewise.
24796         * modules/crypto/gc-hmac-sha1-tests: Likewise.
24797         * modules/crypto/gc-md2-tests: Likewise.
24798         * modules/crypto/gc-md4-tests: Likewise.
24799         * modules/crypto/gc-md5-tests: Likewise.
24800         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
24801         * modules/crypto/gc-rijndael-tests: Likewise.
24802         * modules/crypto/gc-sha1-tests: Likewise.
24803         * modules/crypto/gc-tests: Likewise.
24804         * modules/crypto/md2-tests: Likewise.
24805         * modules/crypto/md4-tests: Likewise.
24806         * modules/fcntl-h-tests: Likewise.
24807         * modules/floorf-tests: Likewise.
24808         * modules/floorl-tests: Likewise.
24809         * modules/frexp-nolibm-tests: Likewise.
24810         * modules/frexp-tests: Likewise.
24811         * modules/frexpl-nolibm-tests: Likewise.
24812         * modules/frexpl-tests: Likewise.
24813         * modules/getaddrinfo-tests: Likewise.
24814         * modules/inttypes-tests: Likewise.
24815         * modules/isfinite-tests: Likewise.
24816         * modules/isinf-tests: Likewise.
24817         * modules/ldexpl-tests: Likewise.
24818         * modules/locale-tests: Likewise.
24819         * modules/math-tests: Likewise.
24820         * modules/netdb-tests: Likewise.
24821         * modules/netinet_in-tests: Likewise.
24822         * modules/printf-frexp-tests: Likewise.
24823         * modules/printf-frexpl-tests: Likewise.
24824         * modules/priv-set-tests: Likewise.
24825         * modules/random_r-tests: Likewise.
24826         * modules/round-tests: Likewise.
24827         * modules/roundf-tests: Likewise.
24828         * modules/roundl-tests: Likewise.
24829         * modules/search-tests: Likewise.
24830         * modules/select-tests: Likewise.
24831         * modules/signal-tests: Likewise.
24832         * modules/stdbool-tests: Likewise.
24833         * modules/stddef-tests: Likewise.
24834         * modules/stdint-tests: Likewise.
24835         * modules/stdio-tests: Likewise.
24836         * modules/stdlib-tests: Likewise.
24837         * modules/string-tests: Likewise.
24838         * modules/strings-tests: Likewise.
24839         * modules/sys_select-tests: Likewise.
24840         * modules/sys_socket-tests: Likewise.
24841         * modules/sys_stat-tests: Likewise.
24842         * modules/sys_time-tests: Likewise.
24843         * modules/sys_utsname-tests: Likewise.
24844         * modules/sysexits-tests: Likewise.
24845         * modules/time-tests: Likewise.
24846         * modules/trunc-tests: Likewise.
24847         * modules/truncf-tests: Likewise.
24848         * modules/truncl-tests: Likewise.
24849         * modules/tsearch-tests: Likewise.
24850         * modules/unistd-tests: Likewise.
24851         * modules/wchar-tests: Likewise.
24852         * modules/wctype-tests: Likewise.
24853
24854         tests: fix license on several tests
24855         * tests/test-des.c: Update to GPLv3+.
24856         * tests/test-flock.c: Likewise.
24857         * tests/test-fsync.c: Likewise.
24858         * tests/test-futimens.h: Likewise.
24859         * tests/test-gc-arcfour.c: Likewise.
24860         * tests/test-gc-arctwo.c: Likewise.
24861         * tests/test-gc-des.c: Likewise.
24862         * tests/test-gc-hmac-md5.c: Likewise.
24863         * tests/test-gc-hmac-sha1.c: Likewise.
24864         * tests/test-gc-md2.c: Likewise.
24865         * tests/test-gc-md4.c: Likewise.
24866         * tests/test-gc-md5.c: Likewise.
24867         * tests/test-gc-pbkdf2-sha1.c: Likewise.
24868         * tests/test-gc-rijndael.c: Likewise.
24869         * tests/test-gc-sha1.c: Likewise.
24870         * tests/test-gc.c: Likewise.
24871         * tests/test-getcwd.c: Likewise.
24872         * tests/test-link.c: Likewise.
24873         * tests/test-link.h: Likewise.
24874         * tests/test-lutimens.h: Likewise.
24875         * tests/test-md2.c: Likewise.
24876         * tests/test-md4.c: Likewise.
24877         * tests/test-mkdir.h: Likewise.
24878         * tests/test-rename.c: Likewise.
24879         * tests/test-rename.h: Likewise.
24880         * tests/test-safe-alloc.c: Likewise.
24881         * tests/test-utimens-common.h: Likewise.
24882         * tests/test-utimens.h: Likewise.
24883
24884         maint: sync license texts
24885         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
24886         * doc/gpl-3.0.texi: Revert copyright year update.
24887         * doc/lgpl-3.0.texi: Likewise.
24888
24889 2009-12-29  Jim Meyering  <meyering@redhat.com>
24890
24891         update nearly all FSF copyright year lists to include 2009
24892         The files named by the following are exempted:
24893             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
24894               test -f "$dst" && { echo "$dst"; continue; }
24895               test -d "$dst" || continue
24896               echo "$dst"/$(basename "$src")
24897             done > exempt
24898             git ls-files tests/unictype >> exempt
24899         In the remaining files, convert to all-interval notation if
24900         - there is already at least one year interval like 2000-2003
24901         - the file is maintained by me
24902         - the file is in lib/uni*/, where that style already prevails
24903         Otherwise, use update-copyright's default.
24904
24905 2009-12-29  Simon Josefsson  <simon@josefsson.org>
24906         and Eric Blake  <ebb9@byu.net>
24907
24908         tests: don't require debug system() to pass
24909         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
24910         * tests/test-rmdir.h (test_rmdir_func): Likewise.
24911         * tests/test-unlink.h (test_unlink_func): Likewise.
24912         * tests/test-fstatat.c (main): ...into callers.
24913         * tests/test-lstat.c (main): Likewise.
24914         * tests/test-rmdir.c (main): Likewise.
24915         * tests/test-unlink.c (main): Likewise.
24916         * tests/test-unlinkat.c (main): Likewise.
24917         * tests/test-areadlink-with-size.c (main): Don't require a
24918         debug-only system call to pass, aiding cross-testing to mingw.
24919         * tests/test-areadlink.c (main): Likewise.
24920         * tests/test-areadlinkat-with-size.c (main): Likewise.
24921         * tests/test-areadlinkat.c (main): Likewise.
24922         * tests/test-canonicalize-lgpl.c (main): Likewise.
24923         * tests/test-canonicalize.c (main): Likewise.
24924         * tests/test-chown.c (main): Likewise.
24925         * tests/test-fchownat.c (main): Likewise.
24926         * tests/test-lchown.c (main): Likewise.
24927         * tests/test-fdutimensat.c (main): Likewise.
24928         * tests/test-futimens.c (main): Likewise.
24929         * tests/test-link.c (main): Likewise.
24930         * tests/test-linkat.c (main): Likewise.
24931         * tests/test-mkdir.c (main): Likewise.
24932         * tests/test-mkdirat.c (main): Likewise.
24933         * tests/test-mkfifo.c (main): Likewise.
24934         * tests/test-mkfifoat.c (main): Likewise.
24935         * tests/test-mknod.c (main): Likewise.
24936         * tests/test-readlink.c (main): Likewise.
24937         * tests/test-remove.c (main): Likewise.
24938         * tests/test-rename.c (main): Likewise.
24939         * tests/test-renameat.c (main): Likewise.
24940         * tests/test-symlink.c (main): Likewise.
24941         * tests/test-symlinkat.c (main): Likewise.
24942         * tests/test-utimens.c (main): Likewise.
24943         * tests/test-utimensat.c (main): Likewise.
24944
24945 2009-12-29  Simon Josefsson  <simon@josefsson.org>
24946
24947         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
24948         on $(UNUSED_PARAMETER_H) to avoid build failure.
24949
24950 2009-12-28  Jim Meyering  <meyering@redhat.com>
24951
24952         update-copyright: you may specify a max. line length other than 72
24953         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
24954
24955         maint: use consistent FSF copyright line syntax
24956         * lib/posixtm.c: Add missing comma in FSF copyright line.
24957         * lib/posixtm.h: Likewise.
24958         * lib/getugroups.c: Add missing ", Inc.".
24959
24960         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
24961         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
24962         FSF copyright line.  Remove trailing blanks.
24963
24964 2009-12-28  Eric Blake  <ebb9@byu.net>
24965
24966         test-dup2: reduce dependencies
24967         * modules/cloexec (Configure.ac): Set witness.
24968         * modules/dup2-tests (Depends-on): Drop cloexec.
24969         * tests/test-dup2.c (main): Skip portion of test if cloexec module
24970         not present.
24971         Suggested by Bruno Haible.
24972
24973 2009-12-26  Bruno Haible  <bruno@clisp.org>
24974
24975         Remove an unneeded dependency.
24976         * modules/fseterr (Depends-on): Remove dup2.
24977
24978 2009-12-26  Eric Blake  <ebb9@byu.net>
24979
24980         tests: use macros.h in more places
24981         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
24982         (ASSERT_STREAM): Provide default of stderr.
24983         * tests/test-dirent-safer.c: Include macros.h, using alternate
24984         stream for assertions.
24985         * tests/test-dup-safer.c: Likewise.
24986         * tests/test-freopen-safer.c: Likewise.
24987         * tests/test-getopt.c: Likewise.
24988         * tests/test-openat-safer.c: Likewise.
24989         * tests/test-pipe.c: Likewise.
24990         * tests/test-popen-safer.c: Likewise.
24991         * modules/dirent-safer-tests (Files): Include macros.h.
24992         * modules/unistd-safer-tests (Files): Likewise.
24993         * modules/freopen-safer-tests (Files): Likewise.
24994         * modules/getopt-posix-tests (Files): Likewise.
24995         * modules/openat-safer-tests (Files): Likewise.
24996         * modules/pipe-tests (Files): Likewise.
24997
24998 2009-12-26  Bruno Haible  <bruno@clisp.org>
24999
25000         javacomp: Portability fix.
25001         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
25002         that it also works on Solaris.
25003
25004 2009-12-26  Bruno Haible  <bruno@clisp.org>
25005
25006         localename: Fix storage allocation of gl_locale_name_thread's result.
25007         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
25008         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
25009         all platforms that have 'uselocale'.
25010         (gl_locale_name_thread_unsafe): New function, extracted from
25011         gl_locale_name_thread.
25012         (gl_locale_name_thread): Call struniq on all platforms that have
25013         'uselocale'.
25014         * tests/test-localename.c (test_locale_name_thread): Check that the
25015         resulting strings are permanently allocated.
25016         * modules/localename-tests (Depends-on): Add strdup.
25017
25018 2009-12-26  Bruno Haible  <bruno@clisp.org>
25019
25020         * tests/test-localename.c (categories): Fill in the strings.
25021
25022 2009-12-26  Jim Meyering  <meyering@redhat.com>
25023
25024         isdir: complete the removal of m4/isdir.m4
25025         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
25026
25027         isdir: clean up, since at least grep still uses it
25028         * lib/isdir.c: Include "isdir.h".
25029         (S_ISDIR): Remove now-unneeded definition.
25030         * modules/isdir (Files): Add lib/isdir.h.
25031         * lib/isdir.h: New file, with declaration.
25032         * m4/isdir.m4: Remove file -- unneeded.
25033
25034 2009-12-25  Bruno Haible  <bruno@clisp.org>
25035
25036         selinux-h: Make generated .h files standalone.
25037         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
25038         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
25039         * lib/se-selinux.in.h: Likewise.
25040         * modules/selinux-h (Depends-on): Add unused-parameter.
25041         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
25042         selinux/selinux.h and selinux/context.h.
25043         Suggested by Eric Blake.
25044
25045 2009-12-25  Bruno Haible  <bruno@clisp.org>
25046
25047         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
25048         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
25049         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
25050         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
25051         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
25052
25053 2009-12-24  Bruno Haible  <bruno@clisp.org>
25054
25055         openat: Fix warning.
25056         * lib/openat-proc.c: Include <unistd.h>.
25057
25058 2009-12-24  Bruno Haible  <bruno@clisp.org>
25059
25060         New module 'unused-parameter'.
25061         * build-aux/unused-parameter.h: New file, extracted from earlier
25062         gnulib-common.m4.
25063         * modules/unused-parameter: New file.
25064         * lib/unistr.h: Include unused-parameter.h.
25065         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
25066         _GL_UNUSED.
25067         * modules/unistr/base (Depends-on): Add unused-parameter.
25068
25069 2009-12-24  Bruno Haible  <bruno@clisp.org>
25070
25071         Add missing dependencies to 'extensions' module.
25072         * m4/extensions.m4: Add comment.
25073         * modules/accept4 (Depends-on): Add extensions.
25074         * modules/dup3 (Depends-on): Likewise.
25075         * modules/fcntl (Depends-on): Likewise.
25076         * modules/futimens (Depends-on): Likewise.
25077         * modules/mknod (Depends-on): Likewise.
25078         * modules/pipe2 (Depends-on): Likewise.
25079         * modules/stat-time (Depends-on): Likewise.
25080         * modules/strcasestr-simple (Depends-on): Likewise.
25081         * modules/strsignal (Depends-on): Likewise.
25082         * modules/utimensat (Depends-on): Likewise.
25083         * modules/localcharset (Depends-on): Likewise. Needed because of
25084         gl_FCNTL_O_FLAGS.
25085         * modules/wcrtomb (Depends-on): Likewise. Needed because of
25086         AC_TYPE_MBSTATE_T.
25087         * modules/wcsnrtombs (Depends-on): Likewise.
25088         * modules/wcsrtombs (Depends-on): Likewise.
25089
25090 2009-12-24  Bruno Haible  <bruno@clisp.org>
25091
25092         binary-io: Avoid gcc warning due to SET_BINARY.
25093         * lib/binary-io.h (SET_BINARY): Cast the result to void.
25094         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
25095
25096 2009-12-24  Bruno Haible  <bruno@clisp.org>
25097
25098         Avoid future namespace pollution on glibc systems.
25099         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
25100         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
25101         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
25102         glibc systems.
25103
25104 2009-12-24  Bruno Haible  <bruno@clisp.org>
25105
25106         Refactor common macros used in tests.
25107         * tests/macros.h: New file.
25108         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
25109         and/or <stdlib.h>, if appropriate.
25110         (ASSERT, SIZEOF): Remove macros.
25111         * tests/test-areadlink-with-size.c: Likewise.
25112         * tests/test-areadlinkat.c: Likewise.
25113         * tests/test-areadlinkat-with-size.c: Likewise.
25114         * tests/test-argmatch.c: Likewise.
25115         * tests/test-argv-iter.c: Likewise.
25116         * tests/test-array-mergesort.c: Likewise.
25117         * tests/test-array_list.c: Likewise.
25118         * tests/test-array_oset.c: Likewise.
25119         * tests/test-avltree_list.c: Likewise.
25120         * tests/test-avltree_oset.c: Likewise.
25121         * tests/test-avltreehash_list.c: Likewise.
25122         * tests/test-base64.c: Likewise.
25123         * tests/test-binary-io.c: Likewise.
25124         * tests/test-bitrotate.c: Likewise.
25125         * tests/test-btowc.c: Likewise.
25126         * tests/test-byteswap.c: Likewise.
25127         * tests/test-c-ctype.c: Likewise.
25128         * tests/test-c-stack.c: Likewise.
25129         * tests/test-c-strcasecmp.c: Likewise.
25130         * tests/test-c-strcasestr.c: Likewise.
25131         * tests/test-c-strncasecmp.c: Likewise.
25132         * tests/test-c-strstr.c: Likewise.
25133         * tests/test-canonicalize-lgpl.c: Likewise.
25134         * tests/test-canonicalize.c: Likewise.
25135         * tests/test-carray_list.c: Likewise.
25136         * tests/test-ceilf1.c: Likewise.
25137         * tests/test-ceilf2.c: Likewise.
25138         * tests/test-ceill.c: Likewise.
25139         * tests/test-chown.c: Likewise.
25140         * tests/test-cloexec.c: Likewise.
25141         * tests/test-copy-acl.c: Likewise.
25142         * tests/test-copy-file.c: Likewise.
25143         * tests/test-count-one-bits.c: Likewise.
25144         * tests/test-dprintf-posix.c: Likewise.
25145         * tests/test-dup2.c: Likewise.
25146         * tests/test-dup3.c: Likewise.
25147         * tests/test-duplocale.c: Likewise.
25148         * tests/test-fbufmode.c: Likewise.
25149         * tests/test-fchdir.c: Likewise.
25150         * tests/test-fchownat.c: Likewise.
25151         * tests/test-fcntl-safer.c: Likewise.
25152         * tests/test-fcntl.c: Likewise.
25153         * tests/test-fdopendir.c: Likewise.
25154         * tests/test-fdutimensat.c: Likewise.
25155         * tests/test-fflush2.c: Likewise.
25156         * tests/test-file-has-acl.c: Likewise.
25157         * tests/test-filevercmp.c: Likewise.
25158         * tests/test-flock.c: Likewise.
25159         * tests/test-floorf1.c: Likewise.
25160         * tests/test-floorf2.c: Likewise.
25161         * tests/test-floorl.c: Likewise.
25162         * tests/test-fnmatch.c: Likewise.
25163         * tests/test-fopen.h: Likewise.
25164         * tests/test-fpending.c: Likewise.
25165         * tests/test-fprintf-posix.c: Likewise.
25166         * tests/test-fpurge.c: Likewise.
25167         * tests/test-freadable.c: Likewise.
25168         * tests/test-freadahead.c: Likewise.
25169         * tests/test-freading.c: Likewise.
25170         * tests/test-freadptr.c: Likewise.
25171         * tests/test-freadptr2.c: Likewise.
25172         * tests/test-freadseek.c: Likewise.
25173         * tests/test-freopen.c: Likewise.
25174         * tests/test-frexp.c: Likewise.
25175         * tests/test-frexpl.c: Likewise.
25176         * tests/test-fseek.c: Likewise.
25177         * tests/test-fseeko.c: Likewise.
25178         * tests/test-fstatat.c: Likewise.
25179         * tests/test-fstrcmp.c: Likewise.
25180         * tests/test-fsync.c: Likewise.
25181         * tests/test-ftell.c: Likewise.
25182         * tests/test-ftello.c: Likewise.
25183         * tests/test-func.c: Likewise.
25184         * tests/test-futimens.c: Likewise.
25185         * tests/test-fwritable.c: Likewise.
25186         * tests/test-fwriting.c: Likewise.
25187         * tests/test-getcwd.c: Likewise.
25188         * tests/test-getdate.c: Likewise.
25189         * tests/test-getdelim.c: Likewise.
25190         * tests/test-getdtablesize.c: Likewise.
25191         * tests/test-getgroups.c: Likewise.
25192         * tests/test-getline.c: Likewise.
25193         * tests/test-getndelim2.c: Likewise.
25194         * tests/test-glob.c: Likewise.
25195         * tests/test-hash.c: Likewise.
25196         * tests/test-i-ring.c: Likewise.
25197         * tests/test-iconv-utf.c: Likewise.
25198         * tests/test-iconv.c: Likewise.
25199         * tests/test-idpriv-drop.c: Likewise.
25200         * tests/test-idpriv-droptemp.c: Likewise.
25201         * tests/test-inet_ntop.c: Likewise.
25202         * tests/test-inet_pton.c: Likewise.
25203         * tests/test-isblank.c: Likewise.
25204         * tests/test-isfinite.c: Likewise.
25205         * tests/test-isinf.c: Likewise.
25206         * tests/test-isnan.c: Likewise.
25207         * tests/test-isnand.h: Likewise.
25208         * tests/test-isnanf.h: Likewise.
25209         * tests/test-isnanl.h: Likewise.
25210         * tests/test-lchown.c: Likewise.
25211         * tests/test-ldexpl.c: Likewise.
25212         * tests/test-link.c: Likewise.
25213         * tests/test-linkat.c: Likewise.
25214         * tests/test-linked_list.c: Likewise.
25215         * tests/test-linkedhash_list.c: Likewise.
25216         * tests/test-localename.c: Likewise.
25217         * tests/test-lseek.c: Likewise.
25218         * tests/test-lstat.c: Likewise.
25219         * tests/test-mbmemcasecmp.c: Likewise.
25220         * tests/test-mbmemcasecoll.c: Likewise.
25221         * tests/test-mbrtowc.c: Likewise.
25222         * tests/test-mbscasecmp.c: Likewise.
25223         * tests/test-mbscasestr1.c: Likewise.
25224         * tests/test-mbscasestr2.c: Likewise.
25225         * tests/test-mbscasestr3.c: Likewise.
25226         * tests/test-mbscasestr4.c: Likewise.
25227         * tests/test-mbschr.c: Likewise.
25228         * tests/test-mbscspn.c: Likewise.
25229         * tests/test-mbsinit.c: Likewise.
25230         * tests/test-mbsncasecmp.c: Likewise.
25231         * tests/test-mbsnrtowcs.c: Likewise.
25232         * tests/test-mbspbrk.c: Likewise.
25233         * tests/test-mbspcasecmp.c: Likewise.
25234         * tests/test-mbsrchr.c: Likewise.
25235         * tests/test-mbsrtowcs.c: Likewise.
25236         * tests/test-mbsspn.c: Likewise.
25237         * tests/test-mbsstr1.c: Likewise.
25238         * tests/test-mbsstr2.c: Likewise.
25239         * tests/test-mbsstr3.c: Likewise.
25240         * tests/test-memchr.c: Likewise.
25241         * tests/test-memchr2.c: Likewise.
25242         * tests/test-memcmp.c: Likewise.
25243         * tests/test-memmem.c: Likewise.
25244         * tests/test-memrchr.c: Likewise.
25245         * tests/test-mkdir.c: Likewise.
25246         * tests/test-mkdirat.c: Likewise.
25247         * tests/test-mkfifo.c: Likewise.
25248         * tests/test-mkfifoat.c: Likewise.
25249         * tests/test-mknod.c: Likewise.
25250         * tests/test-nanosleep.c: Likewise.
25251         * tests/test-nl_langinfo.c: Likewise.
25252         * tests/test-obstack-printf.c: Likewise.
25253         * tests/test-open.c: Likewise.
25254         * tests/test-openat.c: Likewise.
25255         * tests/test-pipe-filter-gi1.c: Likewise.
25256         * tests/test-pipe-filter-gi2-main.c: Likewise.
25257         * tests/test-pipe-filter-ii1.c: Likewise.
25258         * tests/test-pipe-filter-ii2-main.c: Likewise.
25259         * tests/test-pipe2.c: Likewise.
25260         * tests/test-popen.h: Likewise.
25261         * tests/test-posixtm.c: Likewise.
25262         * tests/test-pread.c: Likewise.
25263         * tests/test-printf-frexp.c: Likewise.
25264         * tests/test-printf-frexpl.c: Likewise.
25265         * tests/test-printf-posix.c: Likewise.
25266         * tests/test-priv-set.c: Likewise.
25267         * tests/test-quotearg.c: Likewise.
25268         * tests/test-random_r.c: Likewise.
25269         * tests/test-rawmemchr.c: Likewise.
25270         * tests/test-rbtree_list.c: Likewise.
25271         * tests/test-rbtree_oset.c: Likewise.
25272         * tests/test-rbtreehash_list.c: Likewise.
25273         * tests/test-readlink.c: Likewise.
25274         * tests/test-remove.c: Likewise.
25275         * tests/test-rename.c: Likewise.
25276         * tests/test-renameat.c: Likewise.
25277         * tests/test-rmdir.c: Likewise.
25278         * tests/test-round1.c: Likewise.
25279         * tests/test-roundf1.c: Likewise.
25280         * tests/test-roundl.c: Likewise.
25281         * tests/test-safe-alloc.c: Likewise.
25282         * tests/test-sameacls.c: Likewise.
25283         * tests/test-set-mode-acl.c: Likewise.
25284         * tests/test-setenv.c: Likewise.
25285         * tests/test-sigaction.c: Likewise.
25286         * tests/test-signbit.c: Likewise.
25287         * tests/test-sleep.c: Likewise.
25288         * tests/test-snprintf-posix.c: Likewise.
25289         * tests/test-snprintf.c: Likewise.
25290         * tests/test-sprintf-posix.c: Likewise.
25291         * tests/test-stat-time.c: Likewise.
25292         * tests/test-stat.c: Likewise.
25293         * tests/test-strcasestr.c: Likewise.
25294         * tests/test-strchrnul.c: Likewise.
25295         * tests/test-strerror.c: Likewise.
25296         * tests/test-striconv.c: Likewise.
25297         * tests/test-striconveh.c: Likewise.
25298         * tests/test-striconveha.c: Likewise.
25299         * tests/test-strsignal.c: Likewise.
25300         * tests/test-strstr.c: Likewise.
25301         * tests/test-strtod.c: Likewise.
25302         * tests/test-strverscmp.c: Likewise.
25303         * tests/test-symlink.c: Likewise.
25304         * tests/test-symlinkat.c: Likewise.
25305         * tests/test-trunc1.c: Likewise.
25306         * tests/test-trunc2.c: Likewise.
25307         * tests/test-truncf1.c: Likewise.
25308         * tests/test-truncf2.c: Likewise.
25309         * tests/test-truncl.c: Likewise.
25310         * tests/test-uname.c: Likewise.
25311         * tests/test-unlink.c: Likewise.
25312         * tests/test-unlinkat.c: Likewise.
25313         * tests/test-unsetenv.c: Likewise.
25314         * tests/test-usleep.c: Likewise.
25315         * tests/test-utimens.c: Likewise.
25316         * tests/test-utimensat.c: Likewise.
25317         * tests/test-vasnprintf-posix.c: Likewise.
25318         * tests/test-vasnprintf-posix2.c: Likewise.
25319         * tests/test-vasnprintf.c: Likewise.
25320         * tests/test-vasprintf-posix.c: Likewise.
25321         * tests/test-vasprintf.c: Likewise.
25322         * tests/test-vdprintf-posix.c: Likewise.
25323         * tests/test-vfprintf-posix.c: Likewise.
25324         * tests/test-vprintf-posix.c: Likewise.
25325         * tests/test-vsnprintf-posix.c: Likewise.
25326         * tests/test-vsnprintf.c: Likewise.
25327         * tests/test-vsprintf-posix.c: Likewise.
25328         * tests/test-wcrtomb.c: Likewise.
25329         * tests/test-wcsnrtombs.c: Likewise.
25330         * tests/test-wcsrtombs.c: Likewise.
25331         * tests/test-wctype.c: Likewise.
25332         * tests/test-wcwidth.c: Likewise.
25333         * tests/test-xfprintf-posix.c: Likewise.
25334         * tests/test-xmemdup0.c: Likewise.
25335         * tests/test-xprintf-posix.c: Likewise.
25336         * tests/test-xvasprintf.c: Likewise.
25337         * tests/unicase/test-locale-language.c: Likewise.
25338         * tests/unicase/test-mapping-part1.h: Likewise.
25339         * tests/unicase/test-predicate-part1.h: Likewise.
25340         * tests/unicase/test-u8-casecmp.c: Likewise.
25341         * tests/unicase/test-u8-casecoll.c: Likewise.
25342         * tests/unicase/test-u8-casefold.c: Likewise.
25343         * tests/unicase/test-u8-is-cased.c: Likewise.
25344         * tests/unicase/test-u8-is-casefolded.c: Likewise.
25345         * tests/unicase/test-u8-is-lowercase.c: Likewise.
25346         * tests/unicase/test-u8-is-titlecase.c: Likewise.
25347         * tests/unicase/test-u8-is-uppercase.c: Likewise.
25348         * tests/unicase/test-u8-tolower.c: Likewise.
25349         * tests/unicase/test-u8-totitle.c: Likewise.
25350         * tests/unicase/test-u8-toupper.c: Likewise.
25351         * tests/unicase/test-u16-casecmp.c: Likewise.
25352         * tests/unicase/test-u16-casecoll.c: Likewise.
25353         * tests/unicase/test-u16-casefold.c: Likewise.
25354         * tests/unicase/test-u16-is-cased.c: Likewise.
25355         * tests/unicase/test-u16-is-casefolded.c: Likewise.
25356         * tests/unicase/test-u16-is-lowercase.c: Likewise.
25357         * tests/unicase/test-u16-is-titlecase.c: Likewise.
25358         * tests/unicase/test-u16-is-uppercase.c: Likewise.
25359         * tests/unicase/test-u16-tolower.c: Likewise.
25360         * tests/unicase/test-u16-totitle.c: Likewise.
25361         * tests/unicase/test-u16-toupper.c: Likewise.
25362         * tests/unicase/test-u32-casecmp.c: Likewise.
25363         * tests/unicase/test-u32-casecoll.c: Likewise.
25364         * tests/unicase/test-u32-casefold.c: Likewise.
25365         * tests/unicase/test-u32-is-cased.c: Likewise.
25366         * tests/unicase/test-u32-is-casefolded.c: Likewise.
25367         * tests/unicase/test-u32-is-lowercase.c: Likewise.
25368         * tests/unicase/test-u32-is-titlecase.c: Likewise.
25369         * tests/unicase/test-u32-is-uppercase.c: Likewise.
25370         * tests/unicase/test-u32-tolower.c: Likewise.
25371         * tests/unicase/test-u32-totitle.c: Likewise.
25372         * tests/unicase/test-u32-toupper.c: Likewise.
25373         * tests/unicase/test-ulc-casecmp.c: Likewise.
25374         * tests/unicase/test-ulc-casecoll.c: Likewise.
25375         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
25376         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
25377         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
25378         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
25379         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
25380         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
25381         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
25382         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
25383         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
25384         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
25385         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
25386         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
25387         * tests/unictype/test-bidi_byname.c: Likewise.
25388         * tests/unictype/test-bidi_name.c: Likewise.
25389         * tests/unictype/test-bidi_of.c: Likewise.
25390         * tests/unictype/test-bidi_test.c: Likewise.
25391         * tests/unictype/test-block_list.c: Likewise.
25392         * tests/unictype/test-block_of.c: Likewise.
25393         * tests/unictype/test-block_test.c: Likewise.
25394         * tests/unictype/test-categ_and.c: Likewise.
25395         * tests/unictype/test-categ_and_not.c: Likewise.
25396         * tests/unictype/test-categ_byname.c: Likewise.
25397         * tests/unictype/test-categ_name.c: Likewise.
25398         * tests/unictype/test-categ_none.c: Likewise.
25399         * tests/unictype/test-categ_of.c: Likewise.
25400         * tests/unictype/test-categ_or.c: Likewise.
25401         * tests/unictype/test-categ_test_withtable.c: Likewise.
25402         * tests/unictype/test-combining.c: Likewise.
25403         * tests/unictype/test-decdigit.c: Likewise.
25404         * tests/unictype/test-digit.c: Likewise.
25405         * tests/unictype/test-mirror.c: Likewise.
25406         * tests/unictype/test-numeric.c: Likewise.
25407         * tests/unictype/test-pr_byname.c: Likewise.
25408         * tests/unictype/test-pr_test.c: Likewise.
25409         * tests/unictype/test-predicate-part1.h: Likewise.
25410         * tests/unictype/test-scripts.c: Likewise.
25411         * tests/unictype/test-sy_c_ident.c: Likewise.
25412         * tests/unictype/test-sy_java_ident.c: Likewise.
25413         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
25414         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
25415         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
25416         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
25417         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
25418         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
25419         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
25420         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
25421         * tests/uninorm/test-canonical-decomposition.c: Likewise.
25422         * tests/uninorm/test-compat-decomposition.c: Likewise.
25423         * tests/uninorm/test-composition.c: Likewise.
25424         * tests/uninorm/test-decomposing-form.c: Likewise.
25425         * tests/uninorm/test-decomposition.c: Likewise.
25426         * tests/uninorm/test-u8-nfc.c: Likewise.
25427         * tests/uninorm/test-u8-nfd.c: Likewise.
25428         * tests/uninorm/test-u8-nfkc.c: Likewise.
25429         * tests/uninorm/test-u8-nfkd.c: Likewise.
25430         * tests/uninorm/test-u8-normcmp.c: Likewise.
25431         * tests/uninorm/test-u8-normcoll.c: Likewise.
25432         * tests/uninorm/test-u16-nfc.c: Likewise.
25433         * tests/uninorm/test-u16-nfd.c: Likewise.
25434         * tests/uninorm/test-u16-nfkc.c: Likewise.
25435         * tests/uninorm/test-u16-nfkd.c: Likewise.
25436         * tests/uninorm/test-u16-normcmp.c: Likewise.
25437         * tests/uninorm/test-u16-normcoll.c: Likewise.
25438         * tests/uninorm/test-u32-nfc.c: Likewise.
25439         * tests/uninorm/test-u32-nfd.c: Likewise.
25440         * tests/uninorm/test-u32-nfkc.c: Likewise.
25441         * tests/uninorm/test-u32-nfkd.c: Likewise.
25442         * tests/uninorm/test-u32-normalize-big.c: Likewise.
25443         * tests/uninorm/test-u32-normcmp.c: Likewise.
25444         * tests/uninorm/test-u32-normcoll.c: Likewise.
25445         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
25446         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
25447         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
25448         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
25449         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
25450         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
25451         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
25452         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
25453         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
25454         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
25455         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
25456         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
25457         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
25458         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
25459         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
25460         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
25461         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
25462         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
25463         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
25464         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
25465         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
25466         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
25467         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
25468         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
25469         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
25470         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
25471         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
25472         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
25473         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
25474         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
25475         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
25476         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
25477         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
25478         * tests/uniwidth/test-u8-strwidth.c: Likewise.
25479         * tests/uniwidth/test-u8-width.c: Likewise.
25480         * tests/uniwidth/test-u16-strwidth.c: Likewise.
25481         * tests/uniwidth/test-u16-width.c: Likewise.
25482         * tests/uniwidth/test-u32-strwidth.c: Likewise.
25483         * tests/uniwidth/test-u32-width.c: Likewise.
25484         * tests/uniwidth/test-uc_width.c: Likewise.
25485         * tests/uniwidth/test-uc_width2.c: Likewise.
25486         * modules/acl-tests (Files): Add tests/macros.h.
25487         * modules/areadlink-tests (Files): Likewise.
25488         * modules/areadlink-with-size-tests (Files): Likewise.
25489         * modules/areadlinkat-tests (Files): Likewise.
25490         * modules/areadlinkat-with-size-tests (Files): Likewise.
25491         * modules/argmatch-tests (Files): Likewise.
25492         * modules/argv-iter-tests (Files): Likewise.
25493         * modules/array-list-tests (Files): Likewise.
25494         * modules/array-mergesort-tests (Files): Likewise.
25495         * modules/array-oset-tests (Files): Likewise.
25496         * modules/avltree-list-tests (Files): Likewise.
25497         * modules/avltree-oset-tests (Files): Likewise.
25498         * modules/avltreehash-list-tests (Files): Likewise.
25499         * modules/base64-tests (Files): Likewise.
25500         * modules/binary-io-tests (Files): Likewise.
25501         * modules/bitrotate-tests (Files): Likewise.
25502         * modules/btowc-tests (Files): Likewise.
25503         * modules/byteswap-tests (Files): Likewise.
25504         * modules/c-ctype-tests (Files): Likewise.
25505         * modules/c-stack-tests (Files): Likewise.
25506         * modules/c-strcase-tests (Files): Likewise.
25507         * modules/c-strcasestr-tests (Files): Likewise.
25508         * modules/c-strstr-tests (Files): Likewise.
25509         * modules/canonicalize-lgpl-tests (Files): Likewise.
25510         * modules/canonicalize-tests (Files): Likewise.
25511         * modules/carray-list-tests (Files): Likewise.
25512         * modules/ceilf-tests (Files): Likewise.
25513         * modules/ceill-tests (Files): Likewise.
25514         * modules/chown-tests (Files): Likewise.
25515         * modules/cloexec-tests (Files): Likewise.
25516         * modules/copy-file-tests (Files): Likewise.
25517         * modules/count-one-bits-tests (Files): Likewise.
25518         * modules/dprintf-posix-tests (Files): Likewise.
25519         * modules/dup2-tests (Files): Likewise.
25520         * modules/dup3-tests (Files): Likewise.
25521         * modules/duplocale-tests (Files): Likewise.
25522         * modules/fbufmode-tests (Files): Likewise.
25523         * modules/fchdir-tests (Files): Likewise.
25524         * modules/fcntl-safer-tests (Files): Likewise.
25525         * modules/fcntl-tests (Files): Likewise.
25526         * modules/fdopendir-tests (Files): Likewise.
25527         * modules/fdutimensat-tests (Files): Likewise.
25528         * modules/fflush-tests (Files): Likewise.
25529         * modules/filevercmp-tests (Files): Likewise.
25530         * modules/flock-tests (Files): Likewise.
25531         * modules/floorf-tests (Files): Likewise.
25532         * modules/floorl-tests (Files): Likewise.
25533         * modules/fnmatch-tests (Files): Likewise.
25534         * modules/fopen-safer-tests (Files): Likewise.
25535         * modules/fopen-tests (Files): Likewise.
25536         * modules/fpending-tests (Files): Likewise.
25537         * modules/fprintf-posix-tests (Files): Likewise.
25538         * modules/fpurge-tests (Files): Likewise.
25539         * modules/freadable-tests (Files): Likewise.
25540         * modules/freadahead-tests (Files): Likewise.
25541         * modules/freading-tests (Files): Likewise.
25542         * modules/freadptr-tests (Files): Likewise.
25543         * modules/freadseek-tests (Files): Likewise.
25544         * modules/freopen-tests (Files): Likewise.
25545         * modules/frexp-nolibm-tests (Files): Likewise.
25546         * modules/frexp-tests (Files): Likewise.
25547         * modules/frexpl-nolibm-tests (Files): Likewise.
25548         * modules/frexpl-tests (Files): Likewise.
25549         * modules/fseek-tests (Files): Likewise.
25550         * modules/fseeko-tests (Files): Likewise.
25551         * modules/fstrcmp-tests (Files): Likewise.
25552         * modules/fsync-tests (Files): Likewise.
25553         * modules/ftell-tests (Files): Likewise.
25554         * modules/ftello-tests (Files): Likewise.
25555         * modules/func-tests (Files): Likewise.
25556         * modules/futimens-tests (Files): Likewise.
25557         * modules/fwritable-tests (Files): Likewise.
25558         * modules/fwriting-tests (Files): Likewise.
25559         * modules/getcwd-tests (Files): Likewise.
25560         * modules/getdate-tests (Files): Likewise.
25561         * modules/getdelim-tests (Files): Likewise.
25562         * modules/getdtablesize-tests (Files): Likewise.
25563         * modules/getgroups-tests (Files): Likewise.
25564         * modules/getline-tests (Files): Likewise.
25565         * modules/getndelim2-tests (Files): Likewise.
25566         * modules/glob-tests (Files): Likewise.
25567         * modules/hash-tests (Files): Likewise.
25568         * modules/i-ring-tests (Files): Likewise.
25569         * modules/iconv-tests (Files): Likewise.
25570         * modules/iconv_open-utf-tests (Files): Likewise.
25571         * modules/idpriv-drop-tests (Files): Likewise.
25572         * modules/idpriv-droptemp-tests (Files): Likewise.
25573         * modules/inet_ntop-tests (Files): Likewise.
25574         * modules/inet_pton-tests (Files): Likewise.
25575         * modules/isblank-tests (Files): Likewise.
25576         * modules/isfinite-tests (Files): Likewise.
25577         * modules/isinf-tests (Files): Likewise.
25578         * modules/isnan-tests (Files): Likewise.
25579         * modules/isnand-nolibm-tests (Files): Likewise.
25580         * modules/isnand-tests (Files): Likewise.
25581         * modules/isnanf-nolibm-tests (Files): Likewise.
25582         * modules/isnanf-tests (Files): Likewise.
25583         * modules/isnanl-nolibm-tests (Files): Likewise.
25584         * modules/isnanl-tests (Files): Likewise.
25585         * modules/lchown-tests (Files): Likewise.
25586         * modules/ldexpl-tests (Files): Likewise.
25587         * modules/link-tests (Files): Likewise.
25588         * modules/linkat-tests (Files): Likewise.
25589         * modules/linked-list-tests (Files): Likewise.
25590         * modules/linkedhash-list-tests (Files): Likewise.
25591         * modules/localename-tests (Files): Likewise.
25592         * modules/lseek-tests (Files): Likewise.
25593         * modules/lstat-tests (Files): Likewise.
25594         * modules/mbmemcasecmp-tests (Files): Likewise.
25595         * modules/mbmemcasecoll-tests (Files): Likewise.
25596         * modules/mbrtowc-tests (Files): Likewise.
25597         * modules/mbscasecmp-tests (Files): Likewise.
25598         * modules/mbscasestr-tests (Files): Likewise.
25599         * modules/mbschr-tests (Files): Likewise.
25600         * modules/mbscspn-tests (Files): Likewise.
25601         * modules/mbsinit-tests (Files): Likewise.
25602         * modules/mbsncasecmp-tests (Files): Likewise.
25603         * modules/mbsnrtowcs-tests (Files): Likewise.
25604         * modules/mbspbrk-tests (Files): Likewise.
25605         * modules/mbspcasecmp-tests (Files): Likewise.
25606         * modules/mbsrchr-tests (Files): Likewise.
25607         * modules/mbsrtowcs-tests (Files): Likewise.
25608         * modules/mbsspn-tests (Files): Likewise.
25609         * modules/mbsstr-tests (Files): Likewise.
25610         * modules/memchr-tests (Files): Likewise.
25611         * modules/memchr2-tests (Files): Likewise.
25612         * modules/memcmp-tests (Files): Likewise.
25613         * modules/memmem-tests (Files): Likewise.
25614         * modules/memrchr-tests (Files): Likewise.
25615         * modules/mkdir-tests (Files): Likewise.
25616         * modules/mkfifo-tests (Files): Likewise.
25617         * modules/mkfifoat-tests (Files): Likewise.
25618         * modules/mknod-tests (Files): Likewise.
25619         * modules/nanosleep-tests (Files): Likewise.
25620         * modules/nl_langinfo-tests (Files): Likewise.
25621         * modules/obstack-printf-tests (Files): Likewise.
25622         * modules/open-tests (Files): Likewise.
25623         * modules/openat-tests (Files): Likewise.
25624         * modules/pipe-filter-gi-tests (Files): Likewise.
25625         * modules/pipe-filter-ii-tests (Files): Likewise.
25626         * modules/pipe2-tests (Files): Likewise.
25627         * modules/popen-safer-tests (Files): Likewise.
25628         * modules/popen-tests (Files): Likewise.
25629         * modules/posixtm-tests (Files): Likewise.
25630         * modules/pread-tests (Files): Likewise.
25631         * modules/printf-frexp-tests (Files): Likewise.
25632         * modules/printf-frexpl-tests (Files): Likewise.
25633         * modules/printf-posix-tests (Files): Likewise.
25634         * modules/priv-set-tests (Files): Likewise.
25635         * modules/quotearg-tests (Files): Likewise.
25636         * modules/random_r-tests (Files): Likewise.
25637         * modules/rawmemchr-tests (Files): Likewise.
25638         * modules/rbtree-list-tests (Files): Likewise.
25639         * modules/rbtree-oset-tests (Files): Likewise.
25640         * modules/rbtreehash-list-tests (Files): Likewise.
25641         * modules/readlink-tests (Files): Likewise.
25642         * modules/remove-tests (Files): Likewise.
25643         * modules/rename-tests (Files): Likewise.
25644         * modules/renameat-tests (Files): Likewise.
25645         * modules/rmdir-tests (Files): Likewise.
25646         * modules/round-tests (Files): Likewise.
25647         * modules/roundf-tests (Files): Likewise.
25648         * modules/roundl-tests (Files): Likewise.
25649         * modules/safe-alloc-tests (Files): Likewise.
25650         * modules/setenv-tests (Files): Likewise.
25651         * modules/sigaction-tests (Files): Likewise.
25652         * modules/signbit-tests (Files): Likewise.
25653         * modules/sleep-tests (Files): Likewise.
25654         * modules/snprintf-posix-tests (Files): Likewise.
25655         * modules/snprintf-tests (Files): Likewise.
25656         * modules/sprintf-posix-tests (Files): Likewise.
25657         * modules/stat-tests (Files): Likewise.
25658         * modules/stat-time-tests (Files): Likewise.
25659         * modules/strcasestr-tests (Files): Likewise.
25660         * modules/strchrnul-tests (Files): Likewise.
25661         * modules/strerror-tests (Files): Likewise.
25662         * modules/striconv-tests (Files): Likewise.
25663         * modules/striconveh-tests (Files): Likewise.
25664         * modules/striconveha-tests (Files): Likewise.
25665         * modules/strsignal-tests (Files): Likewise.
25666         * modules/strstr-tests (Files): Likewise.
25667         * modules/strtod-tests (Files): Likewise.
25668         * modules/strverscmp-tests (Files): Likewise.
25669         * modules/symlink-tests (Files): Likewise.
25670         * modules/symlinkat-tests (Files): Likewise.
25671         * modules/trunc-tests (Files): Likewise.
25672         * modules/truncf-tests (Files): Likewise.
25673         * modules/truncl-tests (Files): Likewise.
25674         * modules/uname-tests (Files): Likewise.
25675         * modules/unicase/cased-tests (Files): Likewise.
25676         * modules/unicase/ignorable-tests (Files): Likewise.
25677         * modules/unicase/locale-language-tests (Files): Likewise.
25678         * modules/unicase/tolower-tests (Files): Likewise.
25679         * modules/unicase/totitle-tests (Files): Likewise.
25680         * modules/unicase/toupper-tests (Files): Likewise.
25681         * modules/unicase/u8-casecmp-tests (Files): Likewise.
25682         * modules/unicase/u8-casecoll-tests (Files): Likewise.
25683         * modules/unicase/u8-casefold-tests (Files): Likewise.
25684         * modules/unicase/u8-is-cased-tests (Files): Likewise.
25685         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
25686         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
25687         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
25688         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
25689         * modules/unicase/u8-tolower-tests (Files): Likewise.
25690         * modules/unicase/u8-totitle-tests (Files): Likewise.
25691         * modules/unicase/u8-toupper-tests (Files): Likewise.
25692         * modules/unicase/u16-casecmp-tests (Files): Likewise.
25693         * modules/unicase/u16-casecoll-tests (Files): Likewise.
25694         * modules/unicase/u16-casefold-tests (Files): Likewise.
25695         * modules/unicase/u16-is-cased-tests (Files): Likewise.
25696         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
25697         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
25698         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
25699         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
25700         * modules/unicase/u16-tolower-tests (Files): Likewise.
25701         * modules/unicase/u16-totitle-tests (Files): Likewise.
25702         * modules/unicase/u16-toupper-tests (Files): Likewise.
25703         * modules/unicase/u32-casecmp-tests (Files): Likewise.
25704         * modules/unicase/u32-casecoll-tests (Files): Likewise.
25705         * modules/unicase/u32-casefold-tests (Files): Likewise.
25706         * modules/unicase/u32-is-cased-tests (Files): Likewise.
25707         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
25708         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
25709         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
25710         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
25711         * modules/unicase/u32-tolower-tests (Files): Likewise.
25712         * modules/unicase/u32-totitle-tests (Files): Likewise.
25713         * modules/unicase/u32-toupper-tests (Files): Likewise.
25714         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
25715         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
25716         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
25717         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
25718         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
25719         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
25720         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
25721         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
25722         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
25723         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
25724         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
25725         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
25726         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
25727         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
25728         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
25729         * modules/unictype/bidicategory-name-tests (Files): Likewise.
25730         * modules/unictype/bidicategory-of-tests (Files): Likewise.
25731         * modules/unictype/bidicategory-test-tests (Files): Likewise.
25732         * modules/unictype/block-list-tests (Files): Likewise.
25733         * modules/unictype/block-of-tests (Files): Likewise.
25734         * modules/unictype/block-test-tests (Files): Likewise.
25735         * modules/unictype/category-C-tests (Files): Likewise.
25736         * modules/unictype/category-Cc-tests (Files): Likewise.
25737         * modules/unictype/category-Cf-tests (Files): Likewise.
25738         * modules/unictype/category-Cn-tests (Files): Likewise.
25739         * modules/unictype/category-Co-tests (Files): Likewise.
25740         * modules/unictype/category-Cs-tests (Files): Likewise.
25741         * modules/unictype/category-L-tests (Files): Likewise.
25742         * modules/unictype/category-Ll-tests (Files): Likewise.
25743         * modules/unictype/category-Lm-tests (Files): Likewise.
25744         * modules/unictype/category-Lo-tests (Files): Likewise.
25745         * modules/unictype/category-Lt-tests (Files): Likewise.
25746         * modules/unictype/category-Lu-tests (Files): Likewise.
25747         * modules/unictype/category-M-tests (Files): Likewise.
25748         * modules/unictype/category-Mc-tests (Files): Likewise.
25749         * modules/unictype/category-Me-tests (Files): Likewise.
25750         * modules/unictype/category-Mn-tests (Files): Likewise.
25751         * modules/unictype/category-N-tests (Files): Likewise.
25752         * modules/unictype/category-Nd-tests (Files): Likewise.
25753         * modules/unictype/category-Nl-tests (Files): Likewise.
25754         * modules/unictype/category-No-tests (Files): Likewise.
25755         * modules/unictype/category-P-tests (Files): Likewise.
25756         * modules/unictype/category-Pc-tests (Files): Likewise.
25757         * modules/unictype/category-Pd-tests (Files): Likewise.
25758         * modules/unictype/category-Pe-tests (Files): Likewise.
25759         * modules/unictype/category-Pf-tests (Files): Likewise.
25760         * modules/unictype/category-Pi-tests (Files): Likewise.
25761         * modules/unictype/category-Po-tests (Files): Likewise.
25762         * modules/unictype/category-Ps-tests (Files): Likewise.
25763         * modules/unictype/category-S-tests (Files): Likewise.
25764         * modules/unictype/category-Sc-tests (Files): Likewise.
25765         * modules/unictype/category-Sk-tests (Files): Likewise.
25766         * modules/unictype/category-Sm-tests (Files): Likewise.
25767         * modules/unictype/category-So-tests (Files): Likewise.
25768         * modules/unictype/category-Z-tests (Files): Likewise.
25769         * modules/unictype/category-Zl-tests (Files): Likewise.
25770         * modules/unictype/category-Zp-tests (Files): Likewise.
25771         * modules/unictype/category-Zs-tests (Files): Likewise.
25772         * modules/unictype/category-and-not-tests (Files): Likewise.
25773         * modules/unictype/category-and-tests (Files): Likewise.
25774         * modules/unictype/category-byname-tests (Files): Likewise.
25775         * modules/unictype/category-name-tests (Files): Likewise.
25776         * modules/unictype/category-none-tests (Files): Likewise.
25777         * modules/unictype/category-of-tests (Files): Likewise.
25778         * modules/unictype/category-or-tests (Files): Likewise.
25779         * modules/unictype/category-test-withtable-tests (Files): Likewise.
25780         * modules/unictype/combining-class-tests (Files): Likewise.
25781         * modules/unictype/ctype-alnum-tests (Files): Likewise.
25782         * modules/unictype/ctype-alpha-tests (Files): Likewise.
25783         * modules/unictype/ctype-blank-tests (Files): Likewise.
25784         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
25785         * modules/unictype/ctype-digit-tests (Files): Likewise.
25786         * modules/unictype/ctype-graph-tests (Files): Likewise.
25787         * modules/unictype/ctype-lower-tests (Files): Likewise.
25788         * modules/unictype/ctype-print-tests (Files): Likewise.
25789         * modules/unictype/ctype-punct-tests (Files): Likewise.
25790         * modules/unictype/ctype-space-tests (Files): Likewise.
25791         * modules/unictype/ctype-upper-tests (Files): Likewise.
25792         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
25793         * modules/unictype/decimal-digit-tests (Files): Likewise.
25794         * modules/unictype/digit-tests (Files): Likewise.
25795         * modules/unictype/mirror-tests (Files): Likewise.
25796         * modules/unictype/numeric-tests (Files): Likewise.
25797         * modules/unictype/property-alphabetic-tests (Files): Likewise.
25798         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
25799         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
25800         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
25801         Likewise.
25802         * modules/unictype/property-bidi-block-separator-tests (Files):
25803         Likewise.
25804         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
25805         Likewise.
25806         * modules/unictype/property-bidi-common-separator-tests (Files):
25807         Likewise.
25808         * modules/unictype/property-bidi-control-tests (Files): Likewise.
25809         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
25810         Likewise.
25811         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
25812         Likewise.
25813         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
25814         Likewise.
25815         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
25816         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
25817         Likewise.
25818         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
25819         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
25820         Likewise.
25821         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
25822         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
25823         * modules/unictype/property-bidi-segment-separator-tests (Files):
25824         Likewise.
25825         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
25826         * modules/unictype/property-byname-tests (Files): Likewise.
25827         * modules/unictype/property-combining-tests (Files): Likewise.
25828         * modules/unictype/property-composite-tests (Files): Likewise.
25829         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
25830         * modules/unictype/property-dash-tests (Files): Likewise.
25831         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
25832         * modules/unictype/property-default-ignorable-code-point-tests (Files):
25833         Likewise.
25834         * modules/unictype/property-deprecated-tests (Files): Likewise.
25835         * modules/unictype/property-diacritic-tests (Files): Likewise.
25836         * modules/unictype/property-extender-tests (Files): Likewise.
25837         * modules/unictype/property-format-control-tests (Files): Likewise.
25838         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
25839         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
25840         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
25841         * modules/unictype/property-hex-digit-tests (Files): Likewise.
25842         * modules/unictype/property-hyphen-tests (Files): Likewise.
25843         * modules/unictype/property-id-continue-tests (Files): Likewise.
25844         * modules/unictype/property-id-start-tests (Files): Likewise.
25845         * modules/unictype/property-ideographic-tests (Files): Likewise.
25846         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
25847         * modules/unictype/property-ids-trinary-operator-tests (Files):
25848         Likewise.
25849         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
25850         * modules/unictype/property-iso-control-tests (Files): Likewise.
25851         * modules/unictype/property-join-control-tests (Files): Likewise.
25852         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
25853         * modules/unictype/property-line-separator-tests (Files): Likewise.
25854         * modules/unictype/property-logical-order-exception-tests (Files):
25855         Likewise.
25856         * modules/unictype/property-lowercase-tests (Files): Likewise.
25857         * modules/unictype/property-math-tests (Files): Likewise.
25858         * modules/unictype/property-non-break-tests (Files): Likewise.
25859         * modules/unictype/property-not-a-character-tests (Files): Likewise.
25860         * modules/unictype/property-numeric-tests (Files): Likewise.
25861         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
25862         * modules/unictype/property-other-default-ignorable-code-point-tests
25863         (Files): Likewise.
25864         * modules/unictype/property-other-grapheme-extend-tests (Files):
25865         Likewise.
25866         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
25867         * modules/unictype/property-other-id-start-tests (Files): Likewise.
25868         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
25869         * modules/unictype/property-other-math-tests (Files): Likewise.
25870         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
25871         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
25872         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
25873         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
25874         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
25875         * modules/unictype/property-private-use-tests (Files): Likewise.
25876         * modules/unictype/property-punctuation-tests (Files): Likewise.
25877         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
25878         * modules/unictype/property-radical-tests (Files): Likewise.
25879         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
25880         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
25881         * modules/unictype/property-space-tests (Files): Likewise.
25882         * modules/unictype/property-terminal-punctuation-tests (Files):
25883         Likewise.
25884         * modules/unictype/property-test-tests (Files): Likewise.
25885         * modules/unictype/property-titlecase-tests (Files): Likewise.
25886         * modules/unictype/property-unassigned-code-value-tests (Files):
25887         Likewise.
25888         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
25889         * modules/unictype/property-uppercase-tests (Files): Likewise.
25890         * modules/unictype/property-variation-selector-tests (Files): Likewise.
25891         * modules/unictype/property-white-space-tests (Files): Likewise.
25892         * modules/unictype/property-xid-continue-tests (Files): Likewise.
25893         * modules/unictype/property-xid-start-tests (Files): Likewise.
25894         * modules/unictype/property-zero-width-tests (Files): Likewise.
25895         * modules/unictype/scripts-tests (Files): Likewise.
25896         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
25897         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
25898         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
25899         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
25900         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
25901         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
25902         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
25903         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
25904         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
25905         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
25906         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
25907         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
25908         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
25909         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
25910         * modules/uninorm/composition-tests (Files): Likewise.
25911         * modules/uninorm/decomposing-form-tests (Files): Likewise.
25912         * modules/uninorm/decomposition-tests (Files): Likewise.
25913         * modules/uninorm/filter-tests (Files): Likewise.
25914         * modules/uninorm/nfc-tests (Files): Likewise.
25915         * modules/uninorm/nfd-tests (Files): Likewise.
25916         * modules/uninorm/nfkc-tests (Files): Likewise.
25917         * modules/uninorm/nfkd-tests (Files): Likewise.
25918         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
25919         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
25920         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
25921         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
25922         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
25923         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
25924         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
25925         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
25926         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
25927         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
25928         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
25929         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
25930         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
25931         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
25932         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
25933         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
25934         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
25935         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
25936         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
25937         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
25938         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
25939         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
25940         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
25941         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
25942         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
25943         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
25944         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
25945         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
25946         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
25947         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
25948         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
25949         * modules/uniwidth/u8-width-tests (Files): Likewise.
25950         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
25951         * modules/uniwidth/u16-width-tests (Files): Likewise.
25952         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
25953         * modules/uniwidth/u32-width-tests (Files): Likewise.
25954         * modules/uniwidth/width-tests (Files): Likewise.
25955         * modules/unlink-tests (Files): Likewise.
25956         * modules/unsetenv-tests (Files): Likewise.
25957         * modules/usleep-tests (Files): Likewise.
25958         * modules/utimens-tests (Files): Likewise.
25959         * modules/utimensat-tests (Files): Likewise.
25960         * modules/vasnprintf-posix-tests (Files): Likewise.
25961         * modules/vasnprintf-tests (Files): Likewise.
25962         * modules/vasprintf-posix-tests (Files): Likewise.
25963         * modules/vasprintf-tests (Files): Likewise.
25964         * modules/vdprintf-posix-tests (Files): Likewise.
25965         * modules/vfprintf-posix-tests (Files): Likewise.
25966         * modules/vprintf-posix-tests (Files): Likewise.
25967         * modules/vsnprintf-posix-tests (Files): Likewise.
25968         * modules/vsnprintf-tests (Files): Likewise.
25969         * modules/vsprintf-posix-tests (Files): Likewise.
25970         * modules/wcrtomb-tests (Files): Likewise.
25971         * modules/wcsnrtombs-tests (Files): Likewise.
25972         * modules/wcsrtombs-tests (Files): Likewise.
25973         * modules/wctype-tests (Files): Likewise.
25974         * modules/wcwidth-tests (Files): Likewise.
25975         * modules/xmemdup0-tests (Files): Likewise.
25976         * modules/xprintf-posix-tests (Files): Likewise.
25977         * modules/xvasprintf-tests (Files): Likewise.
25978
25979 2009-12-24  Eric Blake  <ebb9@byu.net>
25980
25981         test-nanosleep: fix typo
25982         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
25983         patch.
25984         Reported by Bruno Haible.
25985
25986 2009-12-24  Bruno Haible  <bruno@clisp.org>
25987
25988         Reduce namespace pollution on glibc systems.
25989         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
25990         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
25991         systems.
25992         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
25993         <getopt.h> on glibc systems.
25994         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
25995         systems.
25996         * lib/fcntl.c: Include <unistd.h> here instead.
25997
25998 2009-12-24  Bruno Haible  <bruno@clisp.org>
25999
26000         * lib/stdlib.in.h (includes): Fix typo in today's commit.
26001
26002 2009-12-24  Eric Blake  <ebb9@byu.net>
26003
26004         tests: add signature checks
26005         * tests/signature.h (SIGNATURE_CHECK): New file.
26006         * modules/atexit-tests (Files): Use it.
26007         * modules/btowc-tests (Files): Likewise.
26008         * modules/canonicalize-lgpl-tests (Files): Likewise.
26009         * modules/ceilf-tests (Files): Likewise.
26010         * modules/ceill-tests (Files): Likewise.
26011         * modules/chown-tests (Files): Likewise.
26012         * modules/dprintf-posix-tests (Files): Likewise.
26013         * modules/dup2-tests (Files): Likewise.
26014         * modules/dup3-tests (Files): Likewise.
26015         * modules/duplocale-tests (Files): Likewise.
26016         * modules/fchdir-tests (Files): Likewise.
26017         * modules/fcntl-tests (Files): Likewise.
26018         * modules/fdopendir-tests (Files): Likewise.
26019         * modules/fflush-tests (Files): Likewise.
26020         * modules/flock-tests (Files): Likewise.
26021         * modules/floorf-tests (Files): Likewise.
26022         * modules/floorl-tests (Files): Likewise.
26023         * modules/fnmatch-tests (Files): Likewise.
26024         * modules/fopen-tests (Files): Likewise.
26025         * modules/fprintf-posix-tests (Files): Likewise.
26026         * modules/freopen-tests (Files): Likewise.
26027         * modules/frexp-nolibm-tests (Files): Likewise.
26028         * modules/frexp-tests (Files): Likewise.
26029         * modules/frexpl-nolibm-tests (Files): Likewise.
26030         * modules/frexpl-tests (Files): Likewise.
26031         * modules/fseek-tests (Files): Likewise.
26032         * modules/fseeko-tests (Files): Likewise.
26033         * modules/fsync-tests (Files): Likewise.
26034         * modules/ftell-tests (Files): Likewise.
26035         * modules/ftello-tests (Files): Likewise.
26036         * modules/futimens-tests (Files): Likewise.
26037         * modules/getaddrinfo-tests (Files): Likewise.
26038         * modules/getcwd-tests (Files): Likewise.
26039         * modules/getdelim-tests (Files): Likewise.
26040         * modules/getdtablesize-tests (Files): Likewise.
26041         * modules/getgroups-tests (Files): Likewise.
26042         * modules/gethostname-tests (Files): Likewise.
26043         * modules/getline-tests (Files): Likewise.
26044         * modules/getopt-posix-tests (Files): Likewise.
26045         * modules/gettimeofday-tests (Files): Likewise.
26046         * modules/glob-tests (Files): Likewise.
26047         * modules/iconv-tests (Files): Likewise.
26048         * modules/inet_ntop-tests (Files): Likewise.
26049         * modules/inet_pton-tests (Files): Likewise.
26050         * modules/isblank-tests (Files): Likewise.
26051         * modules/lchown-tests (Files): Likewise.
26052         * modules/ldexpl-tests (Files): Likewise.
26053         * modules/link-tests (Files): Likewise.
26054         * modules/linkat-tests (Files): Likewise.
26055         * modules/lseek-tests (Files): Likewise.
26056         * modules/lstat-tests (Files): Likewise.
26057         * modules/mbrtowc-tests (Files): Likewise.
26058         * modules/mbsinit-tests (Files): Likewise.
26059         * modules/mbsnrtowcs-tests (Files): Likewise.
26060         * modules/mbsrtowcs-tests (Files): Likewise.
26061         * modules/memchr-tests (Files): Likewise.
26062         * modules/memcmp-tests (Files): Likewise.
26063         * modules/memmem-tests (Files): Likewise.
26064         * modules/memrchr-tests (Files): Likewise.
26065         * modules/mkdir-tests (Files): Likewise.
26066         * modules/mkfifo-tests (Files): Likewise.
26067         * modules/mkfifoat-tests (Files): Likewise.
26068         * modules/mknod-tests (Files): Likewise.
26069         * modules/nanosleep-tests (Files): Likewise.
26070         * modules/nl_langinfo-tests (Files): Likewise.
26071         * modules/obstack-printf-tests (Files): Likewise.
26072         * modules/open-tests (Files): Likewise.
26073         * modules/openat-tests (Files): Likewise.
26074         * modules/perror-tests (Files): Likewise.
26075         * modules/pipe2-tests (Files): Likewise.
26076         * modules/poll-tests (Files): Likewise.
26077         * modules/popen-tests (Files): Likewise.
26078         * modules/posix_spawn-tests (Files): Likewise.
26079         * modules/posix_spawnp-tests (Files): Likewise.
26080         * modules/pread-tests (Files): Likewise.
26081         * modules/printf-posix-tests (Files): Likewise.
26082         * modules/pty-tests (Files): Likewise.
26083         * modules/random_r-tests (Files): Likewise.
26084         * modules/rawmemchr-tests (Files): Likewise.
26085         * modules/readlink-tests (Files): Likewise.
26086         * modules/remove-tests (Files): Likewise.
26087         * modules/rename-tests (Files): Likewise.
26088         * modules/renameat-tests (Files): Likewise.
26089         * modules/rmdir-tests (Files): Likewise.
26090         * modules/round-tests (Files): Likewise.
26091         * modules/roundf-tests (Files): Likewise.
26092         * modules/roundl-tests (Files): Likewise.
26093         * modules/select-tests (Files): Likewise.
26094         * modules/setenv-tests (Files): Likewise.
26095         * modules/sigaction-tests (Files): Likewise.
26096         * modules/sleep-tests (Files): Likewise.
26097         * modules/snprintf-posix-tests (Files): Likewise.
26098         * modules/snprintf-tests (Files): Likewise.
26099         * modules/sprintf-posix-tests (Files): Likewise.
26100         * modules/stat-tests (Files): Likewise.
26101         * modules/strcasestr-tests (Files): Likewise.
26102         * modules/strchrnul-tests (Files): Likewise.
26103         * modules/strerror-tests (Files): Likewise.
26104         * modules/strsignal-tests (Files): Likewise.
26105         * modules/strstr-tests (Files): Likewise.
26106         * modules/strtod-tests (Files): Likewise.
26107         * modules/strverscmp-tests (Files): Likewise.
26108         * modules/symlink-tests (Files): Likewise.
26109         * modules/symlinkat-tests (Files): Likewise.
26110         * modules/times-tests (Files): Likewise.
26111         * modules/trunc-tests (Files): Likewise.
26112         * modules/truncf-tests (Files): Likewise.
26113         * modules/truncl-tests (Files): Likewise.
26114         * modules/tsearch-tests (Files): Likewise.
26115         * modules/uname-tests (Files): Likewise.
26116         * modules/unlink-tests (Files): Likewise.
26117         * modules/unsetenv-tests (Files): Likewise.
26118         * modules/usleep-tests (Files): Likewise.
26119         * modules/utimensat-tests (Files): Likewise.
26120         * modules/vasprintf-tests (Files): Likewise.
26121         * modules/vdprintf-posix-tests (Files): Likewise.
26122         * modules/vfprintf-posix-tests (Files): Likewise.
26123         * modules/vprintf-posix-tests (Files): Likewise.
26124         * modules/vsnprintf-posix-tests (Files): Likewise.
26125         * modules/vsnprintf-tests (Files): Likewise.
26126         * modules/vsprintf-posix-tests (Files): Likewise.
26127         * modules/wcrtomb-tests (Files): Likewise.
26128         * modules/wcsnrtombs-tests (Files): Likewise.
26129         * modules/wcsrtombs-tests (Files): Likewise.
26130         * modules/wcwidth-tests (Files): Likewise.
26131         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
26132         * tests/test-isinf.c (isinf): Likewise.
26133         * tests/test-isnan.c (isnan): Likewise.
26134         * tests/test-signbit.c (signbit): Likewise.
26135         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
26136         declaration, either as macro or with correct signature.
26137         (select): Ensure function under test is declared with correct
26138         signature in correct header.
26139         * tests/test-atexit.c (atexit): Likewise.
26140         * tests/test-btowc.c (btowc): Likewise.
26141         * tests/test-canonicalize-lgpl.c (realpath)
26142         (canonicalize_file_name): Likewise.
26143         * tests/test-ceilf1.c (ceilf): Likewise.
26144         * tests/test-ceill.c (ceill): Likewise.
26145         * tests/test-chown.c (chown): Likewise.
26146         * tests/test-dprintf-posix.c (dprintf): Likewise.
26147         * tests/test-dup2.c (dup2): Likewise.
26148         * tests/test-dup3.c (dup3): Likewise.
26149         * tests/test-duplocale.c (duplocale): Likewise.
26150         * tests/test-fchdir.c (fchdir): Likewise.
26151         * tests/test-fchownat.c (fchownat): Likewise.
26152         * tests/test-fcntl.c (fcntl): Likewise.
26153         * tests/test-fdopendir.c (fdopendir): Likewise.
26154         * tests/test-fflush.c (fflush): Likewise.
26155         * tests/test-flock.c (flock): Likewise.
26156         * tests/test-floorf1.c (floorf): Likewise.
26157         * tests/test-floorl.c (floorl): Likewise.
26158         * tests/test-fnmatch.c (fnmatch): Likewise.
26159         * tests/test-fopen.c (fopen): Likewise.
26160         * tests/test-fprintf-posix.c (fprintf): Likewise.
26161         * tests/test-freopen.c (freopen): Likewise.
26162         * tests/test-frexp.c (frexp): Likewise.
26163         * tests/test-frexpl.c (frexpl): Likewise.
26164         * tests/test-fseek.c (fseek): Likewise.
26165         * tests/test-fseeko.c (fseeko): Likewise.
26166         * tests/test-fstatat.c (fstatat): Likewise.
26167         * tests/test-fsync.c (fsync): Likewise.
26168         * tests/test-ftell.c (ftell): Likewise.
26169         * tests/test-ftello.c (ftello): Likewise.
26170         * tests/test-futimens.c (futimens): Likewise.
26171         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
26172         (gai_strerror): Likewise.
26173         * tests/test-getcwd.c (getcwd): Likewise.
26174         * tests/test-getdelim.c (getdelim): Likewise.
26175         * tests/test-getdtablesize.c (getdtablesize): Likewise.
26176         * tests/test-getgroups.c (getgroups): Likewise.
26177         * tests/test-gethostname.c (gethostname): Likewise.
26178         * tests/test-getline.c (getline): Likewise.
26179         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
26180         Likewise.
26181         * tests/test-gettimeofday.c (gettimeofday): Likewise.
26182         * tests/test-glob.c (glob, globfree): Likewise.
26183         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
26184         * tests/test-inet_ntop.c (inet_ntop): Likewise.
26185         * tests/test-inet_pton.c (inet_pton): Likewise.
26186         * tests/test-isblank.c (isblank): Likewise.
26187         * tests/test-lchown.c (lchown): Likewise.
26188         * tests/test-ldexpl.c (ldexpl): Likewise.
26189         * tests/test-link.c (link): Likewise.
26190         * tests/test-linkat.c (linkat): Likewise.
26191         * tests/test-lseek.c (lseek): Likewise.
26192         * tests/test-lstat.c (lstat): Likewise.
26193         * tests/test-mbrtowc.c (mbrtowc): Likewise.
26194         * tests/test-mbsinit.c (mbsinit): Likewise.
26195         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
26196         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
26197         * tests/test-memchr.c (memchr): Likewise.
26198         * tests/test-memcmp.c (memcmp): Likewise.
26199         * tests/test-memmem.c (memmem): Likewise.
26200         * tests/test-memrchr.c (memrchr): Likewise.
26201         * tests/test-mkdir.c (mkdir): Likewise.
26202         * tests/test-mkdirat.c (mkdirat): Likewise.
26203         * tests/test-mkfifo.c (mkfifo): Likewise.
26204         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
26205         * tests/test-mknod.c (mknod): Likewise.
26206         * tests/test-nanosleep.c (nanosleep): Likewise.
26207         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
26208         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
26209         Likewise.
26210         * tests/test-open.c (open): Likewise.
26211         * tests/test-openat.c (openat): Likewise.
26212         * tests/test-perror.c (perror): Likewise.
26213         * tests/test-pipe2.c (pipe2): Likewise.
26214         * tests/test-poll.c (poll): Likewise.
26215         * tests/test-popen.c (popen, pclose): Likewise.
26216         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
26217         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
26218         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
26219         (posix_spawn_file_actions_destroy)
26220         (posix_spawn_file_actions_addclose)
26221         (posix_spawn_file_actions_addopen)
26222         (posix_spawn_file_actions_adddup2): Likewise.
26223         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
26224         * tests/test-pread.c (pread): Likewise.
26225         * tests/test-printf-posix.c (printf): Likewise.
26226         * tests/test-pty.c (openpty, forkpty): Likewise.
26227         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
26228         (random_r): Likewise.
26229         * tests/test-rawmemchr.c (rawmemchr): Likewise.
26230         * tests/test-readlink.c (readlink): Likewise.
26231         * tests/test-remove.c (remove): Likewise.
26232         * tests/test-rename.c (rename): Likewise.
26233         * tests/test-renameat.c (renameat): Likewise.
26234         * tests/test-rmdir.c (rmdir): Likewise.
26235         * tests/test-round1.c (round): Likewise.
26236         * tests/test-roundf1.c (roundf): Likewise.
26237         * tests/test-roundl.c (roundl): Likewise.
26238         * tests/test-setenv.c (setenv): Likewise.
26239         * tests/test-sigaction.c (sigaction): Likewise.
26240         * tests/test-sleep.c (sleep): Likewise.
26241         * tests/test-snprintf.c (snprintf): Likewise.
26242         * tests/test-sprintf-posix.c (sprintf): Likewise.
26243         * tests/test-stat.c (stat): Likewise.
26244         * tests/test-stpncpy.c (stpncpy): Likewise.
26245         * tests/test-strcasestr.c (strcasestr): Likewise.
26246         * tests/test-strchrnul.c (strchrnul): Likewise.
26247         * tests/test-strerror.c (strerror): Likewise.
26248         * tests/test-strsignal.c (strsignal): Likewise.
26249         * tests/test-strstr.c (strstr): Likewise.
26250         * tests/test-strtod.c (strtod): Likewise.
26251         * tests/test-strverscmp.c (strverscmp): Likewise.
26252         * tests/test-symlink.c (symlink): Likewise.
26253         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
26254         * tests/test-times.c (times): Likewise.
26255         * tests/test-trunc1.c (trunc): Likewise.
26256         * tests/test-truncf1.c (truncf): Likewise.
26257         * tests/test-truncl.c (truncl): Likewise.
26258         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
26259         Likewise.
26260         * tests/test-uname.c (uname): Likewise.
26261         * tests/test-unlink.c (unlink): Likewise.
26262         * tests/test-unlinkat.c (unlinkat): Likewise.
26263         * tests/test-unsetenv.c (unsetenv): Likewise.
26264         * tests/test-usleep.c (usleep): Likewise.
26265         * tests/test-utimensat.c (utimensat): Likewise.
26266         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
26267         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
26268         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
26269         * tests/test-vprintf-posix.c (vprintf): Likewise.
26270         * tests/test-vsnprintf.c (vsnprintf): Likewise.
26271         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
26272         * tests/test-wcrtomb.c (wcrtomb): Likewise.
26273         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
26274         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
26275         * tests/test-wcwidth.c (wcwidth): Likewise.
26276
26277         build: pull in conditional headers during GNULIB_POSIXCHECK
26278         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
26279         definitions from any conditionally-included headers.
26280         * lib/stdlib.in.h (includes): Likewise.
26281         * lib/unistd.in.h (includes): Likewise.
26282
26283 2009-12-24  Bruno Haible  <bruno@clisp.org>
26284
26285         * tests/test-argv-iter.c: Include header file being tested immediately
26286         after config.h.
26287         * tests/test-base64.c: Likewise.
26288         * tests/test-flock.c: Likewise.
26289         * tests/test-fsync.c: Likewise.
26290         * tests/test-getdate.c: Likewise.
26291         * tests/test-getndelim2.c: Likewise.
26292         * tests/test-isfinite.c: Likewise.
26293         * tests/test-isinf.c: Likewise.
26294         * tests/test-strerror.c: Likewise.
26295         * tests/test-strsignal.c: Likewise.
26296
26297 2009-12-23  Eric Blake  <ebb9@byu.net>
26298
26299         unistd: work around cygwin bug
26300         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
26301         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
26302         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26303
26304 2009-12-23  Bruno Haible  <bruno@clisp.org>
26305
26306         localename: More tests.
26307         * tests/test-localename.c (SIZEOF): New macro.
26308         (categories): New variable.
26309         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
26310         test_locale_name_default): Add test w.r.t. thread locale.
26311         (test_locale_name_thread): New function.
26312         (main): Invoke it.
26313
26314         localename: Make aware of thread locale.
26315         * lib/localename.h (gl_locale_name_thread): New declaration.
26316         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
26317         behaviour with respect to thread locale.
26318         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
26319         <langinfo.h>, glthread/lock.h.
26320         (SIZE_BITS): New macro.
26321         (string_hash): New function.
26322         (struct hash_node): New type.
26323         (HASH_TABLE_SIZE): New macro.
26324         (struniq_hash_table, struniq_lock): New variables.
26325         (struniq): New function.
26326         (gl_locale_name_thread): New function.
26327         (gl_locale_name): Invoke it.
26328         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
26329         * modules/localename (Depends-on): Add lock.
26330         Reported by Mike Gran <spk121@yahoo.com>.
26331
26332 2009-12-23  Eric Blake  <ebb9@byu.net>
26333
26334         va-args: new module
26335         * modules/va-args: New file.
26336         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
26337         * MODULES.html.sh (Core language properties): Mention it.
26338
26339         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
26340         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
26341         named alias for __attribute__((__unused__)).
26342         * lib/chown.c: Update client.
26343         * lib/fchmodat.c: Likewise.
26344         * lib/fts.c: Likewise.
26345         * lib/getdate.y: Likewise.
26346         * lib/getgroups.c: Likewise.
26347         * lib/getopt.c: Likewise.
26348         * lib/getugroups.c: Likewise.
26349         * lib/mkdir.c: Likewise.
26350         * lib/mkfifo.c: Likewise.
26351         * lib/mkfifoat.c: Likewise.
26352         * lib/mknod.c: Likewise.
26353         * lib/mknodat.c: Likewise.
26354         * lib/readlink.c: Likewise.
26355         * lib/se-context.in.h: Likewise.
26356         * lib/se-selinux.in.h: Likewise.
26357         * lib/sockets.c: Likewise.
26358         * lib/symlink.c: Likewise.
26359         * lib/symlinkat.c: Likewise.
26360         * lib/unicodeio.c: Likewise.
26361         * lib/unistr.h: Likewise.
26362         * tests/test-areadlink.c: Likewise.
26363         * tests/test-areadlinkat.c: Likewise.
26364         * tests/test-filenamecat.c: Likewise.
26365         * tests/test-fseeko.c: Likewise.
26366         * tests/test-ftello.c: Likewise.
26367         * tests/test-getdate.c: Likewise.
26368         * tests/test-getgroups.c: Likewise.
26369         * tests/test-gethostname.c: Likewise.
26370         * tests/test-quotearg.c: Likewise.
26371         * tests/test-version-etc.c: Likewise.
26372         * tests/test-xalloc-die.c: Likewise.
26373         * tests/test-xfprintf-posix.c: Likewise.
26374         * tests/test-xprintf-posix.c: Likewise.
26375         * tests/test-xvasprintf.c: Likewise.
26376
26377         tests: avoid compiler warnings
26378         * tests/test-fcntl.c (main): Delete unused parameters.
26379         * tests/test-freopen-safer.c (main): Likewise.
26380         * tests/test-xalloc-die.c (main): Mark unused parameters.
26381         * tests/test-fseeko.c (main): Likewise.
26382         * tests/test-ftello.c (main): Likewise.
26383         * tests/test-nanosleep.c (main): Avoid declaration warning.
26384         * tests/test-sleep.c (main): Likewise.
26385         * tests/test-unsetenv.c (main): Silence warning about string
26386         literal.
26387         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
26388
26389 2009-12-23  Bruno Haible  <bruno@clisp.org>
26390
26391         * tests/test-localename.c (test_locale_name): New function, extracted
26392         from main. Also test mixed situations.
26393         (test_locale_name_posix, test_locale_name_environ,
26394         test_locale_name_default): New functions.
26395         (main): Invoke them all.
26396         * modules/localename-tests (configure.ac): Test for newlocale.
26397
26398 2009-12-23  Bruno Haible  <bruno@clisp.org>
26399
26400         unistd: Ensure getcwd gets declared before being overridden.
26401         * lib/unistd.in.h: Conditionally include <io.h>.
26402
26403 2009-12-22  Bruno Haible  <bruno@clisp.org>
26404
26405         wchar: Diagnose broken combination of glibc and gcc versions and flags.
26406         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
26407         (gl_WCHAR_H): Invoke it.
26408         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
26409         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
26410         Reported by Karl Berry <karl@freefriends.org>.
26411
26412 2009-12-22  Eric Blake  <ebb9@byu.net>
26413
26414         math, unistd: avoid redundant includes
26415         * lib/math.in.h (isnan): No need to re-include <math.h>.
26416         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
26417
26418         getsubopt: work around cygwin bug
26419         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
26420         avoid conflicting with system getsubopt.
26421         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
26422         bug.
26423
26424         getopt: synchronize from glibc
26425         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
26426         parameter order.  Adjust all callers.
26427         (_getopt_internal_r, main): Adjust quoting in error messages.
26428         Drop considerations for outdated POSIX 1003.2 error message.
26429         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
26430         callers.
26431         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
26432
26433         test-getopt: test stderr behavior
26434         * modules/getopt-posix-tests (Depends-on): Add dup2.
26435         * tests/test-getopt.c (ASSERT): Avoid stderr.
26436         (main): Move stderr to a temporary file.
26437         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
26438         Instead, add parameter to inform caller if output occurred.
26439         (test_getopt): Adjust all existing tests to expect silence, and
26440         add new tests of leading ":".
26441         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
26442         glibc shortcomings with leading "-:" or "+:" in optstring.
26443         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26444         Likewise.
26445         * doc/posix-functions/getopt.texi (getopt): Likewise.
26446
26447         test-getopt: enhance test
26448         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
26449         supports optind=0.
26450         * tests/test-getopt.c (OPTIND_MIN): Move...
26451         * tests/test-getopt.h (OPTIND_MIN): ...here.
26452         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
26453         Require that optind=0 works, since modern BSD supports it in
26454         addition to optreset, and since coreutils expects it.
26455         (test_getopt_long_only): New test.
26456         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
26457         glibc shortcomings with 'W;', and enforcement of optind=0.
26458         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26459         Likewise.
26460
26461 2009-12-21  Bruno Haible  <bruno@clisp.org>
26462
26463         localename: Improvements for MacOS X and Cygwin.
26464         * lib/localename.h (gl_locale_name_environ): New declaration.
26465         * lib/localename.c (gl_locale_name_environ): New function, extracted from
26466         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
26467         (gl_locale_name_posix): Invoke it.
26468         (gl_locale_name_default): Add comments. Use Windows native API also on
26469         Cygwin.
26470
26471 2009-12-21  Bruno Haible  <bruno@clisp.org>
26472
26473         Update list of Win32 locale ids.
26474         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
26475         (LANG_SAMI): Renamed from LANG_SAAMI.
26476         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
26477         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
26478         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
26479         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
26480         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
26481         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
26482         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
26483         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
26484         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
26485         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
26486         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
26487         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
26488         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
26489         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
26490         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
26491         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
26492         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
26493         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
26494         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
26495         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
26496         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
26497         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
26498         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
26499         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
26500         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
26501         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
26502         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
26503         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
26504         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
26505         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
26506         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
26507         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
26508         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
26509         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
26510         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
26511         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
26512         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
26513         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
26514         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
26515         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
26516         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
26517         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
26518         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
26519         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
26520         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
26521         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
26522         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
26523         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
26524         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
26525         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
26526         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
26527         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
26528         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
26529         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
26530         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
26531         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
26532         Add more languages and countries for Sami, Sorbian. Add more countries
26533         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
26534         for Pashto. Change country for Syriac, Tswana.
26535
26536 2009-12-21  Eric Blake  <ebb9@byu.net>
26537
26538         test-utimens: avoid spurious failure
26539         * tests/test-chown.h (nap): Factor...
26540         * tests/nap.h: ...into new file.
26541         * tests/test-lchown.h (nap): Avoid duplication.
26542         * tests/test-utimens-common.h (nap): Use shared implementation,
26543         necessary on file systems with 1-second resolution.
26544         * modules/chown-tests (Files): Include new file.
26545         * modules/fdutimensat-tests (Files): Likewise.
26546         * modules/futimens-tests (Files): Likewise.
26547         * modules/lchown-tests (Files): Likewise.
26548         * modules/openat-tests (Files): Likewise.
26549         * modules/utimens-tests (Files): Likewise.
26550         * modules/utimensat-tests (Files): Likewise.
26551
26552 2009-12-19  Eric Blake  <ebb9@byu.net>
26553
26554         futimens, utimensat: work around Linux bug
26555         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
26556         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26557         * lib/utimensat.c (rpl_utimensat): Work around it.
26558         * lib/futimens.c (rpl_futimens): Adjust comment.
26559
26560         utimens: work around Linux ctime bug
26561         * lib/utimens.c (detect_ctime_bug): New helper function.
26562         (update_timespec): Differentiate between workaround needed for
26563         this bug vs. what is needed for systems that lack utimensat.
26564         (fdutimens, lutimens): Work around bug.
26565
26566         utimens: check for ctime update
26567         * tests/test-utimens-common.h (check_ctime): Define.
26568         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
26569         * tests/test-futimens.h (test_futimens): Likewise.
26570         * tests/test-lutimens.h (test_lutimens): Likewise.
26571         * doc/posix-functions/futimens.texi (futimens): Document the bug.
26572         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26573
26574 2009-12-19  Bruno Haible  <bruno@clisp.org>
26575
26576         dprintf-posix: Check against memory leak fixed on 2009-12-15.
26577         * tests/test-dprintf-posix2.sh: New file.
26578         * tests/test-dprintf-posix2.c: New file.
26579         * modules/dprintf-posix-tests (Files): Add them.
26580         (configure.ac): Check for getrlimit and setrlimit.
26581         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
26582
26583 2009-12-19  Bruno Haible  <bruno@clisp.org>
26584
26585         fprintf-posix: Check against memory leak fixed on 2009-12-15.
26586         * tests/test-fprintf-posix3.sh: New file.
26587         * tests/test-fprintf-posix3.c: New file.
26588         * modules/fprintf-posix-tests (Files): Add them.
26589         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
26590
26591 2009-12-19  Eric Blake  <ebb9@byu.net>
26592
26593         dirfd: fix prototype
26594         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
26595         * lib/dirfd.c (dirfd): Likewise.
26596
26597         canonicalize: reduce memory usage
26598         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
26599         allocation to size.
26600         Reported by Solar Designer <solar@openwall.com>.
26601
26602 2009-12-19  Bruno Haible  <bruno@clisp.org>
26603
26604         New module attribute 'Applicability'.
26605         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
26606         * gnulib-tool: New option --extract-applicability.
26607         (func_usage): Document it.
26608         (sed_extract_prog): Recognize it.
26609         (func_get_applicability): New function.
26610         (func_import): Generalize handling of 'link-warning' module.
26611         * modules/link-warning (Applicability): New section.
26612         * modules/arg-nonnull (Applicability): New section.
26613         Repoted by Simon Josefsson <simon@josefsson.org>.
26614
26615 2009-12-19  Bruno Haible  <bruno@clisp.org>
26616
26617         fflush: tweak
26618         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
26619         * lib/fseeko.c (rpl_fseeko): Likewise.
26620
26621 2009-12-16  JosĂ© E. Marchesi  <jemarch@gnu.org>  (tiny change)
26622
26623         * lib/gl_list.h: Fix typo in comment.
26624
26625 2009-12-16  Eric Blake  <ebb9@byu.net>
26626
26627         fcntl: use to simplify other modules
26628         * modules/cloexec (Depends-on): Add fcntl.
26629         * modules/fchdir (Depends-on): Likewise.
26630         * modules/fd-safer-flag (Depends-on): Likewise.
26631         * modules/unistd-safer (Depends-on): Likewise.
26632         * modules/dup3 (configure.ac): Set module indicator.
26633         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
26634         missing.
26635         * lib/fchdir.c (_gl_register_dup): Fix comment.
26636         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
26637         * lib/dup-safer.c (dup_safer): Likewise.
26638         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
26639         * lib/dup3.c (dup3): Likewise.
26640         * tests/test-fchdir.c (main): Enhance test.
26641         Fixes a dup_cloexec bug reported by OndÅ™ej VaÅ¡Ă­k.
26642
26643         fcntl: port portions of fcntl to mingw
26644         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
26645         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
26646         replacement for mingw.
26647         * modules/fcntl (Description): Update.
26648         (Depends-on): Add dup2.
26649         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
26650         * modules/fcntl-h (Makefile.am): Substitute it.
26651         * lib/fcntl.in.h (fcntl): Update declaration.
26652         (F_DUPFD, F_GETFD): New macros, when needed.
26653         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26654         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
26655         * tests/test-fcntl.c (check_flags, main): Enhance test for items
26656         we now guarantee.
26657
26658         fcntl: work around cygwin bug in F_DUPFD
26659         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
26660         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
26661         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
26662         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
26663         * doc/posix-functions/fcntl.texi (fcntl): Document it.
26664
26665         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
26666         * modules/fcntl (Files): List new files.
26667         (configure.ac): Run a test.
26668         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
26669         * lib/fcntl.c (rpl_fcntl): Likewise.
26670         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
26671         (gl_FCNTL_H): Always replace fcntl.h.
26672         * modules/fcntl-h (Makefile.am): Substitute witnesses.
26673         * lib/fcntl.in.h (fcntl): Declare replacement.
26674         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
26675         needed, plus a witness.
26676         * doc/posix-functions/fcntl.texi (fcntl): Document this.
26677         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
26678         * tests/test-fcntl.c: New file.
26679         * modules/fcntl-tests: Likewise.
26680
26681         binary-io: avoid potential compilation warning
26682         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
26683         directives.
26684
26685         fflush: avoid compilation error on NetBSD
26686         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
26687         between off_t and fpos_t, since the latter is sometimes a struct.
26688         * lib/fseeko.c (rpl_fseeko): Likewise.
26689         Reported by Alexander Nasonov <alnsn@yandex.ru>.
26690
26691 2009-12-15  Eric Blake  <ebb9@byu.net>
26692
26693         fcntl-h, stdio, sys_ioctl: fix declarations
26694         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
26695         function must not take arguments.
26696         * lib/sys_ioctl.in.h (ioctl): Likewise.
26697         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
26698         (open): Add a link warning.
26699
26700 2009-12-15  Jim Meyering  <meyering@redhat.com>
26701
26702         areadlink, areadlink-with-size: relax license to LGPLv2+
26703         * modules/areadlink (License): Relax to LGPLv2+.
26704         * modules/areadlink-with-size (License): Likewise.
26705
26706 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
26707             Bruno Haible  <bruno@clisp.org>
26708
26709         *printf: Fix memory leak.
26710         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
26711         * lib/vfprintf.c (vfprintf): Likewise.
26712         * lib/dprintf.c (dprintf): Likewise.
26713         * lib/vdprintf.c (vdprintf): Likewise.
26714
26715 2009-12-14  Eric Blake  <ebb9@byu.net>
26716
26717         accept4: adjust module dependencies
26718         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
26719
26720         utimens: one more try at avoiding compiler warning
26721         * lib/utimens.c (lutimens): Lower scope of result.
26722
26723 2009-12-13  Bruno Haible  <bruno@clisp.org>
26724
26725         Move the malloc checking from module 'list' to new module 'xlist'.
26726         * modules/xlist: New file.
26727         * lib/gl_xlist.h: New file.
26728         * lib/gl_xlist.c: New file.
26729         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
26730         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
26731         gl_list_add_last, gl_list_add_before, gl_list_add_after,
26732         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
26733         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
26734         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
26735         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
26736         gl_sortedlist_nx_add): New declarations.
26737         (struct gl_list_implementation): Rename and change methods accordingly.
26738         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
26739         (gl_list_nx_create): Renamed from gl_list_create.
26740         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
26741         (gl_list_nx_set_at): Renamed from gl_list_set_at.
26742         (gl_list_nx_add_first): Renamed from gl_list_add_first.
26743         (gl_list_nx_add_last): Renamed from gl_list_add_last.
26744         (gl_list_nx_add_before): Renamed from gl_list_add_before.
26745         (gl_list_nx_add_after): Renamed from gl_list_add_after.
26746         (gl_list_nx_add_at): Renamed from gl_list_add_at.
26747         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
26748         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
26749         gl_list_create_empty.
26750         (gl_list_nx_create): Renamed from gl_list_create.
26751         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
26752         (gl_list_nx_set_at): Renamed from gl_list_set_at.
26753         (gl_list_nx_add_first): Renamed from gl_list_add_first.
26754         (gl_list_nx_add_last): Renamed from gl_list_add_last.
26755         (gl_list_nx_add_before): Renamed from gl_list_add_before.
26756         (gl_list_nx_add_after): Renamed from gl_list_add_after.
26757         (gl_list_nx_add_at): Renamed from gl_list_add_at.
26758         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
26759         * lib/gl_array_list.c: Don't include xalloc.h.
26760         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
26761         NULL upon out-of-memory.
26762         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
26763         out-of-memory.
26764         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
26765         Change return type to 'int'.
26766         (gl_array_nx_set_at): Renamed from gl_array_set_at.
26767         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
26768         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
26769         upon out-of-memory.
26770         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
26771         upon out-of-memory.
26772         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
26773         upon out-of-memory.
26774         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
26775         upon out-of-memory.
26776         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
26777         out-of-memory.
26778         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
26779         Update.
26780         (gl_array_list_implementation): Update.
26781         * lib/gl_carray_list.c: Don't include xalloc.h.
26782         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
26783         Return NULL upon out-of-memory.
26784         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
26785         out-of-memory.
26786         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
26787         Change return type to 'int'.
26788         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
26789         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
26790         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
26791         upon out-of-memory.
26792         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
26793         upon out-of-memory.
26794         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
26795         out-of-memory.
26796         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
26797         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
26798         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
26799         Update.
26800         (gl_carray_list_implementation): Update.
26801         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
26802         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
26803         gl_linked_create_empty. Return NULL upon out-of-memory.
26804         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
26805         out-of-memory.
26806         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
26807         Change return type to 'int'. Return -1 upon out-of-memory.
26808         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
26809         out-of-memory.
26810         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
26811         upon out-of-memory.
26812         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
26813         upon out-of-memory.
26814         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
26815         NULL upon out-of-memory.
26816         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
26817         upon out-of-memory.
26818         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
26819         out-of-memory.
26820         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
26821         Update.
26822         * lib/gl_linked_list.c: Don't include xalloc.h.
26823         (gl_linked_list_implementation): Update.
26824         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
26825         (add_to_bucket): Change return type to 'int'.
26826         (gl_linkedhash_list_implementation): Update.
26827         * lib/gl_anytree_list1.h (free_subtree): New function.
26828         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
26829         gl_tree_create_empty. Return NULL upon out-of-memory.
26830         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
26831         Change return type to 'int'. Return -1 upon out-of-memory.
26832         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
26833         out-of-memory.
26834         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
26835         (gl_tree_remove_node): New function, moved here from
26836         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
26837         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
26838         Update.
26839         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
26840         malloc, not xmalloc. Return NULL upon out-of-memory.
26841         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
26842         out-of-memory.
26843         (gl_tree_remove_node_from_tree): New function, extracted from
26844         gl_tree_remove_node.
26845         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
26846         upon out-of-memory.
26847         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
26848         out-of-memory.
26849         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
26850         upon out-of-memory.
26851         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
26852         upon out-of-memory.
26853         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
26854         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
26855         not xmalloc. Return NULL upon out-of-memory.
26856         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
26857         out-of-memory.
26858         (gl_tree_remove_node_from_tree): New function, extracted from
26859         gl_tree_remove_node.
26860         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
26861         upon out-of-memory.
26862         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
26863         out-of-memory.
26864         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
26865         upon out-of-memory.
26866         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
26867         upon out-of-memory.
26868         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
26869         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
26870         gl_anytree_list1.h before gl_anyavltree_list2.h.
26871         (gl_avltree_list_implementation): Update.
26872         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
26873         gl_anytree_list1.h before gl_anyavltree_list2.h.
26874         (gl_rbtree_list_implementation): Update.
26875         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
26876         Change return type to 'int'. Return -1 upon out-of-memory. Use
26877         __builtin_expect.
26878         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
26879         (gl_avltreehash_list_implementation): Update.
26880         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
26881         (gl_rbtreehash_list_implementation): Update.
26882         * modules/array-list (Depends-on): Remove xalloc.
26883         * modules/carray-list (Depends-on): Likewise.
26884         * modules/linked-list (Depends-on): Likewise.
26885         * modules/linkedhash-list (Depends-on): Likewise.
26886         * modules/avltree-list (Depends-on): Likewise.
26887         * modules/rbtree-list (Depends-on): Likewise.
26888         * modules/avltreehash-list (Depends-on): Likewise.
26889         * modules/rbtreehash-list (Depends-on): Likewise.
26890
26891         * modules/xsublist: New file.
26892         * lib/gl_xsublist.h: New file.
26893         * lib/gl_xsublist.c: New file.
26894         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
26895         (gl_sublist_nx_create): New declaration.
26896         * lib/gl_sublist.c: Don't include xalloc.h.
26897         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
26898         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
26899         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
26900         Change return type to 'int'. Return -1 upon out-of-memory.
26901         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
26902         upon out-of-memory.
26903         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
26904         NULL upon out-of-memory.
26905         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
26906         upon out-of-memory.
26907         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
26908         NULL upon out-of-memory.
26909         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
26910         NULL upon out-of-memory.
26911         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
26912         upon out-of-memory.
26913         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
26914         (gl_sublist_list_implementation): Update.
26915         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
26916         upon out-of-memory.
26917         * modules/sublist (Depends-on): Remove xalloc.
26918
26919         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
26920         * tests/test-carray_list.c: Likewise.
26921         * tests/test-linked_list.c: Likewise.
26922         * tests/test-linkedhash_list.c: Likewise.
26923         * tests/test-avltree_list.c: Likewise.
26924         * tests/test-rbtree_list.c: Likewise.
26925         * tests/test-avltreehash_list.c: Likewise.
26926         * tests/test-rbtreehash_list.c: Likewise.
26927         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
26928         * modules/carray-list-tests (Makefile.am): Likewise.
26929         * modules/linked-list-tests (Makefile.am): Likewise.
26930         * modules/linkedhash-list-tests (Makefile.am): Likewise.
26931         * modules/avltree-list-tests (Makefile.am): Likewise.
26932         * modules/rbtree-list-tests (Makefile.am): Likewise.
26933         * modules/avltreehash-list-tests (Makefile.am): Likewise.
26934         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
26935
26936         * NEWS: Mention the changes.
26937
26938         * lib/clean-temp.c: Include gl_xlist.h.
26939         * modules/clean-temp (Depends-on): Add xlist.
26940
26941         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
26942         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
26943
26944         * tests/test-array_oset.c: Include gl_xlist.h.
26945         * modules/array-oset-tests (Depends-on): Add xlist.
26946
26947         Reported by JosĂ© E. Marchesi <jemarch@gnu.org>.
26948
26949 2009-12-13  Bruno Haible  <bruno@clisp.org>
26950
26951         Move the malloc checking from module 'oset' to new module 'xoset'.
26952         * modules/xoset: New file.
26953         * lib/gl_xoset.h: New file.
26954         * lib/gl_xoset.c: New file.
26955         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
26956         declarations.
26957         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
26958         (struct gl_oset_implementation): Rename and change methods accordingly.
26959         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
26960         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
26961         'int'. Mark as __warn_unused_result__.
26962         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
26963         gl_oset_create_empty.
26964         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
26965         'int'.
26966         * lib/gl_array_oset.c: Don't include xalloc.h.
26967         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
26968         malloc, not xmalloc.
26969         (grow): Change return type to 'int'. Don't call xalloc_die.
26970         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
26971         to 'int'.
26972         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
26973         'int'.
26974         (gl_array_oset_implementation): Update.
26975         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
26976         gl_tree_create_empty.
26977         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
26978         'int'.
26979         * lib/gl_avltree_oset.c: Don't include xalloc.h.
26980         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
26981         xmalloc.
26982         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
26983         not xmalloc.
26984         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
26985         xmalloc.
26986         (gl_avltree_oset_implementation): Update.
26987         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
26988         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
26989         xmalloc.
26990         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
26991         not xmalloc.
26992         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
26993         xmalloc.
26994         (gl_rbtree_oset_implementation): Update.
26995         * modules/array-oset (Depends-on): Remove xalloc.
26996         * modules/avltree-oset (Depends-on): Likewise.
26997         * modules/rbtree-oset (Depends-on): Likewise.
26998         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
26999         * tests/test-avltree_oset.c: Likewise.
27000         * tests/test-rbtree_oset.c: Likewise.
27001         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
27002         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
27003         * modules/rbtree-oset-tests (Makefile.am): Likewise.
27004         * NEWS: Mention the change.
27005
27006 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
27007
27008         maint.mk: allow a project to override release-prep commands
27009         * top/maint.mk (alpha, beta, stable): Move release-preparatory
27010         commands into a new rule.
27011         (release-prep): New rule.
27012         (release-prep-hook): New overridable variable.
27013
27014 2009-12-13  Bruno Haible  <bruno@clisp.org>
27015
27016         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
27017
27018 2009-12-13  Jim Meyering  <meyering@redhat.com>
27019
27020         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
27021         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
27022
27023 2009-12-12  Bruno Haible  <bruno@clisp.org>
27024
27025         duplocale: Tweak.
27026         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
27027
27028 2009-12-12  Karl Berry  <karl@gnu.org>
27029
27030         * config/srclist.txt (strtoll.c): tab changes, no more sync.
27031
27032 2009-12-12  Bruno Haible  <bruno@clisp.org>
27033
27034         * m4/po.m4: Undo incorrect untabification.
27035
27036 2009-12-12  Bruno Haible  <bruno@clisp.org>
27037
27038         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
27039         * modules/c-strtod (Depends-on): Add locale.
27040         * modules/c-strtold (Depends-on): Likewise.
27041
27042 2009-12-12  Bruno Haible  <bruno@clisp.org>
27043
27044         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
27045
27046 2009-12-11  Eric Blake  <ebb9@byu.net>
27047
27048         setenv: relax requirement in light of POSIX ruling
27049         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
27050         not NULL.
27051         * tests/test-setenv.c (main): Relax test.
27052         * tests/test-unsetenv.c (main): Likewise.
27053         * doc/posix-functions/setenv.texi (setenv): Document this.
27054         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
27055
27056 2009-12-11  Bruno Haible  <bruno@clisp.org>
27057
27058         New module 'fd-safer-flag'.
27059         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
27060         * lib/dup-safer.c (dup_safer_flag): Remove function.
27061         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
27062         * lib/fd-safer.c (fd_safer_flag): Remove function.
27063         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
27064         * modules/cloexec (configure.ac): Drop indicator macro.
27065         * modules/fd-safer-flag: New file.
27066         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
27067         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
27068         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
27069
27070 2009-12-11  Bruno Haible  <bruno@clisp.org>
27071
27072         Tests for module 'nl_langinfo'.
27073         * modules/nl_langinfo-tests: New file.
27074         * tests/test-nl_langinfo.sh: New file.
27075         * tests/test-nl_langinfo.c: New file.
27076
27077         New module 'nl_langinfo'.
27078         * lib/nl_langinfo.c: New file.
27079         * m4/nl_langinfo.m4: New file.
27080         * modules/nl_langinfo: New file.
27081         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
27082
27083 2009-12-11  Bruno Haible  <bruno@clisp.org>
27084
27085         Tests for module 'langinfo'.
27086         * modules/langinfo-tests: New file.
27087         * tests/test-langinfo.c: New file.
27088
27089         New module 'langinfo'.
27090         * lib/langinfo.in.h: New file.
27091         * m4/langinfo_h.m4: New file.
27092         * modules/langinfo: New file.
27093         * doc/posix-headers/langinfo.texi: Mention the new module.
27094
27095 2009-12-11  Bruno Haible  <bruno@clisp.org>
27096
27097         * lib/config.charset: Untabify.
27098
27099 2009-12-11  Bruno Haible  <bruno@clisp.org>
27100
27101         * modules/unistd-safer (configure.ac): Drop indicator macro.
27102
27103 2009-12-11  Bruno Haible  <bruno@clisp.org>
27104
27105         Move pipe2-safer code to its own file.
27106         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
27107         * lib/pipe-safer.c (pipe2_safer): Remove function.
27108         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
27109         (Makefile.am): Add it to lib_SOURCES.
27110
27111 2009-12-10  Bruno Haible  <bruno@clisp.org>
27112
27113         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
27114
27115 2009-12-10  Bruno Haible  <bruno@clisp.org>
27116
27117         Declare which arguments expect non-NULL values, for GCC and clang.
27118         * build-aux/arg-nonnull.h: New file.
27119         * modules/arg-nonnull: New file.
27120         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
27121         (inet_ntop, inet_pton): Use it.
27122         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
27123         (closedir, dirfd, opendir, scandir, alphasort): Use it.
27124         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
27125         (open, openat): Use it.
27126         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
27127         (fnmatch): Use it.
27128         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
27129         (getopt, getopt_long, getopt_long_only): Use it.
27130         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
27131         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
27132         Use it.
27133         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
27134         (iconv_open): Use it.
27135         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
27136         (strtoimax, strtoumax): Use it.
27137         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
27138         (duplocale): Use it.
27139         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
27140         (frexp, frexpl): Use it.
27141         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
27142         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
27143         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
27144         (tsearch, tfind, tdelete, twalk): Use it.
27145         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
27146         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
27147         sigpending): Use it.
27148         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
27149         (posix_spawn, posix_spawnp, posix_spawnattr_init,
27150         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
27151         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
27152         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
27153         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
27154         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
27155         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
27156         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
27157         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
27158         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
27159         Use it.
27160         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
27161         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
27162         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
27163         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
27164         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
27165         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
27166         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
27167         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
27168         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
27169         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
27170         strtoull, unsetenv): Use it.
27171         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
27172         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
27173         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
27174         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
27175         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
27176         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
27177         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
27178         (strcasecmp, strncasecmp): Use it.
27179         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
27180         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
27181         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
27182         rpl_setsockopt): Use it.
27183         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
27184         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
27185         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
27186         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
27187         (gettimeofday): Use it.
27188         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
27189         (times): Use it.
27190         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
27191         (uname): Use it.
27192         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
27193         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
27194         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
27195         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
27196         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
27197         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
27198         unlinkat, write): Use it.
27199         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
27200         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
27201         * lib/argv-iter.h: Include arg-nonnull.h.
27202         (_ATTRIBUTE_NONNULL_): Remove macro.
27203         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
27204         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
27205         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
27206         optimization.
27207         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
27208         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
27209         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
27210         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
27211         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
27212         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
27213         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
27214         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
27215         * modules/arpa_inet (Depends-on): Add arg-nonnull.
27216         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
27217         * modules/dirent (Depends-on): Add arg-nonnull.
27218         (Makefile.am): Insert arg-nonnull.h into dirent.h.
27219         * modules/fcntl-h (Depends-on): Add arg-nonnull.
27220         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
27221         * modules/fnmatch (Depends-on): Add arg-nonnull.
27222         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
27223         * modules/getopt-posix (Depends-on): Add arg-nonnull.
27224         (Makefile.am): Insert arg-nonnull.h into getopt.h.
27225         * modules/glob (Depends-on): Add arg-nonnull.
27226         (Makefile.am): Insert arg-nonnull.h into glob.h.
27227         * modules/iconv_open (Depends-on): Add arg-nonnull.
27228         (Makefile.am): Insert arg-nonnull.h into iconv.h.
27229         * modules/inttypes (Depends-on): Add arg-nonnull.
27230         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
27231         * modules/locale (Depends-on): Add arg-nonnull.
27232         (Makefile.am): Insert arg-nonnull.h into locale.h.
27233         * modules/math (Depends-on): Add arg-nonnull.
27234         (Makefile.am): Insert arg-nonnull.h into math.h.
27235         * modules/netdb (Depends-on): Add arg-nonnull.
27236         (Makefile.am): Insert arg-nonnull.h into netdb.h.
27237         * modules/search (Depends-on): Add arg-nonnull.
27238         (Makefile.am): Insert arg-nonnull.h into search.h.
27239         * modules/signal (Depends-on): Add arg-nonnull.
27240         (Makefile.am): Insert arg-nonnull.h into signal.h.
27241         * modules/spawn (Depends-on): Add arg-nonnull.
27242         (Makefile.am): Insert arg-nonnull.h into spawn.h.
27243         * modules/stdio (Depends-on): Add arg-nonnull.
27244         (Makefile.am): Insert arg-nonnull.h into stdio.h.
27245         * modules/stdlib (Depends-on): Add arg-nonnull.
27246         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
27247         * modules/string (Depends-on): Add arg-nonnull.
27248         (Makefile.am): Insert arg-nonnull.h into string.h.
27249         * modules/strings (Depends-on): Add arg-nonnull.
27250         (Makefile.am): Insert arg-nonnull.h into strings.h.
27251         * modules/sys_socket (Depends-on): Add arg-nonnull.
27252         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
27253         * modules/sys_stat (Depends-on): Add arg-nonnull.
27254         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
27255         * modules/sys_time (Depends-on): Add arg-nonnull.
27256         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
27257         * modules/sys_times (Depends-on): Add arg-nonnull.
27258         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
27259         * modules/sys_utsname (Depends-on): Add arg-nonnull.
27260         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
27261         * modules/time (Depends-on): Add arg-nonnull.
27262         (Makefile.am): Insert arg-nonnull.h into time.h.
27263         * modules/unistd (Depends-on): Add arg-nonnull.
27264         (Makefile.am): Insert arg-nonnull.h into unistd.h.
27265         * modules/wchar (Depends-on): Add arg-nonnull.
27266         (Makefile.am): Insert arg-nonnull.h into wchar.h.
27267         * modules/argv-iter (Depends-on): Add arg-nonnull.
27268         * tests/test-canonicalize.c (null_ptr): New function.
27269         (main): Use it.
27270         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
27271         (main): Use it.
27272         * tests/test-memmem.c (null_ptr): New function.
27273         (main): Use it.
27274         Reported by Jim Meyering.
27275
27276 2009-12-10  Bruno Haible  <bruno@clisp.org>
27277
27278         Use spaces for indentation, not tabs.
27279         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
27280         * m4/*.m4: Untabify.
27281         * build-aux/*.h: Untabify.
27282         * tests/**/*.[hc]: Untabify.
27283         * README: New section "Indent with spaces, not TABs", based on
27284         coreutils/HACKING and comments by PĂ¡draig Brady and Paolo Bonzini.
27285         * NEWS: Mention the change.
27286
27287 2009-12-10  Bruno Haible  <bruno@clisp.org>
27288
27289         pty test: Fix link error.
27290         * modules/pty-tests (Makefile.am): Add the default LDADD value to
27291         test_pty_LDADD.
27292
27293 2009-12-07  Simon Josefsson  <simon@josefsson.org>
27294
27295         * modules/pty: New file.
27296         * modules/pty-tests: New file.
27297         * m4/pty.m4: New file.
27298         * tests/test-pty.c: New file.
27299         * doc/glibc-headers/pty.texi: Modified.
27300         * doc/glibc-functions/forkpty.texi: Modified.
27301         * doc/glibc-functions/openpty.texi: Modified.
27302
27303 2009-12-10  Bruno Haible  <bruno@clisp.org>
27304
27305         Avoid syntax error in C++ mode.
27306         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
27307
27308 2009-12-10  Bruno Haible  <bruno@clisp.org>
27309
27310         Use sed with option -e.
27311         * gnulib-tool (func_version, func_emit_copyright_notice,
27312         func_emit_initmacro_end, func_import, func_create_testdir): Pass
27313         option -e to sed.
27314         * modules/link-warning (Makefile.am): Likewise.
27315
27316 2009-12-10  Jim Meyering  <meyering@redhat.com>
27317
27318         mgetgroups: do not write bytes beyond end of malloc'd buffer
27319         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
27320         username, we call getgroups with a one-element-shorter buffer,
27321         but still told it the length was original, max_n_groups.
27322
27323 2009-12-09  Eric Blake  <ebb9@byu.net>
27324
27325         cloexec: relax license
27326         * modules/cloexec (Maintainer): Add myself.
27327         (License): Use LGPL, not GPL.
27328
27329         link-warning: optimize generation
27330         * modules/link-warning (Makefile.am): Reduce process usage.
27331
27332 2009-12-09  Bruno Haible  <bruno@clisp.org>
27333
27334         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
27335         workaround was added on 2009-11-17.
27336
27337 2009-12-09  Jim Meyering  <meyering@redhat.com>
27338             Bruno Haible  <bruno@clisp.org>
27339
27340         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
27341         * modules/link-warning (Makefile.am): Make the comment-removing sed
27342         command more robust in the face of bootstrap-prepended comment lines.
27343
27344 2009-12-09  Bruno Haible  <bruno@clisp.org>
27345
27346         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
27347         most one group.
27348
27349 2009-12-09  Simon Josefsson <simon@josefsson.org>
27350             Bruno Haible  <bruno@clisp.org>
27351
27352         * build-aux/link-warning.h: Add copyright notice.
27353         * modules/link-warning (Makefile.am): Generate link-warning.h from
27354         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
27355         * NEWS: Mention change in link-warning module.
27356         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
27357         * modules/dirent (Makefile.am): Add dependency to dirent.h.
27358         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
27359         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
27360         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
27361         * modules/math (Makefile.am): Add dependency to math.h.
27362         * modules/search (Makefile.am): Add dependency to search.h.
27363         * modules/signal (Makefile.am): Add dependency to signal.h.
27364         * modules/spawn (Makefile.am): Add dependency to spawn.h.
27365         * modules/stdio (Makefile.am): Add dependency to stdio.h.
27366         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
27367         * modules/string (Makefile.am): Add dependency to string.h.
27368         * modules/strings (Makefile.am): Add dependency to strings.h.
27369         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
27370         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
27371         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
27372         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
27373         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
27374         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
27375         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
27376         * modules/unistd (Makefile.am): Add dependency to unistd.h.
27377         * modules/wchar (Makefile.am): Add dependency to wchar.h.
27378
27379 2009-12-09  Bruno Haible  <bruno@clisp.org>
27380
27381         fchdir: Optimize away rpl_fstat when possible.
27382         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
27383         REPLACE_OPEN_DIRECTORY.
27384         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
27385
27386 2009-12-09  Bruno Haible  <bruno@clisp.org>
27387
27388         * lib/fchdir.c: Update comment.
27389
27390 2009-12-09  Bruno Haible  <bruno@clisp.org>
27391
27392         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
27393
27394 2009-12-08  Eric Blake  <ebb9@byu.net>
27395
27396         fchdir: avoid memory leak on re-registration.
27397         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
27398
27399 2009-12-08  Jim Meyering  <meyering@redhat.com>
27400
27401         init.sh: avoid Solaris 10 /bin/sh portability problem
27402         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
27403         sourced script:
27404           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
27405           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
27406           bar
27407         tests/init.sh relied on that, accepting a --set-path=DIR argument,
27408         and two tests used that idiom.
27409         * tests/init.sh: Update suggested usage comments.
27410         (path_prepend_): New function, to be used in place
27411         of the --src-path=DIR option.
27412         (setup_): Move PATH-prepending code into path_prepend_.
27413         * tests/test-pread.sh: Adapt to new usage.
27414         * tests/test-xalloc-die.sh: Likewise.
27415
27416 2009-12-08  Simon Josefsson  <simon@josefsson.org>
27417
27418         * doc/gnulib.texi (Glibc pty.h): Add.
27419         * doc/glibc-functions/forkpty.texi: Add.
27420         * doc/glibc-functions/openpty.texi: Add.
27421         Suggested by Bruno Haible.
27422
27423 2009-12-08  Eric Blake  <ebb9@byu.net>
27424
27425         fchdir: fix logic bugs
27426         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
27427         * tests/test-fchdir.c (main): Enhance test.
27428         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
27429         is in use.
27430
27431         dup2: fix logic bugs
27432         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
27433         REPLACE_DUP2 to decide when rpl_dup2 is needed.
27434         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
27435         exists.
27436         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
27437
27438 2009-12-07  Eric Blake  <ebb9@byu.net>
27439
27440         unlink: fix m4 detection
27441         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
27442
27443         unistd-safer: add unit test
27444         * modules/unistd-safer-tests: New file.
27445         * tests/test-dup-safer.c: Likewise.
27446         * tests/test-cloexec.c (setmode): Avoid compiler warning.
27447         * tests/test-dup2.c (setmode): Likewise.
27448         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
27449
27450         cloexec: preserve text vs. binary across dup_cloexec
27451         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
27452         mode.
27453         * modules/dup2-tests (Depends-on): Add binary-io.
27454         * modules/cloexec-tests (Depends-on): Likewise.
27455         * tests/test-dup2.c (setmode, is_mode): New helpers.
27456         (main): Add tests that translation mode is preserved.
27457         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
27458         Reported by Bruno Haible.
27459
27460         mgetgroups: reduce duplicate listings
27461         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
27462         resulting array.
27463         * tests/test-chown.h (test_chown): Simplify client.
27464         * tests/test-lchown.h (test_lchown): Likewise.
27465
27466 2009-12-06  Bruno Haible  <bruno@clisp.org>
27467
27468         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
27469         value.
27470
27471 2009-12-06  Bruno Haible  <bruno@clisp.org>
27472
27473         * lib/progname.c: Include stdio.h, stdlib.h.
27474         (set_program_name): Reject a NULL argument.
27475
27476 2009-12-05  Eric Blake  <ebb9@byu.net>
27477
27478         pipe2-safer: new module
27479         * modules/pipe2-safer: New file.
27480         * lib/unistd-safer.h (pipe2_safer): New prototype.
27481         * lib/unistd--.h (pipe2): New wrapper.
27482         * lib/pipe-safer.c (pipe2_safer): New function.
27483         * modules/pipe (Depends-on): Add pipe2-safer.
27484         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
27485
27486         stdlib-safer: preserve cloexec flag for mkostemp[s]
27487         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
27488         fd_safer_flag.
27489
27490         unistd-safer: allow preservation of cloexec status via flag
27491         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
27492         prototypes.
27493         * lib/dup-safer.c (dup_safer_flag): New function.
27494         * lib/fd-safer.c (fd_safer_flag): Likewise.
27495         * modules/cloexec (configure.ac): Set witness.
27496
27497         test-dup2: enhance test
27498         * modules/dup2-tests (Depends-on): Add cloexec.
27499         * tests/test-dup2.c (main): Enhance test.
27500
27501         cloexec: add dup_cloexec
27502         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
27503         header and comments.
27504         * lib/cloexec.c (set_cloexec_flag): Add comments.
27505         (dup_cloexec): New function, with mingw implementation borrowed
27506         from...
27507         * lib/w32spawn.h (dup_noinherit): ...here.
27508         * modules/execute (Depends-on): Add cloexec.
27509         * modules/pipe (Depends-on): Likewise.
27510         * modules/cloexec (Depends-on): Add dup2.
27511         * modules/cloexec-tests (Files): New file.
27512         * tests/test-cloexec.c: Likewise.
27513
27514         test-xalloc-die: fix test for mingw
27515         * modules/xalloc-die-tests (Files): Add tests/init.sh.
27516         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
27517         directory and .exe suffix off argv[0] output.
27518
27519         test-fseeko: fix test for mingw
27520         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
27521         than undefining fseek, so test will pass on mingw.
27522
27523 2009-12-05  Bruno Haible  <bruno@clisp.org>
27524
27525         * lib/progname.h (set_program_name): Clarify specification.
27526         * lib/progname.c (set_program_name): Likewise.
27527         Reported by Jim Meyering.
27528
27529 2009-12-05  Jim Meyering  <meyering@redhat.com>
27530
27531         maint.mk: backslash-escape parens in default regexp
27532         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
27533         backslash-escape the literal parentheses.
27534
27535         maint.mk: news-date-check: use grep -E
27536         * top/maint.mk (today): Define a Make variable, not a...
27537         (news-date-check): ...shell variable.
27538         (news-date-regexp): Use the Make variable.
27539         Use grep's -E option.  Change the failing diagnostic to mention
27540         the variable, $(news-date-regexp).
27541
27542 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
27543
27544         maintainer-makefile: allow customization of NEWS entry format
27545         * top/maint.mk (news-date-regexp): New overridable variable.
27546         (news-date-check): Use it.
27547
27548 2009-12-04  Eric Blake  <ebb9@byu.net>
27549
27550         mgetgroups: add xgetgroups, and avoid ENOSYS failures
27551         * lib/mgetgroups.h (xgetgroups): New prototype.
27552         * lib/mgetgroups.c (xgetgroups): New wrapper.
27553         (mgetgroups): Handle ENOSYS.
27554         * modules/mgetgroups (Depends-on): Add realloc.
27555         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
27556
27557         mgetgroups: avoid argument promotion issues with -1
27558         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
27559         for invalid gid_t.
27560         * tests/test-chown.h (getegid, test_chown): Likewise.
27561         * tests/test-lchown.h (getegid, test_lchown): Likewise.
27562
27563 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
27564
27565         exclude: Fix header file problems.
27566         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
27567
27568 2009-12-01  Jim Meyering  <meyering@redhat.com>
27569
27570         fts: fts_open: do not let an empty string cause immediate failure
27571         This is required in support of GNU rm, for which the command
27572         "rm A '' B" must process and remove both A and B, in spite of
27573         the empty string argument.
27574         * lib/fts.c (fts_open): Do not let the presence of an empty string
27575         cause fts_open to fail immediately.  Most fts-using tools must be
27576         able to process all arguments, in order, and can be expected to
27577         diagnose such arguments themselves.
27578
27579 2009-11-30  Eric Blake  <ebb9@byu.net>
27580
27581         utimens: fix compilation error
27582         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
27583         Declare variable at right scope.
27584
27585 2009-11-29  Jim Meyering  <meyering@redhat.com>
27586
27587         bootstrap: handle perl-5.11's changed --version output
27588         * build-aux/bootstrap (get_version): Handle perl separately,
27589         since perl-5.11's --version output is different.
27590
27591 2009-11-28  Jim Meyering  <meyering@redhat.com>
27592
27593         userspec: depend on the inttostr module, too
27594         * modules/userspec (Depends-on): Add inttostr.
27595
27596         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
27597         * lib/userspec.c (parse_with_separator): Do not accept a user ID
27598         number of MAXUID when it evaluates to (uid_t) -1.
27599         Likewise for group ID.  Reported by Matt McCutchen in
27600         <http://savannah.gnu.org/bugs/?28113>
27601
27602         userspec: reformat to use spaces, not TABs
27603         * lib/userspec.c: Expand TABs to spaces.
27604         Add Emacs' "indent-tabs-mode: nil" hint.
27605
27606 2009-11-27  Eric Blake  <ebb9@byu.net>
27607
27608         getopt-gnu: flush out another BSD bug
27609         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
27610         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
27611         flush out BSD bug.
27612         * tests/test-getopt.h (test_getopt): End lists with NULL.
27613         * tests/test-getopt_long.h (test_getopt_long): Likewise.
27614         (test_getopt_long_posix): Enhance test.
27615         * modules/getopt-posix-tests (Depends-on): Add stdbool.
27616         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
27617         getopt-gnu.
27618         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27619         Likewise.
27620
27621 2009-11-27  Simon Josefsson  <simon@josefsson.org>
27622
27623         * modules/idpriv-droptemp-tests (Notice): Fix text.
27624
27625 2009-11-27  Jim Meyering  <meyering@redhat.com>
27626
27627         test-xalloc-die: avoid spurious failure due to libtool argv difference
27628         In a libtool-enabled project, this test would fail due to a difference
27629         in the emitted program name, e.g.,
27630         -test-xalloc-die: memory exhausted
27631         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
27632         Use program to avoid that.
27633         * modules/xalloc-die-tests (Depends-on): Add progname.
27634         * tests/test-xalloc-die.c: Include progname.h".
27635         (program_name): Remove decl.
27636         (main): Call set_program_name.
27637         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
27638
27639 2009-11-26  Richard Jones  <rjones@redhat.com>
27640
27641         w32sock: leave win32 error in place.
27642         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
27643
27644 2009-11-26  Eric Blake  <ebb9@byu.net>
27645
27646         init.sh: suggest to use skip_ and fail_ functions in comments
27647         * tests/init.sh: Add a sentence.
27648
27649 2009-11-25  Bruno Haible  <bruno@clisp.org>
27650
27651         init.sh: add documentation in comments
27652         * tests/init.sh: Add some developer and user documentation.
27653
27654 2009-11-26  Jim Meyering  <meyering@redhat.com>
27655
27656         init.sh: accommodate even those who specify bogus srcdir manually
27657         * tests/init.sh: Normally, srcdir is guaranteed by automake and
27658         configure-time tests to be sanitized, so that there is no need to
27659         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
27660         (with no double quotes) suffices.  However, since tests may be
27661         invoked manually, and since you may explicitly set srcdir to the
27662         name of a directory containing spaces, do quote its uses here.
27663         * tests/test-pread.sh: Likewise.
27664         Suggested by Bruno Haible.
27665
27666         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
27667         * tests/test-pread.sh: Write no data into the pipe, because
27668         test-pread actually reads none.  This avoids a diagnostic,
27669         "bash: echo: write error: Broken pipe", that arises in the unusual
27670         event something is ignoring SIGPIPE, and might be interpreted
27671         as some sort of failure.  Reported by Bruno Haible.
27672
27673 2009-11-25  Jim Meyering  <meyering@redhat.com>
27674
27675         test-pread: cover failure with ESPIPE and EINVAL
27676         * tests/test-pread.c (main): Test for failure, too.
27677         * tests/test-pread.sh: Invoke with stdin on a pipe.
27678         Suggested by Eric Blake.
27679
27680         pread: improvement and fix
27681         * modules/pread (Depends-on): Depend on lseek, for portability to
27682         e.g., mingw.  Suggested by Eric Blake.
27683         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
27684
27685         unistd.in.h: correct declaration of pread
27686         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
27687         Reported by Richard W.M. Jones.
27688
27689         test-pread.sh: distribute the test script
27690         * modules/pread-tests (Files): Include test-pread.sh.
27691
27692         test-pread.sh: clean up
27693         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
27694         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
27695         That is unnecessary, since it's always ".".
27696         Suggestion from Eric Blake.
27697
27698         test-pread.sh: make executable
27699         * tests/test-pread.sh: Set executable bit.
27700         Reported by Eric Blake.
27701
27702         correct typo in test-pread.sh
27703         * tests/test-pread.sh: Add #! line.
27704
27705         test pread
27706         * tests/test-pread.c: New file.
27707         * tests/test-pread.sh: Likewise.
27708         * modules/pread-tests: Likewise.
27709
27710         pread: new module
27711         * modules/pread: New file.
27712         * lib/unistd.in.h (pread): Define/declare.
27713         * lib/pread.c (pread): New file.
27714         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
27715         * modules/unistd (Makefile.am): Substitute witnesses.
27716         * doc/posix-functions/pread.texi (pread): Update.
27717         * MODULES.html.sh: Add pread.
27718
27719 2009-11-25  Jim Meyering  <meyering@redhat.com>
27720
27721         tests/init.sh: new file to be used via most *.sh tests
27722         * tests/init.sh: New file.
27723
27724 2009-11-25  Eric Blake  <ebb9@byu.net>
27725
27726         utimens: work around older Linux failure with symlinks
27727         * lib/utimens.c (lutimensat_works_really): New variable.
27728         (fdutimens, lutimens): Use it to manage kernels that support
27729         nanosecond times on files, but not on symlinks.
27730         Reported by OndÅ™ej VaÅ¡Ă­k.
27731
27732         utimes: fix configure grammar
27733         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
27734
27735 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
27736
27737         regex: Fix fastmap for multibyte character ranges.
27738         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
27739         characters when a multibyte character range is included.
27740
27741 2009-11-22  Andy Wingo  <wingo@pobox.com>
27742
27743         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
27744         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
27745
27746 2009-11-24  Bruno Haible  <bruno@clisp.org>
27747
27748         doc: Most *_l functions exist in MacOS X 10.5.
27749         * doc/posix-functions/duplocale.texi: Update platforms list.
27750         * doc/posix-functions/freelocale.texi: Likewise.
27751         * doc/posix-functions/newlocale.texi: Likewise.
27752         * doc/posix-functions/uselocale.texi: Likewise.
27753         * doc/posix-functions/isalnum_l.texi: Likewise.
27754         * doc/posix-functions/isalpha_l.texi: Likewise.
27755         * doc/posix-functions/isblank_l.texi: Likewise.
27756         * doc/posix-functions/iscntrl_l.texi: Likewise.
27757         * doc/posix-functions/isdigit_l.texi: Likewise.
27758         * doc/posix-functions/isgraph_l.texi: Likewise.
27759         * doc/posix-functions/islower_l.texi: Likewise.
27760         * doc/posix-functions/isprint_l.texi: Likewise.
27761         * doc/posix-functions/ispunct_l.texi: Likewise.
27762         * doc/posix-functions/isspace_l.texi: Likewise.
27763         * doc/posix-functions/isupper_l.texi: Likewise.
27764         * doc/posix-functions/iswalnum_l.texi: Likewise.
27765         * doc/posix-functions/iswalpha_l.texi: Likewise.
27766         * doc/posix-functions/iswblank_l.texi: Likewise.
27767         * doc/posix-functions/iswcntrl_l.texi: Likewise.
27768         * doc/posix-functions/iswctype_l.texi: Likewise.
27769         * doc/posix-functions/iswdigit_l.texi: Likewise.
27770         * doc/posix-functions/iswgraph_l.texi: Likewise.
27771         * doc/posix-functions/iswlower_l.texi: Likewise.
27772         * doc/posix-functions/iswprint_l.texi: Likewise.
27773         * doc/posix-functions/iswpunct_l.texi: Likewise.
27774         * doc/posix-functions/iswspace_l.texi: Likewise.
27775         * doc/posix-functions/iswupper_l.texi: Likewise.
27776         * doc/posix-functions/iswxdigit_l.texi: Likewise.
27777         * doc/posix-functions/isxdigit_l.texi: Likewise.
27778         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
27779         * doc/posix-functions/strcasecmp_l.texi: Likewise.
27780         * doc/posix-functions/strcoll_l.texi: Likewise.
27781         * doc/posix-functions/strfmon_l.texi: Likewise.
27782         * doc/posix-functions/strftime_l.texi: Likewise.
27783         * doc/posix-functions/strncasecmp_l.texi: Likewise.
27784         * doc/posix-functions/strxfrm_l.texi: Likewise.
27785         * doc/posix-functions/tolower_l.texi: Likewise.
27786         * doc/posix-functions/toupper_l.texi: Likewise.
27787         * doc/posix-functions/towctrans_l.texi: Likewise.
27788         * doc/posix-functions/towlower_l.texi: Likewise.
27789         * doc/posix-functions/towupper_l.texi: Likewise.
27790         * doc/posix-functions/wcscoll_l.texi: Likewise.
27791         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
27792         * doc/posix-functions/wctrans_l.texi: Likewise.
27793         * doc/posix-functions/wctype_l.texi: Likewise.
27794         * doc/glibc-functions/strptime_l.texi: Likewise.
27795         * doc/glibc-functions/strtod_l.texi: Likewise.
27796         * doc/glibc-functions/strtof_l.texi: Likewise.
27797         * doc/glibc-functions/strtol_l.texi: Likewise.
27798         * doc/glibc-functions/strtold_l.texi: Likewise.
27799         * doc/glibc-functions/strtoll_l.texi: Likewise.
27800         * doc/glibc-functions/strtoul_l.texi: Likewise.
27801         * doc/glibc-functions/strtoull_l.texi: Likewise.
27802         * doc/glibc-functions/wcsftime_l.texi: Likewise.
27803         * doc/glibc-functions/wcstod_l.texi: Likewise.
27804         * doc/glibc-functions/wcstof_l.texi: Likewise.
27805         * doc/glibc-functions/wcstol_l.texi: Likewise.
27806         * doc/glibc-functions/wcstold_l.texi: Likewise.
27807         * doc/glibc-functions/wcstoll_l.texi: Likewise.
27808         * doc/glibc-functions/wcstoul_l.texi: Likewise.
27809         * doc/glibc-functions/wcstoull_l.texi: Likewise.
27810
27811 2009-11-24  Bruno Haible  <bruno@clisp.org>
27812
27813         duplocale: Fix logic bug.
27814         * lib/duplocale.c: Don't include <langinfo.h>.
27815         (_NL_LOCALE_NAME): Remove macro.
27816         (rpl_duplocale): Use setlocale instead of nl_langinfo.
27817         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
27818
27819 2009-11-23  Jim Meyering  <meyering@redhat.com>
27820
27821         test-update-copyright: don't hard-code /usr/bin/perl
27822         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
27823         perl to print the current year.  Gilles Espinasse reported that
27824         the replaced use of perl was hard-coded as /usr/bin/perl.
27825
27826 2009-11-23  Bruno Haible  <bruno@clisp.org>
27827
27828         duplocale: Add support for glibc 2.3.x.
27829         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
27830
27831 2009-11-22  Bruno Haible  <bruno@clisp.org>
27832
27833         vasnprintf: Tiny optimization.
27834         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
27835         MacOS X.
27836
27837 2009-11-22  Bruno Haible  <bruno@clisp.org>
27838
27839         Tests for module 'duplocale'.
27840         * modules/duplocale-tests: New file.
27841         * tests/test-duplocale.c: New file.
27842
27843         New module 'duplocale'.
27844         * m4/duplocale.m4: New file.
27845         * lib/locale.in.h (duplocale): New declaration.
27846         * lib/duplocale.c: New file.
27847         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
27848         gl_LOCALE_H_DEFAULTS): New macros.
27849         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
27850         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
27851         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
27852         REPLACE_DUPLOCALE.
27853         * modules/duplocale: New file.
27854         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
27855
27856 2009-11-22  Bruno Haible  <bruno@clisp.org>
27857
27858         * modules/locale-tests (configure.ac): Test for newlocale function.
27859         * tests/test-locale.c: When the system has extended locale functions,
27860         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
27861
27862         locale: Make locale_t available when possible.
27863         * lib/locale.in.h: Include <xlocale.h> when it exists.
27864         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
27865         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
27866         * modules/locale (Depends-on): Add extensions.
27867         (Makefile.am): Also substitute HAVE_XLOCALE_H.
27868         * doc/posix-headers/locale.texi: Document the problem with locale_t.
27869
27870 2009-11-22  Bruno Haible  <bruno@clisp.org>
27871
27872         Add comments.
27873         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
27874         invocation.
27875         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
27876         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27877         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27878
27879 2009-11-22  Bruno Haible  <bruno@clisp.org>
27880
27881         error: account for the possibility of freopen (stdout).
27882         * lib/error.c: Include <unistd.h>.
27883         (flush_stdout): New function, extracted from error and error_at_line.
27884         Determine stdout's fd dynamically.
27885         (error, error_at_line): Invoke flush_stdout.
27886         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
27887         * modules/error (Depends-on): Add unistd.
27888
27889 2009-11-22  Bruno Haible  <bruno@clisp.org>
27890
27891         diffseq: Add comment.
27892         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
27893
27894 2009-11-22  Jim Meyering  <meyering@redhat.com>
27895
27896         c-stack: avoid defining an unused static function
27897         * lib/c-stack.c (find_stack_direction): Do not define this function
27898         when it will not be used.
27899
27900         diffseq: avoid spurious gcc warnings
27901         * lib/diffseq.h (IF_LINT2): Define.
27902         (compareseq): Use it to initialize two members of "part".
27903         This avoids two used-uninitialized warnings.
27904
27905 2009-11-21  Jim Meyering  <meyering@redhat.com>
27906
27907         c-stack: avoid "ignoring return value of `write'" warning
27908         * lib/c-stack.c: Include "ignore-value.h".
27909         (die): Explicitly ignore each write return value.
27910         * modules/c-stack (Depends-on): Add ignore-value.
27911
27912 2009-11-21  Bruno Haible  <bruno@clisp.org>
27913
27914         diffseq: reduce scope of variable 'best'.
27915         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
27916         variable, earlier used for two different purposes.
27917
27918 2009-11-21  Jim Meyering  <meyering@redhat.com>
27919
27920         diffseq: remove useless assignment to "best"
27921         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
27922         assignment.  At that point "best" is already guaranteed to be zero.
27923
27924 2009-11-20  Eric Blake  <ebb9@byu.net>
27925
27926         build: mention ftp redirector in release announcements
27927         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
27928         values that used to come from cfg.mk; mention FTP redirect URL.
27929         * build-aux/announce-gen: Mention the mirror list.
27930         Suggested by Karl Berry.
27931
27932         nanosleep: improve port to mingw
27933         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
27934         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
27935         LIB_NANOSLEEP, but only when needed.
27936         * modules/select (Link): Document LIBSOCKET.
27937         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
27938         enough.
27939
27940         nanosleep: work around cygwin bug
27941         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
27942         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
27943         bug.
27944         (getnow): Delete, not needed.
27945         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
27946         LIB_CLOCK_GETTIME.
27947         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
27948         clock-time, gettime.
27949         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
27950         bug.
27951         * modules/nanosleep-tests: New test.
27952         * tests/test-nanosleep.c: New file.
27953
27954         sleep: work around cygwin bug
27955         * lib/sleep.c (rpl_sleep): Work around the bug.
27956         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
27957         (gl_PREREQ_SLEEP): Delete unused macro.
27958         * modules/sleep (Depends-on): Add verify.
27959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
27960         * modules/unistd (Makefile.am): Substitute witness.
27961         * lib/unistd.in.h (sleep): Update prototype.
27962         * doc/posix-functions/sleep.texi (sleep): Document the bug.
27963         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
27964         * modules/sleep-tests (Depends-on): Check for alarm.
27965
27966 2009-11-20  Jim Meyering  <meyering@redhat.com>
27967
27968         maint.mk: improve sc_prohibit_magic_number_exit
27969         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
27970         so it does not match uses like System.exit(1).
27971         Add comments showing how to correct all offenders.
27972
27973 2009-11-19  Eric Blake  <ebb9@byu.net>
27974
27975         xalloc-die-tests: add missing library
27976         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
27977
27978         test-xvasprintf: silence compiler warnings
27979         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
27980         empty string from gcc.
27981
27982 2009-11-19  Jim Meyering  <meyering@redhat.com>
27983
27984         xfreopen: new module, from coreutils
27985         * modules/xfreopen: New module.
27986         * lib/xfreopen.c: New file.
27987         * lib/xfreopen.h: New file.
27988         * MODULES.html.sh (File stream based Input/Output"): Add it.
27989
27990 2009-11-19  Eric Blake  <ebb9@byu.net>
27991
27992         manywarnings: depend on warnings
27993         * modules/manywarnings (Depends-on): Add warnings.
27994
27995         build: avoid compiler warnings
27996         * lib/select.c (rpl_select): Delete unused variable.
27997         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
27998
27999 2009-11-18  Eric Blake  <ebb9@byu.net>
28000
28001         tests: avoid false negative with --with-packager
28002         * tests/test-version-etc.sh: Discard packager information.
28003         * tests/test-argp-version-etc-1.sh: Likewise.
28004         Reported by Mike Frysinger.
28005
28006         utimens: fix regression on Solaris
28007         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
28008         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
28009         can only change fd timestamps via futimesat.  Instead, use an
28010         additional witness macro to avoid BSD bug.
28011         Reported by Jim Meyering.
28012
28013 2009-11-17  Eric Blake  <ebb9@byu.net>
28014
28015         usleep: use it to simplify tests
28016         * modules/stat-time-tests (Depends-on): Add usleep.
28017         (configure.ac): Drop usleep check.
28018         * modules/chown-tests (Depends-on, configure.ac): Likewise.
28019         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
28020         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
28021         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
28022         * modules/openat-tests (Depends-on, configure.ac): Likewise.
28023         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
28024         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
28025         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
28026         Likewise.
28027         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
28028         * tests/test-lchown.h (nap): Likewise.
28029         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
28030         * tests/test-stat-time.c (nap): Likewise.
28031         * tests/test-utimens-common.h (nap): Update comments.
28032
28033         usleep: new module
28034         * modules/usleep: New file.
28035         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
28036         * lib/usleep.c (usleep): Likewise.
28037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
28038         * modules/unistd (Makefile.am): Substitute witnesses.
28039         * lib/unistd.in.h (usleep): Add declaration.
28040         * doc/pastposix-functions/usleep.texi (usleep): Document this.
28041         * MODULES.html.sh (Date and time): Likewise.
28042         * modules/usleep-tests (Depends-on): New test.
28043         * tests/test-usleep.c: New file.
28044
28045         chown: work around OpenBSD bug
28046         * lib/chown.c (rpl_chown): Work around the bug.
28047         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
28048         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
28049         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
28050         * modules/chown (Depends-on): Add stdbool.
28051         * modules/lchown (Depends-on): Likewise.
28052         * doc/posix-functions/chown.texi (chown): Document the bug.
28053         * doc/posix-functions/lchown.texi (lchown): Likewise.
28054         * tests/test-lchown.h (test_chown): Relax test.
28055
28056         mkstemp: avoid conflict with C++ keyword template
28057         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
28058         * lib/mkostemp.c (mkostemp): Likewise.
28059         * lib/mkostemps.c (mkostemps): Likewise.
28060         * lib/mkstemp.c (mkstemp): Likewise.
28061         * lib/mkstemps.c (mkstemps): Likewise.
28062
28063         xalloc-die-tests: optimize
28064         * tests/test-xalloc-die.sh: Reduce number of processes.
28065
28066 2009-11-17  Simon Josefsson  <simon@josefsson.org>
28067
28068         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
28069         patch from ludo@gnu.org (Ludovic Courtès).
28070
28071 2009-11-17  Jim Meyering  <meyering@redhat.com>
28072
28073         version-etc: use proper license string
28074         * modules/version-etc (License): Use LGPL, not LGPLv3+.
28075         * modules/version-etc-fsf: Likewise.
28076
28077 2009-11-17  Simon Josefsson  <simon@josefsson.org>
28078
28079         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
28080         printed to stdout.  Deal with EOL differences.
28081
28082 2009-11-17  Eric Blake  <ebb9@byu.net>
28083
28084         unsetenv: work around Solaris bug
28085         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
28086         * lib/unsetenv.c (rpl_unsetenv): Work around it.
28087         Reported by Jim Meyering.
28088
28089         vasnprintf: avoid compiler warnings
28090         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
28091         variables.
28092         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
28093
28094 2009-11-17  Simon Josefsson  <simon@josefsson.org>
28095
28096         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
28097         settings since xalloc-die is no longer the self test,
28098         xalloc-die.sh is.
28099
28100 2009-11-17  Jim Meyering  <meyering@redhat.com>
28101
28102         test-xalloc-die.sh: make the code agree with the commit log
28103         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
28104         at the end, just in case you happen to have a test-xalloc-die
28105         program in some other PATH directory.
28106
28107         test-xalloc-die.sh: fix a portability bug
28108         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
28109         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
28110         Otherwise, argv[0] (as often seen in diagnostics) would be too
28111         system-dependent, sometimes with, and sometimes without the leading "./".
28112
28113         version-etc-fsf: relax license to LGPLv3+
28114         * modules/version-etc-fsf (License): Relax license.
28115
28116 2009-11-16  Eric Blake  <ebb9@byu.net>
28117
28118         xalloc-die-tests: avoid printing null pointer
28119         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
28120         shell script.
28121         * tests/test-xalloc-die.c (program_name): Declare.
28122         * tests/test-xalloc-die.sh (tmpfiles): New file.
28123
28124         setenv, unsetenv: work around various bugs
28125         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
28126         (setenv) [HAVE_SETENV]: Work around bugs.
28127         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
28128         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
28129         for bugs.
28130         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
28131         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
28132         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
28133         * modules/stdlib (Makefile.am): Update substitutions.
28134         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
28135         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
28136         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
28137         * modules/setenv-tests: New test.
28138         * modules/unsetenv-tests: Likewise.
28139         * tests/test-setenv.c: New file.
28140         * tests/test-unsetenv.c: Likewise.
28141
28142 2009-11-16  Jim Meyering  <meyering@redhat.com>
28143
28144         version-etc: relax license to LGPLv3+
28145         * modules/version-etc (License): Relax license.
28146
28147         better AC_REQUIRE expanded-before-required-warning avoidance
28148         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
28149         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
28150         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
28151         which is no longer needed.
28152
28153 2009-11-16  Eric Blake  <ebb9@byu.net>
28154
28155         test-freading: clean up temporary file
28156         * tests/test-freading.c (main): Remove file on success, and use
28157         ASSERT more liberally.
28158         Reported by Jim Meyering.
28159
28160 2009-11-16  Jim Meyering  <meyering@redhat.com>
28161
28162         avoid new AC_REQUIRE expanded-before-required warnings
28163         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
28164         merely using it.
28165         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
28166         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
28167
28168 2009-11-15  Simon Josefsson  <simon@josefsson.org>
28169
28170         * tests/test-xalloc-die.c: New file.
28171         * modules/xalloc-die-tests: New file.
28172         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
28173         XFAIL_TESTS so it can be appended by modules.
28174
28175 2009-11-15  Simon Josefsson  <simon@josefsson.org>
28176
28177         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
28178         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
28179
28180 2009-11-14  Eric Blake  <ebb9@byu.net>
28181
28182         fnmatch: avoid compiler warning
28183         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
28184         to silence compiler warning about mismatch signedness in ?:.
28185         Reported by Robert Millan.
28186
28187         intprops: add double-inclusion guard
28188         * lib/intprops.h: Allow idempotent includes.
28189         Suggested by Bruce Korb.
28190
28191         openat: detect Solaris fchownat bug
28192         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
28193         penalizing glibc chownat when only lchownat is broken.
28194         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
28195         trailing slash bugs.
28196         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
28197         * modules/openat-tests (Files): Include more files.
28198         (Depends-on): Add mgetgroups, sleep, stat-time.
28199         (configure.ac): Add additional checks.
28200         (Makefile.am): Build new test.
28201         * tests/test-fchownat.c: New file.
28202
28203         lchown: detect Solaris and FreeBSD bug
28204         * lib/lchown.c (rpl_lchown): Work around bug.
28205         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
28206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28207         * modules/unistd (Makefile.am): Populate it.
28208         * lib/unistd.in.h (lchown): Update declaration.
28209         * doc/posix-functions/lchown.texi (lchown): Document the bug.
28210         * modules/lchown-tests: New file.
28211         * tests/test-lchown.h (test_lchown): Likewise.
28212         * tests/test-lchown.c (main): Likewise.
28213
28214         chown: detect Solaris and FreeBSD bug
28215         * lib/chown.c (rpl_chown): Work around bug.
28216         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
28217         (gl_PREREQ_CHOWN): Delete.
28218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28219         * modules/unistd (Makefile.am): Populate it.
28220         * lib/unistd.in.h (chown): Update declaration.
28221         * lib/lchown.c (chown): Update client.
28222         * modules/lchown (Depends-on): Add lstat.
28223         * doc/posix-functions/chown.texi (chown): Document the bug.
28224         * doc/posix-functions/getgroups.texi (getgroups): Document
28225         getgroups pitfall.
28226         * modules/chown-tests: New file.
28227         * tests/test-chown.h (test_chown): Likewise.
28228         * tests/test-chown.c (main): Likewise.
28229
28230 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
28231
28232         gnulib-tool: correctly detect absence of m4 directories
28233         * gnulib-tool: Avoid extra newline on data passed to wc -l.
28234
28235 2009-11-14  Jim Meyering  <meyering@redhat.com>
28236
28237         maint.mk: Prohibit inclusion of "xalloc.h" without use.
28238         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
28239
28240 2009-11-14  John W. Eaton  <jwe@gnu.org>
28241
28242         strftime.h: wrap funtion declaration in extern "C" block
28243         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
28244
28245 2009-11-13  Eric Blake  <ebb9@byu.net>
28246
28247         getgroups: avoid compiler warning
28248         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
28249
28250         getgroups: work around FreeBSD bug
28251         * lib/getgroups.c (rpl_getgroups): Work around the bug.
28252         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
28253         * doc/posix-functions/getgroups.texi (getgroups): Document it.
28254         * tests/test-getgroups.c (main): Fix buffer overrun.
28255
28256         getgroups: avoid compilation failure
28257         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
28258         * modules/getgroups (Depends-on): Add stdint.
28259
28260 2009-11-13  Jim Meyering  <meyering@redhat.com>
28261
28262         test-getgroups: avoid compilation failure
28263         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
28264
28265 2009-11-13  Eric Blake  <ebb9@byu.net>
28266
28267         mgetgroups: new module, taken from coreutils
28268         * modules/mgetgroups: New file.
28269         * lib/mgetgroups.h: Likewise.
28270         * lib/mgetgroups.c (mgetgroups): Likewise.
28271         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
28272         * MODULES.html.sh (Users and groups): Mention it.
28273
28274         getgroups: don't expose GETGROUPS_T to user
28275         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
28276         an element at a time if GETGROUPS_T is wrong size.
28277         * lib/getugroups.h (getugroups): Change signature.
28278         * lib/unistd.in.h (getgroups): Likewise.
28279         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
28280         signature needs fixing.
28281         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
28282         AC_TYPE_GETGROUPS.
28283         * modules/group-member (Depends-on): Add getgroups.
28284         * lib/group-member.c (group_info, get_group_info): Use gid_t.
28285         (group_member): Rely on getgroups replacement.
28286         * lib/getugroups.c (getugroups): Use gid_t.
28287         * tests/test-getgroups.c (main): Likewise.
28288         * NEWS: Mention the signature change.
28289         * doc/posix-functions/getgroups.texi (getgroups): Mention the
28290         problem with signature.
28291         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
28292         GETGROUPS_T is still useful for setgroups.
28293
28294         getgroups, getugroups: provide stubs for mingw
28295         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
28296         * lib/getugroups.c (getugroups): Likewise.
28297         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
28298         function.  Modernize replacement scheme.
28299         (gl_PREREQ_GETGROUPS): Delete.
28300         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
28301         * modules/getgroups (configure.ac): Declare witness.
28302         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
28303         * modules/unistd (Depends-on): Substitute witness.
28304         * lib/unistd.in.h (getgroups): Declare replacement.
28305
28306         getgroups: avoid calling exit
28307         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
28308         drop xalloc.
28309         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
28310         dependencies.
28311         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
28312         exiting, in the rare case of malloc failure.
28313
28314         getgroups: fix logic error
28315         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
28316         has more than 20 groups.
28317         * modules/getgroups-tests: New test.
28318         * tests/test-getgroups.c: New file.
28319
28320 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28321
28322         * tests/test-base64.c: Improve.
28323
28324 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28325
28326         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
28327         Blake <ebb9@byu.net>.
28328
28329 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28330
28331         * tests/test-xvasprintf.c: Add %s%s related checks.
28332
28333 2009-11-12  Eric Blake  <ebb9@byu.net>
28334
28335         version-etc: match standards.texi style
28336         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
28337         and use <> only for URLs.
28338
28339 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
28340
28341         fts: do not fail on a submount during traversal
28342         * lib/fts.c (fts_build): Read the stat info again after opening
28343         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
28344         Original report at http://bugzilla.redhat.com/501848.
28345
28346 2009-11-12  Jim Meyering  <meyering@redhat.com>
28347
28348         bootstrap: sync from coreutils
28349         * build-aux/bootstrap (bootstrap_epilogue): New function.
28350         Use git_modules_config in one more place.  This make bootstrap's
28351         --gnulib-srcdir option more useful for testing.
28352
28353         bootstrap: generalize autoheader check
28354         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
28355         AC_CONFIG_HEADERS.
28356
28357 2009-11-11  Eric Blake  <ebb9@byu.net>
28358
28359         mkfifoat: use new modules for Solaris and BSD bugs
28360         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
28361         * lib/mkfifoat.c (mknodat): Split...
28362         * lib/mknodat.c (mknodat): ...into new file.
28363         * modules/mkfifoat (Files): Ship new file.
28364         (Depends-on): Add mkfifo, mknod.
28365         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
28366         (Depends-on): Add symlink.
28367         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
28368         redundant with test_mkfifo.h.
28369         (do_mkfifoat, do_mknodat): New helpers.
28370
28371         mknod: new module
28372         * modules/mknod: New file.
28373         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
28374         * lib/mknod.c (mknod): Likewise.
28375         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
28376         defaults.
28377         * modules/sys_stat (Makefile.am): Substitute them.
28378         * lib/sys_stat.in.h (mknod): Declare replacement.
28379         * MODULES.html.sh (Support for systems lacking POSIX:2008):
28380         Document it.
28381         * doc/posix-functions/mknod.texi (mknod): Likewise.
28382         * modules/mknod-tests: New test.
28383         * tests/test-mknod.c: Likewise.
28384
28385         mkfifo: new module
28386         * modules/mkfifo: New file.
28387         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28388         * lib/mkfifo.c (mkfifo): Likewise.
28389         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
28390         defaults.
28391         * modules/sys_stat (Makefile.am): Substitute them.
28392         * lib/sys_stat.in.h (mkfifo): Declare replacement.
28393         * MODULES.html.sh (Support for systems lacking POSIX:2008):
28394         Document it.
28395         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
28396         * modules/mkfifo-tests: New test.
28397         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
28398         from test-mkfifoat.c.
28399         * tests/test-mkfifo.c: New file.
28400
28401         readlink: detect FreeBSD bug
28402         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
28403         slash on symlink.
28404         * doc/posix-functions/readlink.texi (readlink): Document the bug.
28405         * tests/test-readlink.h (test_readlink): Enhance test.
28406
28407         symlink: detect FreeBSD bug
28408         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
28409         slash on symlink.
28410         * doc/posix-functions/symlink.texi (symlink): Document the bug.
28411         * tests/test-symlink.h (test_symlink): Enhance test.
28412
28413 2009-11-10  Eric Blake  <ebb9@byu.net>
28414
28415         link: detect FreeBSD bug
28416         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
28417         symlink.
28418         * doc/posix-functions/link.texi (link): Document the bug.
28419         * tests/test-link.h (test_link): Enhance test.
28420         * tests/test-linkat.c (main): Update caller.
28421
28422         unlink, remove: detect FreeBSD bug
28423         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
28424         slash on symlink.
28425         * doc/posix-functions/unlink.texi (unlink): Document the bug.
28426         * doc/posix-functions/remove.texi (remove): Likewise.
28427         * tests/test-unlink.h (test_unlink): Enhance test.
28428         * tests/test-remove.c (main): Likewise.
28429
28430 2009-11-09  Eric Blake  <ebb9@byu.net>
28431
28432         rename: detect FreeBSD bug
28433         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
28434         slash on symlink.
28435         * modules/renameat-tests (Depends-on): Add filenamecat.
28436         * tests/test-rename.h (test_rename): Allow one more errno.
28437         * tests/test-renameat.c (main): Likewise.
28438         * doc/posix-functions/rename.texi (rename): Document the bug.
28439
28440         open: detect FreeBSD bug
28441         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
28442         symlink.
28443         * doc/posix-functions/open.texi (open): Document the bug.
28444         * doc/posix-functions/utimes.texi (utimes): Likewise.
28445         * tests/test-open.h (test_open): Add parameters, and test symlink
28446         handling.
28447         * tests/test-open.c (main): Adjust caller.
28448         * tests/test-fcntl-safer.c (main): Likewise.
28449         * modules/open-tests (Depends-on): Add stdbool, symlink.
28450         * modules/fcntl-safer-tests (Depends-on): Likewise.
28451         * tests/test-openat.c (main): Add test-open tests.
28452
28453         stat: detect FreeBSD bug
28454         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
28455         symlink.
28456         * doc/posix-functions/stat.texi (stat): Document the bug.
28457         * tests/test-stat.h (test_stat_func): Add argument.
28458         * tests/test-stat.c (main): Adjust caller.
28459         * tests/test-fstatat.c (main): Likewise.
28460         * modules/stat-tests (Depends-on): Add stdbool, symlink.
28461         Reported by Jim Meyering.
28462
28463 2009-11-09  James Youngman  <jay@gnu.org>
28464
28465         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
28466         * lib/strftime.c: Correct placement of #include "ignore-value.h".
28467
28468 2009-11-08  Jim Meyering  <meyering@redhat.com>
28469
28470         utimens: remove invalid futimesat call
28471         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
28472         It used the file descriptor of the target file as the DIR_FD
28473         parameter and NULL as the file name.  That caused failure with
28474         errno == EFAULT on FreeBSD-8.0-rc2
28475
28476 2009-11-07  Eric Blake  <ebb9@byu.net>
28477
28478         fflush, freadseek: use fseeko, not fseek
28479         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
28480         (clear_ungetc_buffer): Avoid potential problems on large files.
28481         * lib/freadseek.c (freadseek): Likewise.
28482         * modules/freadseek (Depends-on): Add fseeko.
28483         * modules/fseek (configure.ac): Set a witness.
28484         * tests/test-fflush.c (main): Use fseeko.
28485         * tests/test-fpurge.c (fseek): Disable link warning.
28486         * tests/test-freadable.c (fseek): Likewise.
28487         * tests/test-freading.c (fseek): Likewise.
28488         * tests/test-fseeko.c (fseek): Likewise.
28489         * tests/test-ftell.c (fseek): Likewise.
28490         * tests/test-ftello.c (fseek): Likewise.
28491         * tests/test-fwritable.c (fseek): Likewise.
28492         * tests/test-fwriting.c (fseek): Likewise.
28493
28494 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28495
28496         * modules/memchr (Depends-on): Drop getpagesize dependency.
28497
28498 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28499
28500         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
28501         Reported by Ludovic Courtès.
28502         * build-aux/pmccabe2html: Improve example usage.
28503         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
28504
28505 2009-11-06  Jim Meyering  <meyering@redhat.com>
28506
28507         do-release-commit-and-tag: New module.
28508         Automate the release-commit and tag process.
28509         * build-aux/do-release-commit-and-tag: New script, from coreutils.
28510         * modules/do-release-commit-and-tag: New file.
28511         * MODULES.html.sh (Support for maintaining and releasing): Add it.
28512
28513 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28514
28515         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
28516         because test-select.c uses inet_pton.
28517
28518 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28519
28520         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
28521         GETADDRINFO_LIB.  Bump serial number.
28522         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
28523         Suggested by Eric Blake <ebb9@byu.net>.
28524
28525 2009-11-05  Eric Blake  <ebb9@byu.net>
28526
28527         strtod: detect darwin bug
28528         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
28529         Reported by Leo Davis.
28530
28531         freopen-safer: new module
28532         * modules/freopen-safer: New module.
28533         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
28534         * lib/freopen-safer.c (freopen_safer): New file.
28535         * lib/stdio-safer.h (freopen_safer): New declaration.
28536         * lib/stdio--.h (freopen): New override.
28537         * MODULES.html.sh (File stream based Input/Output): Mention it.
28538         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
28539         freopen-safer module.
28540         * doc/posix-functions/stderr.texi (stderr): Likewise.
28541         * doc/posix-functions/stdin.texi (stdin): Likewise.
28542         * doc/posix-functions/stdout.texi (stdout): Likewise.
28543         * modules/freopen-safer-tests: New test.
28544         * tests/test-reopen-safer.c: New file.
28545
28546 2009-11-05  Jim Meyering  <meyering@redhat.com>
28547
28548         maint.mk: Prohibit inclusion of "close-stream.h" without use.
28549         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
28550
28551 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28552
28553         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
28554
28555 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28556
28557         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
28558
28559 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28560
28561         Fix link error.
28562         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
28563         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28564
28565 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28566
28567         * tests/test-func.c: Also test value of __func__.
28568
28569 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28570
28571         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
28572         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
28573
28574 2009-11-05  Bruno Haible  <bruno@clisp.org>
28575
28576         Fix link error.
28577         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
28578         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28579         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
28580
28581 2009-11-05  Bruno Haible  <bruno@clisp.org>
28582
28583         Tests for module 'inet_pton'.
28584         * modules/inet_pton-tests: New file.
28585         * tests/test-inet_pton.c: New file.
28586
28587 2009-11-05  Bruno Haible  <bruno@clisp.org>
28588
28589         Tests for module 'inet_ntop'.
28590         * modules/inet_ntop-tests: New file.
28591         * tests/test-inet_ntop.c: New file.
28592
28593 2009-11-04  Eric Blake  <ebb9@byu.net>
28594
28595         stdlib-safer: wrap all mkstemp variants
28596         * modules/mkostemp (configure.ac): Set witness.
28597         * modules/mkostemps (configure.ac): Likewise.
28598         * modules/mkstemps (configure.ac): Likewise.
28599         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
28600         (mkstemps_safer): Wrap more functions.
28601         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
28602         wrapping.
28603         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
28604         (mkstemps_safer): Implement the wrappers.
28605
28606         mkstemps, mkostemps: new modules
28607         * modules/mkostemps: New module.
28608         * modules/mkstemps: Likewise.
28609         * lib/mkostemps.c (mkostemps): New file.
28610         * lib/mkstemps.c (mkstemps): Likewise.
28611         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
28612         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
28613         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
28614         * modules/stdlib (Makefile.am): Substitute them.
28615         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
28616         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
28617         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
28618         * doc/gnulib.texi (Glibc stdlib.h): Include them.
28619         * MODULES.html.sh (File system functions): Mention them.
28620
28621         tempname: resync from glibc
28622         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
28623         same values for __GT_FILE as glibc.  Abort even when assertions
28624         are disabled.
28625         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
28626         match its value otherwise.  Allow idempotent inclusion.
28627         * lib/mkdtemp.c (mkdtemp): Adjust caller.
28628         * lib/mkostemp.c (mkostemp): Likewise.
28629         * lib/mkstemp.c (mkstemp): Likewise.
28630         * lib/tmpfile.c (tmpfile): Likewise.
28631         * NEWS: Document this.
28632
28633         utimens: fix use of futimens on older Linux
28634         * lib/utimens.c (fdutimens): Use updated, rather than original,
28635         timespec to avoid bug in older Linux kernel.
28636         Reported by Simon Josefsson.
28637
28638 2009-11-04  Bruno Haible  <bruno@clisp.org>
28639
28640         Make num_processors more flexible and consistent.
28641         * lib/nproc.h (enum nproc_query): New type.
28642         (num_processors): Add a 'query' argument.
28643         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
28644         (num_processors): Add a 'query' argument. Test the value of the
28645         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
28646         mingw, count the number of CPUs available for the current process.
28647         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
28648         Check for sched_getaffinity and sched_getaffinity_np.
28649         * modules/nproc (Depends-on): Add c-ctype, extensions.
28650         * NEWS: Mention the change.
28651
28652 2009-11-03  Bruno Haible  <bruno@clisp.org>
28653
28654         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
28655
28656 2009-11-03  Jim Meyering  <meyering@redhat.com>
28657
28658         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
28659         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
28660         if it is defined.
28661
28662 2009-11-02  Eric Blake  <ebb9@byu.net>
28663
28664         mktime, timegm: share common declaration
28665         * lib/mktime-internal.h: New file.
28666         * lib/mktime.c: Use it rather than open-coding a declaration.
28667         * lib/timegm.c: Likewise.
28668         * modules/mktime (Files): Ship it.
28669         * modules/timegm (Files): Likewise.
28670         Suggested by Bruno Haible.
28671
28672         test-update-copyright: update test to match script changes
28673         * tests/test-update-copyright.sh: Avoid hard-coding perl
28674         location.  Don't update *.bak created by earlier runs.
28675
28676 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
28677             Simon Josefsson  <simon@josefsson.org>
28678             Bruno Haible  <bruno@clisp.org>
28679
28680         Fix link error on Solaris 8.
28681         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
28682         also in libnsl. Define also INET_PTON_LIB.
28683         * modules/inet_pton (Link): New section.
28684
28685 2009-11-02  Simon Josefsson  <simon@josefsson.org>
28686             Bruno Haible  <bruno@clisp.org>
28687
28688         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
28689         * modules/inet_ntop (Link): New section.
28690         Reported by Boyan Kasarov <bkasarov@gmail.com>.
28691
28692 2009-11-02  Eric Blake  <ebb9@byu.net>
28693
28694         maint: avoid compiler warnings in m4 macros
28695         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
28696         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
28697
28698 2009-11-02  Simon Josefsson  <simon@josefsson.org>
28699
28700         * m4/pmccabe2html.m4: Remove file.
28701         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
28702         function.  Change maintainer.
28703         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
28704         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
28705         Courtès).
28706
28707 2009-10-31  Eric Blake  <ebb9@byu.net>
28708
28709         fseeko: fix m4 regression
28710         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
28711         regression from 2009-10-27.
28712         Reported by Ralf Wildenhues.
28713
28714 2009-10-31  Jim Meyering  <meyering@redhat.com>
28715
28716         inttostr: aesthetics and improved (compile-time) safety
28717         Define inttype_is_signed rather than inttype_is_unsigned,
28718         since the sole use is via "#if inttype_is_signed".
28719         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
28720         inttype_is_unsigned.
28721         * lib/offtostr.c (inttype_is_signed): Likewise.
28722         * lib/uinttostr.c (inttype_is_signed): Likewise.
28723         * lib/umaxtostr.c (inttype_is_signed): Likewise.
28724         * lib/inttostr.c (inttostr): Use verify to cross-check the
28725         inttype_is_signed value and the signedness of the actual type.
28726         * modules/inttostr (Depends-on): Add verify.
28727
28728 2009-10-30  Eric Blake  <ebb9@byu.net>
28729
28730         build: avoid compiler warnings
28731         * lib/fchmodat.c (lchmod): Mark unused variables.
28732         * lib/getopt.c (_getopt_initialize): Likewise.
28733         * lib/mktime.c (__mktime_internal): Provide prototype.
28734         * lib/inttostr.c (inttostr): Avoid compiler warning even with
28735         older gcc that do not understand #pragma GCC diagnostic.
28736         * lib/uinttostr.c (inttype_is_unsigned): Define.
28737         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
28738
28739 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
28740
28741         stat: fix compilation on AIX
28742         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
28743         only see struct stat64.
28744
28745 2009-10-30  Eric Blake  <ebb9@byu.net>
28746
28747         exclude: make more robust
28748         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
28749         rather than masking a coding bug.
28750         Suggested by Bruno Haible.
28751
28752 2009-10-30  Jim Meyering  <meyering@redhat.com>
28753
28754         perl scripts: remove #!/usr/bin/perl in favor of more portable...
28755         Rather than putting #!/usr/bin/perl on the first line,
28756         start with a variant of what's recommended by "man perlrun" that
28757         invokes the first "perl" program from your shell's search path.
28758         * build-aux/gitlog-to-changelog: Replace #!... as above.
28759         Add a "Local Variables" perl mode setting.
28760         Prompted by a patch from Ludovic Courtès.
28761         Improved by Eric Blake.
28762         * build-aux/useless-if-before-free: Likewise.
28763         * build-aux/announce-gen: Likewise.
28764         * build-aux/update-copyright: Likewise.
28765
28766 2009-10-29  Eric Blake  <ebb9@byu.net>
28767
28768         filenamecat-lgpl: adjust clients
28769         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
28770         filenamecat.
28771         * modules/renameat (Depends-on): Likewise.
28772
28773         filenamecat: split into filenamecat-lgpl
28774         * modules/filenamecat-lgpl: New module.
28775         * modules/filenamecat (Files): Move library-safe files into
28776         filenamecat-lgpl.
28777         (Depends-on): Add filenamecat-lgpl.
28778         (configure.ac): Declare witness.
28779         * lib/filenamecat.h (file_name_concat): Only declare when using
28780         GPL module.
28781         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
28782         Move...
28783         * lib/filenamecat-lgpl.c: ...into new file.
28784         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
28785         (gl_FILE_NAME_CONCAT): Use it.
28786         * MODULES.html.sh (File system functions): Mention new module.
28787
28788         argp: avoid memory leak
28789         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
28790         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
28791         base_name, since the latter malloc()s and can call exit().
28792         Leak introduced 2006-07-03.
28793
28794         dirname-lgpl: adjust clients that don't need full dirname
28795         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
28796         * modules/filenamecat (Depends-on): Likewise.
28797         * modules/linkat (Depends-on): Likewise.
28798         * modules/mkancesdirs (Depends-on): Likewise.
28799         * modules/mkdir (Depends-on): Likewise.
28800         * modules/openat (Depends-on): Likewise.
28801         * modules/savewd (Depends-on): Likewise.
28802         * modules/rename (Depends-on): Likewise.
28803         (License): Relax license.
28804         * modules/mkdir-tests (Depends-on): Drop progname.
28805         (Makefile.am): Delete unneeded LDADD.
28806         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
28807
28808         dirname: split into dirname-lgpl
28809         * modules/dirname-lgpl: New module.
28810         * modules/dirname (Files): Move library-safe files into
28811         dirname-lgpl.
28812         (Depends-on): Add dirname-lgpl.
28813         (configure.ac): Declare witness.
28814         * modules/double-slash-root (License): Relax license.
28815         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
28816         module.
28817         * lib/dirname.c (dir_len, mdir_name): Move...
28818         * lib/dirname-lgpl.c: ...into new file.
28819         * lib/basename.c (last_component, base_len): Move...
28820         * lib/basename-lgpl.c: ...into new file.
28821         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
28822         (gl_DIRNAME): Use it.
28823         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
28824         Mention new module.
28825         * modules/dirname-tests (Depends-on): Add progname.
28826         * tests/test-dirname.c (program_name): Delete.
28827
28828         mkdir: make safe for libraries
28829         * modules/mkdir (Depends-on): Drop xalloc.
28830         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
28831         exit.
28832
28833         tests: avoid some compiler warnings
28834         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
28835         literals.
28836         * tests/test-memchr.c (main): Avoid type mismatch.
28837         * tests/test-arpa_inet.c (main): Avoid unused parameters.
28838         * tests/test-base64.c (main): Likewise.
28839         * tests/test-getdelim.c (main): Likewise.
28840         * tests/test-gethostname.c (main): Likewise.
28841         * tests/test-getline.c (main): Likewise.
28842         * tests/test-netinet_in.c (main): Likewise.
28843         * tests/test-select.c (open_server_socket, main): Likewise.
28844         * tests/test-select-stdin.c (main): Likewise.
28845         * tests/test-sockets.c (main): Likewise.
28846         * tests/test-strsignal.c (main): Likewise.
28847         * tests/test-sys_select.c (main): Likewise.
28848         * tests/test-sys_socket.c (main): Likewise.
28849         * tests/test-u64.c (main): Likewise.
28850         * tests/test-xfprintf-posix.c (main): Likewise.
28851         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
28852
28853         sockets: avoid compiler warning
28854         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
28855
28856         maint: detect usage(1) and other suspicious exits
28857         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
28858
28859 2009-10-29  Jim Meyering  <meyering@redhat.com>
28860
28861         timespec: long-to-int truncation could make timespec_cmp malfunction
28862         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
28863         a multiple of 2^32 nanoseconds as no difference.
28864
28865 2009-10-28  Jim Meyering  <meyering@redhat.com>
28866
28867         fprintftime: wrap macro code argument in "do {...} while(0)"
28868         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
28869         cpy macro must be a statement that can be followed by a semicolon.
28870         Now that the else clause contains a comment and is hence longer
28871         than one line, I require curly braces.  That in turn requires
28872         that we wrap this code block in the standard do...while(0).
28873
28874         fprintftime: remove stray semicolon from previous change
28875         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
28876
28877         fprintftime: avoid a warning about ignored fwrite return value
28878         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
28879         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
28880         that is unsafe.
28881         * modules/fprintftime (Depends-on): Add ignore-value.
28882
28883         exclude: avoid an unwarranted warning
28884         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
28885
28886 2009-10-27  Eric Blake  <ebb9@byu.net>
28887
28888         fseek: avoid compilation failure when fflush is replaced
28889         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
28890         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
28891         module is in use.
28892         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
28893         module is not in use; since REPLACE_FSEEK worked otherwise.
28894         (GNULIB_FTELLO): Likewise for ftell.
28895         Reported by Ian Beckwith and others.
28896
28897 2009-10-27  Bruno Haible  <bruno@clisp.org>
28898
28899         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
28900         Reported by Jim Meyering.
28901
28902 2009-10-27  Jim Meyering  <jim@meyering.net>
28903             Bruno Haible  <bruno@clisp.org>
28904
28905         Avoid warning despite dropping the return value of fwrite.
28906         * lib/unicodeio.c: Include ignore-value.h.
28907         (fwrite_success_callback): Explicitly ignore fwrite's return value.
28908         * modules/unicodeio (Depends-on): Add ignore-value.
28909
28910 2009-10-26  Eric Blake  <ebb9@byu.net>
28911
28912         areadlinkat: fix fallback path
28913         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
28914         pointer and zero.
28915
28916 2009-10-22  PĂ¡draig Brady  <P@draigBrady.com>
28917
28918         Use a better IO block size for modern systems
28919         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
28920         * lib/md2.c: Likewise.
28921         * lib/md4.c: Likewise.
28922         * lib/md5.c: Likewise.
28923         * lib/sha1.c: Likewise.
28924         * lib/sha256.c: Likewise.
28925         * lib/sha512.c: Likewise.
28926
28927 2009-10-22  Eric Blake  <ebb9@byu.net>
28928
28929         tests: avoid several compiler warnings
28930         * tests/test-getcwd.c (main): Avoid buffer underflow.
28931         * tests/test-getdate.c (main): String literals are not safe with
28932         putenv, so use setenv.  Declare unused argument.
28933         * modules/getdate-tests (Depends-on): Add setenv.
28934         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
28935         problems with string literals in char *.
28936         * tests/test-hash.c (main): Avoid shadowing declaration.
28937         (insert_new): Treat string literals as char const *.
28938         * tests/test-getopt.h (test_getopt): Likewise.
28939         (getopt_loop): Alter types to minimize casting elsewhere.
28940         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
28941         (test_getopt_long_posix): Likewise.
28942         (do_getopt_long): Add wrapper to minimize casting.
28943         * tests/test-atexit.c (clear_temp_file): Use void.
28944         * tests/test-areadlink-with-size.c (main): Declare unused
28945         arguments.
28946         * tests/test-areadlink.c (main): Likewise.
28947         * tests/test-areadlinkat-with-size.c (main): Likewise.
28948         * tests/test-areadlinkat.c (main): Likewise.
28949         * tests/test-canonicalize-lgpl.c (main): Likewise.
28950         * tests/test-canonicalize.c (main): Likewise.
28951         * tests/test-dirent-safer.c (main): Likewise.
28952         * tests/test-dirname.c (main): Likewise.
28953         * tests/test-dup2.c (main): Likewise.
28954         * tests/test-fchdir.c (main): Likewise.
28955         * tests/test-fcntl-h.c (main): Likewise.
28956         * tests/test-fcntl-safer.c (main): Likewise.
28957         * tests/test-fdopendir.c (main): Likewise.
28958         * tests/test-fdutimensat.c (main): Likewise.
28959         * tests/test-fflush.c (main): Likewise.
28960         * tests/test-filenamecat.c (main): Likewise.
28961         * tests/test-filevercmp.c (main): Likewise.
28962         * tests/test-fopen-safer.c (main): Likewise.
28963         * tests/test-fopen.c (main): Likewise.
28964         * tests/test-fpending.c (main): Likewise.
28965         * tests/test-fpurge.c (main): Likewise.
28966         * tests/test-freading.c (main): Likewise.
28967         * tests/test-fstatat.c (main): Likewise.
28968         * tests/test-fsync.c (main): Likewise.
28969         * tests/test-futimens.c (main): Likewise.
28970         * tests/test-getndelim2.c (main): Likewise.
28971         * tests/test-gettimeofday.c (main): Likewise.
28972         * tests/test-getopt.c (main): Likewise.
28973         * tests/test-i-ring.c (main): Likewise.
28974         * tests/test-inttypes.c (main): Likewise.
28975         * tests/test-link.c (main): Likewise.
28976         * tests/test-lstat.c (main): Likewise.
28977         * tests/test-math.c (main): Likewise.
28978         * tests/test-md5.c (main): Likewise.
28979         * tests/test-memchr2.c (main): Likewise.
28980         * tests/test-memrchr.c (main): Likewise.
28981         * tests/test-mkdir.c (main): Likewise.
28982         * tests/test-mkdirat.c (main): Likewise.
28983         * tests/test-mkfifoat.c (main): Likewise.
28984         * tests/test-open.c (main): Likewise.
28985         * tests/test-openat-safer.c (main): Likewise.
28986         * tests/test-openat.c (main): Likewise.
28987         * tests/test-quotearg.c (main): Likewise.
28988         * tests/test-rawmemchr.c (main): Likewise.
28989         * tests/test-readlink.c (main): Likewise.
28990         * tests/test-remove.c (main): Likewise.
28991         * tests/test-rename.c (main): Likewise.
28992         * tests/test-renameat.c (main): Likewise.
28993         * tests/test-rmdir.c (main): Likewise.
28994         * tests/test-sha1.c (main): Likewise.
28995         * tests/test-signal.c (main): Likewise.
28996         * tests/test-sigaction.c (main): Likewise.
28997         * tests/test-stat.c (main): Likewise.
28998         * tests/test-stat-time.c (main): Likewise.
28999         * tests/test-stddef.c (main): Likewise.
29000         * tests/test-stdint.c (main): Likewise.
29001         * tests/test-stdio.c (main): Likewise.
29002         * tests/test-stdlib.c (main): Likewise.
29003         * tests/test-strchrnul.c (main): Likewise.
29004         * tests/test-strerror.c (main): Likewise.
29005         * tests/test-string.c (main): Likewise.
29006         * tests/test-strtod.c (main): Likewise.
29007         * tests/test-strverscmp.c (main): Likewise.
29008         * tests/test-symlink.c (main): Likewise.
29009         * tests/test-symlinkat.c (main): Likewise.
29010         * tests/test-sys_stat.c (main): Likewise.
29011         * tests/test-sys_time.c (main): Likewise.
29012         * tests/test-time.c (main): Likewise.
29013         * tests/test-unistd.c (main): Likewise.
29014         * tests/test-unlink.c (main): Likewise.
29015         * tests/test-unlinkat.c (main): Likewise.
29016         * tests/test-utimens.c (main): Likewise.
29017         * tests/test-utimensat.c (main): Likewise.
29018         * tests/test-version-etc.c (main): Likewise.
29019         * tests/test-wchar.c (main): Likewise.
29020         * tests/test-wctype.c (main): Likewise.
29021         * tests/test-xprintf-posix.c (main): Likewise.
29022         * tests/test-posixtm.c (main): Likewise.
29023         (STREQ): Delete unused macro.
29024         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
29025         shadowed variables.
29026         * tests/test-memchr.c (main): Likewise.
29027
29028 2009-10-21  Eric Blake  <ebb9@byu.net>
29029
29030         areadlinkat: avoid failure on older glibc
29031         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
29032         rather than mis-comparing 0 against FUNC_RESULT of char*.
29033
29034 2009-10-21  Bruno Haible  <bruno@clisp.org>
29035
29036         * modules/stpncpy (License): Relicense under LGPLv2+.
29037         Reported by David Lutterkort <lutter@redhat.com>.
29038
29039 2009-10-20  Eric Blake  <ebb9@byu.net>
29040
29041         utimensat: work around Solaris 9 bug
29042         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
29043         has trailing slash bugs.
29044         * tests/test-lutimens.h (test_lutimens): Enhance test.
29045         * tests/test-utimens.h (test_utimens): Likewise.
29046         * doc/posix-functions/utime.texi (utime): Enhance documentation.
29047         * doc/posix-functions/utimes.texi (utimes): Likewise.
29048         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
29049         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
29050         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
29051         * doc/posix-functions/futimens.texi (futimens): Likewise.
29052
29053         fdutimensat: new module
29054         * modules/fdutimensat: New file.
29055         * lib/fdutimensat.c (fdutimensat): Likewise.
29056         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
29057         * MODULES.html.sh (File system functions): Mention module.
29058         * modules/fdutimensat-tests: New test.
29059         * tests/test-fdutimensat.c: Likewise.
29060
29061         doc: regenerate INSTALL
29062         * doc/INSTALL: Reflect recent autoconf update.
29063         * doc/INSTALL.ISO: Likewise.
29064         * doc/INSTALL.UTF-8: Likewise.
29065
29066 2009-10-20  PĂ¡draig Brady  <P@draigBrady.com>
29067
29068         acl: warn if ACL support is not detected
29069         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
29070
29071 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
29072
29073         * lib/nproc.h: Add extern "C" block for C++.
29074
29075 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
29076             Bruno Haible  <bruno@clisp.org>
29077
29078         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
29079         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
29080         * doc/posix-functions/isalpha.texi: Likewise.
29081         * doc/posix-functions/isblank.texi: Likewise.
29082         * doc/posix-functions/iscntrl.texi: Likewise.
29083         * doc/posix-functions/isdigit.texi: Likewise.
29084         * doc/posix-functions/isgraph.texi: Likewise.
29085         * doc/posix-functions/islower.texi: Likewise.
29086         * doc/posix-functions/isprint.texi: Likewise.
29087         * doc/posix-functions/ispunct.texi: Likewise.
29088         * doc/posix-functions/isspace.texi: Likewise.
29089         * doc/posix-functions/isupper.texi: Likewise.
29090         * doc/posix-functions/isxdigit.texi: Likewise.
29091
29092 2009-10-18  Bruno Haible  <bruno@clisp.org>
29093
29094         Tests for module 'isblank'.
29095         * modules/isblank-tests: New file.
29096         * tests/test-isblank.c: New file.
29097
29098         New module 'isblank'.
29099         * lib/isblank.c: New file.
29100         * m4/isblank.m4: New file.
29101         * modules/isblank: New file.
29102         * doc/posix-functions/isblank.texi: Mention the new module.
29103
29104 2009-10-18  Bruno Haible  <bruno@clisp.org>
29105
29106         New module 'ctype'.
29107         * lib/ctype.in.h: New file.
29108         * m4/ctype.m4: New file.
29109         * modules/ctype: New file.
29110         * doc/posix-headers/ctype.texi: Mention the new module.
29111
29112 2009-10-18  Jim Meyering  <meyering@redhat.com>
29113
29114         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
29115         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
29116         right after its initialization, rather than farther down.
29117         Keeping these in close proximity makes it easier to ensure
29118         that each such variable is initialized.  E.g.,
29119
29120             LIB_CLOCK_GETTIME=
29121             AC_SUBST([LIB_CLOCK_GETTIME])
29122
29123         This change also increments these serial numbers.
29124         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
29125         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
29126         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
29127
29128 2009-10-18  Bruno Haible  <bruno@clisp.org>
29129
29130         Don't let environment variables perturb build.
29131         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
29132         (gl_PREREQ_GETHRXTIME): ... not here.
29133
29134 2009-10-18  Bruno Haible  <bruno@clisp.org>
29135
29136         Avoid symlink attack in localcharset module.
29137         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
29138         (O_NOFOLLOW): Define fallback.
29139         (get_charset_aliases): Don't open the file if it is a symbolic link.
29140         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
29141         gl_FCNTL_H.
29142         (gl_FCNTL_H): Require it.
29143         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
29144         * modules/localcharset (Files): Add m4/fcntl_h.m4.
29145         Reported by Fergal Glynn <fglynn@veracode.com>.
29146
29147 2009-10-18  Bruno Haible  <bruno@clisp.org>
29148
29149         Implement nproc for mingw.
29150         * lib/nproc.c: Include <windows.h>
29151         (num_processors): On native Windows platforms, try GetSystemInfo.
29152
29153 2009-10-18  Bruno Haible  <bruno@clisp.org>
29154
29155         Implement nproc for IRIX.
29156         * lib/nproc.c: Include <sys/sysmp.h>.
29157         (num_processors): On IRIX systems, try sysmp.
29158         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
29159
29160 2009-10-18  Bruno Haible  <bruno@clisp.org>
29161
29162         Implement nproc for HP-UX.
29163         * lib/nproc.c: Include <sys/pstat.h>
29164         (num_processors): On HP-UX systems, try pstat_getdynamic.
29165         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
29166         pstat_getdynamic.
29167
29168 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
29169             Bruno Haible  <bruno@clisp.org>
29170
29171         Implement nproc for NetBSD, OpenBSD.
29172         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
29173         (ARRAY_SIZE): New macro.
29174         (num_processors): On BSD systems, try sysctl of HW_NCPU.
29175         * m4/nproc.m4: New file.
29176         * modules/nproc (Files): Add m4/nproc.m4.
29177         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
29178         (Makefile.am): Instead, augment lib_SOURCES.
29179
29180 2009-10-18  Bruno Haible  <bruno@clisp.org>
29181
29182         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
29183         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
29184         sys/param.h.
29185
29186 2009-10-16  Eric Blake  <ebb9@byu.net>
29187
29188         utimensat: new module
29189         * modules/utimensat: New file.
29190         * lib/utimensat.c (utimensat): Likewise.
29191         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
29192         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
29193         so we can work around Linux bugs.
29194         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
29195         * modules/sys_stat (Makefile.am): Substitute them.
29196         * lib/sys_stat.in.h (utimensat): Declare it.
29197         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29198         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
29199         * modules/utimensat-tests: New test.
29200         * tests/test-utimensat.c: Likewise.
29201
29202         utimens: let lutimens work on non-symlinks
29203         * lib/utimens.c (lutimens): Fall back to utimens rather than
29204         failing with ENOSYS, when file is not a symlink.
29205         (utimens): Reduce redirection.
29206         * tests/test-lutimens.h (test_lutimens): Update test to cover
29207         non-symlinks.
29208         * tests/test-utimens.h (test_utimens): Update test to cover
29209         symlinks.
29210         * tests/test-utimens.c (main): Update caller.
29211
29212         utimens: cache whether utimensat syscall works
29213         * lib/utimens.c (utimensat_works_really): New cache variable.
29214         (fdutimens, lutimens): Use it to avoid failing syscall.
29215
29216         test-stat-time, test-utimens: improve portability
29217         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
29218         ext4 on alpha, and for cygwin.
29219         * tests/test-utimens-common.h: New file.
29220         (nap): Factor delays into single function.
29221         * tests/test-lutimens.h (test_lutimens): Use new header.
29222         * tests/test-futimens.h (test_futimens): Likewise.
29223         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
29224         timestamps to occur from same machine, as was done previously for
29225         test_utimens.
29226         * modules/utimens-tests (Files): Ship new file.
29227         * modules/futimens-tests (Files): Likewise.
29228         Reported in part by Jim Meyering.
29229
29230         sys_stat: sort replacement declarations
29231         * lib/sys_stat.in.h: Sort declarations.
29232         * lib/futimens.c (futimens): Fix typo.
29233
29234 2009-10-15  Jim Meyering  <meyering@redhat.com>
29235
29236         don't let environment settings perturb build
29237         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
29238         could cause a configure-time and/or build-time malfunction.
29239         Typically, a configure-time function-in-library test is performed
29240         via code like this:
29241
29242           LIB_VAR=
29243           AC_SUBST([LIB_VAR])
29244           prefix_saved_LIBS=$LIBS
29245             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
29246                        [test "$ac_cv_search_FUNC" = "none required" ||
29247                         LIB_VAR=$ac_cv_search_FUNC])
29248           LIBS=$prefix_saved_LIBS
29249
29250         However, in each of the files affected by this change, the LIB_VAR=
29251         initialization was omitted.  Thus, when set in the environment, its
29252         value would propagate into generated Makefiles when FUNC is not found
29253         in LIB_NAME.
29254         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
29255         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
29256         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
29257
29258 2009-10-14  Eric Blake  <ebb9@byu.net>
29259
29260         fchdir: avoid infinite recursion in mingw
29261         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
29262         recursing.
29263
29264         test-stat-time: port to mingw
29265         * tests/test-stat-time.c (force_unlink): Return a value.
29266         (test_ctime) [W32]: Fix compilation error.
29267         (nap): Don't call usleep with too large an argument.  Use
29268         force_unlink.
29269         * doc/pastposix-functions/usleep.texi (usleep): Document the
29270         portability issue.
29271
29272 2009-10-13  Jim Meyering  <meyering@redhat.com>
29273
29274         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
29275         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
29276         * modules/pipe-filter-ii: Likewise.
29277         * modules/sys_socket-tests: Likewise.
29278         * modules/tsearch-tests: Likewise.
29279         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
29280         (check): Depend on it.
29281
29282 2009-10-12  Eric Blake  <ebb9@byu.net>
29283
29284         utimens-tests: port to NFS file systems
29285         * tests/test-utimens.h (test_utimens): Refactor utimecmp
29286         comparisons to avoid spurious failures from timestamp drift
29287         between NFS machines.
29288
29289 2009-10-12  Eric Blake  <ebb9@byu.net>
29290
29291         stat-time-tests: minor cleanups
29292         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
29293         * tests/test-stat-time.c (nap): Separate assignment from call.
29294         Suggested by Paolo Bonzini and Bruno Haible.
29295
29296         sys_stat: guarantee struct timespec
29297         * lib/sys_stat.in.h (includes): Always include <time.h>
29298         * modules/sys_stat (Depends-on): Add time.
29299         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
29300         mode_t permission values.
29301         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
29302         get at subsecond timestamps.
29303
29304 2009-10-10  Eric Blake  <ebb9@byu.net>
29305
29306         futimens: new module
29307         * modules/futimens: New file.
29308         * lib/futimens.c (futimens): Likewise.
29309         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
29310         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
29311         we can work around Linux bugs.
29312         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
29313         * modules/sys_stat (Makefile.am): Substitute them.
29314         * lib/sys_stat.in.h (futimens): Declare it.
29315         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29316         * doc/posix-functions/futimens.texi (futimens): Likewise.
29317         * modules/futimens-tests: New test.
29318         * tests/test-futimens.c: Likewise.
29319
29320         utimens: introduce fdutimens
29321         * lib/utimens.h (fdutimens): New prototype.
29322         * lib/utimens.c (gl_futimens): Move guts...
29323         (fdutimens): ...to new interface.
29324         * tests/test-utimens.c (do_fdutimens): Use it.
29325
29326         utimens: add UTIME_NOW and UTIME_OMIT support
29327         * lib/utimens.c (validate_timespec, update_timespec): New helper
29328         functions.
29329         (gl_futimens, lutimens): Use them.
29330         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
29331         stdbool, sys_stat.
29332         (Link): Mention resulting library dependency.
29333         * modules/utimecmp (Link): Likewise.
29334         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
29335         (Makefile.am): Pick up library dependency.
29336         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
29337         definition.
29338         * tests/test-sys_stat.c: Test the definitions.
29339         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
29340         * NEWS: Document library dependency.
29341
29342         utimecmp: support symlink timestamps
29343         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
29344         hashing when possible.  Use pathconf when available.
29345         (SYSCALL_RESOLUTION): Recognize tighter resolution.
29346         * modules/utimecmp (Depends-on): Add lstat.
29347
29348         utimens: add lutimens interface
29349         * lib/utimens.c (lutimens): New function.
29350         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
29351         * lib/utimens.h (lutimens): Declare new interface.
29352         * tests/test-utimens.c (main): Enhance test.
29353         * tests/test-lutimens.h (test_lutimens): New file.
29354         * modules/utimens-tests (Files): Distribute it.
29355         (Depends-on): Add symlink.
29356         (configure.ac): Check for usleep.
29357
29358         utimens: validate futimens usage
29359         * lib/utimens.c (gl_futimens): Require valid fd up front, using
29360         fewer syscalls on failure later on.  Avoid compiler warning on
29361         mingw.
29362         * modules/utimens (Depends-on): Add dup2.
29363
29364         utimens: add test
29365         * modules/utimens-tests: New test.
29366         * tests/test-utimens.h: New file.
29367         * tests/test-futimens.h: Likewise.
29368         * tests/test-utimens.c: Likewise.
29369
29370         doc: mention timestamp portability issues
29371         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
29372         instead.
29373         * doc/posix-functions/utime.texi (utime): Likewise.
29374         * doc/posix-functions/utimes.texi (utimes): Likewise.
29375         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
29376         instead.
29377         * doc/posix-functions/futimens.texi (futimens): Mention utimens
29378         module.
29379         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
29380         Mention weakness with symlink timestamps.
29381         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
29382         to utimensat/futimens instead.
29383         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
29384
29385         test-dup2: enhance test
29386         * tests/test-dup2.c (main): Also check AT_FDCWD.
29387
29388         test-stat-time: avoid more spurious failures
29389         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
29390         xfs; and avoid race if the two timestamps cross quantization edge.
29391
29392         relocatable: prefer 'file system' over 'filesystem'
29393         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
29394         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
29395         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
29396         * doc/relocatable.texi (Enabling Relocatability): Likewise.
29397         * lib/relocatable.c (compute_curr_prefix): Likewise.
29398
29399 2009-10-10  Jim Meyering  <meyering@redhat.com>
29400
29401         stat-time-tests: check for the usleep function
29402         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
29403
29404 2009-10-10  Bruno Haible  <bruno@clisp.org>
29405
29406         * modules/xnanosleep: Put the Link section after the Include section.
29407
29408 2009-10-09  Eric Blake  <ebb9@byu.net>
29409
29410         dup2: work around FreeBSD 6.1 bug
29411         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
29412         * doc/posix-functions/dup2.texi (dup2): Document it.
29413         Reported by Nelson H. F. Beebe and Jim Meyering.
29414
29415         test-stat-time: port to buggy NFS clients
29416         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
29417         (test_ctime): Also skip test if mtime and ctime are skewed.
29418
29419         maint: prefer 'file system' over 'filesystem'
29420         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
29421         * doc/posix-functions/lstat.texi (lstat): Likewise.
29422         * lib/file-has-acl.c (file_has_acl): Likewise.
29423         * lib/fwriteerror.c [TEST]: Likewise.
29424         * tests/test-areadlink.h (test_areadlink): Likewise.
29425         * tests/test-areadlinkat-with-size.c (main): Likewise.
29426         * tests/test-areadlinkat.c (main): Likewise.
29427         * tests/test-canonicalize-lgpl.c (main): Likewise.
29428         * tests/test-canonicalize.c (main): Likewise.
29429         * tests/test-fstatat.c (main): Likewise.
29430         * tests/test-linkat.c (main): Likewise.
29431         * tests/test-lstat.h (test_lstat_func): Likewise.
29432         * tests/test-mkdir.h (test_mkdir): Likewise.
29433         * tests/test-readlink.h (test_readlink): Likewise.
29434         * tests/test-remove.c (main): Likewise.
29435         * tests/test-rename.h (test_rename): Likewise.
29436         * tests/test-renameat.c (main): Likewise.
29437         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29438         * tests/test-symlink.h (test_symlink): Likewise.
29439         * tests/test-symlinkat.c (main): Likewise.
29440         * tests/test-unlink.h (test_unlink_func): Likewise.
29441         * tests/test-unlinkat.c (main): Likewise.
29442
29443         maint: make realtime library usage explicit
29444         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
29445         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
29446         * modules/settime (Link): Likewise.
29447         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
29448
29449         test-stat-time: speed up execution
29450         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
29451         warning on mingw.
29452         (nap): New helper function.
29453         (prepare_test): Use it to reduce sleep time.
29454         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
29455         execution.
29456         * modules/stat-time-tests (configure.ac): Check for usleep.
29457
29458 2009-10-09  Jim Meyering  <meyering@redhat.com>
29459
29460         selinux-h: always use getfilecon wrappers
29461         * lib/getfilecon.c: New file.
29462         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
29463         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
29464         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
29465         (fgetfilecon): Provide a stub.
29466         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
29467         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
29468         file unconditionally.
29469         When <selinux/selinux.h> is found, arrange to use wrappers.
29470         * modules/selinux-h (Files): Add getfilecon.c.
29471         (Makefile.am): Substitute include-next-related bits
29472         into the now-always-generated selinux/selinux.h file.
29473         * doc/glibc-functions/lgetfilecon.texi: New file.
29474         * doc/glibc-functions/fgetfilecon.texi: New file.
29475         * doc/glibc-functions/getfilecon.texi: New file.
29476         * doc/glibc-functions/getfilecon-desc.texi: New file.
29477         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
29478         which to pull in the new files.
29479         * MODULES.html.sh (Misc): Add selinux-h.
29480
29481 2009-10-08  Jim Meyering  <meyering@redhat.com>
29482
29483         unistd: fix comment typo
29484         * lib/unistd.in.h (euidaccess): Fix a comment typo.
29485
29486 2009-10-08  Eric Blake  <ebb9@byu.net>
29487
29488         areadlink: use SIZE_MAX consistently
29489         * modules/areadlink (Depends-on): Add stdint.
29490         * modules/areadlink-with-size (Depends-on): Likewise.
29491         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
29492         gives NULL; drop sys/types, since unistd gives size_t; and add
29493         stdint for SIZE_MAX.
29494         (SIZE_MAX): Rely on headers.
29495         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
29496         and add stdint.
29497         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
29498         (SIZE_MAX): Likewise.
29499         (INITIAL_BUF_SIZE): Turn into enum.
29500         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
29501
29502 2009-10-08  Jim Meyering  <meyering@redhat.com>
29503
29504         areadlinkat: avoid compilation failure
29505         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
29506         Fix typo in comment.
29507
29508 2009-10-07  Eric Blake  <ebb9@byu.net>
29509
29510         areadlinkat-with-size: new module
29511         * modules/areadlinkat-with-size: New module.
29512         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
29513         * lib/areadlink.h (areadlinkat): Declare it.
29514         * MODULES.html.sh (File system functions): Mention it.
29515         * modules/areadlinkat-with-size-tests: New test.
29516         * tests/test-areadlinkat-with-size.c: New file.
29517
29518         xreadlinkat: new module
29519         * modules/xreadlinkat: New module.
29520         * lib/xreadlinkat.c (xreadlinkat): New file.
29521         * lib/xreadlink.h (xreadlinkat): Declare it.
29522         * MODULES.html.sh (File system functions): Mention it.
29523
29524         areadlinkat: new module
29525         * lib/at-func.c (FUNC_FAIL): New define.
29526         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
29527         * modules/areadlinkat: New module.
29528         * lib/linkat.c (areadlinkat): Move...
29529         * lib/areadlinkat.c (areadlinkat): ...to new file.
29530         * lib/areadlink.h (areadlinkat): Declare it.
29531         * modules/linkat (Depends-on): Add areadlinkat.
29532         * MODULES.html.sh (File system functions): Mention it.
29533         * modules/areadlinkat-tests: New test.
29534         * tests/test-areadlinkat.c: New file.
29535
29536         areadlink, areadlink-with-size: add tests
29537         * modules/areadlink-tests: New test.
29538         * modules/areadlink-with-size-tests: Likewise.
29539         * tests/test-areadlink.h: New file.
29540         * tests/test-areadlink.c: Likewise.
29541         * tests/test-areadlink-with-size.c: Likewise.
29542
29543         maint: minor cleanups
29544         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
29545         _UNUSED_PARAMETER_ instead.
29546         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
29547         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
29548         * modules/linkat-tests (Files): Distribute test-link.h.
29549
29550         openat, utimens: whitespace cleanup
29551         * lib/openat.c: Prefer space throughout, rather than mix of 8
29552         spaces vs. tabs.
29553         * lib/at-func.c: Likewise.
29554         * lib/utimens.c: Likewise.
29555
29556         openat: avoid using wrong fd
29557         * lib/openat.c (openat_permissive): Reject user's fd if saving the
29558         working directory chooses same fd.
29559         * lib/at-func.c (AT_FUNC_NAME): Likewise.
29560
29561         mkdir, mkdirat: fix cygwin 1.5.x bug
29562         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
29563         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
29564         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
29565         bug.
29566         (gl_PREREQ_MKDIR): Delete unused macro.
29567         * modules/mkdir (Files): Track file rename.
29568         (configure.ac): Update macro name.
29569         * modules/openat (Depends-on): Add mkdir.
29570         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
29571
29572         mkdir, mkdirat: add tests
29573         * modules/mkdir-tests: New test.
29574         * tests/test-mkdir.h: New file.
29575         * tests/test-mkdir.c: Likewise.
29576         * tests/test-mkdirat.c: Likewise.
29577         * modules/openat-tests (Files): Add new files.
29578         (Makefile.am): Run new test.
29579
29580 2009-10-06  Eric Blake  <ebb9@byu.net>
29581
29582         doc: tweak *at function documentation
29583         * doc/posix-functions/faccessat.texi (faccessat): Mention
29584         known issue with replacement.
29585         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
29586         * doc/posix-functions/linkat.texi (linkat): Likewise.
29587         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
29588         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
29589         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
29590         * doc/posix-functions/renameat.texi (renameat): Likewise.
29591         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
29592
29593         openat: fix GNU/Hurd bug in unlinkat
29594         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
29595         broken.
29596         * doc/posix-functions/unlink.texi (unlink): Document this.
29597         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
29598
29599         fdopendir: fix GNU/Hurd bug
29600         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
29601         allowing non-directory fds.
29602         * lib/fdopendir.c (rpl_fdopendir): Work around it.
29603         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29604         * modules/dirent (Makefile.am): Substitute it.
29605         * lib/dirent.in.h (fdopendir): Declare replacement.
29606         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
29607         * tests/test-fdopendir.c (main): Test something other than
29608         /dev/null, since on Hurd that behaves like a directory.
29609
29610         test-symlink: port to GNU/Hurd
29611         * tests/test-symlink.h (test_symlink): Relax expected errno.
29612
29613         doc: tweak more cygwin information
29614         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
29615         now compatible with glibc.
29616         * doc/posix-functions/getopt.texi (getopt): Likewise.
29617
29618         getopt-gnu: add another test
29619         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
29620         guarantee behavior relied on by m4.
29621         * tests/test-getopt.c (main): Use it.
29622         * modules/getopt-posix-tests (Depends-on): Add setenv.
29623         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
29624
29625         getopt: fix compilation on darwin
29626         * lib/getopt.in.h (includes): Leave breadcrumbs during system
29627         include.
29628         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
29629         Reported by Ludovic Courtès.
29630
29631 2009-10-06  Bruno Haible  <bruno@clisp.org>
29632
29633         * modules/size_max (Description): Discourage its use.
29634         Reported by Simon Josefsson.
29635
29636 2009-10-06  Jim Meyering  <meyering@redhat.com>
29637
29638         linkat: avoid compilation failure
29639         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
29640
29641 2009-10-05  Eric Blake  <ebb9@byu.net>
29642
29643         linkat: support Linux 2.6.17
29644         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
29645         linkat on Linux, but allow cache variable override.
29646         * lib/linkat.c (rpl_linkat): Define override.
29647         * modules/linkat (Depends-on): Add symlinkat.
29648         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
29649         * modules/unistd (Makefile.am): Substitute it.
29650         * lib/unistd.in.h (linkat): Declare replacement.
29651         Reported by PĂ¡draig Brady.
29652
29653         quotearg: port test to systems with C.UTF-8 locale
29654         * tests/test-quotearg.c (struct result_strings): Add another
29655         member, differentiating between C.ASCII and C.UTF-8 handling.
29656         (compare_strings): Add parameter.
29657         (main): Adjust all callers.
29658
29659         getopt: avoid clash with FreeBSD _getopt_internal
29660         * lib/getopt.in.h (_getopt_internal): Override the name.
29661         * lib/getopt_int.h (includes): Pick up any overrides.
29662         Reported by Reuben Thomas.
29663
29664         hash: allow C89 compilation
29665         * lib/hash.c (check_tuning): Move declaration before statement.
29666         Reported by Reuben Thomas.
29667
29668 2009-10-05  Karl Berry  <karl@gnu.org>
29669
29670         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
29671
29672 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
29673             Bruno Haible  <bruno@clisp.org>
29674
29675         * lib/uname.c (uname): Use a table-driven algorithm to compute
29676         Windows NT versions.
29677
29678 2009-10-04  Bruno Haible  <bruno@clisp.org>
29679
29680         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
29681         program_invocation_short_name.
29682         * modules/progname (configure.ac): Test for presence of
29683         program_invocation_short_name.
29684         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
29685
29686 2009-10-04  Bruno Haible  <bruno@clisp.org>
29687
29688         * lib/progname.c (set_program_name): Fix comment.
29689         Reported by Jim Meyering.
29690
29691 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
29692             Bruno Haible  <bruno@clisp.org>
29693
29694         * lib/uname.c: Include <string.h>.
29695         (uname): Do only one call to GetVersionEx in the common case.
29696
29697 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
29698             Bruno Haible  <bruno@clisp.org>
29699
29700         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
29701         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
29702         (uname): Add support for Windows CE and various non-x86 CPU types.
29703
29704 2009-10-03  Bruno Haible  <bruno@clisp.org>
29705
29706         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
29707         invocation to tests/configure.ac.
29708         Reported by Ian Beckwith <ianb@erislabs.net>.
29709
29710 2009-10-02  Eric Blake  <ebb9@byu.net>
29711
29712         fchdir: avoid compiler warning
29713         * lib/fchdir.c (canonicalize_file_name)
29714         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
29715
29716         test-open: support mingw errno values
29717         * tests/test-open.h (test_open): Relax test.
29718         * tests/test-fopen.h (test_fopen): Likewise.
29719         * tests/test-openat-safer.c (main): Likewise.
29720
29721         open: fix opening directory on mingw
29722         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
29723
29724         test-open: on GNU/Hurd, /dev/null is a directory
29725         * tests/test-fopen.h (main): Rename...
29726         (test_fopen): ...to this.  Use a guaranteed non-directory when
29727         confirming open behavior on trailing slash.
29728         * tests/test-openat-safer.c (main): Likewise.
29729         * tests/test-open.h (main): Likewise....
29730         (test_open): ...to this.
29731         * tests/test-fopen.c (main): Adjust caller.
29732         * tests/test-fopen-safer.c (main): Likewise.
29733         * tests/test-open.c (main): Likewise.
29734         * tests/test-fcntl-safer.c (main): Likewise.
29735         Reported by Samuel Thibault.
29736
29737         rename, fchdir: don't ignore chdir failure
29738         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
29739         * lib/rename.c (rpl_rename) [W32]: Likewise.
29740         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
29741         an empty destination directory if source cannot be renamed,
29742         although there is still possibility for failure.
29743         * doc/posix-functions/rename.texi (rename): Document the race.
29744         Reported by Jim Meyering.
29745
29746         maint: cleanup whitespace in recent commits
29747         * lib/rename.c (rpl_rename): Remove tabs.
29748         * tests/test-link.h (test_link): Likewise.
29749         * lib/fchdir.c (get_name): Likewise.
29750         Reported by Jim Meyering.
29751
29752 2009-10-02  Ben Pfaff  <blp@gnu.org>
29753
29754         relocatable-prog-wrapper: Add missing dependency on
29755         double-slash-root.
29756         * modules/relocatable-prog-wrapper: Add dependency.
29757         Reported by Ian Beckwith <ianb@erislabs.net>.
29758
29759 2009-10-02  Eric Blake  <ebb9@byu.net>
29760
29761         renameat: fix Solaris bugs
29762         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
29763         needed fixing.
29764         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
29765         * modules/stdio (Makefile.am): Substitute it.
29766         * lib/stdio.in.h (renameat): Declare replacement.
29767         * lib/renameat.c (rpl_renameat): Implement fix.
29768
29769         renameat: new module
29770         * modules/renameat: New file.
29771         * lib/renameat.c (renameat): Likewise.
29772         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
29773         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
29774         * modules/stdio (Makefile.am): Substitute them.
29775         * lib/stdio.in.h (renameat): Declare it.
29776         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29777         * doc/posix-functions/renameat.texi (renameat): Likewise.
29778         * modules/renameat-tests: New test.
29779         * tests/test-renameat.c: Likewise.
29780
29781         rename: fix mingw bugs
29782         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
29783         directory overwrite bugs.
29784
29785         rename: fix another cygwin 1.5 bug
29786         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
29787         checks.
29788         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
29789         unnecessary cygwin workarounds.  Also work around bug with moving
29790         full directory onto an empty one.
29791         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
29792
29793         rename-dest-slash: merge into rename module
29794         * modules/rename-dest-slash (Status): Mark obsolete.
29795         (Depends-on): Add rename.
29796         (Files): Let rename do it all.
29797         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
29798         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
29799         * m4/rename-dest-slash.m4: ...so this file can be deleted.
29800         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
29801         * lib/rename.c (rpl_rename): Update comments.
29802
29803         rename: fix cygwin 1.5.x bugs
29804         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
29805         * lib/rename.c (rpl_rename): Work around them.
29806         * modules/rename (Depends-on): Add same-inode.
29807
29808         rename: fix Solaris 10 bug
29809         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
29810         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
29811         was the only bug.
29812
29813         rename: fix Solaris 9 bug
29814         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
29815         on non-directory.  Avoid calling exit.
29816         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
29817         strdup.
29818         * modules/rename-tests (Depends-on): Drop lstat.
29819         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
29820         (gl_PREREQ_RENAME): Delete unused macro.
29821
29822         rename-dest-slash: fix NetBSD bug
29823         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
29824         links.
29825         * modules/rename-dest-slash (Depends-on): Add same-inode.
29826
29827         rename-tests: new test, exposes several platform bugs
29828         * modules/rename-tests: New file.
29829         * tests/test-rename.h: Likewise.
29830         * tests/test-rename.c: Likewise.
29831         * doc/posix-functions/rename.texi (rename): Improve documentation,
29832         including bugs that will eventually be fixed in gnulib.
29833
29834 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
29835
29836         * lib/uname.c: Include <stdlib.h>
29837         (uname): Assume version info is available.
29838
29839 2009-10-02  Jim Meyering  <meyering@redhat.com>
29840
29841         gnu-web-doc-update: correct --help output
29842         * build-aux/gnu-web-doc-update: Make --help output relevant.
29843
29844         gnu-web-doc-update: add standard options
29845         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
29846
29847         gnu-web-doc-update: New module.
29848         Use this script to automatically update the on-line web documentation
29849         for your GNU project at http://www.gnu.org/software/$pkg/manual/
29850         * modules/gnu-web-doc-update: New file, from coreutils.
29851         * build-aux/gnu-web-doc-update: New script.
29852
29853 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
29854
29855         link: LoadLibrary is not needed.
29856         * lib/link.c: Use GetModuleHandle.
29857
29858 2009-10-01  Eric Blake  <ebb9@byu.net>
29859
29860         getopt: bump serial number
29861         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
29862         change.
29863
29864         tests: tighten link, rmdir, and remove tests
29865         * tests/test-link.h (includes): No need to use <config.h> here.
29866         Clean up if directory hard link was created, otherwise test for
29867         trailing '.'.
29868         * tests/test-linkat.c (main): Simplify.
29869         * tests/test-remove.c (main): Enhance test for trailing '.'.
29870         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29871
29872 2009-10-01  Jim Meyering  <meyering@redhat.com>
29873
29874         maint.mk: requiring "make major" was annoying, for a "minor" release.
29875         What is intended is "stable", to contrast with alpha and beta,
29876         so require "make stable", not "make major".
29877         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
29878         (get_tool_versions): Likewise.
29879         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
29880
29881 2009-09-30  Ben Pfaff  <blp@gnu.org>
29882
29883         Fix broken build of replacement for Windows tmpfile().
29884         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
29885         flags argument added along with the 'mkostemp' module.
29886
29887 2009-09-28  Bruno Haible  <bruno@clisp.org>
29888
29889         Avoid identifier clash with POSIX function 'remove' defined as a macro.
29890         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
29891         to 'remove_elt'.
29892         (gl_list_remove): Update.
29893         * lib/gl_list.c (gl_list_remove): Update.
29894         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
29895         to 'remove_elt'.
29896         (gl_oset_remove): Update.
29897         * lib/gl_list.c (gl_oset_remove): Update.
29898         Reported by Eric Blake.
29899
29900 2009-09-28  Eric Blake  <ebb9@byu.net>
29901
29902         doc: mention yet more cygwin 1.7 status
29903         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
29904         cygwin.
29905         * doc/glibc-functions/execvpe.texi (execvpe): New file.
29906         * doc/gnulib.texi (Glibc unistd.h): Mention it.
29907
29908         argp: fix test failure
29909         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
29910         that are not upper-case.  Pass correct range to tolower.
29911
29912 2009-09-27  Jim Meyering  <meyering@redhat.com>
29913
29914         test-yesno: work around sparc-dash here-document infelicity
29915         Without this change, the literal \177 byte in a here document
29916         would make dash 0.5.5.1-3 access uninitialized memory.
29917         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
29918         Instead, use a marker, "@", and filter through tr to create the desired
29919         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
29920
29921 2009-09-27  Bruno Haible  <bruno@clisp.org>
29922
29923         Disable untested support for new flavours of ACLs on AIX.
29924         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
29925         progress.
29926         * lib/set-mode-acl.c (qset_acl): Likewise.
29927
29928 2008-12-07  Bruno Haible  <bruno@clisp.org>
29929
29930         Add support for new flavours of ACLs on AIX. (Untested.)
29931         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
29932         (file_has_acl): Add support for newer AIX.
29933         * lib/set-mode-acl.c (qset_acl): Likewise.
29934         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
29935         Rainer Tammer <tammer@tammer.net>.
29936
29937 2009-09-26  Eric Blake  <ebb9@byu.net>
29938
29939         argp: fix compilation of getopt
29940         * lib/getopt.in.h (includes): Use different guard than glibc.
29941         Reported by Sergey Poznyakoff.
29942
29943         doc: mention more cygwin 1.7 status
29944         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
29945         bug.
29946         * doc/posix-functions/execl.texi (execl): Likewise.
29947         * doc/posix-functions/execle.texi (execle): Likewise.
29948         * doc/posix-functions/execlp.texi (execlp): Likewise.
29949         * doc/posix-functions/execv.texi (execv): Likewise.
29950         * doc/posix-functions/execve.texi (execve): Likewise.
29951         * doc/posix-functions/execvp.texi (execvp): Likewise.
29952         * doc/glibc-functions/canonicalize_file_name.texi
29953         (canonicalize_file_name): Cygwin 1.7 now provides this.
29954         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
29955         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
29956         on AT_SYMLINK_NOFOLLOW.
29957
29958 2009-09-24  Eric Blake  <ebb9@byu.net>
29959
29960         test-linkat: make test more robust
29961         * tests/test-linkat.c (main): Avoid collision with EEXIST.
29962
29963         getopt: fix inclusion guards for cygwin
29964         * modules/getopt-posix (Depends-on): Add include-next.
29965         (Makefile.am): Substitute more items in replacement header.
29966         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
29967         <getopt.h>.
29968         * lib/getopt.in.h (includes): Use split inclusion guard, and
29969         prefer <getopt.h> over include <unistd.h> when one is present.
29970         (option): Also override name of 'struct option'.
29971
29972         same-inode: revert prior change; it is not yet ready
29973         * NEWS: Undo mention of this change.
29974         * lib/same-inode.h (same-inode.h): Undo tri-state change.
29975         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
29976         * lib/cycle-check.c (cycle_check): Likewise.
29977         * lib/same.c (same_name): Likewise.
29978         * lib/at-func2.c (at_func2): Likewise.
29979
29980 2009-09-23  Eric Blake  <ebb9@byu.net>
29981
29982         linkat: new module
29983         * modules/linkat: New file.
29984         * lib/at-func2.c (at_func2): Likewise.
29985         * lib/linkat.c (linkat): Likewise.
29986         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
29987         * lib/openat-priv.h (at_func2): Add declaration.
29988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
29989         * modules/unistd (Makefile.am): Substitute them.
29990         * lib/unistd.in.h (linkat): Declare it.
29991         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29992         * doc/posix-functions/linkat.texi (linkat): Likewise.
29993         * doc/posix-functions/link.texi (link): Tweak wording.
29994         * tests/test-link.c (main): Move guts...
29995         * tests/test-link.h (test_link): ...into new file.
29996         * modules/linkat-tests: New test.
29997         * tests/test-linkat.c: Likewise.
29998         * modules/link-tests (Files): Ship new file.
29999         (Depends-on): Add stdbool.
30000
30001         dirname: add library-safe mdir_name
30002         * lib/dirname.h (mdir_name): New prototype.
30003         * lib/dirname.c (dir_name): Move guts...
30004         (mdir_name): ...to new function that avoids xalloc_die.
30005
30006         fchdir: another mingw fix
30007         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
30008         * lib/fchdir.c (get_name): New helper method; skips canonicalize
30009         on mingw (where it has not yet been ported), and make it optional
30010         elsewhere.
30011         (_gl_register_fd): Use it.
30012
30013         same-inode: make SAME_INODE tri-state, to port to mingw
30014         * NEWS: Mention this change.
30015         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
30016         st_ino always being 0.
30017         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
30018         * lib/cycle-check.c (cycle_check): Likewise.
30019         * lib/same.c (same_name): Likewise.
30020
30021         lstat: avoid mingw compilation error
30022         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
30023         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
30024         lstat ourselves.
30025         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
30026         was adequate.
30027         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
30028         the checks for lstat.
30029         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
30030
30031         link: fix test failure on Solaris 9
30032         * lib/link.c (rpl_link): Don't assume link will catch bogus
30033         trailing slash on source.
30034
30035         test-symlinkat: enhance test
30036         * tests/test-readlink.c (main): Move guts...
30037         * tests/test-readlink.h (test_readlink): ...into new file.
30038         * tests/test-symlink.c (main): Move guts...
30039         * tests/test-symlink.h (test_symlink): ...into new file.
30040         * tests/test-symlinkat.c (main): Use new files for further
30041         coverage.
30042         (do_symlink, do_readlink): New helper functions.
30043         * modules/symlink-tests (Files): Ship new file.
30044         (Depends-on): Add stdbool.
30045         * modules/readlink-tests (Files): Ship new file.
30046         (Depends-on): Add stdbool.
30047         * modules/symlinkat-tests (Files): Use new files.
30048
30049 2009-09-23  Eric Blake  <ebb9@byu.net>
30050
30051         readlink: document portability issue with symlink length
30052         * doc/posix-functions/lstat.texi (lstat): Mention that some file
30053         systems have bogus st_size on symlinks, and mention the
30054         areadlink-with-size module.
30055         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
30056         * doc/posix-functions/readlink.texi (readlink): Mention the
30057         areadlink module, and ERANGE failure.
30058         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30059         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
30060
30061         readlink: fix Solaris 9 bug with trailing slash
30062         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
30063         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
30064         * doc/posix-functions/readlink.texi (readlink): Document this.
30065         * modules/readlink-tests: New test.
30066         * tests/test-readlink.c: Likewise.
30067
30068         readlink: fix cygwin 1.5.x bug with return type
30069         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
30070         * lib/unistd.in.h (readlink): Use ssize_t.
30071         * lib/readlink.c (readlink): Likewise.
30072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30073         * modules/unistd (Makefile.am): Substitute it.
30074         * lib/unistd.in.h (readlink): Declare replacement.
30075         * doc/posix-functions/readlink.texi (readlink): Document this.
30076
30077         symlink: use throughout gnulib
30078         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
30079         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
30080         symlink is not used.
30081         * modules/symlinkat (Depends-on): Add symlink.
30082         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30083         * modules/canonicalize-tests (Depends-on): Likewise.
30084         * modules/lstat-tests (Depends-on): Likewise.
30085         * modules/openat-tests (Depends-on): Likewise.
30086         * modules/remove-tests (Depends-on): Likewise.
30087         * modules/rmdir-tests (Depends-on): Likewise.
30088         * modules/unlink-tests (Depends-on): Likewise.
30089         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
30090         * tests/test-canonicalize.c (symlink): Likewise.
30091         * tests/test-fstatat.c (symlink): Likewise.
30092         * tests/test-lstat.c (symlink): Likewise.
30093         * tests/test-remove.c (symlink): Likewise.
30094         * tests/test-rmdir.c (symlink): Likewise.
30095         * tests/test-unlink.c (symlink): Likewise.
30096         * tests/test-unlinkat.c (symlink): Likewise.
30097
30098         symlink: new module, for Solaris 9 bug
30099         * modules/symlink: New file.
30100         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
30101         * lib/symlink.c: Likewise.
30102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
30103         * modules/unistd (Makefile.am): Substitute them.
30104         * lib/unistd.in.h (symlink): Declare replacement.
30105         * MODULES.html.sh (File system functions): Mention it.
30106         * doc/posix-functions/symlink.texi (symlink): Likewise.
30107         * modules/symlink-tests: New test.
30108         * tests/test-symlink.c: Likewise.
30109
30110 2009-09-23  Bruno Haible  <bruno@clisp.org>
30111
30112         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
30113         when needed.
30114         Test case: gnulib-tool --import --with-tests atexit inttypes.
30115         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
30116
30117 2009-09-23  Bruno Haible  <bruno@clisp.org>
30118
30119         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
30120         subcommand, not in a subshell.
30121
30122 2009-09-22  Eric Blake  <ebb9@byu.net>
30123
30124         unistd: sort replacement declarations
30125         * lib/unistd.in.h: Sort declarations.
30126
30127         open, openat: minor optimization
30128         * lib/open.c (open): If open succeeded, len is non-zero.
30129         * lib/openat.c (rpl_openat): Likewise.
30130
30131         link-follow: ensure correct result
30132         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
30133         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
30134         distinguish between possible failures.
30135
30136 2009-09-21  Eric Blake  <ebb9@byu.net>
30137
30138         fts: avoid compiler warning
30139         * lib/fts.c (dirent_inode_sort_may_be_useful)
30140         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
30141
30142 2009-09-19  Bruno Haible  <bruno@clisp.org>
30143
30144         * lib/progreloc.c (canonicalize_file_name): New declaration.
30145
30146 2009-09-19  Eric Blake  <ebb9@byu.net>
30147
30148         link: fix quoting
30149         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
30150
30151         openat: fix openat bugs on Solaris 9
30152         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
30153         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
30154         * modules/openat (Depends-on): Add open.
30155         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
30156         * modules/fcntl-h (Makefile.am): Substitute it.
30157         * lib/fcntl.in.h (openat): Declare replacement.
30158         * doc/posix-functions/openat.texi (openat): Document this.
30159
30160         openat: move fstatat and unlinkat into correct files
30161         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
30162         compiled.
30163         * lib/openat.c (fstatat, unlinkat): Move...
30164         * lib/fstatat.c (fstatat): ...into correct files.
30165         * lib/unlinkat.c (unlinkat): Likewise.
30166
30167         openat: fix unlinkat bugs on Solaris 9
30168         * lib/unlinkat.c (unlinkat): New file.
30169         * modules/openat (Depends-on): Add unlink.
30170         (Files): Distribute it.
30171         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
30172         trailing slash behavior is broken.
30173         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30174         * modules/unistd (Makefile.am): Substitute it.
30175         * lib/unistd.in.h (unlinkat): Declare replacement.
30176         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
30177
30178         openat: fix fstatat bugs on Solaris 9
30179         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
30180         stat.
30181         * doc/posix-functions/fstatat.texi (fstatat): Document this.
30182
30183         test-unlinkat: enhance test, to expose Solaris 9 bug
30184         * tests/test-unlink.c (main): Factor guts...
30185         * tests/test-unlink.h (test_rmdir_func): ...into new file.
30186         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
30187         * tests/test-rmdir.c (main): Adjust caller.
30188         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
30189         (unlinker): New helper function.
30190         (rmdirat): Enhance check.
30191         * modules/rmdir-tests (Depends-on): Add stdbool.
30192         * modules/unlink-tests (Depends-on): Likewise.
30193         (Files): Add test-unlink.h.
30194         * modules/openat-tests (Files): Likewise.
30195         (Depends-on): Add unlinkdir.
30196
30197         test-fstatat: new test, to expose Solaris 9 bugs
30198         * tests/test-stat.c (main): Factor guts...
30199         * tests/test-stat.h (test_stat_func): ...into new file.
30200         * tests/test-lstat.c (main): Factor guts...
30201         * tests/test-lstat.h (test_lstat_func): ...into new file.
30202         * tests/test-fstatat.c: New file.
30203         * modules/stat-tests (Files): Add test-stat.h.
30204         * modules/lstat-tests (Files): Add test-lstat.h.
30205         (Depends-on): Add stdbool.
30206         * modules/openat-tests (Depends-on): Add pathmax.
30207         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
30208         (Makefile.am): Run new test.
30209
30210         remove: new module, for mingw and Solaris 9 bugs
30211         * modules/remove: New file.
30212         * lib/remove.c: Likewise.
30213         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
30214         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
30215         * modules/stdio (Makefile.am): Use them.
30216         * lib/stdio.in.h (remove): Declare replacement.
30217         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30218         * doc/posix-functions/remove.texi (remove): Likewise.
30219         * modules/remove-tests: New test.
30220         * tests/test-remove.c: Likewise.
30221
30222         unlink: new module, for Solaris 9 bug
30223         * modules/unlink: New file.
30224         * lib/unlink.c: Likewise.
30225         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
30226         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
30227         * modules/unistd (Makefile.am): Use them.
30228         * lib/unistd.in.h (stat): Declare replacement.
30229         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30230         * doc/posix-functions/unlink.texi (unlink): Likewise.
30231         * modules/unlink-tests: New test.
30232         * tests/test-unlink.c: Likewise.
30233
30234         lstat: fix Solaris 9 bug
30235         * lib/lstat.c (lstat): Also check for trailing slash on
30236         non-symlink, non-directories.  Use stat module to simplify logic.
30237         * doc/posix-functions/lstat.texi (lstat): Document it.
30238         * modules/lstat-tests (Depends-on): Add errno, same-inode.
30239         (configure.ac): Check for symlink.
30240         * tests/test-lstat.c (main): Add more tests.
30241
30242         stat: add as dependency to other modules
30243         * modules/chown (Depends-on): Add stat.
30244         * modules/euidaccess (Depends-on): Likewise.
30245         * modules/fchdir (Depends-on): Likewise.
30246         * modules/isdir (Depends-on): Likewise.
30247         * modules/link (Depends-on): Likewise.
30248         * modules/lstat (Depends-on): Likewise.
30249         * modules/mkdir-p (Depends-on): Likewise.
30250         * modules/modechange (Depends-on): Likewise.
30251         * modules/open (Depends-on): Likewise.
30252         * modules/readlink (Depends-on): Likewise.
30253         * modules/same (Depends-on): Likewise.
30254
30255         stat: fix Solaris 9 bug
30256         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
30257         slash.
30258         * lib/stat.c (rpl_stat): Work around it.
30259         * doc/posix-functions/stat.texi (stat): Update documentation.
30260
30261         stat: new module, for mingw bug
30262         * modules/stat: New file.
30263         * lib/stat.c: Likewise.
30264         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
30265         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
30266         * modules/sys_stat (Makefile.am): Use them.
30267         * lib/sys_stat.in.h (stat): Declare replacement.
30268         * lib/openat.c (fstatat): Deal with lstat and stat being function
30269         macros.
30270         * modules/openat (Depends-on): Add inline.
30271         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30272         * doc/posix-functions/stat.texi (stat): Likewise.
30273         * modules/stat-tests: New test.
30274         * tests/test-stat.c: Likewise.
30275
30276 2009-09-19  Jim Meyering  <meyering@redhat.com>
30277
30278         syntax-check: detect unnecessary inclusion of canonicalize.h
30279         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
30280
30281 2009-09-19  Eric Blake  <ebb9@byu.net>
30282
30283         canonicalize-lgpl: adjust clients to use correct header
30284         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
30285         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
30286         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
30287         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
30288         * lib/progreloc.c (includes): Likewise.
30289
30290 2009-09-19  Jim Meyering  <meyering@redhat.com>
30291
30292         test-posixtm.c: correct a comment
30293         * tests/test-posixtm.c: Correct first-line comment.
30294         Spotted by Eric Blake.
30295
30296 2009-09-16  Jim Meyering  <meyering@redhat.com>
30297
30298         posixtm-tests: make T const-correct; add a test case
30299         * tests/test-posixtm.c (T): Declare const.
30300         Add a test for -(2^31+1).
30301         Remove useless can-succeed-only-in-2002 test.
30302
30303         posixtm-tests: adjust the sole failing test
30304         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
30305         expected output matches what mktime now produces.  Cross-checked via
30306         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
30307
30308         posixtm: move #ifdef'd tests into a new module
30309         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
30310         * tests/test-posixtm.c: ... this new file.
30311         * modules/posixtm-tests: New module.
30312
30313 2009-09-19  Eric Blake  <ebb9@byu.net>
30314
30315         openat: simplify use of at-func.c
30316         * lib/at-func.c (includes): Include prerequisites here, to
30317         simplify requirements on client files.
30318         * lib/openat-priv.h: Add double-inclusion guard.
30319         * lib/faccessat.c (includes): Simplify.
30320         * lib/fchmodat.c (includes): Likewise.
30321         * lib/fchownat.c (includes): Likewise.
30322         * lib/mkdirat.c (includes): Likewise.
30323         * lib/mkfifoat.c (includes): Likewise.
30324         * lib/symlinkat.c (includes): Likewise.
30325
30326         openat: allow return of fd 0
30327         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
30328         * modules/save-cwd (Depends-on): Replace fcntl-safer with
30329         unistd-safer.
30330         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
30331         <fcntl.h>; this module does not leak fds.
30332         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
30333         must be allowed to return 0, leaving openat_safer to add the
30334         safety.
30335         (openat_permissive): Avoid writing to just-opened fd 2 if
30336         restoring the current directory fails.
30337         * lib/openat-die.c (openat_restore_fail): Add comment.
30338         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
30339         (save_cwd): Guarantee safe fd, but without use of open_safer.
30340         * tests/test-openat.c: New test.
30341         * modules/openat-tests (Files, Makefile.am): Distribute and build
30342         new file.
30343
30344         relocatable-prog-wrapper: fix build
30345         * modules/relocatable-prog-wrapper (Files): Update name of
30346         canonicalize m4 file, broken on 2009-09-17.
30347         Reported by emad hajjar <aleppos@hotmail.com>.
30348
30349 2009-09-19  Bruno Haible  <bruno@clisp.org>
30350
30351         * lib/safe-alloc.h: Use the standard header with GPL copyright.
30352         * lib/safe-alloc.c: Likewise.
30353         Reported by Ian Beckwith <ianb@erislabs.net>.
30354
30355 2009-09-18  Bruno Haible  <bruno@clisp.org>
30356
30357         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
30358         Reported by <erobles@sensacd.com.mx>.
30359
30360 2009-09-17  Eric Blake  <ebb9@byu.net>
30361
30362         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
30363         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
30364         slashes when checking if last component is missing.
30365         * tests/test-canonicalize.c (main): Test this.
30366
30367         canonicalize, canonicalize-lgpl: honor // if distinct from /
30368         * modules/canonicalize (Files): Add double-slash-root.m4.
30369         * modules/canonicalize-lgpl (Files): Likewise.
30370         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
30371         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
30372         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
30373         fallback definition.
30374         (canonicalize_filename_mode): Use it to protect //.
30375         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
30376         (__realpath): Likewise.
30377         * tests/test-canonicalize.c (main): Test this.
30378         * tests/test-canonicalize-lgpl.c (main): Likewise.
30379         * modules/canonicalize-tests (Depends-on): Add same-inode.
30380         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30381
30382         canonicalize-lgpl: fix glibc bug with trailing slash
30383         * m4/canonicalize-lgpl.m4: Move contents...
30384         * m4/canonicalize.m4: ...here.
30385         (gl_CANONICALIZE_LGPL): Factor realpath check...
30386         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
30387         glibc 2.3.5 bug, fixed 2005-04-27.
30388         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
30389         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
30390         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
30391         * modules/canonicalize-lgpl (Files): Manage file rename.
30392         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
30393         * modules/stdlib (Makefile.am): Substitute witness.
30394         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
30395         is needed.
30396         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
30397         replacement is required.
30398         * lib/canonicalize.c (canonicalize_file_name): Likewise.
30399         * doc/glibc-functions/canonicalize_file_name.texi
30400         (canonicalize_file_name): Document this.
30401         * doc/posix-functions/realpath.texi (realpath): Likewise.
30402
30403         canonicalize-lgpl: reject non-directory with trailing slash
30404         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
30405         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
30406         catches failures in glibc 2.3.5.
30407         * tests/test-canonicalize.c (main): Likewise.
30408
30409         canonicalize-lgpl: use native realpath if it works
30410         * lib/canonicalize-lgpl.c (realpath): Guard with
30411         FUNC_REALPATH_WORKS.
30412         * lib/stdlib.in.h (realpath): Make declaration optional based on
30413         HAVE_REALPATH.
30414         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
30415         native realpath works.
30416         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
30417         * modules/stdlib (Makefile.am): Substitute witness.
30418
30419         canonicalize, canonicalize-lgpl: use <stdlib.h>
30420         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
30421         (Include): Mention <stdlib.h>.
30422         (configure.ac): Mention functions we provide.
30423         * modules/canonicalize (configure.ac): Likewise.
30424         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
30425         realpath if canonicalize_file_name is missing.
30426         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
30427         * modules/stdlib (Makefile.am): Substitute witnesses.
30428         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
30429         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
30430         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
30431         * NEWS: Document this.
30432         * doc/glibc-functions/canonicalize_file_name.texi
30433         (canonicalize_file_name): Likewise.
30434         * doc/posix-functions/realpath.texi (realpath): Likewise.
30435         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
30436
30437         test-canonicalize: consolidate into single C program
30438         * tests/test-canonicalize.sh: Delete; move setup into...
30439         * tests/test-canonicalize.c (main): ...the program, making it
30440         easier to run in debugger.  Add some tests.
30441         * modules/canonicalize-tests (Files): Remove unused file.
30442         (Depends-on): Add progname.
30443         (configure.ac, Makefile.am): Simplify.
30444
30445         test-canonicalize-lgpl: consolidate into single C program
30446         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
30447         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
30448         easier to run in debugger.  Add some tests.
30449         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
30450         (configure.ac, Makefile.am): Simplify.
30451
30452         canonicalize: avoid resolvepath
30453         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
30454         unnecessary checks.
30455         * lib/canonicalize.c (includes): Simplify.
30456         (canonicalize_file_name): Drop resolvepath implementation.
30457         * modules/canonicalize (Depends-on): Drop filenamecat.
30458
30459         canonicalize: don't lose errno
30460         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
30461         over calls to free.
30462
30463         canonicalize: simplify errno handling
30464         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
30465         assignment.
30466
30467         canonicalize, canonicalize-lgpl: update module dependencies
30468         * modules/canonicalize (Depends-on): Add extensions, lstat,
30469         pathmax, stdlib.
30470         (Files): Drop pathmax.h.
30471         (configure.ac): Adjust macro name.
30472         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
30473         lstat, stdlib, sys_stat.
30474         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
30475         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
30476         extensions.
30477         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
30478         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
30479         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
30480         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
30481         declaration, if available.
30482         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
30483         we can rely on the readlink module.
30484         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
30485         (includes): Use <unistd.h> unconditionally.
30486
30487 2009-09-17  Eric Blake  <ebb9@byu.net>
30488
30489         maint: make Include sections of modules consistent
30490         * modules/alloca: Use only header name; no need to list #include.
30491         * modules/alloca-opt: Likewise.
30492         * modules/arpa_inet: Likewise.
30493         * modules/canon-host: Likewise.
30494         * modules/configmake: Likewise.
30495         * modules/dirent: Likewise.
30496         * modules/eealloc: Likewise.
30497         * modules/environ: Likewise.
30498         * modules/fchdir: Likewise.
30499         * modules/fcntl: Likewise.
30500         * modules/fcntl-h: Likewise.
30501         * modules/gethrxtime: Likewise.
30502         * modules/gettime: Likewise.
30503         * modules/ignore-value: Likewise.
30504         * modules/inet_ntop: Likewise.
30505         * modules/inet_pton: Likewise.
30506         * modules/inttypes: Likewise.
30507         * modules/isnand-nolibm: Likewise.
30508         * modules/isnanf-nolibm: Likewise.
30509         * modules/mbchar: Likewise.
30510         * modules/mbfile: Likewise.
30511         * modules/mbiter: Likewise.
30512         * modules/mbuiter: Likewise.
30513         * modules/netdb: Likewise.
30514         * modules/netinet_in: Likewise.
30515         * modules/nproc: Likewise.
30516         * modules/pagealign_alloc: Likewise.
30517         * modules/poll: Likewise.
30518         * modules/printf-frexp: Likewise.
30519         * modules/pthread: Likewise.
30520         * modules/putenv: Likewise.
30521         * modules/random_r: Likewise.
30522         * modules/relocatable-prog: Likewise.
30523         * modules/search: Likewise.
30524         * modules/select: Likewise.
30525         * modules/selinux-h: Likewise.
30526         * modules/settime: Likewise.
30527         * modules/signal: Likewise.
30528         * modules/size_max: Likewise.
30529         * modules/socklen: Likewise.
30530         * modules/ssize_t: Likewise.
30531         * modules/stdarg: Likewise.
30532         * modules/stdbool: Likewise.
30533         * modules/stddef: Likewise.
30534         * modules/stdint: Likewise.
30535         * modules/stdio: Likewise.
30536         * modules/stdlib: Likewise.
30537         * modules/string: Likewise.
30538         * modules/strings: Likewise.
30539         * modules/sys_file: Likewise.
30540         * modules/sys_ioctl: Likewise.
30541         * modules/sys_select: Likewise.
30542         * modules/sys_socket: Likewise.
30543         * modules/sys_stat: Likewise.
30544         * modules/sys_time: Likewise.
30545         * modules/sys_times: Likewise.
30546         * modules/sys_utsname: Likewise.
30547         * modules/sys_wait: Likewise.
30548         * modules/sysexits: Likewise.
30549         * modules/time: Likewise.
30550         * modules/times: Likewise.
30551         * modules/tmpfile: Likewise.
30552         * modules/trim: Likewise.
30553         * modules/unistd: Likewise.
30554         * modules/wchar: Likewise.
30555         * modules/wctype: Likewise.
30556
30557 2009-09-17  Bruno Haible  <bruno@clisp.org>
30558
30559         Make getdate.y compile on QNX and NetBSD 5 / i386.
30560         * m4/getdate.m4 (gl_GETDATE): Conditionally define
30561         TIME_T_FITS_IN_LONG_INT.
30562         * lib/getdate.y (long_time_t): New type.
30563         (relative_time): Change type of 'seconds' field to long_time_t.
30564         (get_date): Update types of local variables. Check against overflow
30565         during conversion from long_time_t to time_t.
30566         Reported by Matt Kraai <kraai@ftbfs.org>
30567         and Hasso Tepper <hasso@netbsd.org>.
30568
30569 2009-09-17  Bruno Haible  <bruno@clisp.org>
30570
30571         * modules/COPYING: Update copyright years.
30572         * modules/README: Likeiwse.
30573         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
30574         Reported by Ian Beckwith <ianb@erislabs.net>.
30575
30576 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
30577
30578         * users.txt: Update references for gnuit package.
30579
30580 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
30581
30582         * m4/getdelim.m4: Fix typo in copyright line.
30583
30584 2009-09-17  Bruno Haible  <bruno@clisp.org>
30585
30586         * lib/atoll.c: Use the standard header with GPL copyright.
30587         * lib/argz.in.h: Likewise.
30588         * lib/glob.c: Likewise.
30589         * lib/glob-libc.h: Likewise.
30590         * lib/random_r.c: Likewise.
30591         * lib/siglist.h: Likewise.
30592         * lib/strsignal.c: Likewise.
30593         Reported by Ian Beckwith <ianb@erislabs.net>.
30594
30595 2009-09-17  Eric Blake  <ebb9@byu.net>
30596
30597         rmdir: ensure correct dependency order
30598         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
30599
30600 2009-09-17  Bruno Haible  <bruno@clisp.org>
30601
30602         Disable assertion that fails on NetBSD 5 / i386.
30603         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
30604         Reported by Sam Steingold <sds@gnu.org>
30605         and Hasso Tepper <hasso@netbsd.org>.
30606
30607 2009-09-16  Eric Blake  <ebb9@byu.net>
30608
30609         unlinkdir: port to mingw
30610         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
30611         on which no one can unlink a directory.
30612
30613         stdlib: sort witness names
30614         * modules/stdlib (Makefile.am): Sort replacements.
30615         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
30616         * lib/stdlib.in.h: Likewise.
30617
30618         parse-duration-tests: avoid link failure
30619         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
30620         LIBINTL.
30621         Reported by Tom G. Christensen.
30622
30623         openat-tests: ensure unlinkat behaves like rmdir
30624         * tests/test-rmdir.c (main): Factor guts...
30625         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
30626         * modules/rmdir-tests (Files): Ship new file.
30627         * modules/openat-tests: New test.
30628         * tests/test-unlinkat.c: Likewise.
30629
30630         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
30631         * modules/rmdir-errno (Status, Notice): Now obsolete.
30632
30633         rmdir: work around cygwin 1.5.x and mingw bugs
30634         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
30635         * lib/rmdir.c (rmdir): Work around it.
30636         * modules/rmdir (Status, Notice): No longer obsolete.
30637         (Files): Add dos.m4.
30638         (Depends-on): Add unistd.
30639         (configure.ac): Set witnesses.
30640         (License): Relax to LGPLv2+.
30641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
30642         * modules/unistd (Makefile.am): Substitute witnesses.
30643         * lib/unistd.in.h (rmdir): Declare replacement.
30644         * doc/posix-functions/rmdir.texi (rmdir): Document this.
30645         * modules/rmdir-tests: New tests.
30646         * tests/test-rmdir.c: Likewise.
30647
30648 2009-09-15  Eric Blake  <ebb9@byu.net>
30649
30650         fchdir: improve use of replacement functions
30651         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
30652         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
30653         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
30654         REPLACE_CLOSEDIR.
30655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
30656         * modules/sys_stat (Makefile.am): Substitute correct witness.
30657         * modules/dirent (Makefile.am): Likewise.
30658         * modules/unistd (Makefile.am): Likewise.
30659         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
30660         * lib/unistd.in.h (dup): Likewise.
30661         * lib/sys_stat.in.h (fstat): Likewise.
30662
30663         maint: ignore gnulib-tool temp files
30664         * .gitignore: Ignore files created during gnulib-tool --test.
30665
30666 2009-09-13  Jim Meyering  <meyering@redhat.com>
30667
30668         posixtm: don't reject a time that specify "60" as the number of seconds
30669         * lib/posixtm.c (posixtime): The code to reject invalid dates
30670         would also reject a time specified with the .60 suffix.
30671         But POSIX allows that, in order to accommodate leap seconds.
30672         So don't reject it.
30673         (main): Adjust tests accordingly.
30674         * modules/posixtm (Depends-on): Add stpcpy.
30675
30676 2009-09-11  Jim Meyering  <meyering@redhat.com>
30677
30678         announce-gen: include [$release_type] in emitted Subject:
30679         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
30680         e.g., [stable] in the emitted Subject: line.
30681
30682 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30683
30684         Remove obsolete macros from several modules.
30685         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
30686         obsolete Autoconf macros with their modern counterparts.
30687         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
30688         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
30689         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
30690         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
30691         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
30692         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
30693         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
30694         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
30695         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
30696         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
30697         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
30698         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
30699         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
30700         * m4/sockets.m4 (gl_SOCKETS): Likewise.
30701         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
30702         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
30703         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
30704         * m4/time_r.m4 (gl_TIME_R): Likewise.
30705         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
30706         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
30707         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
30708
30709         Fix copyright header in build-aux scripts.
30710         * build-aux/git-version-gen: Fix copyright header to match GPLv3
30711         recommendation.
30712         * build-aux/ncftpput-ftp: Likewise.
30713         * build-aux/update-copyright: Likewise.
30714
30715 2009-09-09  Eric Blake  <ebb9@byu.net>
30716
30717         test-link: allow Linux choice of errno
30718         * tests/test-link.c (main): Relax test for alternate error.
30719
30720         strndup: fix improper m4 caching
30721         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
30722         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
30723         (gl_PREREQ_STRNDUP): Delete.
30724         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
30725         * modules/string (Makefile.am): Substitute it.
30726         * lib/string.in.h (strndup): Modernize prototype.
30727
30728         getcwd: port to mingw
30729         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
30730         different from the POSIX assumptions made throughout the getcwd
30731         module; fortunately, the mingw getcwd does not need replacement.
30732         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
30733         * modules/getcwd-tests: New test.
30734         * tests/test-getcwd.c: Likewise.
30735
30736         link: fix platform bugs
30737         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
30738         * lib/link.c (link): Work around them.  Fix related mingw bug.
30739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
30740         * modules/unistd (Makefile.am): Substitute it.
30741         * lib/unistd.in.h (link): Declare replacement.
30742         * doc/posix-functions/link.texi (link): Document this.
30743         * modules/link (Depends-on): Add strdup-posix, sys_stat.
30744
30745         test-link: consolidate into single C program, test more cases
30746         * tests/test-link.sh: Delete.
30747         * tests/test-link.c: Test more error conditions.  Exposes bugs on
30748         at least Cygwin and Solaris.
30749         * modules/link-tests (Files): Remove unused file.
30750         (Depends-on): Add errno, sys_stat.
30751         (Makefile.am): Simplify.
30752
30753 2009-09-08  Bruno Haible  <bruno@clisp.org>
30754
30755         Work around towlower, towupper bug on mingw.
30756         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
30757         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
30758         * doc/posix-functions/towlower.texi: Mention the mingw bug.
30759         * doc/posix-functions/towupper.texi: Likewise.
30760         Reported by Eric Blake.
30761
30762 2009-09-08  Jim Meyering  <meyering@redhat.com>
30763
30764         build: don't try to run autoheader if we don't use it
30765         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
30766         is not used in configure.ac.
30767
30768 2009-09-08  Eric Blake  <ebb9@byu.net>
30769
30770         euidaccess: fix compilation error
30771         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
30772
30773         rawmemchr: relax license
30774         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
30775         okay.
30776         Reported by Jim Meyering.
30777
30778         mkfifoat: new module
30779         * modules/mkfifoat: New file.
30780         * lib/mkfifoat.c: Likewise.
30781         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
30782         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
30783         * modules/sys_stat (Makefile.am): Use them.
30784         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
30785         * MODULES.html.sh (File system functions): Mention module.
30786         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
30787         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
30788         * modules/mkfifoat-tests: New test.
30789         * tests/test-mkfifoat.c: Likewise.
30790
30791         strchrnul: relax license
30792         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
30793         okay.
30794         Reported by Jim Meyering.
30795
30796 2009-09-08  Eric Blake  <ebb9@byu.net>
30797
30798         fstatat: fix compilation on Solaris
30799         * lib/fstatat.c (includes): Add fcntl.h.
30800         Reported by PĂ¡draig Brady.
30801
30802 2009-09-07  Eric Blake  <ebb9@byu.net>
30803
30804         rename: modernize replacement
30805         * modules/rename (Depends-on): Add stdio.
30806         (configure.ac): Declare witness.
30807         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
30808         stdio take care of replacement.
30809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
30810         * modules/stdio (Makefile.am): Substitute them.
30811         * lib/stdio.in.h (rename): Declare replacement.
30812         * lib/rename.c (includes): Allow cross-compilation to non-windows
30813         machines.
30814         * doc/posix-functions/rename.texi (rename): Improve
30815         documentation.
30816
30817         stdio: sort witness names
30818         * modules/stdio (Makefile.am): Sort replacements.
30819         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30820         * lib/stdio.in.h: Likewise.
30821
30822         getcwd: minor cleanups
30823         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
30824         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
30825
30826         openat: provide more convenience names
30827         * modules/faccessat (configure.ac): Add C witness.
30828         * lib/unistd.in.h (readlinkat): Fix typo.
30829         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
30830         convenience wrappers.
30831         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
30832         wrappers in syntax checks.
30833
30834 2009-09-06  Eric Blake  <ebb9@byu.net>
30835
30836         doc: fix comments in recent patches
30837         * lib/faccessat.c: Mention correct function.
30838         * lib/fchmodat.c: Likewise.
30839         * lib/fchownat.c: Likewise.
30840         * lib/symlinkat.c: Likewise.
30841         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
30842         constants.
30843
30844         faccessat, symlinkat: continue cleanup of previous patch
30845         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
30846         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
30847         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
30848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
30849         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
30850         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
30851         set.
30852
30853 2009-09-06  Bruno Haible  <bruno@clisp.org>
30854
30855         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
30856         (fstatat): Declare if GNULIB_FSTATAT is set.
30857         (mkdirat): Declare if GNULIB_MKDIRAT is set.
30858         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
30859         (unlinkat): Declare if GNULIB_UNLINKAT is set.
30860         * modules/fcntl-h (Files): Remove m4/openat.m4.
30861         * modules/sys_stat (Files): Remove m4/openat.m4.
30862         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
30863         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
30864         * modules/unistd (Files): Remove m4/openat.m4.
30865         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
30866         GNULIB_OPENAT.
30867         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
30868         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
30869         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
30870         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
30871         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
30872         gl_OPENAT_DEFAULTS.
30873         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
30874         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
30875         Don't require gl_OPENAT_DEFAULTS.
30876         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
30877         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
30878         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
30879         (gl_OPENAT_DEFAULTS): Remove macro.
30880
30881 2009-09-06  Bruno Haible  <bruno@clisp.org>
30882
30883         * modules/openat (configure.ac): Remove unneeded witness.
30884
30885 2009-09-06  Bruno Haible  <bruno@clisp.org>
30886
30887         Set errno to ENOSYS when a function is entirely unsupported.
30888         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
30889         EOPNOTSUPP.
30890         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
30891         * modules/chown (Depends-on): Remove errno.
30892
30893 2009-09-06  Bruno Haible  <bruno@clisp.org>
30894
30895         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
30896
30897 2009-09-06  Bruno Haible  <bruno@clisp.org>
30898
30899         * lib/sys_stat.in.h: Fix preprocessor command indentation.
30900
30901 2009-09-06  Ben Pfaff  <blp@gnu.org>
30902             Bruno Haible  <bruno@clisp.org>
30903
30904         Work around a glibc bug in strtok_r.
30905         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
30906         Undefine if UNDEFINE_STRTOK_R is set.
30907         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
30908         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30909         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
30910         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
30911         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
30912         UNDEFINE_STRTOK_R.
30913         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
30914
30915 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
30916
30917         exclude: minor fix
30918         * lib/exclude.c: Include wctype.h
30919
30920 2009-09-06  Akim Demaille  <demaille@gostai.com>
30921
30922         bootstrap: improve error message
30923         * build-aux/bootstrap (find_tool): Upon failure, report the list
30924         of candidates.
30925         Honor the initial value of the envvar.
30926
30927 2009-09-05  Eric Blake  <ebb9@byu.net>
30928
30929         symlinkat: new module
30930         * modules/symlinkat: New file.
30931         * lib/symlinkat.c: Likewise.
30932         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
30933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
30934         * modules/unistd (Makefile.am): Use them.
30935         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
30936         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
30937         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
30938         * MODULES.html.sh (File system functions): Mention module.
30939         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30940         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30941         * modules/symlinkat-tests: New test.
30942         * tests/test-symlinkat.c: Likewise.
30943
30944         test-openat-safer: add more checks
30945         * tests/test-openat-safer.c (main): Check more code paths.
30946
30947 2009-09-05  Jim Meyering  <meyering@redhat.com>
30948
30949         syntax-check: detect unnecessary inclusion of openat.h
30950         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
30951
30952 2009-09-05  Bruno Haible  <bruno@clisp.org>
30953
30954         Support towlower, towupper.
30955         * doc/posix-functions/towlower.texi: Mention module wctype.
30956         * doc/posix-functions/towupper.texi: Likewise.
30957         * lib/wctype.in.h (towlower, towupper): New functions.
30958         * tests/test-wctype.c: Include stdio.h, stdlib.h.
30959         (ASSERT): New macro.
30960         (e): New variable.
30961         (main): Test also towlower, towupper. Test WEOF argument.
30962         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30963
30964 2009-09-05  Bruno Haible  <bruno@clisp.org>
30965
30966         Fix conversion behaviour when the input is invalid.
30967         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
30968         mark occurring in first pass of indirect conversion.
30969         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
30970         input.
30971         Found by clang's static analyzer.
30972
30973 2009-09-05  Bruno Haible  <bruno@clisp.org>
30974
30975         * tests/test-striconveh.c (main): Test indirect conversion on platforms
30976         where direct conversion is possible.
30977
30978 2009-09-04  Eric Blake  <ebb9@byu.net>
30979
30980         openat: fail with ENOENT on empty name
30981         * lib/openat-proc.c (openat_proc_name): Special-case the empty
30982         buffer.
30983
30984         link-follow: fix logic bug in prior patch
30985         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
30986         reversed sense of yes and no in prior patch.  Avoid confusing
30987         compilation failure with desired semantics.
30988
30989         link-follow: accomodate mingw and cross-compilation
30990         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
30991         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
30992         cross-compilation results to -1, to make linkat easier to
30993         implement when cross-compiling.  Trivially support mingw.
30994         * modules/link-follow (configure.ac): Call new name.
30995         * NEWS: Mention this.
30996
30997 2009-09-03  Eric Blake  <ebb9@byu.net>
30998
30999         faccessat: compile replacement
31000         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
31001         needed.
31002
31003         fts: fix compilation error
31004         * lib/fts.c (includes): Re-add "openat.h", for
31005         openat_needs_fchdir.
31006
31007         faccessat: new module
31008         * modules/faccessat: New file.
31009         * lib/faccessat.c: Likewise.
31010         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
31011         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
31012         * modules/unistd (Makefile.am): Use it.
31013         * lib/unistd.in.h (faccessat): Declare it.
31014         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
31015         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
31016         * MODULES.html.sh (File system functions): Mention it.
31017         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
31018         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
31019
31020         euidaccess: prefer POSIX over non-standard implementation
31021         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
31022         * lib/euidaccess.c (euidaccess): Use it if available.
31023
31024         openat: make template easier to use
31025         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
31026         AT_FUNC_F2 to be undefined.
31027         (VALIDATE_FLAG): New macro; use it to reject bad flags.
31028         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
31029         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
31030         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
31031         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
31032         Likewise.
31033         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
31034         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
31035         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
31036         Likewise.
31037
31038         openat: declare in POSIX headers
31039         * NEWS: Mention this.
31040         * modules/openat (configure.ac): Declare witnesses.
31041         (Depends-on): Add fcntl-h, sys_stat, unistd.
31042         (Include): Mention correct headers.
31043         * modules/fcntl-h (Depends-on): Add link-warning.
31044         (Files): Add openat.m4.
31045         (Makefile.am): Substitute witnesses.
31046         * modules/sys_stat (Files, Makefile.am): Likewise.
31047         * modules/unistd (Files, Makefile.am): Likewise.
31048         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
31049         (gl_OPENAT_DEFAULTS): New macro.
31050         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
31051         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
31052         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
31053         (SYS_STAT_H): Remove unused variable.
31054         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
31055         * lib/fcntl--.h (includes): Remove unneeded header.
31056         * lib/openat-safer.c (includes): Likewise.
31057         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
31058         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
31059         appropriate headers.
31060         (__OPENAT_PREFIX): Delete.
31061         * lib/fcntl.in.h (openat): Provide declaration.
31062         (AT_FDCWD): Fix Solaris bug.
31063         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
31064         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
31065         * lib/fchmodat.c (includes):  Adjust to find declaration.
31066         * lib/fchownat.c (includes): Likewise.
31067         * lib/mkdirat.c (includes): Likewise.
31068         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
31069         still visible.
31070
31071 2009-09-02  Eric Blake  <ebb9@byu.net>
31072
31073         errno: use consistently
31074         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
31075         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
31076         * lib/canonicalize.c (ELOOP): Likewise.
31077         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
31078         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
31079         * lib/lchown.c (EOPNOTSUPP): Likewise.
31080         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
31081         * lib/savewd.c (ESTALE): Likewise.
31082         * lib/settime.c (ENOSYS): Likewise.
31083         * lib/utimens.c (ENOSYS): Likewise.
31084         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
31085         * lib/chdir-safer.c (ELOOP): Likewise.
31086         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
31087         * modules/c-stack (Depends-on): Add errno.
31088         * modules/canonicalize (Depends-on): Likewise.
31089         * modules/chdir-safer (Depends-on): Likewise.
31090         * modules/fdopendir (Depends-on): Likewise.
31091         * modules/inet_ntop (Depends-on): Likewise.
31092         * modules/inet_pton (Depends-on): Likewise.
31093         * modules/lchown (Depends-on): Likewise.
31094         * modules/openat (Depends-on): Likewise.
31095         * modules/savewd (Depends-on): Likewise.
31096         * modules/settime (Depends-on): Likewise.
31097         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
31098
31099         fts: avoid leaking fds
31100         * modules/fts (Depends-on): Add cloexec.
31101         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
31102         flag.
31103
31104         fts: make directory fds more robust
31105         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
31106         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
31107
31108         backupfile, chdir-long, fts, savedir: make safer
31109         * lib/backupfile.c (includes): Use "dirent--.h", since
31110         numbered_backup can write to stderr during readdir.
31111         * lib/savedir.c (includes): Likewise.
31112         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
31113         emulation can write to stderr on failure.
31114         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
31115         * lib/getcwd.c: Document why opendir_safer is unused.
31116         * lib/glob.c: Likewise.
31117         * lib/scandir.c: Likewise.
31118         * lib/openat-proc.c: Likewise, for open_safer.
31119         * modules/backupfile (Depends-on): Add dirent-safer.
31120         * modules/savedir (Depends-on): Likewise.
31121         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
31122         * modules/chdir-long (Depends-on): Add openat-safer.
31123
31124         openat-safer: new module
31125         * modules/openat-safer: New file.
31126         * lib/openat-safer.c: Likewise.
31127         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
31128         * lib/fcntl-safer.h (openat_safer): Declare.
31129         * lib/fcntl--.h (openat): Override.
31130         * MODULES.html.sh (File descriptor based I/O): Mention it.
31131         * lib/openat.h: Add double-inclusion guards.
31132         * lib/openat.c (includes): Only include "fcntl-safer.h", not
31133         "fcntl--.h", so we can implement openat.
31134         * modules/openat-safer-tests: New test.
31135         * tests/test-openat-safer.c: New file.
31136
31137         dirent-safer: new module
31138         * modules/dirent-safer: New file.
31139         * lib/dirent--.h: Likewise.
31140         * lib/dirent-safer.h: Likewise.
31141         * lib/opendir-safer.c: Likewise.
31142         * m4/dirent-safer.m4: Likewise.
31143         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
31144         * modules/dirent-safer-tests: New test.
31145         * tests/test-dirent-safer.c: New file.
31146         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
31147
31148         fdopendir: optimize on mingw
31149         * lib/unistd.in.h (_gl_directory_name): New prototype.
31150         * lib/fchdir.c (_gl_directory_name): Implement it.
31151         (fchdir): Use it to simplify implementation.
31152         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
31153         fchdir, when available, to avoid calling [f]chdir().
31154
31155         fdopendir: split into its own module
31156         * lib/openat.c (fdopendir): Move...
31157         * lib/fdopendir.c: ...into new file.
31158         * modules/fdopendir: New module.
31159         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
31160         * modules/openat (Depends-on): Add fdopendir.
31161         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
31162         fdopendir here.
31163         * modules/savedir (Depends-on): Only need fdopendir, not full
31164         openat.
31165         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
31166         * lib/openat.h (fdopendir): Drop prototype.
31167         * lib/dirent.in.h (fdopendir): Provide prototype.
31168         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
31169         * modules/dirent (Makefile.am): Substitute them.
31170         * MODULES.html.sh (File system functions): Mention it.
31171         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
31172         * modules/fdopendir-tests: New file.
31173         * tests/test-fdopendir.c: Likewise.
31174
31175         fchdir: use more consistent macro convention
31176         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
31177         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
31178         REPLACE_FCHDIR, rather than relying on config.h macros.
31179         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
31180         inside a single make-time REPLACE_FCHDIR block, rather than using
31181         the config.h FCHDIR_REPLACEMENT.
31182         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
31183         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
31184         Manage fstat replacement.
31185         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
31186         REPLACE_FCHDIR.
31187         * modules/sys_stat (Files): Add m4/unistd_h.m4.
31188         (Makefile.am): Substitute REPLACE_FCHDIR.
31189         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
31190         FCHDIR_REPLACEMENT.
31191         * lib/dup-safer.c (dup_safer): Likewise.
31192         * lib/dup2.c (rpl_dup2): Likewise.
31193         * lib/dup3.c (rpl_dup3): Likewise.
31194         * lib/open.c (rpl_open): Likewise.
31195
31196         fchdir: simplify error handling, and support dup3
31197         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
31198         stdbool, malloc-posix, realloc-posix.
31199         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
31200         (ensure_dirs_slot): Return false on allocation failure.
31201         (rpl_dup2): Delete.
31202         (_gl_register_dup): New function.
31203         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
31204         (_gl_register_fd): Close fd on allocation failure.
31205         * lib/fcntl.in.h (_gl_register_fd): Update signature.
31206         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
31207         prototype.
31208         (rpl_dup2_fchdir): Delete prototype.
31209         * lib/open.c (open): Update caller.
31210         * lib/dup2.c (dup2): Track fchdir metadata.
31211         * lib/dup3.c (dup3): Likewise.
31212         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
31213         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
31214
31215 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31216
31217         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
31218         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
31219         don't pass arguments to AC_OUTPUT.
31220
31221 2009-09-02  Bruno Haible  <bruno@clisp.org>
31222
31223         * modules/mkdtemp (License): Relicense under LGPLv2+.
31224         Reported by Paolo Bonzini.
31225
31226 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31227
31228         Replace uses of obsolete autoconf macros in Jim's modules.
31229         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
31230         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
31231         can evoke a warning from autoconf when run with -Wobsolete
31232         enabled.  They were declared obsolete for good reasons (see
31233         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
31234         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
31235         should not continue using the deprecated macros.
31236         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
31237         obsolete Autoconf macros with modern counterparts.
31238         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
31239         * m4/dos.m4 (gl_AC_DOS): Likewise.
31240         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
31241         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
31242         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
31243         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
31244         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
31245         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
31246         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
31247         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
31248         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
31249         Likewise.
31250         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
31251         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
31252         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
31253         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
31254         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
31255         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
31256
31257 2009-09-01  Eric Blake  <ebb9@byu.net>
31258
31259         fchdir: fix off-by-one bug in previous patch
31260         * lib/fchdir.c (rpl_fstat): Use correct bounds.
31261         (_gl_unregister_fd): Delete useless if.
31262
31263 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
31264
31265         maint.mk: sort the list of syntax-check rules
31266         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
31267         easier to get a sense of progress when the rules are run sequentially
31268         and take a long time.
31269
31270 2009-09-01  Simon Josefsson  <simon@josefsson.org>
31271
31272         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
31273         * modules/netinet_in: Likewise.
31274         * modules/sys_file: Likewise.
31275         * modules/sys_ioctl: Likewise.
31276         * modules/sys_select: Likewise.
31277         * modules/sys_socket: Likewise.
31278         * modules/sys_stat: Likewise.
31279         * modules/sys_time: Likewise.
31280         * modules/sys_times: Likewise.
31281         * modules/sys_utsname: Likewise.
31282         * modules/sys_wait: Likewise.
31283
31284 2009-09-01  Jim Meyering  <meyering@redhat.com>
31285
31286         fts: help ensure that return values are not ignored
31287         * lib/fts_.h (__GNUC_PREREQ): Define.
31288         (__attribute_warn_unused_result__): Define.
31289         (fts_children, fts_close, fts_open, fts_read): Declare with
31290         __attribute_warn_unused_result__.
31291
31292         fts: fts_close now fails also when closing a dir file descriptor fails
31293         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
31294         and propagate to caller, along with errno.
31295
31296         announce-gen: correct formatting in --help output
31297         * build-aux/announce-gen (usage): Move the one-line description in
31298         --help output "up", to where it belongs, just after Usage:.
31299
31300 2009-08-31  Eric Blake  <ebb9@byu.net>
31301
31302         fchdir: port to mingw
31303         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
31304         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
31305         opened, then use a substitute.
31306         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
31307         replacement.
31308         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
31309         (_gl_register_fd): No need to check stat if open already filters
31310         all directories.
31311         (fchdir): Fix error condition to match POSIX.
31312         * modules/fchdir (Depends-on): Add sys_stat.
31313         * doc/posix-functions/open.texi (open): Document the limitation.
31314         * modules/fchdir-tests: New file.
31315         * tests/test-fchdir.c: Likewise.
31316
31317         canonicalize: allow cross-testing from cygwin to mingw
31318         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
31319         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
31320         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
31321         Likewise.
31322         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
31323         target does not support symlinks.
31324         * tests/test-canonicalize-lgpl.sh: Likewise.
31325
31326         chown: avoid compilation warning on mingw
31327         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
31328         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
31329         mingw.
31330         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
31331         * modules/chown (Depends-on): Add errno.
31332
31333 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
31334
31335         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
31336         command.
31337
31338 2009-08-31  Jim Meyering  <meyering@redhat.com>
31339
31340         canonicalize: remove useless initialization
31341         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
31342         initialization of local, "end".
31343
31344 2009-08-30  Bruno Haible  <bruno@clisp.org>
31345
31346         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
31347         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
31348         ENOSYS.
31349
31350 2009-08-30  Bruno Haible  <bruno@clisp.org>
31351
31352         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
31353         /usr/xpg4/bin/tr when it exists.
31354         * tests/test-pipe-filter-gi1.sh: Likewise.
31355
31356 2009-08-30  Bruno Haible  <bruno@clisp.org>
31357
31358         Work around deficient /usr/bin/id program on Solaris.
31359         * tests/test-file-has-acl.sh (ID): New variable.
31360         * tests/test-set-mode-acl.sh (ID): Likewise.
31361         * tests/test-copy-acl.sh (ID): Likewise.
31362         * tests/test-copy-file.sh (ID): Likewise.
31363
31364 2009-08-30  Bruno Haible  <bruno@clisp.org>
31365
31366         New module 'xstriconveh'.
31367         * lib/xstriconveh.h: New file.
31368         * lib/xstriconveh.c: New file.
31369         * modules/xstriconveh: New file.
31370
31371 2009-08-30  Bruno Haible  <bruno@clisp.org>
31372
31373         Make it easier to use mem_cd_iconveh.
31374         * lib/striconveh.h (iconveh_t): New type.
31375         (iconveh_open, iconveh_close): New declarations.
31376         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
31377         with a single 'const iconveh_t *' argument.
31378         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
31379         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
31380         with a single 'const iconveh_t *' argument.
31381         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
31382         * tests/test-striconveh.c (main): Update.
31383         * NEWS: Mention the change.
31384
31385 2009-08-30  Bruno Haible  <bruno@clisp.org>
31386
31387         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
31388         problem.
31389
31390 2009-08-30  Bruno Haible  <bruno@clisp.org>
31391
31392         Work around iconv_open problem on Solaris.
31393         * lib/iconv_open-solaris.gperf: New file.
31394         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
31395         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
31396         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
31397         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
31398         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
31399         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
31400
31401 2009-08-29  Jim Meyering  <meyering@redhat.com>
31402
31403         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
31404         * top/maint.mk (cvs-check): Remove target; it was just an alias
31405         to the better-named vc-diff-check.
31406         (maintainer-distcheck): Remove rule.  It was used only from
31407         the (alpha/beta/major) target, and all of its commands but one
31408         were coreutils-specific.
31409         (vc-dist): Remove rule.
31410         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
31411         Run vc-diff-check, not vc-dist.
31412         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
31413
31414 2009-08-27  Bruno Haible  <bruno@clisp.org>
31415
31416         * tests/test-bitrotate.c (main): Remove test that uses a shift count
31417         of 0.
31418
31419 2009-08-27  Bruno Haible  <bruno@clisp.org>
31420
31421         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
31422         compilers.
31423         * doc/func.texi: Document the SunPRO C bug.
31424
31425 2009-08-27  Bruno Haible  <bruno@clisp.org>
31426
31427         Fix link error on Solaris.
31428         * tests/test-parse-duration.c (xstrdup): Remove function.
31429
31430 2009-08-26  PĂ¡draig Brady  <P@draigbrady.com>
31431
31432         ignore-value: handle pointer types, too
31433         * lib/ignore-value.h (__attribute__): Remove definition.
31434         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
31435         of a more concise and more-often effective "(void) i" statement.
31436         (ignore_ptr): New function to suppress warnings from functions that
31437         return pointers, and to make it explicit that one function doesn't
31438         handle all cases.
31439
31440 2009-08-25  Bruno Haible  <bruno@clisp.org>
31441
31442         dup2: work around a Linux bug.
31443         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
31444         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
31445         * doc/posix-functions/dup2.texi: Mention the Linux bug.
31446         Reported by Simon Josefsson.
31447
31448 2009-08-25  Jim Meyering  <meyering@redhat.com>
31449
31450         libguestfs uses gnulib
31451         * users.txt: Add libguestfs.
31452
31453 2009-08-24  Eric Blake  <ebb9@byu.net>
31454
31455         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
31456         * lib/pipe2.c (includes): Add binary-io.h.
31457         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
31458
31459 2009-08-24  Bruno Haible  <bruno@clisp.org>
31460
31461         Tolerate declared but missing accept4 syscall.
31462         * lib/accept4.c (accept4): Invoke original accept4 function first, if
31463         available.
31464         * lib/sys_socket.in.h (accept4): If the function is already present,
31465         override it.
31466         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
31467         * modules/accept4 (Makefile.am): Compile accept4.c always.
31468         Reported by Paolo Bonzini and Eric Blake.
31469
31470 2009-08-23  Bruno Haible  <bruno@clisp.org>
31471
31472         New module 'accept4'.
31473         * lib/sys_socket.in.h (accept4): New declaration.
31474         * lib/accept4.c: New file.
31475         * m4/accept4.m4: New file.
31476         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
31477         GNULIB_ACCEPT4, HAVE_ACCEPT4.
31478         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
31479         HAVE_ACCEPT4.
31480         * modules/accept4: New file.
31481         * doc/glibc-functions/accept4.texi: Mention the new module.
31482
31483 2009-08-24  Jim Meyering  <meyering@redhat.com>
31484
31485         progname: also set global program_invocation_name, when possible
31486         Before this change, a libtool-enabled program that calls glibc's
31487         error function would report the program name as
31488         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
31489         * modules/progname (configure.ac): Check for a declaration of
31490         program_invocation_name.
31491         * lib/progname.c:  Include <errno.h>.
31492         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
31493         Set program_invocation_name.
31494
31495 2009-08-23  Bruno Haible  <bruno@clisp.org>
31496
31497         * lib/dup3.c: Include <string.h>.
31498
31499 2009-08-23  Bruno Haible  <bruno@clisp.org>
31500
31501         * lib/dup3.c (dup3): Test only once whether the system actually exists.
31502         * lib/pipe2.c (pipe2): Likewise.
31503         Suggested by Eric Blake.
31504
31505 2009-08-23  Bruno Haible  <bruno@clisp.org>
31506
31507         Tolerate declared but missing dup3 syscall.
31508         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
31509         * lib/unistd.in.h (dup3): If the function is already present,
31510         override it.
31511         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
31512         * modules/dup3 (Makefile.am): Compile dup3.c always.
31513         Reported by Paolo Bonzini.
31514
31515 2009-08-23  Bruno Haible  <bruno@clisp.org>
31516
31517         Tolerate declared but missing pipe2 syscall.
31518         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
31519         available.
31520         * lib/unistd.in.h (pipe2): If the function is already present,
31521         override it.
31522         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
31523         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
31524         Reported by Paolo Bonzini.
31525
31526 2009-08-23  Bruno Haible  <bruno@clisp.org>
31527
31528         * lib/pipe2.c (pipe2): Move #ifs inside function.
31529
31530 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31531
31532         quotearg: document limitations of quote_these_too
31533         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
31534         those limitations are created.
31535         * lib/quotearg.h (set_char_quoting): Document that digits and
31536         letters that are special after backslash are not permitted.
31537         (quotearg_char): Cross-reference set_char_quoting documentation.
31538
31539 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
31540
31541         quotearg: implement custom_quoting_style
31542         * lib/quotearg.c: (struct quoting_options): Add left_quote and
31543         right_quote fields.
31544         (set_custom_quoting): New public function.
31545         (quotearg_buffer_restyled): Add left_quote and right_quote
31546         arguments, handle them very much like locale quoting, and update
31547         all uses.
31548         (quotearg_n_custom): New public function.
31549         (quotearg_n_custom_mem): New public function.
31550         (quotearg_custom): New public function.
31551         (quotearg_custom_mem): New public function.
31552         * lib/quotearg.h: Prototype and document new public functions.
31553         (enum quoting_style): For escape_quoting_style and
31554         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
31555         ignored even though they're otherwise like c_quoting_style.
31556         Add custom_quoting_style member and document with comparison to
31557         clocale_quoting_style.
31558         * tests/test-quotearg.c (custom_quotes): New array.
31559         (custom_results): New array.
31560         (main): Extend to test custom quoting.
31561
31562 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31563
31564         quotearg: fix right quote escaping when it's in quote_these_too
31565         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
31566         quote, be sure to prepend only one backslash.
31567         * tests/test-quotearg.c (use_quote_double_quotes): New function.
31568         (main): Test it.
31569
31570 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31571
31572         quotearg-tests: test escaping of embedded locale quotes
31573         * tests/test-quotearg.c (struct result_strings): Add member for
31574         new input.
31575         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
31576         (inputs): Add new input.
31577         (results_g): Add expected results.
31578         (flag_results): Likewise.
31579         (locale_results): Likewise.
31580         (compare_strings): Check those.
31581
31582 2009-08-23  Bruno Haible  <bruno@clisp.org>
31583
31584         Tests for module 'dup3'.
31585         * modules/dup3-tests: New file.
31586         * tests/test-dup3.c: New file.
31587
31588         New module 'dup3'.
31589         * lib/unistd.in.h (dup3): New declaration.
31590         * lib/dup3.c: New file.
31591         * m4/dup3.m4: New file.
31592         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
31593         HAVE_DUP3.
31594         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
31595         * modules/dup3: New file.
31596         * doc/glibc-functions/dup3.texi: Mention the new module.
31597
31598 2009-08-23  Bruno Haible  <bruno@clisp.org>
31599
31600         Tweak the dup2 test.
31601         * tests/test-dup2.c (main): Create the test file empty. Verify that an
31602         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
31603         the test file is still empty. Fix argument order of lseek.
31604
31605 2009-08-23  Bruno Haible  <bruno@clisp.org>
31606
31607         Avoid test link errors when the modules getopt-gnu, gettext are used.
31608         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
31609         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31610
31611 2009-08-23  Bruno Haible  <bruno@clisp.org>
31612
31613         Fix getdtablesize() on mingw.
31614         * lib/getdtablesize.c (getdtablesize): Implement differently.
31615         * lib/unistd.in.h (getdtablesize): Improve comment.
31616
31617 2009-08-23  Bruno Haible  <bruno@clisp.org>
31618
31619         New module 'mkostemp'.
31620         Based on Ulrich Drepper's 2007-08-10 change in glibc.
31621         * lib/stdlib.in.h (mksotemp): New declaration.
31622         * lib/mkostemp.c: New file, from glibc with modifications.
31623         * lib/tempname.h (GT_FILE): Remove outdated comment.
31624         (gen_tempname): Add flags argument.
31625         * lib/tempname.c (__GT_BIGFILE): Remove macro.
31626         (__GT_FILE): Map to 1.
31627         (small_open, large_open): Remove macros.
31628         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
31629         * lib/mkstemp.c (mkstemp): Update.
31630         * lib/mkdtemp.c (mkdtemp): Likewise.
31631         * m4/mkostemp.m4: New file.
31632         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
31633         HAVE_MKOSTEMP.
31634         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
31635         HAVE_MKOSTEMP.
31636         * modules/mkostemp: New file, based on modules/mkstemp.
31637         * doc/glibc-functions/mkostemp.texi: Mention the new module.
31638         * NEWS: Mention the change.
31639
31640 2009-08-23  Bruno Haible  <bruno@clisp.org>
31641
31642         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
31643         Reported by Eric Blake.
31644
31645 2009-08-23  Bruno Haible  <bruno@clisp.org>
31646
31647         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
31648         Reported by Eric Blake.
31649
31650 2009-08-23  Bruno Haible  <bruno@clisp.org>
31651
31652         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
31653         * modules/pipe2 (Depends-on): Likewise.
31654
31655 2009-08-23  Eric Blake  <ebb9@byu.net>
31656
31657         fcntl-h: add O_TTY_INIT support
31658         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
31659         * tests/test-fcntl-h.c (o): Test it.
31660         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31661
31662         fcntl-h: rename from fcntl, in preparation for fcntl(2)
31663         * modules/fcntl: Move <fcntl.h> header replacement...
31664         * modules/fcntl-h: ...to new name, so as not to collide with
31665         like-named function.
31666         * tests/test-fcntl.c: Rename...
31667         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
31668         * modules/fcntl-tests: Rename...
31669         * modules/fcntl-h-tests: ...to this.  Update test file name.
31670         * modules/chdir-long (Depends-on): Update clients.
31671         * modules/chdir-safer (Depends-on): Likewise.
31672         * modules/fcntl-safer (Depends-on): Likewise.
31673         * modules/fts (Depends-on): Likewise.
31674         * modules/mkancesdirs (Depends-on): Likewise.
31675         * modules/mkdir-p (Depends-on): Likewise.
31676         * modules/open (Depends-on): Likewise.
31677         * modules/savewd (Depends-on): Likewise.
31678         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
31679         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31680
31681 2009-08-22  Bruno Haible  <bruno@clisp.org>
31682
31683         * modules/binary-io (License): Relicense under LGPL.
31684         * modules/pipe2 (License): Likewise.
31685
31686 2009-08-22  Bruno Haible  <bruno@clisp.org>
31687
31688         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
31689         return value.
31690         * lib/pipe-filter-gi.c (filter_init): Likewise.
31691         Reported by Eric Blake.
31692
31693 2009-08-22  Bruno Haible  <bruno@clisp.org>
31694
31695         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
31696         * modules/pipe (Depends-on): Add pipe2.
31697
31698 2009-08-22  Bruno Haible  <bruno@clisp.org>
31699
31700         Tests for module 'pipe2'.
31701         * modules/pipe2-tests: New file.
31702         * tests/test-pipe2.c: New file.
31703
31704         New module 'pipe2'.
31705         * lib/unistd.in.h (pipe2): New declaration.
31706         * lib/pipe2.c: New file.
31707         * m4/pipe2.m4: New file.
31708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
31709         HAVE_PIPE2.
31710         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
31711         * modules/pipe2: New file.
31712         * doc/glibc-functions/pipe2.texi: Mention the new module.
31713
31714 2009-08-22  Bruno Haible  <bruno@clisp.org>
31715
31716         Reference some new glibc functions.
31717         * doc/glibc-functions/accept4.texi: New file.
31718         * doc/glibc-functions/dup3.texi: New file.
31719         * doc/glibc-functions/mkostemp.texi: New file.
31720         * doc/glibc-functions/pipe2.texi: New file.
31721         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
31722         (Glibc sys/socket.h): Refer to accept4.
31723         (Glibc unistd.h): Refer to dup3, pipe2.
31724         Reported by Eric Blake.
31725
31726 2009-08-22  Jim Meyering  <meyering@redhat.com>
31727             Bruno Haible  <bruno@clisp.org>
31728
31729         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
31730         This makes it so packages using automake-1.11's silent-rules option
31731         can print e.g., a single "GEN    configmake.h" line, rather than
31732         the 30+ statements that perform the job.  If you want to see the
31733         actual commands, you can still run "make V=1".
31734         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
31735         so that make output is abbreviated when those variables are defined
31736         appropriately.
31737         * modules/argz: Likewise.
31738         * modules/arpa_inet: Likewise.
31739         * modules/byteswap: Likewise.
31740         * modules/configmake: Likewise.
31741         * modules/dirent: Likewise.
31742         * modules/errno: Likewise.
31743         * modules/fcntl: Likewise.
31744         * modules/float: Likewise.
31745         * modules/fnmatch: Likewise.
31746         * modules/getopt-posix: Likewise.
31747         * modules/glob: Likewise.
31748         * modules/iconv_open: Likewise.
31749         * modules/inttypes: Likewise.
31750         * modules/localcharset: Likewise.
31751         * modules/locale: Likewise.
31752         * modules/math: Likewise.
31753         * modules/netdb: Likewise.
31754         * modules/netinet_in: Likewise.
31755         * modules/poll: Likewise.
31756         * modules/posix_spawnp-tests: Likewise.
31757         * modules/sched: Likewise.
31758         * modules/search: Likewise.
31759         * modules/selinux-h: Likewise.
31760         * modules/signal: Likewise.
31761         * modules/spawn: Likewise.
31762         * modules/stdarg: Likewise.
31763         * modules/stdbool: Likewise.
31764         * modules/stddef: Likewise.
31765         * modules/stdint: Likewise.
31766         * modules/stdio: Likewise.
31767         * modules/stdlib: Likewise.
31768         * modules/string: Likewise.
31769         * modules/strings: Likewise.
31770         * modules/sys_file: Likewise.
31771         * modules/sys_ioctl: Likewise.
31772         * modules/sys_select: Likewise.
31773         * modules/sys_socket: Likewise.
31774         * modules/sys_stat: Likewise.
31775         * modules/sys_time: Likewise.
31776         * modules/sys_times: Likewise.
31777         * modules/sys_utsname: Likewise.
31778         * modules/sys_wait: Likewise.
31779         * modules/sysexits: Likewise.
31780         * modules/time: Likewise.
31781         * modules/unistd: Likewise.
31782         * modules/wchar: Likewise.
31783         * modules/wctype: Likewise.
31784
31785 2009-08-22  Jim Meyering  <meyering@redhat.com>
31786
31787         announce-gen: detect write failure
31788         * build-aux/announce-gen: Add Coda at end.
31789         Remove equivalent-but-more-verbose block at top.
31790
31791 2009-08-19  Akim Demaille  <demaille@gostai.com>
31792
31793         bootstrap: --help to stdout.
31794         * bootstrap (usage): Don't send --help to stderr.
31795         Use a here doc instead of a long string.
31796
31797 2009-08-21  Eric Blake  <ebb9@byu.net>
31798
31799         test-popen-safer: split from test-popen
31800         * tests/test-popen.c (main): Move...
31801         * tests/test-popen.h: ...into new file.
31802         * tests/test-popen-safer2.c: New file.
31803         * modules/popen-tests (Files): Add test-popen.h.
31804         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
31805         Suggested by Bruno Haible.
31806
31807         test-fcntl-safer: split from test-open
31808         * tests/test-open.c (main): Move...
31809         * tests/test-open.h: ...into new file.
31810         * tests/test-fcntl-safer.c: New file.
31811         * modules/open-tests (Files): Add test-open.h.
31812         * modules/fcntl-safer-tests: New file.
31813         Suggested by Bruno Haible.
31814
31815         test-fopen-safer: split from test-fopen
31816         * tests/test-fopen.c (main): Move...
31817         * tests/test-fopen.h: ...into new file.
31818         * tests/test-fopen-safer.c: New file.
31819         * modules/fopen-tests (Files): Add test-fopen.h.
31820         * modules/fopen-safer-tests: New file.
31821         Suggested by Bruno Haible.
31822
31823 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
31824
31825         popen-safer: test O_CLOEXEC at run-time.
31826         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
31827
31828 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
31829
31830         fcntl: move more flags to the header
31831         * lib/cloexec.c: Do not define FD_CLOEXEC here.
31832         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
31833         * lib/fcntl.in.h: Do both things here.
31834
31835 2009-08-21  Jim Meyering  <meyering@redhat.com>
31836
31837         consistently remove $@-t before redirecting to it
31838         * modules/argz: Remove $@-t and $@ before redirecting to the former.
31839         * modules/alloca-opt: Likewise.
31840         * modules/byteswap: Likewise.
31841         * modules/fnmatch: Likewise.
31842         * modules/getopt-posix: Likewise.
31843         * modules/glob: Likewise.
31844         * modules/poll: Likewise.
31845         * modules/posix_spawnp-tests: Likewise.
31846         * modules/sys_socket: Likewise.
31847         * modules/sysexits: Likewise.
31848
31849 2009-08-21  Eric Blake  <ebb9@byu.net>
31850
31851         popen: simplify access to original popen
31852         * lib/popen.c (rpl_popen): No need to worry about popen being a
31853         macro.
31854         Reported by Bruno Haible.
31855
31856 2009-08-20  Eric Blake  <ebb9@byu.net>
31857
31858         build: avoid some compiler warnings
31859         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
31860         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
31861         type.
31862         (new_exclude_segment, excluded_file_pattern_p)
31863         (excluded_file_name_p): Reduce scope.
31864         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
31865         old-style declaration.
31866
31867 2009-08-20  Simon Josefsson  <simon@josefsson.org>
31868
31869         * tests/test-exclude1.sh: Handle Windows EOL.
31870         * tests/test-exclude2.sh: Likewise.
31871         * tests/test-exclude3.sh: Likewise.
31872         * tests/test-exclude4.sh: Likewise.
31873         * tests/test-exclude5.sh: Likewise.
31874         * tests/test-exclude6.sh: Likewise.
31875         * tests/test-exclude7.sh: Likewise.
31876
31877 2009-08-19  Akim Demaille  <demaille@gostai.com>
31878
31879         bootstrap: find sha1sum when named gsha1sum.
31880         * bootstrap (find_tool): New.
31881         ($SHA1SUM): New.
31882         Use it.
31883
31884 2009-08-20  Jim Meyering  <meyering@redhat.com>
31885
31886         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
31887         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
31888         expression that converts "." in a file name to "\." in the resulting
31889         regexp.  Start with a dummy statement, so that prior shell variable
31890         definitions are expanded portably.  Reported by Simon Josefsson.
31891
31892 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
31893
31894         Fix polling for writeability of a screen buffer.
31895         * lib/poll.c: Distinguish input and screen buffers for the
31896         Win32 implementation.
31897         * lib/select.c: Likewise.
31898
31899 2009-08-19  Eric Blake  <ebb9@byu.net>
31900
31901         popen-safer: prevent popen from clobbering std descriptors
31902         * modules/popen-safer: New file.
31903         * lib/popen-safer.c: Likewise.
31904         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
31905         * lib/stdio--.h (popen): Provide override.
31906         * lib/stdio-safer.h (popen_safer): Provide declaration.
31907         * tests/test-popen.c (includes): Partially test this.
31908         * modules/popen-safer-tests: New file, for more tests.
31909         * tests/test-popen-safer.c: Likewise.
31910         * MODULES.html.sh (file stream based Input/Output): Mention it.
31911
31912         tests: test some of the *-safer modules
31913         * modules/fopen-safer (Depends-on): Add fopen.
31914         * modules/fcntl-safer (Depends-on): Add fcntl.
31915         * modules/stdlib-safer (Depends-on): Add stdlib.
31916         (configure.ac): Set indicator.
31917         * modules/unistd-safer (configure.ac): Likewise.
31918         * modules/tmpfile-safer (configure.ac): Likewise.
31919         (Depends-on): Add tmpfile.
31920         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
31921         active.
31922         * tests/test-fopen.c (includes): Test safer versions when they are
31923         in use.
31924         * tests/test-open.c (includes): Likewise.
31925
31926         popen: fix cygwin 1.5 bug when stdin closed
31927         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
31928         * modules/popen: New file.
31929         * modules/popen-tests: Likewise.
31930         * tests/test-popen.c: Likewise.
31931         * m4/popen.m4: Likewise.
31932         * lib/popen.c: Likewise.
31933         * lib/stdio.in.h (popen): New declaration.
31934         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
31935         * modules/stdio (Makefile.am): Likewise.
31936         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
31937
31938 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
31939
31940         maint.mk: give full control over update-copyright exclusions
31941         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
31942         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
31943         (update-copyright): Don't force inclusion of top-level
31944         ChangeLog.  Don't force exclusion of all COPYING files, but make
31945         them the default exclusion instead.
31946
31947 2009-08-16  Bruno Haible  <bruno@clisp.org>
31948
31949         Fix test failures on Solaris 10.
31950         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
31951         tests when Solaris iconv() is used.
31952         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
31953         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
31954         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
31955         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
31956         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
31957
31958 2009-08-16  Bruno Haible  <bruno@clisp.org>
31959
31960         Fix test failures on Solaris 10.
31961         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
31962         'tr' program and pass it as first argument.
31963         * tests/test-pipe-filter-gi1.sh: Likewise.
31964         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
31965         program as first argument.
31966         * tests/test-pipe-filter-gi1.c (main): Likewise.
31967
31968 2009-08-16  Eric Blake  <ebb9@byu.net>
31969
31970         fpurge: fix previous commits
31971         * modules/fpurge (Makefile.am): Make replacement conditional,
31972         partially reverting 2007-04-29 change; missed in previous
31973         attempt.
31974         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
31975         is missing.
31976
31977 2009-08-16  Bruno Haible  <bruno@clisp.org>
31978
31979         Clarify fpurge's effect on the file position.
31980         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
31981         * tests/test-fpurge.c (main): Make a second pass for checking the file
31982         position.
31983
31984 2009-08-16  Bruno Haible  <bruno@clisp.org>
31985
31986         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
31987         declaration of fpurge is missing.
31988         * tests/test-fpurge.c (main): Check that the file has not more contents
31989         than expected. Close the file before removing it.
31990
31991 2009-08-15  Eric Blake  <ebb9@byu.net>
31992
31993         fpurge: don't wrap working cygwin implementation
31994         * lib/fpurge.c (fpurge): Fix comment typo.
31995         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
31996         1.7 to avoid replacement.
31997         * tests/test-fpurge.c (main): Enhance test.
31998
31999 2009-08-15  Eric Blake  <ebb9@byu.net>
32000         and Jim Meyering  <meyering@redhat.com>
32001
32002         test-update-copyright: skip if perl is insufficient
32003         * tests/test-update-copyright.sh: Failure to run maintainer tool
32004         should not cause testsuite failure on cygwin 1.5.
32005
32006 2009-08-14  Eric Blake  <ebb9@byu.net>
32007
32008         doc: mention more functions added in cygwin 1.7.0
32009         * doc/posix-headers/limits.texi (limits.h): Update for recent
32010         cygwin additions.
32011         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
32012         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
32013         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
32014         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
32015         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
32016
32017 2009-08-14  Eric Blake  <ebb9@byu.net>
32018
32019         maint.mk: simplify update-copyright rule
32020         * top/maint.mk (update-copyright-local): Delete, and document how
32021         to do it in cfg.mk instead.
32022         (update-copyright-exclude-regexp): Delete, and document how to do
32023         it in .x-update-copyright instead.
32024         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
32025         exclude ChangeLog.
32026
32027 2009-08-14  Bruno Haible  <bruno@clisp.org>
32028
32029         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
32030
32031 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
32032
32033         maint.mk: support update-copyright-env
32034         * top/maint.mk (update-copyright-env): Define place-holder.
32035         (update-copyright): Expand $(update-copyright-env) before
32036         invoking update-copyright.
32037
32038 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
32039
32040         update-copyright: implement forced reformatting
32041         * build-aux/update-copyright: Implement and document
32042         UPDATE_COPYRIGHT_FORCE.
32043         * tests/test-update-copyright.sh: Test it.
32044
32045 2009-08-14  Eric Blake  <ebb9@byu.net>
32046         and Bruno Haible  <bruno@clisp.org>
32047
32048         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
32049         * tests/test-locale.c: Revert previous patch related to NULL.
32050         * tests/test-stdio.c: Likewise.
32051         * tests/test-stdlib.c: Likewise.
32052         * tests/test-string.c: Likewise.
32053         * tests/test-unistd.c: Likewise.
32054         * modules/time-tests (Depends-on): Add verify.
32055         * modules/wchar-tests (Depends-on): Likewise.
32056         * tests/test-time.c: Test for NULL compliance.
32057         * tests/test-wchar.c: Likewise.
32058         * modules/locale (Depends-on): Add stddef.
32059         * modules/stdio (Depends-on): Likewise.
32060         * modules/stdlib (Depends-on): Likewise.
32061         * modules/string (Depends-on): Likewise.
32062         * modules/time (Depends-on): Likewise.
32063         * modules/unistd (Depends-on): Likewise.
32064         * modules/wchar (Depends-on): Likewise.
32065         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
32066         * lib/stdlib.in.h (includes): Likewise.
32067         * lib/string.in.h (includes): Likewise.
32068         * lib/time.in.h (includes): Likewise.
32069         * lib/unistd.in.h (includes): Likewise.
32070         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
32071         replaced.
32072         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32073         * m4/stddef_h.m4: New file.
32074         * modules/stddef: Likewise.
32075         * lib/stddef.in.h: Likewise.
32076         * modules/stddef-tests: Likewise.
32077         * tests/test-stddef.c: Likewise.
32078         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
32079         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
32080         * doc/posix-headers/locale.texi (locale.h): Likewise.
32081         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
32082         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
32083         * doc/posix-headers/string.texi (string.h): Likewise.
32084         * doc/posix-headers/time.texi (time.h): Likewise.
32085         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
32086         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
32087
32088 2009-08-14  Eric Blake  <ebb9@byu.net>
32089
32090         doc: improve git diff of texinfo files
32091         * .gitattributes: Add rule for *.texi files, with hint on how to
32092         use it.
32093         Copied from m4, and based on a report by Bruno Haible.
32094
32095 2009-08-14  Bruno Haible  <bruno@clisp.org>
32096
32097         Disable multithread support by default on Cygwin 1.5.x for real.
32098         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
32099
32100 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
32101
32102         update-copyright: much ado about intervals
32103         * build-aux/update-copyright: Implement and document
32104         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
32105         of copyright year intervals.
32106         Also, document UPDATE_COPYRIGHT_YEAR.
32107         * tests/test-update-copyright.sh: Test it.
32108
32109         update-copyright: convert 2-digit to 4-digit years
32110         * build-aux/update-copyright: Implement and document.
32111         * tests/test-update-copyright.sh: Update.
32112
32113 2009-08-14  Jim Meyering  <meyering@redhat.com>
32114
32115         test-exclude: avoid coreutils "make check" failure
32116         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
32117         just as in test-argmatch.c.
32118
32119 2009-08-13  Eric Blake  <ebb9@byu.net>
32120
32121         test-dup2: fix bad assumption
32122         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
32123         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
32124
32125         test-version-etc: fix CRLF portability issue
32126         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
32127         recognize \r.
32128         * tests/test-argp-version-etc-1.sh: Likewise.
32129
32130         getopt: update client modules
32131         * modules/argp (Depends-on): Use getopt-gnu.
32132         * modules/git-merge-changelog (Depends-on): Likewise.
32133         * modules/long-options (Depends-on): Likewise.
32134         * modules/xstrtol (Depends-on): Likewise.
32135
32136 2009-08-13  Simon Josefsson  <simon@josefsson.org>
32137
32138         * tests/test-version-etc.sh: Don't fail on different
32139         project/version.  Don't fail on CRLF differences.  Rewrite to use
32140         multiple -e instead of multiple sed forks, suggested by Eric Blake
32141         <ebb9@byu.net>.
32142         * tests/test-argp-version-etc-1.sh: Likewise.
32143
32144 2009-08-13  Simon Josefsson  <simon@josefsson.org>
32145
32146         * tests/test-version-etc.sh: Don't fail on different
32147         project/version.
32148
32149 2009-08-12  Bruno Haible  <bruno@clisp.org>
32150
32151         Tests for modules 'getopt-posix', 'getopt-gnu'.
32152         * modules/getopt-posix-tests: New file.
32153         * tests/test-getopt.c: New file.
32154         * tests/test-getopt.h: New file.
32155         * tests/test-getopt_long.h: New file.
32156
32157         New modules 'getopt-posix', 'getopt-gnu'.
32158         * modules/getopt-gnu: New file, renamed from modules/getopt.
32159         * modules/getopt-posix: New file.
32160         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
32161         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
32162         (gl_GETOPT): Remove macro.
32163         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
32164         Disable the test against BSD systems that declare optreset. Test
32165         against mingw bug. Test against lack of support of optional arguments
32166         on many platforms.
32167         * doc/glibc-headers/getopt.texi: Update module name and list of
32168         relevant platforms.
32169         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
32170         'getopt-gnu' and more portability problems.
32171         * NEWS: Mention the changes.
32172
32173 2009-08-12  Bruno Haible  <bruno@clisp.org>
32174
32175         Ensure that optarg etc. get declared by <unistd.h>.
32176         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
32177         AC_USE_SYSTEM_EXTENSIONS.
32178         * modules/getopt (Depends-on): Add 'extensions'.
32179
32180 2009-08-12  Bruno Haible  <bruno@clisp.org>
32181
32182         Avoid test link errors.
32183         * modules/pipe-filter-ii-tests (Makefile.am): Define
32184         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
32185         * modules/pipe-filter-gi-tests (Makefile.am): Define
32186         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
32187         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32188
32189 2009-08-12  Bruno Haible  <bruno@clisp.org>
32190
32191         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
32192         gl_GETOPT_SUBSTITUTE before.
32193         (gl_GETOPT): Use it.
32194         * m4/argp.m4 (gl_ARGP): Update.
32195         Reported by Sergey Poznyakoff.
32196
32197         * m4/getopt.m4: Reorder macros.
32198         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
32199         (gl_GETOPT_SUBSTITUTE): Remove macro.
32200
32201 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32202
32203         Minor improvement in gitlog-to-changelog
32204
32205         * build-aux/gitlog-to-changelog: New option `--format' makes
32206         output format string configurable.
32207
32208 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32209
32210         Optimize exclude: use hash tables for non-wildcard patterns.
32211
32212         * lib/exclude.c: Include hash.h and mbuiter.h
32213         (struct exclude_pattern, exclude_segment): New data types.
32214         (struct exclude): Rewrite.
32215         (fnmatch_pattern_has_wildcards): New function.
32216         (new_exclude_segment, free_exclude_segment): New functions.
32217         (excluded_file_pattern_p, excluded_file_name_p): New functions.
32218         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
32219         * lib/exclude.h (is_fnmatch_pattern): New prototype.
32220         * modules/exclude: Depend on hash and mbuiter.
32221
32222         * modules/exclude-tests: New file.
32223         * tests/test-exclude.c: New file.
32224         * tests/test-exclude1.sh: New file.
32225         * tests/test-exclude2.sh: New file.
32226         * tests/test-exclude3.sh: New file.
32227         * tests/test-exclude4.sh: New file.
32228         * tests/test-exclude5.sh: New file.
32229         * tests/test-exclude6.sh: New file.
32230         * tests/test-exclude7.sh: New file.
32231
32232 2009-08-12  Bruno Haible  <bruno@clisp.org>
32233
32234         Ensure that getopt() gets declared by <unistd.h>.
32235         * lib/unistd.in.h: Conditionally include getopt.h.
32236         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
32237         Set GNULIB_UNISTD_H_GETOPT.
32238         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32239         GNULIB_UNISTD_H_GETOPT.
32240         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
32241
32242 2009-08-12  Bruno Haible  <bruno@clisp.org>
32243
32244         Clarify logic.
32245         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
32246         gl_replace_getopt instead of GETOPT_H.
32247
32248 2009-08-12  Bruno Haible  <bruno@clisp.org>
32249
32250         * m4/getopt.m4: Add comments.
32251
32252 2009-08-12  Bruno Haible  <bruno@clisp.org>
32253
32254         Disable multithread support by default on Cygwin 1.5.x.
32255         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
32256         set gl_use_threads=no if not specified otherwise.
32257
32258 2009-08-11  Bruno Haible  <bruno@clisp.org>
32259
32260         Avoid compilation error on NetBSD 5.0.
32261         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
32262         * tests/test-stdio.c: Likewise.
32263         * tests/test-stdlib.c: Likewise.
32264         * tests/test-string.c: Likewise.
32265         * tests/test-unistd.c: Likewise.
32266         Reported by Greg Troxel <gdt@ir.bbn.com>
32267         at <https://savannah.gnu.org/support/?106973>.
32268
32269 2009-08-11  Bruno Haible  <bruno@clisp.org>
32270
32271         * modules/dup2-tests (Depends-on): Remove close.
32272
32273         Undo 2009-07-19 commit.
32274         * modules/acl-tests (Depends-on): Remove close.
32275         * modules/binary-io-tests (Depends-on): Likewise.
32276         * modules/closein-tests (Depends-on): Likewise.
32277         * modules/flock-tests (Depends-on): Likewise.
32278         * modules/fsync-tests (Depends-on): Likewise.
32279         * modules/lseek-tests (Depends-on): Likewise.
32280         * modules/pipe-tests (Depends-on): Likewise.
32281         * modules/posix_spawn-tests (Depends-on): Likewise.
32282         * modules/posix_spawnp-tests (Depends-on): Likewise.
32283         * modules/stat-time-tests (Depends-on): Likewise.
32284         * modules/yesno-tests (Depends-on): Likewise.
32285
32286 2009-08-10  Bruno Haible  <bruno@clisp.org>
32287
32288         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
32289
32290 2009-08-10  Bruno Haible  <bruno@clisp.org>
32291
32292         Fix a gcc warning.
32293         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
32294
32295 2009-08-10  Bruno Haible  <bruno@clisp.org>
32296
32297         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
32298         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
32299         not only the first time.
32300         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
32301         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
32302         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
32303         is 1, not only the the first time.
32304
32305 2009-08-10  Bruno Haible  <bruno@clisp.org>
32306
32307         Make it possible to use module 'gethostname' without module 'close'.
32308         * lib/unistd.in.h (close): Evoke a link error only if
32309         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
32310         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32311         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32312         * modules/unistd (Makefile.am): Substitute
32313         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32314         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
32315         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
32316         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
32317         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32318         * modules/sys_ioctl (Makefile.am): Substitute
32319         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32320         * modules/socket (configure.ac): On native Windows, set
32321         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
32322         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32323         Reported by Sam Steingold <sds@gnu.org>.
32324
32325 2009-08-10  Bruno Haible  <bruno@clisp.org>
32326
32327         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
32328         * modules/ioctl (configure.ac): Likewise.
32329
32330 2009-08-10  Bruno Haible  <bruno@clisp.org>
32331
32332         Avoid collision between gnulib wrapper and libintl wrapper.
32333         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
32334         already defined in intl/printf.c.
32335         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
32336         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
32337
32338 2009-08-09  Bruno Haible  <bruno@clisp.org>
32339
32340         Make <sys/select.h> really self-contained, also on Solaris 10.
32341         * lib/sys_select.in.h: Include <string.h>.
32342         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
32343         Solaris 10 problem.
32344         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
32345         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
32346         Reported by Jim Meyering.
32347
32348 2009-08-09  Bruno Haible  <bruno@clisp.org>
32349
32350         Avoid warnings from 'aclocal' that are due to a use of macro name
32351         AM_XGETTEXT_OPTION that is not defined in automake.
32352         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
32353         automake.
32354         * modules/error (configure.ac): Likewise.
32355         * modules/propername (configure.ac): Likewise.
32356         * modules/vasprintf (configure.ac): Likewise.
32357         * modules/verror (configure.ac): Likewise.
32358         * modules/xprintf (configure.ac): Likewise.
32359         * modules/xvasprintf (configure.ac): Likewise.
32360
32361 2009-08-08  Bruno Haible  <bruno@clisp.org>
32362
32363         Avoid compilation error in C++ mode.
32364         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
32365         Reported by Sam Steingold <sds@gnu.org>.
32366
32367 2009-08-08  Bruno Haible  <bruno@clisp.org>
32368
32369         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
32370         for the various Unix platforms.
32371         * doc/posix-headers/limits.texi: Update platforms list regarding
32372         HOST_NAME_MAX.
32373         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32374
32375 2009-08-07  Jim Meyering  <meyering@redhat.com>
32376
32377         selinux-at: fix typo in a comment
32378         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
32379         Spotted by Paolo Bonzini.
32380
32381         selinux-at: remove redundant m4 code, add documentation
32382         * modules/selinux-at (configure.ac): Remove redundant code.
32383         LIB_SELINUX is already set via the dependent module, selinux-h.
32384         (Include): Add quotes around selinux-at.h.
32385         * lib/selinux-at.h: Add documentation.
32386         Reported by Bruno Haible in
32387         http://marc.info/?l=gnulib-bug&m=124958988300749
32388
32389 2009-08-07  Bruno Haible  <bruno@clisp.org>
32390
32391         Avoid link error on MacOS X 10.3 and 10.4.
32392         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
32393         on non-ELF systems.
32394         * lib/argp-pv.c (argp_program_version): Likewise.
32395         Reported by Simon Josefsson.
32396
32397 2009-08-07  Simon Josefsson  <simon@josefsson.org>
32398
32399         * tests/test-version-etc.sh: Use $EXEEXT.
32400
32401 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
32402
32403         update-copyright: update documentation to point to maint.mk
32404         * build-aux/update-copyright: Here.
32405
32406 2009-08-06  Jim Meyering  <meyering@redhat.com>
32407
32408         maint.mk: support update-copyright-local
32409         * top/maint.mk (update-copyright-local): Define place-holder.
32410         (update-copyright): Depend on $(update-copyright-local).
32411
32412 2009-08-06  Jim Meyering  <meyering@redhat.com>
32413
32414         selinux-at: new module
32415         Initially written for coreutils, this module will soon be
32416         used by findutils, too.
32417         * MODULES.html.sh [Misc]: Add selinux-at.
32418         * lib/selinux-at.h: New file, from coreutils.
32419         * lib/selinux-at.c: Likewise.
32420         * modules/selinux-at: Likewise.
32421         (License): Change from LGPL to GPL, since it depends
32422         on the GPL'd openat module.
32423
32424         doc: update README
32425         * README: Remove references to cogito.
32426         Remove cvs-repo-updating instructions from 2007.
32427         Don't imply that CVS is better if you have limited disk space.
32428
32429 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32430
32431         update-copyright: support C-style comments
32432         * build-aux/update-copyright: Implement and document.
32433         * tests/test-update-copyright.sh: Test.
32434
32435 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32436
32437         update-copyright: support omitted "(C)"
32438         * build-aux/update-copyright: Implement and document.  Also,
32439         allow variable whitespace before "(C)".
32440         * tests/test-update-copyright.sh: Test.
32441
32442 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32443
32444         update-copyright: don't trip on non-FSF copyright statements
32445         * build-aux/update-copyright: Fix so that the first correctly
32446         formatted FSF copyright statement is recognized no matter what
32447         appears before it.  Update documentation.
32448         * tests/test-update-copyright.sh: Test that.
32449
32450 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32451
32452         update-copyright: clean up code a little
32453         * build-aux/update-copyright: Append "_re" to the name of any
32454         variable holding a regular expression.
32455         Replace "old" and "new" with "stmt" in variable names.
32456         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
32457         handled correctly.
32458         Format code more consistently.
32459
32460 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32461
32462         update-copyright-tests: improve portability
32463         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
32464         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
32465
32466 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
32467
32468         update-copyright: support @copyright{} and &copy;
32469         * build-aux/update-copyright: Implement and document.
32470         * tests/test-update-copyright.sh: Test.
32471
32472 2009-08-04  Jim Meyering  <meyering@redhat.com>
32473
32474         update-copyright-tests: correctly test EOL=\r\n handling
32475         * tests/test-update-copyright.sh: Put \r at the end of some lines
32476         for the dos-eol tests.  Based on a patch by Joel E. Denny.
32477
32478         maint.mk: make update-copyright exclusion list more configurable
32479         * top/maint.mk (update-copyright): Default to excluding COPYING,
32480         but allow an override, in case someone does want to update that file.
32481
32482         maint.mk: don't update copyright date in COPYING
32483         * top/maint.mk (update-copyright): Exclude COPYING.
32484
32485         maint.mk: add a copyright-updating rule
32486         * top/maint.mk (update-copyright): New rule.
32487         Derived from coreutils/Makefile.am.
32488
32489         update-copyright: rename some variables
32490         * build-aux/update-copyright: Rename a few variables for clarity.
32491         Tweak syntax.  List Joel E. Denny as coauthor.
32492
32493 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
32494
32495         update-copyright: fix bug for 2-digit last year and add tests
32496         * build-aux/update-copyright: Fix bug.
32497         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
32498         specified.
32499         * modules/update-copyright-tests: New
32500         * tests/test-update-copyright.sh: New.
32501
32502 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32503
32504         update-copyright: handle leading tabs in line prefix
32505         * build-aux/update-copyright: Count leading tabs as 8 spaces
32506         when computing margin.  This helps with the formatting of
32507         ChangeLogs, for example.
32508         Fix documentation a little.
32509
32510 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32511
32512         update-copyright: support EOL=\r\n
32513         * build-aux/update-copyright: Implement that.
32514
32515 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32516
32517         update-copyright: automatically format copyright statements
32518         * build-aux/update-copyright: Implement that.
32519         Also, be a little more predictable and safer by always failing
32520         when the full copyright format is not perfectly recognized as an
32521         unbroken whole.  Discussed at
32522         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
32523         Rewrite documentation.
32524
32525 2009-08-03  Bruno Haible  <bruno@clisp.org>
32526
32527         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
32528
32529 2009-08-02  Bruno Haible  <bruno@clisp.org>
32530
32531         Tests for module 'uname'.
32532         * modules/uname-tests: New file.
32533         * tests/test-uname.c: New file.
32534
32535         New module 'uname'.
32536         * lib/uname.c: New file.
32537         * m4/uname.m4: New file.
32538         * modules/uname: New file.
32539         * doc/posix-functions/uname.texi: Mention the new module.
32540
32541 2009-08-02  Bruno Haible  <bruno@clisp.org>
32542
32543         Tests for module 'sys_utsname'.
32544         * modules/sys_utsname-tests: New file.
32545         * tests/test-sys_utsname.c: New file.
32546
32547         New module 'sys_utsname'.
32548         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
32549         * m4/sys_utsname_h.m4: New file.
32550         * modules/sys_utsname: New file.
32551         * doc/posix-headers/sys_utsname.texi: Mention the new module.
32552
32553 2009-08-02  Bruno Haible  <bruno@clisp.org>
32554
32555         Implicitly initialize the sockets library.
32556         * lib/gethostname.c: Include sockets.h.
32557         (rpl_gethostname): Invoke gl_sockets_startup.
32558         * lib/socket.c: Include sockets.h.
32559         (rpl_socket): Invoke gl_sockets_startup.
32560         * modules/gethostname (Depends-on): Add sockets.
32561         * modules/socket (Depends-on): Likewise.
32562         * tests/test-poll.c: Don't include sockets.h.
32563         (main): Don't invoke gl_sockets_startup.
32564         * tests/test-select.c: Don't include sockets.h.
32565         (main): Don't invoke gl_sockets_startup.
32566
32567 2009-08-02  Bruno Haible  <bruno@clisp.org>
32568
32569         Allow multiple calls to gl_sockets_startup.
32570         * lib/sockets.c (initialized_sockets_version): New variable.
32571         (gl_sockets_startup): Do nothing if already called for this or a higher
32572         version.
32573         (gl_sockets_cleanup): Reset initialized_sockets_version.
32574
32575 2009-08-03  Simon Josefsson  <simon@josefsson.org>
32576
32577         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
32578         different project/version.
32579
32580 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
32581             Bruno Haible  <bruno@clisp.org>
32582
32583         Tests for module 'pipe-filter-gi'.
32584         * modules/pipe-filter-gi-tests: New file.
32585         * tests/test-pipe-filter-gi1.sh: New file.
32586         * tests/test-pipe-filter-gi1.c: New file.
32587         * tests/test-pipe-filter-gi2.sh: New file.
32588         * tests/test-pipe-filter-gi2-main.c: New file.
32589         * tests/test-pipe-filter-gi2-child.c: New file.
32590
32591         New module 'pipe-filter-gi'.
32592         * lib/pipe-filter-gi.c: New file.
32593         * modules/pipe-filter-gi: New file.
32594
32595 2009-08-02  Bruno Haible  <bruno@clisp.org>
32596             Paolo Bonzini  <bonzini@gnu.org>
32597
32598         Tests for module 'pipe-filter-ii'.
32599         * modules/pipe-filter-ii-tests: New file.
32600         * tests/test-pipe-filter-ii1.sh: New file.
32601         * tests/test-pipe-filter-ii1.c: New file.
32602         * tests/test-pipe-filter-ii2.sh: New file.
32603         * tests/test-pipe-filter-ii2-main.c: New file.
32604         * tests/test-pipe-filter-ii2-child.c: New file.
32605
32606         New module 'pipe-filter-ii'.
32607         * lib/pipe-filter.h: New file.
32608         * lib/pipe-filter-ii.c: New file.
32609         * lib/pipe-filter-aux.h: New file.
32610         * modules/pipe-filter-ii: New file.
32611
32612 2009-08-02  Simon Josefsson  <simon@josefsson.org>
32613
32614         * lib/gc-libgcrypt.c: Change copyright to FSF.
32615         * lib/gc-gnulib.c: Likewise.
32616
32617 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
32618
32619         * lib/gethostname.c: Include limits.h.
32620
32621 2009-08-02  Simon Josefsson  <simon@josefsson.org>
32622             Bruno Haible  <bruno@clisp.org>
32623
32624         Ensure HOST_NAME_MAX as part of the gethostname module.
32625         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
32626         define also HOST_NAME_MAX.
32627         * tests/test-gethostname.c: Include <limits.h>.
32628         (main): Check also HOST_NAME_MAX.
32629         * doc/posix-headers/limits.texi: Document the mingw problem.
32630
32631 2009-08-02  Bruno Haible  <bruno@clisp.org>
32632
32633         * lib/gethostname.c (gethostname): Fix handling of large len argument.
32634         Add comments.
32635
32636 2009-03-31  Simon Josefsson  <simon@josefsson.org>
32637
32638         * lib/gethostname.c: Add Windows wrapper.
32639         * m4/gethostname.m4: Look for gethostname in -lws2_32.
32640         * modules/gethostname: Depend on sys_socket & errno, for also
32641         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
32642         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
32643
32644 2009-07-31  Jim Meyering  <meyering@redhat.com>
32645
32646         getloadavg: fix symbol name in comment
32647         * lib/getloadavg.c: Correct a typo I introduced when adding
32648         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
32649         Matt Kraai spotted the problem.
32650
32651 2009-07-29  Matt Kraai  <mkraai@beckman.com>
32652
32653         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
32654         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
32655         code also if ! defined N_NAME_POINTER.
32656         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
32657         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
32658         but the n_name member is a 12-byte array.
32659
32660 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
32661
32662         update-copyright: generalize comment handling
32663         * build-aux/update-copyright: Handle copyright statements
32664         within more comment styles.
32665         Document usage.
32666         Report any file with an external copyright holder or parse failure.
32667
32668 2009-07-29  Jim Meyering  <meyering@redhat.com>
32669
32670         mktime: correct setting of REPLACE_MKTIME
32671         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
32672
32673         update-copyright: new module
32674         * modules/update-copyright: New file.
32675         * build-aux/update-copyright: New file.
32676         * MODULES.html.sh (maint+release support): Add update-copyright.
32677
32678 2009-07-27  Bruno Haible  <bruno@clisp.org>
32679
32680         Fix compilation error when <ctime> is used and mktime is replaced.
32681         * lib/time.in.h (mktime): New declaration.
32682         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
32683         REPLACE_MKTIME instead of defining mktime in config.h.
32684         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
32685         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
32686         Reported by Ross McFarland <rwmcfa1@neces.com>.
32687
32688 2009-07-27  Bruno Haible  <bruno@clisp.org>
32689
32690         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
32691         Reported by Matt Kraai <mkraai@beckman.com>.
32692
32693 2009-07-25  Jim Meyering  <meyering@redhat.com>
32694
32695         maint.mk: avoid warnings about missing files
32696         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
32697         diagnostic when .prev-version does not exist.
32698         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
32699         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
32700         nonexistent cfg.mk.
32701         Suggestions from Simon Josefsson.
32702
32703 2009-07-25  Bruno Haible  <bruno@clisp.org>
32704
32705         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
32706         defined as macros. Needed on QNX 6.4.1.
32707         Reported by Matt Kraai <mkraai@beckman.com>.
32708
32709 2009-07-23  Jim Meyering  <meyering@redhat.com>
32710
32711         maint.mk: invoke "make dist" with a working value of XZ_OPT
32712         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
32713
32714 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
32715
32716         Make fseeko.c compile on QNX.
32717         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
32718
32719 2009-07-22  Peter Simons  <simons@cryp.to>
32720
32721         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
32722         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
32723         * lib/md4.h: Likewise.
32724         * lib/md5.h: Likewise.
32725         * lib/sha1.h: Likewise.
32726         * lib/sha256.h: Likewise.
32727         * lib/sha512.h: Likewise.
32728
32729         tests-sha1: don't assign literal string to 'char *' variable
32730         * tests/test-sha1.c (main): Declare locals with "const" to match
32731         attributes of the right hand side.
32732
32733 2009-07-21  Eric Blake  <ebb9@byu.net>
32734
32735         dup2: fix more mingw problems
32736         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
32737         fd to itself.
32738         * doc/posix-functions/dup2.texi (dup2): Document the bug.
32739         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
32740         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
32741         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
32742         care of mingw bugs.
32743
32744 2009-07-21  Jim Meyering  <meyering@redhat.com>
32745
32746         vc-list-files: avoid failure when /bin/sh is dash
32747         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
32748         On some Debian based systems, /bin/sh is a symlink to dash, and running
32749         this command would omit the "/" following each 'tests' prefix:
32750           dash -x build-aux/vc-list-files -C . tests
32751         That is because bash and dash work differently:
32752           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
32753           bash ok
32754           dash odd
32755
32756 2009-07-21  Eric Blake  <ebb9@byu.net>
32757
32758         dup2-tests: test previous patch
32759         * modules/dup2-tests: New file.
32760         * tests/test-dup2.c: Likewise.
32761         * tests/test-open.c (main): Avoid unspecified behavior.
32762         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
32763         test.
32764
32765         dup2: work around mingw and cygwin 1.5 bug
32766         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
32767         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32768         * modules/unistd (Makefile.am): Substitute it.
32769         * lib/unistd.in.h (dup2): Declare the replacement.
32770         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
32771         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
32772         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
32773         * modules/execute (Depends-on): Add dup2.
32774         * modules/fseterr (Depends-on): Likewise.
32775         * modules/pipe (Depends-on): Likewise.
32776         * modules/posix_spawn-internal (Depends-on): Likewise.
32777
32778 2009-07-21  Bruno Haible  <bruno@clisp.org>
32779
32780         * modules/.gitattributes: New file.
32781
32782 2009-07-20  Bruno Haible  <bruno@clisp.org>
32783
32784         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
32785         (main): Use it.
32786
32787 2009-07-20  Eric Blake  <ebb9@byu.net>
32788
32789         test-pipe: make a bit more robust.
32790         * tests/test-pipe.c (myerr): Allow error messages regardless of
32791         what we do to stderr.
32792         (test_pipe): Rearrange to avoid deadlock.
32793         (child_main): Try a larger read, to ensure we avoided deadlock.
32794         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
32795         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
32796         if misused.
32797
32798 2009-07-19  Jim Meyering  <meyering@redhat.com>
32799
32800         fts: avoid false-positive cycle-detection
32801         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
32802         for each new command line argument.
32803
32804 2009-07-19  Bruno Haible  <bruno@clisp.org>
32805
32806         Fix build error on mingw with the modules sys_select and unistd.
32807         * modules/acl-tests (Depends-on): Add close.
32808         * modules/binary-io-tests (Depends-on): Likewise.
32809         * modules/closein-tests (Depends-on): Likewise.
32810         * modules/flock-tests (Depends-on): Likewise.
32811         * modules/fsync-tests (Depends-on): Likewise.
32812         * modules/lseek-tests (Depends-on): Likewise.
32813         * modules/pipe-tests (Depends-on): Likewise.
32814         * modules/posix_spawn-tests (Depends-on): Likewise.
32815         * modules/posix_spawnp-tests (Depends-on): Likewise.
32816         * modules/stat-time-tests (Depends-on): Likewise.
32817         * modules/yesno-tests (Depends-on): Likewise.
32818
32819 2009-07-19  Bruno Haible  <bruno@clisp.org>
32820
32821         Unify conditionals.
32822         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
32823         macros, not at the compiler macros.
32824         * lib/pipe.c: Likewise.
32825         * lib/execute.c: Likewise.
32826         * lib/spawni.c: Likewise.
32827
32828 2009-07-19  Bruno Haible  <bruno@clisp.org>
32829
32830         Fix handling of closed stdin/stdout/stderr on mingw.
32831         * lib/w32spawn.h: Include unistd.h.
32832         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
32833         file descriptor with O_NOINHERIT flag.
32834         (fd_safer_noinherit): New function, based on fd-safer.c.
32835         (dup_safer_noinherit): New function, based on dup-safer.c.
32836         (undup_safer_noinherit): New function.
32837         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
32838         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
32839         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
32840         instead of fd_safer.
32841         * tests/test-pipe.c: Include <windows.h>.
32842         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
32843         result.
32844
32845         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
32846         from main.
32847         (test_pipe): Pass an extra argument for disambiguation.
32848         (main): Invoke parent_main or child_main.
32849
32850         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
32851         consistently.
32852
32853 2009-07-18  Eric Blake  <ebb9@byu.net>
32854
32855         test-pipe: fix mingw build
32856         * tests/test-pipe.c (main): Avoid fcntl on mingw.
32857
32858 2009-07-18  Bruno Haible  <bruno@clisp.org>
32859
32860         * modules/pipe-tests (Makefile.am): Fix typo.
32861
32862 2009-07-18  Eric Blake  <ebb9@byu.net>
32863
32864         error: fix mingw build
32865         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
32866         Reported by Bruno Haible.
32867
32868         error: avoid undefined use of stdout
32869         * lib/error.c (error, error_at_line): Check that fd 1 is open
32870         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
32871         is handling faults and the close_stdout module wants to report the
32872         detection of closed stdout as an error.
32873
32874 2009-07-17  Eric Blake  <ebb9@byu.net>
32875
32876         pipe: be robust in face of closed fds
32877         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
32878         should cause child to misbehave.
32879         * modules/pipe-tests: New module.
32880         * tests/test-pipe.c: New file.
32881         * tests/test-pipe.sh: New file.
32882         Reported by Akim Demaille.
32883
32884 2009-07-14  Bruno Haible  <bruno@clisp.org>
32885
32886         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
32887         Reported by anonymous kc.
32888
32889 2009-07-07  Jim Meyering  <meyering@redhat.com>
32890
32891         maint.mk: don't look for translatable strings in *.m4 or *.mk
32892         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
32893         when searching for translatable strings.
32894
32895 2009-07-05  Jim Meyering  <meyering@redhat.com>
32896
32897         remove superfluous parentheses in STREQ definition
32898         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
32899         * lib/getugroups.c (STREQ): Likewise.
32900         * lib/fnmatch.c (STREQ): Likewise.
32901         Spotted by Bruno Haible.
32902
32903 2009-07-04  Jim Meyering  <meyering@redhat.com>
32904
32905         argv-iter: new module
32906         * MODULES.html.sh: Add argv-iter.
32907         * lib/argv-iter.c, lib/argv-iter.h: New files.
32908         * modules/argv-iter: New file.
32909         * modules/argv-iter-tests: New file.
32910         * tests/test-argv-iter.c: Test it.
32911
32912 2009-07-04  Bruno Haible  <bruno@clisp.org>
32913
32914         Fix assertion.
32915         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
32916         contains more exact copies of a given entry than file2, leave the extra
32917         copies unpaired rather than aborting.
32918         Reported by Eric Blake.
32919
32920 2009-07-02  Bruno Haible  <bruno@clisp.org>
32921
32922         Speedup git-merge-changelog for git cherry-pick.
32923         * lib/git-merge-changelog.c (struct entries_mapping): New type.
32924         (entries_mapping_get): New function, extracted from compute_mapping.
32925         (entries_mapping_reverse_get): New function.
32926         (compute_mapping): Add a 'full' argument. Return the result in a
32927         'struct entries_mapping'.
32928         (main): Update. Access the mappings through entries_mapping_get.
32929         Reported by Eric Blake.
32930
32931 2009-07-02  Bruno Haible  <bruno@clisp.org>
32932
32933         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
32934         best_i.
32935
32936 2009-07-02  Bruno Haible  <bruno@clisp.org>
32937
32938         Speed up approximate search for matching ChangeLog entries.
32939         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
32940         argument. Call fstrcmp_bounded instead of fstrcmp.
32941         (compute_mapping, try_split_merged_entry, main): Update callers.
32942
32943 2009-07-02  Bruno Haible  <bruno@clisp.org>
32944
32945         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
32946
32947 2009-06-30  Bruno Haible  <bruno@clisp.org>
32948
32949         Reduce the number of uc_is_cased calls.
32950         * lib/unicase.h (casing_suffix_context_t): Add
32951         'first_char_except_ignorable' field.
32952         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
32953         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
32954         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
32955         Update initializer.
32956         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
32957         case-ignorable characters.
32958         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
32959         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
32960         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
32961         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
32962         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
32963
32964 2009-06-30  Bruno Haible  <bruno@clisp.org>
32965
32966         Tests for module 'unicase/ignorable'.
32967         * modules/unicase/ignorable-tests: New file.
32968         * tests/unicase/test-ignorable.c: New file, generated by
32969         gen-uni-tables.
32970
32971         Tests for module 'unicase/cased'.
32972         * modules/unicase/cased-tests: New file.
32973         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
32974         * tests/unicase/test-predicate-part1.h: New file, derived from
32975         tests/unictype/test-predicate-part1.h.
32976         * tests/unicase/test-predicate-part2.h: New file, same as
32977         tests/unictype/test-predicate-part2.h.
32978
32979         Fix evaluation of "Before C" condition of FINAL_SIGMA.
32980         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
32981         (output_casing_properties): New function.
32982         (main): Call it.
32983         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
32984         * lib/unicase/cased.c: Include unictype/bitmap.h.
32985         (uc_is_cased): Define through a bitmap lookup.
32986         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
32987         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
32988         (uc_is_case_ignorable): Define through a bitmap lookup.
32989         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
32990         lib/unictype/bitmap.h.
32991         (Depends-on): Add inline. Clean up.
32992         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
32993         lib/unictype/bitmap.h.
32994         (Depends-on): Add inline. Clean up.
32995         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
32996         recognition.
32997         * tests/unicase/test-u16-tolower.c (main): Likewise.
32998         * tests/unicase/test-u32-tolower.c (main): Likewise.
32999
33000 2009-06-30  Bruno Haible  <bruno@clisp.org>
33001
33002         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
33003         * lib/unicase/u16-casemap.c: Likewise.
33004         * lib/unicase/u32-casemap.c: Likewise.
33005
33006 2009-06-29  Bruno Haible  <bruno@clisp.org>
33007
33008         Define u32_casefold as a wrapper around u32_ct_casefold.
33009         * lib/unicase/u32-casefold.c: Update.
33010         * modules/unicase/u32-casefold (Depends-on): Add
33011         unicase/u32-ct-casefold, unicase/empty-prefix-context,
33012         unicase/empty-suffix-context. Clean up.
33013
33014         Define u16_casefold as a wrapper around u16_ct_casefold.
33015         * lib/unicase/u16-casefold.c: Update.
33016         * modules/unicase/u16-casefold (Depends-on): Add
33017         unicase/u16-ct-casefold, unicase/empty-prefix-context,
33018         unicase/empty-suffix-context. Clean up.
33019
33020         Define u8_casefold as a wrapper around u8_ct_casefold.
33021         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
33022         * lib/unicase/u8-casefold.c: Update.
33023         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
33024         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33025
33026         Define u32_totitle as a wrapper around u32_ct_totitle.
33027         * lib/unicase/u32-totitle.c: Update.
33028         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
33029         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33030
33031         Define u16_totitle as a wrapper around u16_ct_totitle.
33032         * lib/unicase/u16-totitle.c: Update.
33033         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
33034         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33035
33036         Define u8_totitle as a wrapper around u8_ct_totitle.
33037         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
33038         functions.
33039         (FUNC): Delegate to U_CT_TOTITLE.
33040         * lib/unicase/u8-totitle.c: Update.
33041         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
33042         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33043
33044         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
33045         invocation.
33046         * modules/unicase/u32-tolower (Depends-on): Add
33047         unicase/empty-prefix-context, unicase/empty-suffix-context.
33048
33049         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
33050         invocation.
33051         * modules/unicase/u16-tolower (Depends-on): Add
33052         unicase/empty-prefix-context, unicase/empty-suffix-context.
33053
33054         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
33055         * modules/unicase/u8-tolower (Depends-on): Add
33056         unicase/empty-prefix-context, unicase/empty-suffix-context.
33057
33058         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
33059         invocation.
33060         * modules/unicase/u32-toupper (Depends-on): Add
33061         unicase/empty-prefix-context, unicase/empty-suffix-context.
33062
33063         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
33064         invocation.
33065         * modules/unicase/u16-toupper (Depends-on): Add
33066         unicase/empty-prefix-context, unicase/empty-suffix-context.
33067
33068         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
33069         * modules/unicase/u8-toupper (Depends-on): Add
33070         unicase/empty-prefix-context, unicase/empty-suffix-context.
33071
33072         New module 'unicase/u32-ct-casefold'.
33073         * lib/unicase/u32-ct-casefold.c: New file.
33074         * modules/unicase/u32-ct-casefold: New file.
33075
33076         New module 'unicase/u16-ct-casefold'.
33077         * lib/unicase/u16-ct-casefold.c: New file.
33078         * modules/unicase/u16-ct-casefold: New file.
33079
33080         New module 'unicase/u8-ct-casefold'.
33081         * lib/unicase/u8-ct-casefold.c: New file.
33082         * lib/unicase/u-ct-casefold.h: New file, derived from
33083         lib/unicase/u-casefold.h.
33084         * modules/unicase/u8-ct-casefold: New file.
33085
33086         New module 'unicase/u32-ct-totitle'.
33087         * lib/unicase/u32-ct-totitle.c: New file.
33088         * modules/unicase/u32-ct-totitle: New file.
33089
33090         New module 'unicase/u16-ct-totitle'.
33091         * lib/unicase/u16-ct-totitle.c: New file.
33092         * modules/unicase/u16-ct-totitle: New file.
33093
33094         New module 'unicase/u8-ct-totitle'.
33095         * lib/unicase/u8-ct-totitle.c: New file.
33096         * lib/unicase/u-ct-totitle.h: New file, derived from
33097         lib/unicase/u-totitle.h.
33098         * modules/unicase/u8-ct-totitle: New file.
33099
33100         New module 'unicase/u32-ct-tolower'.
33101         * lib/unicase/u32-ct-tolower.c: New file.
33102         * modules/unicase/u32-ct-tolower: New file.
33103
33104         New module 'unicase/u16-ct-tolower'.
33105         * lib/unicase/u16-ct-tolower.c: New file.
33106         * modules/unicase/u16-ct-tolower: New file.
33107
33108         New module 'unicase/u8-ct-tolower'.
33109         * lib/unicase/u8-ct-tolower.c: New file.
33110         * modules/unicase/u8-ct-tolower: New file.
33111
33112         New module 'unicase/u32-ct-toupper'.
33113         * lib/unicase/u32-ct-toupper.c: New file.
33114         * modules/unicase/u32-ct-toupper: New file.
33115
33116         New module 'unicase/u16-ct-toupper'.
33117         * lib/unicase/u16-ct-toupper.c: New file.
33118         * modules/unicase/u16-ct-toupper: New file.
33119
33120         New module 'unicase/u8-ct-toupper'.
33121         * lib/unicase/u8-ct-toupper.c: New file.
33122         * modules/unicase/u8-ct-toupper: New file.
33123
33124         Add context arguments to u*_casemap functions.
33125         * lib/unicase/unicasemap.h: Include unicase.h.
33126         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
33127         suffix_context arguments.
33128         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
33129         functions.
33130         (FUNC): Add prefix_context and suffix_context arguments. Use
33131         uc_is_cased and uc_is_case_ignorable.
33132         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
33133         * lib/unicase/u16-casemap.c: Likewise.
33134         * lib/unicase/u32-casemap.c: Likewise.
33135         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
33136         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
33137         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
33138         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
33139         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
33140         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
33141
33142         New module 'unicase/u32-suffix-context'.
33143         * lib/unicase/u32-suffix-context.c: New file.
33144         * modules/unicase/u32-suffix-context: New file.
33145
33146         New module 'unicase/u16-suffix-context'.
33147         * lib/unicase/u16-suffix-context.c: New file.
33148         * modules/unicase/u16-suffix-context: New file.
33149
33150         New module 'unicase/u8-suffix-context'.
33151         * lib/unicase/u8-suffix-context.c: New file.
33152         * lib/unicase/u-suffix-context.h: New file.
33153         * modules/unicase/u8-suffix-context: New file.
33154
33155         New module 'unicase/empty-suffix-context'.
33156         * lib/unicase/empty-suffix-context.c: New file.
33157         * modules/unicase/empty-suffix-context: New file.
33158
33159         New module 'unicase/u32-prefix-context'.
33160         * lib/unicase/u32-prefix-context.c: New file.
33161         * modules/unicase/u32-prefix-context: New file.
33162
33163         New module 'unicase/u16-prefix-context'.
33164         * lib/unicase/u16-prefix-context.c: New file.
33165         * modules/unicase/u16-prefix-context: New file.
33166
33167         New module 'unicase/u8-prefix-context'.
33168         * lib/unicase/u8-prefix-context.c: New file.
33169         * lib/unicase/u-prefix-context.h: New file.
33170         * lib/unicase/context.h: New file.
33171         * modules/unicase/u8-prefix-context: New file.
33172
33173         New module 'unicase/empty-prefix-context'.
33174         * lib/unicase/empty-prefix-context.c: New file.
33175         * modules/unicase/empty-prefix-context: New file.
33176
33177         New module 'unicase/ignorable'.
33178         * lib/unicase/ignorable.c: New file.
33179         * modules/unicase/ignorable: New file.
33180
33181         New module 'unicase/cased'.
33182         * lib/unicase/caseprop.h: New file.
33183         * lib/unicase/cased.c: New file.
33184         * modules/unicase/cased: New file.
33185
33186         New functions for case mapping of substrings.
33187         * lib/unicase.h (casing_prefix_context_t): New type.
33188         (unicase_empty_prefix_context): New variable.
33189         (u8_casing_prefix_context, u16_casing_prefix_context,
33190         u32_casing_prefix_context, u8_casing_prefixes_context,
33191         u16_casing_prefixes_context, u32_casing_prefixes_context): New
33192         declarations.
33193         (casing_suffix_context_t): New type.
33194         (unicase_empty_suffix_context): New variable.
33195         (u8_casing_suffix_context, u16_casing_suffix_context,
33196         u32_casing_suffix_context, u8_casing_suffixes_context,
33197         u16_casing_suffixes_context, u32_casing_suffixes_context,
33198         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
33199         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
33200         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
33201         declarations.
33202
33203 2009-06-28  Jim Meyering  <meyering@redhat.com>
33204
33205         boostrap: indent only with spaces
33206         * build-aux/bootstrap: Indent only with spaces, never TABs.
33207
33208         bootstrap: split long lines
33209         * build-aux/bootstrap: Keep line length < 80.
33210
33211         bootstrap: sync from coreutils
33212         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
33213         just as autoreconf does.  Verify a list of prerequisite
33214         package-name,version-number pairs if defined in bootstrap.conf.
33215         Refer to README-prereq, if prerequisites are not satisfied.
33216
33217 2009-06-27  Eric Blake  <ebb9@byu.net>
33218
33219         tests: add test for bogus NULL definition
33220         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
33221         * tests/test-stdlib.c: Likewise.
33222         * tests/test-string.c: Likewise.
33223         * tests/test-locale.c: Likewise.
33224         * tests/test-unistd.c: Likewise.
33225         * modules/stdio-tests (Depends-on): Add verify.
33226         * modules/stdlib-tests (Depends-on): Likewise.
33227         * modules/string-tests (Depends-on): Likewise.
33228         * modules/locale-tests (Depends-on): Likewise.
33229         * modules/unistd-tests (Depends-on): Likewise.
33230
33231 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
33232
33233         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
33234         self-explaining comment.
33235         * m4/selinux-selinux-h: Update serial.
33236         (gl_LIBSELINUX): New macro, adding a warning for missing development
33237         packages to code extracted from...
33238         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
33239         Add warning for missing development packages here, too.
33240
33241 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
33242
33243         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
33244
33245 2009-06-25  Eric Blake  <ebb9@byu.net>
33246
33247         version-etc: fix regression
33248         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
33249         gcc.
33250         (version_etc): Use it, to catch bugs with trailing NULL.
33251         * lib/version-etc.c (version_etc_arn): Delete unused argument.
33252         (version_etc_va): Fix logic bug.
33253         * modules/version-etc-tests: Add test.
33254         * tests/test-version-etc.c: New file.
33255         * tests/test-version-etc.sh: Likewise.
33256
33257 2009-06-25  Sam Steingold  <sds@gnu.org>
33258
33259         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
33260         mbtowc declaration.
33261
33262 2009-06-25  Eric Blake  <ebb9@byu.net>
33263
33264         fpurge: migrate into <stdio.h>
33265         * lib/fpurge.h: Delete...
33266         * lib/stdio.in.h (fpurge): ...and declare here, instead.
33267         * lib/fpurge.c (fpurge): Change declaring header.
33268         * modules/fpurge (Files): Drop deleted file.
33269         (Depends-on): Add stdio.
33270         (configure.ac): Set witness.
33271         * modules/stdio (Makefile.am): Support fpurge macros.
33272         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
33273         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
33274         * lib/fflush.c: Update client.
33275         * tests/test-fpurge.c: Likewise.
33276         * NEWS: Mention the change.
33277
33278 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
33279
33280         * lib/argp-version-etc.c (program_authors): Add const
33281         qualifier.
33282         * lib/version-etc.c: Fix typos in the comments.
33283         * modules/argp-version-etc: Depends on version-etc.
33284
33285 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
33286
33287         argp-version-etc: new module.
33288
33289         * lib/argp-version-etc.c: New file.
33290         * lib/argp-version-etc.h: New file.
33291         * modules/argp-version-etc: New file.
33292         * modules/argp-version-etc-tests: New file.
33293         * tests/test-argp-version-etc.c: New test.
33294         * tests/test-argp-version-etc-1.sh: New test.
33295
33296 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
33297
33298         Provide additional interfaces and documentation for version-etc
33299         module.
33300
33301         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
33302         interfaces.
33303         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
33304         prototypes.
33305
33306 2009-06-24  Bruno Haible  <bruno@clisp.org>
33307
33308         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
33309         HAVE_LIB${NAME} macro.
33310         Reported by Sam Steingold <sds@gnu.org>.
33311
33312 2009-06-23  Simon Josefsson  <simon@josefsson.org>
33313
33314         * modules/hash-tests (test_hash_LDADD): Link to libintl when
33315         needed.
33316
33317 2009-06-21  Bruno Haible  <bruno@clisp.org>
33318
33319         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
33320         work.
33321         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
33322         together with LIB${NAME}, LTLIB${NAME}.
33323         Reported by Sam Steingold <sds@gnu.org>.
33324
33325 2009-06-20  Jim Meyering  <meyering@redhat.com>
33326
33327         tests: make sc_require_test_exit_idiom more generic
33328         * top/maint.mk (Exit_witness_file): New overridable variable.
33329         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
33330         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
33331
33332 2009-06-19  Jim Meyering  <meyering@redhat.com>
33333
33334         hash: reverse order of src/dst parameters in an internal interface
33335         * lib/hash.c (transfer_entries): Reverse order of parameters to
33336         put DST before SRC.  Adjust callers.
33337
33338         tests: test-hash: avoid wholesale duplication
33339         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
33340         Instead, use a loop and add a single conditional.
33341
33342         tests: test-hash: allow seed selection via a command line argument
33343         * tests/test-hash.c (get_seed): New function.
33344         (main): Use it.
33345
33346 2009-06-19  Eric Blake  <ebb9@byu.net>
33347
33348         hash: avoid memory leak on allocation failure
33349         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
33350         failure.  Factor repeated algorithm...
33351         (transfer_entries): ...into new helper routine.
33352         (hash_delete): React to hash_rehash return value.
33353
33354         hash: reduce memory pressure in hash_rehash no-op case
33355         * lib/hash.c (next_prime): Avoid overflow.
33356         (hash_initialize): Factor bucket size computation...
33357         (compute_bucket_size): ...into new helper function.
33358         (hash_rehash): Use new function and open coding to reduce memory
33359         pressure, and avoid a memory leak in USE_OBSTACK code.
33360         Reported by Jim Meyering.
33361
33362 2009-06-18  Eric Blake  <ebb9@byu.net>
33363
33364         hash: make rotation more obvious
33365         * modules/hash (Depends-on): Add bitrotate and stdint.
33366         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
33367         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
33368         (SIZE_MAX): Rely on headers for definition.
33369         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
33370         (raw_hasher): Use rotr_sz.
33371         Suggested by Jim Meyering.
33372
33373         hash: fix memory leak in last patch
33374         * lib/hash.c (hash_rehash): Avoid memory leak.
33375
33376         hash: avoid no-op rehashing
33377         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
33378
33379         hash: provide default callback functions
33380         * lib/hash.c (raw_hasher, raw_comparator): New functions.
33381         (hash_initialize): Use them as defaults.
33382         * tests/test-hash.c (main): Test this.
33383
33384         hash: minor optimization
33385         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
33386         when possible.
33387         (hash_initialize): Document this promise.
33388         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
33389         * tests/test-hash.c (hash_compare_strings): Test this.
33390
33391 2009-06-18  Bruno Haible  <bruno@clisp.org>
33392
33393         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
33394         going to be replaced anyway.
33395
33396 2009-06-18  Bruno Haible  <bruno@clisp.org>
33397
33398         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
33399         in one place.
33400         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
33401         be replaced anyway.
33402
33403 2009-06-18  Eric Blake  <ebb9@byu.net>
33404
33405         hash: check for resize before insertion
33406         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
33407         threshold before insertion, so that a pathological hash_rehash
33408         that fills every bucket can still trigger another rehash.
33409
33410 2009-06-18  Jim Meyering  <meyering@redhat.com>
33411
33412         hash-tests: add a loop around the small tests
33413         * tests/test-hash.c (main): Repeat small tests with selected
33414         small initial table sizes.
33415
33416 2009-06-17  Eric Blake  <ebb9@byu.net>
33417
33418         hash: minor cleanups
33419         * lib/hash.h (hash_entry): Make opaque, by moving...
33420         * lib/hash.c (hash_entry): ...here.
33421         (hash_insert): Clarify restrictions on what can be inserted.
33422         (hash_get_next): Clarify when it is safe to remove an element
33423         during traversal.
33424         (check_tuning): Skip verification when tuning is known safe.
33425         (hash_initialize): Clarify restrictions on tuning.
33426
33427 2009-06-17  Jim Meyering  <jim@meyering.net>
33428         and Eric Blake  <ebb9@byu.net>
33429
33430         hash-tests: new module
33431         * modules/hash-tests: New file.
33432         * tests/test-hash.c: New file.
33433
33434 2009-06-17  Eric Blake  <ebb9@byu.net>
33435
33436         strstr-simple: document new module
33437         * MODULES.html.sh: Document new module.
33438
33439         strstr, strcasestr: replace on platforms with broken memchr
33440         * modules/strstr: Split into...
33441         * modules/strstr-simple: ...new module that does not care about
33442         performance, but does care about glibc bug.
33443         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
33444         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
33445         if platform memchr is broken, per Debian bug 521737.
33446         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
33447         memchr.
33448         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
33449         * doc/posix-functions/strstr.texi (strstr): Document the fix.
33450         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
33451         * modules/mountlist (Depends-on): Add strstr-simple.
33452         * modules/gen-uni-tables (Depends-on): Likewise.
33453         * modules/argz (Depends-on): Add strstr.
33454
33455 2009-06-17  Bruno Haible  <bruno@clisp.org>
33456
33457         * modules/posix_spawn-internal (Depends-on): Add errno.
33458
33459 2009-06-17  Bruno Haible  <bruno@clisp.org>
33460
33461         Define missing ESTALE on Interix 3.5.
33462         * lib/errno.in.h (ESTALE): Assign a value if missing.
33463         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
33464         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
33465         missing.
33466         * doc/posix-headers/errno.texi: Mention the Interix bug.
33467         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
33468
33469 2009-06-15  Eric Blake  <ebb9@byu.net>
33470
33471         memchr, memchr2: add valgrind exception
33472         * lib/memchr.valgrind: New file.
33473         * lib/memchr2.valgrind: New file.
33474         * modules/memchr (Files): Distribute valgrind file.
33475         * modules/memchr2 (Files): Likewise.
33476
33477         docs: memchr is no longer obsolete
33478         * MODULES.html.sh: Move memchr from obsolete to string.h section.
33479         * lib/string.in.h (memchr): Simplify logic.
33480
33481 2009-06-14  Jim Meyering  <meyering@redhat.com>
33482
33483         link-follow: fix the "checking..." message to not mention trailing slash
33484         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
33485         never considered trailing slashes.
33486
33487 2009-06-14  Bruno Haible  <bruno@clisp.org>
33488
33489         * m4/memchr.m4: Mention also the bug on IA-64.
33490         * doc/posix-functions/memchr.texi: Likewise.
33491
33492 2009-06-12  Eric Blake  <ebb9@byu.net>
33493
33494         memchr: detect broken x86_64 and alpha implementations
33495         * modules/memchr-tests (Depends-on): Move mmap detection...
33496         * modules/memchr (Depends-on): ...here.
33497         (configure.ac): Set indicator.
33498         * lib/string.in.h (memchr): Declare replacement.
33499         * modules/string (Makefile.am): Trigger replacement.
33500         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
33501         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
33502         bugs.
33503         * doc/posix-functions/memchr.texi (memchr): Document the bug.
33504         * modules/getpagesize (License): Relax license.
33505
33506 2009-06-11  Bruno Haible  <bruno@clisp.org>
33507
33508         * lib/idpriv.h: Add more references.
33509
33510 2009-06-08  Bruno Haible  <bruno@clisp.org>
33511
33512         Tests for module 'idpriv-droptemp'.
33513         * modules/idpriv-droptemp-tests: New file.
33514         * tests/test-idpriv-droptemp.sh: New file.
33515         * tests/test-idpriv-droptemp.su.sh: New file.
33516         * tests/test-idpriv-droptemp.c: New file.
33517
33518         New module 'idpriv-droptemp'.
33519         * lib/idpriv-droptemp.c: New file.
33520         * modules/idpriv-droptemp: New file.
33521
33522 2009-06-08  Bruno Haible  <bruno@clisp.org>
33523
33524         Tests for module 'idpriv-drop'.
33525         * modules/idpriv-drop-tests: New file.
33526         * tests/test-idpriv-drop.sh: New file.
33527         * tests/test-idpriv-drop.su.sh: New file.
33528         * tests/test-idpriv-drop.c: New file.
33529
33530         New module 'idpriv-drop'.
33531         * lib/idpriv.h: New file.
33532         * lib-idpriv-drop.c: New file.
33533         * m4/idpriv.m4: New file.
33534         * modules/idpriv-drop: New file.
33535
33536 2009-06-08  Bruno Haible  <bruno@clisp.org>
33537
33538         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
33539         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33540         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33541         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33542         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33543         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33544         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33545
33546 2009-06-08  Eric Blake  <ebb9@byu.net>
33547
33548         test-strstr: use memory fence, when possible
33549         * tests/test-strstr.c (main): Use memory fence, in order to be
33550         more likely to trigger Debian bug 521737.
33551         * modules/strstr-tests (Files): Pull in additional files.
33552
33553         memchr: no longer obsolete, for wider field testing
33554         * modules/memchr (Status, Notice): Delete, this module is no
33555         longer obsolete.
33556         * modules/vasnprintf (Depends-on): Add memchr.
33557
33558 2009-06-07  Jim Meyering  <meyering@redhat.com>
33559
33560         hash: declare some functions with the warn_unused_result attribute
33561         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
33562
33563 2009-06-07  Bruno Haible  <bruno@clisp.org>
33564
33565         * tests/test-alignof.c: Don't test int64_t if it does not exist.
33566         Reported by Eric Blake.
33567
33568 2009-06-06  Eric Blake  <ebb9@byu.net>
33569
33570         test-alignof: fix typo with long double
33571         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
33572         compiler error.
33573
33574 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
33575
33576         Escape non-texinfo { and }s.
33577         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
33578         markup error.
33579
33580 2009-06-04  Jim Meyering  <meyering@redhat.com>
33581
33582         gitlog-to-changelog: don't infloop on an empty commit log
33583         * build-aux/gitlog-to-changelog: Warn about an empty log message.
33584         Reported by Boris Petersen <transacid@centerim.org>.
33585
33586 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
33587
33588         version-etc: extend for packagers
33589         Add three new configure options, intended for packagers:
33590           --with-packager="packager name"
33591           --with-packager-version="packager-specific version"
33592           --with-packager-bug-reports="packager bug reporting"
33593         An example with coreutils:
33594           $ ./configure \
33595             --with-packager=Gentoo \
33596             --with-packager-bug-report=http://bugs.gentoo.org/ \
33597             --with-packager-version="patchset 1.6"
33598           $ ./src/ls --version | head -n2
33599           ls (GNU coreutils) 7.1-dirty
33600           Packaged by Gentoo (patchset 1.6)
33601         Note that the bug reporting info via --help doesn't show up because
33602         coreutils uses its own custom emit_bug_reporting_address() implementation
33603         in src/system.h.  If it didn't, it'd look like:
33604           $ ./src/ls --help | tail -n4
33605           Report bugs to <bug-coreutils@gnu.org>.
33606           Report Gentoo bugs to <http://bugs.gentoo.org/>.
33607           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
33608           General help using GNU software: <http://www.gnu.org/gethelp/>.
33609         * lib/version-etc.c: Print new information, if provided.
33610         * m4/version-etc.m4: New file.
33611         * modules/version-etc (Files): Add m4/version-etc.m4.
33612         (configure.ac): Add gl_VERSION_ETC.
33613
33614 2009-05-31  Bruno Haible  <bruno@clisp.org>
33615
33616         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
33617         and 'int64_t'.
33618         * modules/alignof-tests (Dependencies): Add stdint.
33619         Reported by Eric Blake.
33620
33621 2009-05-31  Bruno Haible  <bruno@clisp.org>
33622
33623         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
33624         restriction due to compiler bugs.
33625         Reported by Eric Blake.
33626
33627 2009-05-31  Simon Josefsson  <simon@josefsson.org>
33628             Bruno Haible  <bruno@clisp.org>
33629
33630         Fix test-alignof failure.
33631         * lib/alignof.h (alignof_slot): New macro.
33632         (alignof_type): New macro, with the same semantics as the previous
33633         'alignof'.
33634         (alignof): Alias to alignof_slot.
33635         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
33636         check that the results are usable as constant expressions.
33637
33638 2009-05-31  Bruno Haible  <bruno@clisp.org>
33639
33640         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
33641         * tests/test-memchr.c (main): Check that memchr does not read past the
33642         first occurrence of the byte.
33643         * tests/test-strstr.c (main): Update comment.
33644         Suggested by Eric Blake.
33645
33646 2009-05-30  Bruno Haible  <bruno@clisp.org>
33647
33648         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
33649         detail how to use dumpbin.
33650         Reported by David Byron <dbyron@dbyron.com>.
33651
33652 2009-06-02  Simon Josefsson  <simon@josefsson.org>
33653
33654         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
33655
33656 2009-06-02  Simon Josefsson  <simon@josefsson.org>
33657
33658         * m4/manywarnings.m4: Add GCC 4.4 warnings.
33659
33660 2009-05-28  Bruno Haible  <bruno@clisp.org>
33661
33662         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
33663         build-aux/ files.
33664
33665 2009-05-28  Simon Josefsson  <simon@josefsson.org>
33666
33667         * gnulib-tool (func_import): Transform license on build-aux/ files too.
33668
33669 2009-05-27  Simon Josefsson  <simon@josefsson.org>
33670
33671         * gnulib-tool (sed_transform_main_lib_file)
33672         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
33673         regexps.
33674
33675 2009-05-26  Simon Josefsson  <simon@josefsson.org>
33676
33677         * tests/test-strstr.c: Add another self-test.
33678         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
33679         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
33680
33681 2009-05-23  Bruno Haible  <bruno@clisp.org>
33682
33683         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
33684         change.
33685
33686 2009-05-21  Bruno Haible  <bruno@clisp.org>
33687
33688         Simplify use of mode_t varargs.
33689         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
33690         uses 'mode_t' or 'int'.
33691         * lib/openat.c (openat): Likewise.
33692         * lib/open-safer.c (open_safer): Likewise.
33693         * m4/mode_t.m4: New file.
33694         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
33695         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
33696         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
33697         * modules/open (Files): Add m4/mode_t.m4.
33698         * modules/openat (Files): Likewise.
33699         * modules/fcntl-safer (Files): Likewise.
33700         Suggested by Eric Blake.
33701
33702 2009-05-21  PĂ¡draig Brady  <P@draigbrady.com>
33703
33704         * doc/glibc-functions/fallocate.texi: New file.
33705         * doc/gnulib.texi: Include it.
33706
33707 2009-05-21  Eric Blake  <ebb9@byu.net>
33708             Bruno Haible  <bruno@clisp.org>
33709
33710         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
33711         invocations.
33712         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33713
33714 2009-05-21  Eric Blake  <ebb9@byu.net>
33715             Bruno Haible  <bruno@clisp.org>
33716
33717         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
33718         include_next. Fix of 2008-11-20 commit.
33719         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
33720         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
33721         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
33722         NEXT_MATH_H.
33723         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
33724         instead of NEXT_MATH_H.
33725
33726 2009-05-21  Bruno Haible  <bruno@clisp.org>
33727
33728         Avoid redefinition warnings for SIZE_MAX.
33729         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
33730         Reported by Simon Josefsson.
33731
33732 2009-05-21  Bruno Haible  <bruno@clisp.org>
33733
33734         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
33735         AC_CACHE_VAL.
33736
33737 2009-05-20  Bruno Haible  <bruno@clisp.org>
33738
33739         Make zeroptr.h work on mingw.
33740         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
33741         mprotect.
33742         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
33743         * modules/memchr2-tests (configure.ac): Likewise.
33744         * modules/memcmp-tests (configure.ac): Likewise.
33745         * modules/memmem-tests (configure.ac): Likewise.
33746         * modules/memrchr-tests (configure.ac): Likewise.
33747         Reported by Simon Josefsson.
33748
33749 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33750
33751         * tests/test-glob.c: Include string.h for strcmp prototype.
33752
33753 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33754
33755         * modules/getdelim (Depends-on): Add explicit stdint, although it
33756         was implicitly already pulled in via realloc-posix.
33757         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
33758
33759 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33760
33761         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
33762         G. Christensen" <tgc@jupiterrise.com>.
33763         * m4/sys_socket_h.m4: Check for sa_family_t.
33764         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
33765         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
33766         * tests/test-sys_socket.c: Check that sa_family_t works.
33767
33768 2009-05-18  Eric Blake  <ebb9@byu.net>
33769
33770         maint.mk: allow gnulib_dir in VPATH build
33771         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
33772
33773 2009-05-15  Jim Meyering  <meyering@redhat.com>
33774
33775         maint.mk: Give gnulib_dir a default definition.
33776         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
33777         Thus, most packages no longer need to specify this variable in cfg.mk
33778
33779 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
33780
33781         rename.m4: fix typos that would make non-mingw cross-configure fail
33782         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
33783
33784 2009-05-13  Eric Blake  <ebb9@byu.net>
33785
33786         mmap-anon: avoid out-of-order autoconf expansion
33787         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
33788         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
33789         * modules/memchr-tests (Depends-on): Add extensions.
33790         * modules/memchr2-tests (Depends-on): Add extensions.
33791         * modules/memcmp-tests (Depends-on): Add extensions.
33792         * modules/memmem-tests (Depends-on): Add extensions.
33793         * modules/memrchr-tests (Depends-on): Add extensions.
33794
33795 2009-05-13  Bruno Haible  <bruno@clisp.org>
33796
33797         Make some tests ISO C 99 compliant.
33798         * tests/zerosize-ptr.h: New file.
33799         * tests/test-memchr.c: Include zerosize-ptr.h.
33800         (main): Use a zero-size object pointer instead of NULL.
33801         * tests/test-memchr2.c: Include zerosize-ptr.h.
33802         (main): Use a zero-size object pointer instead of NULL.
33803         * tests/test-memcmp.c: Include zerosize-ptr.h.
33804         (main): Use a zero-size object pointer instead of NULL.
33805         * tests/test-memmem.c: Include zerosize-ptr.h.
33806         (main): Use a zero-size object pointer instead of NULL.
33807         * tests/test-memrchr.c: Include zerosize-ptr.h.
33808         (main): Use a zero-size object pointer instead of NULL.
33809         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
33810         m4/mmap-anon.m4.
33811         (Depends-on): Add getpagesize.
33812         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33813         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
33814         m4/mmap-anon.m4.
33815         (Depends-on): Add getpagesize.
33816         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33817         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
33818         m4/mmap-anon.m4.
33819         (Depends-on): Add getpagesize.
33820         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33821         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
33822         m4/mmap-anon.m4.
33823         (Depends-on): Add getpagesize.
33824         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33825         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
33826         m4/mmap-anon.m4.
33827         (Depends-on): Add getpagesize.
33828         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33829
33830 2009-05-12  Bruno Haible  <bruno@clisp.org>
33831
33832         Tests for module 'alignof'.
33833         * modules/alignof-tests: New file.
33834         * tests/test-alignof.c: New file.
33835
33836 2009-05-12  Bruno Haible  <bruno@clisp.org>
33837
33838         Fix alignof macro.
33839         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
33840         vendor compilers that are always correct.
33841
33842 2009-05-12  Bruno Haible  <bruno@clisp.org>
33843
33844         Make the MAP_ANONYMOUS detection work on HP-UX 11.
33845         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
33846         not whether its fully works.
33847
33848 2009-05-12  Bruno Haible  <bruno@clisp.org>
33849
33850         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
33851
33852 2009-05-12  Jim Meyering  <meyering@redhat.com>
33853
33854         * top/maint.mk: Adjust backslash alignment.
33855
33856 2009-05-11  Simon Josefsson  <simon@josefsson.org>
33857
33858         * top/maint.mk: Make $(srcdir)/build-aux configurable.
33859
33860 2009-05-11  Eric Blake  <ebb9@byu.net>
33861
33862         argp: avoid undefined behavior
33863         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
33864         macros.
33865
33866 2009-05-08  Simon Josefsson  <simon@josefsson.org>
33867
33868         * tests/test-vc-list-files-git.sh: Do git config of user.email and
33869         user.name to prevent git commit from complaining.
33870
33871 2009-05-10  Bruno Haible  <bruno@clisp.org>
33872
33873         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
33874         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
33875         it rewrites every file name only once.
33876         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
33877
33878 2009-05-08  Bruno Haible  <bruno@clisp.org>
33879
33880         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
33881         instead of 'max'.
33882
33883 2009-05-08  Simon Josefsson  <simon@josefsson.org>
33884
33885         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
33886         sockaddr_storage test.
33887
33888 2009-05-07  Simon Josefsson  <simon@josefsson.org>
33889
33890         * modules/sys_socket (Makefile.am): Substitute
33891         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
33892         * m4/sys_socket_h.m4: Check for sockaddr_storage.
33893         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
33894         * tests/test-sys_socket.c: Check sockaddr_storage.
33895
33896 2009-05-08  Bruno Haible  <bruno@clisp.org>
33897
33898         New module 'alignof'.
33899         * lib/alignof.h: New file.
33900         * modules/alignof: New file.
33901
33902 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33903             Bruno Haible  <bruno@clisp.org>
33904
33905         Fix test-file-has-acl on FreeBSD.
33906         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
33907         mask is implicitly added.
33908         * tests/test-file-has-acl.c: Include <signal.h>.
33909         (main): Terminate the test after 5 seconds.
33910         * modules/acl-tests (configure.ac): Check for alarm function.
33911
33912 2009-05-04  Bruno Haible  <bruno@clisp.org>
33913
33914         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
33915         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
33916         * modules/errno (configure.ac): Drop AC_REQUIRE.
33917         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
33918         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
33919
33920 2009-05-04  Simon Josefsson  <simon@josefsson.org>
33921
33922         * modules/glob-tests: New module.
33923         * tests/test-glob.c: Add.
33924
33925 2009-05-04  Simon Josefsson  <simon@josefsson.org>
33926
33927         * modules/fnmatch-tests: New module.
33928         * tests/test-fnmatch.c: Add.
33929
33930 2009-05-04  Eric Blake  <ebb9@byu.net>
33931
33932         maint: make the new no-submodule-changes rule VPATH-safe
33933         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
33934
33935 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33936             Bruno Haible  <bruno@clisp.org>
33937
33938         acl: Fix infinite loop on FreeBSD.
33939         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
33940         of return value from acl_get_entry.
33941         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
33942         Likewise.
33943
33944 2009-05-03  Bruno Haible  <bruno@clisp.org>
33945
33946         * lib/acl-internal.h (acl_entries): Clarify return value.
33947         * lib/acl_entries.c (acl_entries): Likewise.
33948
33949 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33950
33951         Bug fix in acl module.
33952         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
33953
33954 2009-05-03  Bruno Haible  <bruno@clisp.org>
33955
33956         Create gperf-generated file in the source dir, not in the build dir.
33957         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
33958         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
33959         * modules/unicase/locale-language (unicase/locale-languages.h):
33960         Likewise.
33961         * modules/unicase/special-casing (unicase/special-casing-table.h):
33962         Likewise.
33963         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
33964         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
33965         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
33966         Reported by Ralf Wildenhues.
33967
33968 2009-05-03  Bruno Haible  <bruno@clisp.org>
33969
33970         * modules/fnmatch (Description, configure.ac): Taken from
33971         fnmatch-posix.
33972         * modules/fnmatch-posix: Turn into a symbolic reference to the
33973         'fnmatch' module, and deprecate.
33974         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
33975
33976 2009-05-03  Bruno Haible  <bruno@clisp.org>
33977
33978         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
33979         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
33980         Reported by Ralf Wildenhues.
33981
33982 2009-05-04  Simon Josefsson  <simon@josefsson.org>
33983
33984         * m4/fnmatch.m4: Fix fnmatch re-define.
33985
33986 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33987
33988         priv-set: new module and tests; adapt write-any-file
33989         * lib/priv-set.c: New file.
33990         * lib/priv-set.h: New file.
33991         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
33992         * lib/write-any-file.c: Simplify by using priv-set module.
33993         * m4/priv-set.m4: New file.
33994         * modules/priv-set: New file.
33995         * modules/unlinkdir: Add dependency on priv-set module.
33996         * modules/write-any-file: Likewise.
33997
33998         Tests for module 'priv-set'.
33999         * modules/priv-set-tests: New file.
34000         * tests/test-priv-set.c: New file.
34001
34002 2009-05-03  Jim Meyering  <meyering@redhat.com>
34003             Bruno Haible  <bruno@clisp.org>
34004
34005         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
34006         use the converted UTF-8 variant of the name instead.
34007
34008 2009-05-03  Jim Meyering  <meyering@redhat.com>
34009
34010         tests: tighten some getdate tests
34011         * tests/test-getdate.c (main): Tighten tests: require equality,
34012         not just greater than.  Set TZ envvar to UTC0.
34013
34014 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
34015
34016         getdate: correctly interpret "next monday" when run on a Monday
34017         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
34018         that e.g., "next tues" (when run on a tuesday) results in a date
34019         that is one week in the future, and not today's date.
34020         I.e., add a week when the wday is the same as the current one.
34021         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
34022         and earlier by Martin Bernreuther and Jan MinĂ¡Å™.
34023         * tests/test-getdate.c (main): Check that "next DAY" is always in
34024         the future and that "last DAY" is always in the past.
34025
34026 2009-05-02  Jim Meyering  <meyering@redhat.com>
34027
34028         build: ensure that a release build fails when a submodule is unclean
34029         * top/maint.mk (no-submodule-changes): New rule.
34030         (alpha beta major): Depend on it.
34031
34032 2009-05-02  Bruno Haible  <bruno@clisp.org>
34033
34034         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
34035         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
34036         shell variable gl_fnmatch_required to detect which variant is
34037         requested.
34038         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
34039         gl_FUNC_FNMATCH_POSIX.
34040         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
34041         exclude fnmatch-posix.
34042
34043 2009-05-02  Bruno Haible  <bruno@clisp.org>
34044
34045         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
34046         * modules/mbsrtowcs (License): Change to LGPLv2+.
34047         * modules/strnlen1 (License): Likewise.
34048         Reported by Simon Josefsson.
34049
34050 2009-05-02  Bruno Haible  <bruno@clisp.org>
34051
34052         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
34053         "cross".
34054         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
34055         gnulib-tool was called with option --source-base=lib.
34056
34057 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34058
34059         Use automake *-local hooks without commands, for extensibility.
34060         * modules/localcharset (Makefile.am): Rename install-exec-local
34061         rule to install-exec-localcharset, and make it a prerequisite of
34062         install-exec-local.  Likewise, rename the uninstall-local rule to
34063         uninstall-localcharset, and make it a prerequisite of the former.
34064
34065 2009-05-01  Bruno Haible  <bruno@clisp.org>
34066
34067         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
34068         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
34069         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
34070         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
34071         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
34072         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
34073         m4/locale-zh.m4, m4/codeset.m4.
34074
34075         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
34076         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
34077         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
34078         m4/locale-zh.m4.
34079
34080         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
34081         REPLACE_WCRTOMB if mbstate_t must be replaced.
34082         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
34083         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
34084
34085 2009-05-01  Bruno Haible  <bruno@clisp.org>
34086
34087         Avoid compiler warnings when redefining macros defined by <libintl.h>.
34088         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
34089         dngettext, dcngettext, textdomain, bindtextdomain,
34090         bind_textdomain_codeset): Undefine before redefining.
34091
34092 2009-04-30  Bruno Haible  <bruno@clisp.org>
34093
34094         Fix bug introduced on 2009-04-25.
34095         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
34096         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
34097         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
34098         is defined.
34099         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
34100         is defined.
34101         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
34102         is defined.
34103         Reported by Elbert_Pol <elbert.pol@gmail.com>.
34104
34105 2009-04-28  Bruno Haible  <bruno@clisp.org>
34106
34107         Comment tweaks.
34108         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
34109         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
34110         * lib/unicase.h (u*_casexfrm): Likewise.
34111         Reported by Paolo Bonzini.
34112
34113 2009-04-28  Bruno Haible  <bruno@clisp.org>
34114
34115         Fix a compilation error.
34116         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
34117         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
34118         Reported by Jim Meyering.
34119
34120 2009-04-27  Bruno Haible  <bruno@clisp.org>
34121
34122         New module 'libunistring'.
34123         * modules/libunistring: New file.
34124         * m4/libunistring.m4: New file.
34125         * MODULES.html.sh (Unicode string functions): Add it.
34126
34127 2009-04-27  Eric Blake  <ebb9@byu.net>
34128
34129         maint.mk: allow package-specific header to provide <config.h>
34130         * top/maint.mk (sc_require_config_h): New variable.
34131         (sc_require_config_h, sc_require_config_h_first): Use it.
34132
34133 2009-04-27  Simon Josefsson  <simon@josefsson.org>
34134
34135         * top/maint.mk (sc_avoid_if_before_free): Except
34136         useless-if-before-free script.
34137
34138 2009-04-27  Eric Blake  <ebb9@byu.net>
34139
34140         maintainer-makefile: depend on all required helper scripts
34141         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
34142         useless-if-before-free.
34143         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
34144         version, rather than assuming gnulib checkout is available.
34145         Reported by Simen Josefsson.
34146
34147 2009-04-26  Bruno Haible  <bruno@clisp.org>
34148
34149         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
34150         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
34151         "../" or "..".
34152
34153 2009-04-26  Bruno Haible  <bruno@clisp.org>
34154
34155         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
34156         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
34157         AC_LIB_HAVE_LINKFLAGS.
34158
34159 2009-04-26  Bruno Haible  <bruno@clisp.org>
34160
34161         Simplify calling convention of u*_conv_from_encoding.
34162         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
34163         u32_conv_from_encoding): Expect a resultbuf argument and return the
34164         result directly as a pointer.
34165         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
34166         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
34167         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
34168         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
34169         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
34170         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
34171         Update.
34172         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
34173         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
34174         * lib/vasnprintf.c (VASNPRINTF): Update.
34175         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
34176         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
34177         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
34178         * NEWS: Mention the change.
34179
34180 2009-04-26  Bruno Haible  <bruno@clisp.org>
34181
34182         Simplify calling convention of u*_conv_to_encoding.
34183         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
34184         u32_conv_to_encoding): Expect a resultbuf argument and return the
34185         result directly as a pointer.
34186         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
34187         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
34188         freeing scaled_offsets if mem_iconveha failed.
34189         * lib/unicase/u-casexfrm.h (FUNC): Update.
34190         * lib/uninorm/u-normxfrm.h (FUNC): Update.
34191         * lib/vasnprintf.c (VASNPRINTF): Update.
34192         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
34193         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
34194         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
34195         * NEWS: Mention the change.
34196
34197 2009-04-26  Bruno Haible  <bruno@clisp.org>
34198
34199         Avoid test failures on AIX and OSF/1.
34200         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
34201         malloc(0).
34202         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
34203         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
34204         Likewise.
34205         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
34206         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
34207         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
34208         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
34209         * doc/posix-functions/malloc.texi: Document the portability problem
34210         related to malloc(0).
34211
34212 2009-04-26  Bruno Haible  <bruno@clisp.org>
34213
34214         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
34215         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
34216         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
34217
34218 2009-04-25  Bruno Haible  <bruno@clisp.org>
34219
34220         Avoid link error when creating a namespace clean library.
34221         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
34222         as macro with arguments if already defined as an alias.
34223         * lib/signbitf.c (gl_signbitf): Don't undefine.
34224         * lib/signbitd.c (gl_signbitd): Don't undefine.
34225         * lib/signbitl.c (gl_signbitl): Don't undefine.
34226
34227 2009-04-25  Jim Meyering  <meyering@redhat.com>
34228
34229         vc-list-files: fix another quoting bug
34230         * build-aux/vc-list-files: Avoid sed backslash expansion
34231         of pathological directory names.
34232
34233 2009-04-25  Eric Blake  <ebb9@byu.net>
34234
34235         vc-list-files: fix shell quoting error
34236         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
34237         timestamp.
34238
34239 2009-04-25  Jim Meyering  <meyering@redhat.com>
34240
34241         vc-list-files: restore lost functionality with subdir argument
34242         * build-aux/vc-list-files: When given a non-"." sub-directory
34243         argument, substitute the $dir/ prefix back onto each resulting name.
34244         Otherwise, coreutils' root_tests check would fail.
34245
34246 2009-04-24  Eric Blake  <ebb9@byu.net>
34247
34248         vc-list-files: ignore git symlinks
34249         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
34250         than ls-files, to ignore git symlinks.
34251
34252         maint.mk: import improvements from m4
34253         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
34254         (move_if_change): Delete unused macro.
34255         (news-date-check, vc-diff-check): Support VPATH builds.
34256         (announcement): Likewise.  Split --bootstrap-tools list...
34257         (boostrap-tools): ...into separate list, which can be overridden
34258         in cfg.mk.
34259         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
34260         requiring dependency on useless-if-before-free module.
34261         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
34262         Support VPATH builds.
34263
34264 2009-04-24  Jim Meyering  <meyering@redhat.com>
34265
34266         maint.mk: remove coreutils-specific rules and variables
34267         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
34268         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
34269         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
34270
34271         maint.mk: remove obsolete rule
34272         * top/maint.mk (rel-check): Remove rule.
34273         (WGET, WGETFLAGS): Remove now-unused variables.
34274
34275 2009-04-24  Simon Josefsson  <simon@josefsson.org>
34276
34277         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
34278         consistency.
34279
34280         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
34281         '$(PATH_SEPARATOR)' instead of ':'.
34282
34283 2009-04-24  Simon Josefsson  <simon@josefsson.org>
34284
34285         * lib/getopt1.c (main): Use 'const' for static array.
34286
34287 2009-04-24  Simon Josefsson  <simon@josefsson.org>
34288
34289         * top/maint.mk: Sync with coreutils.
34290         * NEWS: Explain incompatibilities.
34291
34292 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34293             Bruno Haible  <bruno@clisp.org>
34294
34295         Fix cross-compilation results.
34296         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
34297         statement, as third argument of AC_TRY_RUN.
34298         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
34299         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
34300         Likewise.
34301         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
34302         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
34303         Likewise.
34304         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
34305         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
34306         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
34307
34308 2009-04-20  Bruno Haible  <bruno@clisp.org>
34309
34310         Avoid test failure on mingw.
34311         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
34312
34313 2009-04-20  Bruno Haible  <bruno@clisp.org>
34314
34315         Avoid compilation error on mingw.
34316         * modules/localename-tests (Depends-on): Add locale.
34317
34318 2009-04-19  Bruno Haible  <bruno@clisp.org>
34319
34320         Support for building a shared library on Windows platforms.
34321         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
34322         (main): Test the presence of UNINORM_NFC here.
34323         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
34324         (main): Test the presence of UNINORM_NFD here.
34325         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
34326         (main): Test the presence of UNINORM_NFKC here.
34327         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
34328         (main): Test the presence of UNINORM_NFKD here.
34329
34330 2009-04-19  Bruno Haible  <bruno@clisp.org>
34331
34332         Avoid a compiler warning.
34333         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
34334         Change type of variable 'sequence'.
34335
34336 2009-04-19  Bruno Haible  <bruno@clisp.org>
34337
34338         * modules/configmake (Makefile.am): When the contents of configmake.h
34339         does not change, arrange to preserve its modification time.
34340
34341 2009-04-17  Simon Josefsson  <simon@josefsson.org>
34342
34343         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
34344         gettext domain.
34345
34346 2009-04-16  Jim Meyering  <meyering@redhat.com>
34347
34348         useless-if-before-free: improve conversion code
34349         * build-aux/useless-if-before-free: Adjust code-in-comment to match
34350         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
34351
34352 2009-04-14  Bruno Haible  <bruno@clisp.org>
34353
34354         * modules/fcntl (Depends-on): Add extensions.
34355         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
34356
34357 2009-04-12  Ben Pfaff  <blp@gnu.org>
34358
34359         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
34360         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
34361
34362 2009-03-20  Ben Pfaff  <blp@gnu.org>
34363
34364         Make rename replace existing destinations on Windows.
34365         * m4/rename.m4: Add test for Mingw.
34366         * lib/rename.c: Add rename replacement that uses MoveFileEx with
34367         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
34368         * doc/posix-functions/rename.texi: Document.
34369
34370 2009-04-10  Bruno Haible  <bruno@clisp.org>
34371
34372         New include file "iconveh.h".
34373         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
34374         * lib/striconveh.h: Include it.
34375         (enum iconv_ilseq_handler): Remove definition.
34376         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
34377         striconveh.h.
34378         * lib/striconveha.c: Include striconveh.h.
34379         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
34380         * modules/striconveh (Files): Add lib/iconveh.h.
34381         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
34382         lib/striconveh.h.
34383
34384 2009-04-10  Bruno Haible  <bruno@clisp.org>
34385
34386         * lib/uniconv.h: Update comment.
34387
34388 2009-04-10  Bruno Haible  <bruno@clisp.org>
34389
34390         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
34391         always.
34392         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
34393         * lib/unistr/u16-mbtouc-aux.c: Likewise.
34394         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
34395         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
34396         "unistring-notinline.h", so that the function gets defined always.
34397         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
34398         * lib/unistr/u8-uctomb.c: Likewise.
34399         * lib/unistr/u16-mbtouc.c: Likewise.
34400         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
34401         * lib/unistr/u16-uctomb.c: Likewise.
34402         * lib/unistr/u32-mbtouc.c: Likewise.
34403         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
34404         * lib/unistr/u32-uctomb.c: Likewise.
34405
34406 2009-04-10  Bruno Haible  <bruno@clisp.org>
34407
34408         Mark 'utime' obsolete.
34409         * modules/utime (Status, Notice): New sections.
34410         Suggested by Jim Meyering.
34411
34412         Fix cross-compile guess for utime test.
34413         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
34414         autoconf.
34415         * doc/posix-functions/utime.texi: Give more precisions.
34416         Reported by Jan <ipif@ymail.com>.
34417
34418 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
34419
34420         filevercmp: correct today's change
34421         * lib/filevercmp.c: Also handle coreutils' test inputs.
34422         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
34423
34424         Fix regression in 'filevercmp' module. Thanks Sven Joachim
34425         for reporting it.
34426         * lib/filevercmp.c: Special handle for "", "." and "..".
34427         * tests/test-filevercmp.c: Enlarge the set suite.
34428
34429 2009-04-07  Jim Meyering  <meyering@redhat.com>
34430
34431         useless-if-before-free: show how to remove braced useless free, too
34432         * build-aux/useless-if-before-free: still only in a comment, though.
34433
34434 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
34435
34436         maint.mk: import changes to syntax-check macros from coreutils
34437         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
34438         Use them in the relevant macros.
34439
34440 2009-04-06  Bruno Haible  <bruno@clisp.org>
34441
34442         Fix unportable use of bit-fields.
34443         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
34444         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
34445         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
34446
34447 2009-04-06  Bruno Haible  <bruno@clisp.org>
34448
34449         Avoid test failures on AIX and OSF/1.
34450         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
34451         that malloc(0) = NULL.
34452         * tests/unicase/test-u8-tolower.c (check): Likewise.
34453         * tests/unicase/test-u8-totitle.c (check): Likewise.
34454         * tests/unicase/test-u8-toupper.c (check): Likewise.
34455         * tests/unicase/test-u16-casefold.c (check): Likewise.
34456         * tests/unicase/test-u16-tolower.c (check): Likewise.
34457         * tests/unicase/test-u16-totitle.c (check): Likewise.
34458         * tests/unicase/test-u16-toupper.c (check): Likewise.
34459         * tests/unicase/test-u32-casefold.c (check): Likewise.
34460         * tests/unicase/test-u32-tolower.c (check): Likewise.
34461         * tests/unicase/test-u32-totitle.c (check): Likewise.
34462         * tests/unicase/test-u32-toupper.c (check): Likewise.
34463         * tests/uninorm/test-u8-nfc.c (check): Likewise.
34464         * tests/uninorm/test-u8-nfd.c (check): Likewise.
34465         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
34466         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
34467         * tests/uninorm/test-u16-nfc.c (check): Likewise.
34468         * tests/uninorm/test-u16-nfd.c (check): Likewise.
34469         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
34470         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
34471         * tests/uninorm/test-u32-nfc.c (check): Likewise.
34472         * tests/uninorm/test-u32-nfd.c (check): Likewise.
34473         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
34474         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
34475
34476 2009-04-05  Bruno Haible  <bruno@clisp.org>
34477
34478         Work around an autoconf limitation.
34479         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
34480         comment line if it would be longer than 3 KB.
34481
34482 2009-04-05  Bruno Haible  <bruno@clisp.org>
34483
34484         Avoid test failure with libiconv-1.13.
34485         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
34486         of the expected test results.
34487
34488 2009-04-05  Bruno Haible  <bruno@clisp.org>
34489
34490         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
34491         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
34492         that it should be installed.
34493
34494 2009-04-05  Bruno Haible  <bruno@clisp.org>
34495
34496         * gnulib-tool: New option --copy-file.
34497         (func_usage): Document it.
34498         (func_dest_tmpfilename): Moved out of func_import.
34499         (func_add_file, func_update_file): New functions, extracted from
34500         func_import.
34501         (func_import): Update.
34502
34503 2009-04-05  Karl Berry  <karl@gnu.org>
34504
34505         * README: prominently mention gnulib-tool.
34506         Rearrange sections so getting the code is near the top.
34507
34508 2009-04-05  Bruno Haible  <bruno@clisp.org>
34509
34510         * lib/unicase.h: Mention u*_cmp2.
34511         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
34512         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
34513         * lib/unicase/ulc-casecmp.c: Likewise.
34514         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
34515         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
34516         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
34517         unistr/u8-cmp.
34518         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
34519         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
34520         unistr/u16-cmp.
34521         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
34522         unistr/u32-cmp.
34523
34524         * lib/uninorm.h: Mention u*_cmp2.
34525         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
34526         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
34527         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
34528         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
34529         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
34530         unistr/u8-cmp.
34531         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
34532         unistr/u16-cmp.
34533         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
34534         unistr/u32-cmp.
34535
34536         New module 'unistr/u32-cmp2'.
34537         * lib/unistr/u32-cmp2.c: New file.
34538         * modules/unistr/u32-cmp2: New file.
34539
34540         New module 'unistr/u16-cmp2'.
34541         * lib/unistr/u16-cmp2.c: New file.
34542         * modules/unistr/u16-cmp2: New file.
34543
34544         New module 'unistr/u8-cmp2'.
34545         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
34546         * lib/unistr/u8-cmp2.c: New file.
34547         * lib/unistr/u-cmp2.h: New file.
34548         * modules/unistr/u8-cmp2: New file.
34549
34550 2009-04-05  Bruno Haible  <bruno@clisp.org>
34551
34552         * lib/unictype.h (uc_property_is_valid): New macro.
34553         * tests/unictype/test-pr_byname.c (main): Use it.
34554
34555         * lib/unistr.h: Doc fixes.
34556         * lib/uniconv.h: Doc fixes.
34557         * lib/unictype.h: Doc fixes.
34558
34559 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
34560
34561         Port coreutils 7.2 to Solaris 8.
34562
34563         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
34564         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
34565         for Solaris 8.  This is a bit of a hack, as it means it's the
34566         caller's responsibility to add -lnsl if needed, but most likely it
34567         won't be needed since only getaddrinfo uses this and getaddrinfo
34568         isn't needed on Solaris 8.
34569
34570         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
34571         problem to Solaris 8 encountered with coreutils 7.2, which
34572         resulted in a message "fnmatch.c:292: warning: passing argument 4
34573         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
34574         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
34575
34576 2009-04-03  Simon Josefsson  <simon@josefsson.org>
34577
34578         * m4/ld-version-script.m4: Add FIXME comment.
34579
34580 2009-04-02  Simon Josefsson  <simon@josefsson.org>
34581
34582         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
34583         SOVERSION variable.
34584
34585 2009-04-02  Bruno Haible  <bruno@clisp.org>
34586
34587         * Makefile (info, html, dvi, pdf): Combine the rules.
34588         Suggested by Jim Meyering.
34589
34590 2009-04-01  Bruno Haible  <bruno@clisp.org>
34591
34592         * Makefile (info, html, dvi, pdf): New targets.
34593         Reported by Reuben Thomas <rrt@sc3d.org>.
34594
34595 2009-04-01  Bruno Haible  <bruno@clisp.org>
34596
34597         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
34598         can be put into PATH.
34599         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
34600
34601 2009-04-01  Bruno Haible  <bruno@clisp.org>
34602
34603         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
34604
34605 2009-04-01  Bruno Haible  <bruno@clisp.org>
34606
34607         Rename module 'visibility'.
34608         * modules/lib-symbol-visibility: Renamed from modules/visibility.
34609         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
34610         * doc/gnulib.texi: Update.
34611         * MODULES.html.sh (Misc): Update.
34612         * NEWS: Mention the change.
34613
34614 2009-04-01  Simon Josefsson  <simon@josefsson.org>
34615
34616         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
34617         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
34618         Eric Blake <ebb9@byu.net> for review.
34619         * MODULES.html.sh: Add lib-msvc-compat.
34620         * doc/gnulib.texi: Link to new section.
34621         * m4/ld-output-def.m4: New file.
34622         * doc/ld-output-def.texi: New file.
34623
34624 2009-04-01  Simon Josefsson  <simon@josefsson.org>
34625
34626         Rename ld-version-script to lib-symbol-versions.  Suggested by
34627         Bruno Haible <bruno@clisp.org>.
34628         * modules/ld-version-script: Renamed to lib-symbol-versions.
34629         * doc/ld-version-script.texi: Fix module name.
34630         * MODULES.html.sh: Add lib-symbol-versions.
34631
34632 2009-03-31  Simon Josefsson  <simon@josefsson.org>
34633
34634         * modules/u64-tests: New file.
34635         * tests/test-u64.c: New file.
34636
34637 2009-03-04  Simon Josefsson  <simon@josefsson.org>
34638
34639         * MODULES.html.sh: Mention u64.
34640         * modules/u64: New module.
34641         * modules/crypto/sha512: Depend on u64 module instead of providing
34642         u64.h.
34643
34644 2009-03-27  Eric Blake  <ebb9@byu.net>
34645
34646         test-strerror: make debugging EAI_SYSTEM easier
34647         * modules/getaddrinfo-tests (Depends-on): Add strerror.
34648         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
34649         failure was EAI_SYSTEM.
34650
34651 2009-03-25  Bruno Haible  <bruno@clisp.org>
34652
34653         Fix a problem with --enable-relocatable on Solaris 7.
34654         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
34655         since 2008-02-24.
34656
34657 2009-03-25  Eric Blake  <ebb9@byu.net>
34658
34659         test-sockets: avoid gcc warning
34660         * tests/test-sockets.c (main): Silence compiler warning.
34661
34662 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
34663
34664         New modules nproc, pthread, contributed by Glen Lenker.
34665
34666         * MODULES.html.sh: Add pthread, nproc.
34667         * lib/nproc.c: New file.
34668         * lib/nproc.h: New file.
34669         * lib/pthread.in.h: New file.
34670         * m4/pthread.m4: New file.
34671         * modules/nproc: New file.
34672         * modules/pthread: New file.
34673
34674 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34675
34676         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
34677         New variable.
34678
34679 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
34680
34681         filevercmp: handle simple~ and numbered.~3~ backup suffixes
34682         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
34683         * tests/test-filevercmp.c: Add tests for backup suffixes.
34684
34685 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34686
34687         * modules/stdlib (Depends-on): Add stdint, needed when defining
34688         struct random_data on, for example, HP-UX 10.20.  Reported by
34689         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34690
34691 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34692
34693         * lib/readline.c (readline): Call fflush on stdout after printing
34694         prompt.
34695
34696 2009-03-20  Bruno Haible  <bruno@clisp.org>
34697
34698         Remove dependency from 'close' module to -lws2_32 on native Windows.
34699         * lib/close-hook.h: New file.
34700         * lib/close-hook.c: New file.
34701         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
34702         w32sock.h.
34703         (_gl_close_fd_maybe_socket): Remove function.
34704         (rpl_close): Invoke execute_all_close_hooks instead of
34705         _gl_close_fd_maybe_socket.
34706         * lib/sockets.c: Include close-hook.h, w32sock.h.
34707         (close_fd_maybe_socket): New function, essentially from lib/close.c.
34708         (close_sockets_hook): New variable.
34709         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
34710         (gl_sockets_cleanup): Unregister it.
34711         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
34712         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
34713         * modules/close-hook: New file.
34714         * modules/close (Files): Remove lib/w32sock.h.
34715         (Depends-on): Add close-hook.
34716         (Link): Remove section.
34717         * modules/sockets (Files): Add lib/w32sock.h.
34718         (Depends-on): Add close-hook.
34719         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
34720         invocation.
34721         * NEWS: Mention that LIB_CLOSE is gone.
34722
34723 2009-03-23  Eric Blake  <ebb9@byu.net>
34724
34725         signal-tests: test previous patch
34726         * tests/test-signal.c: New file.
34727         * modules/signal-tests: Likewise.
34728
34729         signal.h: always support 'volatile sig_atomic_t'
34730         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
34731         (gl_SIGNAL_H_DEFAULTS): Add a default.
34732         * modules/signal (Makefile.am): Substitute if needed.
34733         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
34734         users can blindly add volatile.
34735         * doc/posix-headers/signal.texi (signal.h): Document it.
34736         Reported by Matthew Woehlke.
34737
34738 2009-03-23  Jim Meyering  <meyering@redhat.com>
34739
34740         pathmax: PATH_MAX: use pathconf only when available
34741         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
34742         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
34743         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
34744         This avoids a link failure in a PSP cross-compilation environment
34745         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
34746
34747         * lib/vasnprintf.c (divide): Fix typo in comment.
34748
34749 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34750
34751         * gnulib-tool (func_filter_filelist): Fix comment.
34752
34753 2009-03-20  Bruno Haible  <bruno@clisp.org>
34754
34755         Make sockets.h self-contained.
34756         * lib/sockets.c: Include sockets.h first.
34757         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
34758
34759 2009-03-19  Eric Blake  <ebb9@byu.net>
34760
34761         doc: mention more functions added in cygwin 1.7.0
34762         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
34763         addition.
34764         * doc/posix-functions/log2f.texi: Likewise.
34765
34766 2009-03-19  Jim Meyering  <meyering@redhat.com>
34767
34768         fsusage: avoid syntax error due to statement-before-declaration
34769         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
34770         after all declarations.  Reported by Matthew Woehlke in
34771         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
34772
34773 2009-03-18  Eric Blake  <ebb9@byu.net>
34774
34775         build-aux/compile: sync from automake
34776         * build-aux/compile: New file, from automake.
34777         * config/srclist.txt: Mention build-aux/compile.
34778
34779 2009-03-17  Bruno Haible  <bruno@clisp.org>
34780
34781         * lib/git-merge-changelog.c: Fix typo in comment.
34782         Reported by Reuben Thomas <rrt@sc3d.org>.
34783
34784 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
34785
34786         * m4/regex.m4: update and improve help for
34787         --without-included-regex.
34788
34789 2009-03-17  Simon Josefsson  <simon@josefsson.org>
34790
34791         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
34792         failure on missing include files.
34793
34794 2009-03-17  Eric Blake  <ebb9@byu.net>
34795
34796         doc: mention more functions added in cygwin 1.7.0
34797         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
34798         addition.
34799         * doc/posix-functions/fwscanf.texi: Likewise.
34800         * doc/posix-functions/swprintf.texi: Likewise.
34801         * doc/posix-functions/swscanf.texi: Likewise.
34802         * doc/posix-functions/vfwprintf.texi: Likewise.
34803         * doc/posix-functions/vfwscanf.texi: Likewise.
34804         * doc/posix-functions/vswprintf.texi: Likewise.
34805         * doc/posix-functions/vswscanf.texi: Likewise.
34806         * doc/posix-functions/vwprintf.texi: Likewise.
34807         * doc/posix-functions/vwscanf.texi: Likewise.
34808         * doc/posix-functions/wcscasecmp.texi: Likewise.
34809         * doc/posix-functions/wcsdup.texi: Likewise.
34810         * doc/posix-functions/wcsftime.texi: Likewise.
34811         * doc/posix-functions/wcsncasecmp.texi: Likewise.
34812         * doc/posix-functions/wprintf.texi: Likewise.
34813         * doc/posix-functions/wscanf.texi: Likewise.
34814         * doc/glibc-functions/gethostbyname2.texi: Likewise.
34815
34816 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34817
34818         maint.mk: really add $(AM_MAKEFLAGS)
34819         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
34820         was inadvertently omitted in the last commit.
34821         Spotted by Bruno Haible.
34822
34823         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
34824         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
34825         $(AM_MAKEFLAGS)' rather than plain `make'.
34826
34827         gnulib-tool: execute $MAKE not make
34828         * gnulib-tool: Default $MAKE to 'make'.
34829         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
34830         than make.  Initialize $MAKE in the do-autobuild script.
34831
34832         gnulib-tool: use $MAKE not make in generated files
34833         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
34834         make, in generated files.  Initialize $MAKE in the do-autobuild
34835         script.
34836
34837         * top/GNUmakefile (_have-git-version-gen): Fix typo.
34838
34839         GNUmakefile: disable parallelism only for multiple, recursive targets
34840         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
34841         additions in the Makefile.
34842         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
34843         by Automake.
34844         (.NOTPARALLEL): Only disable parallel builds if multiple targets
34845         are listed on the command line and at least one of them is
34846         listed in $(ALL_RECURSIVE_TARGETS).
34847
34848 2009-03-14  Bruno Haible  <bruno@clisp.org>
34849
34850         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
34851         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
34852         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
34853         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
34854         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
34855         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
34856         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
34857         unistr/u8-uctomb.
34858         * modules/unistr/u8-strchr (Depends-on): Likewise.
34859         * modules/unistr/u8-strrchr (Depends-on): Likewise.
34860         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
34861         unistr/u16-uctomb.
34862         * modules/unistr/u16-strchr (Depends-on): Likewise.
34863         * modules/unistr/u16-strrchr (Depends-on): Likewise.
34864
34865 2009-03-12  Bruno Haible  <bruno@clisp.org>
34866
34867         Work around select() bug on Interix 3.5.
34868         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
34869         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
34870         * m4/select.m4: New file.
34871         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
34872         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
34873         * modules/select (Files): Add m4/select.m4.
34874         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
34875         * modules/nanosleep (Depends-on): Add select.
34876         * modules/poll (Depends-on): Likewise.
34877         * doc/posix-functions/select.texi: Mention the Interix bug.
34878         Reported by Markus Duft <mduft@gentoo.org>.
34879
34880         * lib/select.c: Renamed from lib/winsock-select.c.
34881         * modules/select (Files): Add lib/select.c, remove
34882         lib/winsock-select.c.
34883         (configure.ac): Update.
34884
34885 2009-03-12  Jim Meyering  <meyering@redhat.com>
34886
34887         avoid gcc warnings about unused macro definitions
34888         * lib/readtokens.c (STREQ): Remove unused definition.
34889         * lib/xmalloc.c (SIZE_MAX): Likewise.
34890         * lib/openat-die.c (N_): Likewise.
34891         * lib/mountlist.c (SIZE_MAX): Remove definition.
34892         Instead, include <stdint.h>.
34893         * lib/readutmp.c: Likewise.
34894         * modules/readutmp (Depends-on): Add stdint.
34895         * modules/mountlist (Depends-on): Add stdint.
34896         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
34897
34898 2009-03-10  Bruno Haible  <bruno@clisp.org>
34899
34900         Tests for module 'mbmemcasecoll'.
34901         * modules/mbmemcasecoll-tests: New file.
34902         * tests/test-mbmemcasecoll1.sh: New file.
34903         * tests/test-mbmemcasecoll2.sh: New file.
34904         * tests/test-mbmemcasecoll3.sh: New file.
34905         * tests/test-mbmemcasecoll.c: New file.
34906
34907         New module 'mbmemcasecoll'.
34908         * lib/mbmemcasecoll.h: New file.
34909         * lib/mbmemcasecoll.c: New file.
34910         * modules/mbmemcasecoll: New file.
34911
34912         * tests/test-mbmemcasecmp.h: New file, extracted from
34913         tests/test-mbmemcasecmp.c.
34914         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
34915         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
34916         (main): Update.
34917         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
34918
34919 2009-03-09  Bruno Haible  <bruno@clisp.org>
34920
34921         Tests for module 'mbmemcasecmp'.
34922         * modules/mbmemcasecmp-tests: New file.
34923         * tests/test-mbmemcasecmp1.sh: New file.
34924         * tests/test-mbmemcasecmp2.sh: New file.
34925         * tests/test-mbmemcasecmp3.sh: New file.
34926         * tests/test-mbmemcasecmp.c: New file.
34927
34928         New module 'mbmemcasecmp'.
34929         * lib/mbmemcasecmp.h: New file.
34930         * lib/mbmemcasecmp.c: New file.
34931         * modules/mbmemcasecmp: New file.
34932
34933 2009-03-09  Bruno Haible  <bruno@clisp.org>
34934
34935         Tests for module 'unicase/ulc-casecoll'.
34936         * modules/unicase/ulc-casecoll-tests: New file.
34937         * tests/unicase/test-ulc-casecoll1.sh: New file.
34938         * tests/unicase/test-ulc-casecoll2.sh: New file.
34939         * tests/unicase/test-ulc-casecoll.c: New file.
34940
34941         New module 'unicase/ulc-casecoll'.
34942         * lib/unicase.h (ulc_casecoll): New declaration.
34943         * lib/unicase/ulc-casecoll.c: New file.
34944         * modules/unicase/ulc-casecoll: New file.
34945
34946         New module 'unicase/ulc-casexfrm'.
34947         * lib/unicase.h (ulc_casexfrm): New declaration.
34948         * lib/unicase/ulc-casexfrm.c: New file.
34949         * modules/unicase/ulc-casexfrm: New file.
34950
34951 2009-03-09  Bruno Haible  <bruno@clisp.org>
34952
34953         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
34954         invocations.
34955
34956         * m4/mbscasecmp.m4: Remove file.
34957         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
34958         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
34959
34960         * m4/mbscasestr.m4: Remove file.
34961         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
34962         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
34963
34964         * m4/mbschr.m4: Remove file.
34965         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
34966         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
34967
34968         * m4/mbscspn.m4: Remove file.
34969         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
34970         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
34971
34972         * m4/mbslen.m4: Remove file.
34973         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
34974         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
34975
34976         * m4/mbsncasecmp.m4: Remove file.
34977         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
34978         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
34979
34980         * m4/mbsnlen.m4: Remove file.
34981         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
34982         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
34983
34984         * m4/mbspbrk.m4: Remove file.
34985         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
34986         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
34987
34988         * m4/mbspcasecmp.m4: Remove file.
34989         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
34990         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
34991
34992         * m4/mbsrchr.m4: Remove file.
34993         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
34994         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
34995
34996         * m4/mbssep.m4: Remove file.
34997         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
34998         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
34999
35000         * m4/mbsspn.m4: Remove file.
35001         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
35002         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
35003
35004         * m4/mbsstr.m4: Remove file.
35005         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
35006         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
35007
35008         * m4/mbstok_r.m4: Remove file.
35009         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
35010         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
35011
35012         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
35013
35014         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
35015         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
35016
35017         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
35018
35019 2009-03-08  Bruno Haible  <bruno@clisp.org>
35020
35021         Tests for module 'unicase/ulc-casecmp'.
35022         * modules/unicase/ulc-casecmp-tests: New file.
35023         * tests/unicase/test-ulc-casecmp1.sh: New file.
35024         * tests/unicase/test-ulc-casecmp2.sh: New file.
35025         * tests/unicase/test-ulc-casecmp.c: New file.
35026
35027         New module 'unicase/ulc-casecmp'.
35028         * lib/unicase.h (ulc_casecmp): New declaration.
35029         * lib/unicase/ulc-casecmp.c: New file.
35030         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
35031         'const SRC_UNIT *'.
35032         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
35033         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
35034         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
35035         * modules/unicase/ulc-casecmp: New file.
35036
35037         Tests for module 'unicase/u32-is-cased'.
35038         * modules/unicase/u32-is-cased-tests: New file.
35039         * tests/unicase/test-u32-is-cased.c: New file.
35040
35041         Tests for module 'unicase/u16-is-cased'.
35042         * modules/unicase/u16-is-cased-tests: New file.
35043         * tests/unicase/test-u16-is-cased.c: New file.
35044
35045         Tests for module 'unicase/u8-is-cased'.
35046         * modules/unicase/u8-is-cased-tests: New file.
35047         * tests/unicase/test-u8-is-cased.c: New file.
35048         * tests/unicase/test-is-cased.h: New file.
35049
35050         New module 'unicase/u32-is-cased'.
35051         * lib/unicase/u32-is-cased.c: New file.
35052         * modules/unicase/u32-is-cased: New file.
35053
35054         New module 'unicase/u16-is-cased'.
35055         * lib/unicase/u16-is-cased.c: New file.
35056         * modules/unicase/u16-is-cased: New file.
35057
35058         New module 'unicase/u8-is-cased'.
35059         * lib/unicase/u8-is-cased.c: New file.
35060         * lib/unicase/u-is-cased.h: New file.
35061         * modules/unicase/u8-is-cased: New file.
35062
35063         Tests for module 'unicase/u32-is-casefolded'.
35064         * modules/unicase/u32-is-casefolded-tests: New file.
35065         * tests/unicase/test-u32-is-casefolded.c: New file.
35066
35067         Tests for module 'unicase/u16-is-casefolded'.
35068         * modules/unicase/u16-is-casefolded-tests: New file.
35069         * tests/unicase/test-u16-is-casefolded.c: New file.
35070
35071         Tests for module 'unicase/u8-is-casefolded'.
35072         * modules/unicase/u8-is-casefolded-tests: New file.
35073         * tests/unicase/test-u8-is-casefolded.c: New file.
35074         * tests/unicase/test-is-casefolded.h: New file.
35075
35076         New module 'unicase/u32-is-casefolded'.
35077         * lib/unicase/u32-is-casefolded.c: New file.
35078         * modules/unicase/u32-is-casefolded: New file.
35079
35080         New module 'unicase/u16-is-casefolded'.
35081         * lib/unicase/u16-is-casefolded.c: New file.
35082         * modules/unicase/u16-is-casefolded: New file.
35083
35084         New module 'unicase/u8-is-casefolded'.
35085         * lib/unicase/u8-is-casefolded.c: New file.
35086         * modules/unicase/u8-is-casefolded: New file.
35087
35088         Tests for module 'unicase/u32-is-titlecase'.
35089         * modules/unicase/u32-is-titlecase-tests: New file.
35090         * tests/unicase/test-u32-is-titlecase.c: New file.
35091
35092         Tests for module 'unicase/u16-is-titlecase'.
35093         * modules/unicase/u16-is-titlecase-tests: New file.
35094         * tests/unicase/test-u16-is-titlecase.c: New file.
35095
35096         Tests for module 'unicase/u8-is-titlecase'.
35097         * modules/unicase/u8-is-titlecase-tests: New file.
35098         * tests/unicase/test-u8-is-titlecase.c: New file.
35099         * tests/unicase/test-is-titlecase.h: New file.
35100
35101         New module 'unicase/u32-is-titlecase'.
35102         * lib/unicase/u32-is-titlecase.c: New file.
35103         * modules/unicase/u32-is-titlecase: New file.
35104
35105         New module 'unicase/u16-is-titlecase'.
35106         * lib/unicase/u16-is-titlecase.c: New file.
35107         * modules/unicase/u16-is-titlecase: New file.
35108
35109         New module 'unicase/u8-is-titlecase'.
35110         * lib/unicase/u8-is-titlecase.c: New file.
35111         * modules/unicase/u8-is-titlecase: New file.
35112
35113         Tests for module 'unicase/u32-is-lowercase'.
35114         * modules/unicase/u32-is-lowercase-tests: New file.
35115         * tests/unicase/test-u32-is-lowercase.c: New file.
35116
35117         Tests for module 'unicase/u16-is-lowercase'.
35118         * modules/unicase/u16-is-lowercase-tests: New file.
35119         * tests/unicase/test-u16-is-lowercase.c: New file.
35120
35121         Tests for module 'unicase/u8-is-lowercase'.
35122         * modules/unicase/u8-is-lowercase-tests: New file.
35123         * tests/unicase/test-u8-is-lowercase.c: New file.
35124         * tests/unicase/test-is-lowercase.h: New file.
35125
35126         New module 'unicase/u32-is-lowercase'.
35127         * lib/unicase/u32-is-lowercase.c: New file.
35128         * modules/unicase/u32-is-lowercase: New file.
35129
35130         New module 'unicase/u16-is-lowercase'.
35131         * lib/unicase/u16-is-lowercase.c: New file.
35132         * modules/unicase/u16-is-lowercase: New file.
35133
35134         New module 'unicase/u8-is-lowercase'.
35135         * lib/unicase/u8-is-lowercase.c: New file.
35136         * modules/unicase/u8-is-lowercase: New file.
35137
35138         Tests for module 'unicase/u32-is-uppercase'.
35139         * modules/unicase/u32-is-uppercase-tests: New file.
35140         * tests/unicase/test-u32-is-uppercase.c: New file.
35141
35142         Tests for module 'unicase/u16-is-uppercase'.
35143         * modules/unicase/u16-is-uppercase-tests: New file.
35144         * tests/unicase/test-u16-is-uppercase.c: New file.
35145
35146         Tests for module 'unicase/u8-is-uppercase'.
35147         * modules/unicase/u8-is-uppercase-tests: New file.
35148         * tests/unicase/test-u8-is-uppercase.c: New file.
35149         * tests/unicase/test-is-uppercase.h: New file.
35150
35151         New module 'unicase/u32-is-uppercase'.
35152         * lib/unicase/u32-is-uppercase.c: New file.
35153         * modules/unicase/u32-is-uppercase: New file.
35154
35155         New module 'unicase/u16-is-uppercase'.
35156         * lib/unicase/u16-is-uppercase.c: New file.
35157         * modules/unicase/u16-is-uppercase: New file.
35158
35159         New module 'unicase/u8-is-uppercase'.
35160         * lib/unicase/u8-is-uppercase.c: New file.
35161         * modules/unicase/u8-is-uppercase: New file.
35162
35163         New module 'unicase/u32-is-invariant'.
35164         * lib/unicase/u32-is-invariant.c: New file.
35165         * modules/unicase/u32-is-invariant: New file.
35166
35167         New module 'unicase/u16-is-invariant'.
35168         * lib/unicase/u16-is-invariant.c: New file.
35169         * modules/unicase/u16-is-invariant: New file.
35170
35171         New module 'unicase/u8-is-invariant'.
35172         * lib/unicase/u8-is-invariant.c: New file.
35173         * lib/unicase/invariant.h: New file.
35174         * lib/unicase/u-is-invariant.h: New file.
35175         * modules/unicase/u8-is-invariant: New file.
35176
35177         Tests for module 'unicase/u32-casecoll'.
35178         * modules/unicase/u32-casecoll-tests: New file.
35179         * tests/unicase/test-u32-casecoll.c: New file.
35180
35181         Tests for module 'unicase/u16-casecoll'.
35182         * modules/unicase/u16-casecoll-tests: New file.
35183         * tests/unicase/test-u16-casecoll.c: New file.
35184
35185         Tests for module 'unicase/u8-casecoll'.
35186         * modules/unicase/u8-casecoll-tests: New file.
35187         * tests/unicase/test-u8-casecoll.c: New file.
35188
35189         New module 'unicase/u32-casecoll'.
35190         * lib/unicase/u32-casecoll.c: New file.
35191         * modules/unicase/u32-casecoll: New file.
35192
35193         New module 'unicase/u16-casecoll'.
35194         * lib/unicase/u16-casecoll.c: New file.
35195         * modules/unicase/u16-casecoll: New file.
35196
35197         New module 'unicase/u8-casecoll'.
35198         * lib/unicase/u8-casecoll.c: New file.
35199         * lib/unicase/u-casecoll.h: New file.
35200         * modules/unicase/u8-casecoll: New file.
35201
35202         New module 'unicase/u32-casexfrm'.
35203         * lib/unicase/u32-casexfrm.c: New file.
35204         * modules/unicase/u32-casexfrm: New file.
35205
35206         New module 'unicase/u16-casexfrm'.
35207         * lib/unicase/u16-casexfrm.c: New file.
35208         * modules/unicase/u16-casexfrm: New file.
35209
35210         New module 'unicase/u8-casexfrm'.
35211         * lib/unicase/u8-casexfrm.c: New file.
35212         * lib/unicase/u-casexfrm.h: New file.
35213         * modules/unicase/u8-casexfrm: New file.
35214
35215         Tests for module 'unicase/u32-casecmp'.
35216         * modules/unicase/u32-casecmp-tests: New file.
35217         * tests/unicase/test-u32-casecmp.c: New file.
35218
35219         Tests for module 'unicase/u16-casecmp'.
35220         * modules/unicase/u16-casecmp-tests: New file.
35221         * tests/unicase/test-u16-casecmp.c: New file.
35222
35223         Tests for module 'unicase/u8-casecmp'.
35224         * modules/unicase/u8-casecmp-tests: New file.
35225         * tests/unicase/test-u8-casecmp.c: New file.
35226         * tests/unicase/test-casecmp.h: New file.
35227
35228         New module 'unicase/u32-casecmp'.
35229         * lib/unicase/u32-casecmp.c: New file.
35230         * modules/unicase/u32-casecmp: New file.
35231
35232         New module 'unicase/u16-casecmp'.
35233         * lib/unicase/u16-casecmp.c: New file.
35234         * modules/unicase/u16-casecmp: New file.
35235
35236         New module 'unicase/u8-casecmp'.
35237         * lib/unicase/u8-casecmp.c: New file.
35238         * lib/unicase/u-casecmp.h: New file.
35239         * modules/unicase/u8-casecmp: New file.
35240
35241         Tests for module 'unicase/u32-casefold'.
35242         * modules/unicase/u32-casefold-tests: New file.
35243         * tests/unicase/test-u32-casefold.c: New file.
35244
35245         Tests for module 'unicase/u16-casefold'.
35246         * modules/unicase/u16-casefold-tests: New file.
35247         * tests/unicase/test-u16-casefold.c: New file.
35248
35249         Tests for module 'unicase/u8-casefold'.
35250         * modules/unicase/u8-casefold-tests: New file.
35251         * tests/unicase/test-u8-casefold.c: New file.
35252
35253         New module 'unicase/u32-casefold'.
35254         * lib/unicase/u32-casefold.c: New file.
35255         * modules/unicase/u32-casefold: New file.
35256
35257         New module 'unicase/u16-casefold'.
35258         * lib/unicase/u16-casefold.c: New file.
35259         * modules/unicase/u16-casefold: New file.
35260
35261         New module 'unicase/u8-casefold'.
35262         * lib/unicase/u8-casefold.c: New file.
35263         * lib/unicase/u-casefold.h: New file.
35264         * modules/unicase/u8-casefold: New file.
35265
35266         New module 'unicase/tocasefold'.
35267         * lib/unicase/casefold.h: New file.
35268         * lib/unicase/tocasefold.c: New file.
35269         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
35270         * modules/unicase/tocasefold: New file.
35271
35272         Tests for module 'unicase/u32-totitle'.
35273         * modules/unicase/u32-totitle-tests: New file.
35274         * tests/unicase/test-u32-totitle.c: New file.
35275
35276         Tests for module 'unicase/u16-totitle'.
35277         * modules/unicase/u16-totitle-tests: New file.
35278         * tests/unicase/test-u16-totitle.c: New file.
35279
35280         Tests for module 'unicase/u8-totitle'.
35281         * modules/unicase/u8-totitle-tests: New file.
35282         * tests/unicase/test-u8-totitle.c: New file.
35283
35284         New module 'unicase/u32-totitle'.
35285         * lib/unicase/u32-totitle.c: New file.
35286         * modules/unicase/u32-totitle: New file.
35287
35288         New module 'unicase/u16-totitle'.
35289         * lib/unicase/u16-totitle.c: New file.
35290         * modules/unicase/u16-totitle: New file.
35291
35292         New module 'unicase/u8-totitle'.
35293         * lib/unicase/u8-totitle.c: New file.
35294         * lib/unicase/u-totitle.h: New file.
35295         * modules/unicase/u8-totitle: New file.
35296
35297         Tests for module 'unicase/u32-tolower'.
35298         * modules/unicase/u32-tolower-tests: New file.
35299         * tests/unicase/test-u32-tolower.c: New file.
35300
35301         Tests for module 'unicase/u16-tolower'.
35302         * modules/unicase/u16-tolower-tests: New file.
35303         * tests/unicase/test-u16-tolower.c: New file.
35304
35305         Tests for module 'unicase/u8-tolower'.
35306         * modules/unicase/u8-tolower-tests: New file.
35307         * tests/unicase/test-u8-tolower.c: New file.
35308
35309         New module 'unicase/u32-tolower'.
35310         * lib/unicase/u32-tolower.c: New file.
35311         * modules/unicase/u32-tolower: New file.
35312
35313         New module 'unicase/u16-tolower'.
35314         * lib/unicase/u16-tolower.c: New file.
35315         * modules/unicase/u16-tolower: New file.
35316
35317         New module 'unicase/u8-tolower'.
35318         * lib/unicase/u8-tolower.c: New file.
35319         * modules/unicase/u8-tolower: New file.
35320
35321         Tests for module 'unicase/u32-toupper'.
35322         * modules/unicase/u32-toupper-tests: New file.
35323         * tests/unicase/test-u32-toupper.c: New file.
35324
35325         Tests for module 'unicase/u16-toupper'.
35326         * modules/unicase/u16-toupper-tests: New file.
35327         * tests/unicase/test-u16-toupper.c: New file.
35328
35329         Tests for module 'unicase/u8-toupper'.
35330         * modules/unicase/u8-toupper-tests: New file.
35331         * tests/unicase/test-u8-toupper.c: New file.
35332
35333         New module 'unicase/u32-toupper'.
35334         * lib/unicase/u32-toupper.c: New file.
35335         * modules/unicase/u32-toupper: New file.
35336
35337         New module 'unicase/u16-toupper'.
35338         * lib/unicase/u16-toupper.c: New file.
35339         * modules/unicase/u16-toupper: New file.
35340
35341         New module 'unicase/u8-toupper'.
35342         * lib/unicase/u8-toupper.c: New file.
35343         * modules/unicase/u8-toupper: New file.
35344
35345         New module 'unicase/u32-casemap'.
35346         * lib/unicase/u32-casemap.c: New file.
35347         * modules/unicase/u32-casemap: New file.
35348
35349         New module 'unicase/u16-casemap'.
35350         * lib/unicase/u16-casemap.c: New file.
35351         * modules/unicase/u16-casemap: New file.
35352
35353         New module 'unicase/u8-casemap'.
35354         * lib/unicase/unicasemap.h: New file.
35355         * lib/unicase/u8-casemap.c: New file.
35356         * lib/unicase/u-casemap.h: New file.
35357         * modules/unicase/u8-casemap: New file.
35358
35359         New module 'unicase/special-casing'.
35360         * lib/unicase/special-casing.h: New file.
35361         * lib/unicase/special-casing.c: New file.
35362         * lib/unicase/special-casing-table.gperf: New file, generated by
35363         gen-uni-tables.c.
35364         * modules/unicase/special-casing: New file.
35365
35366         Tests for module 'unicase/locale-language'.
35367         * modules/unicase/locale-language-tests: New file.
35368         * tests/unicase/test-locale-language.sh: New file.
35369         * tests/unicase/test-locale-language.c: New file.
35370
35371         New module 'unicase/locale-language'.
35372         * lib/unicase/locale-language.c: New file.
35373         * lib/unicase/locale-languages.gperf: New file.
35374         * modules/unicase/locale-language: New file.
35375
35376         Generate more tables for case conversion and case folding.
35377         * lib/gen-uni-tables.c (SCC_*): New enum items.
35378         (struct special_casing_rule): New type.
35379         (casing_rules, num_casing_rules, allocated_casing_rules): New
35380         variables.
35381         (add_casing_rule, fill_casing_rules): New functions.
35382         (struct casefold_rule): New type.
35383         (casefolding_rules, num_casefolding_rules,
35384         allocated_casefolding_rules): New variables.
35385         (fill_casefolding_rules): New function.
35386         (unicode_casefold): New variable.
35387         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
35388         sort_casing_rules, output_casing_rules): New functions.
35389         (main): Accept to more arguments: SpecialCasing.txt and
35390         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
35391         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
35392         Output mapping for casefolding.
35393
35394         * lib/unicase.h: Include stdbool.h, uninorm.h.
35395         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
35396         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
35397         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
35398         arguments.
35399         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
35400         resultp arguments.
35401         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
35402         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
35403         resultp arguments.
35404         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
35405         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
35406         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
35407         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
35408         declarations.
35409         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
35410
35411 2009-03-08  Bruno Haible  <bruno@clisp.org>
35412
35413         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
35414         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
35415         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
35416         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
35417
35418 2009-03-07  Bruno Haible  <bruno@clisp.org>
35419
35420         Adjust u*_normcmp, u*_normcoll API.
35421         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
35422         u16_normcoll, u32_normcoll): Change failure conventions.
35423         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
35424         errno and return -1.
35425         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
35426
35427 2009-03-07  Bruno Haible  <bruno@clisp.org>
35428
35429         Tests for module 'uninorm/u32-normcoll'.
35430         * modules/uninorm/u32-normcoll-tests: New file.
35431         * tests/uninorm/test-u32-normcoll.c: New file.
35432
35433         Tests for module 'uninorm/u16-normcoll'.
35434         * modules/uninorm/u16-normcoll-tests: New file.
35435         * tests/uninorm/test-u16-normcoll.c: New file.
35436
35437         Tests for module 'uninorm/u8-normcoll'.
35438         * modules/uninorm/u8-normcoll-tests: New file.
35439         * tests/uninorm/test-u8-normcoll.c: New file.
35440
35441 2009-03-07  Bruno Haible  <bruno@clisp.org>
35442
35443         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
35444         tests/uninorm/test-u32-normcmp.c.
35445         * tests/uninorm/test-u32-normcmp.c: Include it.
35446         (test_nonascii): New function, extracted from main. Add some more
35447         tests.
35448         (main): Invoke test_ascii and test_nonascii.
35449         * modules/uninorm/u32-normcmp-tests (Files): Add
35450         tests/uninorm/test-u32-normcmp.h.
35451         (Depends-on): Remove uninorm/u32-normcmp.
35452
35453         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
35454         tests/uninorm/test-u16-normcmp.c.
35455         * tests/uninorm/test-u16-normcmp.c: Include it.
35456         (test_nonascii): New function, extracted from main. Add some more
35457         tests.
35458         (main): Invoke test_ascii and test_nonascii.
35459         * modules/uninorm/u16-normcmp-tests (Files): Add
35460         tests/uninorm/test-u16-normcmp.h.
35461         (Depends-on): Remove uninorm/u16-normcmp.
35462
35463         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
35464         tests/uninorm/test-u8-normcmp.c.
35465         * tests/uninorm/test-u8-normcmp.c: Include it.
35466         (test_nonascii): New function, extracted from main. Add some more
35467         tests.
35468         (main): Invoke test_ascii and test_nonascii.
35469         * modules/uninorm/u8-normcmp-tests (Files): Add
35470         tests/uninorm/test-u8-normcmp.h.
35471         (Depends-on): Remove uninorm/u8-normcmp.
35472
35473 2009-03-07  Bruno Haible  <bruno@clisp.org>
35474
35475         New module 'uninorm/u32-normcoll'.
35476         * lib/uninorm/u32-normcoll.c: New file.
35477         * modules/uninorm/u32-normcoll: New file.
35478
35479         New module 'uninorm/u16-normcoll'.
35480         * lib/uninorm/u16-normcoll.c: New file.
35481         * modules/uninorm/u16-normcoll: New file.
35482
35483         New module 'uninorm/u8-normcoll'.
35484         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
35485         declarations.
35486         * lib/uninorm/u8-normcoll.c: New file.
35487         * lib/uninorm/u-normcoll.h: New file.
35488         * modules/uninorm/u8-normcoll: New file.
35489
35490         New module 'uninorm/u32-normxfrm'.
35491         * lib/uninorm/u32-normxfrm.c: New file.
35492         * modules/uninorm/u32-normxfrm: New file.
35493
35494         New module 'uninorm/u16-normxfrm'.
35495         * lib/uninorm/u16-normxfrm.c: New file.
35496         * modules/uninorm/u16-normxfrm: New file.
35497
35498         New module 'uninorm/u8-normxfrm'.
35499         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
35500         declarations.
35501         * lib/uninorm/u8-normxfrm.c: New file.
35502         * lib/uninorm/u-normxfrm.h: New file.
35503         * modules/uninorm/u8-normxfrm: New file.
35504
35505 2009-03-07  Bruno Haible  <bruno@clisp.org>
35506
35507         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
35508         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
35509         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
35510
35511 2009-03-07  Bruno Haible  <bruno@clisp.org>
35512
35513         New module 'memxfrm'.
35514         * lib/memxfrm.h: New file.
35515         * lib/memxfrm.c: New file.
35516         * modules/memxfrm: New file.
35517
35518 2009-03-07  Bruno Haible  <bruno@clisp.org>
35519
35520         New module 'memcmp2'.
35521         * lib/memcmp2.h: New file.
35522         * lib/memcmp2.c: New file.
35523         * modules/memcmp2: New file.
35524
35525 2009-03-07  Bruno Haible  <bruno@clisp.org>
35526
35527         Tests for module 'uninorm/decomposing-form'.
35528         * modules/uninorm/decomposing-form-tests: New file.
35529         * tests/uninorm/test-decomposing-form.c: New file.
35530
35531         New module 'uninorm/decomposing-form'.
35532         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
35533         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
35534         Add 'decomposing_variant' field.
35535         * lib/uninorm/decomposing-form.c: New file.
35536         * lib/uninorm/nfc.c (uninorm_nfc): Update.
35537         * lib/uninorm/nfd.c (uninorm_nfd): Update.
35538         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
35539         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
35540         * modules/uninorm/decomposing-form: New file.
35541         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
35542         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
35543
35544 2009-03-07  Bruno Haible  <bruno@clisp.org>
35545
35546         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
35547         strings.
35548
35549 2009-03-06  Bruno Haible  <bruno@clisp.org>
35550
35551         Tests for module 'uninorm/u32-normcmp'.
35552         * tests/uninorm/test-u32-normcmp.c: New file.
35553         * modules/uninorm/u32-normcmp-tests: New file.
35554
35555         Tests for module 'uninorm/u16-normcmp'.
35556         * tests/uninorm/test-u16-normcmp.c: New file.
35557         * modules/uninorm/u16-normcmp-tests: New file.
35558
35559         Tests for module 'uninorm/u8-normcmp'.
35560         * tests/uninorm/test-u8-normcmp.c: New file.
35561         * modules/uninorm/u8-normcmp-tests: New file.
35562
35563         New module 'uninorm/u32-normcmp'.
35564         * lib/uninorm/u32-normcmp.c: New file.
35565         * modules/uninorm/u32-normcmp: New file.
35566
35567         New module 'uninorm/u16-normcmp'.
35568         * lib/uninorm/u16-normcmp.c: New file.
35569         * modules/uninorm/u16-normcmp: New file.
35570
35571         New module 'uninorm/u8-normcmp'.
35572         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
35573         declarations.
35574         * lib/uninorm/u8-normcmp.c: New file.
35575         * lib/uninorm/u-normcmp.h: New file.
35576         * modules/uninorm/u8-normcmp: New file.
35577
35578 2009-03-06  Bruno Haible  <bruno@clisp.org>
35579
35580         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
35581         Reported by Eric Blake.
35582
35583 2009-03-06  Eric Blake  <ebb9@byu.net>
35584             Bruno Haible  <bruno@clisp.org>
35585
35586         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
35587         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
35588         condition.
35589         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
35590         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
35591         condition.
35592         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
35593
35594 2009-03-06  Eric Blake  <ebb9@byu.net>
35595
35596         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
35597         to avoid compiler warnings.
35598         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
35599
35600 2009-03-05  Bruno Haible  <bruno@clisp.org>
35601
35602         * tests/test-ftell.c (main): Disable test beyond end of file on
35603         FreeMiNT.
35604         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
35605
35606 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
35607
35608         * lib/filevercmp.c: Move hidden files up in ordering.
35609         * tests/test-filevercmp.c: Add tests for hidden files.
35610
35611 2009-03-04  Bruno Haible  <bruno@clisp.org>
35612
35613         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
35614         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
35615         AM_CFLAGS.
35616         Reported by Simon Josefsson.
35617
35618 2009-03-03  Bruno Haible  <bruno@clisp.org>
35619
35620         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
35621         Reported by Simon Josefsson.
35622
35623         * doc/ld-version-script.texi: Update node reference.
35624
35625 2009-03-03  Bruno Haible  <bruno@clisp.org>
35626
35627         * modules/visibility (License): Change to 'unlimited'.
35628         Suggested by Simon Josefsson.
35629
35630 2009-03-03  Jim Meyering  <meyering@redhat.com>
35631
35632         unlinkdir: cannot_unlink_dir may modify process state
35633         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
35634         it's neither thread-safe nor appropriate for use in a library.
35635
35636 2009-03-03  Eric Blake  <ebb9@byu.net>
35637
35638         test-closein: silence test under Darwin
35639         * tests/test-closein.sh: Ignore stderr from cat, since we don't
35640         care if it dies from EPIPE or EBADF.
35641
35642 2009-03-03  Bruno Haible  <bruno@clisp.org>
35643
35644         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
35645         earlier.
35646         * doc/visibility.texi: Fix @node and @section.
35647
35648 2009-03-03  Simon Josefsson  <simon@josefsson.org>
35649
35650         * doc/gnulib.texi: Link to sections for ld version script and
35651         visibility.
35652         * doc/visibility.texi: Add @node and @section.
35653         * modules/ld-version-script: New module.
35654         * m4/ld-version-script.m4: New file.
35655         * doc/ld-version-script.texi: New file.
35656
35657 2009-03-02  David Lutterkort  <lutter@redhat.com>
35658
35659         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
35660         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35661
35662 2009-03-02  Bruno Haible  <bruno@clisp.org>
35663
35664         * doc/visibility.texi: Mention libtool's -export-symbols option.
35665
35666 2009-03-02  Jim Meyering  <meyering@redhat.com>
35667
35668         announce-gen: new option: --no-print-checksums
35669         * build-aux/announce-gen (usage): Describe it.
35670         (print_checksums): Print a newline here, not in the [*] footnote.
35671         (main): Honor it.
35672
35673 2009-03-01  Bruno Haible  <bruno@clisp.org>
35674
35675         Use socklen_t in the native Windows replacements prototypes.
35676         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
35677         instead of 'int'.
35678         * lib/getsockopt.c (rpl_getsockopt): Likewise.
35679         * lib/setsockopt.c (rpl_setsockopt): Likewise.
35680         * modules/getsockopt (Depends-on): Add socklen.
35681         * modules/setsockopt (Depends-on): Add socklen.
35682
35683 2009-03-01  Bruno Haible  <bruno@clisp.org>
35684
35685         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
35686         least 4.2.
35687
35688 2009-03-01  Eric Blake  <ebb9@byu.net>
35689             Bruno Haible  <bruno@clisp.org>
35690
35691         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
35692         error messages.
35693         * lib/wait-process.c (wait_subprocess): Omit error message about
35694         deadly signal sent to the child of termsigp != NULL.
35695
35696 2009-03-01  Eric Blake  <ebb9@byu.net>
35697
35698         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
35699
35700 2009-03-01  Bruno Haible  <bruno@clisp.org>
35701
35702         Avoid a gcc warning.
35703         * tests/test-sched.c (b): Make global.
35704         Reported by Eric Blake.
35705
35706 2009-01-19  Martin Lambers  <marlam@marlam.de>
35707
35708         Provide POSIX semantics for socket timeout options on W32.
35709         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
35710         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
35711         * modules/setsockopt: Depend on sys_time module for struct timeval.
35712         * modules/getsockopt: Depend on sys_time module for struct timeval.
35713
35714 2009-03-01  Simon Josefsson  <simon@josefsson.org>
35715
35716         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
35717         __USE_GNU, for consistency with netdb.in.h.
35718         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35719
35720 2009-03-01  Bruno Haible  <bruno@clisp.org>
35721
35722         More support for FreeMiNT.
35723         * lib/fseeko.c (rpl_fseeko): Complete last commit.
35724         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35725
35726 2009-03-01  Bruno Haible  <bruno@clisp.org>
35727
35728         More support for FreeMiNT.
35729         * lib/fpurge.c (fpurge): Correct last commit.
35730         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35731
35732 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35733
35734         Fix unportable awk script in vc-list-files.
35735         * build-aux/vc-list-files: In the replacement awk script, use
35736         substr with a second argument of 1, not zero.
35737         Report by Simon Josefsson.
35738
35739 2009-02-28  Bruno Haible  <bruno@clisp.org>
35740
35741         More support for FreeMiNT.
35742         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
35743         to FreeMiNT today.
35744         * lib/fwriting.c (fwriting): Likewise.
35745         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
35746
35747 2009-02-28  Bruno Haible  <bruno@clisp.org>
35748
35749         * tests/test-freadseek.c (main): Disable test beyond end of file on
35750         FreeMiNT.
35751         * tests/test-ftello.c (main): Likewise.
35752         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
35753
35754 2009-02-28  Bruno Haible  <bruno@clisp.org>
35755
35756         Add tentative support for FreeMiNT.
35757         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
35758         * lib/fpurge.c (fpurge): Likewise.
35759         * lib/freadable.c (freadable): Likewise.
35760         * lib/freading.c (freading): Likewise.
35761         * lib/freadptr.c (freadptr): Likewise.
35762         * lib/freadseek.c (freadptrinc): Likewise.
35763         * lib/fseeko.c (rpl_fseeko): Likewise.
35764         * lib/fseterr.c (fseterr): Likewise.
35765         * lib/fwritable.c (fwritable): Likewise.
35766         * lib/fwriting.c (fwriting): Likewise.
35767         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
35768         Hourihane.
35769         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35770
35771 2009-02-28  Bruno Haible  <bruno@clisp.org>
35772
35773         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
35774         SIGCHLD.
35775         Reported by Jim Meyering.
35776
35777 2009-02-28  Bruno Haible  <bruno@clisp.org>
35778
35779         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
35780         Mention the results of these tests on various platforms.
35781         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
35782         order.
35783         * doc/posix-functions/printf.texi: Likewise.
35784         * doc/posix-functions/snprintf.texi: Likewise.
35785         * doc/posix-functions/sprintf.texi: Likewise.
35786         * doc/posix-functions/vfprintf.texi: Likewise.
35787         * doc/posix-functions/vprintf.texi: Likewise.
35788         * doc/posix-functions/vsnprintf.texi: Likewise.
35789         * doc/posix-functions/vsprintf.texi: Likewise.
35790         * doc/glibc-functions/obstack_printf.texi: Likewise.
35791         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
35792
35793 2009-02-28  Bruno Haible  <bruno@clisp.org>
35794
35795         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
35796         Reported by LoĂ¯c Minier <lool@dooz.org>.
35797
35798 2009-02-27  Bruno Haible  <bruno@clisp.org>
35799
35800         * gnulib-tool (func_import): Make the sed expression used to create the
35801         sed script for updating the .gitignore file POSIX compliant.
35802         Reported by Eric Blake.
35803
35804 2009-02-27  Bruno Haible  <bruno@clisp.org>
35805
35806         * gnulib-tool (sed): Don't alias as "sed --posix".
35807         Reported by Eric Blake.
35808
35809 2009-02-27  Bruno Haible  <bruno@clisp.org>
35810
35811         Avoid test link errors.
35812         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
35813         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
35814         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
35815         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
35816         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35817
35818 2009-02-27  Bruno Haible  <bruno@clisp.org>
35819
35820         Avoid spurious "(cached)" in configure output.
35821         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
35822         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
35823         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
35824         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
35825         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
35826         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
35827         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
35828         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
35829         Reported by Eric Blake.
35830
35831 2009-02-27  Eric Blake  <ebb9@byu.net>
35832
35833         printf: fix regression in previous patch
35834         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
35835
35836 2009-02-27  Bruno Haible  <bruno@clisp.org>
35837
35838         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
35839         value.
35840         * lib/stdint.in.h: Likewise.
35841         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
35842
35843 2009-02-27  Eric Blake  <ebb9@byu.net>
35844
35845         doc: mention more functions added in cygwin 1.7.0
35846         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
35847         addition.
35848         * doc/posix-functions/open_wmemstream.texi: Likewise.
35849         * doc/posix-functions/wcsnlen.texi: Likewise.
35850         * doc/posix-functions/wcsnrtombs.texi: Likewise.
35851         * doc/posix-functions/wcstod.texi: Likewise.
35852         * doc/posix-functions/wcstof.texi: Likewise.
35853         * doc/posix-functions/wcstoimax.texi: Likewise.
35854         * doc/posix-functions/wcstok.texi: Likewise.
35855         * doc/posix-functions/wcstoumax.texi: Likewise.
35856
35857         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
35858         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
35859         * doc/posix-functions/fprintf.texi: Update.
35860         * doc/posix-functions/printf.texi: Update.
35861         * doc/posix-functions/snprintf.texi: Update.
35862         * doc/posix-functions/sprintf.texi: Update.
35863         * doc/posix-functions/vfprintf.texi: Update.
35864         * doc/posix-functions/vprintf.texi: Update.
35865         * doc/posix-functions/vsnprintf.texi: Update.
35866         * doc/posix-functions/vsprintf.texi: Update.
35867         * doc/glibc-functions/obstack_printf.texi: Update.
35868         * doc/glibc-functions/obstack_vprintf.texi: Update.
35869
35870 2009-02-26  Eric Blake  <ebb9@byu.net>
35871
35872         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
35873         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
35874         compilation bug by using runtime conversion.
35875         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
35876         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
35877         * modules/ceill-tests (Files): Use nan.h.
35878         * modules/floorl-tests (Files): Likewise.
35879         * modules/frexpl-tests (Files): Likewise.
35880         * modules/isnanl-tests (Files): Likewise.
35881         * modules/ldexpl-tests (Files): Likewise.
35882         * modules/roundl-tests (Files): Likewise.
35883         * modules/truncl-tests (Files): Likewise.
35884         * tests/test-ceill.c (main): Use a working NaN.
35885         * tests/test-floorl.c (main): Likewise.
35886         * tests/test-frexpl.c (main): Likewise.
35887         * tests/test-isnan.c (test_long_double): Likewise.
35888         * tests/test-isnanl.h (main): Likewise.
35889         * tests/test-ldexpl.h (main): Likewise.
35890         * tests/test-roundl.h (main): Likewise.
35891         * tests/test-truncl.h (main): Likewise.
35892         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
35893
35894 2009-02-26  Eric Blake  <ebb9@byu.net>
35895             Bruno Haible  <bruno@clisp.org>
35896
35897         Work around a *printf bug with %ls on Solaris.
35898         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
35899         precision is specified, sprintf stops converting the wide string
35900         argument when the number of bytes that have been produced by this
35901         conversion equals or exceeds the precision.
35902         * doc/posix-functions/fprintf.texi: Update.
35903         * doc/posix-functions/printf.texi: Update.
35904         * doc/posix-functions/snprintf.texi: Update.
35905         * doc/posix-functions/sprintf.texi: Update.
35906         * doc/posix-functions/vfprintf.texi: Update.
35907         * doc/posix-functions/vprintf.texi: Update.
35908         * doc/posix-functions/vsnprintf.texi: Update.
35909         * doc/posix-functions/vsprintf.texi: Update.
35910         * doc/glibc-functions/obstack_printf.texi: Update.
35911         * doc/glibc-functions/obstack_vprintf.texi: Update.
35912
35913 2009-02-26  Eric Blake  <ebb9@byu.net>
35914
35915         stdlib: favor compiler check of random.h
35916         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
35917         to avoid an ObjC random.h installed by Swarm.
35918
35919 2009-02-26  Bruno Haible  <bruno@clisp.org>
35920
35921         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
35922         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
35923         Reported by Gary V. Vaughan <gary@gnu.org>.
35924
35925 2009-02-26  Bruno Haible  <bruno@clisp.org>
35926
35927         Fix *printf behaviour regarding the %ls directive.
35928         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
35929         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
35930         NEED_PRINTF_DIRECTIVE_LS.
35931         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
35932         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
35933         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35934         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
35935         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
35936         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
35937         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
35938         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35939         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35940         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35941         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35942         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
35943         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35944         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35945         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35946         * doc/posix-functions/fprintf.texi: Update.
35947         * doc/posix-functions/printf.texi: Update.
35948         * doc/posix-functions/snprintf.texi: Update.
35949         * doc/posix-functions/sprintf.texi: Update.
35950         * doc/posix-functions/vfprintf.texi: Update.
35951         * doc/posix-functions/vprintf.texi: Update.
35952         * doc/posix-functions/vsnprintf.texi: Update.
35953         * doc/posix-functions/vsprintf.texi: Update.
35954         * doc/glibc-functions/obstack_printf.texi: Update.
35955         * doc/glibc-functions/obstack_vprintf.texi: Update.
35956         Reported by Eric Blake.
35957
35958 2009-02-25  Bruno Haible  <bruno@clisp.org>
35959
35960         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
35961         with known value.
35962         Reported by Gary V. Vaughan <gary@gnu.org>.
35963
35964 2009-02-25  Bruno Haible  <bruno@clisp.org>
35965
35966         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
35967         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
35968         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
35969         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
35970         Reported by Gary V. Vaughan <gary@gnu.org>.
35971
35972 2009-02-25  Bruno Haible  <bruno@clisp.org>
35973
35974         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
35975         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
35976         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
35977         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
35978         Reported by Gary V. Vaughan <gary@gnu.org>.
35979
35980 2009-02-25  Eric Blake  <ebb9@byu.net>
35981
35982         tests: skip fseek/ftell tests if ungetc is broken
35983         * m4/ungetc.m4: New file.
35984         * modules/fseek-tests: Split test, so ungetc dependency is
35985         separate from rest of test.
35986         * modules/fseeko-tests: Likewise.
35987         * modules/ftell-tests: Likewise.
35988         * modules/ftello-tests: Likewise.
35989         * tests/test-fseek.c (main): Isolate ungetc dependency.
35990         * tests/test-fseeko.c (main): Likewise.
35991         * tests/test-ftell.c (main): Likewise.
35992         * tests/test-ftello.c (main): Likewise.
35993         * tests/test-fseek2.sh: New file.
35994         * tests/test-fseeko2.sh: Likewise.
35995         * tests/test-ftell2.sh: Likewise.
35996         * tests/test-ftello2.sh: Likewise.
35997
35998 2009-02-25  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
35999
36000         test-getaddrinfo: fix usage of skip return code 77
36001         * tests/test-gettaddrinfo.c: Return skip code 77 only
36002         for first occurance of skip (4x77 is not 77)
36003
36004 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
36005
36006         strtod: avoid C99 decl-after-statement
36007         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
36008
36009 2009-02-24  Eric Blake  <ebb9@byu.net>
36010
36011         strtod: detect HP-UX 11.31 bug
36012         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
36013         Reported by Gary V. Vaughan.
36014
36015 2009-02-23  Bruno Haible  <bruno@clisp.org>
36016
36017         Fix invalid read past end of memory block.
36018         * lib/vasnprintf.c (DCHAR_SET): Define.
36019         (local_wcslen): Define only when needed.
36020         (local_strnlen, local_wcsnlen): New functions.
36021         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
36022         directives that involve a conversion ourselves.
36023         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
36024         wcsnlen, mbrtowc, wcrtomb.
36025         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
36026         * tests/test-vasprintf-posix.c (test_function): Likewise.
36027         * tests/test-snprintf-posix.h (test_function): Likewise.
36028         * tests/test-sprintf-posix.h (test_function): Likewise.
36029         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36030
36031 2009-02-22  Bruno Haible  <bruno@clisp.org>
36032
36033         Implement new clarified decomposition of Hangul syllables.
36034         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
36035         of type LTV, return only a pairwise decomposition.
36036         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
36037         Likewise.
36038         * tests/uninorm/test-decomposition.c (main): Updated expected result.
36039         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
36040         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
36041
36042 2009-02-22  Bruno Haible  <bruno@clisp.org>
36043
36044         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
36045         zero-length results and shrink excess allocated memory.
36046         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
36047         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
36048         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
36049         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
36050         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
36051         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
36052         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
36053         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
36054         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
36055         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
36056         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
36057         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
36058
36059 2009-02-21  Bruno Haible  <bruno@clisp.org>
36060
36061         * doc/gnulib.texi: Include safe-alloc.texi earlier.
36062         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
36063         spaces after a period. Put a space between a macro name and its
36064         argument list. Trivial rewordings.
36065         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
36066         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
36067         (main): Return 0 explicitly.
36068
36069 2009-02-21  Bruno Haible  <bruno@clisp.org>
36070
36071         Tests for module 'uninorm/filter'.
36072         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
36073         * modules/uninorm/filter-tests: New file.
36074
36075         New module 'uninorm/filter'.
36076         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
36077         uninorm_filter_flush, uninorm_filter_free): New declarations.
36078         * lib/uninorm/uninorm-filter.c: New file.
36079         * modules/uninorm/filter: New file.
36080
36081 2009-02-21  Bruno Haible  <bruno@clisp.org>
36082
36083         Tests for module 'uninorm/nfkc'.
36084         * tests/uninorm/test-nfkc.c: New file.
36085         * tests/uninorm/test-u8-nfkc.c: New file.
36086         * tests/uninorm/test-u16-nfkc.c: New file.
36087         * tests/uninorm/test-u32-nfkc.c: New file.
36088         * tests/uninorm/test-u32-nfkc-big.sh: New file.
36089         * tests/uninorm/test-u32-nfkc-big.c: New file.
36090         * modules/uninorm/nfkc-tests: New file.
36091
36092         New module 'uninorm/nfkc'.
36093         * lib/uninorm/nfkc.c: New file.
36094         * modules/uninorm/nfkc: New file.
36095
36096         Tests for module 'uninorm/nfkd'.
36097         * tests/uninorm/test-nfkd.c: New file.
36098         * tests/uninorm/test-u8-nfkd.c: New file.
36099         * tests/uninorm/test-u16-nfkd.c: New file.
36100         * tests/uninorm/test-u32-nfkd.c: New file.
36101         * tests/uninorm/test-u32-nfkd-big.sh: New file.
36102         * tests/uninorm/test-u32-nfkd-big.c: New file.
36103         * modules/uninorm/nfkd-tests: New file.
36104
36105         New module 'uninorm/nfkd'.
36106         * lib/uninorm/nfkd.c: New file.
36107         * modules/uninorm/nfkd: New file.
36108
36109         Tests for module 'uninorm/nfc'.
36110         * tests/uninorm/test-nfc.c: New file.
36111         * tests/uninorm/test-u8-nfc.c: New file.
36112         * tests/uninorm/test-u16-nfc.c: New file.
36113         * tests/uninorm/test-u32-nfc.c: New file.
36114         * tests/uninorm/test-u32-nfc-big.sh: New file.
36115         * tests/uninorm/test-u32-nfc-big.c: New file.
36116         * modules/uninorm/nfc-tests: New file.
36117
36118         New module 'uninorm/nfc'.
36119         * lib/uninorm/nfc.c: New file.
36120         * modules/uninorm/nfc: New file.
36121
36122         Tests for module 'uninorm/nfd'.
36123         * tests/uninorm/test-nfd.c: New file.
36124         * tests/uninorm/test-u8-nfd.c: New file.
36125         * tests/uninorm/test-u16-nfd.c: New file.
36126         * tests/uninorm/test-u32-nfd.c: New file.
36127         * tests/uninorm/test-u32-nfd-big.sh: New file.
36128         * tests/uninorm/test-u32-nfd-big.c: New file.
36129         * tests/uninorm/test-u32-normalize-big.h: New file.
36130         * tests/uninorm/test-u32-normalize-big.c: New file.
36131         * tests/uninorm/NormalizationTest.txt: New file, created from
36132         Unicode 5.1.0 NormalizationTest.txt.
36133         * modules/uninorm/nfd-tests: New file.
36134
36135         New module 'uninorm/nfd'.
36136         * lib/uninorm/nfd.c: New file.
36137         * modules/uninorm/nfd: New file.
36138
36139         New module 'uninorm/u32-normalize'.
36140         * lib/uninorm/u32-normalize.c: New file.
36141         * modules/uninorm/u32-normalize: New file.
36142
36143         New module 'uninorm/u16-normalize'.
36144         * lib/uninorm/u16-normalize.c: New file.
36145         * modules/uninorm/u16-normalize: New file.
36146
36147         New module 'uninorm/u8-normalize'.
36148         * lib/uninorm/u8-normalize.c: New file.
36149         * lib/uninorm/normalize-internal.h: New file.
36150         * lib/uninorm/u-normalize-internal.h: New file.
36151         * modules/uninorm/u8-normalize: New file.
36152
36153         New module 'uninorm/decompose-internal'.
36154         * lib/uninorm/decompose-internal.c: New file.
36155         * modules/uninorm/decompose-internal: New file.
36156
36157         Tests for module 'uninorm/composition'.
36158         * tests/uninorm/test-composition.c: New file.
36159         * modules/uninorm/composition-tests: New file.
36160
36161         New module 'uninorm/composition'.
36162         * lib/uninorm/composition.c: New file.
36163         * lib/uninorm/composition-table.gperf: New file, generated by
36164         gen-uni-tables.
36165         * modules/uninorm/composition: New file.
36166
36167         Tests for module 'uninorm/compat-decomposition'.
36168         * tests/uninorm/test-compat-decomposition.c: New file.
36169         * modules/uninorm/compat-decomposition-tests: New file.
36170
36171         New module 'uninorm/compat-decomposition'.
36172         * lib/uninorm/decompose-internal.h: New file.
36173         * lib/uninorm/compat-decomposition.c: New file.
36174         * modules/uninorm/compat-decomposition: New file.
36175
36176         Tests for module 'uninorm/canonical-decomposition'.
36177         * tests/uninorm/test-canonical-decomposition.c: New file.
36178         * modules/uninorm/canonical-decomposition-tests: New file.
36179
36180         New module 'uninorm/canonical-decomposition'.
36181         * lib/uninorm/canonical-decomposition.c: New file.
36182         * modules/uninorm/canonical-decomposition: New file.
36183
36184         Tests for module 'uninorm/decomposition'.
36185         * tests/uninorm/test-decomposition.c: New file.
36186         * modules/uninorm/decomposition-tests: New file.
36187
36188         New module 'uninorm/decomposition'.
36189         * lib/uninorm/decomposition.c: New file.
36190         * modules/uninorm/decomposition: New file.
36191
36192         New module 'uninorm/decomposition-table'.
36193         * lib/uninorm/decomposition-table.h: New file.
36194         * lib/uninorm/decomposition-table.c: New file.
36195         * lib/uninorm/decomposition-table1.h: New file, generated by
36196         gen-uni-tables.
36197         * lib/uninorm/decomposition-table2.h: New file, generated by
36198         gen-uni-tables.
36199         * modules/uninorm/decomposition-table: New file.
36200
36201         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
36202         (UC_DECOMP_*): New enumeration items.
36203         (get_decomposition): New function.
36204         (struct decomp_table): New type.
36205         (output_decomposition, output_decomposition_tables): New functions.
36206         (unicode_composition_exclusions): New variable.
36207         (fill_composition_exclusions, debug_output_composition_tables): New
36208         functions.
36209         (main): Accept one more argument. Invoke fill_composition_exclusions.
36210         Output decomposition and composition tables.
36211
36212         New module 'uninorm/base'.
36213         * lib/uninorm.h: New file.
36214         * lib/unictype.h: Update comment.
36215         * modules/uninorm/base: New file.
36216
36217 2009-02-21  David Lutterkort  <lutter@redhat.com>
36218
36219         Tests for module 'safe-alloc'.
36220         * tests/test-safe-alloc.c: New file.
36221         * modules/safe-alloc-tests: New file.
36222
36223         New module 'safe-alloc'.
36224         * lib/safe-alloc.h: New file.
36225         * lib/safe-alloc.c: New file.
36226         * m4/safe-alloc.m4: New file.
36227         * modules/safe-alloc: New file.
36228         * doc/safe-alloc.texi: New file.
36229         * doc/gnulib.texi: Include it.
36230         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
36231         safe-alloc.
36232
36233 2009-02-18  Bruno Haible  <bruno@clisp.org>
36234
36235         Fix link error on non-glibc systems.
36236         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
36237         variable.
36238         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36239
36240 2009-02-18  Jim Meyering  <meyering@redhat.com>
36241
36242         fts: avoid used-uninitialized error due to recent change
36243         * lib/fts.c (fts_read): Guard uses of the new member,
36244         parent->fts_n_dirs_remaining, since it's not relevant for
36245         the parent of a directory specified on the command-line.
36246
36247 2009-02-17  James Youngman  <jay@gnu.org>
36248             Bruno Haible  <bruno@clisp.org>
36249
36250         * m4/include_next.m4: Reformulate comment.
36251
36252 2009-02-16  Jim Meyering  <meyering@redhat.com>
36253
36254         fts: add #if guards so that the fts_lgpl module still builds
36255         * lib/fts.c: Guard just-added hash-table-using parts with
36256         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
36257         Reported by Simon Josefsson.
36258
36259 2009-02-15  Bruno Haible  <bruno@clisp.org>
36260
36261         * modules/array-mergesort-tests: New file.
36262         * tests/test-array-mergesort.c: New file.
36263
36264         New module 'array-mergesort'.
36265         * modules/array-mergesort: New file.
36266         * lib/array-mergesort.h: New file.
36267
36268 2009-02-15  Bruno Haible  <bruno@clisp.org>
36269
36270         Fix 2009-02-07 commit.
36271         * lib/gen-uni-tables.c (output_predicate, output_category,
36272         output_combclass, output_bidi_category, output_decimal_digit,
36273         output_digit, output_numeric, output_mirror, output_scripts,
36274         output_ident_category, output_simple_mapping): Fix format directives.
36275         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
36276
36277 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
36278
36279         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
36280         fixes are available from IBM.
36281
36282 2009-02-13  Jim Meyering  <meyering@redhat.com>
36283
36284         fts: arrange not to stat non-directories in more cases
36285         This makes GNU find (when it doesn't need to stat each file)
36286         *much* more efficient at traversing reiserfs file systems.
36287         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
36288         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
36289         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
36290         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
36291         (leaf_optimization_applies): New function.
36292         (LCO_hash, LCO_compare): New helper functions.
36293         (link_count_optimize_ok): New function.
36294         (fts_stat): Initialize new member (if dir).
36295         (fts_read): Decrement parent's fts_n_dirs_remaining count if
36296         we've just stat'ed a directory.  Skip the stat call when possible.
36297         ---
36298         Note this AFS-related exchange:
36299         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
36300         and note find's pioctl call in find/fstype.c.
36301         But that is necessary only if you want to enable the
36302         optimization for AFS, and for now, I don't.
36303
36304         fts: move a function definition "up" (no semantic change)
36305         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
36306         "up" to precede upcoming use of a related function.
36307
36308 2009-02-11  Jim Meyering  <meyering@redhat.com>
36309
36310         fts: correct internal computation of nlinks (optimization-related)
36311         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
36312         whether the current entry is a directory, so don't test it.
36313
36314 2009-02-10  Bruno Haible  <bruno@clisp.org>
36315
36316         Tests for module 'uniwbrk/ulc-wordbreaks'.
36317         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
36318         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
36319         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
36320
36321         Tests for module 'uniwbrk/u32-wordbreaks'.
36322         * modules/uniwbrk/u32-wordbreaks-tests: New file.
36323         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
36324
36325         Tests for module 'uniwbrk/u16-wordbreaks'.
36326         * modules/uniwbrk/u16-wordbreaks-tests: New file.
36327         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
36328
36329         Tests for module 'uniwbrk/u8-wordbreaks'.
36330         * modules/uniwbrk/u8-wordbreaks-tests: New file.
36331         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
36332
36333 2009-02-10  Bruno Haible  <bruno@clisp.org>
36334
36335         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
36336         property.
36337         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
36338         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
36339         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
36340
36341 2009-02-10  Simon Josefsson  <simon@josefsson.org>
36342
36343         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
36344         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
36345
36346 2009-02-10  Bruno Haible  <bruno@clisp.org>
36347
36348         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
36349         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
36350         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
36351         * lib/unilbrk/u8-possible-linebreaks.c: Update.
36352         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
36353         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
36354
36355 2009-02-09  Simon Josefsson  <simon@josefsson.org>
36356
36357         * lib/sockets.h (gl_fd_to_handle): New function.
36358
36359         * tests/test-sockets.c: Call gl_fd_to_handle.
36360
36361 2009-02-09  Bruno Haible  <bruno@clisp.org>
36362
36363         * doc/havelib.texi: Document the conventions on bi-arch systems.
36364
36365 2009-02-08  Bruno Haible  <bruno@clisp.org>
36366
36367         Document the AC_LIB_LINKFLAGS macro.
36368         * doc/havelib.texi: New file, mostly written on 2005-05-24.
36369         * doc/gnulib.texi: Include it.
36370
36371 2009-02-08  Bruno Haible  <bruno@clisp.org>
36372
36373         Fix wrong order of sections, compared to TOC.
36374         * doc/gnulib.texi: Include relocatable-maint.texi after the
36375         "Regular expressions" node, not before.
36376
36377 2009-02-08  Bruno Haible  <bruno@clisp.org>
36378
36379         Tests for module 'unicase/totitle'.
36380         * modules/unicase/totitle-tests: New file.
36381
36382         Tests for module 'unicase/tolower'.
36383         * modules/unicase/tolower-tests: New file.
36384
36385         Tests for module 'unicase/toupper'.
36386         * modules/unicase/toupper-tests: New file.
36387         * tests/unicase/test-mapping-part1.h: New file.
36388         * tests/unicase/test-mapping-part2.h: New file.
36389
36390         New module 'unicase/totitle'.
36391         * modules/unicase/totitle: New file.
36392         * lib/unicase/totitle.c: New file.
36393
36394         New module 'unicase/tolower'.
36395         * modules/unicase/tolower: New file.
36396         * lib/unicase/tolower.c: New file.
36397
36398         New module 'unicase/toupper'.
36399         * modules/unicase/toupper: New file.
36400         * lib/unicase/toupper.c: New file.
36401         * lib/unicase/simple-mapping.h: New file.
36402
36403         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
36404         (mapping_table): New structure.
36405         (output_simple_mapping): New function.
36406         (main): Invoke output_simple_mapping_test and output_simple_mapping.
36407         * modules/gen-uni-tables (Description): Update.
36408         * lib/unicase/toupper.h: New file, automatically generated by
36409         gen-uni-tables.
36410         * lib/unicase/tolower.h: New file, automatically generated by
36411         gen-uni-tables.
36412         * lib/unicase/totitle.h: New file, automatically generated by
36413         gen-uni-tables.
36414         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
36415         gen-uni-tables.
36416         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
36417         gen-uni-tables.
36418         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
36419         gen-uni-tables.
36420
36421         New module 'unicase/base'.
36422         * modules/unicase/base: New file.
36423         * lib/unicase.h: New file.
36424
36425 2009-02-08  Bruno Haible  <bruno@clisp.org>
36426
36427         New module 'uniwbrk/ulc-wordbreaks'.
36428         * modules/uniwbrk/ulc-wordbreaks: New file.
36429         * lib/uniwbrk/ulc-wordbreaks.c: New file.
36430
36431         New module 'uniwbrk/u32-wordbreaks'.
36432         * modules/uniwbrk/u32-wordbreaks: New file.
36433         * lib/uniwbrk/u32-wordbreaks.c: New file.
36434
36435         New module 'uniwbrk/u16-wordbreaks'.
36436         * modules/uniwbrk/u16-wordbreaks: New file.
36437         * lib/uniwbrk/u16-wordbreaks.c: New file.
36438
36439         New module 'uniwbrk/u8-wordbreaks'.
36440         * modules/uniwbrk/u8-wordbreaks: New file.
36441         * lib/uniwbrk/u8-wordbreaks.c: New file.
36442         * lib/uniwbrk/u-wordbreaks.h: New file.
36443
36444         New module 'uniwbrk/table'.
36445         * modules/uniwbrk/table: New file.
36446         * lib/uniwbrk/wbrktable.h: New file.
36447         * lib/uniwbrk/wbrktable.c: New file.
36448
36449         New module 'uniwbrk/wordbreak-property'.
36450         * modules/uniwbrk/wordbreak-property: New file.
36451         * lib/uniwbrk/wordbreak-property.c: New file.
36452
36453         * lib/gen-uni-tables.c (WBP_*): New enum items.
36454         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
36455         (unicode_org_wbp): New variable.
36456         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
36457         New functions.
36458         (wbp_table): New structure.
36459         (output_wbp, output_wbrk_tables): New functions.
36460         (main): Accept additional argument. Invoke fill_org_wbp,
36461         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
36462         output_wbrk_tables.
36463         * modules/gen-uni-tables (Description): Update.
36464         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
36465         gen-uni-tables.
36466
36467         New module 'uniwbrk/base'.
36468         * modules/uniwbrk/base: New file.
36469         * lib/uniwbrk.h: New file.
36470
36471 2009-02-08  Bruno Haible  <bruno@clisp.org>
36472
36473         Update to Unicode 5.1.0.
36474         * lib/gen-uni-tables.c (is_property_alphabetic): Include
36475         U+2185..U+2188.
36476         (is_property_default_ignorable_code_point): Don't include characters
36477         of category Cc or Cs and not-a-characters.
36478         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
36479         U+0D79, U+109E, U+109F, U+A60C.
36480         * lib/unictype/bidi_of.h: Regenerated.
36481         * lib/unictype/blocks.h: Regenerated.
36482         * lib/unictype/categ_C.h: Regenerated.
36483         * lib/unictype/categ_Cf.h: Regenerated.
36484         * lib/unictype/categ_Cn.h: Regenerated.
36485         * lib/unictype/categ_L.h: Regenerated.
36486         * lib/unictype/categ_Ll.h: Regenerated.
36487         * lib/unictype/categ_Lm.h: Regenerated.
36488         * lib/unictype/categ_Lo.h: Regenerated.
36489         * lib/unictype/categ_Lu.h: Regenerated.
36490         * lib/unictype/categ_M.h: Regenerated.
36491         * lib/unictype/categ_Mc.h: Regenerated.
36492         * lib/unictype/categ_Me.h: Regenerated.
36493         * lib/unictype/categ_Mn.h: Regenerated.
36494         * lib/unictype/categ_N.h: Regenerated.
36495         * lib/unictype/categ_Nd.h: Regenerated.
36496         * lib/unictype/categ_Nl.h: Regenerated.
36497         * lib/unictype/categ_No.h: Regenerated.
36498         * lib/unictype/categ_P.h: Regenerated.
36499         * lib/unictype/categ_Pd.h: Regenerated.
36500         * lib/unictype/categ_Pe.h: Regenerated.
36501         * lib/unictype/categ_Pf.h: Regenerated.
36502         * lib/unictype/categ_Pi.h: Regenerated.
36503         * lib/unictype/categ_Po.h: Regenerated.
36504         * lib/unictype/categ_Ps.h: Regenerated.
36505         * lib/unictype/categ_S.h: Regenerated.
36506         * lib/unictype/categ_Sk.h: Regenerated.
36507         * lib/unictype/categ_Sm.h: Regenerated.
36508         * lib/unictype/categ_So.h: Regenerated.
36509         * lib/unictype/categ_of.h: Regenerated.
36510         * lib/unictype/combining.h: Regenerated.
36511         * lib/unictype/ctype_alnum.h: Regenerated.
36512         * lib/unictype/ctype_alpha.h: Regenerated.
36513         * lib/unictype/ctype_graph.h: Regenerated.
36514         * lib/unictype/ctype_lower.h: Regenerated.
36515         * lib/unictype/ctype_print.h: Regenerated.
36516         * lib/unictype/ctype_punct.h: Regenerated.
36517         * lib/unictype/ctype_upper.h: Regenerated.
36518         * lib/unictype/decdigit.h: Regenerated.
36519         * lib/unictype/digit.h: Regenerated.
36520         * lib/unictype/mirror.h: Regenerated.
36521         * lib/unictype/numeric.h: Regenerated.
36522         * lib/unictype/pr_alphabetic.h: Regenerated.
36523         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
36524         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
36525         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
36526         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
36527         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
36528         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
36529         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
36530         * lib/unictype/pr_combining.h: Regenerated.
36531         * lib/unictype/pr_dash.h: Regenerated.
36532         * lib/unictype/pr_decimal_digit.h: Regenerated.
36533         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
36534         * lib/unictype/pr_deprecated.h: Regenerated.
36535         * lib/unictype/pr_diacritic.h: Regenerated.
36536         * lib/unictype/pr_extender.h: Regenerated.
36537         * lib/unictype/pr_format_control.h: Regenerated.
36538         * lib/unictype/pr_grapheme_base.h: Regenerated.
36539         * lib/unictype/pr_grapheme_extend.h: Regenerated.
36540         * lib/unictype/pr_grapheme_link.h: Regenerated.
36541         * lib/unictype/pr_id_continue.h: Regenerated.
36542         * lib/unictype/pr_id_start.h: Regenerated.
36543         * lib/unictype/pr_ideographic.h: Regenerated.
36544         * lib/unictype/pr_ignorable_control.h: Regenerated.
36545         * lib/unictype/pr_lowercase.h: Regenerated.
36546         * lib/unictype/pr_math.h: Regenerated.
36547         * lib/unictype/pr_numeric.h: Regenerated.
36548         * lib/unictype/pr_other_alphabetic.h: Regenerated.
36549         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
36550         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
36551         * lib/unictype/pr_other_id_continue.h: Regenerated.
36552         * lib/unictype/pr_other_lowercase.h: Regenerated.
36553         * lib/unictype/pr_other_math.h: Regenerated.
36554         * lib/unictype/pr_punctuation.h: Regenerated.
36555         * lib/unictype/pr_sentence_terminal.h: Regenerated.
36556         * lib/unictype/pr_soft_dotted.h: Regenerated.
36557         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
36558         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
36559         * lib/unictype/pr_unified_ideograph.h: Regenerated.
36560         * lib/unictype/pr_uppercase.h: Regenerated.
36561         * lib/unictype/pr_xid_continue.h: Regenerated.
36562         * lib/unictype/pr_xid_start.h: Regenerated.
36563         * lib/unictype/pr_zero_width.h: Regenerated.
36564         * lib/unictype/scripts.h: Regenerated.
36565         * lib/unictype/scripts_byname.gperf: Regenerated.
36566         * lib/unictype/sy_java_ident.h: Regenerated.
36567         * lib/unilbrk/lbrkprop1.h: Regenerated.
36568         * lib/unilbrk/lbrkprop2.h: Regenerated.
36569         * tests/unictype/test-categ_C.c: Regenerated.
36570         * tests/unictype/test-categ_Cf.c: Regenerated.
36571         * tests/unictype/test-categ_Cn.c: Regenerated.
36572         * tests/unictype/test-categ_L.c: Regenerated.
36573         * tests/unictype/test-categ_Ll.c: Regenerated.
36574         * tests/unictype/test-categ_Lm.c: Regenerated.
36575         * tests/unictype/test-categ_Lo.c: Regenerated.
36576         * tests/unictype/test-categ_Lu.c: Regenerated.
36577         * tests/unictype/test-categ_M.c: Regenerated.
36578         * tests/unictype/test-categ_Mc.c: Regenerated.
36579         * tests/unictype/test-categ_Me.c: Regenerated.
36580         * tests/unictype/test-categ_Mn.c: Regenerated.
36581         * tests/unictype/test-categ_N.c: Regenerated.
36582         * tests/unictype/test-categ_Nd.c: Regenerated.
36583         * tests/unictype/test-categ_Nl.c: Regenerated.
36584         * tests/unictype/test-categ_No.c: Regenerated.
36585         * tests/unictype/test-categ_P.c: Regenerated.
36586         * tests/unictype/test-categ_Pd.c: Regenerated.
36587         * tests/unictype/test-categ_Pe.c: Regenerated.
36588         * tests/unictype/test-categ_Pf.c: Regenerated.
36589         * tests/unictype/test-categ_Pi.c: Regenerated.
36590         * tests/unictype/test-categ_Po.c: Regenerated.
36591         * tests/unictype/test-categ_Ps.c: Regenerated.
36592         * tests/unictype/test-categ_S.c: Regenerated.
36593         * tests/unictype/test-categ_Sk.c: Regenerated.
36594         * tests/unictype/test-categ_Sm.c: Regenerated.
36595         * tests/unictype/test-categ_So.c: Regenerated.
36596         * tests/unictype/test-ctype_alnum.c: Regenerated.
36597         * tests/unictype/test-ctype_alpha.c: Regenerated.
36598         * tests/unictype/test-ctype_graph.c: Regenerated.
36599         * tests/unictype/test-ctype_lower.c: Regenerated.
36600         * tests/unictype/test-ctype_print.c: Regenerated.
36601         * tests/unictype/test-ctype_punct.c: Regenerated.
36602         * tests/unictype/test-ctype_upper.c: Regenerated.
36603         * tests/unictype/test-decdigit.h: Regenerated.
36604         * tests/unictype/test-digit.h: Regenerated.
36605         * tests/unictype/test-numeric.h: Regenerated.
36606         * tests/unictype/test-pr_alphabetic.c: Regenerated.
36607         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
36608         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
36609         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
36610         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
36611         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
36612         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
36613         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
36614         * tests/unictype/test-pr_combining.c: Regenerated.
36615         * tests/unictype/test-pr_dash.c: Regenerated.
36616         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
36617         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
36618         * tests/unictype/test-pr_deprecated.c: Regenerated.
36619         * tests/unictype/test-pr_diacritic.c: Regenerated.
36620         * tests/unictype/test-pr_extender.c: Regenerated.
36621         * tests/unictype/test-pr_format_control.c: Regenerated.
36622         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
36623         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
36624         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
36625         * tests/unictype/test-pr_id_continue.c: Regenerated.
36626         * tests/unictype/test-pr_id_start.c: Regenerated.
36627         * tests/unictype/test-pr_ideographic.c: Regenerated.
36628         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
36629         * tests/unictype/test-pr_lowercase.c: Regenerated.
36630         * tests/unictype/test-pr_math.c: Regenerated.
36631         * tests/unictype/test-pr_numeric.c: Regenerated.
36632         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
36633         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
36634         Regenerated.
36635         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
36636         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
36637         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
36638         * tests/unictype/test-pr_other_math.c: Regenerated.
36639         * tests/unictype/test-pr_punctuation.c: Regenerated.
36640         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
36641         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
36642         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
36643         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
36644         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
36645         * tests/unictype/test-pr_uppercase.c: Regenerated.
36646         * tests/unictype/test-pr_xid_continue.c: Regenerated.
36647         * tests/unictype/test-pr_xid_start.c: Regenerated.
36648         * tests/unictype/test-pr_zero_width.c: Regenerated.
36649
36650         Update to Unicode 5.1.0.
36651         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
36652         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
36653         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
36654         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
36655         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
36656         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
36657         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
36658         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
36659         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
36660         (nonspacing_table_ind): Update.
36661         * tests/uniwidth/test-uc_width2.sh: Update expected result.
36662
36663         Update to Unicode 5.1.0.
36664         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
36665         code transform.
36666         * lib/uniname/uniname.c (unicode_character_name,
36667         unicode_name_character): Add the range 0x1Fxxx to the code transform.
36668         * lib/uniname/uninames.h: Regenerated.
36669         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
36670
36671 2009-02-07  Bruno Haible  <bruno@clisp.org>
36672
36673         Merge gen-ctype and gen-lbrk into a single program.
36674         * lib/gen-uni-tables.c: New file, incorporating
36675         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
36676         Add directory prefixes to the names of the generated files.
36677         * lib/unictype/gen-ctype.c: Remove file.
36678         * lib/unilbrk/gen-lbrk.c: Remove file.
36679         * modules/gen-uni-tables: New file.
36680         * modules/unictype/gen-ctype: Remove file.
36681         * modules/unilbrk/gen-lbrk: Remove file.
36682
36683 2009-02-07  Bruno Haible  <bruno@clisp.org>
36684
36685         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
36686
36687         New module 'unistr/u32-strcoll'.
36688         * modules/unistr/u32-strcoll: New file.
36689         * lib/unistr/u32-strcoll.c: New file.
36690
36691         New module 'unistr/u16-strcoll'.
36692         * modules/unistr/u16-strcoll: New file.
36693         * lib/unistr/u16-strcoll.c: New file.
36694
36695         New module 'unistr/u8-strcoll'.
36696         * modules/unistr/u8-strcoll: New file.
36697         * lib/unistr/u8-strcoll.c: New file.
36698         * lib/unistr/u-strcoll.h: New file.
36699
36700 2009-02-07  Bruno Haible  <bruno@clisp.org>
36701
36702         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
36703         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
36704         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
36705         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
36706         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
36707         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
36708
36709 2009-02-07  Bruno Haible  <bruno@clisp.org>
36710
36711         Make 64-bit clean.
36712         * lib/unictype/gen-ctype.c (output_predicate, output_category,
36713         output_combclass, output_bidi_category, output_decimal_digit,
36714         output_digit, output_numeric, output_mirror, output_scripts,
36715         output_ident_category): Use proper width specifier in format strings.
36716
36717 2009-02-07  Bruno Haible  <bruno@clisp.org>
36718
36719         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
36720         failure behaviour.
36721
36722 2009-02-07  Jim Meyering  <meyering@redhat.com>
36723
36724         regex: avoid compilation failure with upcoming gcc-4.4
36725         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
36726         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
36727         "... error: integer overflow in preprocessor expression".
36728
36729 2009-02-05  Ben Pfaff  <blp@gnu.org>
36730
36731         Fix link errors on Windows when close module is used.
36732         * modules/close: Add $(LIB_CLOSE) to Link section.
36733         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
36734         $(LIB_CLOSE) on Windows.
36735
36736 2009-02-05  Jim Meyering  <meyering@redhat.com>
36737
36738         still avoid unused-parameter warnings, but do it cleanly
36739         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
36740         (get_fs_usage): Cast to void instead.
36741         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
36742         (dev_from_mount_options, read_file_system_list): Cast to void.
36743         Prompted by Bruno Haible.
36744
36745 2009-02-04  Jim Meyering  <meyering@redhat.com>
36746
36747         fsusage.c: correct copyright year
36748         * lib/fsusage.c: Reflect year in which the change is pushed into
36749
36750         avoid misc. warnings
36751         * lib/fsusage.c (UNUSED_PARAM): Define.
36752         (get_fs_usage): Mark parameter "disk" as unused.
36753         * lib/getugroups.c (getgrent): Use "void" in prototype.
36754         * lib/mountlist.c: Mark unused parameters.
36755         (read_file_system_list): Declare a local with "const".
36756         * lib/nanosleep.c (getnow): Declare static.
36757         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
36758
36759         dirfd: set errno upon failure
36760         * lib/dirfd.c: Include <errno.h>.
36761         Set errno to ENOTSUP when returning -1.
36762         * modules/dirfd (Depends-on): Add errno.
36763         Suggested by John Kodis <kodis@comcast.net>.
36764
36765 2009-02-01  Bruno Haible  <bruno@clisp.org>
36766
36767         Don't assume sizeof (long) >= sizeof (void *).
36768         * lib/memcmp.c: Include stdint.h.
36769         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
36770         srcp2 to 'const byte *'.
36771         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
36772         types to uintptr_t.
36773         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
36774         * modules/memcmp (Depends-on): Add stdint.
36775         Reported by Ozkan Sezer <sezeroz@gmail.com>.
36776
36777 2009-01-30  Eric Blake  <ebb9@byu.net>
36778
36779         fix more require-before-expand issues
36780         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
36781         expand, AC_PROG_AWK.
36782         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
36783
36784 2009-01-28  Eric Blake  <ebb9@byu.net>
36785
36786         version-etc: use consistent URL formatting
36787         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
36788         Improve formatting.  Use fputs for string without %.
36789
36790 2009-01-28  Jim Meyering  <meyering@redhat.com>
36791
36792         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
36793         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
36794         "underquoted definition of NAME" from autoconf-2.59.
36795
36796 2009-01-28  Bruno Haible  <bruno@clisp.org>
36797
36798         * doc/gnulib.texi: Add "Obsolete modules" to index.
36799
36800 2009-01-28  Jim Meyering  <meyering@redhat.com>
36801
36802         useless-if-before-free: recognize more variants
36803         * build-aux/useless-if-before-free: Also recognize e.g.,
36804         if (NULL != p) free (p);
36805
36806 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
36807
36808         test-getaddrinfo: skip (don't fail) this test when there's no network
36809         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
36810         on the presumption that it means you lack network access.
36811
36812 2009-01-26  Jim Meyering  <meyering@redhat.com>
36813
36814         fflush: avoid warnings on modern systems
36815         * lib/fflush.c (rpl_fflush): Move declarations of locals,
36816         pos and result, into scopes where they're used.
36817
36818 2009-01-26  Eric Blake  <ebb9@byu.net>
36819
36820         Silence warning reintroduced by recent extensions patch.
36821         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
36822         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
36823         autoconf.
36824
36825         Backport improved autoconf semantics of AC_DEFUN_ONCE.
36826         * m4/00gnulib.m4: New file.
36827         * gnulib-tool (func_get_filelist): Always use it.
36828         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
36829         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
36830
36831 2009-01-25  Bruno Haible  <bruno@clisp.org>
36832
36833         Make test-quotearg work on MacOS X and AIX.
36834         * tests/test-quotearg.sh: New file.
36835         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
36836         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
36837         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
36838         include <libintl.h>.
36839         (fake_locale): Remove variable.
36840         (gettext, dgettext, dcgettext): Remove functions.
36841         (main): Instead of setting a fake locale, set a real locale. Call
36842         textdomain and bindtextdomain.
36843         * modules/quotearg-tests (Files): Add the new files.
36844         (Depends-on): Add gettext, setenv, unsetenv.
36845         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
36846         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
36847         Augment TESTS_ENVIRONMENT.
36848
36849 2009-01-25  Bruno Haible  <bruno@clisp.org>
36850
36851         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
36852         fr_FR.ISO8859-1 locale on MacOS X.
36853         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
36854         ja_JP.eucJP locale on MacOS X.
36855         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
36856         zh_CN.GB18030 locale on MacOS X.
36857
36858 2009-01-25  Bruno Haible  <bruno@clisp.org>
36859
36860         Avoid link errors on MacOS X 10.3.
36861         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
36862         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
36863
36864 2009-01-25  Bruno Haible  <bruno@clisp.org>
36865
36866         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
36867         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
36868         * modules/pipe (Files): Remove m4/posix_spawn.m4.
36869         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
36870         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
36871         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
36872         posix_spawnattr_init, posix_spawnattr_setsigmask,
36873         posix_spawnattr_setflags, posix_spawnattr_destroy.
36874
36875         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
36876         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
36877         * modules/execute (Files): Remove m4/posix_spawn.m4.
36878         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
36879         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
36880         posix_spawnattr_init, posix_spawnattr_setsigmask,
36881         posix_spawnattr_setflags, posix_spawnattr_destroy.
36882
36883 2009-01-25  Bruno Haible  <bruno@clisp.org>
36884
36885         * lib/glthread/threadlib.c: Include <stdlib.h>.
36886
36887 2009-01-25  Bruno Haible  <bruno@clisp.org>
36888
36889         * lib/glthread/threadlib.c (dummy): New declaration.
36890
36891 2009-01-25  Bruno Haible  <bruno@clisp.org>
36892
36893         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
36894         multibyte characters also for the GB18030 encoding. Don't crash when
36895         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
36896
36897 2009-01-25  Bruno Haible  <bruno@clisp.org>
36898
36899         Avoid redefining 'struct random_data' on OSF/1 5.1.
36900         * lib/stdlib.in.h: Include <random.h> if it exists.
36901         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
36902         HAVE_RANDOM_H. Include <random.h> when testing whether
36903         'struct random_data' exists.
36904         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
36905
36906 2009-01-25  Bruno Haible  <bruno@clisp.org>
36907
36908         Don't install charset.alias on MacOS X >= 10.3.
36909         * lib/localcharset.c (DARWIN7): New macro.
36910         (get_charset_aliases): Hardcode the result for Darwin7.
36911         * modules/localcharset (install-exec-local): Don't install
36912         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
36913
36914 2009-01-25  Bruno Haible  <bruno@clisp.org>
36915
36916         Don't install charset.alias on mingw and Cygwin.
36917         * modules/localcharset (install-exec-local): Don't install
36918         charset.alias on mingw and Cygwin, if the file does not yet exist.
36919         The result for these platforms is hardcoded in localcharset.c.
36920
36921 2009-01-25  Bruno Haible  <bruno@clisp.org>
36922
36923         Make it possible again to use AC_GNU_SOURCE together with gnulib.
36924         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
36925         before requiring AC_USE_SYSTEM_EXTENSIONS.
36926
36927 2009-01-25  Jim Meyering  <meyering@redhat.com>
36928
36929         c-strtod: avoid warnings
36930         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
36931         "assignment discards qualifiers from pointer target type" warnings.
36932
36933 2009-01-24  Bruno Haible  <bruno@clisp.org>
36934
36935         Add support for non-UTF-8 locales on MacOS X.
36936         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
36937         canonical encodings. For Darwin 7 and newer, don't map traditional
36938         encodings to UTF-8.
36939         Reported by Vincent Lefevre <vincent@vinc17.org>
36940         at <http://savannah.gnu.org/bugs/?25235>.
36941
36942 2009-01-24  Bruno Haible  <bruno@clisp.org>
36943
36944         * doc/gnulib.texi (Obsolete modules): New section.
36945         Reported by Mike Frysinger <vapier@gentoo.org>.
36946
36947 2009-01-24  Bruno Haible  <bruno@clisp.org>
36948
36949         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
36950         (%.dvi): New rule.
36951
36952 2009-01-24  Bruno Haible  <bruno@clisp.org>
36953
36954         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
36955         Reported by Eric Blake.
36956
36957 2009-01-24  Bruno Haible  <bruno@clisp.org>
36958
36959         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
36960         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
36961         Reported by Gary V. Vaughan <gary@gnu.org>.
36962
36963 2009-01-24  Bruno Haible  <bruno@clisp.org>
36964
36965         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
36966
36967 2009-01-23  Bruno Haible  <bruno@clisp.org>
36968
36969         Make c-strtod, c-strtold usable in libraries.
36970         * lib/c-strtod.c: Include string.h instead of xalloc.h.
36971         (C_STRTOD): Call strdup instead of xstrdup.
36972         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
36973         * modules/c-strtold (Depends-on): Likewise.
36974         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
36975         * NEWS: Mention the change.
36976         Reported by Michael Gold <mgold@ncf.ca>.
36977
36978 2009-01-23  Jim Meyering  <meyering@redhat.com>
36979
36980         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
36981         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
36982         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
36983
36984 2009-01-23  Simon Josefsson  <simon@josefsson.org>
36985
36986         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
36987         GNU CoreUtils.
36988         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
36989         * modules/version-etc (Description): Update.
36990
36991 2009-01-22  Bruno Haible  <bruno@clisp.org>
36992
36993         Cache the C locale object.
36994         * lib/c-strtod.c (c_locale_cache): New variable.
36995         (c_locale): New function.
36996         (C_STRTOD): Use it, and don't call freelocale.
36997         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
36998         Suggested by Paolo Bonzini.
36999
37000 2009-01-21  Bruno Haible  <bruno@clisp.org>
37001
37002         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
37003         conditions other than overflow.
37004
37005 2009-01-21  Bruno Haible  <bruno@clisp.org>
37006
37007         * lib/c-strtod.c: Include errno.h.
37008         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
37009         value from STRTOD_L and STRTOD.
37010
37011 2009-01-21  Bruno Haible  <bruno@clisp.org>
37012         and Jim Meyering  <meyering@redhat.com>
37013
37014         nanosleep: skip configure test (fail it) for apple universal builds
37015         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
37016         universal builds, assume that nanosleep does not work.
37017         * modules/nanosleep (Depends-on): Add multiarch.
37018
37019         mktime: skip configure test (fail it) for apple universal builds
37020         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
37021         universal builds, assume that mktime does not work.
37022         * modules/mktime (Depends-on): Add multiarch.
37023
37024 2009-01-21  Eric Blake  <ebb9@byu.net>
37025
37026         multiarch: avoid expand-before-require warning
37027         * modules/multiarch (configure.ac): Require, rather than expand,
37028         gl_MULTIARCH.
37029         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
37030         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
37031         enforce that all clients require it.  Partial reversion of
37032         2008-12-29 patch.
37033
37034         error: avoid expand-before-require warning
37035         * modules/errno (configure.ac): Require, rather than expand,
37036         gl_HEADER_ERRNO_H.
37037         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
37038         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
37039         enforce that all clients require it.
37040
37041         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
37042         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
37043         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
37044         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
37045
37046 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
37047
37048         Revert:
37049         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
37050
37051         regex: do not depend on obsolete modules.
37052         * modules/regex: Remove memcmp and memmove.
37053
37054 2009-01-20  Bruno Haible  <bruno@clisp.org>
37055
37056         Make the 'link' module link on Windows NT 4.
37057         * lib/link.c (_WIN32_WINNT): Don't define.
37058         (CreateHardLinkFuncType): New type.
37059         (CreateHardLinkFunc, initialized): New variables.
37060         (initialize): New function.
37061         (link): Invoke CreateHardLink indirectly through the function pointer.
37062
37063 2009-01-20  Bruno Haible  <bruno@clisp.org>
37064
37065         Fix compilation failure on mingw.
37066         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
37067
37068 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
37069
37070         * doc/c-strtod.texi: Mention a couple of restrictions.
37071
37072 2009-01-20  Jim Meyering  <meyering@redhat.com>
37073
37074         gettimeofday: move more declarations out of functions
37075         * lib/gettimeofday.c: Move extern declarations of tzset and
37076         gmtime out of containing functions.  Prompted by Bruno Haible.
37077
37078 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
37079
37080         regex: do not depend on obsolete modules.
37081         * modules/regex: Remove memcmp and memmove.
37082
37083 2009-01-19  Bruno Haible  <bruno@clisp.org>
37084
37085         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
37086         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
37087         gl_BIGENDIAN, not AC_C_BIGENDIAN.
37088         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
37089         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
37090
37091 2009-01-19  Bruno Haible  <bruno@clisp.org>
37092
37093         * tests/test-link.c: Include <errno.h>.
37094         (main): Exit with code 77 when a hard link cannot be created due to
37095         the file system.
37096         * tests/test-link.sh: Skip test when a hard link cannot be created due
37097         to the file system.
37098         Suggested by Eric Blake.
37099
37100 2009-01-19  Martin Lambers  <marlam@marlam.de>
37101
37102         * modules/link-tests: New file.
37103         * tests/test-link.sh: New file.
37104         * tests/test-link.c: New file.
37105
37106 2009-01-19  Eric Blake  <ebb9@byu.net>
37107
37108         doc: mention another function added in cygwin 1.7.0
37109         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
37110         Another new function in cygwin 1.7.
37111
37112 2009-01-19  Bruno Haible  <bruno@clisp.org>
37113
37114         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
37115         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
37116         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
37117         gl_BIGENDIAN, not AC_C_BIGENDIAN.
37118         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
37119         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
37120         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
37121         * m4/md4.m4 (gl_MD4): Likewise.
37122         * m4/md5.m4 (gl_MD5): Likewise.
37123         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
37124         * m4/sha1.m4 (gl_SHA1): Likewise.
37125         * m4/sha256.m4 (gl_SHA256): Likewise.
37126         * m4/sha512.m4 (gl_SHA512): Likewise.
37127
37128 2009-01-19  Bruno Haible  <bruno@clisp.org>
37129
37130         * modules/uniname/uniname-tests (Depends-on): Add progname.
37131         * tests/uniname/test-uninames.c: Include progname.h.
37132         (main): Call set_program_name.
37133
37134         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
37135         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
37136         (main): Call set_program_name.
37137
37138         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
37139         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
37140         (main): Call set_program_name.
37141
37142         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
37143         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
37144         (main): Call set_program_name.
37145
37146         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
37147         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
37148         (main): Call set_program_name.
37149
37150         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
37151         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
37152         (main): Call set_program_name.
37153
37154         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
37155         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
37156         (main): Call set_program_name.
37157
37158         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
37159         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
37160         (main): Call set_program_name.
37161
37162         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
37163         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
37164         (main): Call set_program_name.
37165
37166 2009-01-19  Eric Blake  <ebb9@byu.net>
37167
37168         test-unistd: test previous patch
37169         * tests/test-unistd.c: Test *_FILENO macros.
37170
37171         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
37172         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
37173         Guarantee a definition.
37174         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
37175         * modules/unistd-safer (Depends-on): Add dependency on unistd.
37176         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
37177         * lib/dup-safer.c (STDERR_FILENO): Likewise.
37178         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
37179         Likewise.
37180         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
37181         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
37182         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
37183         Likewise.
37184         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
37185         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
37186         (STDERR_FILENO): Likewise.
37187         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
37188         (STDERR_FILENO): Likewise.
37189         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
37190         (STDERR_FILENO): Likewise.
37191         Reported by Elbert Pol.
37192
37193 2009-01-19  Eric Blake  <ebb9@byu.net>
37194
37195         doc: mention more functions added in cygwin 1.7.0
37196         * doc/posix-functions/abort.texi (abort): Update wording related
37197         to cygwin.
37198         * doc/posix-functions/daylight.texi (daylight): Likewise.
37199         * doc/posix-functions/optarg.texi (optarg): Likewise.
37200         * doc/posix-functions/optarg.texi (opterr): Likewise.
37201         * doc/posix-functions/optarg.texi (optind): Likewise.
37202         * doc/posix-functions/optarg.texi (optopt): Likewise.
37203         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
37204         worked in 1.5.x, and was withdrawn in 1.7.
37205         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
37206         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
37207         cygwin versions.
37208         * doc/posix-functions/perror.texi (perror): Likewise.
37209         * doc/posix-functions/printf.texi (printf): Likewise.
37210         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
37211         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
37212         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37213         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37214         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
37215         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
37216         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
37217         Likewise.
37218         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
37219         Likewise.
37220         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
37221         this function.
37222         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
37223         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
37224         Likewise.
37225         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
37226         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
37227         * doc/posix-functions/confstr.texi (confstr): Likewise.
37228         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
37229         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
37230         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
37231         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
37232         * doc/posix-functions/fputws.texi (fputws): Likewise.
37233         * doc/posix-functions/fwide.texi (fwide): Likewise.
37234         * doc/posix-functions/getwc.texi (getwc): Likewise.
37235         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
37236         * doc/posix-functions/putwc.texi (putwc): Likewise.
37237         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
37238         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
37239         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
37240         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
37241         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
37242         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
37243         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
37244         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
37245         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
37246         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
37247         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
37248
37249 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
37250
37251         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
37252         * lib/ioctl.c: Include <sys/ioctl.h>.
37253
37254 2009-01-19  Simon Josefsson  <simon@josefsson.org>
37255
37256         * modules/getdate-tests (Depends-on): Add progname.
37257         * tests/test-getdate.c: Use progname module, to avoid link errors
37258         on non-glibc systems.
37259
37260 2009-01-18  Simon Josefsson  <simon@josefsson.org>
37261
37262         * modules/filenamecat-tests (Depends-on): Add progname.
37263         * modules/fstrcmp-tests (Depends-on): Likewise.
37264
37265         * tests/test-filenamecat.c: Use progname module, to avoid link
37266         errors on non-glibc systems.
37267         * tests/test-fstrcmp.c: Likewise.
37268
37269 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
37270
37271         gettimeofday: avoid warning: nested extern declaration of 'localtime'
37272         * lib/gettimeofday.c: Move extern declaration out of function.
37273
37274 2009-01-18  Bruno Haible  <bruno@clisp.org>
37275
37276         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
37277         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
37278         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
37279
37280 2009-01-18  Bruno Haible  <bruno@clisp.org>
37281
37282         * lib/strftime.c (MEMPCPY): Remove unused macro.
37283         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
37284
37285 2009-01-18  Martin Lambers  <marlam@marlam.de>
37286
37287         New module 'link'.
37288         * lib/unistd.in.h (link): New declaration.
37289         * lib/link.c: New file.
37290         * m4/link.m4: New file.
37291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
37292         HAVE_LINK.
37293         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
37294         * modules/link: New file.
37295         * doc/posix-functions/link.texi: Mention the new module.
37296
37297 2009-01-18  Bruno Haible  <bruno@clisp.org>
37298
37299         * tests/test-avltree_list.c (main): Call set_program_name.
37300         * tests/test-avltree_oset.c (main): Likewise.
37301         * tests/test-obstack-printf.c: Include progname.h.
37302         (main): Call set_program_name.
37303         * tests/test-quotearg.c: Include progname.h.
37304         (main): Call set_program_name.
37305         * tests/test-xmemdup0.c: Include progname.h.
37306         (main): Call set_program_name.
37307
37308 2009-01-18  Bruno Haible  <bruno@clisp.org>
37309
37310         New module 'alphasort'.
37311         * lib/dirent.in.h (alphasort): New declaration.
37312         * lib/alphasort.c: New file, from glibc with modifications.
37313         * m4/alphasort.m4: New file.
37314         * modules/alphasort: New file.
37315         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
37316         HAVE_ALPHASORT.
37317         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
37318         HAVE_ALPHASORT.
37319         * doc/posix-functions/alphasort.texi: Mention the new module and the
37320         portability problems.
37321
37322 2009-01-18  Bruno Haible  <bruno@clisp.org>
37323
37324         New module 'scandir'.
37325         * lib/dirent.in.h (scandir): New declaration.
37326         * lib/scandir.c: New file, from glibc with modifications.
37327         * m4/scandir.m4: New file.
37328         * modules/scandir: New file.
37329         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
37330         HAVE_SCANDIR.
37331         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
37332         HAVE_SCANDIR.
37333         * doc/posix-functions/scandir.texi: Mention the new module and the
37334         portability problems.
37335
37336 2009-01-17  Bruno Haible  <bruno@clisp.org>
37337
37338         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
37339         Update documentation.
37340         (func_remove_suffix): Escape all dots in the suffix. Update
37341         documentation.
37342         (func_filter_filelist): Update documentation.
37343         Reported by Ralf Wildenhues.
37344
37345 2009-01-17  Bruno Haible  <bruno@clisp.org>
37346
37347         * modules/dprintf-posix-tests: New file.
37348         * tests/test-dprintf-posix.sh: New file.
37349         * tests/test-dprintf-posix.c: New file.
37350
37351         New modules 'dprintf', 'dprintf-posix'.
37352         * lib/stdio.in.h (dprintf): New declaration.
37353         * lib/dprintf.c: New file.
37354         * m4/dprintf.m4: New file.
37355         * m4/dprintf-posix.m4: New file.
37356         * modules/dprintf: New file.
37357         * modules/dprintf-posix: New file.
37358         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
37359         HAVE_DPRINTF, REPLACE_DPRINTF.
37360         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
37361         HAVE_DPRINTF, REPLACE_DPRINTF.
37362         * doc/posix-functions/dprintf.texi: Mention the new modules.
37363
37364 2009-01-17  Bruno Haible  <bruno@clisp.org>
37365
37366         * modules/vdprintf-posix-tests: New file.
37367         * tests/test-vdprintf-posix.sh: New file.
37368         * tests/test-vdprintf-posix.c: New file.
37369
37370         New modules 'vdprintf', 'vdprintf-posix'.
37371         * lib/stdio.in.h (vdprintf): New declaration.
37372         * lib/vdprintf.c: New file.
37373         * m4/vdprintf.m4: New file.
37374         * m4/vdprintf-posix.m4: New file.
37375         * modules/vdprintf: New file.
37376         * modules/vdprintf-posix: New file.
37377         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
37378         HAVE_VDPRINTF, REPLACE_VDPRINTF.
37379         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
37380         HAVE_VDPRINTF, REPLACE_VDPRINTF.
37381         * doc/posix-functions/vdprintf.texi: Mention the new modules.
37382
37383 2009-01-17  Bruno Haible  <bruno@clisp.org>
37384
37385         Fix replacement of fopen on mingw.
37386         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
37387         mingw.
37388
37389 2009-01-17  Bruno Haible  <bruno@clisp.org>
37390
37391         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
37392         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
37393
37394 2009-01-17  Bruno Haible  <bruno@clisp.org>
37395
37396         Avoid test-fflush2.sh failure on mingw.
37397         * tests/test-fflush2.c: Include binary-io.h.
37398         (main): Put standard input into binary mode.
37399         * modules/fflush-tests (Depends-on): Add binary-io.
37400
37401 2009-01-17  Bruno Haible  <bruno@clisp.org>
37402
37403         * lib/wchar.in.h: In another particular situation, include only the
37404         system's <wchar.h> file.
37405         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
37406         Reported by Albert Chin-A-Young <china@thewrittenword.com>
37407         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
37408
37409 2009-01-17  Bruno Haible  <bruno@clisp.org>
37410
37411         Support for stripping executables in --enable-relocatable.
37412         * build-aux/install-reloc: Expect one more argument, or an environment
37413         variable RELOC_STRIP_PROG. If set, strip the destination program and
37414         its wrapper.
37415         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
37416         RELOC_STRIP_PROG.
37417         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
37418         to set RELOCATABLE_STRIP.
37419         * NEWS: Mention the new Makefile requirement.
37420
37421 2009-01-17  Bruno Haible  <bruno@clisp.org>
37422
37423         * build-aux/install-reloc: Remove debugging information left over by
37424         C compiler on MacOS X.
37425
37426 2009-01-17  Bruno Haible  <bruno@clisp.org>
37427
37428         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
37429         * lib/progreloc.c (find_executable): Fix type of pointer passed to
37430         _NSGetExecutablePath.
37431
37432 2009-01-16  Jim Meyering  <meyering@redhat.com>
37433
37434         strerror: avoid warnings about discarding "const"
37435         * lib/strerror.c (rpl_strerror): Instead of returning a const
37436         string from each and every "case", use a variable, and add a single
37437         cast after the switch.
37438
37439 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
37440
37441         * lib/arpa_inet.in.h: Add extern "C" block for C++.
37442
37443 2009-01-16  Bruno Haible  <bruno@clisp.org>
37444
37445         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
37446         array initializer syntax that also works in C++ mode.
37447         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37448
37449 2009-01-16  Jim Meyering  <meyering@redhat.com>
37450
37451         poll: suppress a warning
37452         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
37453         to ignore "...unsigned expression < 0 is always false" warnings.
37454
37455 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
37456
37457         poll: remove declarations of unused variables
37458         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
37459         sockbuf and optlen.
37460
37461 2009-01-15  Bruno Haible  <bruno@clisp.org>
37462
37463         Make fflush-after-ungetc POSIX compliant on BSD systems.
37464         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
37465         (clear_ungetc_buffer): Implement also for other systems.
37466         (rpl_fflush): On glibc systems, invoke
37467         clear_ungetc_buffer_preserving_position. Otherwise, invoke
37468         clear_ungetc_buffer after fetching the stream's position, not before.
37469
37470 2009-01-15  Bruno Haible  <bruno@clisp.org>
37471
37472         Make fflush-after-ungetc POSIX compliant on glibc systems.
37473         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
37474         after ungetc.
37475         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
37476         (rpl_fflush): On glibc systems, simply call the system's fflush
37477         function after clearing the ungetc buffer.
37478         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
37479         Instead, lseek only to the end of file, then use the system's fseeko
37480         for the rest. On glibc systems, reset the EOF indicator bit.
37481
37482 2009-01-15  Jim Meyering  <meyering@redhat.com>
37483
37484         openmp.m4: revert quote-adding change, for portability to older autoconf
37485         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
37486         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
37487         Simon Josefsson noticed the problem when using autoconf-2.61.
37488
37489 2009-01-15  Bruno Haible  <bruno@clisp.org>
37490
37491         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
37492         * tests/test-fflush2.c (ASSERT): Always fail.
37493         (main): Add two tests for fflush() after ungetc(), taking into account
37494         the Austin Group's clarification.
37495         Suggested by Eric Blake.
37496
37497 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
37498
37499         mktime.m4: remove K&R-style function prototypes
37500         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
37501         for the Sun C++ compiler.
37502
37503 2009-01-14  Bruno Haible  <bruno@clisp.org>
37504
37505         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
37506         while including <wchar.h>.
37507         * lib/wchar.in.h: In two particular situations on HP-UX, include only
37508         the system's <wchar.h> file.
37509         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37510
37511 2009-01-14  Bruno Haible  <bruno@clisp.org>
37512
37513         * m4/csharp.m4: Don't mention gettext on the serial number line.
37514         * m4/csharpexec.m4: Likewise.
37515         * m4/eaccess.m4: Likewise.
37516         * m4/javaexec.m4: Likewise.
37517         * m4/sig_atomic_t.m4: Likewise.
37518         * m4/tmpdir.m4: Likewise.
37519         * m4/intldir.m4: Bump gettext version.
37520         * m4/lib-ld.m4: Likewise.
37521
37522 2009-01-14  Bruno Haible  <bruno@clisp.org>
37523
37524         * lib/progname.c (set_program_name): Add more comments.
37525         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
37526
37527 2009-01-14  Simon Josefsson  <simon@josefsson.org>
37528
37529         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
37530         were sys/stat.h does not define it.
37531
37532 2009-01-14  Jim Meyering  <meyering@redhat.com>
37533
37534         many *.m4 files: improve m4 quoting
37535         99% of this change was performed by running the following commands:
37536         git ls-files | grep '\.m4$' | xargs perl -pi \
37537           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
37538           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
37539           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
37540           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
37541         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
37542         The remainder were to add Copyright dates, increment serial numbers,
37543         undo some changes in comments, exclude m4/intl.m4, and add quotes
37544         around the "1" in ",1" where the unusual spacing prohibited the
37545         above regexps from doing the job.  For more details, see
37546         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
37547         * m4/acl.m4: Modified.
37548         * m4/afs.m4: Likewise.
37549         * m4/alloca.m4: Likewise.
37550         * m4/argp.m4: Likewise.
37551         * m4/argz.m4: Likewise.
37552         * m4/atexit.m4: Likewise.
37553         * m4/bison-i18n.m4: Likewise.
37554         * m4/bison.m4: Likewise.
37555         * m4/byteswap.m4: Likewise.
37556         * m4/c-stack.m4: Likewise.
37557         * m4/c-strtod.m4: Likewise.
37558         * m4/calloc.m4: Likewise.
37559         * m4/canonicalize-lgpl.m4: Likewise.
37560         * m4/chown.m4: Likewise.
37561         * m4/clock_time.m4: Likewise.
37562         * m4/codeset.m4: Likewise.
37563         * m4/copy-file.m4: Likewise.
37564         * m4/csharp.m4: Likewise.
37565         * m4/csharpcomp.m4: Likewise.
37566         * m4/csharpexec.m4: Likewise.
37567         * m4/d-ino.m4: Likewise.
37568         * m4/d-type.m4: Likewise.
37569         * m4/dirfd.m4: Likewise.
37570         * m4/double-slash-root.m4: Likewise.
37571         * m4/eaccess.m4: Likewise.
37572         * m4/eealloc.m4: Likewise.
37573         * m4/environ.m4: Likewise.
37574         * m4/errno_h.m4: Likewise.
37575         * m4/euidaccess.m4: Likewise.
37576         * m4/execute.m4: Likewise.
37577         * m4/fatal-signal.m4: Likewise.
37578         * m4/fchdir.m4: Likewise.
37579         * m4/fcntl_h.m4: Likewise.
37580         * m4/fileblocks.m4: Likewise.
37581         * m4/filenamecat.m4: Likewise.
37582         * m4/findprog.m4: Likewise.
37583         * m4/flexmember.m4: Likewise.
37584         * m4/fnmatch.m4: Likewise.
37585         * m4/fopen.m4: Likewise.
37586         * m4/fpending.m4: Likewise.
37587         * m4/fprintf-posix.m4: Likewise.
37588         * m4/free.m4: Likewise.
37589         * m4/frexp.m4: Likewise.
37590         * m4/frexpl.m4: Likewise.
37591         * m4/fsusage.m4: Likewise.
37592         * m4/ftruncate.m4: Likewise.
37593         * m4/gc-camellia.m4: Likewise.
37594         * m4/gc-random.m4: Likewise.
37595         * m4/gc.m4: Likewise.
37596         * m4/getaddrinfo.m4: Likewise.
37597         * m4/getcwd-abort-bug.m4: Likewise.
37598         * m4/getcwd-path-max.m4: Likewise.
37599         * m4/getdate.m4: Likewise.
37600         * m4/getdomainname.m4: Likewise.
37601         * m4/getgroups.m4: Likewise.
37602         * m4/gethostname.m4: Likewise.
37603         * m4/gethrxtime.m4: Likewise.
37604         * m4/getline.m4: Likewise.
37605         * m4/getloadavg.m4: Likewise.
37606         * m4/getndelim2.m4: Likewise.
37607         * m4/getpass.m4: Likewise.
37608         * m4/gettext.m4: Likewise.
37609         * m4/gettime.m4: Likewise.
37610         * m4/gettimeofday.m4: Likewise.
37611         * m4/gnulib-common.m4: Likewise.
37612         * m4/group-member.m4: Likewise.
37613         * m4/host-os.m4: Likewise.
37614         * m4/iconv.m4: Likewise.
37615         * m4/iconv_open.m4: Likewise.
37616         * m4/inet_ntop.m4: Likewise.
37617         * m4/inet_pton.m4: Likewise.
37618         * m4/inline.m4: Likewise.
37619         * m4/intldir.m4: Likewise.
37620         * m4/intlmacosx.m4: Likewise.
37621         * m4/intmax.m4: Likewise.
37622         * m4/intmax_t.m4: Likewise.
37623         * m4/inttypes.m4: Likewise.
37624         * m4/inttypes_h.m4: Likewise.
37625         * m4/inttypes-pri.m4: Likewise.
37626         * m4/isapipe.m4: Likewise.
37627         * m4/isnand.m4: Likewise.
37628         * m4/isnanf.m4: Likewise.
37629         * m4/isnanl.m4: Likewise.
37630         * m4/javacomp.m4: Likewise.
37631         * m4/javaexec.m4: Likewise.
37632         * m4/jm-winsz1.m4: Likewise.
37633         * m4/jm-winsz2.m4: Likewise.
37634         * m4/lchown.m4: Likewise.
37635         * m4/lcmessage.m4: Likewise.
37636         * m4/ldexpl.m4: Likewise.
37637         * m4/lib-ld.m4: Likewise.
37638         * m4/lib-link.m4: Likewise.
37639         * m4/libsigsegv.m4: Likewise.
37640         * m4/link-follow.m4: Likewise.
37641         * m4/localcharset.m4: Likewise.
37642         * m4/locale-fr.m4: Likewise.
37643         * m4/locale-ja.m4: Likewise.
37644         * m4/locale-tr.m4: Likewise.
37645         * m4/locale-zh.m4: Likewise.
37646         * m4/lock.m4: Likewise.
37647         * m4/longlong.m4: Likewise.
37648         * m4/ls-mntd-fs.m4: Likewise.
37649         * m4/lstat.m4: Likewise.
37650         * m4/malloc.m4: Likewise.
37651         * m4/mathl.m4: Likewise.
37652         * m4/mbrtowc.m4: Likewise.
37653         * m4/mbstate_t.m4: Likewise.
37654         * m4/mbswidth.m4: Likewise.
37655         * m4/memchr.m4: Likewise.
37656         * m4/memcmp.m4: Likewise.
37657         * m4/memcpy.m4: Likewise.
37658         * m4/memmem.m4: Likewise.
37659         * m4/memmove.m4: Likewise.
37660         * m4/mempcpy.m4: Likewise.
37661         * m4/memrchr.m4: Likewise.
37662         * m4/memset.m4: Likewise.
37663         * m4/minmax.m4: Likewise.
37664         * m4/mkdir-slash.m4: Likewise.
37665         * m4/mkdtemp.m4: Likewise.
37666         * m4/mktime.m4: Likewise.
37667         * m4/mmap-anon.m4: Likewise.
37668         * m4/mountlist.m4: Likewise.
37669         * m4/nanosleep.m4: Likewise.
37670         * m4/nls.m4: Likewise.
37671         * m4/nocrash.m4: Likewise.
37672         * m4/open.m4: Likewise.
37673         * m4/openat.m4: Likewise.
37674         * m4/openmp.m4: Likewise.
37675         * m4/pathmax.m4: Likewise.
37676         * m4/perl.m4: Likewise.
37677         * m4/physmem.m4: Likewise.
37678         * m4/pipe.m4: Likewise.
37679         * m4/po.m4: Likewise.
37680         * m4/poll.m4: Likewise.
37681         * m4/posixtm.m4: Likewise.
37682         * m4/posixver.m4: Likewise.
37683         * m4/printf-frexp.m4: Likewise.
37684         * m4/printf-frexpl.m4: Likewise.
37685         * m4/printf-posix.m4: Likewise.
37686         * m4/printf-posix-rpl.m4: Likewise.
37687         * m4/printf.m4: Likewise.
37688         * m4/progtest.m4: Likewise.
37689         * m4/putenv.m4: Likewise.
37690         * m4/readline.m4: Likewise.
37691         * m4/readlink.m4: Likewise.
37692         * m4/readutmp.m4: Likewise.
37693         * m4/realloc.m4: Likewise.
37694         * m4/regex.m4: Likewise.
37695         * m4/relocatable.m4: Likewise.
37696         * m4/relocatable-lib.m4: Likewise.
37697         * m4/rename-dest-slash.m4: Likewise.
37698         * m4/rename.m4: Likewise.
37699         * m4/rmdir-errno.m4: Likewise.
37700         * m4/rmdir.m4: Likewise.
37701         * m4/roundf.m4: Likewise.
37702         * m4/roundl.m4: Likewise.
37703         * m4/rpmatch.m4: Likewise.
37704         * m4/save-cwd.m4: Likewise.
37705         * m4/selinux-selinux-h.m4: Likewise.
37706         * m4/setenv.m4: Likewise.
37707         * m4/settime.m4: Likewise.
37708         * m4/sig2str.m4: Likewise.
37709         * m4/sig_atomic_t.m4: Likewise.
37710         * m4/signalblocking.m4: Likewise.
37711         * m4/signbit.m4: Likewise.
37712         * m4/sigpipe.m4: Likewise.
37713         * m4/sockets.m4: Likewise.
37714         * m4/sockpfaf.m4: Likewise.
37715         * m4/st_dm_mode.m4: Likewise.
37716         * m4/stat-time.m4: Likewise.
37717         * m4/stdbool.m4: Likewise.
37718         * m4/stdint.m4: Likewise.
37719         * m4/stdint_h.m4: Likewise.
37720         * m4/stpcpy.m4: Likewise.
37721         * m4/stpncpy.m4: Likewise.
37722         * m4/strcase.m4: Likewise.
37723         * m4/strchrnul.m4: Likewise.
37724         * m4/strcspn.m4: Likewise.
37725         * m4/strdup.m4: Likewise.
37726         * m4/strftime.m4: Likewise.
37727         * m4/strndup.m4: Likewise.
37728         * m4/strnlen.m4: Likewise.
37729         * m4/strpbrk.m4: Likewise.
37730         * m4/strptime.m4: Likewise.
37731         * m4/strsep.m4: Likewise.
37732         * m4/strtod.m4: Likewise.
37733         * m4/strtoimax.m4: Likewise.
37734         * m4/strtok_r.m4: Likewise.
37735         * m4/strtol.m4: Likewise.
37736         * m4/strtoll.m4: Likewise.
37737         * m4/strtoul.m4: Likewise.
37738         * m4/strtoull.m4: Likewise.
37739         * m4/strtoumax.m4: Likewise.
37740         * m4/strverscmp.m4: Likewise.
37741         * m4/threadlib.m4: Likewise.
37742         * m4/timegm.m4: Likewise.
37743         * m4/tm_gmtoff.m4: Likewise.
37744         * m4/tmpdir.m4: Likewise.
37745         * m4/tmpfile.m4: Likewise.
37746         * m4/tzset.m4: Likewise.
37747         * m4/uintmax_t.m4: Likewise.
37748         * m4/unlinkdir.m4: Likewise.
37749         * m4/unlocked-io.m4: Likewise.
37750         * m4/uptime.m4: Likewise.
37751         * m4/userspec.m4: Likewise.
37752         * m4/utimbuf.m4: Likewise.
37753         * m4/utime.m4: Likewise.
37754         * m4/utimes-null.m4: Likewise.
37755         * m4/utimes.m4: Likewise.
37756         * m4/vararrays.m4: Likewise.
37757         * m4/vasnprintf.m4: Likewise.
37758         * m4/vfprintf-posix.m4: Likewise.
37759         * m4/vprintf-posix.m4: Likewise.
37760         * m4/wait-process.m4: Likewise.
37761         * m4/wchar_t.m4: Likewise.
37762         * m4/wint_t.m4: Likewise.
37763         * m4/write-any-file.m4: Likewise.
37764         * m4/yield.m4: Likewise.
37765
37766 2009-01-13  Bruno Haible  <bruno@clisp.org>
37767
37768         Avoid test-copy-file.sh failures when ACL support insufficient.
37769         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
37770         TESTS_ENVIRONMENT.
37771         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
37772         Reported by Jim Meyering.
37773
37774 2009-01-13  Bruno Haible  <bruno@clisp.org>
37775
37776         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
37777         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
37778         * modules/unistdio/u8-printf-parse (Files): Likewise.
37779         * modules/unistdio/u32-printf-parse (Files): Likewise.
37780         * modules/unistdio/ulc-printf-parse (Files): Likewise.
37781
37782 2009-01-13  Simon Josefsson  <simon@josefsson.org>
37783
37784         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
37785         and m4/inttypes_h.m4 too.
37786
37787 2009-01-12  Eric Blake  <ebb9@byu.net>
37788
37789         tests: IRIX 6.2 cc can't compile -0.0 into .data
37790         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
37791         rather than at compile-time.
37792         * tests/test-floorl.c (minus_zero): Likewise.
37793         * tests/test-frexpl.c (minus_zero): Likewise.
37794         * tests/test-isnan.c (minus_zerol): Likewise.
37795         * tests/test-isnanl.h (minus_zero): Likewise.
37796         * tests/test-ldexpl.c (minus_zero): Likewise.
37797         * tests/test-roundl.c (minus_zero): Likewise.
37798         * tests/test-signbit.c (minus_zerol): Likewise.
37799         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
37800         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
37801         * tests/test-truncl.c (minus_zero): Likewise.
37802         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
37803         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
37804         Reported by Tom G. Christensen and Nelson H. F. Beebe.
37805
37806 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37807
37808         regex: fix glibc bug 9697
37809         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
37810         handling.
37811
37812 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37813
37814         regex: fix glibc bug 697
37815         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
37816         being NULL also if there are no backreferences.
37817
37818 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37819
37820         regex: merge glibc changes
37821         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
37822         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
37823         re_string_skip_chars, re_string_reconstruct): Likewise.
37824         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
37825
37826 2009-01-07  Jim Meyering  <meyering@redhat.com>
37827
37828         poll: filter through cppi
37829         * lib/poll.c: Indent cpp directives to reflect nesting.
37830
37831 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
37832
37833         poll: don't return uninitialized
37834         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
37835
37836 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
37837
37838         avoid compile failure on AIX 6.1
37839         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
37840         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
37841
37842 2009-01-04  Jim Meyering  <meyering@redhat.com>
37843
37844         remove duplicate inclusion of <stdio.h>
37845         * tests/test-fprintf-posix.c: Likewise.
37846         * tests/test-printf-posix.c: Likewise.
37847         * tests/test-snprintf-posix.c: Likewise.
37848         * tests/test-sprintf-posix.c: Likewise.
37849         * tests/test-vasprintf-posix.c: Likewise.
37850         * tests/test-vfprintf-posix.c: Likewise.
37851         * tests/test-vprintf-posix.c: Likewise.
37852         * tests/test-vsnprintf-posix.c: Likewise.
37853         * tests/test-vsprintf-posix.c: Likewise.
37854
37855 2009-01-03  Jim Meyering  <meyering@redhat.com>
37856
37857         gnulib-tool: fix sed-based filtering
37858         * gnulib-tool (func_filter_filelist): Remove extra backslash
37859         in sed_fff_filter definition.
37860
37861 2009-01-02  Jim Meyering  <meyering@redhat.com>
37862
37863         strftime: avoid compilation failure on Solaris 2.6
37864         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
37865         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
37866         Don't #define mbrlen or mbsinit, since now they're guaranteed to
37867         be available.  Reported by Tom G. Christensen.  Details in
37868         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
37869
37870 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37871             Bruno Haible  <bruno@clisp.org>
37872
37873         Speed up gnulib-tool by doing more string processing through shell
37874         built-ins.
37875         * gnulib-tool (fast_func_append): New variable.
37876         (func_remove_prefix, func_remove_suffix): New functions.
37877         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
37878         (func_filter_filelist): New function.
37879         (func_get_dependencies): Use func_remove_suffix instead of sed.
37880         (func_get_automake_snippet): Use func_filter_filelist instead of a
37881         subshell and sed invocation.
37882
37883 2009-01-01  Bruno Haible  <bruno@clisp.org>
37884
37885         Fix a security bug.
37886         * gnulib-tool (func_import, import, update): Don't allow the characters
37887         '"', '$', '`', '\' in macro arguments that become part of commands that
37888         are evaluated.
37889
37890 2009-01-01  Bruno Haible  <bruno@clisp.org>
37891
37892         * gnulib-tool (func_reset_sigpipe): Add more comments.
37893
37894 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37895
37896         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
37897         func_emit_tests_Makefile_am, func_import): Abort loops early if we
37898         already know the answer.
37899
37900 2009-01-01  Jim Meyering  <meyering@redhat.com>
37901
37902         * lib/version-etc.c (version_etc_va): Update copyright year.
37903
37904 2008-12-30  Bruno Haible  <bruno@clisp.org>
37905
37906         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
37907         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
37908         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
37909
37910 2008-12-29  Eric Blake  <ebb9@byu.net>
37911
37912         multiarch: avoid autoconf AC_REQUIRE bug
37913         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
37914         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
37915         2.63 and older.
37916         Reported by Bruno Haible, and analyzed in
37917         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
37918
37919 2008-12-29  Bruno Haible  <bruno@clisp.org>
37920
37921         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
37922         files in subdirectories correctly.
37923         Reported by Ralf Wildenhues.
37924
37925 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37926
37927         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
37928         rather than 'join FILE -', for Solaris join.
37929
37930 2008-12-29  Bruno Haible  <bruno@clisp.org>
37931
37932         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
37933         quoting.
37934         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
37935         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
37936         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
37937         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
37938         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
37939         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
37940         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
37941         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
37942         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
37943         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
37944         * m4/nls.m4 (AM_NLS): Likewise.
37945         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
37946         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
37947         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
37948         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
37949         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
37950         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
37951         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
37952         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
37953         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
37954         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
37955         * m4/xsize.m4 (gl_XSIZE): Likewise.
37956         Suggested by Jim Meyering.
37957
37958 2008-11-17  Bruce Korb  <bkorb@gnu.org>
37959
37960         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
37961         * lib/parse-duration.c: use a switch instead of cascading if's.
37962
37963 2008-12-29  Eric Blake  <ebb9@byu.net>
37964
37965         wchar.h: supply WEOF on Irix 5.3
37966         * lib/wchar.in.h (wint_t): Also supply WEOF.
37967         * lib/wctype.in.h (wint_t): Likewise.
37968         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
37969         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
37970         Reported by Tom G. Christensen.
37971
37972 2008-12-26  Bruno Haible  <bruno@clisp.org>
37973
37974         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
37975         i486, i586, i686.
37976
37977 2008-12-26  Bruno Haible  <bruno@clisp.org>
37978
37979         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
37980
37981 2008-12-26  Bruno Haible  <bruno@clisp.org>
37982
37983         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
37984         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
37985         not __STDC_CONSTANT_MACROS.
37986         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
37987
37988 2008-12-25  Bruno Haible  <bruno@clisp.org>
37989
37990         Add support for universal builds to vasnprintf.
37991         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
37992         universal builds, guess no.
37993         * modules/vasnprintf-posix (Depends-on): Add multiarch.
37994         * modules/vasprintf-posix (Depends-on): Likewise.
37995         * modules/fprintf-posix (Depends-on): Likewise.
37996         * modules/vfprintf-posix (Depends-on): Likewise.
37997         * modules/snprintf-posix (Depends-on): Likewise.
37998         * modules/vsnprintf-posix (Depends-on): Likewise.
37999         * modules/sprintf-posix (Depends-on): Likewise.
38000         * modules/vsprintf-posix (Depends-on): Likewise.
38001         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
38002         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38003         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38004         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38005         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38006         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38007         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38008
38009         Add support for universal builds to <inttypes.h>.
38010         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
38011         _SCNu64_PREFIX): In Apple
38012         universal builds, define directly, using _LP64.
38013         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
38014         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
38015         * modules/inttypes (Depends-on): Add multiarch.
38016         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
38017
38018         Add support for universal builds to <stdint.h>.
38019         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
38020         universal builds, define directly, using _LP64.
38021         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
38022         Apple universal builds, don't test for the size and suffix of ptrdiff_t
38023         and size_t.
38024         * modules/stdint (Depends-on): Add multiarch.
38025         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
38026
38027         New module 'multiarch'.
38028         * modules/multiarch: New file.
38029         * m4/multiarch.m4: New file.
38030
38031 2008-12-25  Bruno Haible  <bruno@clisp.org>
38032
38033         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
38034
38035 2008-12-25  Bruno Haible  <bruno@clisp.org>
38036
38037         * modules/btowc (License): Relicense under LGPLv2+.
38038         * modules/mbsinit (License): Likewise.
38039         * modules/mbrtowc (License): Likewise.
38040         * modules/wcrtomb (License): Likewise.
38041         * modules/streq (License): Likewise.
38042         Reported by David Lutterkort <lutter@redhat.com>.
38043
38044 2008-12-23  Bruno Haible  <bruno@clisp.org>
38045
38046         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
38047
38048 2008-12-23  Bruno Haible  <bruno@clisp.org>
38049
38050         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
38051         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
38052         GETADDRINFO_LIB, not in LIBS.
38053         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
38054         * modules/canon-host (Link): Likewise.
38055         * NEWS: Mention the change.
38056         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
38057         GETADDRINFO_LIB.
38058
38059 2008-12-22  Bruno Haible  <bruno@clisp.org>
38060
38061         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
38062         * doc/posix-functions/iswalpha_l.texi: Likewise.
38063         * doc/posix-functions/iswblank_l.texi: Likewise.
38064         * doc/posix-functions/iswcntrl_l.texi: Likewise.
38065         * doc/posix-functions/iswctype_l.texi: Likewise.
38066         * doc/posix-functions/iswdigit_l.texi: Likewise.
38067         * doc/posix-functions/iswgraph_l.texi: Likewise.
38068         * doc/posix-functions/iswlower_l.texi: Likewise.
38069         * doc/posix-functions/iswprint_l.texi: Likewise.
38070         * doc/posix-functions/iswpunct_l.texi: Likewise.
38071         * doc/posix-functions/iswspace_l.texi: Likewise.
38072         * doc/posix-functions/iswupper_l.texi: Likewise.
38073         * doc/posix-functions/iswxdigit_l.texi: Likewise.
38074         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
38075         * doc/posix-functions/open_wmemstream.texi: Likewise.
38076         * doc/posix-functions/swscanf.texi: Likewise.
38077         * doc/posix-functions/towctrans_l.texi: Likewise.
38078         * doc/posix-functions/towlower.texi: Likewise.
38079         * doc/posix-functions/towlower_l.texi: Likewise.
38080         * doc/posix-functions/towupper.texi: Likewise.
38081         * doc/posix-functions/towupper_l.texi: Likewise.
38082         * doc/posix-functions/vfwprintf.texi: Likewise.
38083         * doc/posix-functions/vfwscanf.texi: Likewise.
38084         * doc/posix-functions/vswscanf.texi: Likewise.
38085         * doc/posix-functions/vwprintf.texi: Likewise.
38086         * doc/posix-functions/vwscanf.texi: Likewise.
38087         * doc/posix-functions/wcpcpy.texi: Likewise.
38088         * doc/posix-functions/wcpncpy.texi: Likewise.
38089         * doc/posix-functions/wcscasecmp.texi: Likewise.
38090         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
38091         * doc/posix-functions/wcscoll_l.texi: Likewise.
38092         * doc/posix-functions/wcsdup.texi: Likewise.
38093         * doc/posix-functions/wcsncasecmp.texi: Likewise.
38094         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
38095         * doc/posix-functions/wcsnlen.texi: Likewise.
38096         * doc/posix-functions/wcsnrtombs.texi: Likewise.
38097         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
38098         * doc/posix-functions/wctrans_l.texi: Likewise.
38099         * doc/posix-functions/wctype_l.texi: Likewise.
38100         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
38101         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
38102         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
38103         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
38104         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
38105         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
38106         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
38107         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
38108         * doc/glibc-functions/wcschrnul.texi: Likewise.
38109         * doc/glibc-functions/wcsftime_l.texi: Likewise.
38110         * doc/glibc-functions/wcstod_l.texi: Likewise.
38111         * doc/glibc-functions/wcstof_l.texi: Likewise.
38112         * doc/glibc-functions/wcstol_l.texi: Likewise.
38113         * doc/glibc-functions/wcstold_l.texi: Likewise.
38114         * doc/glibc-functions/wcstoll_l.texi: Likewise.
38115         * doc/glibc-functions/wcstoq.texi: Likewise.
38116         * doc/glibc-functions/wcstoul_l.texi: Likewise.
38117         * doc/glibc-functions/wcstoull_l.texi: Likewise.
38118         * doc/glibc-functions/wcstouq.texi: Likewise.
38119         * doc/glibc-functions/wmempcpy.texi: Likewise.
38120
38121 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
38122             Eric Blake  <ebb9@byu.net>
38123             Paolo Bonzini  <bonzini@gnu.org>
38124             Bruno Haible  <bruno@clisp.org>
38125
38126         Make c-stack work on Haiku.
38127         * lib/c-stack.c (SA_ONSTACK): Define fallback.
38128         (c_stack_action): Use SA_ONSTACK flag.
38129
38130 2008-12-22  Bruno Haible  <bruno@clisp.org>
38131
38132         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
38133
38134 2008-12-22  Bruno Haible  <bruno@clisp.org>
38135
38136         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
38137         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
38138         being overridden.
38139         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
38140         New macros.
38141         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
38142         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
38143         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
38144         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
38145
38146 2008-12-22  Bruno Haible  <bruno@clisp.org>
38147
38148         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
38149         from test code.
38150
38151 2008-12-22  Eric Blake  <ebb9@byu.net>
38152
38153         Avoid gcc warnings on cygwin.
38154         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
38155         Avoid unused variable.
38156         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
38157         Likewise.
38158
38159 2008-12-22  Bruno Haible  <bruno@clisp.org>
38160
38161         Remove HAVE_MBRTOWC conditionals.
38162         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
38163         (mbscasecmp): Assume mbrtowc function.
38164         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
38165         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
38166         * lib/mbschr.c: Include mbuiter.h unconditionally.
38167         (mbschr): Assume mbrtowc function.
38168         * lib/mbscspn.c: Include mbuiter.h unconditionally.
38169         (mbscspn): Assume mbrtowc function.
38170         * lib/mbslen.c: Include mbuiter.h unconditionally.
38171         (mbslen): Assume mbrtowc function.
38172         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
38173         (mbsncasecmp): Assume mbrtowc function.
38174         * lib/mbsnlen.c: Include mbiter.h unconditionally.
38175         (mbsnlen): Assume mbrtowc function.
38176         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
38177         (mbspbrk): Assume mbrtowc function.
38178         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
38179         (mbspcasecmp): Assume mbrtowc function.
38180         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
38181         (mbsrchr): Assume mbrtowc function.
38182         * lib/mbssep.c: Include mbuiter.h unconditionally.
38183         (mbssep): Assume mbrtowc function.
38184         * lib/mbsspn.c: Include mbuiter.h unconditionally.
38185         (mbsspn): Assume mbrtowc function.
38186         * lib/mbsstr.c: Include mbuiter.h unconditionally.
38187         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
38188         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
38189         (mbstok_r): Assume mbrtowc function.
38190         * lib/propername.c: Include mbuiter.h unconditionally.
38191         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
38192         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
38193         (trim2): Assume mbrtowc function.
38194         * lib/mbswidth.c (mbsinit): Remove fallback definition.
38195         (mbsnwidth): Assume mbrtowc function.
38196         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
38197         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
38198         fallback definitions.
38199         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
38200
38201 2008-12-22  Bruno Haible  <bruno@clisp.org>
38202
38203         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
38204
38205 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
38206
38207         * modules/regex: Request emulations for the mb*/wc* functions we need.
38208         * m4/regex.m4: Don't look for those functions here.
38209         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
38210
38211 2008-12-22  Bruno Haible  <bruno@clisp.org>
38212
38213         * modules/fnmatch (Depends-on): Remove duplicated dependency.
38214
38215 2008-12-21  Bruno Haible  <bruno@clisp.org>
38216
38217         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
38218         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
38219         (Include): Remove conditionalization.
38220         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
38221         (Include): Remove conditionalization.
38222         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
38223         (Include): Remove conditionalization.
38224         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
38225         * m4/mbfile.m4 (gl_MBFILE): Likewise.
38226         * NEWS: Mention the change.
38227         Reported by Alan Hourihane <alanh@fairlite.co.uk>
38228         via Sergey Poznyakoff <gray@gnu.org.ua>.
38229
38230 2008-12-21  Bruno Haible  <bruno@clisp.org>
38231
38232         * MODULES.html.sh (Extended multibyte and wide character utilities
38233         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
38234         wcrtomb, wcsrtombs.
38235         (Support for systems lacking POSIX:2008): Add accept, bind, close,
38236         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
38237         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
38238         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
38239
38240 2008-12-21  Bruno Haible  <bruno@clisp.org>
38241
38242         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
38243
38244 2008-12-21  Bruno Haible  <bruno@clisp.org>
38245
38246         * modules/wcsnrtombs-tests: New file.
38247         * tests/test-wcsnrtombs1.sh: New file.
38248         * tests/test-wcsnrtombs2.sh: New file.
38249         * tests/test-wcsnrtombs3.sh: New file.
38250         * tests/test-wcsnrtombs4.sh: New file.
38251         * tests/test-wcsnrtombs.c: New file.
38252
38253         New module 'wcsnrtombs'.
38254         * lib/wchar.in.h (wcsnrtombs): New declaration.
38255         * lib/wcsnrtombs.c: New file.
38256         * lib/wcsrtombs-state.c: New file.
38257         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
38258         (internal_state): Remove variable.
38259         * m4/wcsnrtombs.m4: New file.
38260         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
38261         compilation units.
38262         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
38263         HAVE_WCSNRTOMBS.
38264         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
38265         HAVE_WCSNRTOMBS.
38266         * modules/wcsnrtombs: New file.
38267         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
38268         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
38269
38270 2008-12-21  Bruno Haible  <bruno@clisp.org>
38271
38272         * modules/wcsrtombs-tests: New file.
38273         * tests/test-wcsrtombs1.sh: New file.
38274         * tests/test-wcsrtombs2.sh: New file.
38275         * tests/test-wcsrtombs3.sh: New file.
38276         * tests/test-wcsrtombs4.sh: New file.
38277         * tests/test-wcsrtombs.c: New file.
38278
38279         New module 'wcsrtombs'.
38280         * lib/wchar.in.h (wcsrtombs): New declaration.
38281         * lib/wcsrtombs.c: New file.
38282         * m4/wcsrtombs.m4: New file.
38283         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
38284         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
38285         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
38286         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
38287         * modules/wcsrtombs: New file.
38288         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
38289         bugs.
38290
38291 2008-12-21  Bruno Haible  <bruno@clisp.org>
38292
38293         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
38294         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
38295         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
38296         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
38297         if not correct.
38298         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
38299         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
38300         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38301         m4/locale-zh.m4, m4/codeset.m4.
38302         * doc/posix-functions/wcrtomb.texi: Document the bug.
38303
38304 2008-12-21  Bruno Haible  <bruno@clisp.org>
38305
38306         Work around a btowc() bug on IRIX 6.5.
38307         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
38308         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
38309         REPLACE_WTOBC if not.
38310         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
38311         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
38312         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
38313
38314 2008-12-21  Bruno Haible  <bruno@clisp.org>
38315
38316         * modules/wcrtomb-tests: New file.
38317         * tests/test-wcrtomb.sh: New file.
38318         * tests/test-wcrtomb.c: New file.
38319
38320         New module 'wcrtomb'.
38321         * lib/wchar.in.h (wcrtomb): New declaration.
38322         * lib/wcrtomb.c: New file.
38323         * m4/wcrtomb.m4: New file.
38324         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
38325         HAVE_WCRTOMB.
38326         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
38327         HAVE_WCRTOMB.
38328         * modules/wcrtomb: New file.
38329         * doc/posix-functions/wcrtomb.texi: Mention the new module.
38330
38331 2008-12-21  Bruno Haible  <bruno@clisp.org>
38332
38333         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
38334         * modules/mbsrtowcs (Files): Likewise.
38335         * modules/wctob (Files): Likewise.
38336         * modules/c-strcase-tests (Files): Likewise.
38337         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
38338         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
38339         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
38340         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
38341         * modules/vasnprintf-posix-tests (Files): Likewise.
38342
38343 2008-12-21  William Pursell  <bill.pursell@gmail.com>
38344
38345         gitlog-to-changelog: pass all command-line arguments to git-log
38346         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
38347         it is sometimes convenient to filter the commits in various ways.
38348         gitlog-to-changelog only allows --since to specify a start date,
38349         but git-log itself supports many other filtering mechanisms.
38350         At the moment, I want to filter by branch name.  Rather than
38351         adding a --branch option to gitlog-to-changelog, it seems more
38352         flexible to simply pass all options directly to git-log and let
38353         git do the work.  Notice that this effectively makes --since a
38354         redundant option for gitlog-to-changelog, but removing it would
38355         require current usage to change since calls would then require
38356         an additional '--'.
38357
38358 2008-12-21  Bruno Haible  <bruno@clisp.org>
38359
38360         * modules/mbsnrtowcs-tests: New file.
38361         * tests/test-mbsnrtowcs1.sh: New file.
38362         * tests/test-mbsnrtowcs2.sh: New file.
38363         * tests/test-mbsnrtowcs3.sh: New file.
38364         * tests/test-mbsnrtowcs4.sh: New file.
38365         * tests/test-mbsnrtowcs.c: New file.
38366
38367         New module 'mbsnrtowcs'.
38368         * lib/wchar.in.h (mbsnrtowcs): New declaration.
38369         * lib/mbsnrtowcs.c: New file.
38370         * lib/mbsrtowcs-state.c: New file.
38371         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
38372         (internal_state): Remove variable.
38373         * m4/mbsnrtowcs.m4: New file.
38374         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
38375         compilation units.
38376         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
38377         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
38378         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
38379         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
38380         * modules/mbsnrtowcs: New file.
38381         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
38382         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
38383         portability problem.
38384
38385 2008-12-21  Bruno Haible  <bruno@clisp.org>
38386
38387         Work around mbsrtowcs bug.
38388         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
38389         (gl_FUNC_MBSRTOWCS): Invoke it.
38390         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38391         m4/locale-zh.m4.
38392         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
38393
38394 2008-12-21  Bruno Haible  <bruno@clisp.org>
38395
38396         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
38397
38398 2008-12-21  Bruno Haible  <bruno@clisp.org>
38399
38400         Update doc for AIX.
38401         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
38402         16-bit wchar_t type.
38403         * doc/posix-functions/btowc.texi: Likewise.
38404         * doc/posix-functions/fgetwc.texi: Likewise.
38405         * doc/posix-functions/fgetws.texi: Likewise.
38406         * doc/posix-functions/fputwc.texi: Likewise.
38407         * doc/posix-functions/fputws.texi: Likewise.
38408         * doc/posix-functions/fwide.texi: Likewise.
38409         * doc/posix-functions/fwprintf.texi: Likewise.
38410         * doc/posix-functions/fwscanf.texi: Likewise.
38411         * doc/posix-functions/getwchar.texi: Likewise.
38412         * doc/posix-functions/getwc.texi: Likewise.
38413         * doc/posix-functions/iswalnum.texi: Likewise.
38414         * doc/posix-functions/iswalpha.texi: Likewise.
38415         * doc/posix-functions/iswblank.texi: Likewise.
38416         * doc/posix-functions/iswcntrl.texi: Likewise.
38417         * doc/posix-functions/iswctype.texi: Likewise.
38418         * doc/posix-functions/iswdigit.texi: Likewise.
38419         * doc/posix-functions/iswgraph.texi: Likewise.
38420         * doc/posix-functions/iswlower.texi: Likewise.
38421         * doc/posix-functions/iswprint.texi: Likewise.
38422         * doc/posix-functions/iswpunct.texi: Likewise.
38423         * doc/posix-functions/iswspace.texi: Likewise.
38424         * doc/posix-functions/iswupper.texi: Likewise.
38425         * doc/posix-functions/iswxdigit.texi: Likewise.
38426         * doc/posix-functions/mbrtowc.texi: Likewise.
38427         * doc/posix-functions/mbsrtowcs.texi: Likewise.
38428         * doc/posix-functions/mbstowcs.texi: Likewise.
38429         * doc/posix-functions/mbtowc.texi: Likewise.
38430         * doc/posix-functions/putwchar.texi: Likewise.
38431         * doc/posix-functions/putwc.texi: Likewise.
38432         * doc/posix-functions/swprintf.texi: Likewise.
38433         * doc/posix-functions/tolower.texi: Likewise.
38434         * doc/posix-functions/toupper.texi: Likewise.
38435         * doc/posix-functions/towctrans.texi: Likewise.
38436         * doc/posix-functions/ungetwc.texi: Likewise.
38437         * doc/posix-functions/vswprintf.texi: Likewise.
38438         * doc/posix-functions/wcrtomb.texi: Likewise.
38439         * doc/posix-functions/wcscat.texi: Likewise.
38440         * doc/posix-functions/wcschr.texi: Likewise.
38441         * doc/posix-functions/wcscmp.texi: Likewise.
38442         * doc/posix-functions/wcscoll.texi: Likewise.
38443         * doc/posix-functions/wcscpy.texi: Likewise.
38444         * doc/posix-functions/wcscspn.texi: Likewise.
38445         * doc/posix-functions/wcsftime.texi: Likewise.
38446         * doc/posix-functions/wcslen.texi: Likewise.
38447         * doc/posix-functions/wcsncat.texi: Likewise.
38448         * doc/posix-functions/wcsncmp.texi: Likewise.
38449         * doc/posix-functions/wcsncpy.texi: Likewise.
38450         * doc/posix-functions/wcspbrk.texi: Likewise.
38451         * doc/posix-functions/wcsrchr.texi: Likewise.
38452         * doc/posix-functions/wcsrtombs.texi: Likewise.
38453         * doc/posix-functions/wcsspn.texi: Likewise.
38454         * doc/posix-functions/wcsstr.texi: Likewise.
38455         * doc/posix-functions/wcstod.texi: Likewise.
38456         * doc/posix-functions/wcstof.texi: Likewise.
38457         * doc/posix-functions/wcstoimax.texi: Likewise.
38458         * doc/posix-functions/wcstok.texi: Likewise.
38459         * doc/posix-functions/wcstold.texi: Likewise.
38460         * doc/posix-functions/wcstoll.texi: Likewise.
38461         * doc/posix-functions/wcstol.texi: Likewise.
38462         * doc/posix-functions/wcstombs.texi: Likewise.
38463         * doc/posix-functions/wcstoull.texi: Likewise.
38464         * doc/posix-functions/wcstoul.texi: Likewise.
38465         * doc/posix-functions/wcstoumax.texi: Likewise.
38466         * doc/posix-functions/wcswidth.texi: Likewise.
38467         * doc/posix-functions/wcsxfrm.texi: Likewise.
38468         * doc/posix-functions/wctob.texi: Likewise.
38469         * doc/posix-functions/wctomb.texi: Likewise.
38470         * doc/posix-functions/wctrans.texi: Likewise.
38471         * doc/posix-functions/wctype.texi: Likewise.
38472         * doc/posix-functions/wcwidth.texi: Likewise.
38473         * doc/posix-functions/wmemchr.texi: Likewise.
38474         * doc/posix-functions/wmemcmp.texi: Likewise.
38475         * doc/posix-functions/wmemcpy.texi: Likewise.
38476         * doc/posix-functions/wmemmove.texi: Likewise.
38477         * doc/posix-functions/wmemset.texi: Likewise.
38478         * doc/posix-functions/wprintf.texi: Likewise.
38479         * doc/posix-functions/wscanf.texi: Likewise.
38480
38481 2008-12-21  Bruno Haible  <bruno@clisp.org>
38482
38483         Update doc for HP-UX 11.11.
38484         * doc/posix-functions/btowc.texi: Clarify that the function is missing
38485         in HP-UX version 11.00, not in all versions of HP-UX 11.
38486         * doc/posix-functions/fwide.texi: Likewise.
38487         * doc/posix-functions/fwprintf.texi: Likewise.
38488         * doc/posix-functions/fwscanf.texi: Likewise.
38489         * doc/posix-functions/inet_ntop.texi: Likewise.
38490         * doc/posix-functions/inet_pton.texi: Likewise.
38491         * doc/posix-functions/mbrlen.texi: Likewise.
38492         * doc/posix-functions/mbrtowc.texi: Likewise.
38493         * doc/posix-functions/mbsinit.texi: Likewise.
38494         * doc/posix-functions/mbsrtowcs.texi: Likewise.
38495         * doc/posix-functions/swprintf.texi: Likewise.
38496         * doc/posix-functions/swscanf.texi: Likewise.
38497         * doc/posix-functions/towctrans.texi: Likewise.
38498         * doc/posix-functions/vfwprintf.texi: Likewise.
38499         * doc/posix-functions/vswprintf.texi: Likewise.
38500         * doc/posix-functions/vwprintf.texi: Likewise.
38501         * doc/posix-functions/wcrtomb.texi: Likewise.
38502         * doc/posix-functions/wcsrtombs.texi: Likewise.
38503         * doc/posix-functions/wcsstr.texi: Likewise.
38504         * doc/posix-functions/wctob.texi: Likewise.
38505         * doc/posix-functions/wctrans.texi: Likewise.
38506         * doc/posix-functions/wmemchr.texi: Likewise.
38507         * doc/posix-functions/wmemcmp.texi: Likewise.
38508         * doc/posix-functions/wmemcpy.texi: Likewise.
38509         * doc/posix-functions/wmemmove.texi: Likewise.
38510         * doc/posix-functions/wmemset.texi: Likewise.
38511         * doc/posix-functions/wprintf.texi: Likewise.
38512         * doc/posix-functions/wscanf.texi: Likewise.
38513
38514 2008-12-21  Bruno Haible  <bruno@clisp.org>
38515
38516         Work around a portability problem.
38517         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
38518         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
38519
38520 2008-12-20  Bruno Haible  <bruno@clisp.org>
38521
38522         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
38523         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
38524         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
38525         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
38526         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
38527
38528         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
38529         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
38530         set.
38531         (GNULIB_defined_mbstate_t): New macro.
38532         (mbsinit): Redefine if REPLACE_MBSINIT is set.
38533         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
38534         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
38535         reuses the system's mbrtowc function but works around the bugs.
38536         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
38537         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
38538         macros.
38539         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
38540         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
38541         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
38542         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
38543         REPLACE_MBSINIT if mbsinit needs to be overridden.
38544         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
38545         REPLACE_MBSINIT, REPLACE_MBRTOWC.
38546         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
38547         REPLACE_MBSINIT, REPLACE_MBRTOWC.
38548         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38549         m4/locale-zh.m4.
38550         (Depends): Add mbsinit.
38551         * modules/mbsinit (Depends): Add mbrtowc.
38552         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
38553
38554 2008-12-20  Bruno Haible  <bruno@clisp.org>
38555
38556         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
38557         so that there are no conversion errors on AIX.
38558         * tests/test-mbsrtowcs.c (main): LIkewise.
38559
38560 2008-12-20  Bruno Haible  <bruno@clisp.org>
38561
38562         Work around wctob bug on Solaris <= 9.
38563         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
38564         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
38565         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
38566         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
38567         * modules/wctob (Files): Add m4/locale-fr.m4.
38568         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
38569
38570 2008-12-20  Bruno Haible  <bruno@clisp.org>
38571
38572         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
38573         /dev/null.
38574         * tests/test-select-in.sh: Likewise.
38575         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38576
38577 2008-12-20  Bruno Haible  <bruno@clisp.org>
38578
38579         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
38580         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
38581         Cygwin 1.5.x.
38582
38583 2008-12-20  Bruno Haible  <bruno@clisp.org>
38584
38585         Ensure mbstate_t is defined on HP-UX 11.11.
38586         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
38587         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
38588         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
38589         AC_USE_SYSTEM_EXTENSIONS.
38590         * modules/fnmatch (Depends-on): Add extensions.
38591         * modules/mbrlen (Depends-on): Likewise.
38592         * modules/mbrtowc (Depends-on): Likewise.
38593         * modules/mbsinit (Depends-on): Likewise.
38594         * modules/mbsrtowcs (Depends-on): Likewise.
38595         * modules/mbswidth (Depends-on): Likewise.
38596         * modules/quotearg (Depends-on): Likewise.
38597         * modules/strftime (Depends-on): Likewise.
38598
38599 2008-12-20  Bruno Haible  <bruno@clisp.org>
38600
38601         Ensure wctob is declared on IRIX 6.5.
38602         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
38603         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
38604         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
38605         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
38606         of HAVE_WCTOB.
38607         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
38608         HAVE_WCTOB.
38609         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
38610
38611 2008-12-19  Bruno Haible  <bruno@clisp.org>
38612
38613         * modules/mbsrtowcs-tests: New file.
38614         * tests/test-mbsrtowcs1.sh: New file.
38615         * tests/test-mbsrtowcs2.sh: New file.
38616         * tests/test-mbsrtowcs3.sh: New file.
38617         * tests/test-mbsrtowcs4.sh: New file.
38618         * tests/test-mbsrtowcs.c: New file.
38619
38620         New module 'mbsrtowcs'.
38621         * lib/wchar.in.h (mbsrtowcs): New declaration.
38622         * lib/mbsrtowcs.c: New file.
38623         * m4/mbsrtowcs.m4: New file.
38624         * modules/mbsrtowcs: New file.
38625         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
38626         HAVE_MBSRTOWCS.
38627         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
38628         HAVE_MBSRTOWCS.
38629         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
38630
38631 2008-12-19  Bruno Haible  <bruno@clisp.org>
38632
38633         New module 'mbrlen'.
38634         * lib/wchar.in.h (mbrlen): New declaration.
38635         * lib/mbrlen.c: New file.
38636         * m4/mbrlen.m4: New file.
38637         * modules/mbrlen: New file.
38638         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
38639         HAVE_MBRLEN.
38640         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
38641         HAVE_MBRLEN.
38642         * doc/posix-functions/mbrlen.texi: Document the new module.
38643
38644 2008-12-19  Bruno Haible  <bruno@clisp.org>
38645
38646         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
38647         * modules/mbrtowc (Depends-on): Add verify.
38648         Suggested by Paul Eggert.
38649
38650 2008-12-18  Bruno Haible  <bruno@clisp.org>
38651
38652         * modules/mbsinit-tests: New file.
38653         * tests/test-mbsinit.sh: New file.
38654         * tests/test-mbsinit.c: New file.
38655
38656 2008-12-18  Bruno Haible  <bruno@clisp.org>
38657
38658         * modules/mbrtowc-tests: New file.
38659         * tests/test-mbrtowc1.sh: New file.
38660         * tests/test-mbrtowc2.sh: New file.
38661         * tests/test-mbrtowc3.sh: New file.
38662         * tests/test-mbrtowc4.sh: New file.
38663         * tests/test-mbrtowc.c: New file.
38664
38665         New module 'mbrtowc'.
38666         * lib/wchar.in.h (mbstate_t): Override when the system does not have
38667         mbsinit and mbrtowc.
38668         (mbrtowc): New declaration.
38669         * lib/mbrtowc.c: New file.
38670         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
38671         * modules/mbrtowc: New file.
38672         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
38673         HAVE_MBRTOWC.
38674         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
38675         HAVE_MBRTOWC.
38676         * doc/posix-functions/mbrtowc.texi: Document the new module.
38677
38678 2008-12-18  Bruno Haible  <bruno@clisp.org>
38679
38680         New module 'wctob'.
38681         * lib/wchar.in.h (wctob): New declaration.
38682         * lib/wctob.c: New file.
38683         * m4/wctob.m4: New file.
38684         * modules/wctob: New file.
38685         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
38686         HAVE_WCTOB.
38687         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
38688         * doc/posix-functions/wctob.texi: Document the new module.
38689
38690 2008-12-18  Bruno Haible  <bruno@clisp.org>
38691
38692         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
38693         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
38694
38695 2008-12-18  Simon Josefsson  <simon@josefsson.org>
38696
38697         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
38698         G. Christensen" <tgc@jupiterrise.com>.
38699
38700         * lib/flock.c: Need to include errno.h.  Reported by "Tom
38701         G. Christensen" <tgc@jupiterrise.com>.
38702
38703         * lib/flock.c: Need to include string.h.  Reported by "Tom
38704         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
38705         <ebb9@byu.net>.
38706
38707 2008-12-18  Bruno Haible  <bruno@clisp.org>
38708
38709         * m4/locale-ja.m4: New file, from GNU gettext.
38710
38711 2008-12-17  Bruno Haible  <bruno@clisp.org>
38712
38713         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
38714         Suggested by Eric Blake.
38715
38716 2008-12-17  Bruno Haible  <bruno@clisp.org>
38717
38718         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
38719
38720 2008-12-17  Bruno Haible  <bruno@clisp.org>
38721
38722         * lib/mbsinit.c: Include verify.h. Verify an assumption.
38723         * modules/mbsinit (Depends-on): Add verify.
38724         Suggested by Paul Eggert.
38725
38726 2008-12-17  Bruno Haible  <bruno@clisp.org>
38727
38728         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
38729         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
38730         gl_FUNC_MBRTOWC.
38731         * m4/mbiter.m4 (gl_MBITER): LIkewise.
38732         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
38733         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
38734         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
38735         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
38736         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
38737         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
38738         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
38739         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
38740         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
38741         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
38742         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
38743         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
38744         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
38745         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
38746         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38747         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
38748         * modules/trim (configure.ac): Likewise.
38749
38750 2008-12-17  Bruno Haible  <bruno@clisp.org>
38751
38752         * modules/btowc-tests: New file.
38753         * tests/test-btowc1.sh: New file.
38754         * tests/test-btowc2.sh: New file.
38755         * tests/test-btowc.c: New file.
38756
38757         New module 'btowc'.
38758         * lib/wchar.in.h (btowc): New declaration.
38759         * lib/btowc.c: New file.
38760         * m4/btowc.m4: New file.
38761         * modules/btowc: New file.
38762         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
38763         HAVE_BTOWC.
38764         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
38765         * doc/posix-functions/btowc.texi: Document the new module.
38766
38767 2008-12-17  Bruno Haible  <bruno@clisp.org>
38768
38769         New module 'mbsinit'.
38770         * lib/wchar.in.h (mbsinit): New declaration.
38771         * lib/mbsinit.c: New file.
38772         * m4/mbsinit.m4: New file.
38773         * modules/mbsinit: New file.
38774         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
38775         HAVE_MBSINIT.
38776         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
38777         HAVE_MBSINIT.
38778         * doc/posix-functions/mbsinit.texi: Document the new module.
38779
38780 2008-12-16  Bruno Haible  <bruno@clisp.org>
38781
38782         * lib/unistd.in.h: Add comment.
38783         * tests/test-environ.c: Don't include <stdlib.h>.
38784
38785 2008-12-16  Bruno Haible  <bruno@clisp.org>
38786
38787         * lib/parse-duration.h (parse_duration): Document return value
38788         convention.
38789         * lib/parse-duration.c: Include specification header first. Add
38790         comments.
38791         (_): Remove macro.
38792         (parse_year_month_day, parse_hour_minute_second): Move side effects
38793         outside of strchr call.
38794         (parse_non_iso8601): Move side effects outside of isspace call.
38795         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
38796         call.
38797
38798 2008-12-16  Bruno Haible  <bruno@clisp.org>
38799
38800         * tests/test-parse-duration.sh: Produce no output when the test
38801         succeeds.
38802
38803 2008-12-16  Bruno Haible  <bruno@clisp.org>
38804
38805         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
38806         expressions.
38807
38808 2008-12-15  Bruno Haible  <bruno@clisp.org>
38809
38810         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
38811         * doc/glibc-functions/flistxattr.texi: Likewise.
38812         * doc/glibc-functions/fopencookie.texi: Likewise.
38813         * doc/glibc-functions/fremovexattr.texi: Likewise.
38814         * doc/glibc-functions/fsetxattr.texi: Likewise.
38815         * doc/glibc-functions/getxattr.texi: Likewise.
38816         * doc/glibc-functions/lgetxattr.texi: Likewise.
38817         * doc/glibc-functions/listxattr.texi: Likewise.
38818         * doc/glibc-functions/llistxattr.texi: Likewise.
38819         * doc/glibc-functions/lremovexattr.texi: Likewise.
38820         * doc/glibc-functions/lsetxattr.texi: Likewise.
38821         * doc/glibc-functions/removexattr.texi: Likewise.
38822         * doc/glibc-functions/setxattr.texi: Likewise.
38823         * doc/posix-functions/open_memstream.texi: Likewise.
38824
38825 2008-12-15  Eric Blake  <ebb9@byu.net>
38826
38827         Update doc for cygwin 1.7.
38828         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
38829         functions.
38830         * doc/posix-functions/fchmodat.texi: Likewise.
38831         * doc/posix-functions/fchownat.texi: Likewise.
38832         * doc/posix-functions/fdopendir.texi: Likewise.
38833         * doc/posix-functions/fmemopen.texi: Likewise.
38834         * doc/posix-functions/freeaddrinfo.texi: Likewise.
38835         * doc/posix-functions/fstatat.texi: Likewise.
38836         * doc/posix-functions/futimens.texi: Likewise.
38837         * doc/posix-functions/gai_strerror.texi: Likewise.
38838         * doc/posix-functions/getaddrinfo.texi: Likewise.
38839         * doc/posix-functions/getnameinfo.texi: Likewise.
38840         * doc/posix-functions/if_freenameindex.texi: Likewise.
38841         * doc/posix-functions/if_indextoname.texi: Likewise.
38842         * doc/posix-functions/if_nameindex.texi: Likewise.
38843         * doc/posix-functions/if_nametoindex.texi: Likewise.
38844         * doc/posix-functions/insque.texi: Likewise.
38845         * doc/posix-functions/linkat.texi: Likewise.
38846         * doc/posix-functions/llrint.texi: Likewise.
38847         * doc/posix-functions/llrintf.texi: Likewise.
38848         * doc/posix-functions/llrintl.texi: Likewise.
38849         * doc/posix-functions/lockf.texi: Likewise.
38850         * doc/posix-functions/lrintl.texi: Likewise.
38851         * doc/posix-functions/mkdirat.texi: Likewise.
38852         * doc/posix-functions/mkfifoat.texi: Likewise.
38853         * doc/posix-functions/mknodat.texi: Likewise.
38854         * doc/posix-functions/mq_close.texi: Likewise.
38855         * doc/posix-functions/mq_getattr.texi: Likewise.
38856         * doc/posix-functions/mq_notify.texi: Likewise.
38857         * doc/posix-functions/mq_open.texi: Likewise.
38858         * doc/posix-functions/mq_receive.texi: Likewise.
38859         * doc/posix-functions/mq_send.texi: Likewise.
38860         * doc/posix-functions/mq_setattr.texi: Likewise.
38861         * doc/posix-functions/mq_timedreceive.texi: Likewise.
38862         * doc/posix-functions/mq_timedsend.texi: Likewise.
38863         * doc/posix-functions/mq_unlink.texi: Likewise.
38864         * doc/posix-functions/open_memstream.texi: Likewise.
38865         * doc/posix-functions/openat.texi: Likewise.
38866         * doc/posix-functions/posix_fadvise.texi: Likewise.
38867         * doc/posix-functions/posix_fallocate.texi: Likewise.
38868         * doc/posix-functions/posix_madvise.texi: Likewise.
38869         * doc/posix-functions/posix_memalign.texi: Likewise.
38870         * doc/posix-functions/posix_openpt.texi: Likewise.
38871         * doc/posix-functions/readlinkat.texi: Likewise.
38872         * doc/posix-functions/remque.texi: Likewise.
38873         * doc/posix-functions/renameat.texi: Likewise.
38874         * doc/posix-functions/rintl.texi: Likewise.
38875         * doc/posix-functions/sem_unlink.texi: Likewise.
38876         * doc/posix-functions/shm_open.texi: Likewise.
38877         * doc/posix-functions/shm_unlink.texi: Likewise.
38878         * doc/posix-functions/signgam.texi: Likewise.
38879         * doc/posix-functions/sigset.texi: Likewise.
38880         * doc/posix-functions/stpcpy.texi: Likewise.
38881         * doc/posix-functions/stpncpy.texi: Likewise.
38882         * doc/posix-functions/strerror.texi: Likewise.
38883         * doc/posix-functions/strtod.texi: Likewise.
38884         * doc/posix-functions/symlinkat.texi: Likewise.
38885         * doc/posix-functions/unlinkat.texi: Likewise.
38886         * doc/posix-functions/utimensat.texi: Likewise.
38887         * doc/glibc-functions/bindresvport.texi: Likewise.
38888         * doc/glibc-functions/dn_expand.texi: Likewise.
38889         * doc/glibc-functions/exp10.texi: Likewise.
38890         * doc/glibc-functions/exp10f.texi: Likewise.
38891         * doc/glibc-functions/fgetxattr.texi: Likewise.
38892         * doc/glibc-functions/flistxattr.texi: Likewise.
38893         * doc/glibc-functions/fopencookie.texi: Likewise.
38894         * doc/glibc-functions/freeifaddrs.texi: Likewise.
38895         * doc/glibc-functions/fremovexattr.texi: Likewise.
38896         * doc/glibc-functions/fsetxattr.texi: Likewise.
38897         * doc/glibc-functions/getifaddrs.texi: Likewise.
38898         * doc/glibc-functions/getxattr.texi: Likewise.
38899         * doc/glibc-functions/lgetxattr.texi: Likewise.
38900         * doc/glibc-functions/listxattr.texi: Likewise.
38901         * doc/glibc-functions/llistxattr.texi: Likewise.
38902         * doc/glibc-functions/lremovexattr.texi: Likewise.
38903         * doc/glibc-functions/lsetxattr.texi: Likewise.
38904         * doc/glibc-functions/pow10.texi: Likewise.
38905         * doc/glibc-functions/pow10f.texi: Likewise.
38906         * doc/glibc-functions/rcmd_af.texi: Likewise.
38907         * doc/glibc-functions/removexattr.texi: Likewise.
38908         * doc/glibc-functions/res_init.texi: Likewise.
38909         * doc/glibc-functions/res_mkquery.texi: Likewise.
38910         * doc/glibc-functions/res_query.texi: Likewise.
38911         * doc/glibc-functions/res_querydomain.texi: Likewise.
38912         * doc/glibc-functions/res_send.texi: Likewise.
38913         * doc/glibc-functions/rresvport_af.texi: Likewise.
38914         * doc/glibc-functions/setxattr.texi: Likewise.
38915         * doc/glibc-functions/strcasestr.texi: Likewise.
38916
38917 2008-12-15  Bruno Haible  <bruno@clisp.org>
38918
38919         Fix compilation error on OSF/1 4.0.
38920         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
38921         <sys/time.h>, simply delegate to the system header.
38922         Reported by Daniel Richard G. <oss@teragram.com>.
38923
38924 2008-12-15  Bruno Haible  <bruno@clisp.org>
38925
38926         * doc/posix-functions/openat.texi: Mention the 'openat' module.
38927         * doc/posix-functions/fchmodat.texi: Likewise.
38928         * doc/posix-functions/fchownat.texi: Likewise.
38929         * doc/posix-functions/fdopendir.texi: Likewise.
38930         * doc/posix-functions/fstatat.texi: Likewise.
38931         * doc/posix-functions/mkdirat.texi: Likewise.
38932         * doc/posix-functions/unlinkat.texi: Likewise.
38933
38934 2008-12-14  Bruno Haible  <bruno@clisp.org>
38935
38936         Update doc for POSIX:2008.
38937         * doc/posix-functions/faccessat.texi: New file.
38938         * doc/posix-functions/fchmodat.texi: New file.
38939         * doc/posix-functions/fchownat.texi: New file.
38940         * doc/posix-functions/fdopendir.texi: New file.
38941         * doc/posix-functions/fstatat.texi: New file.
38942         * doc/posix-functions/futimens.texi: New file.
38943         * doc/posix-functions/linkat.texi: New file.
38944         * doc/posix-functions/mkdirat.texi: New file.
38945         * doc/posix-functions/mkfifoat.texi: New file.
38946         * doc/posix-functions/mknodat.texi: New file.
38947         * doc/posix-functions/open_wmemstream.texi: New file.
38948         * doc/posix-functions/openat.texi: New file.
38949         * doc/posix-functions/psiginfo.texi: New file.
38950         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
38951         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
38952         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
38953         * doc/posix-functions/readlinkat.texi: New file.
38954         * doc/posix-functions/renameat.texi: New file.
38955         * doc/posix-functions/strerror_l.texi: New file.
38956         * doc/posix-functions/symlinkat.texi: New file.
38957         * doc/posix-functions/unlinkat.texi: New file.
38958         * doc/posix-functions/utimensat.texi: New file.
38959         * doc/gnulib.texi (Function Substitutes): Add these subsections.
38960
38961 2008-12-14  Bruno Haible  <bruno@clisp.org>
38962
38963         Update doc for POSIX:2008.
38964         * doc/posix-functions/alphasort.texi: Renamed from
38965         doc/glibc-functions/alphasort.texi.
38966         * doc/posix-functions/dirfd.texi: Renamed from
38967         doc/glibc-functions/dirfd.texi.
38968         * doc/posix-functions/dprintf.texi: Renamed from
38969         doc/glibc-functions/dprintf.texi.
38970         * doc/posix-functions/duplocale.texi: Renamed from
38971         doc/glibc-functions/duplocale.texi.
38972         * doc/posix-functions/fexecve.texi: Renamed from
38973         doc/glibc-functions/fexecve.texi.
38974         * doc/posix-functions/fmemopen.texi: Renamed from
38975         doc/glibc-functions/fmemopen.texi.
38976         * doc/posix-functions/freelocale.texi: Renamed from
38977         doc/glibc-functions/freelocale.texi.
38978         * doc/posix-functions/getdate_err.texi: Renamed from
38979         doc/glibc-functions/getdate_err.texi.
38980         * doc/posix-functions/isalnum_l.texi: Renamed from
38981         doc/glibc-functions/isalnum_l.texi.
38982         * doc/posix-functions/isalpha_l.texi: Renamed from
38983         doc/glibc-functions/isalpha_l.texi.
38984         * doc/posix-functions/isblank_l.texi: Renamed from
38985         doc/glibc-functions/isblank_l.texi.
38986         * doc/posix-functions/iscntrl_l.texi: Renamed from
38987         doc/glibc-functions/iscntrl_l.texi.
38988         * doc/posix-functions/isdigit_l.texi: Renamed from
38989         doc/glibc-functions/isdigit_l.texi.
38990         * doc/posix-functions/isgraph_l.texi: Renamed from
38991         doc/glibc-functions/isgraph_l.texi.
38992         * doc/posix-functions/islower_l.texi: Renamed from
38993         doc/glibc-functions/islower_l.texi.
38994         * doc/posix-functions/isprint_l.texi: Renamed from
38995         doc/glibc-functions/isprint_l.texi.
38996         * doc/posix-functions/ispunct_l.texi: Renamed from
38997         doc/glibc-functions/ispunct_l.texi.
38998         * doc/posix-functions/isspace_l.texi: Renamed from
38999         doc/glibc-functions/isspace_l.texi.
39000         * doc/posix-functions/isupper_l.texi: Renamed from
39001         doc/glibc-functions/isupper_l.texi.
39002         * doc/posix-functions/iswalnum_l.texi: Renamed from
39003         doc/glibc-functions/iswalnum_l.texi.
39004         * doc/posix-functions/iswalpha_l.texi: Renamed from
39005         doc/glibc-functions/iswalpha_l.texi.
39006         * doc/posix-functions/iswblank_l.texi: Renamed from
39007         doc/glibc-functions/iswblank_l.texi.
39008         * doc/posix-functions/iswcntrl_l.texi: Renamed from
39009         doc/glibc-functions/iswcntrl_l.texi.
39010         * doc/posix-functions/iswctype_l.texi: Renamed from
39011         doc/glibc-functions/iswctype_l.texi.
39012         * doc/posix-functions/iswdigit_l.texi: Renamed from
39013         doc/glibc-functions/iswdigit_l.texi.
39014         * doc/posix-functions/iswgraph_l.texi: Renamed from
39015         doc/glibc-functions/iswgraph_l.texi.
39016         * doc/posix-functions/iswlower_l.texi: Renamed from
39017         doc/glibc-functions/iswlower_l.texi.
39018         * doc/posix-functions/iswprint_l.texi: Renamed from
39019         doc/glibc-functions/iswprint_l.texi.
39020         * doc/posix-functions/iswpunct_l.texi: Renamed from
39021         doc/glibc-functions/iswpunct_l.texi.
39022         * doc/posix-functions/iswspace_l.texi: Renamed from
39023         doc/glibc-functions/iswspace_l.texi.
39024         * doc/posix-functions/iswupper_l.texi: Renamed from
39025         doc/glibc-functions/iswupper_l.texi.
39026         * doc/posix-functions/iswxdigit_l.texi: Renamed from
39027         doc/glibc-functions/iswxdigit_l.texi.
39028         * doc/posix-functions/isxdigit_l.texi: Renamed from
39029         doc/glibc-functions/isxdigit_l.texi.
39030         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
39031         doc/glibc-functions/mbsnrtowcs.texi.
39032         * doc/posix-functions/mkdtemp.texi: Renamed from
39033         doc/glibc-functions/mkdtemp.texi.
39034         * doc/posix-functions/newlocale.texi: Renamed from
39035         doc/glibc-functions/newlocale.texi.
39036         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
39037         doc/glibc-functions/nl_langinfo_l.texi.
39038         * doc/posix-functions/open_memstream.texi: Renamed from
39039         doc/glibc-functions/open_memstream.texi.
39040         * doc/posix-functions/opterr.texi: Renamed from
39041         doc/glibc-functions/opterr.texi.
39042         * doc/posix-functions/optind.texi: Renamed from
39043         doc/glibc-functions/optind.texi.
39044         * doc/posix-functions/optopt.texi: Renamed from
39045         doc/glibc-functions/optopt.texi.
39046         * doc/posix-functions/psignal.texi: Renamed from
39047         doc/glibc-functions/psignal.texi.
39048         * doc/posix-functions/scandir.texi: Renamed from
39049         doc/glibc-functions/scandir.texi.
39050         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
39051         doc/glibc-functions/sched_get_priority_min.texi.
39052         * doc/posix-functions/signgam.texi: Renamed from
39053         doc/glibc-functions/signgam.texi.
39054         * doc/posix-functions/stpcpy.texi: Renamed from
39055         doc/glibc-functions/stpcpy.texi.
39056         * doc/posix-functions/stpncpy.texi: Renamed from
39057         doc/glibc-functions/stpncpy.texi.
39058         * doc/posix-functions/strcasecmp_l.texi: Renamed from
39059         doc/glibc-functions/strcasecmp_l.texi.
39060         * doc/posix-functions/strcoll_l.texi: Renamed from
39061         doc/glibc-functions/strcoll_l.texi.
39062         * doc/posix-functions/strfmon_l.texi: Renamed from
39063         doc/glibc-functions/strfmon_l.texi.
39064         * doc/posix-functions/strftime_l.texi: Renamed from
39065         doc/glibc-functions/strftime_l.texi.
39066         * doc/posix-functions/strncasecmp_l.texi: Renamed from
39067         doc/glibc-functions/strncasecmp_l.texi.
39068         * doc/posix-functions/strndup.texi: Renamed from
39069         doc/glibc-functions/strndup.texi.
39070         * doc/posix-functions/strnlen.texi: Renamed from
39071         doc/glibc-functions/strnlen.texi.
39072         * doc/posix-functions/strsignal.texi: Renamed from
39073         doc/glibc-functions/strsignal.texi.
39074         * doc/posix-functions/strxfrm_l.texi: Renamed from
39075         doc/glibc-functions/strxfrm_l.texi.
39076         * doc/posix-functions/timer_gettime.texi: Renamed from
39077         doc/glibc-functions/timer_gettime.texi.
39078         * doc/posix-functions/tolower_l.texi: Renamed from
39079         doc/glibc-functions/tolower_l.texi.
39080         * doc/posix-functions/toupper_l.texi: Renamed from
39081         doc/glibc-functions/toupper_l.texi.
39082         * doc/posix-functions/towctrans_l.texi: Renamed from
39083         doc/glibc-functions/towctrans_l.texi.
39084         * doc/posix-functions/towlower_l.texi: Renamed from
39085         doc/glibc-functions/towlower_l.texi.
39086         * doc/posix-functions/towupper_l.texi: Renamed from
39087         doc/glibc-functions/towupper_l.texi.
39088         * doc/posix-functions/uselocale.texi: Renamed from
39089         doc/glibc-functions/uselocale.texi.
39090         * doc/posix-functions/vdprintf.texi: Renamed from
39091         doc/glibc-functions/vdprintf.texi.
39092         * doc/posix-functions/wcpcpy.texi:
39093         Renamed from doc/glibc-functions/wcpcpy.texi.
39094         * doc/posix-functions/wcpncpy.texi: Renamed from
39095         doc/glibc-functions/wcpncpy.texi.
39096         * doc/posix-functions/wcscasecmp.texi: Renamed from
39097         doc/glibc-functions/wcscasecmp.texi.
39098         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
39099         doc/glibc-functions/wcscasecmp_l.texi.
39100         * doc/posix-functions/wcscoll_l.texi: Renamed from
39101         doc/glibc-functions/wcscoll_l.texi.
39102         * doc/posix-functions/wcsdup.texi: Renamed from
39103         doc/glibc-functions/wcsdup.texi.
39104         * doc/posix-functions/wcsncasecmp.texi: Renamed from
39105         doc/glibc-functions/wcsncasecmp.texi.
39106         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
39107         doc/glibc-functions/wcsncasecmp_l.texi.
39108         * doc/posix-functions/wcsnlen.texi: Renamed from
39109         doc/glibc-functions/wcsnlen.texi.
39110         * doc/posix-functions/wcsnrtombs.texi: Renamed from
39111         doc/glibc-functions/wcsnrtombs.texi.
39112         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
39113         doc/glibc-functions/wcsxfrm_l.texi.
39114         * doc/posix-functions/wctrans_l.texi: Renamed from
39115         doc/glibc-functions/wctrans_l.texi.
39116         * doc/posix-functions/wctype_l.texi: Renamed from
39117         doc/glibc-functions/wctype_l.texi.
39118         * doc/gnulib.texi (Function Substitutes): Add these subsections.
39119         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
39120         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
39121         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
39122         these subsections.
39123         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
39124         Remove sections.
39125
39126 2008-12-14  Bruno Haible  <bruno@clisp.org>
39127
39128         Update doc for POSIX:2008.
39129         * doc/posix-functions/*.texi: Update URL of POSIX specification.
39130
39131 2008-12-14  Bruno Haible  <bruno@clisp.org>
39132
39133         Update doc for POSIX:2008.
39134         * doc/pastposix-functions/bcmp.texi: Renamed from
39135         doc/posix-functions/bcmp.texi.
39136         * doc/pastposix-functions/bcopy.texi: Renamed from
39137         doc/posix-functions/bcopy.texi.
39138         * doc/pastposix-functions/bsd_signal.texi: Renamed from
39139         doc/posix-functions/bsd_signal.texi.
39140         * doc/pastposix-functions/bzero.texi: Renamed from
39141         doc/posix-functions/bzero.texi.
39142         * doc/pastposix-functions/ecvt.texi: Renamed from
39143         doc/posix-functions/ecvt.texi.
39144         * doc/pastposix-functions/fcvt.texi: Renamed from
39145         doc/posix-functions/fcvt.texi.
39146         * doc/pastposix-functions/ftime.texi: Renamed from
39147         doc/posix-functions/ftime.texi.
39148         * doc/pastposix-functions/gcvt.texi: Renamed from
39149         doc/posix-functions/gcvt.texi.
39150         * doc/pastposix-functions/getcontext.texi: Renamed from
39151         doc/posix-functions/getcontext.texi.
39152         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
39153         doc/posix-functions/gethostbyaddr.texi.
39154         * doc/pastposix-functions/gethostbyname.texi: Renamed from
39155         doc/posix-functions/gethostbyname.texi.
39156         * doc/pastposix-functions/getwd.texi: Renamed from
39157         doc/posix-functions/getwd.texi.
39158         * doc/pastposix-functions/h_errno.texi: Renamed from
39159         doc/posix-functions/h_errno.texi.
39160         * doc/pastposix-functions/index.texi: Renamed from
39161         doc/posix-functions/index.texi.
39162         * doc/pastposix-functions/makecontext.texi: Renamed from
39163         doc/posix-functions/makecontext.texi.
39164         * doc/pastposix-functions/mktemp.texi: Renamed from
39165         doc/posix-functions/mktemp.texi.
39166         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
39167         doc/posix-functions/pthread_attr_getstackaddr.texi.
39168         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
39169         doc/posix-functions/pthread_attr_setstackaddr.texi.
39170         * doc/pastposix-functions/rindex.texi: Renamed from
39171         doc/posix-functions/rindex.texi.
39172         * doc/pastposix-functions/scalb.texi: Renamed from
39173         doc/posix-functions/scalb.texi.
39174         * doc/pastposix-functions/setcontext.texi: Renamed from
39175         doc/posix-functions/setcontext.texi.
39176         * doc/pastposix-functions/swapcontext.texi: Renamed from
39177         doc/posix-functions/swapcontext.texi.
39178         * doc/pastposix-functions/ualarm.texi: Renamed from
39179         doc/posix-functions/ualarm.texi.
39180         * doc/pastposix-functions/usleep.texi: Renamed from
39181         doc/posix-functions/usleep.texi.
39182         * doc/pastposix-functions/vfork.texi: Renamed from
39183         doc/posix-functions/vfork.texi.
39184         * doc/pastposix-functions/wcswcs.texi: Renamed from
39185         doc/posix-functions/wcswcs.texi.
39186         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
39187         (Function Substitutes): Update.
39188
39189 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39190
39191         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
39192         m4/strerror.m4.
39193
39194 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39195             Bruno Haible  <bruno@clisp.org>
39196
39197         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
39198
39199 2008-12-13  Bruno Haible  <bruno@clisp.org>
39200
39201         * modules/strtoull (Depends-on): Remove unistd.
39202
39203 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39204
39205         * modules/strtoull (Depends-on): Add stdlib.
39206
39207 2008-12-11  Simon Josefsson  <simon@josefsson.org>
39208
39209         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
39210
39211 2008-12-10  Jim Meyering  <meyering@redhat.com>
39212
39213         gl_ASSERT: don't say assertions are disabled when they're not
39214         * m4/assert.m4 (gl_ASSERT): Do not make configure report
39215         "checking whether to enable assertions... no", when they are in
39216         fact enabled.  This is solely a bug in the output of configure.
39217         In spite of saying "no", NDEBUG was not defined in that case.
39218         Also, as noted by Eric Blake, leave assertions enabled upon
39219         --enable-assert=INVALID.
39220
39221 2008-12-10  Bruno Haible  <bruno@clisp.org>
39222
39223         Change MODULES.html to refer to POSIX:2008 where possible.
39224         * MODULES.html.sh (POSIX2008_URL): New variable.
39225         (posix_headers): Remove sys/timeb, ucontext.
39226         (posix2001_headers): New variable.
39227         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
39228         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
39229         index, makecontext, mktemp, pthread_attr_getstackaddr,
39230         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
39231         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
39232         (posix2001_functions): New variable.
39233         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
39234         otherwise.
39235
39236 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39237
39238         add missing include to parse-duration.c
39239         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
39240         * modules/parse-duration (Depends-on): Add xalloc.
39241
39242         fix sed script reading maint.mk
39243         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
39244         (syntax-check-rules): Use it.
39245
39246 2008-12-09  Bruno Haible  <bruno@clisp.org>
39247
39248         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
39249         MacOS X 10.4/PowerPC.
39250         Reported by Simon Josefsson.
39251
39252 2008-12-08  Jim Meyering  <meyering@redhat.com>
39253
39254         work around mingw's lack of some S_IF definitions
39255         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
39256         Reported by Simon Josefsson.
39257
39258 2008-12-08  Bruno Haible  <bruno@clisp.org>
39259
39260         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
39261         applied to variables. Needed on MacOS X 10.4/PowerPC.
39262         Reported by Simon Josefsson.
39263
39264 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
39265         and Eric Blake  <ebb9@byu.net>
39266
39267         assert: honor --enable-assert
39268         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
39269         order to honor --enable-assert, rather than treating it as a
39270         synonym for --disable-assert.
39271
39272 2008-12-08  Jim Meyering  <meyering@redhat.com>
39273
39274         * lib/posixtm.c: Remove now-useless declaration of mktime.
39275
39276         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
39277
39278 2008-12-07  Bruno Haible  <bruno@clisp.org>
39279
39280         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
39281         test_once): Mark functions as static.
39282         * tests/test-tls.c (test_tls): Likewise.
39283
39284 2008-12-07  Bruno Haible  <bruno@clisp.org>
39285
39286         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
39287         iconv_register_autodetect.
39288
39289 2008-12-07  Jim Meyering  <meyering@redhat.com>
39290
39291         posixtm.c: avoid a warning
39292         * lib/posixtm.c (posixtime): Don't initialize tm0.
39293         It's no longer needed to placate gcc4's -Wuninitialized,
39294         and the attempt to placate would elicit a new warning.
39295
39296         unicodeio.c: mark unused parameters
39297         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
39298         (fallback_failure_callback): Likewise.
39299
39300 2008-12-07  Bruno Haible  <bruno@clisp.org>
39301
39302         * gnulib-tool (func_create_testdir): When building the tests
39303         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
39304         Reported by Simon Josefsson.
39305
39306 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39307
39308         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
39309
39310 2008-12-06  Bruno Haible  <bruno@clisp.org>
39311
39312         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
39313         Suggested by Eric Blake.
39314
39315 2008-12-06  Bruno Haible  <bruno@clisp.org>
39316
39317         Fix a c-stack test failure on MacOS X.
39318         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
39319         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
39320         handler for SIGBUS as well.
39321         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
39322         install a signal handler for SIGBUS as well.
39323         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
39324
39325 2008-12-06  Bruno Haible  <bruno@clisp.org>
39326
39327         Advocacy documentation.
39328         * doc/gnulib-intro.texi (Benefits): New section.
39329         * doc/gnulib.texi: Update.
39330
39331 2008-12-06  Bruno Haible  <bruno@clisp.org>
39332
39333         Document the 'manywarnings' module.
39334         * doc/manywarnings.texi: New file.
39335         * doc/gnulib.texi: Include it.
39336
39337 2008-12-05  Eric Blake  <ebb9@byu.net>
39338
39339         tests: silence some gcc warnings
39340         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
39341         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
39342         type mismatches.
39343
39344 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39345             Bruno Haible  <bruno@clisp.org>
39346
39347         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
39348
39349 2008-11-29  Jim Meyering  <meyering@redhat.com>
39350
39351         unicodeio.c: mark unused parameters
39352         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
39353         (fallback_failure_callback): Likewise.
39354
39355         fts: fix a thinko
39356         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
39357         (set_stat_type): Return S_IF*-valued "type" directly.
39358         Prompted by James Youngman's spotting a related bug.
39359         Confirmed by further testing through find.
39360
39361         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
39362         * lib/fts.c (D_TYPE): Define.
39363         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
39364         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
39365         (s_ifmt_shift_bits): New function.
39366         (set_stat_type): New function.
39367         (fts_build): When not calling fts_stat, call set_stat_type
39368         to propagate dirent.d_type info to fts_read caller.
39369         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
39370         fts_statp->st_mode type information may be valid.
39371
39372 2008-11-28  Simon Josefsson  <simon@josefsson.org>
39373
39374         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
39375         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
39376         <sds@gnu.org>.
39377
39378 2008-11-20  Bruno Haible  <bruno@clisp.org>
39379
39380         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
39381         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
39382         INCLUDE_NEXT.
39383         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
39384         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
39385         * modules/math (Makefile.am): Substitute
39386         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
39387         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39388
39389 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
39390             Bruno Haible  <bruno@clisp.org>
39391
39392         * lib/stdint.in.h: Define all type macros so that their expansion is
39393         a single typedef'ed token. Fixes a compilation failure in Boost which
39394         does "using ::int8_t;".
39395
39396 2008-11-18  Simon Josefsson  <simon@josefsson.org>
39397
39398         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
39399         gl_MANYWARN_ALL_GCC.
39400         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
39401         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
39402         * modules/manywarnings: New file.
39403         * MODULES.html.sh: Mention manywarnings module.
39404
39405 2008-11-18  Bruno Haible  <bruno@clisp.org>
39406
39407         * doc/gnulib-tool.texi (Unit tests): New section.
39408
39409 2008-11-18  Simon Josefsson  <simon@josefsson.org>
39410
39411         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
39412         paths like 'lib/po/foo.po'.
39413
39414 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39415
39416         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
39417         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
39418
39419 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39420
39421         * m4/warnings.m4: Use CPPFLAGS to really check whether the
39422         parameter works.
39423
39424 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39425
39426         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
39427
39428 2008-11-17  Bruce Korb  <bkorb@gnu.org>
39429
39430         * modules/parse-duration-tests: New file.
39431         * tests/test-parse-duration.sh: New file.
39432         * tests/test-parse-duration.c: New file.
39433
39434         New module 'parse-duration'.
39435         * lib/parse-duration.h: New file.
39436         * lib/parse-duration.c: New file.
39437         * modules/parse-duration: New file.
39438
39439 2008-11-17  Bruno Haible  <bruno@clisp.org>
39440
39441         * tests/test-select-out.sh: Comment out the first pipe test.
39442         Reported by Simon Josefsson.
39443
39444 2008-11-17  Bruno Haible  <bruno@clisp.org>
39445
39446         * modules/getaddrinfo (Depends-on): Add servent, hostent.
39447         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
39448         gl_HOSTENT.
39449
39450 2008-11-17  Bruno Haible  <bruno@clisp.org>
39451
39452         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
39453         -lnetwork and -lnet. Needed for Haiku and BeOS.
39454
39455 2008-11-16  Bruno Haible  <bruno@clisp.org>
39456
39457         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
39458
39459 2008-11-16  Bruno Haible  <bruno@clisp.org>
39460
39461         Avoid test failure on Haiku.
39462         * tests/test-fsync.c: Include <errno.h>.
39463         (main): Don't require that fsync (0) fails.
39464
39465 2008-11-15  Bruno Haible  <bruno@clisp.org>
39466
39467         New module 'hostent'.
39468         * modules/hostent: New file.
39469         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
39470
39471 2008-11-15  Bruno Haible  <bruno@clisp.org>
39472
39473         New module 'servent'.
39474         * modules/servent: New file.
39475         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
39476
39477 2008-11-15  Bruno Haible  <bruno@clisp.org>
39478
39479         Avoid generating same test program with two different rules.
39480         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
39481         test-frexp to test-frexp-nolibm.
39482         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
39483         test-frexpl to test-frexpl-nolibm.
39484
39485 2008-11-15  Bruno Haible  <bruno@clisp.org>
39486
39487         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
39488         $(FREXPL_LIBM).
39489
39490 2008-11-15  Bruno Haible  <bruno@clisp.org>
39491
39492         * lib/netdb.in.h: Activate the definitions also when the system's
39493         <netdb.h> has 'struct addrinfo'.
39494         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
39495         EAI_OVERFLOW or AI_NUMERICSERV.
39496         * doc/posix-headers/netdb.texi: Document the problem.
39497
39498 2008-11-15  Bruno Haible  <bruno@clisp.org>
39499
39500         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
39501
39502         Make the 'sched' module work on platforms where <sched.h> exists but
39503         is incomplete (such as Haiku).
39504         * lib/sched.in.h; Include the system's <sched.h> if it exists.
39505         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
39506         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
39507         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
39508         HAVE_STRUCT_SCHED_PARAM.
39509         * modules/sched (Depends-on): Add include_next.
39510         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
39511         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
39512         * doc/posix-headers/sched.texi: Document the issue.
39513
39514 2008-11-13  Jim Meyering  <meyering@redhat.com>
39515
39516         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
39517         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
39518         test would fail due to the difference in the Report bugs to ...
39519         line.  The expected address is empty, "<>", while the actual
39520         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
39521
39522 2008-11-12  Bruno Haible  <bruno@clisp.org>
39523
39524         lstat: don't compile lstat.c on systems lacking lstat
39525         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
39526         which don't have lstat; this is handled by lib/sys_stat.in.h already.
39527         Reported by Daniel P. Berrange via Jim Meyering.
39528
39529 2008-11-12  Jim Meyering  <meyering@redhat.com>
39530
39531         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
39532
39533 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39534
39535         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
39536         instead.
39537
39538 2008-11-12  Bruno Haible  <bruno@clisp.org>
39539
39540         * lib/unicodeio.c: Include unistr.h.
39541         (utf8_wctomb): Remove function.
39542         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
39543
39544 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39545
39546         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
39547         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
39548         <bruno@clisp.org>.
39549         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
39550
39551 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39552
39553         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
39554         * doc/gnulib.texi: Add section for warnings.
39555
39556 2008-11-11  Bruno Haible  <bruno@clisp.org>
39557
39558         * lib/sockets.h: Add a comment.
39559
39560 2008-11-11  Karl Berry  <karl@gnu.org>
39561
39562         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
39563
39564 2008-11-11  Eric Blake  <ebb9@byu.net>
39565
39566         fdl.texi: avoid git symlinks
39567         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
39568
39569 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39570
39571         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
39572
39573 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39574
39575         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
39576         (gl_WARN_ADD): Substitute $2 if literal.
39577
39578 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39579
39580         * m4/warning.m4: Remove.
39581
39582 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39583
39584         * m4/warnings.m4: Almost complete rewrite. :-)
39585
39586 2008-11-10  Simon Josefsson  <simon@josefsson.org>
39587
39588         * modules/warnings: New module.
39589         * m4/warnings.m4: New file.
39590         * MODULES.html.sh: Mention warnings module.
39591         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
39592         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39593
39594 2008-11-10  Eric Blake  <ebb9@byu.net>
39595
39596         fdl.texi: make a symlink to the latest version
39597         * doc/standards.texi: Revert today's earlier change.
39598         * doc/fdl-1.2.texi: Rename from old fdl.texi...
39599         * doc/fdl.texi: ...and replace this with a symlink to the newer
39600         fdl-1.3.texi.
39601
39602 2008-11-10  Bruno Haible  <bruno@clisp.org>
39603
39604         * tests/test-select-fd.c (main): Accept the result file name as fourth
39605         argument.
39606         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
39607         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
39608
39609 2008-11-10  Bruno Haible  <bruno@clisp.org>
39610
39611         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
39612         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
39613         as autoconf-substituted macros.
39614         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
39615         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
39616         gl_NETDB_H_DEFAULTS. Set these variables.
39617         * modules/netdb (Makefile.am): Substitute these variables.
39618
39619 2008-11-10  Eric Blake  <ebb9@byu.net>
39620
39621         standards.texi: include correct file for FDL 1.3
39622         * doc/standards.texi (GNU Free Documentation License): Change
39623         include file to pull in FDL 1.3, not 1.2.
39624
39625         fdl.texi: revert accidental change to license
39626         * doc/fdl.texi: This is FDL 1.2, not 1.3.
39627
39628 2008-11-10  Bruno Haible  <bruno@clisp.org>
39629
39630         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
39631         cross-compiling guesses also when the native compile gives no result.
39632
39633 2008-11-10  Bruno Haible  <bruno@clisp.org>
39634
39635         * lib/spawni.c (__spawni): Force variable into the stack.
39636
39637 2008-11-10  Bruno Haible  <bruno@clisp.org>
39638
39639         Add support for Haiku.
39640         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
39641         glibc and BeOS, but also on Haiku.
39642         * lib/fpurge.c (fpurge): Likewise.
39643         * lib/freadable.c (freadable): Likewise.
39644         * lib/freadahead.c (freadahead): Likewise.
39645         * lib/freading.c (freading): Likewise.
39646         * lib/freadptr.c (freadptr): Likewise.
39647         * lib/freadseek.c (freadptrinc): Likewise.
39648         * lib/fseeko.c (rpl_fseeko): Likewise.
39649         * lib/fseterr.c (fseterr): Likewise.
39650         * lib/fwritable.c (fwritable): Likewise.
39651         * lib/fwriting.c (fwriting): Likewise.
39652         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
39653
39654 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
39655
39656         * lib/config.charset: Treat Haiku like BeOS.
39657
39658 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
39659
39660         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
39661         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
39662
39663 2008-11-08  Bruno Haible  <bruno@clisp.org>
39664
39665         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
39666         AC_CACHE_CHECK.
39667
39668 2008-11-08  Bruno Haible  <bruno@clisp.org>
39669
39670         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
39671
39672 2008-11-08  Bruno Haible  <bruno@clisp.org>
39673
39674         * tests/test-select-fd.c: New file.
39675         * tests/test-select-in.sh: New file.
39676         * tests/test-select-out.sh: New file.
39677         * tests/test-select-stdin.c: New file.
39678         * modules/select-tests (Files): Add the new files.
39679         (Depends-on): Add gettimeofday.
39680         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
39681         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
39682         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
39683
39684 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
39685             Bruno Haible  <bruno@clisp.org>
39686
39687         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
39688
39689 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
39690
39691         * build-aux/pmccabe2html: Added support for C++ source files.
39692
39693 2008-11-05  Ben Pfaff  <blp@gnu.org>
39694
39695         Fix lib/close.c build on Windows.
39696         * modules/close (Files): Add lib/w32sock.h.
39697
39698 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
39699
39700         Accept Bison's NEWS format.
39701         * build-aux/announce-gen (print_news_deltas): Tweak
39702         $re_prefix.
39703
39704 2008-11-04  Bruno Haible  <bruno@clisp.org>
39705
39706         * modules/random_r (Maintainer): Add glibc.
39707
39708 2008-11-04  Simon Josefsson  <simon@josefsson.org>
39709
39710         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
39711         by karl@freefriends.org (Karl Berry).
39712         * doc/alloca.texi: Likewise.
39713         * doc/c-ctype.texi: Likewise.
39714         * doc/c-strcase.texi: Likewise.
39715         * doc/c-strcaseeq.texi: Likewise.
39716         * doc/c-strcasestr.texi: Likewise.
39717         * doc/c-strstr.texi: Likewise.
39718         * doc/c-strtod.texi: Likewise.
39719         * doc/c-strtold.texi: Likewise.
39720         * doc/ctime.texi: Likewise.
39721         * doc/error.texi: Likewise.
39722         * doc/fdl.texi: Likewise.
39723         * doc/gcd.texi: Likewise.
39724         * doc/getdate.texi: Likewise.
39725         * doc/gnulib-intro.texi: Likewise.
39726         * doc/gnulib-tool.texi: Likewise.
39727         * doc/gnulib.texi: Likewise.
39728         * doc/inet_ntoa.texi: Likewise.
39729         * doc/maintain.texi: Likewise.
39730         * doc/make-stds.texi: Likewise.
39731         * doc/quote.texi: Likewise.
39732         * doc/regexprops-generic.texi: Likewise.
39733         * doc/standards.texi: Likewise.
39734         * doc/verify.texi: Likewise.
39735         * doc/visibility.texi: Likewise.
39736         * doc/gnulib.texi (GNU Free Documentation License): Include
39737         fdl-1.3.texi instead of fdl.texi.
39738
39739 2008-11-04  Simon Josefsson  <simon@josefsson.org>
39740
39741         * doc/fdl-1.3.texi: New file, from
39742         <http://www.gnu.org/licenses/fdl-1.3.texi>.
39743         * modules/fdl-1.3: Add.
39744         * MODULES.html.sh: Add fdl-1.3.
39745
39746 2008-11-03  Bruno Haible  <bruno@clisp.org>
39747
39748         Make determination of absolute name of header file work with AIX xlc.
39749         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
39750         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
39751         preprocessing.
39752         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39753         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
39754
39755 2008-11-03  Simon Josefsson  <simon@josefsson.org>
39756
39757         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
39758         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
39759         <ludo@gnu.org>.
39760
39761 2008-11-02  Bruno Haible  <bruno@clisp.org>
39762
39763         Mark 'strpbrk' obsolete.
39764         * modules/strpbrk (Status, Notice): New sections.
39765         * modules/strtok_r (Depends-on): Add strpbrk.
39766
39767 2008-11-02  Bruno Haible  <bruno@clisp.org>
39768
39769         Mark 'strdup' obsolete.
39770         * modules/strdup (Status, Notice): New sections.
39771         * modules/findprog (Depends-on): Add strdup.
39772         * modules/getaddrinfo (Depends-on): Likewise.
39773         * modules/localename (Depends-on): Likewise.
39774         * modules/relocatable-lib (Depends-on): Likewise.
39775         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
39776         * modules/relocatable-prog (Depends-on): Likewise.
39777         * modules/trim (Depends-on): Likewise.
39778         * modules/unictype/gen-ctype (Depends-on): Likewise.
39779         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
39780
39781 2008-11-02  Bruno Haible  <bruno@clisp.org>
39782
39783         Mark 'strcspn' obsolete.
39784         * modules/strcspn (Status, Notice): New sections.
39785
39786 2008-11-02  Bruno Haible  <bruno@clisp.org>
39787
39788         Mark 'rmdir' obsolete.
39789         * modules/rmdir (Status, Notice): New sections.
39790         * modules/clean-temp (Depends-on): Add rmdir.
39791         * modules/openat (Depends-on): Likewise.
39792
39793 2008-11-02  Bruno Haible  <bruno@clisp.org>
39794
39795         Mark 'raise' obsolete.
39796         * modules/raise (Status, Notice): New sections.
39797         (Include): Specify <signal.h>.
39798         * modules/stdio (Depends-on): Add raise.
39799         * modules/write (Depends-on): Likewise.
39800
39801 2008-11-02  Bruno Haible  <bruno@clisp.org>
39802
39803         Mark 'memset' obsolete.
39804         * modules/memset (Status, Notice): New sections.
39805
39806 2008-11-02  Bruno Haible  <bruno@clisp.org>
39807
39808         Mark 'memmove' obsolete.
39809         * modules/memmove (Status, Notice): New sections.
39810         * modules/argp (Depends-on): Add memmove.
39811         * modules/argz (Depends-on): Likewise.
39812         * modules/canonicalize (Depends-on): Likewise.
39813         * modules/canonicalize-lgpl (Depends-on): Likewise.
39814         * modules/fts (Depends-on): Likewise.
39815         * modules/getcwd (Depends-on): Likewise.
39816         * modules/human (Depends-on): Likewise.
39817         * modules/regex (Depends-on): Likewise.
39818         * modules/striconveh (Depends-on): Likewise.
39819         * modules/trim (Depends-on): Likewise.
39820         * modules/unistr/u8-move (Depends-on): Likewise.
39821         * modules/unistr/u16-move (Depends-on): Likewise.
39822         * modules/unistr/u32-move (Depends-on): Likewise.
39823
39824 2008-11-02  Bruno Haible  <bruno@clisp.org>
39825
39826         Mark 'memcpy' obsolete.
39827         * modules/memcpy (Status, Notice): New sections.
39828
39829 2008-11-02  Bruno Haible  <bruno@clisp.org>
39830
39831         Mark 'memcmp' obsolete.
39832         * modules/memcmp (Status, Notice): New sections.
39833         * modules/argmatch (Depends-on): Add memchr.
39834         * modules/backupfile (Depends-on): Likewise.
39835         * modules/c-strcasestr (Depends-on): Likewise.
39836         * modules/crypto/des (Depends-on): Likewise.
39837         * modules/csharpcomp (Depends-on): Likewise.
39838         * modules/fnmatch (Depends-on): Likewise.
39839         * modules/git-merge-changelog (Depends-on): Likewise.
39840         * modules/isnand (Depends-on): Likewise.
39841         * modules/isnand-nolibm (Depends-on): Likewise.
39842         * modules/isnanf (Depends-on): Likewise.
39843         * modules/isnanf-nolibm (Depends-on): Likewise.
39844         * modules/isnanl (Depends-on): Likewise.
39845         * modules/isnanl-nolibm (Depends-on): Likewise.
39846         * modules/mbchar (Depends-on): Likewise.
39847         * modules/memcoll (Depends-on): Likewise.
39848         * modules/quotearg (Depends-on): Likewise.
39849         * modules/regex (Depends-on): Likewise.
39850         * modules/relocatable-prog (Depends-on): Likewise.
39851         * modules/same (Depends-on): Likewise.
39852         * modules/signbit (Depends-on): Likewise.
39853         * modules/strcasestr-simple (Depends-on): Likewise.
39854         * modules/unictype/gen-ctype (Depends-on): Likewise.
39855         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
39856         * modules/uniname/uniname (Depends-on): Likewise.
39857         * modules/unistr/u8-cmp (Depends-on): Likewise.
39858
39859 2008-11-02  Bruno Haible  <bruno@clisp.org>
39860
39861         Mark 'memchr' obsolete.
39862         * modules/memchr (Status, Notice): New sections.
39863         * modules/argp (Depends-on): Add memchr.
39864         * modules/base64 (Depends-on): Likewise.
39865         * modules/c-strcasestr (Depends-on): Likewise.
39866         * modules/chdir-long (Depends-on): Likewise.
39867         * modules/fnmatch (Depends-on): Likewise.
39868         * modules/getsubopt (Depends-on): Likewise.
39869         * modules/git-merge-changelog (Depends-on): Likewise.
39870         * modules/glob (Depends-on): Likewise.
39871         * modules/strcasestr-simple (Depends-on): Likewise.
39872         * modules/strnlen (Depends-on): Likewise.
39873
39874 2008-11-02  Bruno Haible  <bruno@clisp.org>
39875
39876         Mark 'atexit' obsolete.
39877         * modules/atexit (Status, Notice): New sections.
39878         * modules/chdir-long (Depends-on): Add atexit.
39879         * modules/wait-process (Depends-on): Likewise.
39880
39881 2008-11-02  Bruno Haible  <bruno@clisp.org>
39882
39883         * gnulib-tool: New option --with-obsolete.
39884         (func_usage): Document it.
39885         (func_modules_transitive_closure): Drop obsolete dependencies if
39886         incobsolete is not true.
39887         (func_import): Read and save the incobsolete variable to the cache.
39888
39889 2008-11-02  Bruno Haible  <bruno@clisp.org>
39890
39891         * modules/TEMPLATE-EXTENDED: New field 'Status'.
39892         * gnulib-tool: New option --extract-status.
39893         (func_usage): Document it.
39894         (sed_extract_prog): Recognize it.
39895         (func_get_status): New function.
39896
39897 2008-10-30  Simon Josefsson  <simon@josefsson.org>
39898
39899         * modules/sockets (License): Change from LGPL to LGPLv2+.
39900
39901 2008-10-28  Simon Josefsson  <simon@josefsson.org>
39902
39903         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
39904
39905 2008-10-28  Simon Josefsson  <simon@josefsson.org>
39906
39907         * MODULES.html.sh (Support for systems lacking POSIX:2001):
39908         Mention times and sys_times.
39909         * modules/sys_times, modules/sys_times-tests: New modules.
39910         * modules/times, modules/times-tests: Likewise
39911         * m4/sys_times_h.m4: New file.
39912         * lib/sys_times.in.h: Likewise
39913         * lib/times.c: Likewise.
39914         * tests/test-sys_times.c: Likewise.
39915         * tests/test-times.c: Likewise.
39916         * doc/posix-headers/sys_times.texi: Update.
39917         * doc/posix-functions/times.texi: Update.
39918
39919 2008-10-28  Jim Meyering  <meyering@redhat.com>
39920
39921         * modules/tempname (Depends-on): Add lstat.
39922
39923         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
39924
39925 2008-10-28  Simon Josefsson  <simon@josefsson.org>
39926
39927         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
39928         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
39929         using idiom used elsewhere in gnulib.
39930
39931 2008-10-27  Jim Meyering  <meyering@redhat.com>
39932
39933         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
39934
39935 2008-10-27  Simon Josefsson  <simon@josefsson.org>
39936
39937         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
39938         TESTS_ENVIRONMENT, for shell scripts that needs to call built
39939         programs.
39940         * tests/test-argp-2.sh: Use $EXEEXT when needed.
39941
39942 2008-10-27  Simon Josefsson  <simon@josefsson.org>
39943
39944         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
39945
39946 2008-10-27  Bruno Haible  <bruno@clisp.org>
39947
39948         * tests/test-lstat.c: Include <stdio.h>.
39949
39950 2008-10-27  Simon Josefsson  <simon@josefsson.org>
39951
39952         * modules/lstat-tests: New module.
39953         * tests/test-lstat.c: New file.
39954
39955 2008-10-26  Jim Meyering  <meyering@redhat.com>
39956
39957         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
39958
39959 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39960             Bruno Haible  <bruno@clisp.org>
39961
39962         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
39963         * modules/configmake (Include): Add a note that the include must come
39964         after all system headers.
39965         * lib/javaversion.c: Include configmake.h after all other includes.
39966
39967 2008-10-26  Bruno Haible  <bruno@clisp.org>
39968
39969         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
39970         HAVE_STRUCT_RANDOM_DATA to 1.
39971         (gl_STDLIB_H): Simplify.
39972
39973 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39974
39975         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
39976         substitute HAVE_STRUCT_RANDOM_DATA.
39977         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
39978         random_data.
39979         * modules/stdlib (Makefile.am): Substitute
39980         HAVE_STRUCT_RANDOM_DATA.
39981
39982 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39983
39984         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
39985         * doc/gnulib-intro.texi (Copyright): Likewise.
39986
39987 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39988
39989         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
39990         findings.
39991
39992 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
39993             Bruno Haible  <bruno@clisp.org>
39994
39995         * lib/unistd.in.h: Include <winsock2.h>.
39996         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
39997         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
39998         Provide dummy declarations.
39999         (gethostname): Override.
40000         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
40001         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
40002         gl_PREREQ_SYS_H_WINSOCK2.
40003         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
40004         * doc/posix-functions/gethostname.texi: More details.
40005
40006 2008-10-25  Bruno Haible  <bruno@clisp.org>
40007
40008         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
40009         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
40010         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
40011
40012         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
40013         here ...
40014         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
40015         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
40016         gl_UNISTD_H_DEFAULTS.
40017
40018 2008-10-25  Eric Blake  <ebb9@byu.net>
40019
40020         signbit: avoid spurious compiler failure
40021         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
40022         declarations inside function.
40023
40024 2008-10-24  Simon Josefsson  <simon@josefsson.org>
40025             Bruno Haible  <bruno@clisp.org>
40026
40027         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
40028         * modules/random_r (Depends-on): Add stdint.
40029
40030 2008-10-24  Bruno Haible  <bruno@clisp.org>
40031
40032         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
40033         Eggert.
40034         * modules/strerror (License): Likewise.
40035
40036 2008-10-24  Jim Meyering  <meyering@redhat.com>
40037
40038         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
40039         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
40040
40041 2008-10-24  Eric Blake  <ebb9@byu.net>
40042
40043         getgroups: fix compilation when getgroups is available
40044         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
40045         but with <config.h> override of getgroups disabled.
40046
40047 2008-10-24  Simon Josefsson  <simon@josefsson.org>
40048
40049         * doc/gnulib.texi (Header files): Add note about C++ problems.
40050         Explained by Bruno Haible <bruno@clisp.org>.
40051
40052 2008-10-23  Bruno Haible  <bruno@clisp.org>
40053
40054         Define a dummy SA_NODEFER macro on Interix.
40055         * lib/signal.in.h (SA_NODEFER): Define fallback.
40056         Reported by Aleksey Cheusov <cheusov@tut.by> via
40057         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
40058
40059 2008-10-23  Bruno Haible  <bruno@clisp.org>
40060
40061         * modules/freadahead (License): Change to LGPLv2+.
40062         Suggested by Simon Josefsson.
40063
40064 2008-10-23  Jim Meyering  <meyering@redhat.com>
40065
40066         random_r: new module
40067         * modules/random_r: New file.
40068         * m4/random_r.m4: New file.
40069         * lib/random_r.c: New file, from glibc.
40070         * modules/random_r-tests: New file.
40071         * tests/test-random_r.c: New file.
40072         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
40073          Declare.
40074         (RAND_MAX): Define.
40075         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
40076         * modules/stdlib: Substitute them, too.
40077         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
40078         * doc/glibc-functions/initstate_r.texi: Mention the new module.
40079         * doc/glibc-functions/random_r.texi: Likewise.
40080         * doc/glibc-functions/setstate_r.texi: Likewise.
40081         * doc/glibc-functions/srandom_r.texi: Likewise.
40082         * config/srclist.txt: Mention it.
40083
40084 2008-10-23  David Lutterkort  <lutter@redhat.com>
40085
40086         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
40087         link requirement
40088
40089 2008-10-23  Jim Meyering  <meyering@redhat.com>
40090
40091         selinux-h: mark parameters of stub functions as intentionally unused
40092         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
40093         * lib/se-context.in.h: Likewise.
40094
40095 2008-10-22  Simon Josefsson  <simon@josefsson.org>
40096
40097         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
40098
40099 2008-10-22  Simon Josefsson  <simon@josefsson.org>
40100
40101         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
40102
40103 2008-10-22  Eric Blake  <ebb9@byu.net>
40104
40105         glthread/thread: avoid compiler warning
40106         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
40107         Add unreachable abort to silence compiler.
40108
40109 2008-10-22  Eric Blake  <ebb9@byu.net>
40110
40111         netdb: also supply struct addrinfo for cygwin 1.5.x
40112         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
40113         older cygwin.
40114         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
40115         cygwin.
40116         * doc/posix-headers/netdb.texi (netdb.h): Document this.
40117
40118 2008-10-22  Bruno Haible  <bruno@clisp.org>
40119
40120         * users.txt: Update entry about pspp.
40121
40122 2008-10-21  Bruno Haible  <bruno@clisp.org>
40123
40124         Simplification.
40125         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
40126         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
40127
40128         Simplification.
40129         * lib/ioctl.c (ioctl): Don't undefine.
40130         * lib/socket.c (socket): Don't undefine.
40131
40132         Remove unused module indicator macros.
40133         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
40134         GNULIB_$1 as a C macro.
40135
40136         * doc/posix-functions/close.texi: Undo last change.
40137         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
40138         Windows platforms.
40139
40140 2008-10-21  Bruno Haible  <bruno@clisp.org>
40141
40142         Add gethostname() declaration to <unistd.h>.
40143         * lib/unistd.in.h (gethostname): New declaration.
40144         * lib/gethostname.c: Include <unistd.h>.
40145         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
40146         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
40147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
40148         and HAVE_GETHOSTNAME.
40149         * modules/gethostname (Depends-on): Add unistd.
40150         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40151         (Include): Specify <unistd.h>.
40152         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
40153         HAVE_GETHOSTNAME.
40154         * tests/test-gethostname.c: Include <unistd.h> first.
40155
40156 2008-10-21  Bruno Haible  <bruno@clisp.org>
40157
40158         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
40159         * modules/select-tests (Depends-on): Likewise.
40160         Reported by Simon Josefsson.
40161
40162 2008-10-21  Simon Josefsson  <simon@josefsson.org>
40163
40164         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
40165         * lib/accept.c: New file, based on winsock.c.
40166         * lib/bind.c: New file, based on winsock.c.
40167         * lib/connect.c: New file, based on winsock.c.
40168         * lib/getpeername.c: New file, based on winsock.c.
40169         * lib/getsockname.c: New file, based on winsock.c.
40170         * lib/getsockopt.c: New file, based on winsock.c.
40171         * lib/ioctl.c: New file, based on winsock.c.
40172         * lib/listen.c: New file, based on winsock.c.
40173         * lib/recv.c: New file, based on winsock.c.
40174         * lib/recvfrom.c: New file, based on winsock.c.
40175         * lib/send.c: New file, based on winsock.c.
40176         * lib/sendto.c: New file, based on winsock.c.
40177         * lib/setsockopt.c: New file, based on winsock.c.
40178         * lib/shutdown.c: New file, based on winsock.c.
40179         * lib/socket.c: New file, based on winsock.c.
40180         * lib/w32sock.h: New file, based on winsock.c.
40181         * lib/winsock.c: Remove file.
40182         * modules/accept: Likewise.
40183         * modules/bind: Likewise.
40184         * modules/connect: Likewise.
40185         * modules/getpeername: Likewise.
40186         * modules/getsockname: Likewise.
40187         * modules/getsockopt: Likewise.
40188         * modules/ioctl: Likewise.
40189         * modules/listen: Likewise.
40190         * modules/recv: Likewise.
40191         * modules/recvfrom: Likewise.
40192         * modules/send: Likewise.
40193         * modules/sendto: Likewise.
40194         * modules/setsockopt: Likewise.
40195         * modules/shutdown: Likewise.
40196         * modules/socket: Use socket.c instead of winsock.c.
40197         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
40198         * doc/posix-functions/accept.texi: Doc fix.
40199         * doc/posix-functions/bind.texi: Doc fix.
40200         * doc/posix-functions/close.texi: Doc fix.
40201         * doc/posix-functions/connect.texi: Doc fix.
40202         * doc/posix-functions/getpeername.texi: Doc fix.
40203         * doc/posix-functions/getsockname.texi: Doc fix.
40204         * doc/posix-functions/getsockopt.texi: Doc fix.
40205         * doc/posix-functions/ioctl.texi: Doc fix.
40206         * doc/posix-functions/listen.texi: Doc fix.
40207         * doc/posix-functions/recv.texi: Doc fix.
40208         * doc/posix-functions/recvfrom.texi: Doc fix.
40209         * doc/posix-functions/send.texi: Doc fix.
40210         * doc/posix-functions/sendto.texi: Doc fix.
40211         * doc/posix-functions/setsockopt.texi: Doc fix.
40212         * doc/posix-functions/shutdown.texi: Doc fix.
40213         * doc/posix-functions/socket.texi: Doc fix.
40214
40215 2008-10-20  Bruno Haible  <bruno@clisp.org>
40216
40217         Take into account the role of SIGABRT_COMPAT on Windows 2008.
40218         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
40219         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
40220         as an alias for SIGABRT.
40221         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
40222         (sigaction): Map it to SIGABRT.
40223         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
40224
40225 2008-10-20  Bruno Haible  <bruno@clisp.org>
40226
40227         * lib/fts.c: Don't include lstat.h.
40228         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
40229
40230         Move the lstat() declaration to <sys/stat.h>.
40231         * lib/lstat.h: Remove file.
40232         * lib/sys_stat.in.h: Add special invocation convention.
40233         (lstat): New declaration.
40234         * lib/lstat.c (orig_lstat): New function.
40235         (rpl_lstat): Use orig_lstat instead of lstat.
40236         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
40237         AC_C_INLINE. Set REPLACE_LSTAT.
40238         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
40239         and REPLACE_LSTAT.
40240         * modules/lstat (Files): Remove lib/lstat.h.
40241         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
40242         (Include): Specify <sys/stat.h> instead of lstat.h.
40243         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
40244         REPLACE_LSTAT.
40245         * NEWS: Mention the change.
40246
40247 2008-10-20  Bruno Haible  <bruno@clisp.org>
40248
40249         * modules/posix_spawn-tests: New file.
40250         * tests/test-posix_spawn3.c: New file.
40251
40252 2008-10-20  Bruno Haible  <bruno@clisp.org>
40253
40254         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
40255         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
40256         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
40257         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
40258         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
40259
40260 2008-10-20  Bruno Haible  <bruno@clisp.org>
40261
40262         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
40263         of posix_spawn on AIX 5.3.
40264
40265 2008-10-20  Bruno Haible  <bruno@clisp.org>
40266
40267         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
40268
40269 2008-10-20  Bruno Haible  <bruno@clisp.org>
40270
40271         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
40272         of AC_LANG_PROGRAM.
40273
40274 2008-10-20  Simon Josefsson  <simon@josefsson.org>
40275
40276         * lib/netdb.in.h: Don't define GNU specific constants until they
40277         are supported or needed.  Reported by Bruno Haible
40278         <bruno@clisp.org>.
40279
40280 2008-10-20  Simon Josefsson  <simon@josefsson.org>
40281
40282         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
40283
40284 2008-10-20  Simon Josefsson  <simon@josefsson.org>
40285
40286         * lib/getaddrinfo.h: Remove file.
40287         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
40288         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
40289         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
40290         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
40291         * modules/netdb: Substitute GNULIB_GETADDRINFO.
40292         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
40293         * tests/test-getaddrinfo.c: Likewise.
40294         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
40295         * NEWS: Mention change.
40296
40297 2008-10-19  Bruno Haible  <bruno@clisp.org>
40298
40299         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
40300
40301 2008-10-19  Bruno Haible  <bruno@clisp.org>
40302
40303         * lib/wait-process.c: Include simply <sys/wait.h>.
40304         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
40305         WIFSTOPPED): Remove fallback definitions.
40306         * modules/wait-process (Depends-on): Add sys_wait.
40307
40308         New module 'sys_wait'.
40309         * modules/sys_wait: New file.
40310         * lib/sys_wait.in.h: New file, partially copied from
40311         lib/wait-process.c.
40312         * m4/sys_wait_h.m4: New file.
40313         * doc/posix-headers/sys_wait.texi: Mention the new module.
40314
40315 2008-10-19  Bruno Haible  <bruno@clisp.org>
40316
40317         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
40318
40319 2008-10-19  Bruno Haible  <bruno@clisp.org>
40320
40321         Assume that waitpid() fills an 'int' status, not a 'union wait'.
40322         * lib/wait-process.c (WAIT_T): Remove type.
40323         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
40324         (wait_subprocess): Update.
40325
40326 2008-10-19  Bruno Haible  <bruno@clisp.org>
40327
40328         New module 'atoll'.
40329         * modules/atoll: New file.
40330         * lib/stdlib.in.h (atoll): New declaration.
40331         * lib/atoll.c: New file, from glibc with modifications.
40332         * m4/atoll.m4: New file.
40333         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
40334         HAVE_ATOLL.
40335         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
40336         * doc/posix-functions/atoll.texi: Mention the new module.
40337
40338 2008-10-19  Bruno Haible  <bruno@clisp.org>
40339
40340         Add strtoull() declaration to <stdlib.h>.
40341         * lib/stdlib.in.h (strtoull): New declaration.
40342         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
40343         Set HAVE_STRTOULL.
40344         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
40345         HAVE_STRTOULL.
40346         * modules/strtoull (Depends-on): Add stdlib.
40347         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40348         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
40349         HAVE_STRTOULL.
40350
40351 2008-10-19  Bruno Haible  <bruno@clisp.org>
40352
40353         Add strtoll() declaration to <stdlib.h>.
40354         * lib/stdlib.in.h (strtoll): New declaration.
40355         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
40356         Set HAVE_STRTOLL.
40357         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
40358         HAVE_STRTOLL.
40359         * modules/strtoll (Depends-on): Add stdlib.
40360         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40361         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
40362
40363 2008-10-19  Bruno Haible  <bruno@clisp.org>
40364
40365         * modules/bcopy (Depends-on): Add strings.
40366         (Include): Specify <strings.h>.
40367
40368 2008-10-19  Bruno Haible  <bruno@clisp.org>
40369
40370         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
40371
40372 2008-10-19  Bruno Haible  <bruno@clisp.org>
40373
40374         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
40375         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
40376         mingw.
40377
40378 2008-10-19  Bruno Haible  <bruno@clisp.org>
40379
40380         * lib/atanl.c: Don't include isnanl.h.
40381         * lib/cosl.c: Likewise.
40382         * lib/ldexpl.c: Likewise.
40383         * lib/logl.c: Likewise.
40384         * lib/sinl.c: Likewise.
40385         * lib/sqrtl.c: Likewise.
40386         * lib/tanl.c: Likewise.
40387
40388         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
40389         * lib/isnanf.h: Remove file.
40390         * lib/isnand.h: Remove file.
40391         * lib/isnanl.h: Remove file.
40392         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
40393         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
40394         macros.
40395         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
40396         HAVE_ISNANF, don't define it as a C macro.
40397         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
40398         HAVE_ISNAND, don't define it as a C macro.
40399         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
40400         HAVE_ISNANL, don't define it as a C macro.
40401         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
40402         HAVE_ISNAN[FDL].
40403         * modules/isnanf (Files): Remove lib/isnanf.h.
40404         (Depends-on): Add math.
40405         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40406         (Include): Specify <math.h> instead of isnanf.h.
40407         * modules/isnand (Files): Remove lib/isnand.h.
40408         (Depends-on): Add math.
40409         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40410         (Include): Specify <math.h> instead of isnand.h.
40411         * modules/isnanl (Files): Remove lib/isnanl.h.
40412         (Depends-on): Add math.
40413         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40414         (Include): Specify <math.h> instead of isnanl.h.
40415         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
40416         HAVE_ISNAN[FDL].
40417         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
40418         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
40419         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
40420         * NEWS: Mention the change.
40421
40422 2008-10-18  Bruno Haible  <bruno@clisp.org>
40423
40424         Add getusershell(), setusershell(), endusershell() declarations to
40425         <unistd.h>.
40426         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
40427         declarations.
40428         * lib/getusershell.c: Include unistd.h.
40429         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
40430         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
40431         HAVE_GETUSERSHELL.
40432         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
40433         and HAVE_GETUSERSHELL.
40434         * modules/getusershell (Depends-on): Add unistd, extensions.
40435         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40436         (Include): Specify <unistd.h>.
40437         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
40438         HAVE_GETUSERSHELL.
40439
40440 2008-10-18  Bruno Haible  <bruno@clisp.org>
40441
40442         Add a getloadavg() declaration to <stdlib.h>.
40443         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
40444         getloadavg declaration.
40445         (getloadavg): New declaration.
40446         * lib/getloadavg.c: Include <stdlib.h> first.
40447         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
40448         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
40449         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
40450         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
40451         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
40452         * modules/getloadavg (Depends-on): Add stdlib, extensions.
40453         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40454         (Include): Specify <stdlib.h>.
40455         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
40456         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
40457
40458 2008-10-18  Bruno Haible  <bruno@clisp.org>
40459
40460         * lib/dirchownmod.c: Don't include lchmod.h.
40461
40462         Move the lchmod() declaration to <sys/stat.h>.
40463         * lib/lchmod.h: Remove file.
40464         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
40465         (lchmod): New declaration, moved here from lib/lchown.h.
40466         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
40467         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
40468         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
40469         and HAVE_LCHMOD.
40470         * modules/lchmod (Files): Remove lib/lchmod.h.
40471         (Depends-on): Add sys_stat, extensions.
40472         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
40473         (Include): Specify <sys/stat.h> instead of lchmod.h.
40474         * modules/sys_stat (Depends-on): Add link-warning.
40475         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
40476         definition of GL_LINK_WARNING.
40477         * NEWS: Mention the change.
40478
40479 2008-10-18  Bruno Haible  <bruno@clisp.org>
40480
40481         * lib/fchdir.c: Don't include dirfd.h.
40482         * lib/fts.c: Likewise.
40483         * lib/getcwd.c: Likewise.
40484         * lib/glob.c: Likewise.
40485
40486         Move the dirfd() declaration to <dirent.h>.
40487         * lib/dirfd.h: Remove file.
40488         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
40489         (dirfd): New declaration.
40490         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
40491         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
40492         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
40493         HAVE_DECL_DIRFD.
40494         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
40495         HAVE_DECL_DIRFD.
40496         * modules/dirfd (Files): Remove lib/dirfd.h.
40497         (Depends-on): Add dirent, extensions.
40498         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
40499         (Include): Specify <dirent.h> instead of dirfd.h.
40500         * modules/dirent (Depends-on): Add link-warning.
40501         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
40502         definition of GL_LINK_WARNING.
40503         * NEWS: Mention the change.
40504
40505 2008-10-18  Bruno Haible  <bruno@clisp.org>
40506
40507         Move the euidaccess() declaration to <unistd.h>.
40508         * lib/euidaccess.h: Remove file.
40509         * lib/unistd.in.h (euidaccess): New declaration.
40510         * lib/euidaccess.c: Don't include euidaccess.h.
40511         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
40512         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
40513         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
40514         and HAVE_EUIDACCESS.
40515         * modules/euidaccess (Files): Remove lib/euidaccess.h.
40516         (Depends-on): Add unistd.
40517         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40518         (Include): Specify <unistd.h> instead of euidaccess.h.
40519         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
40520         HAVE_EUIDACCESS.
40521         * NEWS: Mention the change.
40522
40523 2008-10-18  Bruno Haible  <bruno@clisp.org>
40524
40525         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
40526
40527         Move the getdomainname() declaration to <unistd.h>.
40528         * lib/getdomainname.h: Remove file.
40529         * lib/unistd.in.h (getdomainname): New declaration.
40530         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
40531         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
40532         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
40533         HAVE_GETDOMAINNAME.
40534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40535         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
40536         * modules/getdomainname (Files): Remove lib/getdomainname.h.
40537         (Depends-on): Add unistd, extensions.
40538         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40539         (Includes): Specify <unistd.h> instead of getdomainname.h.
40540         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
40541         HAVE_GETDOMAINNAME.
40542         * NEWS: Mention the change.
40543
40544 2008-10-18  Bruno Haible  <bruno@clisp.org>
40545
40546         * modules/dirent: New file.
40547         * m4/dirent_h.m4: New file.
40548         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
40549         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
40550         * modules/fchdir (Files): Remove lib/dirent.in.h.
40551         (Depends-on): Add dirent.
40552         (Makefile.am): Move rules to modules/dirent.
40553         * doc/posix-headers/dirent.texi: Mention the new module.
40554
40555 2008-10-18  Bruno Haible  <bruno@clisp.org>
40556
40557         Avoid -Wunused-parameter warnings in public gnulib header files.
40558         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
40559         macro.
40560         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
40561
40562 2008-10-18  Bruno Haible  <bruno@clisp.org>
40563
40564         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
40565         * doc/glibc-functions/error.texi: Mention the module 'error'.
40566         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
40567         * doc/glibc-functions/getdomainname.texi: Mention the module
40568         'getdomainname'.
40569         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
40570         * doc/glibc-functions/getpagesize.texi: Mention the module
40571         'getpagesize'.
40572         * doc/glibc-functions/getusershell.texi: Mention the module
40573         'getusershell'.
40574         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
40575         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
40576         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
40577         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
40578         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
40579         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
40580         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
40581         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
40582         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
40583         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
40584         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
40585         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
40586         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
40587         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
40588
40589 2008-10-17  Bruno Haible  <bruno@clisp.org>
40590
40591         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
40592         HP-UX and IRIX, use -0.0L.
40593         * tests/test-ceill.c (minus_zero): Likewise.
40594         * tests/test-floorl.c (minus_zero): Likewise.
40595         * tests/test-frexpl.c (minus_zero): Likewise.
40596         * tests/test-isnan.c (minus_zerol): Likewise.
40597         * tests/test-isnanl.h (minus_zero): Likewise.
40598         * tests/test-ldexpl.c (minus_zero): Likewise.
40599         * tests/test-roundl.c (minus_zero): Likewise.
40600         * tests/test-signbit.c (minus_zerol): Likewise.
40601         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
40602         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
40603         * tests/test-truncl.c (minus_zero): Likewise.
40604         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
40605         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
40606         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
40607         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
40608
40609 2008-10-17  Bruno Haible  <bruno@clisp.org>
40610
40611         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
40612         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
40613         that it gets activated only for gcc >= 3.0.
40614         * lib/dirent.in.h: Likewise.
40615         * lib/errno.in.h: Likewise.
40616         * lib/fcntl.in.h: Likewise.
40617         * lib/float.in.h: Likewise.
40618         * lib/iconv.in.h: Likewise.
40619         * lib/inttypes.in.h: Likewise.
40620         * lib/locale.in.h: Likewise.
40621         * lib/math.in.h: Likewise.
40622         * lib/netdb.in.h: Likewise.
40623         * lib/netinet_in.in.h: Likewise.
40624         * lib/search.in.h: Likewise.
40625         * lib/signal.in.h: Likewise.
40626         * lib/spawn.in.h: Likewise.
40627         * lib/stdarg.in.h: Likewise.
40628         * lib/stdint.in.h: Likewise.
40629         * lib/stdio.in.h: Likewise.
40630         * lib/stdlib.in.h: Likewise.
40631         * lib/string.in.h: Likewise.
40632         * lib/strings.in.h: Likewise.
40633         * lib/sys_file.in.h: Likewise.
40634         * lib/sys_ioctl.in.h: Likewise.
40635         * lib/sys_select.in.h: Likewise.
40636         * lib/sys_socket.in.h: Likewise.
40637         * lib/sys_stat.in.h: Likewise.
40638         * lib/sys_time.in.h: Likewise.
40639         * lib/sysexits.in.h: Likewise.
40640         * lib/time.in.h: Likewise.
40641         * lib/unistd.in.h: Likewise.
40642         * lib/wchar.in.h: Likewise.
40643         * lib/wctype.in.h: Likewise.
40644         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40645
40646 2008-10-17  Jim Meyering  <meyering@redhat.com>
40647
40648         ignore-value: don't depend on inline module
40649         * modules/ignore-value (Depends-on): Remove 'inline'.
40650         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
40651         Suggestion from Bruno Haible.
40652
40653 2008-10-17  Bruno Haible  <bruno@clisp.org>
40654
40655         New implementation of condition variables for Win32.
40656         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
40657         (gl_linked_waitqueue_t): New type.
40658         (gl_cond_t): Use it.
40659         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
40660         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
40661         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
40662         (glthread_cond_init_func, glthread_cond_wait_func,
40663         glthread_cond_timedwait_func, glthread_cond_signal_func,
40664         glthread_cond_broadcast_func, glthread_cond_destroy_func):
40665         Reimplemented on the basis of gl_linked_waitqueue_t.
40666         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
40667         gl_waitqueue_t.
40668         (gl_rwlock_t): Update.
40669         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
40670
40671 2008-10-17  Simon Josefsson  <simon@josefsson.org>
40672
40673         * modules/recvfrom (Depends-on): Add dependency on getpeername.
40674         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40675
40676 2008-10-17  Jim Meyering  <meyering@redhat.com>
40677
40678         ignore-value: new module
40679         * modules/ignore-value: New file.
40680         * lib/ignore-value.h: New file.
40681         * MODULES.html.sh (Compiler warning management): New section,
40682         just for this module.  More to come.
40683
40684 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
40685
40686         open-safer.c: avoid 'signed and unsigned in conditional...' warning
40687         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
40688         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
40689
40690 2008-10-16  Jim Meyering  <meyering@redhat.com>
40691
40692         openat-die.c: avoid 'no previous prototype' warning
40693         * lib/openat-die.c: Include "openat.h".
40694         Reported by Reuben Thomas <rrt@sc3d.org>.
40695
40696 2008-10-16  Simon Josefsson  <simon@josefsson.org>
40697
40698         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
40699         * lib/netdb.in.h: Fix typo.
40700         Reported by Bruno Haible  <bruno@clisp.org>
40701
40702         * lib/netdb.in.h: Include sys/socket.h for platforms without
40703         netdb.h, to get structures like hostent on MinGW.
40704         * modules/netdb (Depends-on): Add sys_socket.
40705
40706 2008-10-15  Simon Josefsson  <simon@josefsson.org>
40707
40708         * modules/netdb, modules/netdb-tests: New file.
40709         * m4/netdb_h.m4: New file.
40710         * lib/netdb.in.h: Add, currently just an empty file pending
40711         definitions.
40712         * tests/test-netdb.c: New file.
40713         * doc/posix-headers/netdb.texi: Mention that we replace it if
40714         needed.
40715         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40716         netdb.
40717
40718 2008-10-15  Simon Josefsson  <simon@josefsson.org>
40719
40720         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
40721         with code.
40722
40723 2008-10-13  Bruno Haible  <bruno@clisp.org>
40724
40725         * lib/glthread/cond.c (glthread_cond_wait_func,
40726         glthread_cond_timedwait_func): Add a comment.
40727
40728 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40729
40730         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
40731         * tests/test-select.c: Likewise,
40732
40733 2008-10-13  Bruno Haible  <bruno@clisp.org>
40734
40735         * lib/glthread/cond.c (glthread_cond_wait_func,
40736         glthread_cond_timedwait_func): Fix variable name.
40737         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40738
40739 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
40740
40741         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
40742         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
40743         struct sockaddr.sa_len.
40744         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
40745
40746 2008-10-13  Simon Josefsson  <simon@josefsson.org>
40747
40748         * build-aux/pmccabe2html: Add css and css_url parameters.
40749
40750 2008-10-12  Bruno Haible  <bruno@clisp.org>
40751
40752         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
40753         calling aclx_get.
40754         Reported by Rainer Tammer <tammer@tammer.net>.
40755
40756 2008-10-12  Bruno Haible  <bruno@clisp.org>
40757
40758         Use msvcrt aware primitives for creation/termination of Win32 threads.
40759         * lib/glthread/thread.c: Include <process.h>.
40760         (glthread_create_func): Use _beginthreadex instead of CreateThread.
40761         (wrapper_func): Update signature.
40762         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
40763
40764 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40765             Bruno Haible  <bruno@clisp.org>
40766
40767         Provide a Win32 implementation of the 'cond' module.
40768         * lib/glthread/cond.h [USE_WIN32]: New implementation.
40769         * lib/glthread/cond.c (glthread_cond_init_func,
40770         glthread_cond_wait_func, glthread_cond_timedwait_func,
40771         glthread_cond_signal_func, glthread_cond_broadcast_func,
40772         glthread_cond_destroy_func) [USE_WIN32]: New functions.
40773         * modules/cond (Dependencies): Add gettimeofday.
40774
40775 2008-10-11  Bruno Haible  <bruno@clisp.org>
40776
40777         Make sleep work on older versions of mingw.
40778         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
40779         only whether it exists.
40780         * doc/posix-functions/sleep.texi: Mention the problem with older
40781         versions of mingw.
40782
40783 2008-10-11  Bruno Haible  <bruno@clisp.org>
40784
40785         New module 'shutdown'.
40786         * modules/shutdown: New file.
40787         * lib/sys_socket.in.h (shutdown): New declaration.
40788         * lib/winsock.c (shutdown): New function.
40789         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40790         GNULIB_SHUTDOWN.
40791         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
40792         * doc/posix-functions/shutdown.texi: Document the new module.
40793
40794 2008-10-11  Jim Meyering  <meyering@redhat.com>
40795
40796         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
40797
40798 2008-10-11  Bruno Haible  <bruno@clisp.org>
40799
40800         New module 'fclose'.
40801         * modules/fclose: New file.
40802         * lib/stdio.in.h (fclose): New declaration.
40803         * lib/fclose.c: New file.
40804         * m4/fclose.m4: New file.
40805         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
40806         REPLACE_FCLOSE.
40807         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
40808         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
40809         REPLACE_FCLOSE.
40810         * modules/close (Depends-on): fclose.
40811         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
40812
40813 2008-10-11  Bruno Haible  <bruno@clisp.org>
40814
40815         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
40816         set errno and don't call _close.
40817
40818 2008-10-10  Bruno Haible  <bruno@clisp.org>
40819
40820         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
40821         ACL, not afterwards. Fixes test failure on Cygwin.
40822
40823 2008-10-09  Ben Pfaff  <blp@gnu.org>
40824
40825         * build-aux/announce-gen: Fix gnulib version related part of usage
40826         message.  Die with a useful error message if no tarballs are
40827         found.
40828
40829 2008-10-10  Jim Meyering  <meyering@redhat.com>
40830
40831         bootstrap: use git's --depth=N option only if it's supported
40832         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
40833         recognize the --depth option.  Reported by PĂ¡draig Brady.
40834
40835 2008-10-09  Bruno Haible  <bruno@clisp.org>
40836
40837         New module 'ioctl'.
40838         * modules/ioctl: New file.
40839         * lib/sys_socket.in.h (ioctl): Remove declaration.
40840         * lib/winsock.c: Include <sys/ioctl.h>.
40841         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
40842         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
40843         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
40844         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
40845         * doc/posix-functions/ioctl.texi: Mention the new module.
40846
40847 2008-10-09  Bruno Haible  <bruno@clisp.org>
40848
40849         New module 'sys_ioctl'.
40850         * lib/sys_ioctl.in.h: New file.
40851         * m4/sys_ioctl_h.m4: New file.
40852         * modules/sys_ioctl: New file.
40853         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
40854
40855 2008-10-09  Bruno Haible  <bruno@clisp.org>
40856
40857         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
40858         * lib/winsock.c: Include <stdarg.h>.
40859         (rpl_ioctl): Change to second argument 'int' and then varargs.
40860
40861 2008-10-09  Bruno Haible  <bruno@clisp.org>
40862
40863         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
40864         when the sys_socket module is present and the system has <winsock2.h>.
40865
40866 2008-10-09  Bruno Haible  <bruno@clisp.org>
40867
40868         * doc/posix-functions/close.texi: Mention module 'close' instead of
40869         module 'sys_socket'.
40870
40871 2008-10-09  Bruno Haible  <bruno@clisp.org>
40872
40873         * doc/glibc-headers/sys_ioctl.texi: New file.
40874         * doc/gnulib.texi: Include it.
40875
40876 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40877             Bruno Haible  <bruno@clisp.org>
40878
40879         Combine the two replacements of 'close'.
40880         * lib/sys_socket.in.h (close): Define to a reminder to include
40881         <unistd.h>.
40882         (_gl_close_fd_maybe_socket): New declaration.
40883         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
40884         * lib/winsock.c (close): Remove undefinition.
40885         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
40886         needed for the gnulib module 'close'.
40887         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
40888         define to an error symbol or to a warning, if suitable.
40889         * lib/close.c: Include <sys/socket.h>.
40890         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
40891         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
40892         UNISTD_H_HAVE_WINSOCK2_H.
40893         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
40894         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40895         UNISTD_H_HAVE_WINSOCK2_H.
40896         * modules/sys_socket (Files): Add m4/unistd_h.m4.
40897         (configure.ac): Set a module indicator.
40898         (Makefile.am): Substitute GNULIB_CLOSE.
40899         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
40900         * modules/poll-tests (Depends-on): Add close.
40901         * modules/select-tests (Depends-on): Likewise.
40902
40903 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40904             Bruno Haible  <bruno@clisp.org>
40905
40906         New module 'close'.
40907         * modules/close: New file.
40908         * lib/unistd.in.h (close): Move declaration out of the
40909         FCHDIR_REPLACEMENT scope.
40910         (_gl_unregister_fd): New declaration.
40911         * lib/close.c: New file.
40912         * lib/fchdir.c (rpl_close): Remove function.
40913         * m4/close.m4: New file.
40914         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
40915         close.
40916         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
40917         REPLACE_CLOSE.
40918         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
40919         REPLACE_CLOSE.
40920         * modules/fchdir (Depends-on): Add close.
40921
40922 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40923             Bruno Haible  <bruno@clisp.org>
40924
40925         * lib/fcntl.in.h (open): Simplify conditionals.
40926         (_gl_register_fd): New declaration.
40927         * lib/fchdir.c (rpl_open): Remove function.
40928         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
40929         also.
40930         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
40931         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
40932         open.
40933
40934 2008-10-09  Jim Meyering  <meyering@redhat.com>
40935
40936         GNUmakefile: use the more name-space-friendly "_version"
40937         * top/GNUmakefile (_dummy): Update.
40938         (_version): Rename from "version".
40939
40940 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40941             Bruno Haible  <bruno@clisp.org>
40942
40943         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
40944         rpl_close.
40945         (_gl_register_fd): New function, extracted from rpl_open.
40946         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
40947         (rpl_open, rpl_opendir): Use _gl_register_fd.
40948
40949 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40950
40951         Fix organization of 'open' replacement.
40952         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
40953         (gl_FUNC_OPEN): Use it.
40954         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
40955
40956 2008-10-08  Bruno Haible  <bruno@clisp.org>
40957
40958         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
40959
40960 2008-10-08  Simon Josefsson  <simon@josefsson.org>
40961
40962         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
40963         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
40964         listen).
40965
40966 2008-10-08  Eric Blake  <ebb9@byu.net>
40967
40968         GNUmakefile: add 'make version' target
40969         * top/GNUmakefile (_curr-ver): Split version update rules...
40970         (version): ...into a target.
40971
40972 2008-10-07  Bruno Haible  <bruno@clisp.org>
40973
40974         Use a more portable replacement expression for -0.0L.
40975         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
40976         instead of -0.0L. Fix m4 quotation.
40977
40978         * tests/test-signbit.c: Include <float.h>.
40979         (minus_zero): New variable.
40980         (test_signbitl): Use minus_zero instead of -zero.
40981         * modules/signbit-tests (Depends-on): Add float.
40982
40983         * tests/test-ceill.c: Include <float.h>.
40984         (zero): Remove variable.
40985         (minus_zero): New variable.
40986         (main): Use minus_zero instead of -zero.
40987         * modules/ceill-tests (Depends-on): Add float.
40988
40989         * tests/test-floorl.c: Include <float.h>.
40990         (zero): Remove variable.
40991         (minus_zero): New variable.
40992         (main): Use minus_zero instead of -zero.
40993         * modules/floorl-tests (Depends-on): Add float.
40994
40995         * tests/test-roundl.c: Include <float.h>.
40996         (zero): Remove variable.
40997         (minus_zero): New variable.
40998         (main): Use minus_zero instead of -zero.
40999         * modules/roundl-tests (Depends-on): Add float.
41000
41001         * tests/test-truncl.c: Include <float.h>.
41002         (zero): Remove variable.
41003         (minus_zero): New variable.
41004         (main): Use minus_zero instead of -zero.
41005         * modules/truncl-tests (Depends-on): Add float.
41006
41007         * tests/test-frexpl.c (zero): Remove variable.
41008         (minus_zero): New variable.
41009         (main): Use minus_zero instead of -zero.
41010         * modules/frexpl-tests (Depends-on): Add float.
41011
41012         * tests/test-isnan.c (zerol): Remove variable.
41013         (minus_zerol): New variable.
41014         (test_long_double): Use minus_zerol instead of -zerol.
41015         * modules/isnan-tests (Depends-on): Add float.
41016
41017         * tests/test-isnanl.h (zero): Remove variable.
41018         (minus_zero): New variable.
41019         (main): Use minus_zero instead of -zero.
41020         * modules/isnanl-nolibm-tests (Depends-on): Add float.
41021         * modules/isnanl-tests (Depends-on): Add float.
41022
41023         * tests/test-ldexpl.c (zero): Remove variable.
41024         (minus_zero): New variable.
41025         (main): Use minus_zero instead of -zero.
41026         * modules/ldexpl-tests (Depends-on): Add float.
41027
41028         * tests/test-snprintf-posix.h (zerol): Remove variable.
41029         (minus_zerol): New variable.
41030         (test_function): Use minus_zerol instead of -zerol.
41031         * modules/snprintf-posix-tests (Depends-on): Add float.
41032         * modules/vsnprintf-posix-tests (Depends-on): Add float.
41033
41034         * tests/test-sprintf-posix.h (zerol): Remove variable.
41035         (minus_zerol): New variable.
41036         (test_function): Use minus_zerol instead of -zerol.
41037         * modules/sprintf-posix-tests (Depends-on): Add float.
41038         * modules/vsprintf-posix-tests (Depends-on): Add float.
41039
41040         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
41041         (minus_zerol): New variable.
41042         (test_function): Use minus_zerol instead of -zerol.
41043         * modules/vasnprintf-posix-tests (Depends-on): Add float.
41044
41045         * tests/test-vasprintf-posix.c (zerol): Remove variable.
41046         (minus_zerol): New variable.
41047         (test_function): Use minus_zerol instead of -zerol.
41048         * modules/vasprintf-posix-tests (Depends-on): Add float.
41049
41050 2008-10-07  Simon Josefsson  <simon@josefsson.org>
41051
41052         * MODULES.html.sh (Support for building documentation): Mention
41053         pmccabe2html.  Sort entries.
41054
41055         Add pmccabe2html module, from gnupdf.
41056         * build-aux/pmccabe.css: New file.
41057         * build-aux/pmccabe2html: New file.
41058         * m4/pmccabe2html.m4: New file.
41059         * modules/pmccabe2html: New file.
41060
41061 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
41062
41063         flock: new module
41064         * MODULES.html.sh: Add to list of modules.
41065         * lib/flock.c: flock implementation for Windows and Unix systems
41066         which have fcntl.
41067         * doc/glibc-functions/flock.texi: Update documentation.
41068         * lib/sys_file.in.h: <sys/file.h> header file.
41069         * m4/flock.m4: M4 macros.
41070         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
41071         * modules/flock: flock module.
41072         * modules/flock-tests: flock tests module.
41073         * modules/sys_file: sys/file.h module.
41074         * tests/test-flock.c: test suite for flock.
41075
41076 2008-10-06  Jim Meyering  <meyering@redhat.com>
41077
41078         bootstrap: check for LT_INIT more portably still ;-)
41079         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
41080         Spotted by Bruno Haible.
41081
41082 2008-10-06  Eric Blake  <ebb9@byu.net>
41083
41084         test-signbit: avoid tripping Irix cc bug on -0.0L
41085         * tests/test-signbit.c (minus_zerol): Delete, and replace with
41086         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
41087         entire testsuite consistent and avoids an Irix 6.2 bug.
41088
41089 2008-10-05  Bruno Haible  <bruno@clisp.org>
41090             Jim Meyering  <jim@meyering.net>
41091
41092         Add an option for ignoring EPIPE during close_stdout.
41093         * lib/closeout.h: Include <stdbool.h>.
41094         (close_stdout_set_ignore_EPIPE): New declaration.
41095         * lib/closeout.c: Include <stdbool.h>.
41096         (ignore_EPIPE): New variable.
41097         (close_stdout_set_ignore_EPIPE): New function.
41098         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
41099         * lib/close-stream.c (close_stream): Mention the possible EPIPE
41100         failure.
41101         * modules/closeout (Depends-on): Add stdbool.
41102
41103 2008-10-05  Bruno Haible  <bruno@clisp.org>
41104
41105         * modules/accept: New file.
41106         * modules/bind: New file.
41107         * modules/connect: New file.
41108         * modules/getpeername: New file.
41109         * modules/getsockname: New file.
41110         * modules/getsockopt: New file.
41111         * modules/listen: New file.
41112         * modules/recv: New file.
41113         * modules/recvfrom: New file.
41114         * modules/send: New file.
41115         * modules/sendto: New file.
41116         * modules/setsockopt: New file.
41117         * modules/socket: New file.
41118         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
41119         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
41120         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
41121         the particular module is requested. Add a link warning when the
41122         particular module is not requested.
41123         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
41124         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
41125         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
41126         the particular module is requested.
41127         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
41128         gl_SYS_SOCKET_H_DEFAULTS): New macros.
41129         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
41130         * modules/sys_socket (Depends-on): Add link-warning.
41131         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
41132         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
41133         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
41134         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
41135         GL_LINK_WARNING.
41136         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
41137         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
41138         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
41139         * doc/posix-functions/getpeername.texi: Mention the new module
41140         'getpeername'.
41141         * doc/posix-functions/getsockname.texi: Mention the new module
41142         'getsockname'.
41143         * doc/posix-functions/getsockopt.texi: Mention the new module
41144         'getsockopt'.
41145         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
41146         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
41147         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
41148         * doc/posix-functions/send.texi: Mention the new module 'send'.
41149         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
41150         * doc/posix-functions/setsockopt.texi: Mention the new module
41151         'setsockopt'.
41152         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
41153         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
41154         listen, connect, accept.
41155         * modules/select-tests (Depends-on): Likewise.
41156
41157 2008-10-05  Bruno Haible  <bruno@clisp.org>
41158
41159         * lib/winsock.c (strerror): Remove unused #undef.
41160         (rpl_close): Remove unused local variable.
41161
41162         * modules/sys_socket (Depends-on); Add errno.
41163
41164 2008-10-05  Bruno Haible  <bruno@clisp.org>
41165
41166         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
41167         (select): Add a link warning when the 'select' module is not used.
41168         * modules/sys_select (Depends-on): Add link-warning.
41169         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
41170         Suggested by Paolo Bonzini.
41171
41172 2008-10-05  Jim Meyering  <meyering@redhat.com>
41173
41174         bootstrap: check for LT_INIT more portably
41175         * build-aux/bootstrap: Avoid using grep -E, since it's not
41176         portable enough.  Suggestion from Bruno Haible.
41177
41178 2008-10-05  Bruno Haible  <bruno@clisp.org>
41179
41180         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
41181         as being fixed by gnulib.
41182
41183 2008-10-05  Bruno Haible  <bruno@clisp.org>
41184
41185         * modules/select-tests: New file, mostly copied from
41186         modules/sys_select-tests.
41187         * tests/test-select.c: New file, mostly copied from
41188         tests/test-sys_select.c.
41189         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
41190         * modules/sys_select-tests (Depends-on): Remove all dependencies.
41191         (Makefile.am): Remove test_sys_select_LDADD.
41192
41193         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
41194         to an undefined symbol, for an error message.
41195         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
41196         (gl_SYS_SELECT_H_DEFAULTS): New macro.
41197         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
41198         winsock-select.c here.
41199         * modules/sys_select (Files): Remove lib/winsock-select.c.
41200         (Depends-on): Remove alloca.
41201         (Makefile.am): Substitute GNULIB_SELECT.
41202         * modules/select: New file.
41203         * doc/posix-functions/select.texi: Update.
41204
41205 2008-10-05  Bruno Haible  <bruno@clisp.org>
41206
41207         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
41208         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
41209         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
41210         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
41211         getdtablesize.
41212         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
41213         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
41214
41215 2008-10-05  Bruno Haible  <bruno@clisp.org>
41216
41217         * modules/getdtablesize-tests: New file.
41218         * tests/test-getdtablesize.c: New file.
41219
41220         New module 'getdtablesize'.
41221         * lib/unistd.in.h (getdtablesize): New declaration.
41222         * lib/getdtablesize.c: New file.
41223         * m4/getdtablesize.m4: New file.
41224         * modules/getdtablesize: New file.
41225         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41226         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
41227         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
41228         HAVE_GETDTABLESIZE.
41229         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
41230
41231 2008-10-05  Bruno Haible  <bruno@clisp.org>
41232
41233         * modules/sched (Makefile.am): Fix typo.
41234         Reported by Simon Josefsson.
41235
41236 2008-10-05  Jim Meyering  <meyering@redhat.com>
41237
41238         bootstrap: check for LT_INIT, too
41239         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
41240         are deprecated.  Suggestion from Ralf Wildenhues.
41241
41242 2008-10-05  Bruno Haible  <bruno@clisp.org>
41243
41244         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
41245         overriding them by ours.
41246         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
41247
41248 2008-10-05  Jim Meyering  <meyering@redhat.com>
41249
41250         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
41251         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
41252         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
41253
41254 2008-10-04  Bruno Haible  <bruno@clisp.org>
41255
41256         * modules/dup2 (License): Change to LGPLv2+.
41257         * modules/sleep (License): Likewise.
41258         * modules/perror (License): Likewise.
41259         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
41260         Blake.
41261         * modules/signal (License): Likewise.
41262         * modules/sigprocmask (License): Likewise.
41263         * modules/raise (License): Change to LGPLv2+, with approval by Jim
41264         Meyering.
41265
41266 2008-10-04  Bruno Haible  <bruno@clisp.org>
41267
41268         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
41269         Reported by Rainer Tammer <tammer@tammer.net>.
41270
41271 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
41272             Bruno Haible  <bruno@clisp.org>
41273
41274         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
41275         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
41276         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
41277
41278 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
41279
41280         filevercmp: new module
41281         * lib/filevercmp.h: New function filevercmp comparing version strings.
41282         * lib/filevercmp.c: Implementation of filevercmp function.
41283         * modules/filevercmp: Module metadata.
41284         * tests/test-filevercmp.c: Unit test for new module.
41285         * modules/filevercmp-tests: Unit test metadata.
41286         * MODULES.html.sh: Add filevercmp module.
41287
41288 2008-10-03  Bruno Haible  <bruno@clisp.org>
41289
41290         * lib/c-ctype.h: Add comment.
41291         Reported by Jim Meyering.
41292
41293 2008-10-02  Bruno Haible  <bruno@clisp.org>
41294
41295         * modules/posix_spawn-internal (Depends-on): Add 'open'.
41296
41297 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41298
41299         * build-aux/bootstrap: Allow renaming bootstrap, and change the
41300         name of bootstrap.conf accordingly.
41301
41302 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41303
41304         * build-aux/bootstrap: Install git-merge-changelog configuration
41305         items into .gitconfig if needed.
41306
41307 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41308
41309         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
41310         git repository, and initialize/update it accordingly.
41311
41312 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
41313
41314         * modules/fsync-tests: New file.
41315         * tests/test-fsync.c: New file.
41316
41317         New module 'fsync'.
41318         * lib/fsync.c: New file.
41319         * m4/fsync.m4: New file.
41320         * modules/fsync: New file.
41321         * lib/unistd.in.h (fsync): New declaration.
41322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
41323         GNULIB_FSYNC and HAVE_FSYNC.
41324         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
41325         * MODULES.html.sh (posix_functions): Add fsync.
41326         * doc/posix-functions/fsync.texi: Mention the new module.
41327
41328 2008-10-02  Jim Meyering  <meyering@redhat.com>
41329
41330         fts.c: sync with similar code from coreutils' remove.c
41331         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
41332         Guard also with "#if defined __linux__", since for now at least,
41333         this code is Linux-kernel-specific.
41334
41335 2008-10-02  Jim Meyering  <meyering@redhat.com>
41336
41337         fts: bug fixes
41338         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
41339         Include <sys/vfs.h>, not <sys/statfs.h>.
41340
41341         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
41342         Include <sys/vfs.h>, not <sys/statfs.h>.
41343
41344 2008-10-01  Bruno Haible  <bruno@clisp.org>
41345
41346         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
41347         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
41348         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
41349         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
41350         * doc/posix-functions/posix_spawnp.texi: Likewise.
41351         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
41352         whether posix_spawn actually works.
41353         * m4/pipe.m4 (gl_PIPE): Likewise.
41354         * modules/execute (Files): Add m4/posix_spawn.m4.
41355         * modules/pipe (Files): Add m4/posix_spawn.m4.
41356         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
41357
41358 2008-10-01  Jim Meyering  <meyering@redhat.com>
41359
41360         remove trailing spaces
41361         * NEWS: Likewise.
41362         * lib/poll.c (poll): Likewise.
41363         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
41364         * lib/winsock.c (rpl_close): Likewise.
41365         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
41366         * modules/yield: Likewise.
41367         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
41368         * tests/test-sys_select.c (connect_to_socket): Likewise.
41369
41370         fts.c: adjust a new interface to be more generally useful
41371         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
41372         (fts_build): Adjust caller.
41373
41374 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41375
41376         * modules/cond-tests: New file.
41377         * tests/test-cond.c: New file.
41378
41379 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41380             Bruno Haible  <bruno@clisp.org>
41381
41382         * modules/cond (Dependencies): Add errno, time.
41383         * lib/glthread/cond.h: Include <time.h>.
41384         (gl_cond_define, gl_cond_define_initialized): Use the same definition
41385         across platforms.
41386
41387 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41388             Bruno Haible  <bruno@clisp.org>
41389
41390         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
41391
41392 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41393             Bruno Haible  <bruno@clisp.org>
41394
41395         * modules/tls-tests (Depends-on): Add thread, yield.
41396         (configure.ac): Remove all checks.
41397         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
41398         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
41399         gl_thread_self): Remove definitions. Include glthread/thread.h and
41400         glthread/yield.h instead.
41401         (test_tls): Pass an additional NULL argument to gl_thread_join.
41402
41403 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41404             Bruno Haible  <bruno@clisp.org>
41405
41406         * modules/lock-tests (Depends-on): Add thread, yield.
41407         (configure.ac): Remove all checks.
41408         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
41409         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
41410         gl_thread_self): Remove definitions. Include glthread/thread.h and
41411         glthread/yield.h instead.
41412         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
41413         additional NULL argument to gl_thread_join.
41414
41415 2008-09-30  Bruno Haible  <bruno@clisp.org>
41416
41417         Fix the Win32 implementation of the 'thread' module.
41418         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
41419         pointer type.
41420         (gl_thread_self): Invoke gl_thread_self_func.
41421         (gl_thread_self_func): New declaration.
41422         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
41423         (do_init_self_key, init_self_key): New functions.
41424         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
41425         Remove some fields.
41426         (running_threads, running_lock): Remove variables.
41427         (get_current_thread_handle): New function.
41428         (gl_thread_self_func, wrapper_func, glthread_create_func,
41429         glthread_join_func, gl_thread_exit_func): Largely rewritten and
41430         simplified.
41431
41432 2008-09-30  Bruno Haible  <bruno@clisp.org>
41433
41434         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
41435         files.
41436
41437 2008-09-30  Jim Meyering  <meyering@redhat.com>
41438
41439         fts.m4: correct the test for statfs.f_type
41440         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
41441         when checking for statfs.f_type.
41442
41443 2008-09-15  Simon Josefsson  <simon@josefsson.org>
41444
41445         tests: avoid some compiler warnings
41446         * tests/test-memchr.c (main): Pass NULL indirectly.
41447         * tests/test-getdate.c (main): Remove unused variable 'ret'.
41448
41449 2008-09-29  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
41450
41451         getdate.y: disallow countable dayshifts like "4 yesterday ago"
41452         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
41453         exactly specified dayshifts.
41454         (dayshift): New rule.
41455         (rel): Add dayshift.
41456         (relative_time_table) [tomorrow, yesterday, today, now]:
41457         Use tDAY_SHIFT in place of tDAY_UNIT.
41458         * tests/test-getdate.c: Add tests for now-disallowed countable
41459         dayshifts, e.g., "4 yesterday ago".
41460
41461 2008-09-29  Bruno Haible  <bruno@clisp.org>
41462
41463         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
41464         * tests/test-posix_spawn1.in.sh: Renamed from
41465         tests/test-posix_spawn.in.sh.
41466         * tests/test-posix_spawn2.c: New file.
41467         * tests/test-posix_spawn2.in.sh: New file.
41468         * modules/posix_spawnp-tests (Files): Update.
41469         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
41470
41471 2008-09-29  Bruno Haible  <bruno@clisp.org>
41472
41473         Propagate effects of putenv/setenv/unsetenv to child processes.
41474         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
41475         * lib/pipe.c (create_pipe): Likewise.
41476
41477 2008-09-29  Bruno Haible  <bruno@clisp.org>
41478
41479         Enable use of shell scripts as executables in mingw.
41480         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
41481         run the program as a shell script.
41482         * lib/pipe.c (create_pipe): Likewise.
41483         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
41484         resulting array.
41485
41486 2008-09-29  Eric Blake  <ebb9@byu.net>
41487
41488         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
41489
41490 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
41491
41492         * doc/posix-functions/accept.texi: Update mingw problems.
41493         * doc/posix-functions/bind.texi: Update mingw problems.
41494         * doc/posix-functions/close.texi: Update mingw problems.
41495         * doc/posix-functions/connect.texi: Update mingw problems.
41496         * doc/posix-functions/getpeername.texi: Update mingw problems.
41497         * doc/posix-functions/getsockname.texi: Update mingw problems.
41498         * doc/posix-functions/getsockopt.texi: Update mingw problems.
41499         * doc/posix-functions/ioctl.texi: Update mingw problems.
41500         * doc/posix-functions/listen.texi: Update mingw problems.
41501         * doc/posix-functions/recv.texi: Update mingw problems.
41502         * doc/posix-functions/recvfrom.texi: Update mingw problems.
41503         * doc/posix-functions/select.texi: Update mingw problems.
41504         * doc/posix-functions/send.texi: Update mingw problems.
41505         * doc/posix-functions/sendto.texi: Update mingw problems.
41506         * doc/posix-functions/setsockopt.texi: Update mingw problems.
41507         * doc/posix-functions/socket.texi: Update mingw problems.
41508
41509 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
41510             Bruno Haible  <bruno@clisp.org>
41511
41512         * lib/sys_select.in.h: Include sys/time.h.
41513         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
41514         * modules/sys_select: Depend on sys_time.
41515         * tests/test-sys_select.c: Test that sys/select.h defines struct
41516         timeval fully.
41517
41518 2008-09-29  Bruno Haible  <bruno@clisp.org>
41519
41520         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
41521         * lib/sys_select.in.h: Likewise.
41522
41523 2008-09-29  Bruno Haible  <bruno@clisp.org>
41524
41525         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
41526
41527 2008-09-29  Bruno Haible  <bruno@clisp.org>
41528
41529         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
41530         Set LIBSOCKET instead of augmenting LIBS.
41531         * modules/sockets (Link): New section.
41532         * modules/sockets-tests (test_sockets_LDADD): New variable.
41533         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
41534         * modules/poll-tests (test_poll_LDADD): New variable.
41535         * NEWS: Document the change.
41536
41537 2008-09-29  Bruno Haible  <bruno@clisp.org>
41538
41539         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
41540         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
41541         ARPA_INET_H directly.
41542         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41543
41544 2008-09-28  Bruno Haible  <bruno@clisp.org>
41545
41546         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
41547         from gl_HEADER_SYS_SOCKET.
41548         (gl_HEADER_SYS_SOCKET): Invoke it.
41549         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41550
41551 2008-09-28  Bruno Haible  <bruno@clisp.org>
41552
41553         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
41554         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
41555         Needed on OSF/1 4.0.
41556
41557 2008-09-28  Bruno Haible  <bruno@clisp.org>
41558
41559         Override open more carefully.
41560         * lib/open.c (orig_open): New function.
41561         (rpl_open): Use orig_open instead of open.
41562         * lib/fcntl.in.h: Add special invocation convention.
41563         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
41564         (gl_FUNC_OPEN): Invoke it.
41565
41566         Override freopen more carefully.
41567         * lib/freopen.c (orig_freopen): New function.
41568         (rpl_freopen): Use orig_freopen instead of freopen.
41569         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
41570         (gl_FUNC_FREOPEN): Invoke it.
41571
41572         Override fopen more carefully.
41573         * lib/fopen.c (orig_fopen): New function.
41574         (rpl_fopen): Use orig_fopen instead of fopen.
41575         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
41576         (gl_FUNC_FOPEN): Invoke it.
41577         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
41578
41579 2008-09-28  Bruno Haible  <bruno@clisp.org>
41580
41581         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
41582         SIGPIPE.
41583
41584 2008-09-28  Bruno Haible  <bruno@clisp.org>
41585
41586         * tests/test-sigaction.c (handler, main): Disable the check whether
41587         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
41588         glibc systems with LinuxThreads.
41589
41590 2008-09-28  Bruno Haible  <bruno@clisp.org>
41591
41592         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
41593
41594         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
41595         with AIX xlc.
41596         * lib/fcntl.in.h (open): Likewise.
41597         Reported by Rainer Tammer <tammer@tammer.net>.
41598
41599 2008-09-28  Bruno Haible  <bruno@clisp.org>
41600
41601         * modules/posix_spawnp-tests: New file.
41602         * tests/test-posix_spawn.c: New file.
41603         * tests/test-posix_spawn.in.sh: New file.
41604
41605         New module 'posix_spawnp'.
41606         * modules/posix_spawnp: New file.
41607         * lib/spawnp.c: New file, from GNU libc with modifications.
41608         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
41609
41610         New module 'posix_spawn'.
41611         * modules/posix_spawn: New file.
41612         * lib/spawn.c: New file, from GNU libc with modifications.
41613         * doc/posix-functions/posix_spawn.texi: Mention the new module.
41614
41615         New module 'posix_spawnattr_destroy'.
41616         * modules/posix_spawnattr_destroy: New file.
41617         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
41618         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
41619         module.
41620
41621         New module 'posix_spawnattr_setsigmask'.
41622         * modules/posix_spawnattr_setsigmask: New file.
41623         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
41624         modifications.
41625         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
41626         new module.
41627
41628         New module 'posix_spawnattr_getsigmask'.
41629         * modules/posix_spawnattr_getsigmask: New file.
41630         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
41631         modifications.
41632         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
41633         new module.
41634
41635         New module 'posix_spawnattr_setsigdefault'.
41636         * modules/posix_spawnattr_setsigdefault: New file.
41637         * lib/spawnattr_setdefault.c: New file, from GNU libc with
41638         modifications.
41639         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
41640         new module.
41641
41642         New module 'posix_spawnattr_getsigdefault'.
41643         * modules/posix_spawnattr_getsigdefault: New file.
41644         * lib/spawnattr_getdefault.c: New file, from GNU libc with
41645         modifications.
41646         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
41647         new module.
41648
41649         New module 'posix_spawnattr_setschedpolicy'.
41650         * modules/posix_spawnattr_setschedpolicy: New file.
41651         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
41652         modifications.
41653         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
41654         new module.
41655
41656         New module 'posix_spawnattr_getschedpolicy'.
41657         * modules/posix_spawnattr_getschedpolicy: New file.
41658         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
41659         modifications.
41660         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
41661         new module.
41662
41663         New module 'posix_spawnattr_setschedparam'.
41664         * modules/posix_spawnattr_setschedparam: New file.
41665         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
41666         modifications.
41667         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
41668         new module.
41669
41670         New module 'posix_spawnattr_getschedparam'.
41671         * modules/posix_spawnattr_getschedparam: New file.
41672         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
41673         modifications.
41674         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
41675         new module.
41676
41677         New module 'posix_spawnattr_setpgroup'.
41678         * modules/posix_spawnattr_setpgroup: New file.
41679         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
41680         modifications.
41681         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
41682         module.
41683
41684         New module 'posix_spawnattr_getpgroup'.
41685         * modules/posix_spawnattr_getpgroup: New file.
41686         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
41687         modifications.
41688         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
41689         module.
41690
41691         New module 'posix_spawnattr_setflags'.
41692         * modules/posix_spawnattr_setflags: New file.
41693         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
41694         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
41695         module.
41696
41697         New module 'posix_spawnattr_getflags'.
41698         * modules/posix_spawnattr_getflags: New file.
41699         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
41700         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
41701         module.
41702
41703         New module 'posix_spawnattr_init'.
41704         * modules/posix_spawnattr_init: New file.
41705         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
41706         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
41707         module.
41708
41709         New module 'posix_spawn_file_actions_destroy'.
41710         * modules/posix_spawn_file_actions_destroy: New file.
41711         * lib/spawn_faction_destroy.c: New file, from GNU libc with
41712         modifications.
41713         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
41714         the new module.
41715
41716         New module 'posix_spawn_file_actions_addopen'.
41717         * modules/posix_spawn_file_actions_addopen: New file.
41718         * lib/spawn_faction_addopen.c: New file, from GNU libc with
41719         modifications.
41720         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
41721         the new module.
41722
41723         New module 'posix_spawn_file_actions_adddup2'.
41724         * modules/posix_spawn_file_actions_adddup2: New file.
41725         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
41726         modifications.
41727         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
41728         the new module.
41729
41730         New module 'posix_spawn_file_actions_addclose'.
41731         * modules/posix_spawn_file_actions_addclose: New file.
41732         * lib/spawn_faction_addclose.c: New file, from GNU libc with
41733         modifications.
41734         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
41735         the new module.
41736
41737         New module 'posix_spawn_file_actions_init'.
41738         * modules/posix_spawn_file_actions_init: New file.
41739         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
41740         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
41741         new module.
41742
41743         New module 'posix_spawn-internal'.
41744         * modules/posix_spawn-internal: New file.
41745         * lib/spawn_int.h: New file, from GNU libc with modifications.
41746         * lib/spawni.c: New file, from GNU libc with modifications.
41747         * m4/posix_spawn.m4: New file.
41748
41749         New module 'spawn'.
41750         * modules/spawn: New file.
41751         * lib/spawn.in.h: New file, from GNU libc with modifications.
41752         * m4/spawn_h.m4: New file.
41753         * doc/posix-headers/spawn.texi: Mention the new module.
41754
41755 2008-09-28  Bruno Haible  <bruno@clisp.org>
41756
41757         * modules/sched-tests: New file.
41758         * tests/test-sched.c: New file.
41759
41760         New module 'sched'.
41761         * modules/sched: New file.
41762         * lib/sched.in.h: New file.
41763         * m4/sched_h.m4: New file.
41764         * doc/posix-headers/sched.texi: Mention the new module.
41765
41766 2008-09-27  Eric Blake  <ebb9@byu.net>
41767
41768         Fix previous patch, and tweak references to $0.
41769         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
41770         (func_version, func_gnulib_dir): Don't call this program
41771         gnulib-tool.
41772         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
41773         with using $0 in function.
41774         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
41775         (func_fatal_error): Reuse the name the user invoked us with.
41776
41777 2008-09-27  Bruno Haible  <bruno@clisp.org>
41778
41779         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
41780         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
41781         (gl_ICONV_H): Not here.
41782         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
41783         instead of assigning ICONV_H directly.
41784
41785         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
41786         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
41787         WCHAR_H directly.
41788
41789 2008-09-27  Bruno Haible  <bruno@clisp.org>
41790
41791         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
41792         * modules/arpa_inet (Depends-on): Add link-warning.
41793         (Makefile.am): Insert the definition of GL_LINK-WARNING.
41794         * modules/unistd (Makefile.am): Likewise.
41795
41796 2008-09-26  Bruno Haible  <bruno@clisp.org>
41797
41798         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
41799         variables.
41800         (func_version): Essentially copied from gnulib-tool.
41801         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
41802         func_readlink): Copied from gnulib-tool.
41803
41804 2008-09-26  Bruno Haible  <bruno@clisp.org>
41805
41806         * gnulib-tool (func_version): Change directory to $gnulib_dir before
41807         invoking git-version-gen.
41808
41809 2008-09-26  Bruno Haible  <bruno@clisp.org>
41810
41811         * posix-modules: Update to directory names changed on 2008-01-19.
41812         Remove commas in output before splitting into words. No more need to
41813         avoid 'ftruncate' since 2007-02-19.
41814
41815 2008-09-26  Bruno Haible  <bruno@clisp.org>
41816
41817         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
41818
41819 2008-09-26  Bruno Haible  <bruno@clisp.org>
41820
41821         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
41822         * modules/fwriteerror (Depends-on): Add errno.
41823
41824 2008-09-26  Bruno Haible  <bruno@clisp.org>
41825
41826         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
41827         * tests/test-vc-list-files-cvs.sh: Likewise.
41828
41829 2008-09-26  Bruno Haible  <bruno@clisp.org>
41830
41831         * doc/posix-headers/sys_resource.texi: Reorder items.
41832
41833 2008-09-26  Jim Meyering  <meyering@redhat.com>
41834
41835         fts: tweak inode comparison function
41836         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
41837         inode numbers, as documented.
41838
41839         fts: sort dirent entries on inode number before traversing
41840         This avoids a quadratic, seek-related performance penalty when
41841         operating on a directory containing many entries (measurable at 10k;
41842         3.5 hours at 2 million entries with a cold cache) on certain types
41843         of file systems, including ext3 and ext4, but not tmpfs.
41844         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
41845         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
41846         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
41847         (fs_handles_readdir_ordered_dirents_efficiently): New function.
41848         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
41849         (fts_build): Set the stat.st_ino member from D_INO.
41850         If it is likely to be useful, sort dirent entries on inode number.
41851
41852         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
41853         and the struct statfs.f_type member.
41854         * modules/fts (Depends-on): Add d-ino.
41855
41856 2008-09-26  Bruno Haible  <bruno@clisp.org>
41857
41858         * modules/sigpipe-die (Depends-on): Add sigpipe.
41859
41860         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
41861         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
41862         and GNULIB_STDIO_H_SIGPIPE are set.
41863         * lib/stdio-write.c: New file.
41864         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
41865         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
41866         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
41867         REPLACE_STDIO_WRITE_FUNCS.
41868         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
41869         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
41870         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
41871         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
41872         * modules/stdio (Files): Add lib/stdio-write.c.
41873         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
41874         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
41875         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
41876         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
41877         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
41878         REPLACE_FPRINTF_POSIX.
41879         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
41880         REPLACE_PRINTF_POSIX.
41881         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
41882         REPLACE_VFPRINTF_POSIX.
41883         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
41884         REPLACE_VPRINTF_POSIX.
41885         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
41886         SIGPIPE issue.
41887         * doc/posix-functions/fputc.texi: Likewise.
41888         * doc/posix-functions/fputs.texi: Likewise.
41889         * doc/posix-functions/fwrite.texi: Likewise.
41890         * doc/posix-functions/printf.texi: Likewise.
41891         * doc/posix-functions/putc.texi: Likewise.
41892         * doc/posix-functions/putchar.texi: Likewise.
41893         * doc/posix-functions/puts.texi: Likewise.
41894         * doc/posix-functions/vfprintf.texi: Likewise.
41895         * doc/posix-functions/vprintf.texi: Likewise.
41896
41897         * modules/safe-write (Depends-on): Add write.
41898
41899         * modules/sigpipe-tests: New file.
41900         * tests/test-sigpipe.c: New file.
41901         * tests/test-sigpipe.sh: New file.
41902
41903         * modules/write: New file.
41904         * lib/unistd.in.h: Include <sys/types.h>.
41905         (write): New declaration.
41906         * lib/write.c: New file.
41907         * m4/write.m4: New file.
41908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41909         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
41910         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
41911         GNULIB_WRITE, REPLACE_WRITE.
41912         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
41913         and the SIGPIPE issue.
41914
41915         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
41916         (raise): New declaration.
41917         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
41918         (ext_signal): New function.
41919         (rpl_raise): New function.
41920         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
41921         GNULIB_SIGNAL_H_SIGPIPE.
41922         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
41923         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
41924
41925         * modules/sigpipe: New file.
41926         * m4/sigpipe.m4: New file.
41927
41928 2008-09-25  Derek Price  <derek@ximbiot.com>
41929             Bruno Haible  <bruno@clisp.org>
41930
41931         * gnulib-tool (func_import): Report all license incompatibilities, not
41932         just the first one.
41933
41934 2008-09-25  Bruno Haible  <bruno@clisp.org>
41935
41936         * gnulib-tool (func_import): When computing the edits, consider not
41937         only the Makefile.ams that exist but also those that will be generated.
41938
41939 2008-09-25  Simon Josefsson  <simon@josefsson.org>
41940
41941         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
41942         fixes gnulib-tool --test warning about duplicate dependency.
41943
41944 2008-09-25  Bruno Haible  <bruno@clisp.org>
41945
41946         * gnulib-tool: Don't ask the user to perform edits in the generated
41947         Makefile.ams.
41948         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
41949         apply to the Makefile.am being generated.
41950         (func_emit_tests_Makefile_am): Execute edits that apply to the
41951         Makefile.am being generated.
41952         (func_import): Setup list of Makefile.am edits before emitting the
41953         Makefile.ams, not at the end.
41954         (func_create_testdir): Update.
41955         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41956
41957 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41958
41959         * gnulib-tool (func_import): Store the --tests-base option in the
41960         comment in gnulib-cache.m4.
41961
41962 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
41963
41964         * NEWS: Document increased portability that sys_select now provides.
41965
41966         * lib/sys_select.in.h: Install select wrapper.
41967         * lib/sys_socket.in.h: Use more descriptive name when there is no
41968         select wrapper.
41969         * lib/winsock-select.c: New.
41970         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
41971         Require gl_HEADER_SYS_SOCKET.
41972         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
41973         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
41974         * tests/test-sys_select.c: Add functional tests.
41975
41976 2008-09-24  Eric Blake  <ebb9@byu.net>
41977
41978         open, fopen: close fd leak in last patch
41979         * lib/open.c (rpl_open): Close fd before returning error.
41980         * lib/fopen.c (rpl_fopen): Close fd before returning error.
41981         * doc/posix-functions/open.texi (open): Document that Irix also
41982         has the bug.
41983         * doc/posix-functions/fopen.texi (fopen): Likewise.
41984         Reported by Paolo Bonzini.
41985
41986 2008-09-24  Bruno Haible  <bruno@clisp.org>
41987
41988         Ensure that a filename ending in a slash cannot be used to access a
41989         non-directory.
41990         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
41991         to check whether it's really a directory.
41992         * lib/fopen.c: Include fcntl.h, unistd.h.
41993         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
41994         and fdopen().
41995         * modules/fopen (Depends-on): Add unistd.
41996         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
41997         * tests/test-fopen.c (main): Likewise.
41998         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
41999         * doc/posix-functions/fopen.texi: Likewise.
42000         Reported by Eric Blake.
42001
42002 2008-09-23  Eric Blake  <ebb9@byu.net>
42003
42004         c-stack: avoid compiler optimizations when provoking overflow
42005         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
42006         recursion harder to optimize, to ensure a stack overflow occurs.
42007         * tests/test-c-stack.c (recurse): Likewise.
42008         Borrowed from libsigsegv.
42009
42010         c-stack: work around Irix sigaltstack bug
42011         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
42012         whether sigaltstack uses wrong end of stack_t (copied in part from
42013         libsigsegv).
42014         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
42015         Irix bug, without requiring an over-allocation.
42016         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
42017         bug.
42018
42019         fopen: document mingw bug on directories
42020         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
42021         not allowing a stream visiting a directory, even though reading
42022         from such a stream is not portable.
42023
42024 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
42025
42026         * lib/poll.c: Rewrite.
42027         * modules/poll: Depend on alloca.
42028
42029 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
42030
42031         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
42032         instead define prototypes for a full set of wrappers.  Ensure
42033         that Cygwin does not use the compatibility code, which is only
42034         for MinGW.
42035         * lib/winsock.c: New.
42036         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
42037         * modules/sys_socket: Add lib/winsock.c.
42038
42039         * modules/poll-tests: Add errno and perror.
42040         * tests/test-poll.c: Use ioctl, not ioctlsocket.
42041
42042 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
42043
42044         * tests/test-poll.c: Downgrade minimum needed Winsock version.
42045
42046 2008-09-23  Bruno Haible  <bruno@clisp.org>
42047
42048         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
42049         * doc/glibc-functions/*: Likewise.
42050
42051 2008-09-23  Simon Josefsson  <simon@josefsson.org>
42052
42053         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
42054         success.
42055
42056 2008-09-22  Eric Blake  <ebb9@byu.net>
42057             Bruno Haible  <bruno@clisp.org>
42058
42059         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
42060         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
42061         supply %A but mishandle pseudo-NaN.
42062         Reported by Simon Josefsson.
42063
42064 2008-09-21  Bruno Haible  <bruno@clisp.org>
42065
42066         * tests/test-lock.c (main): Tweak skip message.
42067         * tests/test-tls.c (main): Likewise.
42068
42069 2008-09-21  Bruno Haible  <bruno@clisp.org>
42070
42071         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
42072         whether 'struct sigaction' has sa_sigaction here...
42073         (gl_PREREQ_SIG_HANDLER_H): ... not here.
42074         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
42075
42076 2008-09-21  Bruno Haible  <bruno@clisp.org>
42077
42078         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
42079         section.
42080         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
42081         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
42082         the new section.
42083         (Support for obsolete systems lacking POSIX:2001): New section.
42084         (String handling <string.h>): Move strdup to the new section.
42085         Suggested by Simon Josefsson and Paolo Bonzini.
42086
42087 2008-09-21  Bruno Haible  <bruno@clisp.org>
42088
42089         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
42090         exponents in %e and %g results on 'long double'. Needed for mingw's
42091         improved *printf functions.
42092         * tests/test-vasprintf-posix.c (test_function): Likewise.
42093         * tests/test-snprintf-posix.h (test_function): Likewise.
42094         * tests/test-sprintf-posix.h (test_function): Likewise.
42095         Reported by Eric Blake.
42096
42097 2008-09-21  Bruno Haible  <bruno@clisp.org>
42098
42099         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
42100         * tests/test-sprintf-posix.h (test_function): Likewise.
42101
42102 2008-09-21  Bruno Haible  <bruno@clisp.org>
42103
42104         * modules/getpass (Depends-on): Add strdup-posix.
42105
42106         New module 'strdup-posix'.
42107         * modules/strdup-posix: New file.
42108         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
42109         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
42110         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42111         REPLACE_STRDUP.
42112         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
42113         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
42114         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42115         strdup-posix.
42116
42117         * modules/strdup (Depends-on): Remove malloc-posix.
42118
42119 2008-09-20  Bruno Haible  <bruno@clisp.org>
42120
42121         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
42122         Wildenhues.
42123
42124 2008-09-20  Bruno Haible  <bruno@clisp.org>
42125
42126         Ensure that wint_t gets defined on IRIX 5.3.
42127         * lib/wchar.in.h (wint_t): Define if not defined by the system.
42128         * lib/wctype.in.h (wint_t): Likewise.
42129         (__wctype_wint_t): Remove type.
42130         (isw*): Use wint_t instead of __wctype_wint_t.
42131         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
42132         * modules/wchar (Files): Add m4/wint_t.m4.
42133         (Makefile.am): Substitute HAVE_WINT_T.
42134         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
42135         * tests/test-wctype.c: Check that wint_t is defined.
42136         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
42137         * doc/posix-headers/wctype.texi: Likewise.
42138         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42139
42140 2008-09-18  Bruno Haible  <bruno@clisp.org>
42141
42142         * gnulib-tool (func_exit): Update comment.
42143
42144 2008-09-18  Simon Josefsson  <simon@josefsson.org>
42145
42146         * modules/getaddrinfo (Depends-on): Remove strdup, this module
42147         assumes strdup exists and does not depend on strdup to return
42148         ENOMEM on out of memory conditions.
42149
42150 2008-09-18  Bruno Haible  <bruno@clisp.org>
42151
42152         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
42153         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
42154         digits for the exponent.
42155
42156 2008-09-18  Jim Meyering  <meyering@redhat.com>
42157             Bruno Haible  <bruno@clisp.org>
42158
42159         * lib/vasnprintf.c (decimal_point_char): Define also if
42160         NEED_PRINTF_INFINITE_LONG_DOUBLE.
42161
42162 2008-09-16  Bruno Haible  <bruno@clisp.org>
42163         and Eric Blake  <ebb9@byu.net>
42164
42165         vasnprintf: support Irix 5.3
42166         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
42167         that mishandle long double infinity.
42168         Reported by Tom G. Christensen.
42169
42170 2008-09-16  Bruno Haible  <bruno@clisp.org>
42171
42172         * doc/glibc-functions/scandir.texi: Mention the function is missing on
42173         Solaris 9.
42174         * doc/glibc-functions/alphasort.texi: Likewise.
42175         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
42176
42177 2008-09-16  Jim Meyering  <meyering@redhat.com>
42178
42179         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
42180         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
42181         a umask modification leak out of a subshell.  Otherwise, the
42182         opensolaris /bin/sh would be accepted and thus cause unwarranted
42183         failures in the coreutils test suite.
42184
42185 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
42186
42187         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
42188         to succeed.
42189
42190 2008-09-16  Jim Meyering  <meyering@redhat.com>
42191
42192         avoid spurious test failure when library is built without ACL support
42193         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
42194         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
42195         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
42196         * tests/test-copy-acl.sh: Likewise.
42197
42198 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42199
42200         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
42201         based on character occurrence counts.
42202
42203 2008-09-15  Eric Blake  <ebb9@byu.net>
42204
42205         tests: avoid some compiler warnings
42206         * tests/test-memchr.c (main): Pass NULL indirectly.
42207         * tests/test-closein.c (main): Avoid unused variable.
42208
42209 2008-09-15  Bruno Haible  <bruno@clisp.org>
42210
42211         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
42212         are missing on OpenBSD 4.0 individually.
42213         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42214
42215 2008-09-15  Bruno Haible  <bruno@clisp.org>
42216
42217         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
42218         * doc/posix-functions/strerror.texi: Mention also Cygwin.
42219         * doc/posix-functions/perror.texi: Likewise.
42220         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
42221         is missing.
42222         Reported by Eric Blake.
42223
42224         * lib/errno.in.h: Use replacement values >= 2000.
42225         Reported by Eric Blake.
42226
42227 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42228
42229         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
42230         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
42231         limit.
42232         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
42233         compareseq was aborted.
42234
42235 2008-09-14  Bruno Haible  <bruno@clisp.org>
42236
42237         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
42238         yvec_edit_count.
42239         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
42240         (fstrcmp_bounded): Simplify result computation accordingly.
42241
42242 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42243
42244         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
42245         (fstrcmp): Define in terms of fstrcmp_bounded.
42246         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
42247         lower_bound argument.
42248         Return quickly if the result is certainly < lower_bound.
42249         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
42250
42251 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42252
42253         * lib/diffseq.h (EARLY_ABORT): New macro.
42254         (compareseq): Change return type to bool. Return true when EARLY_ABORT
42255         evaluates to true.
42256
42257 2008-09-14  Bruno Haible  <bruno@clisp.org>
42258
42259         * modules/perror-tests: New file.
42260         * tests/test-perror.sh: New file.
42261         * tests/test-perror.c: New file.
42262
42263         New module 'perror'.
42264         * lib/stdio.in.h (perror): New declaration.
42265         * lib/perror.c: New file.
42266         * m4/perror.m4: New file.
42267         * modules/perror: New file.
42268         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
42269         * doc/posix-functions/perror.texi: Mention the perror module.
42270         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
42271         REPLACE_PERROR.
42272         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
42273         REPLACE_PERROR.
42274
42275 2008-09-14  Bruno Haible  <bruno@clisp.org>
42276
42277         * modules/stdio (Makefile.am): Reorder to match the order in
42278         lib/stdio.in.h.
42279         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42280
42281 2008-09-13  Bruno Haible  <bruno@clisp.org>
42282
42283         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
42284
42285 2008-09-13  Bruno Haible  <bruno@clisp.org>
42286
42287         Extend strerror to cover the added errno values.
42288         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
42289         (rpl_strerror): Provide error messages for the added errno values and
42290         for the WSA* values.
42291         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
42292         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
42293         strerror.
42294         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
42295         * modules/strerror (Depends-on): Add errno.
42296         * doc/posix-functions/strerror.texi: Document the change.
42297         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
42298         and EOVERFLOW.
42299
42300 2008-09-13  Bruno Haible  <bruno@clisp.org>
42301
42302         * modules/EOVERFLOW: Remove file.
42303         * m4/eoverflow.m4: Remove file.
42304         * modules/EOVERFLOW-tests: Remove file.
42305         * tests/test-EOVERFLOW.c: Remove file.
42306         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
42307         * modules/ftell (Depends-on): Likewise.
42308         * modules/getdelim (Depends-on): Likewise.
42309         * modules/getugroups (Depends-on): Likewise.
42310         * modules/poll (Depends-on): Likewise.
42311         * modules/snprintf (Depends-on): Likewise.
42312         * modules/sprintf-posix (Depends-on): Likewise.
42313         * modules/vasnprintf (Depends-on): Likewise.
42314         * modules/vasprintf (Depends-on): Likewise.
42315         * modules/vfprintf-posix (Depends-on): Likewise.
42316         * modules/vsnprintf (Depends-on): Likewise.
42317         * modules/vsprintf-posix (Depends-on): Likewise.
42318         * modules/xvasprintf (Depends-on): Likewise.
42319         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42320         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
42321         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
42322         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
42323         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42324         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
42325         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
42326         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
42327         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42328         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
42329         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
42330         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
42331         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42332         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
42333         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
42334         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
42335         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42336         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
42337         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
42338         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
42339         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42340         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
42341         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
42342         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
42343         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
42344         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42345         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
42346         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
42347         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
42348         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
42349         * MODULES.html.sh: Remove EOVERFLOW.
42350         * NEWS: Mention the change.
42351
42352 2008-09-13  Bruno Haible  <bruno@clisp.org>
42353
42354         * modules/errno-tests: New file.
42355         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
42356
42357         * lib/errno.in.h: New file.
42358         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
42359         * modules/errno: New file.
42360         * doc/posix-headers/errno.texi: Update documentation.
42361         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
42362
42363 2008-09-13  Bruno Haible  <bruno@clisp.org>
42364
42365         * tests/test-poll.c: Use #if for native Windows, rather than testing
42366         __MSVCRT__.
42367
42368 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42369             Bruno Haible  <bruno@clisp.org>
42370
42371         * lib/glob.c: Don't include <pwd.h> on native Windows.
42372         (WINDOWS32): New macro.
42373         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
42374
42375 2008-09-13  Bruno Haible  <bruno@clisp.org>
42376
42377         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
42378         (ETIMEDOUT): Remove macro.
42379         (glthread_cond_timedwait_multithreaded): New declaration.
42380         (glthread_cond_timedwait): Use it.
42381         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
42382         (glthread_cond_timedwait_multithreaded): New function.
42383
42384 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42385
42386         * modules/poll-tests: Do not check for io.h.
42387         * tests/test-poll.c: Check for __MSVCRT__ instead.
42388
42389 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42390
42391         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
42392         * modules/poll-tests: Add inet_pton, stdbool, sockets.
42393         * tests/test-poll.c: Use them.  Use _pipe on Windows.
42394
42395 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42396
42397         * modules/poll-tests: New.
42398         * tests/test-poll.c: New.
42399
42400 2008-09-12  Eric Blake  <ebb9@byu.net>
42401
42402         frexp: test for NetBSD failure on -0.0
42403         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
42404         not all, bugs from NetBSD 3.0 have been fixed.
42405         * doc/posix-functions/frexp.texi (frexp): Document bug.
42406         Reported by Thomas Klausner.
42407
42408         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
42409         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
42410         literal -0.0.
42411         Reported by Jonathan C. Patschke <jp@centtech.com>.
42412
42413 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42414
42415         * lib/glthread/cond.h: Use dummy implementation also if
42416         USE_WIN32_THREADS.
42417
42418 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42419
42420         * modules/fnmatch-posix (License): Change to LGPLv2+.
42421         * modules/fnmatch-gnu (License): Likewise.
42422
42423 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42424
42425         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
42426
42427 2008-09-11  Jim Meyering  <meyering@redhat.com>
42428
42429         * users.txt: Add gtk-vnc.
42430
42431 2008-09-08  Simon Josefsson  <simon@josefsson.org>
42432
42433         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
42434         rotate amounts.
42435
42436         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
42437         required for 16-bit and 8-bit rotates.
42438         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
42439         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
42440         UINT8_MAX instead of hard-coded constants.
42441         Suggested by Paul Eggert.
42442
42443 2008-09-07  Bruno Haible  <bruno@clisp.org>
42444
42445         * tests/test-striconveh.c (main): Check behaviour when converting from
42446         UTF-7.
42447
42448         Make striconveh work better with stateful encodings.
42449         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
42450         that iconv does not increment the inptr when returning -1/EINVAL.
42451
42452 2008-09-07  Bruno Haible  <bruno@clisp.org>
42453
42454         * build-aux/config.rpath: Update according to libtool-2.2.6.
42455         * build-aux/config.libpath: Likewise.
42456
42457 2008-09-06  Bruno Haible  <bruno@clisp.org>
42458
42459         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
42460         * lib/freadptr.c (freadptr): Likewise.
42461         * lib/freadseek.c (freadptrinc): Likewise.
42462         Reported by Simon Josefsson.
42463
42464 2008-09-06  Bruno Haible  <bruno@clisp.org>
42465
42466         * modules/freadptr (License): Change to LGPLv2+.
42467         * modules/freadseek (License): Likewise.
42468         Suggested by Eric Blake.
42469
42470         * modules/memchr2 (License): Change to LGPLv2+.
42471         Approved by Eric Blake.
42472
42473 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42474             Bruno Haible  <bruno@clisp.org>
42475
42476         Make gnulib-tool work with native 'sed' on AIX.
42477         * gnulib-tool (sed_noop): New variable.
42478         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
42479         func_add_or_update, func_create_testdir): Use it to initialize sed
42480         script variables.
42481         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42482
42483 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
42484             Bruno Haible  <bruno@clisp.org>
42485
42486         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
42487         also works after #include directives.
42488
42489 2008-09-04  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
42490
42491         getdate.y: reject an out-of-range timezone value
42492         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
42493         the range [-24...+24].  When specified with only one or two digits,
42494         * tests/test-getdate.c: Tests for the fix.
42495         * doc/getdate.texi: Document this change.
42496
42497 2008-09-03  Bruno Haible  <bruno@clisp.org>
42498
42499         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
42500
42501 2008-09-02  Simon Josefsson  <simon@josefsson.org>
42502
42503         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
42504         <bruce.korb@gmail.com> with ideas from Ben Pfaff
42505         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
42506         Blake <ebb9@byu.net>.
42507
42508         * tests/test-bitrotate.c: Add more test vectors.
42509
42510 2008-09-02  Eric Blake  <ebb9@byu.net>
42511
42512         vasnprintf-posix: handle large precision via %.*d
42513         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
42514         when handling it ourselves.
42515         * tests/test-vasnprintf-posix.c (test_function): Add test.
42516         * tests/test-snprintf-posix.h (test_function): Likewise.
42517         * tests/test-sprintf-posix.h (test_function): Likewise.
42518         * tests/test-vasprintf-posix.c (test_function): Likewise.
42519         Reported by Alain Guibert.
42520
42521 2008-09-01  Eric Blake  <ebb9@byu.net>
42522
42523         c-stack: make configure-time check more robust
42524         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
42525         successful sigaction call.
42526         Reported by Tom G. Christensen.
42527
42528 2008-09-01  Bruno Haible  <bruno@clisp.org>
42529
42530         New module 'findprog-lgpl'.
42531         * modules/findprog-lgpl: New file.
42532         * lib/findprog-lgpl.c: New file.
42533         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
42534         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
42535         to decide whether to use strdup or xstrdup, concatenated_filename or
42536         xconcatenated_filename.
42537
42538 2008-09-01  Bruno Haible  <bruno@clisp.org>
42539
42540         Split module 'concat-filename' into 'concat-filename' (LGPL) and
42541         'xconcat-filename' (GPL).
42542         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
42543         (License): Change to LGPLv2+.
42544         * modules/xconcat-filename: New file.
42545         * lib/concat-filename.h (concatenated_filename): Change specification.
42546         (xconcatenated_filename): New declaration.
42547         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
42548         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
42549         memory situations.
42550         * lib/xconcat-filename.c: New file.
42551         * NEWS: Mention the change.
42552         * lib/findprog.c: Include concat-filename.h, not filename.h.
42553         (find_in_path): Use xconcatenated_filename instead of
42554         concatenated_filename.
42555         * lib/javacomp.c: Include concat-filename.h, not filename.h.
42556         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
42557         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
42558         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
42559         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
42560         instead of concatenated_filename.
42561         * lib/javaexec.c: Include concat-filename.h, not filename.h.
42562         (execute_java_class): Use xconcatenated_filename instead of
42563         concatenated_filename.
42564         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
42565         * modules/javacomp (Depends-on): Likewise.
42566         * modules/javaexec (Depends-on): Likewise.
42567
42568 2008-09-01  Bruno Haible  <bruno@clisp.org>
42569
42570         Split module 'filename' into 'filename' and 'concat-filename'.
42571         * modules/filename: Keep only lib/filename.h.
42572         (License): Change to LGPLv2+.
42573         * modules/concat-filename: New file, extracted from modules/filename.
42574         * lib/filename.h (concatenated_filename): Remove declaration.
42575         * lib/concat-filename.h: New file, extracted from lib/filename.h.
42576         * lib/concat-filename.c: Include concat-filename.h.
42577         * NEWS: Mention the change.
42578
42579 2008-09-01  Simon Josefsson  <simon@josefsson.org>
42580
42581         * lib/bitrotate.h (rotl8, rotr8): Add.
42582
42583         * modules/bitrotate (configure.ac): Need
42584         AC_REQUIRE([AC_C_INLINE]).
42585         (Description): Mention stdint.h.  Reported by Bruno Haible
42586         <bruno@clisp.org>.
42587
42588         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
42589         Paolo Bonzini <bonzini@gnu.org>.
42590
42591 2008-08-31  Bruno Haible  <bruno@clisp.org>
42592
42593         Assume Solaris specific bi-arch conventions on Solaris systems.
42594         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
42595         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
42596         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
42597         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
42598         like acl_libdirstem.
42599         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
42600         acl_libdirstem.
42601         * NEWS: Mention the change.
42602         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
42603
42604 2008-08-31  Jim Meyering  <meyering@redhat.com>
42605
42606         * lib/strftime.h: Add comments describing the two added arguments.
42607
42608         remove duplicate #include directives
42609         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
42610         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
42611
42612 2008-08-31  Bruno Haible  <bruno@clisp.org>
42613
42614         New module 'sigpipe-die'.
42615         * modules/sigpipe-die: New file.
42616         * lib/sigpipe-die.h: New file.
42617         * lib/sigpipe-die.c: New file.
42618         * MODULES.html.sh (Signal handling): Add sigpipe-die.
42619
42620 2008-08-31  Bruno Haible  <bruno@clisp.org>
42621
42622         Don't override previously installed signal handlers.
42623         * lib/fatal-signal.c (saved_sigactions): New variable.
42624         (uninstall_handlers): Reset the signal to the saved handler, not
42625         to SIG_DFL (except when ignored).
42626         (install_handlers): Save the previous handlers.
42627
42628 2008-08-30  Bruno Haible  <bruno@clisp.org>
42629
42630         * gnulib-tool (func_reset_sigpipe): New function.
42631         (func_get_automake_snippet, func_modules_transitive_closure,
42632         func_import): Invoke it before a join command that reads from stdin,
42633         to avoid "echo: write error: Broken pipe" error messages on stderr.
42634         Reported by Sam Steingold <sds@gnu.org>.
42635
42636 2008-08-30  Bruno Haible  <bruno@clisp.org>
42637
42638         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
42639         Code copied from m4/open.m4.
42640         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
42641         access and the filename ends in a slash. Code copied from lib/open.c.
42642         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
42643         * tests/test-fopen.c (main): Check against bug with trailing slash.
42644
42645 2008-08-29  Bruno Haible  <bruno@clisp.org>
42646
42647         Avoid some "gcc -pedantic" warnings.
42648         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
42649         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
42650         * lib/dirent.in.h: Likewise.
42651         * lib/fcntl.in.h: Likewise.
42652         * lib/float.in.h: Likewise.
42653         * lib/iconv.in.h: Likewise.
42654         * lib/inttypes.in.h: Likewise.
42655         * lib/locale.in.h: Likewise.
42656         * lib/math.in.h: Likewise.
42657         * lib/netinet_in.in.h: Likewise.
42658         * lib/search.in.h: Likewise.
42659         * lib/signal.in.h: Likewise.
42660         * lib/stdarg.in.h: Likewise.
42661         * lib/stdint.in.h: Likewise.
42662         * lib/stdio.in.h: Likewise.
42663         * lib/stdlib.in.h: Likewise.
42664         * lib/string.in.h: Likewise.
42665         * lib/strings.in.h: Likewise.
42666         * lib/sys_select.in.h: Likewise.
42667         * lib/sys_socket.in.h: Likewise.
42668         * lib/sys_stat.in.h: Likewise.
42669         * lib/sys_time.in.h: Likewise.
42670         * lib/sysexits.in.h: Likewise.
42671         * lib/time.in.h: Likewise.
42672         * lib/unistd.in.h: Likewise.
42673         * lib/wchar.in.h: Likewise.
42674         * lib/wctype.in.h: Likewise.
42675         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
42676         * modules/fchdir (Makefile.am): Likewise.
42677         * modules/fcntl (Makefile.am): Likewise.
42678         * modules/float (Makefile.am): Likewise.
42679         * modules/iconv_open (Makefile.am): Likewise.
42680         * modules/inttypes (Makefile.am): Likewise.
42681         * modules/locale (Makefile.am): Likewise.
42682         * modules/math (Makefile.am): Likewise.
42683         * modules/netinet_in (Makefile.am): Likewise.
42684         * modules/search (Makefile.am): Likewise.
42685         * modules/signal (Makefile.am): Likewise.
42686         * modules/stdarg (Makefile.am): Likewise.
42687         * modules/stdint (Makefile.am): Likewise.
42688         * modules/stdio (Makefile.am): Likewise.
42689         * modules/stdlib (Makefile.am): Likewise.
42690         * modules/string (Makefile.am): Likewise.
42691         * modules/strings (Makefile.am): Likewise.
42692         * modules/sys_select (Makefile.am): Likewise.
42693         * modules/sys_socket (Makefile.am): Likewise.
42694         * modules/sys_stat (Makefile.am): Likewise.
42695         * modules/sys_time (Makefile.am): Likewise.
42696         * modules/sysexits (Makefile.am): Likewise.
42697         * modules/time (Makefile.am): Likewise.
42698         * modules/unistd (Makefile.am): Likewise.
42699         * modules/wchar (Makefile.am): Likewise.
42700         * modules/wctype (Makefile.am): Likewise.
42701         Reported by Reuben Thomas <rrt@sc3d.org>.
42702
42703 2008-08-29  Bruno Haible  <bruno@clisp.org>
42704
42705         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
42706         any more.
42707
42708 2008-08-29  Simon Josefsson  <simon@josefsson.org>
42709
42710         * MODULES.html.sh (Misc): Add bitrotate.
42711
42712         * modules/bitrotate: New file.
42713
42714         * lib/bitrotate.h: New file.
42715
42716         * modules/bitrotate-tests: New file.
42717
42718         * tests/test-bitrotate.c: New file.
42719
42720         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
42721         on the bitrotate module.
42722
42723         * lib/arctwo.c: Use new bitrotate module.
42724
42725 2008-08-29  Jim Meyering  <meyering@redhat.com>
42726
42727         bootstrap: merge changes from coreutils
42728         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
42729         of copied files.  Remove a kludge, now that this is fixed.
42730         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
42731         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
42732         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
42733
42734 2008-08-29  Bruno Haible  <bruno@clisp.org>
42735
42736         * MODULES.html.sh: Remove --cvs-urls option.
42737
42738 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
42739
42740         maint.mk: adjust to file name change
42741         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
42742
42743 2008-08-28  Jim Meyering  <meyering@redhat.com>
42744
42745         * modules/getndelim2 (License): Relicense to LGPLv2+.
42746         Approved by Richard Stallman for the version of 1995, and by
42747         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
42748
42749 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
42750
42751         * lib/getdelim.c (flockfile, funlockfile): Make all of them
42752         dummy if one is not available.  Do not touch them if
42753         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
42754         (getc_maybe_unlocked): New.
42755         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
42756
42757 2008-08-26  Eric Blake  <ebb9@byu.net>
42758
42759         doc/INSTALL: resync from autoconf
42760         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
42761         (INSTALL_PRELUDE): Delete; this is done more efficiently by
42762         moving...
42763         * install.texi [!autoconf]: ...here.  Resync from autoconf.
42764         * INSTALL: Regenerate.
42765         * INSTALL.ISO: New file.
42766         * INSTALL.UTF-8: Likewise.
42767
42768 2008-08-26  Jim Meyering  <meyering@redhat.com>
42769
42770         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
42771         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
42772         these definitions conditional, so that they may be overridden, too.
42773
42774 2008-08-26  Bruno Haible  <bruno@clisp.org>
42775
42776         Generate INSTALL file variants with prettier quotes.
42777         * doc/Makefile (INSTALL_PRELUDE): New macro.
42778         (INSTALL): Use it.
42779         (INSTALL.ISO, INSTALL.UTF-8): New rules.
42780
42781 2008-08-26  Bruno Haible  <bruno@clisp.org>
42782
42783         Run makeinfo in an English locale.
42784         * doc/Makefile (MAKEINFO): New variable.
42785
42786 2008-08-26  Bruno Haible  <bruno@clisp.org>
42787
42788         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
42789         Suggested by Eric Blake.
42790
42791 2008-08-25  Bruno Haible  <bruno@clisp.org>
42792
42793         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
42794
42795 2008-08-25  Eric Blake  <ebb9@byu.net>
42796
42797         c-stack: test that stack overflow can be caught
42798         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
42799         that platform allows handling stack overflow; at least OS/2 EMX
42800         has sigaltstack, but crashes before transferring control to
42801         handler on stack overflow.
42802         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
42803         check for HAVE_STACK_OVERFLOW_HANDLING.
42804         Reported by Elbert Pol.
42805
42806 2008-08-25  Bruno Haible  <bruno@clisp.org>
42807
42808         * doc/posix-functions/strftime.texi: Fix description of strftime
42809         module.
42810
42811 2008-08-24  Bruno Haible  <bruno@clisp.org>
42812
42813         * tests/uniwidth/test-uc_width2.c: New file.
42814         * tests/uniwidth/test-uc_width2.sh: New file.
42815         * modules/uniwidth/width-tests (Files): Add the new files.
42816         (TESTS): Add uniwidth/test-uc_width2.sh.
42817         (TESTS_ENVIRONMENT): New variable.
42818         (check_PROGRAMS): Add test-uc_width2.
42819         (test_uc_width2_SOURCES): New variable.
42820
42821         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
42822         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
42823         not 0x00AB.
42824         Reported by Alexander V. Lukyanov <lav@netis.ru>.
42825
42826 2008-08-22  Eric Blake  <ebb9@byu.net>
42827
42828         test-lock, test-tls: mention why a test is skipped
42829         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
42830         skipped.
42831         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
42832
42833         count-one-bits: relax license
42834         * modules/count-one-bits (License): Relicense to LGPLv2+.
42835         Suggested by Ludovic Courtès, approved by Ben Pfaff.
42836
42837 2008-08-22  Andreas Schwab  <schwab@suse.de>
42838
42839         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
42840         Remove spurious space in assignment.
42841
42842 2008-08-21  Simon Josefsson  <simon@josefsson.org>
42843
42844         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
42845         Paul Eggert <eggert@CS.UCLA.EDU>.
42846
42847 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
42848
42849         * modules/gettext: Add m4/threadlib.m4.
42850
42851 2008-08-19  Eric Blake  <ebb9@byu.net>
42852
42853         test-c-stack: fix compilation failure on FreeBSD 5.0
42854         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
42855         headers before <sys/resource.h>.
42856         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
42857         the bug.
42858         Reported by Nelson H. F. Beebe.
42859
42860         strverscmp: migrate from "strverscmp.h" to <string.h>
42861         * modules/string (Makefile.am): Add new hooks.
42862         * modules/strverscmp (Files): Remove strverscmp.h.
42863         (Depends-on): Add string.
42864         (configure.ac): Add indicator.
42865         (Include): Mention new header.
42866         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
42867         defaults.
42868         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
42869         results.
42870         * lib/strverscmp.h: Delete.
42871         * lib/string.in.h (strverscmp): Provide declaration, when needed.
42872         * tests/test-strverscmp.c (includes): Adjust client.
42873         * lib/check-version.c (includes): Likewise.
42874         * NEWS: Document the change.
42875
42876         strverscmp: add unit test
42877         * modules/strverscmp-tests: New file.
42878         * tests/test-strverscmp.c: Likewise.
42879
42880 2008-08-19  Simon Josefsson  <simon@josefsson.org>
42881
42882         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
42883         regarding Windows crypto stuff, from Mono.
42884
42885 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
42886
42887         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
42888         if present, for intel RND.  Return error on failures.
42889
42890 2008-08-18  Ben Pfaff  <blp@gnu.org>
42891
42892         gitlog-to-changelog: give better diagnostic for failed pipe-open
42893         * build-aux/gitlog-to-changelog: Improve error message: suggest
42894         that the version of Git may be too old.
42895
42896 2008-08-18  Simon Josefsson  <simon@josefsson.org>
42897
42898         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
42899         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
42900
42901 2008-08-18  Bruno Haible  <bruno@clisp.org>
42902
42903         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
42904         pthread_in_use().
42905
42906 2008-08-18  Bruno Haible  <bruno@clisp.org>
42907
42908         * lib/glthread/threadlib.c: Include <pthread.h>.
42909
42910 2008-08-18  Bruno Haible  <bruno@clisp.org>
42911
42912         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
42913         glthread_recursive_lock_* macros.
42914         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
42915         Fix syntax error.
42916
42917 2008-08-18  Bruno Haible  <bruno@clisp.org>
42918
42919         * lib/glthread/thread.c: Avoid forcing a context switch right after
42920         thread creation.
42921
42922 2008-08-17  Bruno Haible  <bruno@clisp.org>
42923
42924         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
42925         * lib/glthread/thread.h: Provide Win32 specific implementation.
42926         * modules/thread (Files): Add lib/glthread/thread.c.
42927         (Depends-on): Add lock.
42928         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
42929
42930 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42931
42932         New module 'yield'.
42933         * modules/yield: New file.
42934         * lib/glthread/yield.h: New file.
42935         * m4/yield.m4: New file.
42936         * MODULES.html.sh (Multithreading): Add yield.
42937
42938 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42939
42940         New module 'thread'.
42941         * modules/thread: New file.
42942         * lib/glthread/thread.h: New file.
42943         * m4/thread.m4: New file.
42944         * MODULES.html.sh (Multithreading): Add thread.
42945
42946 2008-08-17  Bruno Haible  <bruno@clisp.org>
42947
42948         * lib/glthread/lock.h: Include <stdlib.h> always.
42949         * lib/glthread/tls.h: Likewise.
42950         * lib/glthread/cond.h: Likewise.
42951
42952 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42953
42954         New module 'cond'.
42955         * modules/cond: New file.
42956         * lib/glthread/cond.h: New file.
42957         * lib/glthread/cond.c: New file.
42958         * m4/cond.m4: New file.
42959         * MODULES.html.sh (Multithreading): Add cond.
42960
42961 2008-08-16  Eric Blake  <ebb9@byu.net>
42962
42963         c-stack: fix regression on Irix 5.3 from 2008-06-21
42964         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
42965         sa_sigaction...
42966         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
42967         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
42968         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
42969         * modules/signal (Makefile.am): Use the value.
42970         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
42971         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
42972         * doc/posix-headers/signal.texi (signal.h): Document this
42973         portability issue.
42974         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
42975         Reported by Tom G. Christensen.
42976
42977 2008-08-17  Bruno Haible  <bruno@clisp.org>
42978
42979         New module 'threadlib'.
42980         * modules/threadlib: New file.
42981         * lib/glthread/threadlib.c: New file, extracted from
42982         lib/glthread/lock.c.
42983         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
42984         functions.
42985         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
42986         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
42987         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
42988         macros.
42989         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
42990         (gl_DISABLE_THREADS): Remove macro.
42991         * modules/lock (Files): Remove build-aux/config.rpath.
42992         (Depends-on): Remove havelib. Add threadlib.
42993         (configure.ac-early): Remove section.
42994         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
42995         * modules/tls (Depends-on): Remove lock. Add threadlib.
42996         (Link): New section, copied from threadlib.
42997         * MODULES.html.sh (Multithreading): Add threadlib.
42998
42999 2008-08-14  Bruno Haible  <bruno@clisp.org>
43000
43001         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
43002         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
43003         glthread_rwlock_unlock, glthread_rwlock_destroy,
43004         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
43005         glthread_recursive_lock_destroy): Define as macros always.
43006         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
43007         glthread_lock_lock.
43008         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
43009         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
43010         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
43011         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
43012         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
43013         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
43014         (glthread_recursive_lock_lock_func): Renamed from
43015         glthread_recursive_lock_lock.
43016         (glthread_recursive_lock_unlock_func): Renamed from
43017         glthread_recursive_lock_unlock.
43018         (glthread_recursive_lock_destroy_func): Renamed from
43019         glthread_recursive_lock_destroy.
43020
43021 2008-08-14  Bruno Haible  <bruno@clisp.org>
43022
43023         * lib/glthread/lock.h: Renamed from lib/lock.h.
43024         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
43025         * lib/glthread/tls.h: Renamed from lib/tls.h.
43026         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
43027         * lib/fstrcmp.c: Update includes.
43028         * lib/strsignal.c: Update includes.
43029         * modules/lock (Files, Makefile.am): Update.
43030         (Include): Change to "glthread/lock.h".
43031         * modules/tls (Files, Makefile.am): Update.
43032         (Include): Change to "glthread/tls.h".
43033         * tests/test-lock.c: Update includes.
43034         * tests/test-tls.c: Update includes.
43035         * NEWS: Mention the renamed header files.
43036
43037 2008-08-11  Jim Meyering  <meyering@redhat.com>
43038
43039         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
43040
43041 2008-08-11  Eric Blake  <ebb9@byu.net>
43042
43043         test-c-stack: avoid C99-ism
43044         * tests/test-c-stack.c (main): Fix whitespace, move declaration
43045         before statement.
43046         Reported by Alain Guibert.
43047
43048 2008-08-10  Jim Meyering  <meyering@redhat.com>
43049
43050         ensure that return value of uinttostr et al are not ignored
43051         * lib/inttostr.h (__GNUC_PREREQ): Define.
43052         (__attribute_warn_unused_result__): Define.
43053         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
43054
43055 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
43056
43057         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
43058         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
43059
43060 2008-08-07  Jim Meyering  <meyering@redhat.com>
43061
43062         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
43063
43064         * modules/mkstemp (License): Relicense under LGPLv2+.
43065         * modules/tempname (License): Likewise.
43066
43067 2008-08-06  Bruno Haible  <bruno@clisp.org>
43068
43069         * lib/poll.c (poll): Further micro-optimization.
43070
43071 2008-08-06  Jim Meyering  <meyering@redhat.com>
43072
43073         inet_pton.c: use locale-independent tolower
43074         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
43075         (inet_pton6): Use c_tolower rather than tolower.
43076         * modules/inet_pton (Depends-on): Add c-ctype.
43077
43078 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
43079
43080         * lib/poll.c (poll): Avoid division when timeout is 0, cache
43081         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
43082
43083 2008-08-06  Jim Meyering  <meyering@redhat.com>
43084
43085         * modules/inet_pton (License): Relicense under LGPLv2+.
43086
43087 2008-08-03  Bruno Haible  <bruno@clisp.org>
43088
43089         Additional non-aborting API for lock and tls.
43090         * lib/lock.h: Include <errno.h>.
43091         (glthread_lock_init): New macro/function.
43092         (gl_lock_init): Define as wrapper around glthread_lock_init.
43093         (glthread_lock_lock): New macro/function.
43094         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
43095         (glthread_lock_unlock): New macro/function.
43096         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
43097         (glthread_lock_destroy): New macro/function.
43098         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
43099         (glthread_rwlock_init): New macro/function.
43100         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
43101         (glthread_rwlock_rdlock): New macro/function.
43102         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
43103         (glthread_rwlock_wrlock): New macro/function.
43104         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
43105         (glthread_rwlock_unlock): New macro/function.
43106         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
43107         (glthread_rwlock_destroy): New macro/function.
43108         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
43109         (glthread_recursive_lock_init): New macro/function.
43110         (gl_recursive_lock_init): Define as wrapper around
43111         glthread_recursive_lock_init.
43112         (glthread_recursive_lock_lock): New macro/function.
43113         (gl_recursive_lock_lock): Define as wrapper around
43114         glthread_recursive_lock_lock.
43115         (glthread_recursive_lock_unlock): New macro/function.
43116         (gl_recursive_lock_unlock): Define as wrapper around
43117         glthread_recursive_lock_unlock.
43118         (glthread_recursive_lock_destroy): New macro/function.
43119         (gl_recursive_lock_destroy): Define as wrapper around
43120         glthread_recursive_lock_destroy.
43121         (glthread_once): New macro/function.
43122         (gl_once): Define as wrapper around glthread_once.
43123         Update function declarations.
43124         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
43125         glthread_rwlock_init. Return error code.
43126         (glthread_rwlock_rdlock_multithreaded): Renamed from
43127         glthread_rwlock_rdlock. Return error code.
43128         (glthread_rwlock_wrlock_multithreaded): Renamed from
43129         glthread_rwlock_wrlock. Return error code.
43130         (glthread_rwlock_unlock_multithreaded): Renamed from
43131         glthread_rwlock_unlock. Return error code.
43132         (glthread_rwlock_destroy_multithreaded): Renamed from
43133         glthread_rwlock_destroy. Return error code.
43134         (glthread_recursive_lock_init_multithreaded): Renamed from
43135         glthread_recursive_lock_init. Return error code.
43136         (glthread_recursive_lock_lock_multithreaded): Renamed from
43137         glthread_recursive_lock_lock. Return error code.
43138         (glthread_recursive_lock_unlock_multithreaded): Renamed from
43139         glthread_recursive_lock_unlock. Return error code.
43140         (glthread_recursive_lock_destroy_multithreaded): Renamed from
43141         glthread_recursive_lock_destroy. Return error code.
43142         (glthread_once_call): Make static.
43143         (glthread_once_multithreaded): Renamed from glthread_once.
43144         * lib/tls.h: Include <errno.h>.
43145         (glthread_tls_key_init): New macro/function.
43146         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
43147         (glthread_tls_set): New macro/function.
43148         (gl_tls_set): Define as wrapper around glthread_tls_set.
43149         (glthread_tls_key_destroy): New macro/function.
43150         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
43151         Update function declarations.
43152         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
43153         glthread_tls_get.
43154         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
43155
43156 2008-08-04  Eric Blake  <ebb9@byu.net>
43157
43158         gnumakefile: use space, not TAB, outside of targets
43159         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
43160
43161 2008-08-02  Jim Meyering  <meyering@redhat.com>
43162
43163         getdate.y: avoid locale-dependent date parsing failure
43164         In Turkish locales, getdate would fail to recognize keywords
43165         containing a lowercase "i".  The solution is not to rely on
43166         locale-sensitive case-conversion.
43167         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
43168         (lookup_word): Use c_toupper in place of toupper.
43169         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
43170         Reported by Vefa Bicakci <bicave@superonline.com> in
43171         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
43172         * modules/getdate (Depends-on): Add c-ctype.
43173
43174 2008-08-02  Bruno Haible  <bruno@clisp.org>
43175
43176         * gnulib-tool (func_import): When updating or creating a .gitignore
43177         file, prepend each added line with a slash, and ignore leading slashes
43178         from the existing lines.
43179         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
43180
43181 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43182
43183         Portability fix for GNU make 3.79.1.
43184         * top/GNUmakefile: Avoid 'else COND', which older GNU make
43185         versions do not understand.
43186
43187 2008-08-01  Bruno Haible  <bruno@clisp.org>
43188
43189         Work around bug of HP-UX 10.20 cc with -0.0 literal.
43190         * tests/test-isnanf.h (zero): New variable.
43191         (main): Avoid literal -0.0f.
43192         * tests/test-isnand.h (zero): New variable.
43193         (main): Avoid literal -0.0.
43194         * tests/test-isnanl.h (zero): New variable.
43195         (main): Avoid literal -0.0L.
43196         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
43197         (test_float, test_double, test_long_double): Avoid literals -0.0f,
43198         -0.0, -0.0L.
43199         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
43200         (test_signbitd): Avoid literal -0.0.
43201         (test_signbitl): Avoid literal -0.0L.
43202         * tests/test-ceilf1.c (zero): New variable.
43203         (main): Avoid literal -0.0f.
43204         * tests/test-ceill.c (zero): New variable.
43205         (main): Avoid literal -0.0L.
43206         * tests/test-floorf1.c (zero): New variable.
43207         (main): Avoid literal -0.0f.
43208         * tests/test-floorl.c (zero): New variable.
43209         (main): Avoid literal -0.0L.
43210         * tests/test-roundf1.c (zero): New variable.
43211         (main): Avoid literal -0.0f.
43212         * tests/test-round1.c (zero): New variable.
43213         (main): Avoid literal -0.0.
43214         * tests/test-roundl.c (zero): New variable.
43215         (main): Avoid literal -0.0L.
43216         * tests/test-truncf1.c (zero): New variable.
43217         (main): Avoid literal -0.0f.
43218         * tests/test-trunc1.c (zero): New variable.
43219         (main): Avoid literal -0.0.
43220         * tests/test-truncl.c (zero): New variable.
43221         (main): Avoid literal -0.0L.
43222         * tests/test-frexp.c (zero): New variable.
43223         (main): Avoid literal -0.0.
43224         * tests/test-frexpl.c (zero): New variable.
43225         (main): Avoid literal -0.0L.
43226         * tests/test-ldexpl.c (zero): New variable.
43227         (main): Avoid literal -0.0L.
43228         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
43229         (zerod, zerol): New variables.
43230         (test_function): Avoid literals -0.0, -0.0L.
43231         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
43232         (zerod, zerol): New variables.
43233         (test_function): Avoid literals -0.0, -0.0L.
43234         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
43235         (zerod, zerol): New variables.
43236         (test_function): Avoid literals -0.0, -0.0L.
43237         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
43238         (zerod, zerol): New variables.
43239         (test_function): Avoid literals -0.0, -0.0L.
43240         * tests/test-strtod.c (zero): New variable.
43241         (main): Avoid literal -0.0.
43242         Reported by Jonathan C. Patschke <jp@centtech.com>.
43243
43244 2008-07-31  Jim Meyering  <meyering@redhat.com>
43245
43246         sha256.h: correct definition of SHA224_DIGEST_SIZE
43247         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
43248         Reported by Paulie Pena IV <paulie4@gmail.com>.
43249         Define as 224 / 8, rather than as a literal.
43250         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
43251         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
43252         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
43253
43254 2008-07-31  Bruno Haible  <bruno@clisp.org>
43255
43256         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
43257         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
43258         Reported by Jonathan Patschke <jp@centtech.com>.
43259
43260 2008-07-31  Bruno Haible  <bruno@clisp.org>
43261
43262         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
43263         Reported by Paolo Bonzini <bonzini@gnu.org>.
43264
43265 2008-07-30  Eric Blake  <ebb9@byu.net>
43266
43267         test-strtod: allow compilation without -lm
43268         * tests/test-strtod.c (main): Avoid link dependence on fabs.
43269         Reported by Dennis Clarke <blastwave@gmail.com>.
43270
43271 2008-07-28  Jim Meyering  <meyering@redhat.com>
43272
43273         bootstrap: work also when there are no .po files in po/
43274         * build-aux/bootstrap (update_po_files): Complete the change
43275         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
43276
43277 2008-07-27  Jim Meyering  <meyering@redhat.com>
43278
43279         * users.txt: Add zile.
43280
43281 2008-07-26  Ben Pfaff  <blp@gnu.org>
43282
43283         Add missing dependencies on new m4/exponent[fdl].m4 files.
43284         * modules/isnanf-nolibm: Add m4/exponentf.m4.
43285         * modules/isnand-nolibm: Add m4/exponentd.m4.
43286         * modules/isnanl-nolibm: Add m4/exponentl.m4.
43287         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
43288         m4/isnan[fdl].m4, because the macros actually used moved.
43289         Reported by Jim Meyering.
43290
43291 2008-07-14  Ben Pfaff  <blp@gnu.org>
43292
43293         Add isinf module.
43294         * lib/isinf.c: New file.
43295         * lib/math.in.h: Define isinf macro if we have decided to replace
43296         it.
43297         * m4/isinf.m4: New file.
43298         * m4/math_h.m4: Initialize and substitute variables for isinf
43299         module.
43300         * modules/isinf: New file.
43301         * modules/isinf-tests: New file.
43302         * modules/math: Add substitutions for new module.
43303         * tests/test-isinf.c: New file.
43304         * doc/posix-functions/isinf.texi: Mention new module.
43305         * MODULES.html.sh: Mention new module.
43306
43307 2008-07-14  Ben Pfaff  <blp@gnu.org>
43308
43309         Factor out some macros for use by additional modules.
43310         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
43311         exponentf.m4.
43312         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
43313         exponentd.m4.
43314         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
43315         file exponentl.m4.
43316         * m4/exponentf.m4: New file.
43317         * m4/exponentd.m4: New file.
43318         * m4/exponentl.m4: New file.
43319         * modules/isnanf: Use new file m4/exponentf.m4.
43320         * modules/isnand: Use new file m4/exponentd.m4.
43321         * modules/isnanl: Use new file m4/exponentl.m4.
43322
43323 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
43324
43325         mktime.c: normalize tp->tm_isdst value to -1/0/1.
43326         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
43327         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
43328         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
43329
43330         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
43331         readlink on platforms without PATH_MAX.
43332
43333 2008-07-21  Eric Blake  <ebb9@byu.net>
43334
43335         Warn, not fail, on stale version.
43336         * top/GNUmakefile (_curr-ver): Tone down previous patch.
43337
43338         Don't allow installation with stale devel version number.
43339         * top/GNUmakefile (_is-install-target): New macro.
43340         (_curr-ver): Forbid installation with stale version number.
43341
43342 2008-07-20  Bruno Haible  <bruno@clisp.org>
43343
43344         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
43345         TESTS_ENVIRONMENT.
43346         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
43347
43348 2008-07-20  Bruno Haible  <bruno@clisp.org>
43349
43350         * lib/c-stack.h (c_stack_action): Add documentation.
43351         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
43352
43353 2008-07-20  Bruno Haible  <bruno@clisp.org>
43354
43355         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
43356         * modules/readlink (License): Likewise.
43357
43358 2008-07-17  Eric Blake  <ebb9@byu.net>
43359
43360         * modules/c-stack (Link): Fix typo.
43361
43362         Make c-stack use libsigsegv, when available.
43363         * modules/c-stack (Depends-on): Add libsigsegv.
43364         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
43365         needed.
43366         * lib/c-stack.c (SIGSTKSZ): Define fallback.
43367         (segv_handler, overflow_handler, c_stack_action)
43368         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
43369         implementation when libsigsegv is available, but only when using
43370         the library is necessary.
43371         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
43372         comment, explaining why XSI check fails on Linux.
43373         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
43374         * tests/test-c-stack2.sh: Tweak skip message.
43375         * NEWS: Document new link-time requirements.
43376
43377 2008-07-16  Eric Blake  <ebb9@byu.net>
43378
43379         c-stack: Expose false positives when not using libsigsegv.
43380         * modules/c-stack-tests (Files): Expand test.
43381         * tests/test-c-stack.c (main): Add means to conditionally trigger
43382         non-overflow SIGSEGV.
43383         * tests/test-c-stack2.sh: New file.
43384
43385 2008-07-14  Bruno Haible  <bruno@clisp.org>
43386
43387         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
43388         Reported by Eric Blake.
43389
43390 2008-07-14  Sam Steingold  <sds@gnu.org>
43391             Bruno Haible  <bruno@clisp.org>
43392
43393         New module libsigsegv.
43394         * modules/libsigsegv: New file.
43395         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
43396         modifications.
43397         * MODULES.html.sh (Signal handling): New section.
43398
43399 2008-07-14  Bruno Haible  <bruno@clisp.org>
43400
43401         * modules/unictype/ctype-* (Description): Add the word "function".
43402         Improves the resulting doc in MODULES.html.
43403
43404 2008-07-12  Ben Pfaff  <blp@gnu.org>
43405
43406         Add longlong module.
43407         * modules/longlong: New file.
43408
43409 2008-07-12  Bruno Haible  <bruno@clisp.org>
43410
43411         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
43412         to empty.
43413
43414 2008-07-10  Ben Pfaff  <blp@gnu.org>
43415
43416         Add isnan module.
43417         * doc/posix-functions/isnan.texi: Mention new module.
43418         * lib/math.in.h: Define isnan macro if we have decided to replace
43419         it.
43420         * m4/isnan.m4: New file.
43421         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
43422         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
43423         also.
43424         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
43425         redundancy.
43426         * m4/math_h.m4: Initialize and substitute variables for isnan
43427         module.
43428         * modules/isnan: New file.
43429         * modules/isnan-tests: New file.
43430         * modules/math: Add substitutions for new module.
43431         * tests/test-isnan.c: New file.
43432         * MODULES.html.sh: Mention new module.
43433
43434 2008-07-10  Ben Pfaff  <blp@gnu.org>
43435
43436         Add isnanf module.
43437         * lib/isnanf.m4: New file.
43438         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
43439         (gl_HAVE_ISNANF_IN_LIBM): New macro.
43440         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
43441         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
43442         * modules/isnanf: New file.
43443         * modules/isnanf-tests: New file.
43444         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
43445         files.
43446         * tests/test-isnanf-nolibm.c: factored most of its contents into
43447         new file tests/test-isnanf.h.
43448         * tests/test-isnanf.h: New file.
43449         * tests/test-isnanf.c: New file.
43450         * MODULES.html.sh: Mention new module.
43451         * doc/glibc-functions/isnanf.texi: Mention new module.
43452
43453 2008-07-10  Ben Pfaff  <blp@gnu.org>
43454
43455         Add isnand module.
43456         * lib/isnand.h: New file.
43457         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
43458         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
43459         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
43460         functionality also.
43461         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
43462         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
43463         (gl_HAVE_ISNAND_IN_LIBM): New macro.
43464         * modules/isnand: New file.
43465         * modules/isnand-tests: New file.
43466         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
43467         files.
43468         * tests/test-isnand-nolibm.c: factored most of its contents into
43469         new file tests/test-isnand.h.
43470         * tests/test-isnand.h: New file.
43471         * tests/test-isnand.c: New file.
43472         * MODULES.html.sh: Mention new module.
43473
43474 2008-07-10  Ben Pfaff  <blp@gnu.org>
43475
43476         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
43477         * lib/isnand.h: Rename lib/isnand-nolibm.h.
43478         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
43479         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
43480         * modules/isnanf-nolibm: Update references to renamed files.
43481         * modules/isnand-nolibm: Likewise.
43482         * modules/isnanf-nolibm-tests: Likewise.
43483         * modules/isnand-nolibm-tests: Likewise.
43484         * lib/frexp.c: Likewise.
43485         * lib/isfinite.c: Likewise.
43486         * lib/signbitd.c: Likewise.
43487         * lib/signbitf.c: Likewise.
43488         * lib/vasnprintf.c: Likewise.
43489         * tests/test-ceilf1.c: Likewise.
43490         * tests/test-ceilf2.c: Likewise.
43491         * tests/test-floorf1.c: Likewise.
43492         * tests/test-floorf2.c: Likewise.
43493         * tests/test-frexp.c: Likewise.
43494         * tests/test-round1.c: Likewise.
43495         * tests/test-round2.c: Likewise.
43496         * tests/test-roundf1.c: Likewise.
43497         * tests/test-strtod.c: Likewise.
43498         * tests/test-trunc1.c: Likewise.
43499         * tests/test-trunc2.c: Likewise.
43500         * tests/test-truncf1.c: Likewise.
43501         * tests/test-truncf2.c: Likewise.
43502         * NEWS: Mention the renamed header files.
43503
43504 2008-07-11  Jim Meyering  <meyering@redhat.com>
43505
43506         vc-list-files: make the last-resort awk code more portable
43507         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
43508         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
43509         does not support it.
43510
43511 2008-07-10  Eric Blake  <ebb9@byu.net>
43512
43513         Work with tar's bootstrap.
43514         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
43515         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
43516         an m4 comment.
43517
43518 2008-07-09  Jim Meyering  <meyering@redhat.com>
43519
43520         posix-shell.m4: fix typo that made this test malfunction
43521         * m4/posix-shell.m4: Remove capitalization in variable name.
43522
43523 2008-07-08  Bruno Haible  <bruno@clisp.org>
43524
43525         * m4/onceonly.m4: Update comments.
43526         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43527
43528 2008-07-04  Jim Meyering  <meyering@redhat.com>
43529
43530         * users.txt: Add vc-dwim.
43531         (bison, coreutils): Use the gitweb URL.
43532
43533 2008-07-03  Jim Meyering  <meyering@redhat.com>
43534
43535         * users.txt: Add libffcall.  From Sam Steingold.
43536
43537 2008-07-03  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
43538
43539         getdate.y: do not ignore TZ with relative day, month or year offset
43540         * lib/getdate.y (get_date): Move the tz-handling block to follow the
43541         relative-date-handling, since otherwise, the latter would clobber the
43542         sole output (an updated Start value) of the tz-handling block.
43543         * tests/test-getdate.c: Tests for the fix
43544
43545 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43546
43547         Recognize 'foo_LIBRARIES += libgnu.a'.
43548         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
43549         makefile snippet has already specified an installation location,
43550         also using '+='.
43551
43552 2008-07-02  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
43553
43554         getdate.y: factor out common actions
43555         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
43556         Use them in place of open-coded actions.
43557
43558 2008-07-01  Simon Josefsson  <simon@josefsson.org>
43559
43560         Add self-test for getdate module.
43561         * modules/getdate-tests: New file.
43562         * tests/test-getdate.c: New file.
43563
43564 2008-06-29  Bruno Haible  <bruno@clisp.org>
43565
43566         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
43567         .gitignore.
43568         Reported by Sylvain Beucler <beuc@beuc.net>.
43569
43570 2008-06-29  Bruno Haible  <bruno@clisp.org>
43571
43572         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
43573         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
43574
43575 2008-06-29  Bruno Haible  <bruno@clisp.org>
43576
43577         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
43578         EXTRA_DIST.
43579         Reported by Sylvain Beucler <beuc@beuc.net>.
43580
43581 2008-06-26  Jim Meyering  <meyering@redhat.com>
43582
43583         make several modules depend on the "open" module
43584         This provides slightly increased consistency when opening-for-write
43585         the name of a non-directory spelled with a trailing slash.
43586         * modules/chdir-safer: Likewise.
43587         * modules/chown: Likewise.
43588         * modules/clean-temp: Likewise.
43589         * modules/copy-file: Likewise.
43590         * modules/fchdir: Likewise.
43591         * modules/fcntl-safer: Likewise.
43592         * modules/pipe: Likewise.
43593         * modules/utime: Likewise.
43594         Prompted by Eric Blake and Bruno Haible.
43595
43596 2008-06-24  Andreas Schwab  <schwab@suse.de>
43597
43598         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
43599         literals can be used as initializers for global variables.
43600
43601 2008-06-23  Eric Blake  <ebb9@byu.net>
43602
43603         Make gnulib-cache.m4 easier to diff.
43604         * gnulib-tool (func_import): Allow newlines when reading cached
43605         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
43606
43607 2008-06-23  Bruno Haible  <bruno@clisp.org>
43608
43609         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
43610         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
43611         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
43612         m4/signalblocking.m4.
43613         (gl_PREREQ_SIGACTION): Don't invoke it.
43614         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
43615         gl_PREREQ_SIG_HANDLER_H.
43616         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
43617         Don't check for sigaction here.
43618
43619 2008-06-23  Bruno Haible  <bruno@clisp.org>
43620
43621         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
43622         (install_handlers): Don't set the SA_RESETHAND flag.
43623
43624 2008-06-23  Bruno Haible  <bruno@clisp.org>
43625
43626         * m4/sigaction.m4: Comment fixes.
43627         * lib/signal.in.h: Likewise.
43628
43629 2008-06-23  Eric Blake  <ebb9@byu.net>
43630
43631         Fix typo.
43632         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
43633
43634         Avoid SA_ namespace.
43635         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
43636         Reported by Ralf Wildenhues.
43637
43638         Avoid test failure due to SA_RESTORER.
43639         * tests/test-sigaction.c (SA_MASK): New macro.
43640         (main): Avoid failing due to extension flags being set.
43641         Reported by Jim Meyering.
43642
43643         Revert use of sig-handler.h in sigprocmask.c.
43644         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
43645         it requires the existence of struct sigaction.
43646         * lib/sigprocmask.c (handler_t): Restore typedef.
43647         (rpl_signal, old_handlers): Use local type.
43648
43649 2008-06-22  Bruno Haible  <bruno@clisp.org>
43650
43651         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
43652         conditionally.
43653         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43654
43655 2008-06-22  Bruno Haible  <bruno@clisp.org>
43656
43657         * doc/posix-functions/siginterrupt.texi: Move note.
43658
43659         * lib/signal.in.h (SA_RESTART): New macro.
43660         * lib/sigaction.c: Update comment.
43661
43662         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
43663
43664         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
43665         (gl_PREREQ_SIGPROCMASK): Invoke it.
43666         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
43667
43668         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
43669
43670         * lib/sigprocmask.c: Update a comment.
43671
43672 2008-06-21  Eric Blake  <ebb9@byu.net>
43673
43674         Use sigaction module rather than signal().
43675         * modules/c-stack (Depends-on): Add sigaction.
43676         * modules/fatal-signal (Depends-on): Likewise.
43677         * modules/nanosleep (Depends-on): Likewise.
43678         * modules/sigprocmask (Files): Add sig-handler.h.
43679         * modules/sigaction (Files): Likewise.
43680         * lib/sig-handler.h (get_handler): New file, suggested by Paul
43681         Eggert.
43682         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
43683         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
43684         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
43685         (init_fatal_signals): Likewise.
43686         * lib/nanosleep.c (rpl_nanosleep): Likewise.
43687         (siginterrupt): Delete fallback.
43688         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
43689         instead.
43690         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
43691         siginterrupt.
43692
43693         New module sigaction, for mingw.
43694         * modules/sigaction: New module...
43695         * modules/sigaction-tests: ...and its test.
43696         * m4/sigaction.m4: New file.
43697         * lib/sigaction.c: Likewise.
43698         * tests/test-sigaction.c: Likewise.
43699         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
43700         * modules/signal (Makefile.am): Likewise.
43701         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
43702         needed.
43703         * doc/posix-headers/signal.texi (signal.h): Mention provided
43704         types.
43705         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
43706         that sigaction is preferable.
43707         * doc/posix-functions/sigaction.texi (sigaction): Mention new
43708         module.
43709         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43710         sigaction.
43711
43712         Improve robustness of sigprocmask by overriding signal.
43713         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
43714         is in use.
43715         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
43716         (SIGKILL, SIGSTOP): Provide fallbacks.
43717         (rpl_signal): Implement.
43718         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
43719         signal can be called inside handlers.
43720
43721         Fix nanosleep module on mingw.
43722         * modules/nanosleep (Depends-on): Add sys_select.
43723         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
43724
43725         Fix licensing of sigprocmask.
43726         * modules/raise (License): Relicense as LGPL.
43727
43728 2008-06-21  Bruno Haible  <bruno@clisp.org>
43729
43730         * lib/propername.c (proper_name_utf8): Don't use the transliterated
43731         result if it contains question marks.
43732         Reported by Michael Geng <linux@michaelgeng.de>.
43733
43734 2008-06-19  Bruno Haible  <bruno@clisp.org>
43735
43736         Fix CVS-ism.
43737         * doc/gnulib.texi: Include updated-stamp.texi.
43738         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
43739         (updated-stamp.texi): New rule.
43740         (gnulib.info): Depend on it.
43741         * doc/.gitignore: Add updated-stamp.texi.
43742         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
43743
43744 2008-06-19  Bruno Haible  <bruno@clisp.org>
43745
43746         * doc/Makefile (gnulib.info): Update and simplify dependencies.
43747         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
43748
43749 2008-06-19  Eric Blake  <ebb9@byu.net>
43750
43751         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
43752         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
43753         Reported by Stepan Kasal.
43754
43755 2008-06-18  Bruno Haible  <bruno@clisp.org>
43756
43757         * lib/fatal-signal.c (init_fatal_signals): Add comment.
43758         Reported by Eric Blake.
43759
43760 2008-06-18  Eric Blake  <ebb9@byu.net>
43761
43762         Work around cygwin 1.5.25 strsignal bug.
43763         * tests/test-strsignal.c: Allow for const char *.
43764         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
43765
43766 2008-06-18  Simon Josefsson  <simon@josefsson.org>
43767
43768         * users.txt: Update URL to article and add author/date
43769         information.
43770
43771 2008-06-17  Bruno Haible  <bruno@clisp.org>
43772
43773         New macro gl_DISABLE_THREADS.
43774         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
43775         if the user did not pass --enable-threads or --disable-threads option.
43776         (gl_DISABLE_THREADS): New macro.
43777         Reported by Eric Blake <ebb9@byu.net>.
43778
43779 2008-06-17  Bruno Haible  <bruno@clisp.org>
43780
43781         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
43782         when the macro ignores it.
43783         Based on a patch by Eric Blake <ebb9@byu.net>.
43784
43785 2008-06-17  Bruno Haible  <bruno@clisp.org>
43786
43787         * modules/tls (License): Change to LGPLv2+.
43788         Reported by Eric Blake.
43789
43790 2008-06-17  Eric Blake  <ebb9@byu.net>
43791
43792         Simplify c-stack prerequisites.
43793         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
43794         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
43795         no longer requires <ucontext.h> to exist.  Optimize setrlimit
43796         check.
43797         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
43798         <sys/resource.h>.
43799
43800         Move c-stack test into testsuite.
43801         * modules/c-stack-tests: New file.
43802         * lib/c-stack.c [DEBUG]: Move test program...
43803         * tests/test-c-stack.c: ...into this new file.  Skip rather than
43804         fail test if sigaltstack is lacking.
43805         * tests/test-c-stack.sh: New driver file.
43806
43807 2008-06-16  Eric Blake  <ebb9@byu.net>
43808
43809         Use raise module consistently.
43810         * modules/fatal-signal (Depends-on): Add raise.
43811         * modules/sigprocmask (Depends-on): Likewise.
43812         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
43813         * lib/sigprocmask.c (sigprocmask): Likewise.
43814         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
43815         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
43816
43817         Fix compliance bug in sigpending.
43818         * lib/sigprocmask.c (sigpending): Return pending array via
43819         parameter, not return value.
43820
43821 2008-06-14  Eric Blake  <ebb9@byu.net>
43822
43823         Improve obstack-printf test code.
43824         * tests/test-obstack-printf.c (test_function): Fix comment, and
43825         simplify usage of obstack_* in macros.  Add a test for coverage.
43826         Reported by Bruno Haible.
43827
43828 2008-06-14  Bruno Haible  <bruno@clisp.org>
43829
43830         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
43831         array size as a constant, not as a const variable.
43832         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
43833         AC_USE_SYSTEM_EXTENSIONS.
43834         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
43835         Test whether the obstack_printf function actually exists.
43836         * modules/obstack-printf (Depends-on): Add extensions.
43837         (Include): Remove obstack.h.
43838         * modules/obstack-printf-posix (Depends-on): Add extensions.
43839         (Include): Remove obstack.h.
43840
43841 2008-06-13  Eric Blake  <ebb9@byu.net>
43842
43843         Add obstack-printf and obstack-printf-posix modules.
43844         * modules/obstack-printf: New file.
43845         * modules/obstack-printf-posix: Likewise.
43846         * MODULES.html.sh (Misc): Mention them.
43847         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
43848         Likewise.
43849         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
43850         Likewise.
43851         * modules/stdio (Makefile.am): Accomodate new modules.
43852         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43853         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
43854         Declare.
43855         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
43856         functions.
43857         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
43858         (gl_REPLACE_OBSTACK_PRINTF): New macros
43859         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
43860         * tests/test-obstack-printf.c: New file.
43861         * modules/obstack-printf-tests: Likewise.
43862         * modules/obstack-printf-posix-tests: Likewise.
43863
43864 2008-06-11  Bruno Haible  <bruno@clisp.org>
43865
43866         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
43867         * lib/open.c: Include errno.h.
43868         (open): Fail when attempting to write to a file that has a trailing
43869         slash.
43870         * tests/test-open.c (main): Test against trailing slash bug.
43871         * doc/posix-functions/open.texi: Mention the trailing slash bug.
43872
43873 2008-06-10  Bruno Haible  <bruno@clisp.org>
43874
43875         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
43876         for $? to work inside the trap command, with various /bin/sh-s.
43877         * tests/test-vc-list-files-cvs.sh: Likewise.
43878
43879 2008-06-10  Bruno Haible  <bruno@clisp.org>
43880
43881         * lib/acl-internal.h: Don't include gettext.h here.
43882         * lib/set-mode-acl.c: Include gettext.h here.
43883         * lib/copy-acl.c: Likewise.
43884
43885 2008-06-10  Bruno Haible  <bruno@clisp.org>
43886
43887         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
43888         * lib/wait-process.c (wait_subprocess): Likewise.
43889         * lib/execute.h (execute): Add termsigp argument.
43890         * lib/execute.c (execute): Likewise.
43891         * lib/csharpcomp.c (compile_csharp_using_pnet,
43892         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
43893         * lib/csharpexec.c (execute_csharp_using_pnet,
43894         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
43895         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
43896         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
43897         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
43898         is_jikes_present): Update.
43899         * lib/javaexec.c (execute_java_class): Update.
43900         * lib/javaversion.c (execute_and_read_line): Update.
43901         * NEWS: Document the changes.
43902         Reported by Eric Blake.
43903
43904 2008-06-10  Eric Blake  <ebb9@byu.net>
43905
43906         Add missing include.
43907         * tests/test-strstr.c (includes): Add <signal.h>.
43908         * tests/test-strcasestr.c (includes): Likewise.
43909         * tests/test-memmem.c (includes): Likewise.
43910
43911 2008-06-10  Bruno Haible  <bruno@clisp.org>
43912
43913         * lib/wait-process.c (wait_subprocess): Add an assertion.
43914
43915 2008-06-10  Bruno Haible  <bruno@clisp.org>
43916
43917         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
43918
43919 2008-06-10  Bruno Haible  <bruno@clisp.org>
43920
43921         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
43922         using alarm().
43923         * tests/test-strcasestr.c (main): Likewise.
43924         * tests/test-strstr.c (main): Likewise.
43925
43926 2008-06-09  Bruno Haible  <bruno@clisp.org>
43927
43928         Work around the Solaris 10 ACE ACLs ABI change.
43929         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
43930         declare if ACL_NO_TRIVIAL is present.
43931         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
43932         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
43933         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
43934         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
43935         define if ACL_NO_TRIVIAL is present.
43936         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
43937         and use the current ABI.
43938         (file_has_acl): Use same #if condition as elsewhere.
43939         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
43940         in use, and use the current ABI.
43941         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
43942         Reported by Jim Meyering.
43943
43944 2008-06-09  Eric Blake  <ebb9@byu.net>
43945
43946         Work around environments that (stupidly) ignore SIGALRM.
43947         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
43948         before using alarm().
43949         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
43950         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
43951         Reported by Ian Beckwith <ianb@erislabs.net>.
43952
43953         Produce autobuild blurb earlier in log.
43954         * modules/autobuild (configure.ac-early): Move AB_INIT here.
43955
43956 2008-06-09  Jim Meyering  <meyering@redhat.com>
43957         and OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
43958
43959         utimens.c: correct kernel bug work-around
43960         OndÅ™ej VaÅ¡Ă­k found that the invalid return value of 280 indicates
43961         failure, not success, and the kernel bug we're trying to work
43962         around affects not just the utimensat call, but also the fallback
43963         futimens call.
43964         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
43965         not success.
43966         [HAVE_FUTIMENS]: Use the same work-around, here.
43967
43968 2008-06-09  Jim Meyering  <meyering@redhat.com>
43969
43970         add more guards around definition of ACE_-related code
43971         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
43972         ALLOW and ACE_OWNER are also defined.
43973
43974 2008-06-08  Bruno Haible  <bruno@clisp.org>
43975
43976         * lib/acl-internal.h: Add me as co-author.
43977         * lib/file-has-acl.c: Likewise.
43978         * lib/set-mode-acl.c: Likewise.
43979         * lib/copy-acl.c: Likewise.
43980
43981 2008-06-08  Bruno Haible  <bruno@clisp.org>
43982
43983         Add support for AIX ACLs.
43984         * lib/acl-internal.h (acl_nontrivial): New declaration.
43985         * lib/file-has-acl.c (acl_nontrivial): New function.
43986         (file_has_acl): Add implementation using AIX 4 ACL API.
43987         * lib/set-mode-acl.c (qset_acl): Likewise.
43988         * lib/copy-acl.c (qcopy_acl): Likewise.
43989
43990 2008-06-08  Bruno Haible  <bruno@clisp.org>
43991
43992         Add support for HP-UX ACLs.
43993         * lib/acl-internal.h (acl_nontrivial): New declaration.
43994         * lib/file-has-acl.c (acl_nontrivial): New function.
43995         (file_has_acl): Add implementation using HP-UX 11 ACL API.
43996         * lib/set-mode-acl.c (qset_acl): Likewise.
43997         * lib/copy-acl.c (qcopy_acl): Likewise.
43998
43999 2008-06-08  Bruno Haible  <bruno@clisp.org>
44000
44001         Add support for Cygwin ACLs.
44002         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
44003         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
44004         the chmod_or_fchmod call.
44005         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
44006
44007 2008-06-08  Bruno Haible  <bruno@clisp.org>
44008
44009         Fix bug with setuid modes in Solaris 10+ code.
44010         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
44011         succeeded, when the mode contains some special bits.
44012
44013 2008-06-08  Bruno Haible  <bruno@clisp.org>
44014
44015         Add support for Solaris 7..10 ACLs.
44016         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
44017         declarations.
44018         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
44019         functions.
44020         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
44021         * lib/set-mode-acl.c (qset_acl): Likewise.
44022         * lib/copy-acl.c (qcopy_acl): Likewise.
44023
44024 2008-06-08  Bruno Haible  <bruno@clisp.org>
44025
44026         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
44027         declaration.
44028         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
44029         (acl_access_nontrivial): Remove MacOS X case.
44030         (file_has_acl): Use acl_extended_nontrivial.
44031         * lib/copy-acl.c (qcopy_acl): Likewise.
44032
44033 2008-06-08  Bruno Haible  <bruno@clisp.org>
44034
44035         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
44036
44037 2008-06-08  Jim Meyering  <meyering@redhat.com>
44038
44039         * modules/acl (Maintainer): Add Bruno Haible.
44040
44041 2008-06-07  Bruno Haible  <bruno@clisp.org>
44042
44043         Improve support for Tru64 ACLs.
44044         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
44045         ACL on OSF/1.
44046
44047 2008-06-07  Bruno Haible  <bruno@clisp.org>
44048
44049         Add support for MacOS X ACLs.
44050         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
44051         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
44052         * lib/set-mode-acl.c (qset_acl): Likewise.
44053         * lib/copy-acl.c (qcopy_acl): Likewise.
44054
44055 2008-06-07  Bruno Haible  <bruno@clisp.org>
44056
44057         Fix memory leak introduced on 2008-05-22.
44058         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
44059         use.
44060
44061 2008-06-07  Bruno Haible  <bruno@clisp.org>
44062
44063         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
44064         to construct an empty ACL.
44065
44066 2008-06-07  Bruno Haible  <bruno@clisp.org>
44067
44068         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
44069         precisely.
44070         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
44071
44072 2008-06-07  Bruno Haible  <bruno@clisp.org>
44073
44074         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
44075         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
44076
44077 2008-06-07  Bruno Haible  <bruno@clisp.org>
44078
44079         * doc/posix-functions/_setjmp.texi: Explain the use of this function
44080         regardless of POSIX.
44081         * doc/posix-functions/_longjmp.texi: Likewise.
44082         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
44083         SystemV platform in this case.
44084
44085 2008-06-06  Eric Blake  <ebb9@byu.net>
44086
44087         Document abort() bugs.
44088         * doc/posix-functions/abort.texi (abort): Mention anomalies.
44089
44090         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
44091         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
44092         sigsetjmp.
44093         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
44094         siglongjmp, but only as a macro.
44095         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
44096         is obsolete.
44097         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
44098
44099         Tweak documentation to cover cygwin argz bugs.
44100         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
44101         argz bug fix; no code change needed since no cygwin releases
44102         occurred between the last fix and the bug being tested.
44103         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
44104         module and recently fixed cygwin bugs.
44105         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
44106         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
44107         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
44108         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
44109         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
44110         Likewise.
44111         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
44112         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
44113         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
44114         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
44115         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
44116         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
44117         Likewise.
44118
44119         Avoid gcc warning on cygwin.
44120         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
44121         !ACL_NO_TRIVIAL]: Avoid unused variable.
44122
44123 2008-06-05  Eric Blake  <ebb9@byu.net>
44124
44125         Be tolerant of UNKNOWN version in gnulib-tool test dir.
44126         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
44127         git-version-gen fails to come up with a version.
44128         Reported by Simon Josefsson.
44129
44130 2008-06-05  Jim Meyering  <meyering@redhat.com>
44131             Paul Eggert  <eggert@cs.ucla.edu>
44132
44133         utimens.c: work around a probable Linux kernel bug
44134         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
44135         appears to be a kernel bug that causes utimensat to return 280
44136         instead of 0, indicating success.
44137
44138 2008-06-04  Bruno Haible  <bruno@clisp.org>
44139
44140         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
44141         2008-06-01 commit.
44142
44143 2008-06-04  Bruno Haible  <bruno@clisp.org>
44144
44145         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
44146         * lib/file-has-acl.c (acl_access_nontrivial): New function.
44147         (file_has_acl): Use it. Save errno afterwards.
44148         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
44149
44150 2008-06-03  Bruno Haible  <bruno@clisp.org>
44151
44152         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
44153         draft code. Simplify #ifs.
44154         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
44155         Put Solaris code after POSIX-draft code. Fix comments regarding
44156         Solaris 10, HP-UX. Mention Cygwin.
44157         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
44158
44159 2008-06-03  Eric Blake  <ebb9@byu.net>
44160
44161         Provide fallback for older kernels.
44162         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
44163         Provide runtime fallback if kernel lacks support.
44164         Reported by Mike Frysinger.
44165
44166 2008-06-02  Bruno Haible  <bruno@clisp.org>
44167
44168         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
44169         it exists.
44170
44171 2008-06-02  Bruno Haible  <bruno@clisp.org>
44172
44173         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
44174         * lib/copy-acl.c (qcopy_acl): Update comment.
44175
44176 2008-06-02  Bruno Haible  <bruno@clisp.org>
44177
44178         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
44179         like ACL APIs.
44180
44181 2008-06-02  Bruno Haible  <bruno@clisp.org>
44182
44183         * tests/test-file-has-acl.sh: Use different code for Cygwin.
44184         * tests/test-set-mode-acl.sh: Likewise.
44185         * tests/test-copy-acl.sh: Likewise.
44186         * tests/test-copy-file.sh: Likewise.
44187
44188 2008-06-02  Bruno Haible  <bruno@clisp.org>
44189
44190         * tests/test-file-has-acl.sh: Remove unused code.
44191
44192 2008-06-01  Bruno Haible  <bruno@clisp.org>
44193
44194         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
44195         (copy_acl): Just a wrapper around qcopy_acl that emits the error
44196         messages.
44197         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
44198
44199 2008-06-01  Bruno Haible  <bruno@clisp.org>
44200
44201         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
44202         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
44203         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
44204         APIs.
44205         * modules/acl-tests (configure.ac): Remove tests now contained in
44206         m4/acl.m4.
44207
44208 2008-06-02  Jim Meyering  <meyering@redhat.com>
44209
44210         announce-gen: use a better key-server host name
44211         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
44212         it may be more consistently reliable.  Suggested by Werner Koch
44213         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
44214
44215 2008-06-01  Bruno Haible  <bruno@clisp.org>
44216
44217         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
44218         Reported by Voroskoi Andras <voroskoi@gmail.com>.
44219
44220 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
44221
44222         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
44223
44224 2008-06-01  Bruno Haible  <bruno@clisp.org>
44225
44226         New ACL tests.
44227         * tests/test-file-has-acl.sh: New file.
44228         * tests/test-file-has-acl.c: New file.
44229         * tests/test-set-mode-acl.sh: New file.
44230         * tests/test-set-mode-acl.c: New file.
44231         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
44232         * tests/test-copy-acl.c: New file.
44233         * modules/acl-tests: New file, based on modules/copy-file-tests.
44234         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
44235         (Depends-on): Add acl-tests.
44236         (configure.ac): Remove checks.
44237         (Makefile.am): Don't create test-sameacls program here any more.
44238
44239 2008-06-01  Bruno Haible  <bruno@clisp.org>
44240
44241         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
44242         * tests/test-sameacls.c: Include progname.h.
44243         (main): Invoke set_program_name. Portability fixes for MacOS X,
44244         Solaris, HP-UX.
44245
44246 2008-06-01  Bruno Haible  <bruno@clisp.org>
44247
44248         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
44249         function.
44250         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
44251
44252 2008-06-01  Bruno Haible  <bruno@clisp.org>
44253
44254         * modules/rpmatch (Depends-on): Add strdup.
44255
44256 2008-06-01  Bruno Haible  <bruno@clisp.org>
44257
44258         * lib/pipe.c: Include unistd-safer.h.
44259         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
44260         * modules/pipe (Depends-on): Add unistd-safer.
44261
44262 2008-05-30  Simon Josefsson  <simon@josefsson.org>
44263
44264         * modules/autobuild (configure.ac): Call AB_INIT.
44265
44266 2008-05-30  Simon Josefsson  <simon@josefsson.org>
44267
44268         * tests/test-getaddrinfo.c: Don't print debug messages by default.
44269         Suggested by Bruno Haible <bruno@clisp.org>.
44270
44271 2008-05-30  Simon Josefsson  <simon@josefsson.org>
44272
44273         * tests/test-base64.c: Cast size_t to unsigned long when invoking
44274         printf.  Use %lu instead of %d.  Reported by Bruno Haible
44275         <bruno@clisp.org>.
44276
44277 2008-05-29  Eric Blake  <ebb9@byu.net>
44278
44279         Prefer new POSIX 200x interfaces over futimesat.
44280         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
44281         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
44282         when available.
44283         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
44284
44285 2008-05-28  Bruno Haible  <bruno@clisp.org>
44286
44287         * modules/stpcpy (License): Change to LGPLv2+.
44288         Requested by David Lutterkort <dlutter@redhat.com>.
44289
44290 2008-05-27  Bruno Haible  <bruno@clisp.org>
44291
44292         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
44293         current mingw.
44294         Reported by Jose E. Marchesi <jemarch@gnu.org>.
44295
44296 2008-05-27  Bruno Haible  <bruno@clisp.org>
44297
44298         * modules/iconv_open (Link): New section, from module 'iconv'.
44299         * modules/striconv (Link): Likewise.
44300         * modules/striconveh (Link): Likewise.
44301         * modules/xstriconv (Link): Likewise.
44302         * modules/unicodeio (Link): Likewise.
44303         * modules/propername (Link): Likewise.
44304         Reported by Jim Meyering.
44305
44306 2008-05-26  Jim Meyering  <meyering@redhat.com>
44307
44308         sha256: do not artificially restrict buffer length to be < 2^32
44309         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
44310         uint32_t to size_t.
44311         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
44312         to match.
44313
44314         avoid unaligned access errors, e.g., on sparc
44315         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
44316         direct access through a possibly-unaligned uint64* pointer.
44317         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
44318         direct access through a possibly-unaligned uint32* pointer.
44319         Prompted by this patch from Tom "spot" Callaway:
44320         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
44321
44322         sha512.c: fix typo in comment
44323         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
44324
44325 2008-05-25  Bruno Haible  <bruno@clisp.org>
44326
44327         * lib/set-mode-acl.c: Renamed from lib/acl.c.
44328         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
44329         (Makefile.am): Update lib_SOURCES.
44330
44331 2008-05-25  Bruno Haible  <bruno@clisp.org>
44332
44333         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
44334
44335 2008-05-25  Jim Meyering  <meyering@redhat.com>
44336
44337         useless-if-before-free: freed expr may have white-space differences
44338         * build-aux/useless-if-before-free: Recognize cases in which the
44339         freed expression differs from the tested one in embedded white
44340         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
44341         $1 was used, so we can't make any regexp shy.  Improved tests now
44342         detect this.
44343
44344         useless-if-before-free: accept white space in the expression.
44345         * build-aux/useless-if-before-free: For now, any white space
44346         in the expression must be identical in the free argument.
44347
44348         useless-if-before-free: efficiency tweak
44349         * build-aux/useless-if-before-free: Make the expression-matching
44350         regexp "shy".
44351         Make the *outer* regexp shy, not the expr-matching one.
44352
44353         update code-in-comment to accept cast of free arg
44354         * build-aux/useless-if-before-free: Update regexp.
44355
44356 2008-05-25  Bruno Haible  <bruno@clisp.org>
44357
44358         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
44359         * modules/copy-file-tests (Files, Makefile.am): Update.
44360         * tests/test-copy-file.c (func_test_copy): Update.
44361
44362 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
44363
44364         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
44365
44366 2008-05-23  Bruno Haible  <bruno@clisp.org>
44367
44368         Improve support for ACLs on OSF/1.
44369         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
44370         Remove fallback for unknown flavors of ACLs.
44371
44372 2008-05-22  Bruno Haible  <bruno@clisp.org>
44373
44374         Add support for ACLs on OSF/1.
44375         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
44376         replacements.
44377         (acl_free_text): New macro fallback.
44378         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
44379         acl_free.
44380         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
44381         acl_free_text function. Require AC_C_INLINE.
44382
44383 2008-05-22  Bruno Haible  <bruno@clisp.org>
44384
44385         Make copy_acl work on MacOS X 10.5.
44386         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
44387         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
44388         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
44389         If MODE_INSIDE_ACL, don't assume that every system has the same text
44390         representation for ACLs as FreeBSD.
44391         * lib/copy-acl.c (copy_acl): Add support for platforms with
44392         !MODE_INSIDE_ACL.
44393         * lib/file-has-acl.c (file_has_acl): Likewise.
44394         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
44395         FreeBSD, MacOS X, or IRIX, respectively.
44396
44397 2008-05-22  Bruno Haible  <bruno@clisp.org>
44398
44399         * lib/acl.h: Don't include <sys/acl.h>.
44400         (GETACLCNT): Move fallback to lib/acl-internal.h.
44401         * lib/acl-internal.h: Include <sys/acl.h> here.
44402         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
44403
44404 2008-05-22  Bruno Haible  <bruno@clisp.org>
44405
44406         Split off copy_acl function to separate file.
44407         * lib/copy-acl.c: New file, extracted from lib/acl.c.
44408         * lib/acl.c (copy_acl): Moved function to separate file.
44409         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
44410         * modules/acl (Files): Add lib/copy-acl.c.
44411         (Makefiles.am): Augment lib_SOURCES.
44412
44413 2008-05-22  Bruno Haible  <bruno@clisp.org>
44414
44415         * modules/copy-file-tests: New file.
44416         * tests/test-copy-file.sh: New file.
44417         * tests/test-copy-file.c: New file.
44418         * tests/test-copy-file-sameacls.c: New file.
44419
44420 2008-05-22  Eric Blake  <ebb9@byu.net>
44421
44422         Avoid gcc warning.
44423         * tests/test-memcmp.c (main): Pass NULL indirectly.
44424
44425 2008-05-21  Bruno Haible  <bruno@clisp.org>
44426
44427         Add reference doc about ACLs.
44428         * doc/acl-resources.txt: New file.
44429         * doc/acl-cygwin.txt: New file.
44430
44431 2008-05-21  Bruno Haible  <bruno@clisp.org>
44432
44433         Avoid one more warning from gcc.
44434         * lib/vasnprintf.c (IF_LINT): Update comments.
44435         (VASNPRINTF): Use it also for the 'prefix' array initializer.
44436
44437 2008-05-21  Jim Meyering  <meyering@redhat.com>
44438
44439         avoid a warning from gcc
44440         * lib/vasnprintf.c (IF_LINT): Define.
44441         (scale10_round_decimal_long_double):
44442         Use it to avoid a "may be used uninitialized" warning.
44443         (scale10_round_decimal_double): Likewise.
44444
44445 2008-05-21  Simon Josefsson  <simon@josefsson.org>
44446
44447         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
44448         declared.
44449
44450 2008-05-20  Bruno Haible  <bruno@clisp.org>
44451
44452         * tests/test-memcmp.c (main): Test also the sign of the result. Test
44453         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
44454
44455 2008-05-20  Simon Josefsson  <simon@josefsson.org>
44456
44457         * modules/memcmp-tests: New file.
44458         * tests/test-memcmp.c: New file.
44459
44460 2008-05-19  Bruno Haible  <bruno@clisp.org>
44461
44462         * modules/propername (Notice, configure.ac): Put quoted "..." into
44463         --keyword option.
44464         * lib/propername.h: Update comments accordingly.
44465         Reported by Eric Blake.
44466
44467 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
44468
44469         * modules/getpass-gnu (Depends-on): Add fseeko.
44470
44471 2008-05-19  Simon Josefsson  <simon@josefsson.org>
44472
44473         * modules/base64-tests: New file.
44474
44475 2008-05-19  Bo Borgerson <gigabo@gmail.com>
44476
44477         * lib/base64.c (base64_decode_ctx): If a decode context structure
44478         was passed in use it to ignore newlines.  If a context structure
44479         was _not_ passed in, continue to treat newlines as garbage (this
44480         is the historical behavior).  Formerly base64_decode.
44481         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
44482         takes a decode context structure.
44483         * lib/base64.h (base64_decode): Macro for four-argument calls.
44484         (base64_decode_alloc): Likewise.
44485         * lib/base64.c (base64_decode_ctx): If a decode context structure
44486         was passed in use it to ignore newlines.  If a context structure
44487         was _not_ passed in, continue to treat newlines as garbage (this
44488         is the historical behavior).  Formerly base64_decode.
44489         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
44490         takes a decode context structure.
44491         * lib/base64.h (base64_decode): Macro for four-argument calls.
44492         (base64_decode_alloc): Likewise.
44493
44494 2008-05-19  Jim Meyering  <meyering@redhat.com>
44495
44496         avoid a warning from gcc
44497         * lib/trim.c (IF_LINT): Define.
44498         (trim2): Use it to avoid a "may be used uninitialized" warning.
44499
44500         Fix doc typo.
44501         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
44502
44503 2008-05-19  Bruno Haible  <bruno@clisp.org>
44504
44505         * doc/glibc-functions/getpass.texi: Document limits of other
44506         implementations.
44507
44508 2008-05-19  Simon Josefsson  <simon@josefsson.org>
44509             Bruno Haible <bruno@clisp.org>
44510
44511         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
44512
44513 2008-05-18  Bruno Haible  <bruno@clisp.org>
44514
44515         * modules/propername: New file, from GNU gettext.
44516         * lib/propername.h: New file, from GNU gettext.
44517         * lib/propername.c: New file, from GNU gettext.
44518         * MODULES.html.sh (Internationalization functions): Add propername.
44519
44520 2008-05-16  Jim Meyering  <meyering@redhat.com>
44521             Bruno Haible  <bruno@clisp.org>
44522
44523         Avoid some warnings from "gcc -Wshadow".
44524         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
44525
44526 2008-05-15  Eric Blake  <ebb9@byu.net>
44527
44528         Extend previous patch to cygwin 1.7.0.
44529         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
44530         fast implementation in cygwin >= 1.7.0.
44531         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
44532         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44533
44534 2008-05-15  Bruno Haible  <bruno@clisp.org>
44535
44536         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
44537         implementation in glibc >= 2.9.
44538         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
44539         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44540
44541 2008-05-15  Bruno Haible  <bruno@clisp.org>
44542
44543         * MODULES.html.sh (Internationalization functions): Remove linebreak.
44544         (Unicode string functions): Add unilbrk/*.
44545         Reported by Karl Berry.
44546
44547 2008-05-15  Eric Blake  <ebb9@byu.net>
44548
44549         Fix violation of <stdbool.h> replacement in regex.
44550         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
44551         * lib/regexec.c (re_search_internal): Likewise.
44552         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
44553
44554 2008-05-15  Jim Meyering  <meyering@redhat.com>
44555
44556         avoid distracting test output when git or cvs is not found
44557         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
44558         * tests/test-vc-list-files-git.sh: Likewise.
44559
44560 2008-05-15  Eric Blake  <ebb9@byu.net>
44561
44562         Glibc finally accepted the memmem speedup code, bugzilla #5514.
44563         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
44564         glibc version.
44565         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44566         * doc/posix-functions/strstr.texi (strstr): Likewise.
44567         * lib/str-two-way.h (MAX): Sychronize with glibc.
44568
44569 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
44570
44571         * lib/regcomp.c (optimize_utf8): Add a note on why we test
44572         opr.ctx_type.
44573         (calc_first): Initialize constraint field.
44574         (duplicate_node_closure): Use it instead of special casing ANCHORS.
44575         Fix grammar.
44576         (duplicate_node): Merge constraint field for all node types.
44577         (calc_eclosure_iter): Look at constraint field for all node types.
44578         * lib/regex_internal.c (create_cd_newstate): Don't look at
44579         opr.ctx_type.
44580
44581 2008-05-14  Bruno Haible  <bruno@clisp.org>
44582
44583         Help GCC to do better code generation.
44584         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
44585         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
44586         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
44587         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
44588         Declare with attribute 'malloc' if supported.
44589
44590 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
44591
44592         use "echo STR|wc -c" rather than unportable "expr length STR"
44593         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
44594         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
44595
44596 2008-05-14  Jim Meyering  <meyering@redhat.com>
44597
44598         use dd ibs=$n count=1 ... rather than less-portable head -c$n
44599         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
44600         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
44601         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
44602         via Collin Lasse.
44603
44604 2008-05-14  Eric Blake  <ebb9@byu.net>
44605
44606         Avoid quadratic growth in gl_LIBSOURCES.
44607         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
44608         Suggested by Bruno Haible.
44609
44610         Test xmemdup0.
44611         * modules/xmemdup0-tests: New file.
44612         * tests/test-xmemdup0.c: Likewise.
44613
44614 2008-05-13  Eric Blake  <ebb9@byu.net>
44615
44616         Split xmemdup0 into its own module.
44617         * modules/xmemdup0: New file.
44618         * lib/xmemdup0.h: Likewise.
44619         * lib/xmemdup0.c: Likewise.
44620         * MODULES.html.sh (Memory management functions): Add xmemdup0.
44621         * lib/xalloc.h (xmemdup0): Remove.
44622         * lib/xmalloc.c (xmemdup0): Likewise.
44623
44624 2008-05-13  Eric Blake  <ebb9@byu.net>
44625             Bruno Haible  <bruno@clisp.org>
44626
44627         Reduce number of forks required during autoconf.
44628         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
44629         and gl_LIBSOURCES_DIR.
44630         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
44631         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
44632         m4_syscmd per file.
44633         <m4_foreach_w>: Move...
44634         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
44635
44636 2008-05-13  Eric Blake  <ebb9@byu.net>
44637
44638         * gnulib-tool: Fix various comment typos.
44639
44640 2008-05-12  Bruno Haible  <bruno@clisp.org>
44641
44642         Tailor the linebreaking algorithm.
44643         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
44644
44645 2008-05-12  Bruno Haible  <bruno@clisp.org>
44646
44647         Update to Unicode 5.0.0.
44648         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
44649         LBP_JV, LBP_JT. Redistribute values.
44650         (unilbrk_table): Change size.
44651         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
44652         Unicode TR#14 rev. 22.
44653         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
44654         LBP_JV, LBP_JT. Redistribute values.
44655         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
44656         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
44657         Update.
44658         * lib/unilbrk/lbrkprop1.h: Regenerated.
44659         * lib/unilbrk/lbrkprop2.h: Regenerated.
44660         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
44661         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
44662         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
44663         Likewise.
44664         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
44665         Likewise.
44666         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
44667         result.
44668         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44669         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44670         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
44671         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
44672         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
44673         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
44674
44675 2008-05-11  Bruno Haible  <bruno@clisp.org>
44676
44677         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
44678
44679 2008-05-11  Bruno Haible  <bruno@clisp.org>
44680
44681         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
44682         * modules/unilbrk/gen-lbrk: New file.
44683
44684 2008-05-11  Bruno Haible  <bruno@clisp.org>
44685
44686         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
44687         * m4/sha512.m4 (gl_SHA512): Likewise.
44688
44689 2008-05-11  Jim Meyering  <meyering@redhat.com>
44690
44691         New modules: crypto/sha256, crypto/sha512 (from coreutils)
44692         * modules/crypto/sha256: New file.
44693         * modules/crypto/sha512: Likewise.
44694         * lib/sha256.c: Likewise.
44695         * lib/sha256.h: Likewise.
44696         * lib/sha512.c: Likewise.
44697         * lib/sha512.h: Likewise.
44698         * lib/u64.h: Likewise.
44699         * m4/sha256.m4: Likewise.
44700         * m4/sha512.m4: Likewise.
44701         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
44702
44703 2008-05-10  Bruno Haible  <bruno@clisp.org>
44704
44705         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
44706         (Input/Output <stdio.h>): Add xprintf.
44707         (Signal handling <signal.h>): Add strsignal.
44708         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
44709         (Core language properties): Add func.
44710         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
44711         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
44712         strings.
44713         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
44714         (Input/output): New section.
44715         (File system functions): Add openat-die, stat-macros.
44716         (Networking functions): Add sockets.
44717         (Unicode string functions): Add unictype/*.
44718         (Support for building libraries and executables): Add gperf.
44719         (Support for building documentation): Add agpl-3.0.
44720         (Misc): Add nocrash.
44721
44722 2008-05-10  Bruno Haible  <bruno@clisp.org>
44723
44724         * modules/unictype/gen-ctype: New file.
44725
44726 2008-05-10  Jim Meyering  <meyering@redhat.com>
44727
44728         Make chdir-safer.c more efficient on a system with no symlinks.
44729         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
44730         also if ELOOP is zero.  Suggested by Bruno Haible.
44731
44732         Make chdir-safer.c slightly safer.
44733         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
44734         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
44735
44736         Avoid compile failure on systems without ELOOP (like mingw).
44737         * lib/chdir-safer.c (ELOOP): Define if not already defined.
44738         Reported by Bruno Haible.
44739
44740 2008-05-10  Bruno Haible  <bruno@clisp.org>
44741
44742         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
44743         (is_utf8_encoding): Use a case-insensitive comparison.
44744         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
44745         streq.
44746
44747 2008-05-10  Bruno Haible  <bruno@clisp.org>
44748
44749         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
44750         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
44751         * lib/unilbrk/ulc-common.h (iconv_string_length,
44752         iconv_string_keeping_offsets): Remove declarations.
44753         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
44754         Don't include <iconv.h>, streq.h, xsize.h.
44755         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
44756         conversion.
44757         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
44758         <iconv.h>, streq.h, xsize.h.
44759         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
44760         conversion.
44761         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
44762         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
44763         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
44764         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
44765
44766 2008-05-10  Bruno Haible  <bruno@clisp.org>
44767
44768         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
44769         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
44770
44771         * modules/unilbrk/u32-width-linebreaks-tests: New file.
44772         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
44773
44774         * modules/unilbrk/u16-width-linebreaks-tests: New file.
44775         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
44776
44777         * modules/unilbrk/u8-width-linebreaks-tests: New file.
44778         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
44779
44780         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
44781         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
44782
44783         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
44784         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
44785
44786         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
44787         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
44788
44789         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
44790         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
44791
44792 2008-05-10  Bruno Haible  <bruno@clisp.org>
44793
44794         Split up 'linebreak' module.
44795         * lib/unilbrk.h: New file, based on lib/linebreak.h.
44796         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
44797         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
44798         modifications.
44799         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
44800         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
44801         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
44802         lib/linebreak.c.
44803         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
44804         lib/linebreak.c.
44805         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
44806         lib/linebreak.c.
44807         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
44808         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
44809         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
44810         lib/linebreak.c.
44811         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
44812         lib/linebreak.c.
44813         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
44814         lib/linebreak.c.
44815         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
44816         lib/linebreak.c.
44817         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
44818         lib/linebreak.c.
44819         * modules/unilbrk/base: New file.
44820         * modules/unilbrk/tables: New file.
44821         * modules/unilbrk/u8-possible-linebreaks: New file.
44822         * modules/unilbrk/u16-possible-linebreaks: New file.
44823         * modules/unilbrk/u32-possible-linebreaks: New file.
44824         * modules/unilbrk/ulc-common: New file.
44825         * modules/unilbrk/ulc-possible-linebreaks: New file.
44826         * modules/unilbrk/u8-width-linebreaks: New file.
44827         * modules/unilbrk/u16-width-linebreaks: New file.
44828         * modules/unilbrk/u32-width-linebreaks: New file.
44829         * modules/unilbrk/ulc-width-linebreaks: New file.
44830         * lib/linebreak.h: Remove file.
44831         * lib/linebreak.c: Remove file.
44832         * m4/linebreak.m4: Remove file.
44833         * modules/linebreak: Remove file.
44834         * NEWS: Mention the changes.
44835
44836 2008-05-09  Eric Blake  <ebb9@byu.net>
44837
44838         Add xmemdup0.
44839         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
44840         implementation.
44841         * lib/xmalloc.c (xmemdup0): New C implementation.
44842
44843 2008-05-08  Bruno Haible  <bruno@clisp.org>
44844
44845         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
44846
44847 2008-05-07  Eric Blake  <ebb9@byu.net>
44848
44849         Support cross-compilation of <wctype.h>.
44850         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
44851         AC_CACHE_CHECK.
44852
44853 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
44854
44855         * build-aux/vc-list-files: Add support for bzr.
44856
44857 2008-05-03  Jim Meyering  <meyering@redhat.com>
44858
44859         avoid failed assertion with tight malloc
44860         * tests/test-getndelim2.c: Correct an off-by-one assertion.
44861
44862 2008-05-03  Simon Josefsson  <simon@josefsson.org>
44863
44864         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
44865         are needed from arpa/inet.h.
44866         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
44867         Reported by Bruno Haible.
44868
44869 2008-05-02  Jim Meyering  <meyering@redhat.com>
44870
44871         avoid compilation error on FreeBSD 6
44872         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
44873
44874 2008-05-01  Jim Meyering  <meyering@redhat.com>
44875
44876         useless-if-before-free: correct --help's exit status description
44877         * build-aux/useless-if-before-free (usage): Like grep, exit 0
44878         for one or more matches, etc.  Reported by Bruno Haible.
44879
44880         vc-list-files: make the stand-alone gnulib test work
44881         * modules/vc-list-files-tests (configure.ac):
44882         Define and AC_SUBST abs_aux_dir.
44883         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
44884         $(abs_top_srcdir) to each script and having each of them
44885         duplicate the work of setting PATH, set PATH here, using
44886         the new variable, abs_aux_dir instead.
44887         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
44888         * tests/test-vc-list-files-git.sh: Likewise.
44889         Reported by Bruno Haible.
44890
44891 2008-05-01  Bruno Haible  <bruno@clisp.org>
44892
44893         * lib/getndelim2.c (getndelim2): Fix newsize computation during
44894         reallocation. Rename 'done' to 'found_delimiter'.
44895
44896 2008-05-01  Jim Meyering  <meyering@redhat.com>
44897
44898         vc-list-files: accommodate /bin/sh like the one from Solaris 10
44899         * build-aux/vc-list-files: Use `...`, not $(...).
44900
44901 2008-04-30  Jim Meyering  <meyering@redhat.com>
44902
44903         add tests for vc-list-files
44904         * modules/vc-list-files-tests: New module.
44905         * tests/test-vc-list-files-cvs.sh: New file.
44906         * tests/test-vc-list-files-git.sh: New file.
44907
44908         avoid a warning from gcc
44909         * lib/getndelim2.c (IF_LINT): Define.
44910         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
44911
44912         vc-list-files: work properly with build-aux/cvsu, too
44913         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
44914         to all cvs-based clauses.
44915
44916         vc-list-files: work properly in the CVS+awk case, too
44917         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
44918
44919         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
44920         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
44921         take more than one file argument, so .  Add quotes, just in case $dir
44922         ever contains a shell meta-character.  Prompted by Soren Hansen in
44923         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
44924
44925 2008-04-29  Eric Blake  <ebb9@byu.net>
44926
44927         Optimize getndelim2 to use block operations when possible.
44928         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
44929         freadseek, and memchr2.
44930         * lib/getndelim2.c (getndelim2): Use them for block reads.
44931
44932 2008-04-29  Bruno Haible  <bruno@clisp.org>
44933
44934         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
44935         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
44936         * modules/inet_ntop (Depends-on): Add extensions.
44937         * modules/inet_pton (Depends-on): Likewise.
44938         Reported by Simon Josefsson.
44939
44940 2008-04-29  Jim Meyering  <meyering@redhat.com>
44941
44942         When the is more than one match in a block, match all of them.
44943         * build-aux/useless-if-before-free: Iterate through each block
44944         until there are no more matches.
44945
44946         Fix broken useless-if-before-free script.
44947         * build-aux/useless-if-before-free: Fix typo: missing "?" after
44948         the expression to match cast of argument to free-like function.
44949
44950 2008-04-29  Eric Blake  <ebb9@byu.net>
44951
44952         Use new header.
44953         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
44954
44955 2008-04-29  Jim Meyering  <meyering@redhat.com>
44956
44957         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
44958         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
44959         by gnulib to exist and to declare e.g., inet_ntop.
44960         Don't include "inet_ntop.h", now removed.
44961
44962         * m4/arpa_inet_h.m4: Remove trailing blanks.
44963
44964 2008-04-29  Eric Blake  <ebb9@byu.net>
44965
44966         Silence valgrind on safe reads beyond potential array bounds.
44967         * lib/rawmemchr.valgrind: New file.
44968         * lib/strchrnul.valgrind: Likewise.
44969         * modules/rawmemchr (Files): Distribute new file.
44970         * modules/strchrnul (Files): Likewise.
44971         Suggested by Bruno Haible.
44972
44973 2008-04-29  Bruno Haible  <bruno@clisp.org>
44974
44975         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
44976         (inet_ntop, inet_pton): Change portability warning's wording.
44977         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
44978         Invoke gl_CHECK_NEXT_HEADERS.
44979         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
44980         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
44981         set ARPA_INET_H.
44982         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
44983         * modules/arpa_inet (Description): No longer only for systems that
44984         lack it.
44985         (Depends-on): Add include_next.
44986         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
44987         HAVE_ARPA_INET_H.
44988
44989 2008-04-29  Jim Meyering  <meyering@redhat.com>
44990
44991         * modules/mkdir (License): Re-license as LGPLv2+.
44992
44993 2008-04-29  Bruno Haible  <bruno@clisp.org>
44994
44995         * modules/rawmemchr (Maintainer): Set to Eric.
44996         * modules/strchrnul (Maintainer): Likewise.
44997
44998 2008-04-29  Simon Josefsson  <simon@josefsson.org>
44999
45000         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
45001         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
45002
45003         * modules/arpa_inet (arpa/inet.h): Use them.
45004
45005 2008-04-28  Eric Blake  <ebb9@byu.net>
45006
45007         Test getndelim2.
45008         * modules/getndelim2-tests: New file.
45009         * tests/test-getndelim2.c: Likewise.
45010         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
45011         stream.
45012         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
45013
45014         * MODULES.html.sh: Document new module.
45015
45016 2008-04-20  Bruno Haible  <bruno@clisp.org>
45017
45018         * lib/c-stack.c (die): Use raise.
45019         * modules/c-stack (Depends-on): Add raise.
45020
45021 2008-04-28  Bruno Haible  <bruno@clisp.org>
45022
45023         Expect rpmatch to be declared.
45024         * lib/yesno.c (rpmatch): Remove declaration.
45025
45026         Declare rpmatch.
45027         * lib/stdlib.in.h (rpmatch): New declaration.
45028         * lib/rpmatch.c: Include <stdlib.h> first.
45029         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
45030         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
45031         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
45032         HAVE_RPMATCH.
45033         * modules/rpmatch (Depends-on): Add stdlib, extensions.
45034         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45035         (Include): Set to <stdlib.h>.
45036         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
45037         HAVE_RPMATCH.
45038         * NEWS: Document the change.
45039
45040 2008-04-28  Bruno Haible  <bruno@clisp.org>
45041
45042         Change rpmatch to use nl_langinfo when appropriate.
45043         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
45044         (N_): New macro.
45045         (localized_pattern): New function/macro.
45046         (try): Remove match, nomatch arguments. Copy the pattern into safe
45047         memory before caching it.
45048         (rpmatch): Use localized_pattern. Add translator comments.
45049         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
45050         Suggested by Eric Blake.
45051         * modules/rpmatch (Depends-on): Add stdbool.
45052
45053 2008-04-28  Eric Blake  <ebb9@byu.net>
45054
45055         Add rawmemchr module, matching glibc.
45056         * modules/string (Makefile.am): New indicator.
45057         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
45058         * lib/string.in.h (rawmemchr): Declare when appropriate.
45059         * modules/rawmemchr: New file.
45060         * m4/rawmemchr.m4: Likewise.
45061         * lib/rawmemchr.c: Likewise.
45062         * modules/rawmemchr-tests: Likewise.
45063         * tests/test-rawmemchr.c: Likewise.
45064         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
45065         module.
45066         * modules/strchrnul (Depends-on): Add rawmemchr.
45067         * lib/strchrnul.c (strchrnul): Optimize a corner case.
45068
45069         Whitespace cleanup.
45070         * tests/test-strchrnul.c: Reindent.
45071         * lib/strchrnul.c: Likewise.
45072
45073         Optimize and test strchrnul.
45074         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
45075         * modules/strchrnul-tests: New file.
45076         * tests/test-strchrnul.c: Likewise.
45077
45078         Remove intprops dependency.
45079         * modules/memchr (Depends-on): Remove intprops.
45080         * modules/memrchr (Depends-on): Likewise.
45081         * modules/memchr2 (Depends-on): Likewise.
45082         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
45083         * lib/memrchr.c (__memrchr): Likewise.
45084         * lib/memrchr2.c (memchr2): Likewise.
45085         Reported by Simon Josefsson.
45086
45087 2008-04-28  Simon Josefsson  <simon@josefsson.org>
45088
45089         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
45090         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45091
45092 2008-04-28  Simon Josefsson  <simon@josefsson.org>
45093
45094         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
45095
45096         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
45097
45098         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
45099
45100         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
45101         declarations.
45102         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
45103
45104         * m4/inet_pton.m4: Don't check for header files.
45105
45106         * m4/inet_ntop.m4: Don't check for header files.
45107
45108 2008-04-28  Simon Josefsson  <simon@josefsson.org>
45109
45110         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
45111         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
45112         trigger for cygwin).
45113         Reported by Bruno Haible  <bruno@clisp.org>.
45114
45115 2008-04-28  Bruno Haible  <bruno@clisp.org>
45116
45117         * doc/posix-functions/strdup.texi: Mention mingw problem.
45118
45119 2008-04-27  Bruno Haible  <bruno@clisp.org>
45120
45121         * modules/stat-time-tests (Depends-on): Add sleep.
45122         * tests/test-stat-time.c (force_unlink): New function.
45123         (cleanup): Use it.
45124         (test_mtime): Remove the ctime related tests.
45125         (test_ctime): New function, containing the ctime related tests.
45126         (main): Call test_ctime, except on native Windows platforms.
45127
45128 2008-04-27  Bruno Haible  <bruno@clisp.org>
45129
45130         * lib/rpmatch.c (rpmatch): Add some comments.
45131         Reported by James Youngman <jay@gnu.org>.
45132
45133 2008-04-27  Bruno Haible  <bruno@clisp.org>
45134
45135         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
45136         quiet NaNs.
45137
45138 2008-04-27  Bruno Haible  <bruno@clisp.org>
45139
45140         Make test-yesno.sh work on mingw.
45141         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
45142         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
45143         (main): Set stdin to binary mode.
45144         * modules/yesno-tests (Depends-on): Add binary-io.
45145
45146 2008-04-27  Bruno Haible  <bruno@clisp.org>
45147
45148         Fix 'isfinite' on x86, x86_64, ia64 platforms.
45149         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
45150         argument that lie outside the IEEE 854 domain.
45151         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
45152         (gl_ISFINITE): Use it.
45153         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
45154
45155 2008-04-27  Bruno Haible  <bruno@clisp.org>
45156
45157         Allow local renaming in config.h.
45158         * lib/memrchr.c (memrchr): Don't undefine outside libc.
45159
45160 2008-04-27  Bruno Haible  <bruno@clisp.org>
45161
45162         * lib/memchr.c (__memchr): Change type of 'i'.
45163         * lib/memchr2.c (memchr2): Likewise.
45164
45165 2008-04-26  Eric Blake  <ebb9@byu.net>
45166         and Bruno Haible  <bruno@clisp.org>
45167
45168         Optimize and test memrchr.
45169         * modules/memrchr (Depends-on): Add intprops.
45170         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
45171         * modules/memrchr-tests: New file.
45172         * tests/test-memrchr.c: New file.
45173
45174 2008-04-26  Bruno Haible  <bruno@clisp.org>
45175
45176         Add tentative support for DragonFly BSD.
45177         * lib/stdio-impl.h: Add macros for DragonFly BSD.
45178         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
45179         fp.
45180         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
45181         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
45182         * lib/fpurge.c (fpurge): Likewise.
45183         * lib/freadable.c (freaadable): Likewise.
45184         * lib/freadahead.c (freadahead): Likewise.
45185         * lib/freading.c (freading): Likewise.
45186         * lib/freadptr.c (freadptr): Likewise.
45187         * lib/freadseek.c (freadptrinc): Likewise.
45188         * lib/fseeko.c (fseeko): Likewise.
45189         * lib/fseterr.c (fseterr): Likewise.
45190         * lib/fwritable.c (fwritable): Likewise.
45191         * lib/fwriting.c (fwriting): Likewise.
45192
45193 2008-04-26  Bruno Haible  <bruno@clisp.org>
45194
45195         * lib/stdio-impl.h: New file.
45196         * lib/fbufmode.c: Include stdio-impl.h.
45197         (fbufmode): Use fp_, remove redundant #defines.
45198         * lib/fflush.c: Include stdio-impl.h.
45199         (clear_ungetc_buffer): Remove redundant #defines.
45200         * lib/fpurge.c: Include stdio-impl.h.
45201         (fpurge): Remove redundant #defines.
45202         * lib/freadable.c: Include stdio-impl.h.
45203         (freadable): Remove redundant #defines.
45204         * lib/freadahead.c: Include stdio-impl.h.
45205         (freadahead): Remove redundant #defines.
45206         * lib/freading.c: Include stdio-impl.h.
45207         (freading): Remove redundant #defines.
45208         * lib/freadptr.c: Include stdio-impl.h.
45209         (freadptr): Remove redundant #defines.
45210         * lib/freadseek.c: Include stdio-impl.h.
45211         (freadptrinc): Remove redundant #defines.
45212         * lib/fseeko.c: Include stdio-impl.h.
45213         (rpl_fseeko): Remove redundant #defines.
45214         * lib/fseterr.c: Include stdio-impl.h.
45215         (fseterr): Remove redundant #defines.
45216         * lib/fwritable.c: Include stdio-impl.h.
45217         (fwritable: Remove redundant #defines.
45218         * lib/fwriting.c: Include stdio-impl.h.
45219         (fwriting): Remove redundant #defines.
45220         * modules/fbufmode (Files): Add lib/stdio-impl.h.
45221         * modules/fflush (Files): Likewise.
45222         * modules/fpurge (Files): Likewise.
45223         * modules/freadable (Files): Likewise.
45224         * modules/freadahead (Files): Likewise.
45225         * modules/freading (Files): Likewise.
45226         * modules/freadptr (Files): Likewise.
45227         * modules/freadseek (Files): Likewise.
45228         * modules/fseeko (Files): Likewise.
45229         * modules/fseterr (Files): Likewise.
45230         * modules/fwritable (Files): Likewise.
45231         * modules/fwriting (Files): Likewise.
45232
45233 2008-04-26  Bruno Haible  <bruno@clisp.org>
45234
45235         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
45236         restore_seek_optimization, update_fpos_cache): New functions, extracted
45237         from rpl_fflush.
45238         (rpl_fflush): Use them.
45239         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
45240         (gl_REPLACE_FFLUSH): Use it.
45241
45242 2008-04-26  Bruno Haible  <bruno@clisp.org>
45243
45244         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
45245         on Solaris.
45246         * tests/test-xstrtoimax.sh: Likewise.
45247         * tests/test-xstrtoumax.sh: Likewise.
45248         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45249
45250 2008-04-26  Bruno Haible  <bruno@clisp.org>
45251
45252         * modules/memchr-tests: New file.
45253         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
45254
45255 2008-04-26  Eric Blake  <ebb9@byu.net>
45256             Bruno Haible  <bruno@clisp.org>
45257
45258         * lib/memchr.c: Include intprops.h.
45259         (__memchr): Optimize parallel detection of matching bytes. Rename local
45260         variables. Add explanatory comments.
45261
45262 2008-04-26  Bruno Haible  <bruno@clisp.org>
45263
45264         Fix module 'memchr', broken since 2000-10-28.
45265         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
45266
45267 2008-04-26  Bruno Haible  <bruno@clisp.org>
45268
45269         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
45270         comments.
45271
45272 2008-04-25  Eric Blake  <ebb9@byu.net>
45273
45274         Use native fstatat on cygwin 1.7.0.
45275         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
45276         first.
45277
45278 2008-04-23  Eric Blake  <ebb9@byu.net>
45279
45280         Improve memchr2 performance.
45281         * lib/memchr2.c (memchr2): Further optimize parallel detection of
45282         NUL bytes.
45283         * modules/memchr2 (Depends-on): Use intprops.h.
45284
45285 2008-04-23  Simon Josefsson  <simon@josefsson.org>
45286
45287         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
45288         an inline function instead of a CPP macro.  Patch by Ben Pfaff
45289         <blp@cs.stanford.edu>.
45290
45291 2008-04-23  Simon Josefsson  <simon@josefsson.org>
45292
45293         * lib/arpa_inet.in.h: New file.
45294
45295         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
45296         (Makefile.am): Sed in substitute header file.
45297
45298         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
45299         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
45300
45301         * modules/inet_ntop (configure.ac): Use
45302         gl_ARPA_INET_MODULE_INDICATOR.
45303
45304         * modules/inet_pton (configure.ac): Use
45305         gl_ARPA_INET_MODULE_INDICATOR.
45306
45307 2008-04-22  Jim Meyering  <meyering@redhat.com>
45308
45309         * modules/verify (License): Re-license as LGPLv2+.
45310
45311 2008-04-22  Simon Josefsson  <simon@josefsson.org>
45312
45313         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
45314         parameter to void* as per POSIX standard (MinGW uses char*).
45315
45316 2008-04-21  Bruno Haible  <bruno@clisp.org>
45317
45318         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
45319         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
45320         Define to replacements if REPLACE_ISWCNTRL is 1.
45321         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
45322         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
45323         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
45324         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
45325         what it fixes.
45326         * doc/posix-functions/iswalpha.texi: Likewise.
45327         * doc/posix-functions/iswblank.texi: Likewise.
45328         * doc/posix-functions/iswcntrl.texi: Likewise.
45329         * doc/posix-functions/iswdigit.texi: Likewise.
45330         * doc/posix-functions/iswgraph.texi: Likewise.
45331         * doc/posix-functions/iswlower.texi: Likewise.
45332         * doc/posix-functions/iswprint.texi: Likewise.
45333         * doc/posix-functions/iswpunct.texi: Likewise.
45334         * doc/posix-functions/iswspace.texi: Likewise.
45335         * doc/posix-functions/iswupper.texi: Likewise.
45336         * doc/posix-functions/iswxdigit.texi: Likewise.
45337         Reported by Alain Guibert.
45338
45339 2008-04-21  Bruno Haible  <bruno@clisp.org>
45340
45341         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
45342         Patch by Alain Guibert.
45343
45344 2008-04-21  Bruno Haible  <bruno@clisp.org>
45345
45346         Fix test failures on mingw.
45347         * tests/test-xstrtol.c (print_no_progname): New function.
45348         (main): Install it in error_print_progname hook.
45349         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
45350         * tests/test-xstrtoimax.sh: Likewise.
45351         * tests/test-xstrtoumax.sh: Likewise.
45352
45353 2008-04-21  Bruno Haible  <bruno@clisp.org>
45354
45355         Fix test failure on mingw.
45356         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
45357
45358 2008-04-21  Bruno Haible  <bruno@clisp.org>
45359
45360         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
45361         Actually assign a value.
45362
45363 2008-04-20  Bruno Haible  <bruno@clisp.org>
45364
45365         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
45366         take 2.
45367         * lib/canonicalize.c (canonicalize_file_name): Elide if the
45368         'canonicalize-lgpl' module is also used.
45369         * lib/canonicalize-lgpl.c: Undo last change.
45370         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
45371
45372 2008-04-20  Bruno Haible  <bruno@clisp.org>
45373
45374         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
45375         config.h. Provide _mkdir based fallback for mingw.
45376         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
45377         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
45378         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
45379         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
45380         rather than defining mkdir in config.h.
45381         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
45382         (gl_SYS_STAT_H_DEFAULTS): New macro.
45383         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
45384         HAVE_IO_H any more.
45385         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
45386         HAVE_DECL_MKDIR and HAVE_IO_H.
45387
45388 2008-04-20  Bruno Haible  <bruno@clisp.org>
45389
45390         * lib/isapipe.c: Port to native Windows platforms.
45391
45392 2008-04-20  Bruno Haible  <bruno@clisp.org>
45393
45394         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
45395
45396 2008-04-21  Eric Blake  <ebb9@byu.net>
45397
45398         Work around preprocessors that don't handle UINTMAX_MAX.
45399         * lib/memchr2.c (memchr2): Avoid embedded #if.
45400         Reported by Alain Guibert, fix suggested by Bruno Haible.
45401
45402 2008-04-21  Simon Josefsson  <simon@josefsson.org>
45403
45404         * doc/posix-functions/strftime.texi (strftime): Explain better
45405         Windows incompatibility.  Suggested by Micah Cowan
45406         <micah@cowan.name>.
45407
45408 2008-04-20  Bruno Haible  <bruno@clisp.org>
45409
45410         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
45411         unistr/u8-mblen.
45412
45413 2008-04-20  Bruno Haible  <bruno@clisp.org>
45414
45415         Fix test failure on platforms with non-GNU iconv.
45416         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
45417         (U_TO_U8): Use it, rather than u16_to_u8.
45418         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
45419         units at the end of the input string.
45420         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
45421
45422 2008-04-20  Bruno Haible  <bruno@clisp.org>
45423
45424         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
45425         when the resulting length is 0.
45426         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
45427
45428 2008-04-20  Bruno Haible  <bruno@clisp.org>
45429
45430         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
45431         works.
45432         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
45433
45434 2008-04-20  Bruno Haible  <bruno@clisp.org>
45435
45436         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
45437         * modules/tsearch-tests (configure.ac): Test for initstate function.
45438
45439 2008-04-20  Bruno Haible  <bruno@clisp.org>
45440
45441         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
45442         for nlink_t if missing.
45443         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
45444
45445 2008-04-19  Bruno Haible  <bruno@clisp.org>
45446
45447         Work around snprintf bug on Linux libc5.
45448         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
45449         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
45450         gl_SNPRINTF_SIZE1.
45451         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45452         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
45453         that test failed.
45454         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
45455         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
45456         * modules/snprintf (Files): Add m4/printf.m4.
45457         * modules/vsnprintf (Files): Likewise.
45458         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
45459         * doc/posix-functions/vsnprintf.texi: Likewise.
45460
45461 2008-04-19  Bruno Haible  <bruno@clisp.org>
45462
45463         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
45464         from 0.0058 to less than 10^-7.
45465
45466 2008-04-19  Bruno Haible  <bruno@clisp.org>
45467
45468         Fix rounding when a precision is given.
45469         * lib/vasnprintf.c (is_borderline): New function.
45470         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
45471         9...9x.
45472         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
45473         %e, %g.
45474         * tests/test-vasprintf-posix.c (test_function): Likewise.
45475         * tests/test-snprintf-posix.h (test_function): Likewise.
45476         * tests/test-sprintf-posix.h (test_function): Likewise.
45477         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
45478         * tests/test-printf-posix.h (test_function): Likewise.
45479         * tests/test-printf-posix.output: Update.
45480         Reported by John Darrington <john@darrington.wattle.id.au> via
45481         Ben Pfaff <blp@cs.stanford.edu>.
45482
45483 2008-04-18  Simon Josefsson  <simon@josefsson.org>
45484
45485         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
45486         Suggested by Bruno Haible <bruno@clisp.org>.
45487
45488 2008-04-17  Bruno Haible  <bruno@clisp.org>
45489
45490         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
45491         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
45492         implementation.
45493         Patch by Bruce Merry <bmerry@gmail.com>.
45494
45495 2008-04-17  Simon Josefsson  <simon@josefsson.org>
45496
45497         * doc/posix-functions/strftime.texi (strftime): Mention that %e
45498         doesn't work under Windows.
45499
45500 2008-04-16  Bruno Haible  <bruno@clisp.org>
45501
45502         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
45503         New macros.
45504         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
45505         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
45506         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
45507         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
45508         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
45509         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
45510         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
45511         macros.
45512         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
45513         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
45514         Northern Sotho, Uighur.
45515
45516 2008-04-16  Bruno Haible  <bruno@clisp.org>
45517
45518         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
45519         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
45520         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
45521         Reported by Daniel Bergström <daniel@octocode.com>.
45522
45523 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
45524             Bruno Haible  <bruno@clisp.org>
45525
45526         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
45527         function.
45528         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
45529         New functions, mostly extracted from gl_locale_name_default.
45530         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
45531
45532 2008-04-16  Eric Blake  <ebb9@byu.net>
45533
45534         Adjust strtod detection to catch glibc 2.7 bug.
45535         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
45536         Reported by John Gatewood Ham.
45537
45538 2008-04-16  Bruno Haible  <bruno@clisp.org>
45539
45540         Add tentative support for Linux libc5.
45541         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
45542         * lib/fpurge.c (fpurge): Likewise.
45543         * lib/freadable.c (freadable): Likewise.
45544         * lib/freadahead.c (freadahead): Likewise.
45545         * lib/freading.c (freading): Likewise.
45546         * lib/freadptr.c (freadptr): Likewise.
45547         * lib/freadseek.c (freadptrinc): Likewise.
45548         * lib/fseeko.c (rpl_fseeko): Likewise.
45549         * lib/fseterr.c (fseterr): Likewise.
45550         * lib/fwritable.c (fwritable): Likewise.
45551         * lib/fwriting.c (fwriting): Likewise.
45552         Reported by Alain Guibert <alguibert+bts@free.fr>.
45553
45554 2008-04-15  Bruno Haible  <bruno@clisp.org>
45555
45556         * modules/mathl (configure.ac): Define module indicator.
45557
45558 2008-04-15  Bruno Haible  <bruno@clisp.org>
45559
45560         * lib/logl.c (logl): Remove unused variables.
45561
45562 2008-04-15  Bruno Haible  <bruno@clisp.org>
45563
45564         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
45565         fails.
45566
45567 2008-04-15  Bruno Haible  <bruno@clisp.org>
45568
45569         * lib/trim.c (trim2): Fix argument of isspace() macro.
45570
45571 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
45572
45573         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
45574         to 0.
45575         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
45576
45577 2008-04-14  Bruno Haible  <bruno@clisp.org>
45578
45579         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
45580         AC_LANG_PROGRAM argument.
45581         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
45582         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
45583         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45584         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
45585         * m4/math_h.m4 (gl_MATH_H): Likewise.
45586         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
45587         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45588         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
45589         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
45590         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
45591         * m4/regex.m4 (gl_REGEX): Likewise.
45592         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
45593         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
45594         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45595         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
45596         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45597         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45598         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45599         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
45600
45601 2008-04-14  Jim Meyering  <meyering@redhat.com>
45602
45603         test-strtod: fix typos: s/abs/fabs/
45604         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
45605
45606 2008-04-13  Bruno Haible  <bruno@clisp.org>
45607
45608         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
45609         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
45610         module is also used and while not building the reloc-wrapper.
45611
45612 2008-04-13  Bruno Haible  <bruno@clisp.org>
45613
45614         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
45615
45616 2008-04-13  Bruno Haible  <bruno@clisp.org>
45617
45618         Fix AIX compilation failure introduced on 2008-04-02.
45619         * tests/test-frexp.c (exp): Undefine before redefining.
45620         * tests/test-frexpl.c (exp): Likewise.
45621
45622 2008-04-13  Bruno Haible  <bruno@clisp.org>
45623
45624         Work around a HP-UX stdio bug.
45625         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
45626         * tests/test-ftello.c (main): Likewise.
45627         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
45628         * doc/posix-functions/ftello.texi: Likewise.
45629
45630 2008-04-13  Bruno Haible  <bruno@clisp.org>
45631
45632         Make test-signbit pass on HP-UX/hppa.
45633         * tests/test-signbit.c (minus_zerol): New variable.
45634         (test_signbitl): Use it.
45635
45636 2008-04-13  Bruno Haible  <bruno@clisp.org>
45637
45638         Make truncl work on OSF/1 4.0.
45639         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
45640         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
45641         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
45642         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
45643         HAVE_DECL_TRUNCL.
45644         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
45645         HAVE_DECL_TRUNCL.
45646         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
45647
45648 2008-04-13  Bruno Haible  <bruno@clisp.org>
45649
45650         * lib/unictype.h: Remove trailing comma from enumeration definitions.
45651
45652 2008-04-13  Bruno Haible  <bruno@clisp.org>
45653
45654         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
45655         expression, so as to avoid HP-UX 11 cc compiler bug.
45656
45657 2008-04-13  Bruno Haible  <bruno@clisp.org>
45658
45659         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
45660
45661 2008-04-13  Bruno Haible  <bruno@clisp.org>
45662
45663         * lib/git-merge-changelog.c: Remove empty declaration outside of
45664         functions.
45665
45666 2008-04-13  Bruno Haible  <bruno@clisp.org>
45667
45668         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
45669
45670 2008-04-13  Bruno Haible  <bruno@clisp.org>
45671
45672         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
45673         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
45674         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
45675         also if it exists but lacks definitions of the SHUT_* macros.
45676         * modules/sys_socket (Description): Update.
45677         Reported by Elbert Pol <e.pol@chello.nl>.
45678
45679 2008-04-13  Bruno Haible  <bruno@clisp.org>
45680
45681         * lib/localcharset.c (OS2): Don't redefine if already defined.
45682         Reported by Elbert Pol <e.pol@chello.nl>.
45683
45684 2008-04-13  Bruno Haible  <bruno@clisp.org>
45685
45686         * lib/binary-io.h [__EMX__]: Include <io.h>.
45687         Reported by Elbert Pol <e.pol@chello.nl>.
45688
45689 2008-04-12  Bruno Haible  <bruno@clisp.org>
45690
45691         * lib/fpucw.h: Enable the definitions also for x86_64.
45692         Needed for NetBSD/x86_64.
45693         Reported by Thomas Klausner <tk@giga.or.at>.
45694
45695 2008-04-12  Bruno Haible  <bruno@clisp.org>
45696
45697         * tests/test-strtod.c: Include isnand.h.
45698         (main): Use isnand instead of isnan.
45699         Reported by Jim Meyering.
45700
45701 2008-04-12  Bruno Haible  <bruno@clisp.org>
45702
45703         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
45704         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
45705
45706 2008-04-12  Jim Meyering  <meyering@redhat.com>
45707
45708         * m4/math_h.m4 (gl_MATH_H): Fix typos.
45709
45710 2008-04-12  Bruno Haible  <bruno@clisp.org>
45711
45712         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
45713         Reported by Elbert Pol <e.pol@chello.nl>.
45714
45715 2008-04-12  Eric Blake  <ebb9@byu.net>
45716
45717         Work around Solaris 10 math.h bug.
45718         * m4/math_h.m4 (gl_MATH_H): Check for bug.
45719         (gl_MATH_H_DEFAULTS): Set up default.
45720         * modules/math (Makefile.am): Replace new indicators.
45721         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
45722         * tests/test-math.c (main): Test this.
45723         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
45724         * doc/posix-headers/math.texi (math.h): Mention bug.
45725         Reported by Nelson H. F. Beebe and Jim Meyering.
45726
45727 2008-04-11  Bruno Haible  <bruno@clisp.org>
45728
45729         Adapt to future versions of Apple GCC.
45730         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
45731         Reported by Peter O'Gorman <peter@pogma.com>.
45732
45733 2008-04-11  Bruno Haible  <bruno@clisp.org>
45734
45735         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
45736
45737 2008-04-11  Bruno Haible  <bruno@clisp.org>
45738
45739         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
45740
45741         * modules/getaddrinfo-tests (Makefile.am): Define
45742         test_getaddrinfo_LDADD.
45743
45744 2008-04-11  Bruno Haible  <bruno@clisp.org>
45745
45746         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
45747         (init): Fix syntax error.
45748         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
45749         is declared.
45750
45751 2008-04-11  Bruno Haible  <bruno@clisp.org>
45752
45753         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
45754         * modules/glob (Depends-on): Add stdbool.
45755
45756 2008-04-11  Bruno Haible  <bruno@clisp.org>
45757
45758         * lib/trim.c: Include <string.h>.
45759
45760 2008-04-11  Eric Blake  <ebb9@byu.net>
45761
45762         Avoid compile failure on OS/2.
45763         * lib/regex_internal.h (internal_function): Disable optimization
45764         on OS/2 (__EMX__), where it caused compiler error.
45765         Reported by Elbert Pol.
45766
45767 2008-04-11  Bruno Haible  <bruno@clisp.org>
45768
45769         Flush the standard error stream before aborting. Needed on mingw.
45770         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
45771         * tests/test-array_list.c (ASSERT): Likewise.
45772         * tests/test-array_oset.c (ASSERT): Likewise.
45773         * tests/test-avltree_list.c (ASSERT): Likewise.
45774         * tests/test-avltree_oset.c (ASSERT): Likewise.
45775         * tests/test-avltreehash_list.c (ASSERT): Likewise.
45776         * tests/test-binary-io.c (ASSERT): Likewise.
45777         * tests/test-byteswap.c (ASSERT): Likewise.
45778         * tests/test-c-ctype.c (ASSERT): Likewise.
45779         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
45780         * tests/test-c-strcasestr.c (ASSERT): Likewise.
45781         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
45782         * tests/test-c-strstr.c (ASSERT): Likewise.
45783         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
45784         * tests/test-canonicalize.c (ASSERT): Likewise.
45785         * tests/test-carray_list.c (ASSERT): Likewise.
45786         * tests/test-ceilf1.c (ASSERT): Likewise.
45787         * tests/test-ceilf2.c (ASSERT): Likewise.
45788         * tests/test-ceill.c (ASSERT): Likewise.
45789         * tests/test-count-one-bits.c (ASSERT): Likewise.
45790         * tests/test-fbufmode.c (ASSERT): Likewise.
45791         * tests/test-fflush2.c (ASSERT): Likewise.
45792         * tests/test-floorf1.c (ASSERT): Likewise.
45793         * tests/test-floorf2.c (ASSERT): Likewise.
45794         * tests/test-floorl.c (ASSERT): Likewise.
45795         * tests/test-fopen.c (ASSERT): Likewise.
45796         * tests/test-fpending.c (ASSERT): Likewise.
45797         * tests/test-fprintf-posix.c (ASSERT): Likewise.
45798         * tests/test-fpurge.c (ASSERT): Likewise.
45799         * tests/test-freadable.c (ASSERT): Likewise.
45800         * tests/test-freadahead.c (ASSERT): Likewise.
45801         * tests/test-freading.c (ASSERT): Likewise.
45802         * tests/test-freadptr.c (ASSERT): Likewise.
45803         * tests/test-freadptr2.c (ASSERT): Likewise.
45804         * tests/test-freadseek.c (ASSERT): Likewise.
45805         * tests/test-freopen.c (ASSERT): Likewise.
45806         * tests/test-frexp.c (ASSERT): Likewise.
45807         * tests/test-frexpl.c (ASSERT): Likewise.
45808         * tests/test-fseek.c (ASSERT): Likewise.
45809         * tests/test-fseeko.c (ASSERT): Likewise.
45810         * tests/test-fstrcmp.c (ASSERT): Likewise.
45811         * tests/test-ftell.c (ASSERT): Likewise.
45812         * tests/test-ftello.c (ASSERT): Likewise.
45813         * tests/test-func.c (ASSERT): Likewise.
45814         * tests/test-fwritable.c (ASSERT): Likewise.
45815         * tests/test-fwriting.c (ASSERT): Likewise.
45816         * tests/test-getdelim.c (ASSERT): Likewise.
45817         * tests/test-getline.c (ASSERT): Likewise.
45818         * tests/test-i-ring.c (ASSERT): Likewise.
45819         * tests/test-iconv-utf.c (ASSERT): Likewise.
45820         * tests/test-iconv.c (ASSERT): Likewise.
45821         * tests/test-isfinite.c (ASSERT): Likewise.
45822         * tests/test-isnand.c (ASSERT): Likewise.
45823         * tests/test-isnanf.c (ASSERT): Likewise.
45824         * tests/test-isnanl.h (ASSERT): Likewise.
45825         * tests/test-ldexpl.c (ASSERT): Likewise.
45826         * tests/test-linked_list.c (ASSERT): Likewise.
45827         * tests/test-linkedhash_list.c (ASSERT): Likewise.
45828         * tests/test-localename.c (ASSERT): Likewise.
45829         * tests/test-lseek.c (ASSERT): Likewise.
45830         * tests/test-mbscasecmp.c (ASSERT): Likewise.
45831         * tests/test-mbscasestr1.c (ASSERT): Likewise.
45832         * tests/test-mbscasestr2.c (ASSERT): Likewise.
45833         * tests/test-mbscasestr3.c (ASSERT): Likewise.
45834         * tests/test-mbscasestr4.c (ASSERT): Likewise.
45835         * tests/test-mbschr.c (ASSERT): Likewise.
45836         * tests/test-mbscspn.c (ASSERT): Likewise.
45837         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
45838         * tests/test-mbspbrk.c (ASSERT): Likewise.
45839         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
45840         * tests/test-mbsrchr.c (ASSERT): Likewise.
45841         * tests/test-mbsspn.c (ASSERT): Likewise.
45842         * tests/test-mbsstr1.c (ASSERT): Likewise.
45843         * tests/test-mbsstr2.c (ASSERT): Likewise.
45844         * tests/test-mbsstr3.c (ASSERT): Likewise.
45845         * tests/test-memchr2.c (ASSERT): Likewise.
45846         * tests/test-memmem.c (ASSERT): Likewise.
45847         * tests/test-open.c (ASSERT): Likewise.
45848         * tests/test-printf-frexp.c (ASSERT): Likewise.
45849         * tests/test-printf-frexpl.c (ASSERT): Likewise.
45850         * tests/test-printf-posix.c (ASSERT): Likewise.
45851         * tests/test-quotearg.c (ASSERT): Likewise.
45852         * tests/test-rbtree_list.c (ASSERT): Likewise.
45853         * tests/test-rbtree_oset.c (ASSERT): Likewise.
45854         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
45855         * tests/test-round1.c (ASSERT): Likewise.
45856         * tests/test-roundf1.c (ASSERT): Likewise.
45857         * tests/test-roundl.c (ASSERT): Likewise.
45858         * tests/test-signbit.c (ASSERT): Likewise.
45859         * tests/test-sleep.c (ASSERT): Likewise.
45860         * tests/test-snprintf-posix.c (ASSERT): Likewise.
45861         * tests/test-snprintf.c (ASSERT): Likewise.
45862         * tests/test-sprintf-posix.c (ASSERT): Likewise.
45863         * tests/test-stat-time.c (ASSERT): Likewise.
45864         * tests/test-strcasestr.c (ASSERT): Likewise.
45865         * tests/test-strerror.c (ASSERT): Likewise.
45866         * tests/test-striconv.c (ASSERT): Likewise.
45867         * tests/test-striconveh.c (ASSERT): Likewise.
45868         * tests/test-striconveha.c (ASSERT): Likewise.
45869         * tests/test-strsignal.c (ASSERT): Likewise.
45870         * tests/test-strstr.c (ASSERT): Likewise.
45871         * tests/test-strtod.c (ASSERT): Likewise.
45872         * tests/test-trunc1.c (ASSERT): Likewise.
45873         * tests/test-trunc2.c (ASSERT): Likewise.
45874         * tests/test-truncf1.c (ASSERT): Likewise.
45875         * tests/test-truncf2.c (ASSERT): Likewise.
45876         * tests/test-truncl.c (ASSERT): Likewise.
45877         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
45878         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
45879         * tests/test-vasnprintf.c (ASSERT): Likewise.
45880         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
45881         * tests/test-vasprintf.c (ASSERT): Likewise.
45882         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
45883         * tests/test-vprintf-posix.c (ASSERT): Likewise.
45884         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
45885         * tests/test-vsnprintf.c (ASSERT): Likewise.
45886         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
45887         * tests/test-wcwidth.c (ASSERT): Likewise.
45888         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
45889         * tests/test-xprintf-posix.c (ASSERT): Likewise.
45890         * tests/test-xvasprintf.c (ASSERT): Likewise.
45891         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
45892         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
45893         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
45894         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
45895         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
45896         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
45897         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
45898         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
45899         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
45900         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
45901         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
45902         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
45903         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
45904         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
45905         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
45906         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
45907         * tests/unictype/test-block_list.c (ASSERT): Likewise.
45908         * tests/unictype/test-block_of.c (ASSERT): Likewise.
45909         * tests/unictype/test-block_test.c (ASSERT): Likewise.
45910         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
45911         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
45912         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
45913         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
45914         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
45915         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
45916         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
45917         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
45918         * tests/unictype/test-combining.c (ASSERT): Likewise.
45919         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
45920         * tests/unictype/test-digit.c (ASSERT): Likewise.
45921         * tests/unictype/test-mirror.c (ASSERT): Likewise.
45922         * tests/unictype/test-numeric.c (ASSERT): Likewise.
45923         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
45924         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
45925         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
45926         * tests/unictype/test-scripts.c (ASSERT): Likewise.
45927         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
45928         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
45929         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
45930         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
45931         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
45932         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
45933         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
45934         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
45935         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
45936         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
45937         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
45938         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
45939         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
45940         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
45941         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
45942         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
45943         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
45944         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
45945         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
45946         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
45947         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
45948         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
45949         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
45950         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
45951         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
45952         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
45953         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
45954         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
45955         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
45956         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
45957         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
45958         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
45959         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
45960         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
45961         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
45962         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
45963         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
45964         Reported by Eric Blake.
45965
45966 2008-04-11  Bruno Haible  <bruno@clisp.org>
45967
45968         * lib/wchar.in.h: Tweak comment.
45969
45970 2008-04-11  Bruno Haible  <bruno@clisp.org>
45971
45972         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
45973         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
45974         gl_COMMON.
45975         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
45976
45977 2008-04-11  Bruno Haible  <bruno@clisp.org>
45978
45979         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
45980
45981 2008-04-11  Simon Josefsson  <simon@josefsson.org>
45982
45983         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
45984         of attempting to use non-existing /dev/*random.  Based on patch
45985         from Adam Strzelecki <ono@java.pl> in
45986         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
45987
45988 2008-04-08  Bruno Haible  <bruno@clisp.org>
45989
45990         Add tentative support for emx+gcc.
45991         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
45992         * lib/fpurge.c (fpurge): Likewise.
45993         * lib/freadable.c (freadable): Likewise.
45994         * lib/freadahead.c (freadahead): Likewise.
45995         * lib/freading.c (freading): Likewise.
45996         * lib/freadptr.c (freadptr): Likewise.
45997         * lib/freadseek.c (freadptrinc): Likewise.
45998         * lib/fseeko.c (rpl_fseeko): Likewise.
45999         * lib/fseterr.c (fseterr): Likewise.
46000         * lib/fwritable.c (fwritable): Likewise.
46001         * lib/fwriting.c (fwriting): Likewise.
46002         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
46003
46004 2008-04-09  Eric Blake  <ebb9@byu.net>
46005
46006         Avoid some autoconf warnings.
46007         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
46008         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
46009         * m4/afs.m4 (gl_AFS): Likewise.
46010         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
46011         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
46012         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46013         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
46014         (gl_INTEGER_TYPE_SUFFIX): Likewise.
46015         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
46016         (AC_CHECK_DECLS_ONCE): Likewise.
46017         Rename file...
46018         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
46019         gnulib-tool requires autoconf 2.59 or better.
46020         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
46021
46022 2008-04-08  Eric Blake  <ebb9@byu.net>
46023
46024         Use 'git describe --match' if present (added in git 1.5.5).
46025         * build-aux/git-version-gen: Limit result to tags that match 'v*'
46026         if possible.
46027
46028 2008-04-08  Bruno Haible  <bruno@clisp.org>
46029
46030         Add tentative support for OpenServer.
46031         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
46032         _ptr, _cnt.
46033         * lib/fpurge.c (fpurge): Likewise.
46034         * lib/freadable.c (freadable): Likewise.
46035         * lib/freadahead.c (freadahead): Likewise.
46036         * lib/freading.c (freading): Likewise.
46037         * lib/freadptr.c (freadptr): Likewise.
46038         * lib/freadseek.c (freadptrinc): Likewise.
46039         * lib/fseeko.c (rpl_fseeko): Likewise.
46040         * lib/fseterr.c (fseterr): Likewise.
46041         * lib/fwritable.c (fwritable): Likewise.
46042         * lib/fwriting.c (fwriting): Likewise.
46043         Reported by Roger Cornelius <rac@tenzing.org> and
46044         Brian K. White <brian@aljex.com>.
46045
46046 2008-04-06  Jim Meyering  <meyering@redhat.com>
46047
46048         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
46049
46050 2008-04-06  Bruno Haible  <bruno@clisp.org>
46051
46052         Avoid possible error with non-ASCII bytes in UTF-8 locales.
46053         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
46054         * tests/test-printf-posix.sh: Likewise.
46055         * tests/test-vfprintf-posix.sh: Likewise.
46056         * tests/test-vprintf-posix.sh: Likewise.
46057         * tests/test-xprintf-posix.sh: Likewise.
46058
46059 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46060
46061         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
46062         hide error from 'ls', needed on OS/2.
46063         Report by Elbert Pol <elbert.pol@gmail.com>.
46064
46065 2008-04-04  Eric Blake  <ebb9@byu.net>
46066
46067         Make test-fseeko.c failures meaningful.
46068         * tests/test-fseeko.c: Print line number on failure.
46069         * tests/test-fseek.c: Likewise.
46070         Reported by Nelson H. F. Beebe.
46071
46072         Improve strtod bug detection check.
46073         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
46074         required for Solaris 10.
46075         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
46076
46077 2008-04-04  Bruno Haible  <bruno@clisp.org>
46078
46079         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
46080         by m4/setenv.m4.
46081
46082 2008-04-03  Eric Blake  <ebb9@byu.net>
46083
46084         Ensure sane .version contents.
46085         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
46086         version string.
46087         * build-aux/git-version-gen: Improve documentation.
46088
46089         Make GNU make output nicer.
46090         * top/GNUmakefile [!_have-Makefile]: Add dependency on
46091         MAKECMDGOALS to enforce message for all command line targets.  Set
46092         srcdir for use in maint.mk.
46093
46094         Another maintainer tweak.
46095         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
46096         a target that regenerates version.
46097
46098 2008-04-03  Jim Meyering  <meyering@redhat.com>
46099
46100         vc-list-files: don't cause coreutils "make po-check" failure
46101         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
46102
46103 2008-04-03  Eric Blake  <ebb9@byu.net>
46104
46105         Allow VPATH usage of vc-list-files.
46106         * build-aux/vc-list-files (scriptversion): Add timestamp.
46107         (options): Add --help, --version, -C.
46108         (CVS): Support installed cvsu.
46109
46110 2008-04-02  Bruno Haible  <bruno@clisp.org>
46111
46112         Avoid some "statement with no effect" warnings from gcc.
46113         * tests/test-wctype.c (main): Explicitly ignore unused values.
46114         Reported by Jim Meyering.
46115
46116 2008-04-02  Jim Meyering  <meyering@redhat.com>
46117
46118         Avoid some warnings from "gcc -Wshadow".
46119         * tests/test-frexp.c (exp): Define to a different identifier.
46120         * tests/test-frexpl.c (exp): Likewise.
46121
46122 2008-04-03  Jim Meyering  <meyering@redhat.com>
46123
46124         bootstrap: remove dangling *.[ch] symlinks from lib
46125         * build-aux/bootstrap [dangling symlink removal]: Move find's
46126         -depth option to precede all others, to avoid a warning.
46127         Remove *.[ch] files too, and from "$source_base" (usually lib/).
46128
46129 2008-04-02  Bruno Haible  <bruno@clisp.org>
46130
46131         Avoid some warnings from "gcc -Wshadow".
46132         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
46133         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
46134         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
46135         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
46136         Reported by Jim Meyering.
46137
46138 2008-04-01  Bruno Haible  <bruno@clisp.org>
46139
46140         Fix test to work on IRIX 6.5 with cc.
46141         * tests/test-math.c (numeric_equal): New function.
46142         (main): Use it.
46143
46144 2008-04-01  Bruno Haible  <bruno@clisp.org>
46145
46146         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
46147
46148 2008-04-01  Bruno Haible  <bruno@clisp.org>
46149
46150         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
46151         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46152         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
46153         (Depends-on): Remove math.
46154
46155         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
46156         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46157         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
46158         (Depends-on): Remove math.
46159
46160         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
46161         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46162         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
46163         (Depends-on): Remove math.
46164         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
46165         (Depends-on): Remove math.
46166
46167         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
46168         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46169         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
46170         (Depends-on): Remove math.
46171         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
46172         (Depends-on): Remove math.
46173
46174         * tests/test-round1.c: Include nan.h.
46175         (main): Use NaNd instead of NAN.
46176         * modules/round-tests (Files): Add tests/nan.h.
46177
46178         * tests/test-trunc1.c: Include nan.h.
46179         (main): Use NaNd instead of NAN.
46180         * modules/trunc-tests (Files): Add tests/nan.h.
46181
46182         * tests/test-roundf1.c: Include nan.h.
46183         (main): Use NaNf instead of NAN.
46184         * modules/roundf-tests (Files): Add tests/nan.h.
46185
46186         * tests/test-truncf1.c: Include nan.h.
46187         (main): Use NaNf instead of NAN.
46188         * modules/truncf-tests (Files): Add tests/nan.h.
46189
46190         * tests/test-ceilf1.c: Include nan.h.
46191         (main): Use NaNf instead of NAN.
46192         * modules/ceilf-tests (Files): Add tests/nan.h.
46193
46194         * tests/test-floorf1.c: Include nan.h.
46195         (main): Use NaNf instead of NAN.
46196         * modules/floorf-tests (Files): Add tests/nan.h.
46197
46198         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
46199         (main): Use NaNf instead of NAN.
46200         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
46201
46202         * tests/test-isnand.c: Include nan.h instead of <math.h>.
46203         (main): Use NaNd instead of NAN.
46204         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
46205
46206         * tests/test-frexp.c: Include nan.h.
46207         (main): Use NaNd instead of NAN.
46208         * modules/frexp-tests (Files): Add tests/nan.h.
46209
46210         * lib/isnan.c: Don't include <math.h>.
46211         (FUNC): Don't use NAN macro.
46212         * modules/isnand-nolibm (Depends-on): Remove math.
46213         * modules/isnanf-nolibm (Depends-on): Remove math.
46214         * modules/isnanl (Depends-on): Remove math.
46215         * modules/isnanl-nolibm (Depends-on): Remove math.
46216
46217         * tests/nan.h: New file.
46218
46219 2008-04-01  Eric Blake  <ebb9@byu.net>
46220
46221         Fix typos.
46222         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
46223         values to be the right type.
46224
46225         For now, cater to gnulib strtod inaccuracies.
46226         * tests/test-strtod.c (main): Allow 1-ulp error on expected
46227         fractional results.  While not as nice from a QoI perspective, it
46228         is a quicker patch than correctly implementing decimal to binary
46229         rounding.
46230
46231 2008-03-31  Eric Blake  <ebb9@byu.net>
46232
46233         Guarantee a definition of NAN.
46234         * lib/math.in.h (NAN): Define if missing.
46235         * tests/test-math.c (main): Test it.
46236         * doc/posix-headers/math.texi (math.h): Document this.
46237         * lib/isnan.c (rpl_isnand): Use it.
46238         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
46239         * tests/test-floorf1.c (NaN): Likewise.
46240         * tests/test-frexp.c (NaN): Likewise.
46241         * tests/test-isnand.c (NaN): Likewise.
46242         * tests/test-isnanf.c (NaN): Likewise.
46243         * tests/test-round1.c (NaN): Likewise.
46244         * tests/test-roundf1.c (NaN): Likewise.
46245         * tests/test-snprintf-posix.h (NaN): Likewise.
46246         * tests/test-sprintf-posix.h (NaN): Likewise.
46247         * tests/test-trunc1.c (NaN): Likewise.
46248         * tests/test-truncf1.c (NaN): Likewise.
46249         * tests/test-vasnprintf-posix.c (NaN): Likewise.
46250         * tests/test-vasprintf-posix.c (NaN): Likewise.
46251         * modules/isnand-nolibm (Depends-on): Add math.
46252         * modules/isnanf-nolibm (Depends-on): Likewise.
46253         * modules/isnanl (Depends-on): Likewise.
46254         * modules/isnanl-nolibm (Depends-on): Likewise.
46255         * modules/snprintf-posix-tests (Depends-on): Likewise.
46256         * modules/sprintf-posix-tests (Depends-on): Likewise.
46257         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
46258         * modules/vsprintf-posix-tests (Depends-on): Likewise.
46259         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
46260         * modules/vasprintf-posix-tests (Depends-on): Likewise.
46261
46262 2008-03-31  Bruno Haible  <bruno@clisp.org>
46263
46264         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
46265         * doc/posix-functions/strtod.texi: Likewise.
46266
46267 2008-03-31  Bruno Haible  <bruno@clisp.org>
46268
46269         * tests/test-strtod.c (main): Don't use C99 syntax.
46270
46271 2008-03-31  Bruno Haible  <bruno@clisp.org>
46272
46273         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
46274         Reported by Eric Blake.
46275
46276 2008-03-31  Jim Meyering  <meyering@redhat.com>
46277
46278         Don't compare actual signbit return values.
46279         * tests/test-strtod.c (main): Rather, compare only their
46280         zero/non-zero nature.
46281
46282 2008-03-31  Eric Blake  <ebb9@byu.net>
46283
46284         More strtod documentation.
46285         * doc/posix-functions/strtod.texi (strtod): Interpret more test
46286         failures as distinct bugs.
46287
46288 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
46289
46290         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
46291         Problem reported by Erik Benada in
46292         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
46293
46294 2008-03-30  Bruno Haible  <bruno@clisp.org>
46295
46296         * tests/test-strtod.c: Add comments about which assertion fails on which
46297         platform.
46298         * doc/posix-functions/strtod.texi: Add info about many more platforms.
46299
46300 2008-03-30  Eric Blake  <ebb9@byu.net>
46301
46302         Test signbit behavior on zeros.
46303         * tests/test-signbit.c (test_signbitf): Add tests for zero.
46304         (test_signbitd, test_signbitl): Likewise.
46305
46306         More strtod touchups.
46307         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
46308         sign of negative underflow, for now.  Use .5, not .1.
46309         * doc/posix-functions/strtod.texi (strtod): Mention these
46310         limitations.
46311         Reported by Jim Meyering.
46312
46313 2008-03-30  Bruno Haible  <bruno@clisp.org>
46314
46315         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
46316         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
46317
46318 2008-03-30  Bruno Haible  <bruno@clisp.org>
46319
46320         Avoid failure when attempting to return empty iconv results on some
46321         platforms.
46322         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
46323         allocation, don't report ENOMEM when the resulting string is empty.
46324
46325 2008-03-30  Bruno Haible  <bruno@clisp.org>
46326
46327         Fix buffer overrun.
46328         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
46329         Don't consider the width for tmp_length. Check count against tmp_length
46330         before doing the padding. Ensure enough allocation during padding.
46331
46332 2008-03-30  Eric Blake  <ebb9@byu.net>
46333
46334         strtod touchups.
46335         * lib/strtod.c (strtod): Avoid compiler warnings.
46336         Reported by Jim Meyering.
46337
46338 2008-03-30  Bruno Haible  <bruno@clisp.org>
46339
46340         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
46341         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
46342         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
46343         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
46344         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
46345         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
46346         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
46347         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
46348
46349         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
46350         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
46351         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
46352         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
46353         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
46354         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
46355         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
46356         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
46357
46358         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
46359         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
46360         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
46361         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
46362         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
46363         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
46364         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
46365         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
46366
46367         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
46368         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
46369
46370         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
46371         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
46372
46373         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
46374         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
46375
46376         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
46377         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
46378         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
46379
46380         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
46381         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
46382         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
46383
46384         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
46385         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
46386         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
46387
46388         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
46389         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
46390         * modules/vasprintf (Depends-on): Add EOVERFLOW.
46391
46392         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
46393         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
46394         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
46395         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
46396         (Depends-on): Add EOVERFLOW.
46397         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
46398         (Depends-on): Add EOVERFLOW.
46399         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
46400         (Depends-on): Add EOVERFLOW.
46401         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
46402         (Depends-on): Add EOVERFLOW.
46403         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
46404         (Depends-on): Add EOVERFLOW.
46405         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
46406         (Depends-on): Add EOVERFLOW.
46407         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
46408         (Depends-on): Add EOVERFLOW.
46409         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
46410         (Depends-on): Add EOVERFLOW.
46411
46412         * lib/sprintf.c (EOVERFLOW): Remove fallback.
46413         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
46414         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
46415
46416         * lib/snprintf.c (EOVERFLOW): Remove fallback.
46417         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
46418         * modules/snprintf (Depends-on): Add EOVERFLOW.
46419
46420         * lib/poll.c (EOVERFLOW): Remove fallback.
46421         * modules/poll (Depends-on): Add EOVERFLOW.
46422
46423         * lib/getugroups.c (EOVERFLOW): Remove fallback.
46424         * modules/getugroups (Depends-on): Add EOVERFLOW.
46425
46426         * lib/getdelim.c (EOVERFLOW): Remove fallback.
46427         * modules/getdelim (Depends-on): Add EOVERFLOW.
46428
46429         * lib/ftell.c (EOVERFLOW): Remove fallback.
46430         * modules/ftell (Depends-on): Add EOVERFLOW.
46431
46432         * lib/fprintf.c (EOVERFLOW): Remove fallback.
46433         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
46434         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
46435
46436         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
46437
46438         * modules/EOVERFLOW-tests: New file.
46439         * tests/test-EOVERFLOW.c: New file.
46440
46441         * modules/EOVERFLOW: New file.
46442         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
46443
46444 2008-03-30  Bruno Haible  <bruno@clisp.org>
46445
46446         Fix bug introduced on 2007-06-10.
46447         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
46448         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
46449
46450 2008-03-30  Bruno Haible  <bruno@clisp.org>
46451
46452         Improve freadseek's efficiency after ungetc.
46453         * lib/freadseek.c: Include freadahead.h.
46454         (freadptrinc): New function, extracted from freadseek.
46455         (freadseek): Use it in a loop. Use freadahead to determine the number
46456         of loop iterations.
46457         * modules/freadseek (Depends-on): Add freadahead.
46458         (configure.ac): Require AC_C_INLINE.
46459
46460 2008-03-30  Bruno Haible  <bruno@clisp.org>
46461
46462         * lib/freadseek.c (freadseek): Don't ignore the return value of
46463         freadptr.
46464
46465 2008-03-29  Eric Blake  <ebb9@byu.net>
46466
46467         Add hex float support.
46468         * modules/strtod (Depends-on): Add c-ctype.
46469         (Link): Mention POW_LIB.
46470         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
46471         whitespace between 'e' and exponent.
46472         * tests/test-strtod.c (main): Enable hex float tests.
46473         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
46474         now provides.
46475
46476         Document various strtod bugs, with some fixes.
46477         * doc/posix-functions/strtod.texi (strtod): Document bugs with
46478         "-0x", "inf", "nan", and hex constants.
46479         * doc/posix-functions/atof.texi (atof): Likewise.
46480         * modules/stdlib (Makefile.am): Support strtod.
46481         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
46482         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
46483         detect additional strtod bugs.
46484         * lib/stdlib.in.h (rpl_strtod): Add declarations.
46485         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
46486         bool where appropriate.  Parse 'inf' and 'nan'.
46487         * tests/test-strtod.c: New file.
46488         * modules/strtod (Depends-on): Add stdbool, stdlib.
46489         (configure.ac): Turn on module indicator.
46490         * modules/strtod-tests: New module.
46491
46492 2008-03-29  Eric Blake  <ebb9@byu.net>
46493
46494         Fix ftell on mingw.
46495         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
46496         * modules/ftell-tests (Depends-on): Add binary-io.
46497         * modules/ftello-tests (Depends-on): Likewise.
46498         * tests/test-ftell.c (main): Enhance test to cover behavior after
46499         ungetc.  Enforce binary mode.
46500         * tests/test-ftello.c (main): Likewise.
46501
46502         Pass test-freadseek on cygwin.
46503         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
46504         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
46505         ungetc buffer.
46506
46507         * tests/test-fflush2.c (main): Fix typo.
46508
46509 2008-03-29  Bruno Haible  <bruno@clisp.org>
46510
46511         * tests/test-fflush2.c (main): Temporarily disable the contents of
46512         this test.
46513         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
46514         Reported by Eric Blake.
46515
46516 2008-03-28  Simon Josefsson  <simon@josefsson.org>
46517
46518         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
46519         (GC_SHA224_DIGEST_SIZE): Add.
46520
46521         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
46522         (gc_hash_digest_length): Likewise.
46523         (gc_hash_buffer): Likewise.
46524
46525 2008-03-25  Bruno Haible  <bruno@clisp.org>
46526
46527         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
46528         detail which gettext release to use.
46529         Reported by Simon Josefsson.
46530
46531 2008-03-26  Jim Meyering  <meyering@redhat.com>
46532
46533         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
46534         * modules/gnumakefile (clean-GNUmakefile): Also, use
46535         test ... && ... || : syntax rather than if-then ... fi.
46536
46537         gnumakefile: Don't double-quote-expand $(VPATH) value.
46538         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
46539
46540 2008-03-24  Eric Blake  <ebb9@byu.net>
46541
46542         Alter GNUmakefile to install into top directory.
46543         * modules/maintainer-makefile: Split, and add dependency...
46544         * modules/gnumakefile: to this new module.
46545         * build-aux/GNUmakefile: Move...
46546         * top/GNUmakefile: ...here.
46547         * build-aux/maint.mk: Move...
46548         * top/maint.mk: ...here.
46549         * MODULES.html.sh (Support for maintaining...): Document new
46550         module.
46551
46552 2008-03-23  Bruno Haible  <bruno@clisp.org>
46553
46554         * gnulib-tool: New options --vc-files, --no-vc-files.
46555         (func_usage): Document them.
46556         (vc_files): New variable.
46557         (func_import): Consider vc_files.
46558         (func_create_testdir): Set vc_files to empty.
46559         Suggested by Jim Meyering and Karl Berry.
46560
46561 2008-03-23  Bruno Haible  <bruno@clisp.org>
46562
46563         Fix regex compilation error on HP-UX 11.
46564         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
46565         * modules/regex (Files): Add m4/mbstate_t.m4.
46566         Reported by Ton Voon <ton.voon@altinity.com>.
46567
46568 2008-03-23  Bruno Haible  <bruno@clisp.org>
46569
46570         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
46571
46572 2008-03-23  Eric Blake  <ebb9@byu.net>
46573             Bruno Haible  <bruno@clisp.org>
46574
46575         Install files from top/ in the destination directory.
46576         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
46577         augmentation also for the files from top/.
46578         (func_import, func_create_testdir): Rewrite file names:
46579         top/filename -> filename.
46580
46581 2008-03-23  Bruno Haible  <bruno@clisp.org>
46582
46583         Tweak "gnulib --version" output.
46584         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
46585
46586 2008-03-23  Bruno Haible  <bruno@clisp.org>
46587
46588         Tweak "gnulib --version" output.
46589         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
46590         rather than contents of ChangeLog, when possible.
46591
46592 2008-03-21  Eric Blake  <ebb9@byu.net>
46593
46594         More --version tweaks.
46595         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
46596         date of last ChangeLog entry.
46597
46598 2008-03-21  Jim Meyering  <meyering@redhat.com>
46599
46600         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
46601
46602 2008-03-20  Eric Blake  <ebb9@byu.net>
46603
46604         VPATH fix.
46605         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
46606
46607 2008-03-20  Simon Josefsson  <simon@josefsson.org>
46608
46609         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
46610         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
46611
46612 2008-03-20  Eric Blake  <ebb9@byu.net>
46613
46614         Sync GNUmakefile with coreutils.
46615         * build-aux/GNUmakefile (have-Makefile): Rename...
46616         (_have-Makefile): ...to this, for namespace consideration.
46617         (GNUmakefile.cfg): Include, if present.
46618         (_autoreconf): Define a default.
46619         (_is-dist-target): New rule for rebuilds to pick up intra-release
46620         version.
46621         (maint-cfg.mk): Rename...
46622         (cfg.mk): ...to this.
46623
46624 2008-03-18  Jim Meyering  <meyering@redhat.com>
46625
46626         New script and module: mktempd
46627         * MODULES.html.sh (maint+release support): Add mktempd.
46628         * build-aux/mktempd: New file.
46629         * modules/mktempd: New file.
46630
46631 2008-03-15  Jim Meyering  <meyering@redhat.com>
46632
46633         Undo last change.
46634         * lib/sha1.c, lib/md5.c: 63 != ~63.
46635         Reported by Andreas Schwab.
46636
46637         sha1.c, md5.c: Hoist a redundant expression.
46638         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
46639         "ctx->buflen" only once, before calling *_process_block.
46640         * lib/md5.c (md5_process_bytes): Likewise.
46641
46642 2008-03-14  Eric Blake  <ebb9@byu.net>
46643
46644         Bump copyright year in files generated by gnulib-tool.
46645         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
46646         gnulib-tool, rather than hard-coding it.
46647
46648         Fix 'gnulib-tool --version' output to work with git.
46649         * gnulib-tool (func_gnulib_dir): New function, extracted from...
46650         (startup): ...here.
46651         (func_version): Use it to invoke git-version-gen, rather than
46652         relying on CVS keyword expansion.  Modernize wording.
46653         (cvsdatestamp, last_checkin_date, version): Kill unused
46654         variables.
46655
46656 2008-03-12  Jim Meyering  <meyering@redhat.com>
46657
46658         Recognize optional cast of the argument to free.
46659         * build-aux/useless-if-before-free: Update regexps.
46660
46661         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
46662
46663 2008-03-11  Bruno Haible  <bruno@clisp.org>
46664
46665         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
46666         by a single package.
46667         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
46668         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
46669         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
46670         Reported by Sam Steingold <sds@gnu.org>.
46671
46672 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46673
46674         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
46675         repositories.
46676
46677 2008-03-11  Bruno Haible  <bruno@clisp.org>
46678
46679         Avoid conflicts between local macro definitions.
46680         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
46681         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
46682
46683 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
46684             Bruno Haible  <bruno@clisp.org>
46685
46686         Make va_copy work with some version of xlc on AIX 5.1.
46687         * lib/stdarg.in.h: New file.
46688         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
46689         On AIX, use a <stdarg.h> file substitute.
46690         * modules/stdarg (Files): Add lib/stdarg.in.h.
46691         (Depends-on): Add include_next.
46692         (Makefile.am): Build a stdarg.h substitute if requested.
46693         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
46694
46695 2008-03-10  Bruno Haible  <bruno@clisp.org>
46696
46697         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
46698         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46699         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
46700
46701 2008-03-10  Bruno Haible  <bruno@clisp.org>
46702
46703         * modules/stdlib (Depends-on): Add include_next, remove
46704         absolute-header.
46705
46706 2008-03-09  Bruno Haible  <bruno@clisp.org>
46707
46708         * lib/freadahead.h (freadahead): Document more precisely.
46709         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
46710         the sum of both buffer sizes.
46711         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
46712         * NEWS: Document the change.
46713
46714 2008-03-09  Bruno Haible  <bruno@clisp.org>
46715
46716         Extend freadptr to return also the buffer size.
46717         * lib/freadptr.h (freadptr): Add sizep argument.
46718         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
46719         (freadptr): Add sizep argument. Determine buffer size like freadahead
46720         does.
46721         * tests/test-freadptr.c: Don't include freadahead.h.
46722         (main): Adapt for new calling convention of freadptr.
46723         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
46724         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
46725         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
46726         tests/test-freadptr2.sh.
46727         (Depends): Remove freadahead.
46728         (TESTS): Add test-freadptr2.sh.
46729         (check_PROGRAMS): Add test-freadptr2.
46730
46731 2008-03-09  Bruno Haible  <bruno@clisp.org>
46732
46733         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
46734         Report and solution by Simon Josefsson.
46735
46736 2008-03-06  Bruno Haible  <bruno@clisp.org>
46737
46738         Make fflush after ungetc work on BSD platforms.
46739         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
46740         * tests/test-fflush2.c: New file.
46741         * tests/test-fflush2.sh: New file.
46742         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
46743         tests/test-fflush2.c.
46744         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
46745         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
46746
46747 2008-03-06  Eric Blake  <ebb9@byu.net>
46748
46749         Likewise for ftello.
46750         * modules/ftello (Dependencies): Add extensions.
46751         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
46752
46753 2008-03-06  Bruno Haible  <bruno@clisp.org>
46754
46755         * modules/fseeko (Dependencies): Add extensions.
46756         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
46757         Needed on glibc systems.
46758
46759 2008-03-06  Bruno Haible  <bruno@clisp.org>
46760
46761         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
46762         email address.
46763         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
46764
46765 2008-03-06  Bruno Haible  <bruno@clisp.org>
46766
46767         * users.txt: Add libgnupdf.
46768
46769 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46770
46771         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
46772         (Header File Substitutes, Function Substitutes,
46773         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
46774         (Build robot for gnulib): Fix typo.
46775
46776 2008-03-06  Bruno Haible  <bruno@clisp.org>
46777
46778         * doc/gnulib-tool.texi (VCS Issues): Small updates.
46779         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
46780
46781 2008-03-06  Bruno Haible  <bruno@clisp.org>
46782
46783         * doc/func.texi: New file, extracted from doc/gnulib.texi.
46784         * doc/gnulib.texi: Include it.
46785
46786 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46787
46788         * modules/func (License): Change license to unlimited; there was
46789         no LGPL parts in the module anyway.
46790
46791 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46792
46793         * modules/__func__: Renamed to modules/func.
46794         * modules/__func__-tests: Renamed to modules/func-tests.
46795         * tests/test-__func__.c: Renamed to tests/test-func.c.
46796         * m4/__func__.m4: Renamed to m4/func.m4.
46797         * doc/gnulib.texi (__func__): Section renamed to func.
46798         Suggested by Eric Blake <ebb9@byu.net>.
46799
46800 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46801
46802         * doc/gnulib.texi (__func__): Use C99 terminology when talking
46803         about __func__.  Make example self-contained.  Suggested by Eric
46804         Blake <ebb9@byu.net>.
46805
46806         * tests/test-__func__.c (main): Avoid extraneous () around __func.
46807         Suggested by Eric Blake <ebb9@byu.net>.
46808
46809 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46810
46811         * modules/__func__: New file.
46812         * modules/__func__-tests: New file.
46813         * tests/test-__func__.c: New file.
46814         * m4/__func__.m4: New file.
46815         * doc/gnulib.texi (__func__): Document __func__ module.
46816
46817 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46818
46819         * modules/byteswap (License): Re-license as LGPLv2+.
46820
46821 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46822
46823         * doc/Makefile: Add pdf target.
46824
46825 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46826
46827         * modules/inline (License): Use 'unlimited', since there are only
46828         *.m4 files in this module.
46829
46830 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
46831             Bruno Haible  <bruno@clisp.org>
46832
46833         Add support for HP C 7.1 on OpenVMS 8.3.
46834         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
46835
46836 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
46837
46838         Update VMS specifics.
46839         * lib/getopt.c [VMS]: Remove include of unixlib.h.
46840
46841 2008-03-02  Jim Meyering  <meyering@redhat.com>
46842
46843         Remove the last dependency on the "free" module.
46844         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
46845         Reported by Bob Proulx.
46846
46847         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
46848
46849         Remove useless "if" tests before free.  Deprecate "free" module.
46850         * doc/posix-functions/free.texi: Mention that this
46851         module is no longer useful.
46852         * modules/free (Notice): Say this module is obsolete.
46853         * modules/readutmp (Depends-on): Remove free.
46854         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
46855         * lib/putenv.c (putenv): Likewise.
46856         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
46857         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
46858         * tests/test-c-strcasestr.c (main): Likewise.
46859         * tests/test-c-strstr.c (main): Likewise.
46860         * tests/test-mbscasestr1.c (main): Likewise.
46861         * tests/test-mbscasestr2.c (main): Likewise.
46862         * tests/test-mbsstr1.c (main): Likewise.
46863         * tests/test-mbsstr2.c (main): Likewise.
46864         * tests/test-memmem.c (main): Likewise.
46865         * tests/test-strcasestr.c (main): Likewise.
46866         * tests/test-striconv.c (main): Likewise.
46867         * tests/test-striconveh.c (main): Likewise.
46868         * tests/test-striconveha.c (main): Likewise.
46869         * tests/test-strstr.c (main): Likewise.
46870
46871         * build-aux/git-version-gen: Adjust a comment and the Usage string.
46872
46873         bootstrap: sync from coreutils again
46874         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
46875
46876 2008-03-01  Jim Meyering  <meyering@redhat.com>
46877
46878         bootstrap: sync from coreutils
46879         * build-aux/bootstrap (update_po_files): Copy a .po file into place
46880         also when the target doesn't exist.
46881
46882 2008-03-01  Eric Blake  <ebb9@byu.net>
46883
46884         Fix bugs in last patch.
46885         * lib/memchr2.c (memchr2): Fix typo.
46886         * tests/test-memchr2.c: Test previous bug, and don't use GNU
46887         extension.
46888         Reported by Bruce Korb.
46889
46890         New module 'memchr2'.
46891         * modules/memchr2: New file.
46892         * modules/memchr2-tests: Likewise.
46893         * lib/memchr2.h: Likewise.
46894         * lib/memchr2.c: Likewise, based on memchr.c.
46895         * tests/test-memchr2.c: New test.
46896         * MODULES.html.sh (String handling): Add memchr2.
46897
46898 2008-02-29  Bruno Haible  <bruno@clisp.org>
46899
46900         * modules/freadseek-tests: New file.
46901         * tests/test-freadseek.sh: New file.
46902         * tests/test-freadseek.c: New file.
46903
46904         New module 'freadseek'.
46905         * modules/freadseek: New file.
46906         * lib/freadseek.h: New file.
46907         * lib/freadseek.c: New file.
46908         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
46909
46910 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
46911
46912         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
46913         wydawca.
46914
46915         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
46916         program_invocation_name and program_invocation_short_name are
46917         present.
46918
46919 2008-02-28  Bruno Haible  <bruno@clisp.org>
46920
46921         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
46922         * tests/test-freadptr.sh: Also test non-seekable stdin.
46923
46924 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
46925
46926         * build-aux/bootstrap (source_base, m4_base)
46927         (doc_base, tests_base): New variables.
46928         (gnulib_tool_options): Do not hardcode base directories, use
46929         the above variables instead.
46930
46931 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
46932
46933         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
46934
46935 2008-02-28  Bruno Haible  <bruno@clisp.org>
46936
46937         * modules/freadptr-tests: New file.
46938         * tests/test-freadptr.sh: New file.
46939         * tests/test-freadptr.c: New file.
46940
46941         New module 'freadptr'.
46942         * modules/freadptr: New file.
46943         * lib/freadptr.h: New file.
46944         * lib/freadptr.c: New file.
46945         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
46946
46947 2008-02-26  Karl Berry  <karl@freefriends.org>
46948
46949         Sync from Libtool:
46950         * libltdl/argz.c (argz_add, argz_count): New functions.
46951         * libltdl/argz.in.h: Declare them.
46952         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
46953
46954 2008-02-22  Bruno Haible  <bruno@clisp.org>
46955
46956         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
46957         is a pointer type.  Needed for HP-UX 10.
46958         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
46959         * doc/posix-functions/gmtime_r.texi: Likewise.
46960         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
46961
46962 2008-02-24  Bruno Haible  <bruno@clisp.org>
46963
46964         * modules/environ-tests: New file.
46965         * tests/test-environ.c: New file.
46966
46967         New module 'environ'.
46968         * modules/environ: New file.
46969         * lib/unistd.in.h (environ): New declaration.
46970         * m4/environ.m4: New file.
46971         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
46972         after use.
46973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
46974         HAVE_DECL_ENVIRON.
46975         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
46976         HAVE_DECL_ENVIRON.
46977         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
46978         wrong claim that 'environ' is missing on some systems.
46979         * modules/execute (Depends-on): Add environ.
46980         * lib/execute.c (environ): Remove fallback declaration.
46981         * modules/pipe (Depends-on): Add environ.
46982         * lib/pipe.c (environ): Remove fallback declaration.
46983         * modules/setenv (Depends-on): Add environ.
46984         * lib/setenv.c (environ): Remove fallback declaration.
46985         * modules/unsetenv (Depends-on): Add environ.
46986         * lib/unsetenv.c (environ): Remove fallback declaration.
46987         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
46988         m4/environ.m4.
46989         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
46990         (gl_PREREQ_UNSETENV): Likewise.
46991
46992 2008-02-24  Bruno Haible  <bruno@clisp.org>
46993
46994         * doc/posix-functions/environ.texi: Document the MacOS X problem.
46995
46996 2008-02-20  Bob Proulx  <bob@proulx.com>
46997
46998         Enable use of older two part flavor 'git describe'.
46999         * build-aux/git-version-gen: If using the older two part flavor of
47000         git version then recreate the third part now present in the
47001         newer three part flavor of git describe.
47002
47003 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
47004
47005         * lib/fts.c (fts_build): Typo correction to comment.
47006
47007 2008-02-17  Bruno Haible  <bruno@clisp.org>
47008
47009         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
47010         generating no-op conflicts.
47011
47012 2008-02-17  Bruno Haible  <bruno@clisp.org>
47013
47014         Speed up by 10%.
47015         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
47016         result_entries, rather than an index-based loop.
47017
47018 2008-02-17  Bruno Haible  <bruno@clisp.org>
47019
47020         Speed up by 25%.
47021         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
47022         'hashcode_cached'.
47023         (entry_create): New function.
47024         (entry_hashcode): Use the cached hashcode if possible.
47025         (read_changelog_file, try_split_merged_entry): Use entry_create.
47026
47027 2008-02-17  Bruno Haible  <bruno@clisp.org>
47028
47029         Speed up from O(n^2) to O(n) for long ChangeLog files.
47030         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
47031         (read_changelog_file): Change implementation of entries_reversed list
47032         to rbtreehash.
47033         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
47034
47035 2008-02-17  Bruno Haible  <bruno@clisp.org>
47036
47037         New option --split-merged-entry.
47038         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
47039         (find_paragraph_end, try_split_merged_entry): New functions.
47040         (long_options): Add option --split-merged-entry.
47041         (usage): Document option --split-merged-entry.
47042         (main): Implement option --split-merged-entry.
47043         Reported by Eric Blake.
47044
47045 2008-02-17  Bruno Haible  <bruno@clisp.org>
47046
47047         * lib/git-merge-changelog.c: Include c-strstr.h.
47048         (main): Support the "git pull --rebase" situation.
47049         * modules/git-merge-changelog (Depends-on): Add c-strstr.
47050         Reported by Eric Blake.
47051
47052 2008-02-16  Eric Blake  <ebb9@byu.net>
47053
47054         Avoid doubling \ in common case of "c-maybe" quoting style.
47055         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
47056         eliding outer quotes.
47057         * lib/quotearg.h: Document this.
47058         * tests/test-quotearg.c (result_strings, inputs, results_g)
47059         (flag_results, locale_results): Test it by adding a new string to
47060         each test group.
47061         (compare_strings): Test new string.
47062
47063 2008-02-13  Eric Blake  <ebb9@byu.net>
47064
47065         Avoid trigraph quoting in default output.
47066         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
47067         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
47068         unless explicitly requested.
47069         * tests/test-quotearg.c (flag_results, main): Add additional tests.
47070
47071 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
47072
47073         Don't rely on signed integer overflowing to negative value.
47074         * lib/getugroups.c (getugroups): Include <limits.h>.
47075         Instead, compare against INT_MAX, and increment only if the test passes.
47076
47077 2008-02-13  Jim Meyering  <meyering@redhat.com>
47078         and Eric Blake  <ebb9@byu.net>
47079
47080         Avoid shadowing warning and compile errors on Linux.
47081         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
47082         forwarding macros on Linux.
47083         (dcgettext): Define a stub, for Linux.
47084         (results_g, main): Avoid warnings.
47085
47086 2008-02-12  Eric Blake  <ebb9@byu.net>
47087
47088         Silence warning in last patch.
47089         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
47090
47091         Quotearg part 4: add tests, fix c-maybe colon quoting.
47092         * lib/quotearg.h: Improve documentation.
47093         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
47094         escapes when adding outer quotes.  When quoting trigraphs, use
47095         valid C notation.  When quoting NUL, omit extra characters if next
47096         character is not digit.  Alter prototype.
47097         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
47098         callers.
47099         * modules/quotearg-tests: New module.
47100         * tests/test-quotearg.c: New test.
47101
47102 2008-02-07  Eric Blake  <ebb9@byu.net>
47103
47104         Quotearg part 3: add flag to control outer quote elision.
47105         * lib/quotearg.h (c_maybe_quoting_style): New style.
47106         (enum quoting_flags): Better documentation of flags.
47107         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
47108         c-maybe style.
47109         (quotearg_buffer_restyled): Handle new flag to elide outer
47110         quotes.
47111
47112         Quotearg part 2: add flag that can control NUL elision.
47113         * lib/quotearg.h (set_quoting_flags): New prototype.
47114         * lib/quotearg.c (struct quoting_options): Add flag field.
47115         (set_quoting_flags): New function.
47116         (quotearg_buffer_restyled): Add flags parameter.
47117         (quotearg_alloc_mem): Set the flag if length cannot be returned.
47118         (quotearg_n_options): Set the flag, since length cannot be
47119         returned.
47120         (quoting_options_from_style): Default flags correctly.
47121
47122         Quotearg part 1: more wrappers, restore quotearg_char state.
47123         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
47124         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
47125         (quotearg_colon_mem): New wrappers.
47126         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
47127         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
47128         functions.
47129         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
47130         (quotearg_colon_mem): New functions.
47131
47132 2008-02-11  Bruno Haible  <bruno@clisp.org>
47133
47134         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
47135         library in the current directory: it does not work with parallel make.
47136         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47137
47138 2008-02-11  Bruno Haible  <bruno@clisp.org>
47139
47140         * .gitattributes: New file.
47141
47142 2008-02-11  Jim Meyering  <meyering@redhat.com>
47143
47144         useless-if-before-free: Fix reversed exit values.
47145         * build-aux/useless-if-before-free: Use correct values
47146         for EXIT_MATCH and EXIT_NO_MATCH.
47147
47148         * build-aux/useless-if-before-free: Close stdout carefully.
47149
47150 2008-02-10  Bruno Haible  <bruno@clisp.org>
47151
47152         New module 'git-merge-changelog'.
47153         * modules/git-merge-changelog: New file.
47154         * lib/git-merge-changelog.c: New file.
47155
47156 2008-02-10  Jim Meyering  <meyering@redhat.com>
47157
47158         useless-if-before-free: New option: --list (-l).
47159
47160         useless-if-before-free: Don't exit immediately upon open failure.
47161         * build-aux/useless-if-before-free: Exit 2 for errors.
47162         Upon failure to open a file, don't exit immediately.
47163         Rather, just warn and continue with any remaining files.
47164
47165 2008-02-10  Bruno Haible  <bruno@clisp.org>
47166
47167         New abstract list operation 'node_set_value'.
47168         * lib/gl_list.h (gl_list_node_set_value): New function.
47169         (struct gl_list_implementation): New field node_set_value.
47170         * lib/gl_list.c (gl_list_node_set_value): New function.
47171         * lib/gl_array_list.c (gl_array_node_set_value): New function.
47172         (gl_array_list_implementation): Update.
47173         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
47174         (gl_carray_list_implementation): Update.
47175         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
47176         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
47177         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
47178         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
47179         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
47180         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
47181         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
47182         Update.
47183         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
47184         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
47185         (gl_sublist_list_implementation): Update.
47186
47187 2008-02-10  Bruno Haible  <bruno@clisp.org>
47188
47189         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
47190         Needed when ELEMENT is #defined to 'some_type *'.
47191
47192 2008-02-10  Jim Meyering  <meyering@redhat.com>
47193
47194         New script and module: useless-if-before-free
47195         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
47196         * build-aux/useless-if-before-free: New file.
47197         * modules/useless-if-before-free: New file.
47198
47199         * build-aux/gitlog-to-changelog: Use committer date, not author date.
47200
47201         xstrtol_error: Fix typo.
47202         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
47203         s/exit_failure/exit_status/.
47204
47205 2008-02-09  Jim Meyering  <meyering@redhat.com>
47206
47207         New script and module: gitlog-to-changelog
47208         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
47209         * modules/gitlog-to-changelog: New file.
47210         * build-aux/gitlog-to-changelog: New file.
47211
47212 2008-02-08  Jim Meyering  <meyering@redhat.com>
47213
47214         Avoid two "parameter unused" warnings.
47215         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
47216         Mark "st" as used.
47217
47218         Use "git COMMAND", not "git-COMMAND".
47219         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
47220         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
47221         * build-aux/git-version-gen: Use "git status", not "git-status".
47222
47223 2008-02-07  Bruno Haible  <bruno@clisp.org>
47224
47225         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
47226         Avoids a crash on Windows Vista.
47227         Reported by Adam Strzelecki <ono@java.pl> via
47228         Simon Josefsson <simon@josefsson.org>.
47229
47230 2008-02-06  Bruno Haible  <bruno@clisp.org>
47231
47232         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
47233         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
47234         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
47235         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
47236         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47237         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47238         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
47239         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
47240         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47241         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47242         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47243         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47244         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47245         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47246         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47247         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
47248         left-adjust flag.
47249         * tests/test-snprintf-posix.h (test_function): Likewise.
47250         * tests/test-sprintf-posix.h (test_function): Likewise.
47251         * tests/test-vasprintf-posix.c (test_function): Likewise.
47252         * doc/posix-functions/fprintf.texi: Update.
47253         * doc/posix-functions/printf.texi: Update.
47254         * doc/posix-functions/snprintf.texi: Update.
47255         * doc/posix-functions/sprintf.texi: Update.
47256         * doc/posix-functions/vfprintf.texi: Update.
47257         * doc/posix-functions/vprintf.texi: Update.
47258         * doc/posix-functions/vsnprintf.texi: Update.
47259         * doc/posix-functions/vsprintf.texi: Update.
47260         Reported by Peter Fales <psfales@alcatel-lucent.com>.
47261
47262 2008-02-06  Bruno Haible  <bruno@clisp.org>
47263
47264         Fix bug introduced on 2008-01-26.
47265         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
47266
47267 2008-02-06  Bruno Haible  <bruno@clisp.org>
47268
47269         Fix bug introduced on 2007-06-10.
47270         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
47271         !NEED_PRINTF_FLAG_ZERO.
47272
47273 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
47274
47275         getloadavg: use libperfstat on AIX5
47276         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
47277
47278 2008-02-03  Bruno Haible  <bruno@clisp.org>
47279
47280         * lib/diffseq.h: Add comments about required #includes.
47281         Reported by Michael Biggs <gnulib@doubleplum.net>.
47282
47283 2008-02-01  Bruno Haible  <bruno@clisp.org>
47284
47285         * users.txt: Add gnuit.
47286
47287 2008-01-31  Bruno Haible  <bruno@clisp.org>
47288
47289         * lib/md4.c (set_uint32): Mark as inline.
47290         * lib/md5.c (set_uint32): Likewise.
47291         * lib/sha1.c (set_uint32): Likewise.
47292         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
47293         * m4/md5.m4 (gl_MD5): Likewise.
47294         * m4/sha1.m4 (gl_SHA1): Likewise.
47295
47296 2008-01-31  Jim Meyering  <meyering@redhat.com>
47297
47298         Use "sizeof VAR", rather than a literal "4".
47299         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
47300         * lib/md4.c (md4_read_ctx): Likewise.
47301         * lib/sha1.c (sha1_read_ctx): Likewise.
47302
47303 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47304
47305         * tests/test-sha1.c: New file, based on test-md5.c.
47306
47307         * modules/crypto/sha1-tests: New file.
47308
47309 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47310
47311         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
47312
47313 2008-01-31  Jim Meyering  <meyering@redhat.com>
47314
47315         Prefer "sizeof v" over the equivalent "4".
47316         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
47317         * lib/md5.c (set_uint32): Likewise.
47318         * lib/sha1.c (set_uint32): Likewise.
47319
47320 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47321
47322         * lib/sha1.c (set_uint32): Mark function as static.
47323
47324 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47325
47326         md2: clarify comments to say that alignment is not required.
47327         * lib/md2.h: Remove warning about alignment in comment.
47328         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
47329         never been required.
47330
47331 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47332
47333         md4: adapt alignment constraint fix from sha1.
47334         * lib/md4.c (set_uint32): New function, from sha1.c
47335         (md4_read_ctx): Use it.
47336         (md4_finish_ctx): Doc fix.
47337         * lib/md4.h: Doc fix.
47338
47339 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47340
47341         md5: adapt alignment constraint fix from sha1.
47342         * lib/md5.c (set_uint32): New function, from sha1.c
47343         (md5_read_ctx): Use it.
47344         (md5_finish_ctx): Doc fix.
47345         * lib/md5.h: Doc fix.
47346
47347 2008-01-30  Peter Palfrader  <weasel@debian.org>
47348
47349         sha1: remove the result buffer alignment constraint
47350         * lib/sha1.c (set_uint32): New function.
47351         (sha1_read_ctx): Rewrite to remove the result buffer alignment
47352         constraint.
47353         (sha1_finish_ctx): Remove comment warning about alignment constraint.
47354         * lib/sha1.h: Likewise.
47355
47356 2008-01-30  Andreas Schwab  <schwab@suse.de>
47357             Bruno Haible  <bruno@clisp.org>
47358
47359         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
47360         correct definition of LDBL_MIN_EXP.
47361
47362 2008-01-30  Karl Berry  <karl@gnu.org>
47363
47364         * config/srclist-update: try to preserve x bit on updates.
47365         * config/srclistvars.sh: update for karl.
47366
47367 2008-01-29  Jim Meyering  <meyering@redhat.com>
47368
47369         vasnprintf.c: Avoid warning about unused label
47370         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
47371         "overflow" label definition and associated code with the
47372         same cpp condition that guards the sole use of that label.
47373
47374 2008-01-26  Bruno Haible  <bruno@clisp.org>
47375
47376         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
47377         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
47378         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
47379         * lib/isnanl-nolibm.h (isnanl): Likewise.
47380         Reported by Paul Eggert <eggert@cs.ucla.edu>.
47381
47382 2008-01-26  Bruno Haible  <bruno@clisp.org>
47383
47384         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
47385         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
47386
47387 2008-01-26  Bruno Haible  <bruno@clisp.org>
47388
47389         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
47390         GCC >= 4.0 built-in.
47391         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
47392
47393 2008-01-26  Bruno Haible  <bruno@clisp.org>
47394
47395         Rename isnan, applicable to 'double' only, to isnand.
47396         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
47397         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
47398         (configure.ac): Update.
47399         (Include): Replace "isnan.h" with "isnand.h".
47400         * m4/isnand.m4: Renamed from m4/isnan.m4.
47401         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
47402         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
47403         instead of isnan.c.
47404         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
47405         instead of HAVE_ISNAN_IN_LIBC.
47406         (isnand): Renamed from isnan.
47407         * lib/isnand.c: New file.
47408         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
47409         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
47410         (Makefile.am): Update.
47411         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
47412         Include isnand.h instead of isnan.h.
47413         (main): Test isnand instead of isnan.
47414         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
47415         isnan-nolibm.
47416         * modules/frexp (Depends-on): Likewise.
47417         * modules/frexp-tests (Depends-on): Likewise.
47418         * modules/frexp-nolibm (Depends-on): Likewise.
47419         * modules/frexp-nolibm-tests (Depends-on): Likewise.
47420         * modules/isfinite (Depends-on): Likewise.
47421         * modules/round-tests (Depends-on): Likewise.
47422         * modules/signbit (Depends-on): Likewise.
47423         * modules/signbit-tests (Depends-on): Likewise.
47424         * modules/snprintf-posix (Depends-on): Likewise.
47425         * modules/sprintf-posix (Depends-on): Likewise.
47426         * modules/trunc-tests (Depends-on): Likewise.
47427         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47428         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47429         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47430         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47431         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47432         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47433         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47434         * modules/vasnprintf-posix (Depends-on): Likewise.
47435         * modules/vasprintf-posix (Depends-on): Likewise.
47436         * modules/vfprintf-posix (Depends-on): Likewise.
47437         * modules/vsnprintf-posix (Depends-on): Likewise.
47438         * modules/vsprintf-posix (Depends-on): Likewise.
47439         * lib/frexp.c: Include isnand.h instead of isnan.h.
47440         (ISNAN): Set to isnand instead of isnan.
47441         * lib/isfinite.c: Include isnand.h instead of isnan.h.
47442         (gl_isfinited): Use isnand instead of isnan.
47443         * lib/signbitd.c: Include isnand.h instead of isnan.h.
47444         (gl_signbitd): Use isnand instead of isnan.
47445         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
47446         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
47447         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
47448         (main): Use isnand instead of isnan.
47449         * tests/test-round1.c: Include isnand.h.
47450         (main): Use isnand instead of isnan.
47451         * tests/test-round2.c: Include isnand.h instead of isnan.h.
47452         (ISNAN): Set to isnand instead of isnan.
47453         * tests/test-trunc1.c: Include isnand.h.
47454         (main): Use isnand instead of isnan.
47455         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
47456         (equal): Use isnand instead of isnan.
47457         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
47458         isnand-nolibm.
47459         * NEWS: Mention the change.
47460
47461 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
47462             Bruno Haible  <bruno@clisp.org>
47463
47464         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
47465         the GCC builtins for signbits are present and set
47466         REPLACE_SIGNBIT_USING_GCC if so.
47467         * lib/math.in.h (signbit): Define using GCC builtins if
47468         REPLACE_SIGNBIT_USING_GCC is set.
47469         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
47470         REPLACE_SIGNBIT_USING_GCC.
47471         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
47472
47473 2008-01-25  Jim Meyering  <meyering@redhat.com>
47474
47475         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
47476         * lib/poll.c: Include <config.h>, not "config.h".
47477         * tests/test-getaddrinfo.c: Likewise.
47478
47479 2008-01-25  Simon Josefsson  <simon@josefsson.org>
47480
47481         * modules/sockets-tests: New file.
47482
47483 2008-01-24  Simon Josefsson  <simon@josefsson.org>
47484
47485         * modules/sockets: New module, can be used to call WSA_Startup and
47486         WSA_Cleanup when needed.
47487
47488         * lib/sockets.h, lib/sockets.c: New files.
47489
47490         * m4/sockets.m4: New file.
47491
47492         * tests/test-sockets.c: New file.
47493
47494 2008-01-19  Bruno Haible  <bruno@clisp.org>
47495
47496         * doc/posix-headers: Renamed from doc/headers.
47497         * doc/posix-functions: Renamed from doc/functions.
47498         * doc/gnulib.texi: Update.
47499
47500 2008-01-19  Bruno Haible  <bruno@clisp.org>
47501
47502         * doc/glibc-functions/strcasestr.texi: Include contents of
47503         doc/functions/strcasestr.texi, fixing the list of platforms.
47504         * doc/functions/strcasestr.texi: Remove file.
47505
47506 2008-01-19  Bruno Haible  <bruno@clisp.org>
47507
47508         * doc/glibc-functions/memmem.texi: Include contents of
47509         doc/functions/memmem.texi.
47510         * doc/functions/memmem.texi: Remove file.
47511
47512 2008-01-18  Bruno Haible  <bruno@clisp.org>
47513
47514         * doc/glibc-functions/*.texi: New files.
47515         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
47516         to use the new files.
47517
47518 2008-01-17  Bruno Haible  <bruno@clisp.org>
47519
47520         * tests/test-gethostname.c (main): Fix printf statement.
47521
47522 2008-01-17  Simon Josefsson  <simon@josefsson.org>
47523
47524         * modules/gethostname-tests: New file.
47525
47526         * tests/test-gethostname.c: New file.
47527
47528 2008-01-17  Simon Josefsson  <simon@josefsson.org>
47529
47530         * lib/gethostname.c: Include string.h unconditionally, strncpy is
47531         used by the UNAME case.  Reported by Bruno Haible
47532         <bruno@clisp.org>.
47533
47534 2008-01-17  Eric Blake  <ebb9@byu.net>
47535
47536         Convert c-strcasestr to be more efficient.
47537         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
47538         (Depends-on): Add c-strcase, remove malloca, strnlen.
47539         * tests/test-c-strcasestr.c (main): Enhance test.
47540         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
47541
47542 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
47543
47544         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
47545         Use it in creating po/Makevars.
47546
47547 2008-01-15  Simon Josefsson  <simon@josefsson.org>
47548
47549         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
47550         Applications that requires it should initialize libgcrypt
47551         manually.
47552
47553 2008-01-16  Simon Josefsson  <simon@josefsson.org>
47554
47555         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
47556
47557 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
47558
47559         Fix problem with getdate on mingw32 reported by Simon Josefsson
47560         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
47561         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
47562         tzname", when deciding whether to declare tzname.
47563         * lib/strftime.c (tzname): Likewise.
47564
47565 2008-01-15  Bruno Haible  <bruno@clisp.org>
47566
47567         Work around a MacOS X 10.5 bug in frexpl().
47568         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
47569         * doc/functions/frexpl.texi: Document the bug.
47570         Reported by Elias Pipping <pipping@gentoo.org>.
47571
47572 2008-01-14  Eric Blake  <ebb9@byu.net>
47573
47574         Touch up previous patch.
47575         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
47576         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
47577
47578         Convert strcasestr module to use Two-Way algorithm.
47579         * modules/strcasestr-simple: New module, based on the old
47580         strcasestr, but with Two-Way rather than KMP.
47581         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
47582         * lib/string.in.h (rpl_strcasestr): Declare.
47583         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
47584         performance.
47585         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
47586         * modules/string (Makefile.am): Support strcasestr.
47587         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
47588         * modules/strcasestr-tests (Depends-on): Check for alarm.
47589         * tests/test-strcasestr.c: Augment test.
47590         * lib/str-two-way.h: Clean up stray macro.
47591         * NEWS: Document new module.
47592         * MODULES.html.sh (string handling): Likewise.
47593         * doc/functions/strcasestr.texi: New file.
47594         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
47595         here, since it is not a POSIX function.
47596
47597 2008-01-14  Colin Watson  <cjwatson@debian.org>
47598             Bruno Haible  <bruno@clisp.org>
47599
47600         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
47601         works fine; if not, set REPLACE_STRSIGNAL.
47602         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
47603         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47604         REPLACE_STRSIGNAL.
47605         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
47606         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
47607         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
47608
47609 2008-01-14  Bruno Haible  <bruno@clisp.org>
47610
47611         * modules/strsignal (Include): Change to <string.h>.
47612
47613 2008-01-14  Colin Watson  <cjwatson@debian.org>
47614
47615         * modules/argp (Notice): Add a notice recommending to change
47616         XGETTEXT_OPTIONS.
47617         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
47618
47619 2008-01-13  Colin Watson  <cjwatson@debian.org>
47620
47621         * modules/strsignal-tests: New file.
47622         * tests/test-strsignal.c: New file.
47623
47624         * lib/strsignal.c: New file, from glibc with modifications.
47625         * lib/siglist.h: New file, from glibc with modifications.
47626         * lib/string.in.h (strsignal): New declaration.
47627         * m4/strsignal.m4: New file.
47628         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47629         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
47630         * modules/strsignal: New file.
47631         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
47632         HAVE_DECL_STRSIGNAL.
47633
47634 2008-01-13  Bruno Haible  <bruno@clisp.org>
47635
47636         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
47637         locale encoding is not ASCII. Needed for OpenBSD 4.0.
47638         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
47639         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47640
47641 2008-01-13  Bruno Haible  <bruno@clisp.org>
47642
47643         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
47644         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
47645         * lib/argp.h (__attribute__): Likewise.
47646         * lib/c-stack.c (__attribute__): Likewise.
47647         * lib/error.h (__attribute__): Likewise.
47648         * lib/fts.c (__attribute__): Likewise.
47649         * lib/openat.h (__attribute__): Likewise.
47650         * lib/stdio.in.h (__attribute__): Likewise.
47651         * lib/string.in.h (__attribute__): Likewise.
47652         * lib/utimens.c (__attribute__): Likewise.
47653         * lib/vasnprintf.h (__attribute__): Likewise.
47654         * lib/xalloc.h (__attribute__): Likewise.
47655         * lib/xprintf.h (__attribute__): Likewise.
47656         * lib/xstrtol.h (__attribute__): Likewise.
47657         * lib/xvasprintf.h (__attribute__): Likewise.
47658
47659 2008-01-12  Bruno Haible  <bruno@clisp.org>
47660
47661         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
47662         * doc/glibc-headers/a.out.texi: New file.
47663         * doc/glibc-headers/aliases.texi: New file.
47664         * doc/glibc-headers/alloca.texi: New file.
47665         * doc/glibc-headers/ar.texi: New file.
47666         * doc/glibc-headers/argp.texi: New file.
47667         * doc/glibc-headers/argz.texi: New file.
47668         * doc/glibc-headers/byteswap.texi: New file.
47669         * doc/glibc-headers/crypt.texi: New file.
47670         * doc/glibc-headers/endian.texi: New file.
47671         * doc/glibc-headers/envz.texi: New file.
47672         * doc/glibc-headers/err.texi: New file.
47673         * doc/glibc-headers/error.texi: New file.
47674         * doc/glibc-headers/execinfo.texi: New file.
47675         * doc/glibc-headers/fpu_control.texi: New file.
47676         * doc/glibc-headers/fstab.texi: New file.
47677         * doc/glibc-headers/fts.texi: New file.
47678         * doc/glibc-headers/getopt.texi: New file.
47679         * doc/glibc-headers/ieee754.texi: New file.
47680         * doc/glibc-headers/ifaddrs.texi: New file.
47681         * doc/glibc-headers/libintl.texi: New file.
47682         * doc/glibc-headers/mcheck.texi: New file.
47683         * doc/glibc-headers/mntent.texi: New file.
47684         * doc/glibc-headers/obstack.texi: New file.
47685         * doc/glibc-headers/paths.texi: New file.
47686         * doc/glibc-headers/printf.texi: New file.
47687         * doc/glibc-headers/pty.texi: New file.
47688         * doc/glibc-headers/resolv.texi: New file.
47689         * doc/glibc-headers/shadow.texi: New file.
47690         * doc/glibc-headers/sysexits.texi: New file.
47691         * doc/glibc-headers/ttyent.texi: New file.
47692
47693 2008-01-12  Jim Meyering  <meyering@redhat.com>
47694
47695         announce-gen: emit Gnulib's git-based version string.
47696         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
47697         New option --gnulib-version=V, where V is expected to be
47698         the output of running git describe in the gnulib directory.
47699         (get_tool_versions): Request feedback on xdelta.  I suspect it's
47700         not useful, and plan to stop publishing an xdelta file with each
47701         coreutils release.
47702
47703         * build-aux/announce-gen: Also check for lzma-compressed files.
47704
47705 2008-01-11  Bruno Haible  <bruno@clisp.org>
47706
47707         * tests/test-memmem.c (main): Increase maximum allowed time.
47708         * tests/test-strstr.c (main): Likewise.
47709
47710 2008-01-11  Bruno Haible  <bruno@clisp.org>
47711
47712         * doc/functions/memmem.texi: Add more precisions about platforms.
47713         * doc/functions/strstr.texi: Likewise.
47714
47715 2008-01-10  Eric Blake  <ebb9@byu.net>
47716
47717         * m4/strstr.m4: Delete cruft from copy-n-paste.
47718         Reported by Bruno Haible.
47719
47720 2008-01-10  Bruno Haible  <bruno@clisp.org>
47721
47722         Make c-strstr rely on strstr.
47723         * lib/c-strstr.c: Don't include str-kmp.h.
47724         (c_strstr): Define in terms of strstr.
47725         * modules/c-strstr (Files): Remove lib/str-kmp.h.
47726         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
47727
47728 2008-01-10  Bruno Haible  <bruno@clisp.org>
47729
47730         * doc/gnulib.texi (String Functions in C Locale): New section.
47731         * doc/c-ctype.texi: New file.
47732         * doc/c-strcase.texi: New file.
47733         * doc/c-strcaseeq.texi: New file.
47734         * doc/c-strcasestr.texi: New file.
47735         * doc/c-strstr.texi: New file.
47736         * doc/c-strtod.texi: New file.
47737         * doc/c-strtold.texi: New file.
47738
47739 2008-01-10  Eric Blake  <ebb9@byu.net>
47740
47741         * lib/relocatable.h: Fix a comment.
47742
47743 2008-01-10  Eric Blake  <ebb9@byu.net>
47744
47745         Share two-way algorithm.
47746         * lib/str-two-way.h: New file, merged from...
47747         * lib/memmem.c: ...here...
47748         * lib/strstr.c: ...and here.
47749         * modules/memmem (Files): Use it.
47750         * modules/strstr (Files): Likewise.
47751
47752         Avoid quadratic strstr implementations.
47753         * lib/strstr.c: New file.
47754         * m4/strstr.m4: Likewise.
47755         * modules/strstr: Likewise.
47756         * modules/strstr-tests: Likewise.
47757         * tests/test-strstr.c: Likewise.
47758         * lib/string.in.h (rpl_strstr): Declare.
47759         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
47760         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
47761         * modules/string (Makefile.am): Likewise.
47762         * MODULES.html.sh (string handling): Mention new module.
47763         * doc/functions/strstr.texi (strstr): Document the bug.
47764
47765 2008-01-10  Bruno Haible  <bruno@clisp.org>
47766
47767         * lib/relocatable.h (relocate): State whether result is freshly
47768         allocated or not.
47769         * lib/relocatable.c (relocate): Return a freshly allocated string
47770         instead of a pointer to a privately held string.
47771         Reported by Sylvain Beucler <beuc@gnu.org>.
47772
47773 2008-01-10  Colin Watson  <cjwatson@debian.org>
47774
47775         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
47776         s/S_ISNLK/S_ISLNK/.
47777
47778 2008-01-09  Bruno Haible  <bruno@clisp.org>
47779
47780         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
47781         and other files.
47782         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
47783         if it's only a guess.
47784         * modules/memmem: Simplify by depending on memmem-simple.
47785
47786 2008-01-09  Bruno Haible  <bruno@clisp.org>
47787
47788         Work around OpenBSD 4.0 tdelete() bug.
47789         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
47790         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
47791         macros and don't redefine the enum values.
47792         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
47793         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
47794         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
47795
47796 2008-01-09  Bruno Haible  <bruno@clisp.org>
47797
47798         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
47799         (main): Don't perform the tests if setlocale did not install a UTF-8
47800         locale. Needed on OpenBSD 4.0.
47801         * modules/wcwidth-tests (Depends-on): Add localcharset.
47802
47803 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
47804
47805         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
47806         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
47807         * NEWS: announce this.
47808         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
47809
47810 2008-01-09  Simon Josefsson  <simon@josefsson.org>
47811         and Eric Blake  <ebb9@byu.net>
47812
47813         Add memmem-simple module.
47814         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
47815         (gl_FUNC_MEMMEM): Separate performance from presence checks.
47816         * modules/memmem-simple: New file.
47817         * modules/memmem (Description): Tweak.
47818         * MODULES.html.sh (string handling): Mention new module.
47819         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
47820         addressed by memmem-simple.
47821         * NEWS: Document the difference.
47822
47823 2008-01-09  Eric Blake  <ebb9@byu.net>
47824
47825         Give gcc some memmem optimization hints.
47826         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
47827         (strcasestr): Declare as pure.
47828         * modules/memmem (Maintainer): Claim my implementation.
47829
47830 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47831
47832         Support AIX 6.1 and higher.
47833         * build-aux/config.libpath: Likewise.
47834         * build-aux/config.rpath: Likewise.
47835
47836 2008-01-08  Jim Meyering  <meyering@redhat.com>
47837             Bruno Haible  <bruno@clisp.org>
47838
47839         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
47840         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
47841         Reported by Peter Fales in
47842         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
47843
47844 2008-01-08  Bruno Haible  <bruno@clisp.org>
47845
47846         * modules/unictype/category-of (Depends-on): Add
47847         unictype/category-none.
47848         * modules/unictype/category-and-tests (Depends-on): Add
47849         unictype/category-{L,N,Lu,Nd}.
47850         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
47851         * modules/unictype/category-or-tests (Depends-on): Add
47852         unictype/category-{L,N}.
47853         * modules/unictype/category-name-tests (Depends-on): Add
47854         unictype/category-{Z,Nl}.
47855         Reported by Simon Josefsson.
47856
47857 2008-01-08  Bruno Haible  <bruno@clisp.org>
47858
47859         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
47860         convention better.
47861         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
47862         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
47863         Reported by Peter Miller <millerp@canb.auug.org.au>.
47864
47865 2008-01-08  Eric Blake  <ebb9@byu.net>
47866
47867         Rewrite memmem to guarantee linear complexity without malloc.
47868         * lib/memmem.c (memmem): Use Two-Way rather than
47869         Knuth-Morris-Pratt, to allow O(1) space usage.
47870         (critical_factorization, two_way_short_needle)
47871         (two_way_long_needle): New functions.
47872         (knuth_morris_pratt): Delete.
47873         * modules/memmem (Depends-on): No longer need malloca or stdbool.
47874         Add stdint.
47875         * tests/test-memmem.c (main): Add tests for periodic needle and
47876         sublinear performance.
47877         * doc/functions/memmem.texi (memmem): Document other deficiencies
47878         in cygwin and older glibc.
47879
47880 2008-01-08  Bruno Haible  <bruno@clisp.org>
47881
47882         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
47883         augmentation.
47884
47885 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
47886
47887         Add a configure time option: --disable-acl.
47888         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
47889         AC_ARG_ENABLE(acl).
47890
47891 2008-01-06  Simon Josefsson  <simon@josefsson.org>
47892
47893         * tests/test-localename.c: Don't include obsolete "setenv.h".
47894
47895         * modules/localename-tests (Depends-on): Need unsetenv.
47896
47897 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47898
47899         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
47900
47901 2008-01-06  Colin Watson  <cjwatson@debian.org>
47902
47903         * users.txt: Add man-db.
47904
47905 2008-01-07  Bruno Haible  <bruno@clisp.org>
47906
47907         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
47908         previous section name.
47909
47910 2008-01-07  Bruno Haible  <bruno@clisp.org>
47911
47912         * lib/progname.c (set_program_name): Don't strip off a leading
47913         "lt-" prefix outside a .libs directory.
47914         Suggested by Paul Eggert.
47915
47916 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
47917             Bruno Haible  <bruno@clisp.org>
47918
47919         Improve memory cleanup in 'relocatable' module.
47920         * lib/relocatable.h (compute_curr_prefix): Change return type to
47921         'char *'.
47922         * lib/relocatable.c (compute_curr_prefix): Change return type to
47923         'char *'. Free curr_installdir after use.
47924         (relocate): Free curr_prefix_better after use.
47925         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
47926
47927 2008-01-01  Bruno Haible  <bruno@clisp.org>
47928
47929         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
47930         failure on older glibc systems.
47931         Reported by Peter Fales <psfales@alcatel-lucent.com>.
47932
47933 2008-01-05  Eric Blake  <ebb9@byu.net>
47934
47935         Avoid quadratic system memmem.
47936         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
47937         Reported by Ralf Wildenhues.
47938
47939         Fix memmem test for mingw.
47940         * modules/memmem-tests (configure.ac): Check for alarm.
47941         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
47942         it.
47943         * doc/functions/memmem.texi: New file.
47944         * doc/gnulib.texi (Function Substitutes): Add memmem.
47945         Reported by Bruno Haible.
47946
47947 2008-01-04  Bruno Haible  <bruno@clisp.org>
47948
47949         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
47950         Require gl_HEADER_STRINGS_H_DEFAULTS, not
47951         gl_HEADER_STRING_H_DEFAULTS.
47952
47953 2008-01-04  Eric Blake  <ebb9@byu.net>
47954
47955         Shorten duration of memmem test.
47956         * tests/test-memmem.c (main): Use alarm to declare failure if test
47957         is taking too long.
47958         Reported by Ralf Wildenhues.
47959
47960 2007-12-21  Simon Josefsson  <simon@josefsson.org>
47961
47962         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
47963         string, needed by strerror.
47964
47965 2008-01-03  Colin Watson  <cjwatson@debian.org>
47966             Bruno Haible  <bruno@clisp.org>
47967
47968         * doc/gnulib-tool.texi (Localization): New section.
47969
47970 2008-01-02  Bruno Haible  <bruno@clisp.org>
47971
47972         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
47973         variables to 'unsigned char *' type.
47974         Reported by Paul Eggert.
47975
47976 2008-01-02  Jim Meyering  <jim@meyering.net>
47977
47978         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
47979
47980 2007-12-31  Jim Meyering  <jim@meyering.net>
47981
47982         Avoid use of private FTS type name.
47983         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
47984
47985 2007-12-30  Karl Berry  <karl@gnu.org>
47986
47987         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
47988         work around defect in Texinfo and/or the standalone Info browser.
47989
47990 2007-12-30  Bruno Haible  <bruno@clisp.org>
47991
47992         Unify 5 copies of the KMP code.
47993         * lib/str-kmp.h: New file.
47994         * lib/c-strcasestr.c: Include str-kmp.h.
47995         (knuth_morris_pratt): Remove function.
47996         (c_strcasestr): Update.
47997         * lib/c-strstr.c: Include str-kmp.h.
47998         (knuth_morris_pratt): Remove function.
47999         (c_strcasestr): Update.
48000         * lib/mbscasestr.c: Include str-kmp.h.
48001         (knuth_morris_pratt_unibyte): Remove function.
48002         * lib/mbsstr.c: Include str-kmp.h.
48003         (knuth_morris_pratt_unibyte): Remove function.
48004         * lib/strcasestr.c: Include str-kmp.h.
48005         (knuth_morris_pratt): Remove function.
48006         (strcasestr): Update.
48007         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
48008         * modules/c-strstr (Files): Likewise.
48009         * modules/mbscasestr (Files): Likewise.
48010         * modules/mbsstr (Files): Likewise.
48011         * modules/strcasestr (Files): Likewise.
48012         Suggested by Paul Eggert.
48013
48014 2007-12-30  Bruno Haible  <bruno@clisp.org>
48015
48016         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
48017         defined.
48018
48019 2007-12-30  Bruno Haible  <bruno@clisp.org>
48020
48021         * lib/xmalloca.h: Include xalloc.h.
48022         (xnmalloca): New macro.
48023
48024 2007-12-30  Bruno Haible  <bruno@clisp.org>
48025
48026         * lib/malloca.h (nmalloca): New macro.
48027         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
48028         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
48029         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
48030         knuth_morris_pratt_multibyte): Likewise.
48031         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
48032         knuth_morris_pratt_multibyte): Likewise.
48033         * lib/memmem.c (knuth_morris_pratt): Likewise.
48034         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
48035
48036 2007-12-25  Bruno Haible  <bruno@clisp.org>
48037
48038         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
48039         * lib/glob.c: Don't include openat.h.
48040         (link_exists2_p): Add back the code that deals with the
48041         !GLOB_ALTDIRFUNC case.
48042         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
48043         let it do the filename concatenation.
48044         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
48045         * modules/glob (Depends-on): Remove openat.
48046
48047 2007-12-31  Bruno Haible  <bruno@clisp.org>
48048
48049         * modules/dirfd (License): Change to LGPLv2+.
48050         Approved by Jim Meyering.
48051
48052 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
48053
48054         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
48055         when multiplying M by sizeof (size_t).
48056
48057 2007-12-10  Martin Lambers  <marlam@marlam.de>
48058
48059         Override getpagesize on mingw.
48060         * lib/getpagesize.c: New file.
48061         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
48062         * modules/getpagesize (Files): Add lib/getpagesize.c.
48063         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
48064         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48065         REPLACE_GETPAGESIZE.
48066         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
48067
48068 2007-12-25  Bruno Haible  <bruno@clisp.org>
48069
48070         * modules/localcharset (Notice): New field.
48071         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
48072         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
48073
48074 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
48075             Bruno Haible  <bruno@clisp.org>
48076
48077         Avoid using the syntax symbol() in formatted documentation.
48078         * MODULES.html.sh (func_module): When replacing symbol() with a
48079         hyperlink, remove the parentheses. Show an error if some remain.
48080         Recognize and render the '...' syntax.
48081         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
48082         Rework. Add paragraph about GCC's inlining.
48083         * doc/alloca.texi: Likewise.
48084         * doc/error.texi: Remove parentheses from symbol reference.
48085         * doc/gnulib-intro.texi: Likewise.
48086         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
48087         * modules/fnmatch (Description): Reword to say "the ... function".
48088         * modules/full-read (Description): Likewise.
48089         * modules/full-write (Description): Likewise.
48090         * modules/safe-read (Description): Likewise.
48091         * modules/safe-write (Description): Likewise.
48092         * modules/strchrnul (Description): Likewise.
48093         * modules/trim (Description): Likewise.
48094         * modules/error (Description): Remove parentheses from symbol
48095         references.
48096         * modules/verror (Description): Likewise.
48097         Reported by Karl Berry.
48098
48099 2007-12-25  Bruno Haible  <bruno@clisp.org>
48100
48101         Fixup after 2007-10-16 commit.
48102         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
48103
48104 2007-12-24  Bruno Haible  <bruno@clisp.org>
48105
48106         Make --enable-relocatable work with DESTDIR.
48107         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
48108         to compute installdir from destprog.
48109         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
48110         also set the RELOC_DESTDIR variable.
48111         Reported by Đ›ĐµĐ²Đ°ÑˆĐµĐ² Đ˜Đ²Đ°Đ½ <octagram@bluebottle.com>.
48112
48113 2007-12-24  Bruno Haible  <bruno@clisp.org>
48114
48115         Fix link error due to xalloc_die().
48116         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
48117         of xreadlink.
48118         * lib/relocwrapper.c: Update comments.
48119         * build-aux/install-reloc: Remove xreadlink.c from file list.
48120         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
48121         xreadlink.c.
48122         Reported by Đ›ĐµĐ²Đ°ÑˆĐµĐ² Đ˜Đ²Đ°Đ½ <octagram@bluebottle.com>.
48123
48124 2007-12-24  Bruno Haible  <bruno@clisp.org>
48125
48126         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
48127         * lib/setenv.h: Remove file.
48128         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
48129         lib/setenv.h.
48130         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
48131         (Depends-on): Add stdlib.
48132         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
48133         gl_FUNC_UNSETENV.
48134         (Include): Replace setenv.h with <stdlib.h>.
48135         * modules/unsetenv: New file.
48136         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
48137         * lib/unsetenv.c: Include <stdlib.h> first.
48138         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
48139         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
48140         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
48141         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
48142         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
48143         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
48144         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
48145         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
48146         * doc/functions/unsetenv.texi: Update.
48147         * modules/xsetenv (Depends-on): Add unsetenv.
48148         * modules/getdate (Depends-on): Likewise.
48149         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
48150         * lib/xsetenv.c: Don't include setenv.h.
48151         * lib/getdate.y: Likewise.
48152         * lib/relocwrapper.c: Likewise.
48153         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
48154         (Depends-on): Add stdlib.
48155         * NEWS: Mention the changes.
48156         Reported by Đ›ĐµĐ²Đ°ÑˆĐµĐ² Đ˜Đ²Đ°Đ½ <octagram@bluebottle.com>.
48157
48158 2007-12-23  Bruno Haible  <bruno@clisp.org>
48159
48160         * lib/memmem.c (memmem): Use lowercase variable names. Tab
48161         indentation.
48162
48163 2007-12-23  Bruno Haible  <bruno@clisp.org>
48164
48165         * lib/c-strcasestr.c: Add more comments.
48166         * lib/c-strstr.c: Likewise.
48167         * lib/mbscasestr.c: Likewise.
48168         * lib/mbsstr.c: Likewise.
48169         * lib/strcasestr.c: Likewise.
48170         * lib/memmem.c: Likewise.
48171
48172 2007-12-23  Bruno Haible  <bruno@clisp.org>
48173
48174         * tests/test-memmem.c: Include <string.h> first.
48175
48176 2007-12-22  Bruno Haible  <bruno@clisp.org>
48177
48178         * gnulib-tool (func_create_testdir): Change $auxdir while generating
48179         the contents of $testsbase.
48180         Reported by Ralf Wildenhues.
48181
48182 2007-12-22  Bruno Haible  <bruno@clisp.org>
48183
48184         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
48185         two variables local_ldadd_before, local_ldadd_last.
48186
48187 2007-12-20  Eric Blake  <ebb9@byu.net>
48188
48189         Work around circular library issue when cross-compiling.
48190         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
48191         that progname.o does not need to pull in rpl_memcmp.
48192
48193 2007-12-19  Eric Blake  <ebb9@byu.net>
48194
48195         Fix memmem to avoid O(n^2) worst-case complexity.
48196         * lib/memmem.c (knuth_morris_pratt): New function.
48197         (memmem): Use it if first few naive iterations fail.
48198         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
48199         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
48200         * modules/memchr (License): Likewise.
48201         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
48202         malloca.
48203         * tests/test-memmem.c: Rewrite, borrowing ideas from
48204         test-mbsstr1.c; the old version wouldn't even compile!
48205         * modules/memmem-tests: New file.
48206         * lib/string.in.h (rpl_memmem): Add declaration.
48207         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
48208         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
48209         REPLACE_MEMMEM.
48210
48211 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
48212
48213         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
48214         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
48215         before any system include files, and undef after them all.  This
48216         should fix a problem on VMS reported by John E. Malmberg in
48217         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
48218
48219 2007-12-17  Eric Blake  <ebb9@byu.net>
48220
48221         Revert addition of verify, for BSD/OS.
48222         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
48223         can't handle large files, for the sake of obsolete platforms.
48224         * modules/fseeko (Depends-on): Remove verify.
48225         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
48226         * doc/functions/ftello.texi (ftello): Likewise.
48227         * doc/functions/fgetpos.texi (fgetpos): Likewise.
48228         Reported by Larry Jones.
48229
48230 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
48231
48232         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
48233         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
48234
48235 2007-12-17  Jim Meyering  <meyering@redhat.com>
48236
48237         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
48238         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
48239         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
48240         * modules/getcwd (Depends-on): Add openat.
48241         Reported by Petr Salinger.
48242
48243 2007-12-17  Bruno Haible  <bruno@clisp.org>
48244
48245         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
48246         avoid a segmentation fault of the configure test on x86_64 systems.
48247
48248 2007-12-15  Jim Meyering  <meyering@redhat.com>
48249
48250         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
48251
48252 2007-12-13  Eric Blake  <ebb9@byu.net>
48253
48254         Another fseek test.
48255         * tests/test-fseek.c (main): Also test ungetc handling.
48256         * tests/test-fseeko.c (main): Likewise.
48257         * modules/fseeko (Depends-on): Add verify.
48258         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
48259         large.
48260         Reported by Larry Jones.
48261
48262         Fix fseeko on mingw.
48263         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
48264         seek.
48265
48266         Beef up fseek tests.
48267         * tests/test-fseek.c (main): Also test eof handling.
48268         * tests/test-fseeko.c (main): Likewise.
48269         Reported by Larry Jones.
48270
48271 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
48272
48273         Fix fseeko on BSD-based platforms.
48274         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
48275         successful seek.
48276
48277 2007-12-12  Eric Blake  <ebb9@byu.net>
48278
48279         Allow circular dependency of separate libtests.a
48280         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
48281         when use_libtests.
48282
48283 2007-12-11  Eric Blake  <ebb9@byu.net>
48284
48285         Fix bug with -0.0L in previous patch.
48286         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
48287         * tests/test-isnan.c (main): Also test on zeroes.
48288         * tests/test-isnanf.c (main): Likewise.
48289         * tests/test-isnanl.h (main): Likewise.
48290
48291         Detect pseudo-denormals on x86 even when cross-compiling.
48292         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
48293         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
48294         invalid bit patterns that happen to satisfy ==.
48295
48296         Avoid link failures with separate libtests.a.
48297         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
48298         last, to satisfy circular dependencies.
48299
48300 2007-12-11  Eric Blake  <ebb9@byu.net>
48301         and Bruno Haible  <bruno@clisp.org>
48302
48303         Fix OpenBSD 4.0 <float.h> handling of long double.
48304         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
48305         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
48306         * doc/headers/float.texi (float.h): Document OpenBSD bug.
48307
48308 2007-12-11  Jim Meyering  <meyering@redhat.com>
48309
48310         * users.txt: Add libvirt.
48311
48312         Support versions of autoconf prior to 2.59c.
48313         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
48314         if it is not already defined.
48315
48316 2007-12-09  Bruno Haible  <bruno@clisp.org>
48317
48318         Let 'gnulib-tool --import' collect sources needed for the tests in
48319         tests/ rather than in lib/.
48320         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
48321         argument. If true, add rules to generate libtests.a, and put libtests.a
48322         into $(LDADD). Consider source files in subdirectories and set
48323         uses_subdirs.
48324         (func_emit_initmacro_start, func_emit_initmacro_end,
48325         func_emit_initmacro_done): Pass all arguments explicitly.
48326         (func_import): Determine two module lists main_modules,
48327         testsrelated_modules. Determine use_libtests. Determine two variables
48328         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
48329         instead of just sed_transform_lib_file. Determine two variables
48330         main_files and testsrelated_files. Compute 'files' as the union of
48331         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
48332         func_add_or_update. In the generated gnulib-comp.m4, collect the
48333         object files for tests/ in different variables than those for lib/.
48334         Substitute LIBTESTS_LIBDEPS.
48335         (func_create_testdir): Combine the uses_subdirs results from
48336         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
48337
48338 2007-12-09  Bruno Haible  <bruno@clisp.org>
48339
48340         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
48341         the build-aux directory.
48342
48343 2007-12-09  Bruno Haible  <bruno@clisp.org>
48344
48345         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
48346         introduced on 2006-09-09.
48347
48348 2007-12-07  Jim Meyering  <meyering@redhat.com>
48349
48350         Let these macros work also with autoconf-2.59.
48351         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
48352         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
48353         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
48354
48355 2007-12-06  Jim Meyering  <meyering@redhat.com>
48356
48357         Avoid a configure-time syntax error in gl_FUNC_ACL.
48358         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
48359         function in each branch, before testing the cache variable.
48360
48361 2007-12-04  Eric Blake  <ebb9@byu.net>
48362
48363         Make scripts executable.
48364         * build-aux/config.guess: Add execute permissions.
48365         * build-aux/config.sub: Likewise.
48366         * build-aux/gendocs.sh: Likewise.
48367
48368         Fix frexp on mingw.
48369         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
48370         cross-compiling.
48371         * doc/functions/frexp.texi (frexp): Document the bug.
48372
48373         Make cygwin fseeko check more reliable.
48374         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
48375         version numbers, rather than unrelated feature check.
48376         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
48377         * doc/functions/ftello.texi (ftello): Likewise.
48378         Reported by Bruno Haible.
48379
48380         * m4/strerror.m4: Bump version number.
48381
48382 2007-12-03  Bruno Haible  <bruno@clisp.org>
48383
48384         * doc/functions/mprotect.texi: Mention the mingw problem.
48385
48386 2007-12-03  Eric Blake  <ebb9@byu.net>
48387
48388         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
48389         REPLACE_STRERROR is initialized before this macro.
48390
48391 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
48392
48393         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
48394         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
48395         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
48396         put -lsec in even for programs other than 'ls'.  This fixes a problem
48397         for gettext reported by Bruno Haible in
48398         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
48399         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
48400         Add support for Solaris 10.  This isn't efficient, but should get the
48401         job done for now.
48402
48403 2007-12-03  James Youngman  <jay@gnu.org>
48404
48405         * doc/regexprops-generic.texi: change "an close-group" to "a
48406         close-group" and "illegal" to "not allowed".
48407
48408 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48409
48410         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
48411         pr_byname.h. Needed for the rare case when the maintainer has done
48412         "make maintainer-clean" in the source directory and then attempts a
48413         build outside the source directory.
48414         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
48415         scripts_byname.h.
48416
48417 2007-12-02  Martin Lambers <marlam@marlam.de>
48418             Bruno Haible  <bruno@clisp.org>
48419
48420         * lib/getpagesize.h: Remove file.
48421         * lib/unistd.in.h: Include declaration of getpagesize here.
48422         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
48423         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
48424         HAVE_SYS_PARAM_H.
48425         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
48426         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
48427         * modules/getpagesize (Files): Remove lib/getpagesize.h.
48428         (Depends-on): Add unistd.
48429         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48430         (Include): Use <unistd.h> instead of getpagesize.h.
48431         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
48432         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
48433         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
48434         gl_GETPAGESIZE invocation, already handled by module dependency.
48435         * lib/pagealign_alloc.c: Don't include getpagesize.h.
48436
48437 2007-12-02  Bruno Haible  <bruno@clisp.org>
48438
48439         * modules/strings-tests: New file.
48440         * tests/test-strings.c: New file.
48441
48442         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
48443         * lib/strings.in.h: New file.
48444         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
48445         * m4/strings_h.m4: New file.
48446         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
48447         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
48448         * modules/strings: New file.
48449         * modules/string (Makefile.am): Update.
48450         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
48451         Reported by Karl Berry.
48452
48453 2007-12-01  Eric Blake  <ebb9@byu.net>
48454
48455         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
48456         accomodate fix in cygwin 1.5.25.
48457
48458 2007-12-01  Jim Meyering  <meyering@redhat.com>
48459
48460         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
48461         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
48462         that would inhibit utf8-optimization of a regexp containing line-
48463         or buffer-anchors, e.g., `^', `$'.
48464
48465 2007-11-30  Bruno Haible  <bruno@clisp.org>
48466
48467         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
48468         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
48469         glthread_recursive_lock_init.
48470         * lib/lock.c (glthread_recursive_lock_init)
48471         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
48472         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48473
48474 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
48475
48476         New function qset_acl, like set_acl but with syscall semantics.
48477         * lib/acl.h (qset_acl): New decl.
48478         * lib/acl.c (qset_acl): New function.
48479         (set_acl): Use new function.  Use more-consistent diagnostics.
48480
48481 2007-11-28  Jim Meyering  <meyering@redhat.com>
48482
48483         * modules/physmem (License): Change from GPL to LGPLv2+.
48484
48485 2007-11-26  Bruno Haible  <bruno@clisp.org>
48486
48487         * lib/vasnprintf.c (decode_long_double): Don't abort if the
48488         'long double' type has excess precision.
48489         Reported by Jim Meyering in
48490         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
48491
48492 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48493
48494         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
48495         Sync from <http://gnu.org/licenses>.
48496         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
48497         with license text from same location.
48498         * doc/maintain.texi, doc/standards.texi:  Sync from
48499         <http://savannah.gnu.org/projects/gnustandards>.
48500
48501 2007-11-22  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
48502         and Jim Meyering  <meyering@redhat.com>
48503
48504         Adjust getdate' grammar to accept a slightly more regular language.
48505         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
48506         Before, the former was rejected.
48507         * lib/getdate.y (digits_to_date_time): New function, factored
48508         out of ...
48509         (number): ...here.  Just call digits_to_date_time.
48510         (hybrid): New non-terminal to handle an <unsigned number,
48511         signed relative offset> sequence consistently.
48512
48513 2007-11-18  Jim Meyering  <meyering@redhat.com>
48514
48515         Pull my changes from coreutils:
48516         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
48517         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
48518         use of $gnulib_tool_option_extras, so that it's separated from the
48519         preceding argument.
48520
48521         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
48522         * build-aux/bootstrap (cp_mark_as_generated): Create any required
48523         parent destination directories before copying a file into place.
48524
48525 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
48526
48527         bootstrap: work also with 4-argument variant of AC_INIT
48528         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
48529
48530 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
48531
48532         Port test-getaddrinfo to Solaris.
48533         Problem reported by Bruno Haible in
48534         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
48535         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
48536         explanation of setting 'hints'.
48537         Don't reject an implementation merely because it returns EAI_SERVICE.
48538         (EAI_SERVICE): Define to 0 if not defined.
48539
48540 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
48541
48542         The license of gnu-make and posix-shell is now "GPLed build tool".
48543         * modules/gnu-make (License): Likewise.
48544         * modules/posix-shell (License): Likewise.
48545
48546         New module posix-shell, for determining a POSIX shell
48547         or perhaps something that is close enough to a POSIX shell.
48548         * m4/posix-shell.m4: New file.
48549         * modules/posix-shell: New file.
48550
48551         * MODULES.html.sh: Mention new module.
48552
48553         New module gnu-make, for determining whether we're using GNU Make.
48554         * m4/gnu-make.m4: New file.
48555         * modules/gnu-make: New file.
48556         * MODULES.html.sh: Mention new module.
48557
48558 2007-11-14  Jim Meyering  <meyering@redhat.com>
48559
48560         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
48561         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
48562         use this macro to create a function _definition_.
48563         Remove useless "#undef ARGMATCH_DIE".
48564
48565 2007-11-14  Bruno Haible  <bruno@clisp.org>
48566
48567         * lib/config.charset: Update for OpenBSD 4.1.
48568         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
48569
48570 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
48571
48572         Document 64-bit #if problems in stdint.texi.
48573         * doc/headers/stdint.texi (stdint.h): Mention problems with
48574         64-bit-#if, and how to work around them.
48575
48576         Don't insist on 'long long int' support in the preprocessor.  It
48577         breaks too many things.  For example, PRIdMAX still uses a 'long
48578         long int' format with the latest Sun compiler, even though
48579         HAVE_LONG_LONG_INT isn't defined due to that compiler's
48580         preprocessor problem.  This causes the latest coreutils to dump
48581         core on Solaris 10 sparc with the Sun C compiler.
48582         Instead, fix the 2007-10-16 problem in a different way, by evaluating
48583         the troublesome expressions at configure-time, not at #if-time.
48584         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
48585         preprocessor.
48586         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
48587         compile-time C checks, done at 'configure'-time.
48588         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
48589         * modules/inttypes (Makefile): Substitute the new symbols that
48590         gl_INTTYPES_H now generates.
48591         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
48592
48593 2007-11-12  Bruno Haible  <bruno@clisp.org>
48594
48595         Tests for Unicode character classification functions.
48596
48597         * modules/unictype/bidicategory-byname-tests: New file.
48598         * modules/unictype/bidicategory-name-tests: New file.
48599         * modules/unictype/bidicategory-of-tests: New file.
48600         * modules/unictype/bidicategory-test-tests: New file.
48601         * modules/unictype/block-list-tests: New file.
48602         * modules/unictype/block-of-tests: New file.
48603         * modules/unictype/block-test-tests: New file.
48604         * modules/unictype/category-C-tests: New file.
48605         * modules/unictype/category-Cc-tests: New file.
48606         * modules/unictype/category-Cf-tests: New file.
48607         * modules/unictype/category-Cn-tests: New file.
48608         * modules/unictype/category-Co-tests: New file.
48609         * modules/unictype/category-Cs-tests: New file.
48610         * modules/unictype/category-L-tests: New file.
48611         * modules/unictype/category-Ll-tests: New file.
48612         * modules/unictype/category-Lm-tests: New file.
48613         * modules/unictype/category-Lo-tests: New file.
48614         * modules/unictype/category-Lt-tests: New file.
48615         * modules/unictype/category-Lu-tests: New file.
48616         * modules/unictype/category-M-tests: New file.
48617         * modules/unictype/category-Mc-tests: New file.
48618         * modules/unictype/category-Me-tests: New file.
48619         * modules/unictype/category-Mn-tests: New file.
48620         * modules/unictype/category-N-tests: New file.
48621         * modules/unictype/category-Nd-tests: New file.
48622         * modules/unictype/category-Nl-tests: New file.
48623         * modules/unictype/category-No-tests: New file.
48624         * modules/unictype/category-P-tests: New file.
48625         * modules/unictype/category-Pc-tests: New file.
48626         * modules/unictype/category-Pd-tests: New file.
48627         * modules/unictype/category-Pe-tests: New file.
48628         * modules/unictype/category-Pf-tests: New file.
48629         * modules/unictype/category-Pi-tests: New file.
48630         * modules/unictype/category-Po-tests: New file.
48631         * modules/unictype/category-Ps-tests: New file.
48632         * modules/unictype/category-S-tests: New file.
48633         * modules/unictype/category-Sc-tests: New file.
48634         * modules/unictype/category-Sk-tests: New file.
48635         * modules/unictype/category-Sm-tests: New file.
48636         * modules/unictype/category-So-tests: New file.
48637         * modules/unictype/category-Z-tests: New file.
48638         * modules/unictype/category-Zl-tests: New file.
48639         * modules/unictype/category-Zp-tests: New file.
48640         * modules/unictype/category-Zs-tests: New file.
48641         * modules/unictype/category-and-not-tests: New file.
48642         * modules/unictype/category-and-tests: New file.
48643         * modules/unictype/category-byname-tests: New file.
48644         * modules/unictype/category-name-tests: New file.
48645         * modules/unictype/category-none-tests: New file.
48646         * modules/unictype/category-of-tests: New file.
48647         * modules/unictype/category-or-tests: New file.
48648         * modules/unictype/category-test-withtable-tests: New file.
48649         * modules/unictype/combining-class-tests: New file.
48650         * modules/unictype/ctype-alnum-tests: New file.
48651         * modules/unictype/ctype-alpha-tests: New file.
48652         * modules/unictype/ctype-blank-tests: New file.
48653         * modules/unictype/ctype-cntrl-tests: New file.
48654         * modules/unictype/ctype-digit-tests: New file.
48655         * modules/unictype/ctype-graph-tests: New file.
48656         * modules/unictype/ctype-lower-tests: New file.
48657         * modules/unictype/ctype-print-tests: New file.
48658         * modules/unictype/ctype-punct-tests: New file.
48659         * modules/unictype/ctype-space-tests: New file.
48660         * modules/unictype/ctype-upper-tests: New file.
48661         * modules/unictype/ctype-xdigit-tests: New file.
48662         * modules/unictype/decimal-digit-tests: New file.
48663         * modules/unictype/digit-tests: New file.
48664         * modules/unictype/mirror-tests: New file.
48665         * modules/unictype/numeric-tests: New file.
48666         * modules/unictype/property-alphabetic-tests: New file.
48667         * modules/unictype/property-ascii-hex-digit-tests: New file.
48668         * modules/unictype/property-bidi-arabic-digit-tests: New file.
48669         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
48670         * modules/unictype/property-bidi-block-separator-tests: New file.
48671         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
48672         * modules/unictype/property-bidi-common-separator-tests: New file.
48673         * modules/unictype/property-bidi-control-tests: New file.
48674         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
48675         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
48676         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
48677         * modules/unictype/property-bidi-european-digit-tests: New file.
48678         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
48679         * modules/unictype/property-bidi-left-to-right-tests: New file.
48680         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
48681         * modules/unictype/property-bidi-other-neutral-tests: New file.
48682         * modules/unictype/property-bidi-pdf-tests: New file.
48683         * modules/unictype/property-bidi-segment-separator-tests: New file.
48684         * modules/unictype/property-bidi-whitespace-tests: New file.
48685         * modules/unictype/property-byname-tests: New file.
48686         * modules/unictype/property-combining-tests: New file.
48687         * modules/unictype/property-composite-tests: New file.
48688         * modules/unictype/property-currency-symbol-tests: New file.
48689         * modules/unictype/property-dash-tests: New file.
48690         * modules/unictype/property-decimal-digit-tests: New file.
48691         * modules/unictype/property-default-ignorable-code-point-tests: New file.
48692         * modules/unictype/property-deprecated-tests: New file.
48693         * modules/unictype/property-diacritic-tests: New file.
48694         * modules/unictype/property-extender-tests: New file.
48695         * modules/unictype/property-format-control-tests: New file.
48696         * modules/unictype/property-grapheme-base-tests: New file.
48697         * modules/unictype/property-grapheme-extend-tests: New file.
48698         * modules/unictype/property-grapheme-link-tests: New file.
48699         * modules/unictype/property-hex-digit-tests: New file.
48700         * modules/unictype/property-hyphen-tests: New file.
48701         * modules/unictype/property-id-continue-tests: New file.
48702         * modules/unictype/property-id-start-tests: New file.
48703         * modules/unictype/property-ideographic-tests: New file.
48704         * modules/unictype/property-ids-binary-operator-tests: New file.
48705         * modules/unictype/property-ids-trinary-operator-tests: New file.
48706         * modules/unictype/property-ignorable-control-tests: New file.
48707         * modules/unictype/property-iso-control-tests: New file.
48708         * modules/unictype/property-join-control-tests: New file.
48709         * modules/unictype/property-left-of-pair-tests: New file.
48710         * modules/unictype/property-line-separator-tests: New file.
48711         * modules/unictype/property-logical-order-exception-tests: New file.
48712         * modules/unictype/property-lowercase-tests: New file.
48713         * modules/unictype/property-math-tests: New file.
48714         * modules/unictype/property-non-break-tests: New file.
48715         * modules/unictype/property-not-a-character-tests: New file.
48716         * modules/unictype/property-numeric-tests: New file.
48717         * modules/unictype/property-other-alphabetic-tests: New file.
48718         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
48719         * modules/unictype/property-other-grapheme-extend-tests: New file.
48720         * modules/unictype/property-other-id-continue-tests: New file.
48721         * modules/unictype/property-other-id-start-tests: New file.
48722         * modules/unictype/property-other-lowercase-tests: New file.
48723         * modules/unictype/property-other-math-tests: New file.
48724         * modules/unictype/property-other-uppercase-tests: New file.
48725         * modules/unictype/property-paired-punctuation-tests: New file.
48726         * modules/unictype/property-paragraph-separator-tests: New file.
48727         * modules/unictype/property-pattern-syntax-tests: New file.
48728         * modules/unictype/property-pattern-white-space-tests: New file.
48729         * modules/unictype/property-private-use-tests: New file.
48730         * modules/unictype/property-punctuation-tests: New file.
48731         * modules/unictype/property-quotation-mark-tests: New file.
48732         * modules/unictype/property-radical-tests: New file.
48733         * modules/unictype/property-sentence-terminal-tests: New file.
48734         * modules/unictype/property-soft-dotted-tests: New file.
48735         * modules/unictype/property-space-tests: New file.
48736         * modules/unictype/property-terminal-punctuation-tests: New file.
48737         * modules/unictype/property-test-tests: New file.
48738         * modules/unictype/property-titlecase-tests: New file.
48739         * modules/unictype/property-unassigned-code-value-tests: New file.
48740         * modules/unictype/property-unified-ideograph-tests: New file.
48741         * modules/unictype/property-uppercase-tests: New file.
48742         * modules/unictype/property-variation-selector-tests: New file.
48743         * modules/unictype/property-white-space-tests: New file.
48744         * modules/unictype/property-xid-continue-tests: New file.
48745         * modules/unictype/property-xid-start-tests: New file.
48746         * modules/unictype/property-zero-width-tests: New file.
48747         * modules/unictype/scripts-tests: New file.
48748         * modules/unictype/syntax-c-ident-tests: New file.
48749         * modules/unictype/syntax-c-whitespace-tests: New file.
48750         * modules/unictype/syntax-java-ident-tests: New file.
48751         * modules/unictype/syntax-java-whitespace-tests: New file.
48752         * tests/unictype/test-bidi_byname.c: New file.
48753         * tests/unictype/test-bidi_name.c: New file.
48754         * tests/unictype/test-bidi_of.c: New file.
48755         * tests/unictype/test-bidi_test.c: New file.
48756         * tests/unictype/test-block_list.c: New file.
48757         * tests/unictype/test-block_of.c: New file.
48758         * tests/unictype/test-block_test.c: New file.
48759         * tests/unictype/test-categ_and.c: New file.
48760         * tests/unictype/test-categ_and_not.c: New file.
48761         * tests/unictype/test-categ_byname.c: New file.
48762         * tests/unictype/test-categ_name.c: New file.
48763         * tests/unictype/test-categ_none.c: New file.
48764         * tests/unictype/test-categ_of.c: New file.
48765         * tests/unictype/test-categ_or.c: New file.
48766         * tests/unictype/test-categ_test_withtable.c: New file.
48767         * tests/unictype/test-combining.c: New file.
48768         * tests/unictype/test-decdigit.c: New file.
48769         * tests/unictype/test-digit.c: New file.
48770         * tests/unictype/test-mirror.c: New file.
48771         * tests/unictype/test-numeric.c: New file.
48772         * tests/unictype/test-pr_byname.c: New file.
48773         * tests/unictype/test-pr_test.c: New file.
48774         * tests/unictype/test-predicate-part1.h: New file.
48775         * tests/unictype/test-predicate-part2.h: New file.
48776         * tests/unictype/test-scripts.c: New file.
48777         * tests/unictype/test-sy_c_ident.c: New file.
48778         * tests/unictype/test-sy_java_ident.c: New file.
48779
48780         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
48781         for Unicode 5.0.0.
48782         * tests/unictype/test-categ_Cc.c: Likewise.
48783         * tests/unictype/test-categ_Cf.c: Likewise.
48784         * tests/unictype/test-categ_Cn.c: Likewise.
48785         * tests/unictype/test-categ_Co.c: Likewise.
48786         * tests/unictype/test-categ_Cs.c: Likewise.
48787         * tests/unictype/test-categ_L.c: Likewise.
48788         * tests/unictype/test-categ_Ll.c: Likewise.
48789         * tests/unictype/test-categ_Lm.c: Likewise.
48790         * tests/unictype/test-categ_Lo.c: Likewise.
48791         * tests/unictype/test-categ_Lt.c: Likewise.
48792         * tests/unictype/test-categ_Lu.c: Likewise.
48793         * tests/unictype/test-categ_M.c: Likewise.
48794         * tests/unictype/test-categ_Mc.c: Likewise.
48795         * tests/unictype/test-categ_Me.c: Likewise.
48796         * tests/unictype/test-categ_Mn.c: Likewise.
48797         * tests/unictype/test-categ_N.c: Likewise.
48798         * tests/unictype/test-categ_Nd.c: Likewise.
48799         * tests/unictype/test-categ_Nl.c: Likewise.
48800         * tests/unictype/test-categ_No.c: Likewise.
48801         * tests/unictype/test-categ_P.c: Likewise.
48802         * tests/unictype/test-categ_Pc.c: Likewise.
48803         * tests/unictype/test-categ_Pd.c: Likewise.
48804         * tests/unictype/test-categ_Pe.c: Likewise.
48805         * tests/unictype/test-categ_Pf.c: Likewise.
48806         * tests/unictype/test-categ_Pi.c: Likewise.
48807         * tests/unictype/test-categ_Po.c: Likewise.
48808         * tests/unictype/test-categ_Ps.c: Likewise.
48809         * tests/unictype/test-categ_S.c: Likewise.
48810         * tests/unictype/test-categ_Sc.c: Likewise.
48811         * tests/unictype/test-categ_Sk.c: Likewise.
48812         * tests/unictype/test-categ_Sm.c: Likewise.
48813         * tests/unictype/test-categ_So.c: Likewise.
48814         * tests/unictype/test-categ_Z.c: Likewise.
48815         * tests/unictype/test-categ_Zl.c: Likewise.
48816         * tests/unictype/test-categ_Zp.c: Likewise.
48817         * tests/unictype/test-categ_Zs.c: Likewise.
48818         * tests/unictype/test-ctype_alnum.c: Likewise.
48819         * tests/unictype/test-ctype_alpha.c: Likewise.
48820         * tests/unictype/test-ctype_blank.c: Likewise.
48821         * tests/unictype/test-ctype_cntrl.c: Likewise.
48822         * tests/unictype/test-ctype_digit.c: Likewise.
48823         * tests/unictype/test-ctype_graph.c: Likewise.
48824         * tests/unictype/test-ctype_lower.c: Likewise.
48825         * tests/unictype/test-ctype_print.c: Likewise.
48826         * tests/unictype/test-ctype_punct.c: Likewise.
48827         * tests/unictype/test-ctype_space.c: Likewise.
48828         * tests/unictype/test-ctype_upper.c: Likewise.
48829         * tests/unictype/test-ctype_xdigit.c: Likewise.
48830         * tests/unictype/test-decdigit.h: Likewise.
48831         * tests/unictype/test-digit.h: Likewise.
48832         * tests/unictype/test-numeric.h: Likewise.
48833         * tests/unictype/test-pr_alphabetic.c: Likewise.
48834         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
48835         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
48836         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
48837         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
48838         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
48839         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
48840         * tests/unictype/test-pr_bidi_control.c: Likewise.
48841         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
48842         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
48843         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
48844         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
48845         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
48846         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
48847         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
48848         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
48849         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
48850         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
48851         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
48852         * tests/unictype/test-pr_combining.c: Likewise.
48853         * tests/unictype/test-pr_composite.c: Likewise.
48854         * tests/unictype/test-pr_currency_symbol.c: Likewise.
48855         * tests/unictype/test-pr_dash.c: Likewise.
48856         * tests/unictype/test-pr_decimal_digit.c: Likewise.
48857         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
48858         * tests/unictype/test-pr_deprecated.c: Likewise.
48859         * tests/unictype/test-pr_diacritic.c: Likewise.
48860         * tests/unictype/test-pr_extender.c: Likewise.
48861         * tests/unictype/test-pr_format_control.c: Likewise.
48862         * tests/unictype/test-pr_grapheme_base.c: Likewise.
48863         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
48864         * tests/unictype/test-pr_grapheme_link.c: Likewise.
48865         * tests/unictype/test-pr_hex_digit.c: Likewise.
48866         * tests/unictype/test-pr_hyphen.c: Likewise.
48867         * tests/unictype/test-pr_id_continue.c: Likewise.
48868         * tests/unictype/test-pr_id_start.c: Likewise.
48869         * tests/unictype/test-pr_ideographic.c: Likewise.
48870         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
48871         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
48872         * tests/unictype/test-pr_ignorable_control.c: Likewise.
48873         * tests/unictype/test-pr_iso_control.c: Likewise.
48874         * tests/unictype/test-pr_join_control.c: Likewise.
48875         * tests/unictype/test-pr_left_of_pair.c: Likewise.
48876         * tests/unictype/test-pr_line_separator.c: Likewise.
48877         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
48878         * tests/unictype/test-pr_lowercase.c: Likewise.
48879         * tests/unictype/test-pr_math.c: Likewise.
48880         * tests/unictype/test-pr_non_break.c: Likewise.
48881         * tests/unictype/test-pr_not_a_character.c: Likewise.
48882         * tests/unictype/test-pr_numeric.c: Likewise.
48883         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
48884         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
48885         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
48886         * tests/unictype/test-pr_other_id_continue.c: Likewise.
48887         * tests/unictype/test-pr_other_id_start.c: Likewise.
48888         * tests/unictype/test-pr_other_lowercase.c: Likewise.
48889         * tests/unictype/test-pr_other_math.c: Likewise.
48890         * tests/unictype/test-pr_other_uppercase.c: Likewise.
48891         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
48892         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
48893         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
48894         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
48895         * tests/unictype/test-pr_private_use.c: Likewise.
48896         * tests/unictype/test-pr_punctuation.c: Likewise.
48897         * tests/unictype/test-pr_quotation_mark.c: Likewise.
48898         * tests/unictype/test-pr_radical.c: Likewise.
48899         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
48900         * tests/unictype/test-pr_soft_dotted.c: Likewise.
48901         * tests/unictype/test-pr_space.c: Likewise.
48902         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
48903         * tests/unictype/test-pr_titlecase.c: Likewise.
48904         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
48905         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
48906         * tests/unictype/test-pr_uppercase.c: Likewise.
48907         * tests/unictype/test-pr_variation_selector.c: Likewise.
48908         * tests/unictype/test-pr_white_space.c: Likewise.
48909         * tests/unictype/test-pr_xid_continue.c: Likewise.
48910         * tests/unictype/test-pr_xid_start.c: Likewise.
48911         * tests/unictype/test-pr_zero_width.c: Likewise.
48912         * tests/unictype/test-sy_c_whitespace.c: Likewise.
48913         * tests/unictype/test-sy_java_whitespace.c: Likewise.
48914
48915 2007-11-12  Bruno Haible  <bruno@clisp.org>
48916
48917         Unicode character classification functions.
48918         * lib/unictype.h: New file.
48919         * modules/unictype/base: New file.
48920         * modules/unictype/category-L: New file.
48921         * modules/unictype/category-Lu: New file.
48922         * modules/unictype/category-Ll: New file.
48923         * modules/unictype/category-Lt: New file.
48924         * modules/unictype/category-Lm: New file.
48925         * modules/unictype/category-Lo: New file.
48926         * modules/unictype/category-M: New file.
48927         * modules/unictype/category-Mn: New file.
48928         * modules/unictype/category-Mc: New file.
48929         * modules/unictype/category-Me: New file.
48930         * modules/unictype/category-N: New file.
48931         * modules/unictype/category-Nd: New file.
48932         * modules/unictype/category-Nl: New file.
48933         * modules/unictype/category-No: New file.
48934         * modules/unictype/category-P: New file.
48935         * modules/unictype/category-Pc: New file.
48936         * modules/unictype/category-Pd: New file.
48937         * modules/unictype/category-Ps: New file.
48938         * modules/unictype/category-Pe: New file.
48939         * modules/unictype/category-Pi: New file.
48940         * modules/unictype/category-Pf: New file.
48941         * modules/unictype/category-Po: New file.
48942         * modules/unictype/category-S: New file.
48943         * modules/unictype/category-Sm: New file.
48944         * modules/unictype/category-Sc: New file.
48945         * modules/unictype/category-Sk: New file.
48946         * modules/unictype/category-So: New file.
48947         * modules/unictype/category-Z: New file.
48948         * modules/unictype/category-Zs: New file.
48949         * modules/unictype/category-Zl: New file.
48950         * modules/unictype/category-Zp: New file.
48951         * modules/unictype/category-C: New file.
48952         * modules/unictype/category-Cc: New file.
48953         * modules/unictype/category-Cf: New file.
48954         * modules/unictype/category-Cs: New file.
48955         * modules/unictype/category-Co: New file.
48956         * modules/unictype/category-Cn: New file.
48957         * modules/unictype/category-or: New file.
48958         * modules/unictype/category-of: New file.
48959         * modules/unictype/category-test: New file.
48960         * modules/unictype/category-test-withtable: New file.
48961         * modules/unictype/category-byname: New file.
48962         * modules/unictype/category-none: New file.
48963         * modules/unictype/category-and: New file.
48964         * modules/unictype/category-and-not: New file.
48965         * modules/unictype/category-name: New file.
48966         * modules/unictype/combining-class: New file.
48967         * modules/unictype/category-all: New file.
48968         * modules/unictype/bidicategory-all: New file.
48969         * modules/unictype/bidicategory-byname: New file.
48970         * modules/unictype/bidicategory-name: New file.
48971         * modules/unictype/bidicategory-of: New file.
48972         * modules/unictype/bidicategory-test: New file.
48973         * modules/unictype/decimal-digit: New file.
48974         * modules/unictype/digit: New file.
48975         * modules/unictype/numeric: New file.
48976         * modules/unictype/mirror: New file.
48977         * modules/unictype/property-white-space: New file.
48978         * modules/unictype/property-alphabetic: New file.
48979         * modules/unictype/property-other-alphabetic: New file.
48980         * modules/unictype/property-not-a-character: New file.
48981         * modules/unictype/property-default-ignorable-code-point: New file.
48982         * modules/unictype/property-other-default-ignorable-code-point: New
48983         file.
48984         * modules/unictype/property-deprecated: New file.
48985         * modules/unictype/property-logical-order-exception: New file.
48986         * modules/unictype/property-variation-selector: New file.
48987         * modules/unictype/property-private-use: New file.
48988         * modules/unictype/property-unassigned-code-value: New file.
48989         * modules/unictype/property-uppercase: New file.
48990         * modules/unictype/property-other-uppercase: New file.
48991         * modules/unictype/property-lowercase: New file.
48992         * modules/unictype/property-other-lowercase: New file.
48993         * modules/unictype/property-titlecase: New file.
48994         * modules/unictype/property-soft-dotted: New file.
48995         * modules/unictype/property-id-start: New file.
48996         * modules/unictype/property-other-id-start: New file.
48997         * modules/unictype/property-id-continue: New file.
48998         * modules/unictype/property-other-id-continue: New file.
48999         * modules/unictype/property-xid-start: New file.
49000         * modules/unictype/property-xid-continue: New file.
49001         * modules/unictype/property-pattern-white-space: New file.
49002         * modules/unictype/property-pattern-syntax: New file.
49003         * modules/unictype/property-join-control: New file.
49004         * modules/unictype/property-grapheme-base: New file.
49005         * modules/unictype/property-grapheme-extend: New file.
49006         * modules/unictype/property-other-grapheme-extend: New file.
49007         * modules/unictype/property-grapheme-link: New file.
49008         * modules/unictype/property-bidi-control: New file.
49009         * modules/unictype/property-bidi-left-to-right: New file.
49010         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
49011         * modules/unictype/property-bidi-arabic-right-to-left: New file.
49012         * modules/unictype/property-bidi-european-digit: New file.
49013         * modules/unictype/property-bidi-eur-num-separator: New file.
49014         * modules/unictype/property-bidi-eur-num-terminator: New file.
49015         * modules/unictype/property-bidi-arabic-digit: New file.
49016         * modules/unictype/property-bidi-common-separator: New file.
49017         * modules/unictype/property-bidi-block-separator: New file.
49018         * modules/unictype/property-bidi-segment-separator: New file.
49019         * modules/unictype/property-bidi-whitespace: New file.
49020         * modules/unictype/property-bidi-non-spacing-mark: New file.
49021         * modules/unictype/property-bidi-boundary-neutral: New file.
49022         * modules/unictype/property-bidi-pdf: New file.
49023         * modules/unictype/property-bidi-embedding-or-override: New file.
49024         * modules/unictype/property-bidi-other-neutral: New file.
49025         * modules/unictype/property-hex-digit: New file.
49026         * modules/unictype/property-ascii-hex-digit: New file.
49027         * modules/unictype/property-ideographic: New file.
49028         * modules/unictype/property-unified-ideograph: New file.
49029         * modules/unictype/property-radical: New file.
49030         * modules/unictype/property-ids-binary-operator: New file.
49031         * modules/unictype/property-ids-trinary-operator: New file.
49032         * modules/unictype/property-zero-width: New file.
49033         * modules/unictype/property-space: New file.
49034         * modules/unictype/property-non-break: New file.
49035         * modules/unictype/property-iso-control: New file.
49036         * modules/unictype/property-format-control: New file.
49037         * modules/unictype/property-dash: New file.
49038         * modules/unictype/property-hyphen: New file.
49039         * modules/unictype/property-punctuation: New file.
49040         * modules/unictype/property-line-separator: New file.
49041         * modules/unictype/property-paragraph-separator: New file.
49042         * modules/unictype/property-quotation-mark: New file.
49043         * modules/unictype/property-sentence-terminal: New file.
49044         * modules/unictype/property-terminal-punctuation: New file.
49045         * modules/unictype/property-currency-symbol: New file.
49046         * modules/unictype/property-math: New file.
49047         * modules/unictype/property-other-math: New file.
49048         * modules/unictype/property-paired-punctuation: New file.
49049         * modules/unictype/property-left-of-pair: New file.
49050         * modules/unictype/property-combining: New file.
49051         * modules/unictype/property-composite: New file.
49052         * modules/unictype/property-decimal-digit: New file.
49053         * modules/unictype/property-numeric: New file.
49054         * modules/unictype/property-diacritic: New file.
49055         * modules/unictype/property-extender: New file.
49056         * modules/unictype/property-ignorable-control: New file.
49057         * modules/unictype/property-test: New file.
49058         * modules/unictype/property-byname: New file.
49059         * modules/unictype/property-all: New file.
49060         * modules/unictype/scripts: New file.
49061         * modules/unictype/scripts-all: New file.
49062         * modules/unictype/block-of: New file.
49063         * modules/unictype/block-test: New file.
49064         * modules/unictype/block-list: New file.
49065         * modules/unictype/block-all: New file.
49066         * modules/unictype/syntax-c-whitespace: New file.
49067         * modules/unictype/syntax-java-whitespace: New file.
49068         * modules/unictype/syntax-c-ident: New file.
49069         * modules/unictype/syntax-java-ident: New file.
49070         * modules/unictype/ctype-alnum: New file.
49071         * modules/unictype/ctype-alpha: New file.
49072         * modules/unictype/ctype-cntrl: New file.
49073         * modules/unictype/ctype-digit: New file.
49074         * modules/unictype/ctype-graph: New file.
49075         * modules/unictype/ctype-lower: New file.
49076         * modules/unictype/ctype-print: New file.
49077         * modules/unictype/ctype-punct: New file.
49078         * modules/unictype/ctype-space: New file.
49079         * modules/unictype/ctype-upper: New file.
49080         * modules/unictype/ctype-xdigit: New file.
49081         * modules/unictype/ctype-blank: New file.
49082         * lib/unictype/bidi_byname.c: New file.
49083         * lib/unictype/bidi_name.c: New file.
49084         * lib/unictype/bidi_of.c: New file.
49085         * lib/unictype/bidi_test.c: New file.
49086         * lib/unictype/bitmap.h: New file.
49087         * lib/unictype/block_test.c: New file.
49088         * lib/unictype/blocks.c: New file.
49089         * lib/unictype/categ_C.c: New file.
49090         * lib/unictype/categ_Cc.c: New file.
49091         * lib/unictype/categ_Cf.c: New file.
49092         * lib/unictype/categ_Cn.c: New file.
49093         * lib/unictype/categ_Co.c: New file.
49094         * lib/unictype/categ_Cs.c: New file.
49095         * lib/unictype/categ_L.c: New file.
49096         * lib/unictype/categ_Ll.c: New file.
49097         * lib/unictype/categ_Lm.c: New file.
49098         * lib/unictype/categ_Lo.c: New file.
49099         * lib/unictype/categ_Lt.c: New file.
49100         * lib/unictype/categ_Lu.c: New file.
49101         * lib/unictype/categ_M.c: New file.
49102         * lib/unictype/categ_Mc.c: New file.
49103         * lib/unictype/categ_Me.c: New file.
49104         * lib/unictype/categ_Mn.c: New file.
49105         * lib/unictype/categ_N.c: New file.
49106         * lib/unictype/categ_Nd.c: New file.
49107         * lib/unictype/categ_Nl.c: New file.
49108         * lib/unictype/categ_No.c: New file.
49109         * lib/unictype/categ_P.c: New file.
49110         * lib/unictype/categ_Pc.c: New file.
49111         * lib/unictype/categ_Pd.c: New file.
49112         * lib/unictype/categ_Pe.c: New file.
49113         * lib/unictype/categ_Pf.c: New file.
49114         * lib/unictype/categ_Pi.c: New file.
49115         * lib/unictype/categ_Po.c: New file.
49116         * lib/unictype/categ_Ps.c: New file.
49117         * lib/unictype/categ_S.c: New file.
49118         * lib/unictype/categ_Sc.c: New file.
49119         * lib/unictype/categ_Sk.c: New file.
49120         * lib/unictype/categ_Sm.c: New file.
49121         * lib/unictype/categ_So.c: New file.
49122         * lib/unictype/categ_Z.c: New file.
49123         * lib/unictype/categ_Zl.c: New file.
49124         * lib/unictype/categ_Zp.c: New file.
49125         * lib/unictype/categ_Zs.c: New file.
49126         * lib/unictype/categ_and.c: New file.
49127         * lib/unictype/categ_and_not.c: New file.
49128         * lib/unictype/categ_byname.c: New file.
49129         * lib/unictype/categ_name.c: New file.
49130         * lib/unictype/categ_none.c: New file.
49131         * lib/unictype/categ_of.c: New file.
49132         * lib/unictype/categ_or.c: New file.
49133         * lib/unictype/categ_test.c: New file.
49134         * lib/unictype/combining.c: New file.
49135         * lib/unictype/ctype_alnum.c: New file.
49136         * lib/unictype/ctype_alpha.c: New file.
49137         * lib/unictype/ctype_blank.c: New file.
49138         * lib/unictype/ctype_cntrl.c: New file.
49139         * lib/unictype/ctype_digit.c: New file.
49140         * lib/unictype/ctype_graph.c: New file.
49141         * lib/unictype/ctype_lower.c: New file.
49142         * lib/unictype/ctype_print.c: New file.
49143         * lib/unictype/ctype_punct.c: New file.
49144         * lib/unictype/ctype_space.c: New file.
49145         * lib/unictype/ctype_upper.c: New file.
49146         * lib/unictype/ctype_xdigit.c: New file.
49147         * lib/unictype/decdigit.c: New file.
49148         * lib/unictype/digit.c: New file.
49149         * lib/unictype/identsyntaxmap.h: New file.
49150         * lib/unictype/mirror.c: New file.
49151         * lib/unictype/numeric.c: New file.
49152         * lib/unictype/pr_alphabetic.c: New file.
49153         * lib/unictype/pr_ascii_hex_digit.c: New file.
49154         * lib/unictype/pr_bidi_arabic_digit.c: New file.
49155         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
49156         * lib/unictype/pr_bidi_block_separator.c: New file.
49157         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
49158         * lib/unictype/pr_bidi_common_separator.c: New file.
49159         * lib/unictype/pr_bidi_control.c: New file.
49160         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
49161         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
49162         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
49163         * lib/unictype/pr_bidi_european_digit.c: New file.
49164         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
49165         * lib/unictype/pr_bidi_left_to_right.c: New file.
49166         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
49167         * lib/unictype/pr_bidi_other_neutral.c: New file.
49168         * lib/unictype/pr_bidi_pdf.c: New file.
49169         * lib/unictype/pr_bidi_segment_separator.c: New file.
49170         * lib/unictype/pr_bidi_whitespace.c: New file.
49171         * lib/unictype/pr_byname.c: New file.
49172         * lib/unictype/pr_byname.gperf: New file.
49173         * lib/unictype/pr_combining.c: New file.
49174         * lib/unictype/pr_composite.c: New file.
49175         * lib/unictype/pr_currency_symbol.c: New file.
49176         * lib/unictype/pr_dash.c: New file.
49177         * lib/unictype/pr_decimal_digit.c: New file.
49178         * lib/unictype/pr_default_ignorable_code_point.c: New file.
49179         * lib/unictype/pr_deprecated.c: New file.
49180         * lib/unictype/pr_diacritic.c: New file.
49181         * lib/unictype/pr_extender.c: New file.
49182         * lib/unictype/pr_format_control.c: New file.
49183         * lib/unictype/pr_grapheme_base.c: New file.
49184         * lib/unictype/pr_grapheme_extend.c: New file.
49185         * lib/unictype/pr_grapheme_link.c: New file.
49186         * lib/unictype/pr_hex_digit.c: New file.
49187         * lib/unictype/pr_hyphen.c: New file.
49188         * lib/unictype/pr_id_continue.c: New file.
49189         * lib/unictype/pr_id_start.c: New file.
49190         * lib/unictype/pr_ideographic.c: New file.
49191         * lib/unictype/pr_ids_binary_operator.c: New file.
49192         * lib/unictype/pr_ids_trinary_operator.c: New file.
49193         * lib/unictype/pr_ignorable_control.c: New file.
49194         * lib/unictype/pr_iso_control.c: New file.
49195         * lib/unictype/pr_join_control.c: New file.
49196         * lib/unictype/pr_left_of_pair.c: New file.
49197         * lib/unictype/pr_line_separator.c: New file.
49198         * lib/unictype/pr_logical_order_exception.c: New file.
49199         * lib/unictype/pr_lowercase.c: New file.
49200         * lib/unictype/pr_math.c: New file.
49201         * lib/unictype/pr_non_break.c: New file.
49202         * lib/unictype/pr_not_a_character.c: New file.
49203         * lib/unictype/pr_numeric.c: New file.
49204         * lib/unictype/pr_other_alphabetic.c: New file.
49205         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
49206         * lib/unictype/pr_other_grapheme_extend.c: New file.
49207         * lib/unictype/pr_other_id_continue.c: New file.
49208         * lib/unictype/pr_other_id_start.c: New file.
49209         * lib/unictype/pr_other_lowercase.c: New file.
49210         * lib/unictype/pr_other_math.c: New file.
49211         * lib/unictype/pr_other_uppercase.c: New file.
49212         * lib/unictype/pr_paired_punctuation.c: New file.
49213         * lib/unictype/pr_paragraph_separator.c: New file.
49214         * lib/unictype/pr_pattern_syntax.c: New file.
49215         * lib/unictype/pr_pattern_white_space.c: New file.
49216         * lib/unictype/pr_private_use.c: New file.
49217         * lib/unictype/pr_punctuation.c: New file.
49218         * lib/unictype/pr_quotation_mark.c: New file.
49219         * lib/unictype/pr_radical.c: New file.
49220         * lib/unictype/pr_sentence_terminal.c: New file.
49221         * lib/unictype/pr_soft_dotted.c: New file.
49222         * lib/unictype/pr_space.c: New file.
49223         * lib/unictype/pr_terminal_punctuation.c: New file.
49224         * lib/unictype/pr_test.c: New file.
49225         * lib/unictype/pr_titlecase.c: New file.
49226         * lib/unictype/pr_unassigned_code_value.c: New file.
49227         * lib/unictype/pr_unified_ideograph.c: New file.
49228         * lib/unictype/pr_uppercase.c: New file.
49229         * lib/unictype/pr_variation_selector.c: New file.
49230         * lib/unictype/pr_white_space.c: New file.
49231         * lib/unictype/pr_xid_continue.c: New file.
49232         * lib/unictype/pr_xid_start.c: New file.
49233         * lib/unictype/pr_zero_width.c: New file.
49234         * lib/unictype/scripts.c: New file.
49235         * lib/unictype/sy_c_ident.c: New file.
49236         * lib/unictype/sy_c_whitespace.c: New file.
49237         * lib/unictype/sy_java_ident.c: New file.
49238         * lib/unictype/sy_java_whitespace.c: New file.
49239
49240         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
49241         Unicode 5.0.0.
49242         * lib/unictype/blocks.h: Likewise.
49243         * lib/unictype/categ_C.h: Likewise.
49244         * lib/unictype/categ_Cc.h: Likewise.
49245         * lib/unictype/categ_Cf.h: Likewise.
49246         * lib/unictype/categ_Cn.h: Likewise.
49247         * lib/unictype/categ_Co.h: Likewise.
49248         * lib/unictype/categ_Cs.h: Likewise.
49249         * lib/unictype/categ_L.h: Likewise.
49250         * lib/unictype/categ_Ll.h: Likewise.
49251         * lib/unictype/categ_Lm.h: Likewise.
49252         * lib/unictype/categ_Lo.h: Likewise.
49253         * lib/unictype/categ_Lt.h: Likewise.
49254         * lib/unictype/categ_Lu.h: Likewise.
49255         * lib/unictype/categ_M.h: Likewise.
49256         * lib/unictype/categ_Mc.h: Likewise.
49257         * lib/unictype/categ_Me.h: Likewise.
49258         * lib/unictype/categ_Mn.h: Likewise.
49259         * lib/unictype/categ_N.h: Likewise.
49260         * lib/unictype/categ_Nd.h: Likewise.
49261         * lib/unictype/categ_Nl.h: Likewise.
49262         * lib/unictype/categ_No.h: Likewise.
49263         * lib/unictype/categ_P.h: Likewise.
49264         * lib/unictype/categ_Pc.h: Likewise.
49265         * lib/unictype/categ_Pd.h: Likewise.
49266         * lib/unictype/categ_Pe.h: Likewise.
49267         * lib/unictype/categ_Pf.h: Likewise.
49268         * lib/unictype/categ_Pi.h: Likewise.
49269         * lib/unictype/categ_Po.h: Likewise.
49270         * lib/unictype/categ_Ps.h: Likewise.
49271         * lib/unictype/categ_S.h: Likewise.
49272         * lib/unictype/categ_Sc.h: Likewise.
49273         * lib/unictype/categ_Sk.h: Likewise.
49274         * lib/unictype/categ_Sm.h: Likewise.
49275         * lib/unictype/categ_So.h: Likewise.
49276         * lib/unictype/categ_Z.h: Likewise.
49277         * lib/unictype/categ_Zl.h: Likewise.
49278         * lib/unictype/categ_Zp.h: Likewise.
49279         * lib/unictype/categ_Zs.h: Likewise.
49280         * lib/unictype/categ_of.h: Likewise.
49281         * lib/unictype/combining.h: Likewise.
49282         * lib/unictype/ctype_alnum.h: Likewise.
49283         * lib/unictype/ctype_alpha.h: Likewise.
49284         * lib/unictype/ctype_blank.h: Likewise.
49285         * lib/unictype/ctype_cntrl.h: Likewise.
49286         * lib/unictype/ctype_digit.h: Likewise.
49287         * lib/unictype/ctype_graph.h: Likewise.
49288         * lib/unictype/ctype_lower.h: Likewise.
49289         * lib/unictype/ctype_print.h: Likewise.
49290         * lib/unictype/ctype_punct.h: Likewise.
49291         * lib/unictype/ctype_space.h: Likewise.
49292         * lib/unictype/ctype_upper.h: Likewise.
49293         * lib/unictype/ctype_xdigit.h: Likewise.
49294         * lib/unictype/decdigit.h: Likewise.
49295         * lib/unictype/digit.h: Likewise.
49296         * lib/unictype/mirror.h: Likewise.
49297         * lib/unictype/numeric.h: Likewise.
49298         * lib/unictype/pr_alphabetic.h: Likewise.
49299         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
49300         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
49301         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
49302         * lib/unictype/pr_bidi_block_separator.h: Likewise.
49303         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
49304         * lib/unictype/pr_bidi_common_separator.h: Likewise.
49305         * lib/unictype/pr_bidi_control.h: Likewise.
49306         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
49307         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
49308         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
49309         * lib/unictype/pr_bidi_european_digit.h: Likewise.
49310         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
49311         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
49312         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
49313         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
49314         * lib/unictype/pr_bidi_pdf.h: Likewise.
49315         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
49316         * lib/unictype/pr_bidi_whitespace.h: Likewise.
49317         * lib/unictype/pr_combining.h: Likewise.
49318         * lib/unictype/pr_composite.h: Likewise.
49319         * lib/unictype/pr_currency_symbol.h: Likewise.
49320         * lib/unictype/pr_dash.h: Likewise.
49321         * lib/unictype/pr_decimal_digit.h: Likewise.
49322         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
49323         * lib/unictype/pr_deprecated.h: Likewise.
49324         * lib/unictype/pr_diacritic.h: Likewise.
49325         * lib/unictype/pr_extender.h: Likewise.
49326         * lib/unictype/pr_format_control.h: Likewise.
49327         * lib/unictype/pr_grapheme_base.h: Likewise.
49328         * lib/unictype/pr_grapheme_extend.h: Likewise.
49329         * lib/unictype/pr_grapheme_link.h: Likewise.
49330         * lib/unictype/pr_hex_digit.h: Likewise.
49331         * lib/unictype/pr_hyphen.h: Likewise.
49332         * lib/unictype/pr_id_continue.h: Likewise.
49333         * lib/unictype/pr_id_start.h: Likewise.
49334         * lib/unictype/pr_ideographic.h: Likewise.
49335         * lib/unictype/pr_ids_binary_operator.h: Likewise.
49336         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
49337         * lib/unictype/pr_ignorable_control.h: Likewise.
49338         * lib/unictype/pr_iso_control.h: Likewise.
49339         * lib/unictype/pr_join_control.h: Likewise.
49340         * lib/unictype/pr_left_of_pair.h: Likewise.
49341         * lib/unictype/pr_line_separator.h: Likewise.
49342         * lib/unictype/pr_logical_order_exception.h: Likewise.
49343         * lib/unictype/pr_lowercase.h: Likewise.
49344         * lib/unictype/pr_math.h: Likewise.
49345         * lib/unictype/pr_non_break.h: Likewise.
49346         * lib/unictype/pr_not_a_character.h: Likewise.
49347         * lib/unictype/pr_numeric.h: Likewise.
49348         * lib/unictype/pr_other_alphabetic.h: Likewise.
49349         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
49350         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
49351         * lib/unictype/pr_other_id_continue.h: Likewise.
49352         * lib/unictype/pr_other_id_start.h: Likewise.
49353         * lib/unictype/pr_other_lowercase.h: Likewise.
49354         * lib/unictype/pr_other_math.h: Likewise.
49355         * lib/unictype/pr_other_uppercase.h: Likewise.
49356         * lib/unictype/pr_paired_punctuation.h: Likewise.
49357         * lib/unictype/pr_paragraph_separator.h: Likewise.
49358         * lib/unictype/pr_pattern_syntax.h: Likewise.
49359         * lib/unictype/pr_pattern_white_space.h: Likewise.
49360         * lib/unictype/pr_private_use.h: Likewise.
49361         * lib/unictype/pr_punctuation.h: Likewise.
49362         * lib/unictype/pr_quotation_mark.h: Likewise.
49363         * lib/unictype/pr_radical.h: Likewise.
49364         * lib/unictype/pr_sentence_terminal.h: Likewise.
49365         * lib/unictype/pr_soft_dotted.h: Likewise.
49366         * lib/unictype/pr_space.h: Likewise.
49367         * lib/unictype/pr_terminal_punctuation.h: Likewise.
49368         * lib/unictype/pr_titlecase.h: Likewise.
49369         * lib/unictype/pr_unassigned_code_value.h: Likewise.
49370         * lib/unictype/pr_unified_ideograph.h: Likewise.
49371         * lib/unictype/pr_uppercase.h: Likewise.
49372         * lib/unictype/pr_variation_selector.h: Likewise.
49373         * lib/unictype/pr_white_space.h: Likewise.
49374         * lib/unictype/pr_xid_continue.h: Likewise.
49375         * lib/unictype/pr_xid_start.h: Likewise.
49376         * lib/unictype/pr_zero_width.h: Likewise.
49377         * lib/unictype/scripts.h: Likewise.
49378         * lib/unictype/scripts_byname.gperf: Likewise.
49379         * lib/unictype/sy_c_ident.h: Likewise.
49380         * lib/unictype/sy_c_whitespace.h: Likewise.
49381         * lib/unictype/sy_java_ident.h: Likewise.
49382         * lib/unictype/sy_java_whitespace.h: Likewise.
49383
49384         * lib/unictype/Makefile: New file.
49385         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
49386         glibc.
49387         * lib/unictype/3level.h: New file, copied from glibc.
49388         * lib/unictype/3levelbit.h: New file.
49389
49390 2007-11-11  Bruno Haible  <bruno@clisp.org>
49391
49392         * modules/gperf: New file.
49393         * modules/iconv_open (Depends-on): Add it.
49394         (Makefile.am): Remove the GPERF definition.
49395
49396 2007-11-11  Bruno Haible  <bruno@clisp.org>
49397
49398         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
49399         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
49400
49401 2007-11-11  Bruno Haible  <bruno@clisp.org>
49402
49403         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
49404         (usage): Remove function.
49405
49406 2007-11-11  Bruno Haible  <bruno@clisp.org>
49407
49408         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
49409         gl_FUNC_CEILF_LIBS.
49410         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
49411         gl_FUNC_CEIL_LIBS.
49412         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
49413         gl_FUNC_CEILL_LIBS.
49414         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
49415         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
49416         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
49417
49418 2007-11-11  Bruno Haible  <bruno@clisp.org>
49419
49420         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
49421         roundf were declared but do not exist on functions.
49422         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
49423         roundl were declared but do not exist on functions.
49424         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
49425         HAVE_FLOORL_AND_CEILL, respectively.
49426         Needed for Sun C on Solaris 10.
49427
49428 2007-11-11  Bruno Haible  <bruno@clisp.org>
49429
49430         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
49431         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
49432         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
49433         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
49434         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
49435         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
49436         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
49437         HAVE_DECL_ROUNDF.
49438         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
49439         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
49440         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
49441         of HAVE_DECL_ROUND*.
49442         * modules/math (Makefile.am): Update.
49443
49444 2007-11-10  Bruno Haible  <bruno@clisp.org>
49445
49446         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
49447         ptrdiff_t as m4/intl.m4.
49448
49449 2007-11-10  Jim Meyering  <meyering@redhat.com>
49450
49451         Avoid link failure for the argmatch test.
49452         * tests/test-argmatch.c (usage): Define function to avoid a link
49453         failure: argmatch_die requires a usage function.
49454
49455 2007-11-09  Bruno Haible  <bruno@clisp.org>
49456
49457         * doc/functions/snprintf.texi: Mention BeOS deficiency.
49458         * doc/functions/vsnprintf.texi: Likewise.
49459         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
49460         with a size argument < 2.
49461
49462 2007-11-09  Bruno Haible  <bruno@clisp.org>
49463
49464         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
49465         buffer. Fixes an inefficiency introduced on 2007-11-03.
49466
49467 2007-11-09  Bruno Haible  <bruno@clisp.org>
49468
49469         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
49470         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
49471
49472 2007-11-08  Jim Meyering  <meyering@redhat.com>
49473
49474         Change cache variable name prefix "jm_" to "gl_" everywhere.
49475         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
49476         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
49477         * m4/uptime.m4: s/gl_/jm_/
49478
49479 2007-11-07  Bruno Haible  <bruno@clisp.org>
49480
49481         Update to GNU gettext 0.17.
49482         * m4/intl.m4: Update to GNU gettext 0.17.
49483         * m4/po.m4: Likewise.
49484         * modules/gettext (Files): Remove m4/ulonglong.m4.
49485         (configure.ac): Require gettext infrastructure from version 0.17.
49486
49487 2007-11-06  Bruno Haible  <bruno@clisp.org>
49488
49489         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
49490         symbolic values are not defined in a public header.
49491         * lib/freadable.c (freadable) [QNX]: Likewise.
49492         * lib/freadahead.c (freadahead) [QNX]: Likewise.
49493         * lib/freading.c (freading) [QNX]: Likewise.
49494         * lib/fseterr.c (fseterr) [QNX]: Likewise.
49495         * lib/fwritable.c (fwritable) [QNX]: Likewise.
49496         * lib/fwriting.c (fwriting) [QNX]: Likewise.
49497         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
49498         Reported by Alain Magloire.
49499
49500         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
49501
49502 2007-11-05  Bruno Haible  <bruno@clisp.org>
49503
49504         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
49505         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
49506         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
49507         Reported by Eric Blake.
49508
49509 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49510             Bruno Haible  <bruno@clisp.org>
49511
49512         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
49513         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
49514         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
49515         (malloc): Undefine also before including <stdlib.h>.
49516         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
49517         Needed on OSF/1 4.0.
49518
49519 2007-11-05  Jim Meyering  <meyering@redhat.com>
49520
49521         git-version-gen: sync from coreutils.
49522         * build-aux/git-version-gen: Add comments.
49523         Change the first '-' to '.' in the snapshot version string,
49524         e.g., 6.9-377-08144 -> 6.9.377-08144
49525         Remove first parameter.
49526         Don't declare a version "-dirty" merely because a time
49527         stamp has changed.
49528
49529 2007-11-04  Bruno Haible  <bruno@clisp.org>
49530
49531         * lib/lock.h: Protect all macro definitions containing an 'if'
49532         statement through a "do { ... } while (0)".
49533         * lib/tls.h: Likewise.
49534
49535 2007-11-04  Bruno Haible  <bruno@clisp.org>
49536
49537         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
49538
49539 2007-11-04  Bruno Haible  <bruno@clisp.org>
49540
49541         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
49542         * modules/fprintf-posix (Depends-on): Add nocrash.
49543         * modules/snprintf-posix (Depends-on): Likewise.
49544         * modules/sprintf-posix (Depends-on): Likewise.
49545         * modules/vasnprintf-posix (Depends-on): Likewise.
49546         * modules/vasprintf-posix (Depends-on): Likewise.
49547         * modules/vfprintf-posix (Depends-on): Likewise.
49548         * modules/vsnprintf-posix (Depends-on): Likewise.
49549         * modules/vsprintf-posix (Depends-on): Likewise.
49550         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49551         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49552         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49553         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49554         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49555         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49556         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49557
49558 2007-11-04  Bruno Haible  <bruno@clisp.org>
49559
49560         * modules/nocrash: New file.
49561         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
49562         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
49563
49564 2007-11-04  Bruno Haible  <bruno@clisp.org>
49565
49566         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
49567         precision handling.
49568         * tests/test-vasprintf-posix.c (test_function): Likewise.
49569         * tests/test-snprintf-posix.h (test_function): Likewise.
49570         * tests/test-sprintf-posix.h (test_function): Likewise.
49571
49572         Fix *printf behaviour for large precisions on mingw and BeOS.
49573         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
49574         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
49575         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
49576         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49577         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49578         gl_PRINTF_PRECISION and test its result. Invoke
49579         gl_PREREQ_VASNPRINTF_PRECISION.
49580         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49581         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49582         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49583         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49584         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49585         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49586         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49587         * doc/functions/fprintf.texi: Update.
49588         * doc/functions/printf.texi: Update.
49589         * doc/functions/snprintf.texi: Update.
49590         * doc/functions/sprintf.texi: Update.
49591         * doc/functions/vfprintf.texi: Update.
49592         * doc/functions/vprintf.texi: Update.
49593         * doc/functions/vsnprintf.texi: Update.
49594         * doc/functions/vsprintf.texi: Update.
49595
49596 2007-11-04  Bruno Haible  <bruno@clisp.org>
49597
49598         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
49599
49600 2007-11-04  Bruno Haible  <bruno@clisp.org>
49601
49602         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
49603         Reported by Sylvain Beucler <beuc@gnu.org>.
49604
49605 2007-11-03  Bruno Haible  <bruno@clisp.org>
49606
49607         * tests/test-fprintf-posix2.sh: New file.
49608         * tests/test-fprintf-posix2.c: New file.
49609         * modules/fprintf-posix-tests (Files): Add them.
49610         (TESTS): Add test-fprintf-posix2.sh.
49611         (configure.ac): Check for getrlimit and setrlimit.
49612         (check_PROGRAMS): Add test-fprintf-posix2.
49613
49614         * tests/test-printf-posix2.sh: New file.
49615         * tests/test-printf-posix2.c: New file.
49616         * modules/printf-posix-tests (Files): Add them.
49617         (TESTS): Add test-printf-posix2.sh.
49618         (configure.ac): Check for getrlimit and setrlimit.
49619         (check_PROGRAMS): Add test-printf-posix2.
49620
49621         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
49622         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
49623         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
49624         (decode_double): New function, copied from decode_long_double.
49625         (scale10_round_decimal_decoded): New function, extracted from
49626         scale10_round_decimal_long_double.
49627         (scale10_round_decimal_long_double): Use it.
49628         (scale10_round_decimal_double): New function.
49629         (floorlog10): New function.
49630         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
49631         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
49632         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49633         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49634         gl_PRINTF_ENOMEM and test its result. Invoke
49635         gl_PREREQ_VASNPRINTF_ENOMEM.
49636         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49637         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49638         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49639         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49640         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49641         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49642         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49643         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
49644         * modules/snprintf-posix (Depends-on): Likewise.
49645         * modules/sprintf-posix (Depends-on): Likewise.
49646         * modules/vasnprintf-posix (Depends-on): Likewise.
49647         * modules/vasprintf-posix (Depends-on): Likewise.
49648         * modules/vfprintf-posix (Depends-on): Likewise.
49649         * modules/vsnprintf-posix (Depends-on): Likewise.
49650         * modules/vsprintf-posix (Depends-on): Likewise.
49651         * doc/functions/fprintf.texi: Update.
49652         * doc/functions/printf.texi: Update.
49653         * doc/functions/snprintf.texi: Update.
49654         * doc/functions/sprintf.texi: Update.
49655         * doc/functions/vfprintf.texi: Update.
49656         * doc/functions/vprintf.texi: Update.
49657         * doc/functions/vsnprintf.texi: Update.
49658         * doc/functions/vsprintf.texi: Update.
49659
49660 2007-11-03  Bruno Haible  <bruno@clisp.org>
49661
49662         * modules/frexp-nolibm-tests: New file.
49663
49664         * modules/frexp-nolibm: New file.
49665         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
49666
49667 2007-11-03  Bruno Haible  <bruno@clisp.org>
49668
49669         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
49670         value is C99 compliant.
49671         Needed for OSF/1 5.1.
49672
49673 2007-11-03  Bruno Haible  <bruno@clisp.org>
49674
49675         Fix out-of-memory handling of vasnprintf.
49676         * lib/printf-parse.c: Include <errno.h>.
49677         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
49678         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
49679         is already set.
49680
49681 2007-11-02  Eric Blake  <ebb9@byu.net>
49682
49683         Fix tests on cygwin.
49684         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
49685
49686 2007-11-01  Bruno Haible  <bruno@clisp.org>
49687
49688         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
49689         warning.
49690         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
49691         needed for POSIX compatibility.
49692
49693 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
49694
49695         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
49696         for compatibility with GNU.
49697
49698 2007-11-01  Bruno Haible  <bruno@clisp.org>
49699
49700         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
49701         (putenv): Renamed from rpl_putenv. Change argument type from
49702         'const char *' to 'char *'.
49703         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
49704         of defining putenv in config.h, just set REPLACE_PUTENV.
49705         * modules/putenv (Depends-on): Add stdlib.
49706         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49707         (Include): Use <stdlib.h>.
49708         * lib/stdlib.in.h (putenv): New declaration.
49709         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
49710         REPLACE_PUTENV.
49711         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
49712         REPLACE_PUTENV.
49713         Needed for MacOS X 10.5.0.
49714         Reported by Peter O'Gorman <peter@pogma.com>.
49715
49716 2007-11-01  Jim Meyering  <meyering@redhat.com>
49717
49718         Treat an empty date string exactly like "0".
49719         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
49720         if the remaining date string (to be parsed) is empty, use "0".
49721         Reported by Mischa Molhoek and discussed in this thread:
49722         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
49723
49724 2007-10-31  Bruno Haible  <bruno@clisp.org>
49725
49726         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
49727         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
49728         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
49729         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
49730         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
49731         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
49732
49733 2007-10-31  Bruno Haible  <bruno@clisp.org>
49734
49735         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
49736         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
49737         (AC_TYPE_LONG_LONG_INT): Use it.
49738         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
49739         it as well.
49740         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
49741         to m4/longlong.m4.
49742         * modules/stdint (Files): Remove m4/ulonglong.m4.
49743         * modules/strtoull (Files): Use m4/longlong.m4 instead of
49744         m4/ulonglong.m4.
49745         * modules/strtoumax (Files): Likewise.
49746
49747 2007-10-30  Bruno Haible  <bruno@clisp.org>
49748
49749         * modules/xvasprintf-posix: New file.
49750         Suggested by Eric Blake.
49751
49752 2007-10-30  Bruno Haible  <bruno@clisp.org>
49753
49754         * modules/xprintf-posix-tests: New file.
49755         * tests/test-xprintf-posix.sh: New file.
49756         * tests/test-xprintf-posix.c: New file.
49757         * tests/test-xfprintf-posix.c: New file.
49758
49759         * modules/xprintf-posix: New file.
49760
49761 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49762
49763         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
49764         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
49765         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
49766
49767 2007-10-29  Bruno Haible  <bruno@clisp.org>
49768
49769         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
49770         contain the special marker '_cv_'.
49771         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49772         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49773         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
49774         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
49775         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
49776         Reported by Ralf Wildenhues.
49777
49778 2007-10-29  Bruno Haible  <bruno@clisp.org>
49779
49780         * gnulib-tool (func_import): When --lgpl is not specified, set
49781         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
49782         GPLv3.
49783         Reported by Simon Josefsson.
49784
49785 2007-10-28  Bruno Haible  <bruno@clisp.org>
49786
49787         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
49788         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
49789         HAVE_DECL_ISFINITE.
49790         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
49791         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
49792         HAVE_DECL_ISFINITE.
49793
49794 2007-10-28  Bruno Haible  <bruno@clisp.org>
49795
49796         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
49797         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
49798
49799 2007-10-28  Bruno Haible  <bruno@clisp.org>
49800
49801         Fix link errors with Sun C 5.0 on Solaris 10.
49802         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
49803         function is declared but not present in the compiler's libm.
49804         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
49805         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49806         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
49807         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
49808         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
49809         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
49810         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
49811         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
49812         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
49813         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
49814         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
49815         HAVE_DECL_FLOORL.
49816
49817 2007-10-28  Bruno Haible  <bruno@clisp.org>
49818
49819         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
49820         gl_FUNC_FLOORL. Cache the result.
49821         (gl_FUNC_FLOORL): Use it.
49822         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
49823         gl_FUNC_CEILL. Cache the result.
49824         (gl_FUNC_CEILL): Use it.
49825
49826         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
49827         gl_FUNC_FLOOR. Cache the result.
49828         (gl_FUNC_FLOOR): Use it.
49829         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
49830         gl_FUNC_CEIL. Cache the result.
49831         (gl_FUNC_CEIL): Use it.
49832
49833         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
49834         gl_FUNC_FLOORF. Cache the result.
49835         (gl_FUNC_FLOORF): Use it.
49836         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
49837         gl_FUNC_CEILF. Cache the result.
49838         (gl_FUNC_CEILF): Use it.
49839
49840 2007-10-28  Bruno Haible  <bruno@clisp.org>
49841
49842         * gnulib-tool: Allow specifying the LGPL version number through
49843         --lgpl=2 or --lgpl=3.
49844         (func_usage): Document --lgpl with argument.
49845         Handle --lgpl=... arguments.
49846         (func_import): Recognize also gl_LGPL calls with an argument. When
49847         --lgpl=2 is used and the module's license is just LGPL, report an
49848         error. Set sed_transform_lib_file according to the lgpl variable. In
49849         the generated files, use --lgpl or gl_LGPL invocations with argument,
49850         if necessary.
49851         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
49852         an LGPv2+ license.
49853         * doc/gnulib-tool.texi (Modified imports): Update explanation of
49854         gl_LGPL macro.
49855
49856 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49857             Bruno Haible  <bruno@clisp.org>
49858
49859         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
49860         (u16_uctomb_aux): Likewise.
49861         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
49862         !HAVE_INLINE.
49863         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
49864
49865 2007-10-28  Bruno Haible  <bruno@clisp.org>
49866
49867         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
49868         Invoke AM_GETTEXT_OPTION if it exists.
49869         * modules/vasprintf: Likewise.
49870         * modules/verror: Likewise.
49871         * modules/xprintf: Likewise.
49872         * modules/xvasprintf: Likewise.
49873
49874 2007-10-27  Ben Pfaff  <blp@gnu.org>
49875
49876         * lib/math.in.h: Define isfinite macro and prototypes for
49877         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
49878         implementations.
49879         * m4/math_h.m4: New substitutions for isfinite module.
49880         * lib/isfinite.c: New file.
49881         * m4/isfinite.m4: New file.
49882         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
49883         * modules/isfinite: New file.
49884         * modules/isfinite-tests: New file.
49885         * tests/tests-isfinite.c: New file.
49886         * doc/functions/isfinite.texi: Mention isfinite module.
49887         * MODULES.html.sh: Mention new module.
49888
49889 2007-10-27  Ben Pfaff  <blp@gnu.org>
49890
49891         Ralf Wildenhues reported that Tru64 4.0D declares the round
49892         functions but does not have definitions.
49893         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
49894         cannot be found in any library, set the output variable to
49895         "missing" instead of "".
49896         * m4/round.m4: Also use our substitute if we cannot find round in
49897         any library, even if it is declared.
49898         * m4/roundf.m4: Likewise for roundf.
49899         * m4/roundl.m4: Likewise for roundl.
49900         * lib/math.in.h: Undefine roundf, round, roundl before defining
49901         their replacements, to allow for hypothetical systems where these
49902         may be defined as macros but not available in libraries.
49903
49904 2007-10-27  Bruno Haible  <bruno@clisp.org>
49905
49906         * doc/gnulib.texi: Invoke @firstparagraphindent.
49907         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
49908         changes in gnulib.
49909         (Source changes): New section.
49910
49911 2007-10-26  Bruno Haible  <bruno@clisp.org>
49912
49913         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
49914         borrowed from autoconf.
49915
49916 2007-10-26  Bruno Haible  <bruno@clisp.org>
49917
49918         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
49919         strerror returned the empty string. Needed on HP-UX 11.00.
49920
49921 2007-10-24  Micah Cowan  <micah@cowan.name>
49922
49923         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
49924         * build-aux/bootstrap: Remove support for now-unnecessary option,
49925         --cvs-user, and envvars CVS_USER, CVS_RSH.
49926
49927 2007-10-24  Jim Meyering  <meyering@redhat.com>
49928
49929         Avoid diagnostics from sha1sum when there is no cached checksum.
49930         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
49931         if the po.s1 file hasn't been created yet.
49932
49933         * build-aux/bootstrap: Sync from coreutils:
49934         2007-10-24  Jim Meyering  <meyering@redhat.com>
49935         Get gnulib from the git repository, not from an obsolete cvs one.
49936         * build-aux/bootstrap: Suggestion from Micah Cowan.
49937         2007-10-04  Jim Meyering  <jim@meyering.net>
49938         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
49939         (update_po_files): Work also when there are no .po files in po/.
49940
49941 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
49942
49943         * README: Append ".git" to git and cg examples.
49944         Problem reported by Benoit Sigoure.
49945
49946 2007-10-23  Micah Cowan  <micah@cowan.name>
49947
49948         * users.txt: Add wget.
49949
49950 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49951
49952         Fix linking of some unistdio tests on FreeBSD.
49953         * modules/unistdio/u16-vsnprintf-tests
49954         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
49955         * modules/unistdio/u16-vsprintf-tests
49956         (test_u16_vsnprintf1_LDADD): Likewise.
49957         * modules/unistdio/u32-vsnprintf-tests
49958         (test_u32_vsnprintf1_LDADD): Likewise.
49959         * modules/unistdio/u32-vsprintf-tests
49960         (test_u32_vsprintf1_LDADD): Likewise.
49961         * modules/unistdio/u8-vsnprintf-tests
49962         (test_u8_vsnprintf1_LDADD): Likewise.
49963         * modules/unistdio/u8-vsprintf-tests
49964         (test_u8_vsprintf1_LDADD): Likewise.
49965         * modules/unistdio/ulc-vsnprintf-tests
49966         (test_ulc_vsnprintf1_LDADD): Likewise.
49967         * modules/unistdio/ulc-vsprintf-tests
49968         (test_ulc_vsprintf1_LDADD): Likewise.
49969
49970         Fix linking of some uniconv tests on FreeBSD.
49971         * modules/uniconv/u16-conv-from-enc-tests
49972         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
49973         * modules/uniconv/u16-conv-to-enc-tests
49974         (test_u16_conv_to_enc_LDADD): Likewise.
49975         * modules/uniconv/u16-strconv-from-enc-tests
49976         (test_u16_strconv_from_enc_LDADD): Likewise.
49977         * modules/uniconv/u16-strconv-to-enc-tests
49978         (test_u16_strconv_to_enc_LDADD): Likewise.
49979         * modules/uniconv/u32-conv-from-enc-tests
49980         (test_u32_conv_from_enc_LDADD): Likewise.
49981         * modules/uniconv/u32-conv-to-enc-tests
49982         (test_u32_conv_to_enc_LDADD): Likewise.
49983         * modules/uniconv/u32-strconv-from-enc-tests
49984         (test_u32_strconv_from_enc_LDADD): Likewise.
49985         * modules/uniconv/u32-strconv-to-enc-tests
49986         (test_u32_strconv_to_enc_LDADD): Likewise.
49987         * modules/uniconv/u8-conv-from-enc-tests
49988         (test_u8_conv_from_enc_LDADD): Likewise.
49989         * modules/uniconv/u8-conv-to-enc-tests
49990         (test_u8_conv_to_enc_LDADD): Likewise.
49991         * modules/uniconv/u8-strconv-from-enc-tests
49992         (test_u8_strconv_from_enc_LDADD): Likewise.
49993         * modules/uniconv/u8-strconv-to-enc-tests
49994         (test_u8_strconv_to_enc_LDADD): Likewise.
49995
49996 2007-10-22  Bruno Haible  <bruno@clisp.org>
49997
49998         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
49999         size.
50000
50001 2007-10-22  Eric Blake  <ebb9@byu.net>
50002
50003         Tweak x*printf documentation.
50004         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
50005         variable name and comments.
50006         Suggested by Bruno Haible.
50007
50008 2007-10-22  Bruno Haible  <bruno@clisp.org>
50009
50010         * lib/acl.c (copy_acl): Fix file name in comment.
50011
50012 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
50013
50014         Fix Tru64 problem with stdbool.h.
50015         * lib/stdbool.in.h (false, true):
50016         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
50017         Don't declare as an enum in this situation; it runs afoul of Tru64.
50018         Problem reported by Steven M. Schweda in
50019         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
50020
50021 2007-10-22  Eric Blake  <ebb9@byu.net>
50022
50023         Also wrap vf?printf.
50024         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
50025         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
50026         (xvprintf, xvfprintf): New functions.
50027
50028 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50029
50030         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
50031         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
50032
50033         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
50034         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
50035
50036 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
50037
50038         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
50039         by Bruno Haible.
50040
50041 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50042
50043         * lib/getloadavg.c
50044         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
50045         Undef `sys' after including sys/table.h, for Tru64 4.0D.
50046
50047         * tests/test-i-ring.c: Work for C89.
50048
50049 2007-10-22  Bruno Haible  <bruno@clisp.org>
50050
50051         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
50052         -1u, in preprocessor expression, so that we don't test for the bug
50053         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
50054         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
50055
50056 2007-10-22  Eric Blake  <ebb9@byu.net>
50057
50058         * tests/test-yesno.sh: Silence stderr during test.
50059
50060 2007-10-22  Simon Josefsson  <simon@josefsson.org>
50061
50062         * modules/crypto/gc-camellia: New file.
50063
50064         * m4/gc-camellia.m4: New file.
50065
50066         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
50067
50068         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
50069
50070 2007-10-22  Simon Josefsson  <simon@josefsson.org>
50071
50072         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
50073         --help to stdout.  Reported by sms@antinode.org (Steven
50074         M. Schweda).
50075
50076 2007-10-22  Simon Josefsson  <simon@josefsson.org>
50077
50078         * users.txt: Fix link to libksba.
50079
50080 2007-10-21  Ben Pfaff  <blp@gnu.org>
50081
50082         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
50083         round.c roundf implementation that depends on floorf and ceilf to
50084         be tested unconditionally.
50085
50086 2007-10-21  Ben Pfaff  <blp@gnu.org>
50087
50088         * m4/check-libm-func.m4: Removed.
50089         * m4/check-math-lib.m4: New file.
50090         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
50091         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
50092         definition and lack of AC_LIBOBJ([roundf]).
50093         * m4/roundl.m4: Ditto, and similarly for roundl.
50094         * modules/round: Reference new m4 file.
50095         * modules/roundf: Ditto.
50096         * modules/roundl: Ditto.
50097         * tests/test-round2.c (main): Use ROUND instead of round.
50098         Bug report from Bruno Haible.
50099
50100 2007-10-21  Bruno Haible  <bruno@clisp.org>
50101
50102         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
50103         context.
50104
50105 2007-10-21  Bruno Haible  <bruno@clisp.org>
50106
50107         * tests/test-wcwidth.c (main): Allow negative result for some control
50108         characters.
50109
50110         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
50111         Needed on OSF/1 5.1.
50112
50113 2007-10-21  Bruno Haible  <bruno@clisp.org>
50114
50115         * tests/test-floorf1.c: Include isnanf.h.
50116         (main): Use isnanf() instead of isnan().
50117         * tests/test-ceilf1.c: Include isnanf.h.
50118         (main): Use isnanf() instead of isnan().
50119         * tests/test-truncf1.c: Include isnanf.h.
50120         (main): Use isnanf() instead of isnan().
50121         * tests/test-roundf1.c: Include isnanf.h.
50122         (main): Use isnanf() instead of isnan().
50123
50124 2007-10-21  Eric Blake  <ebb9@byu.net>
50125
50126         * users.txt: Update URL for m4.
50127
50128 2007-10-21  Bruno Haible  <bruno@clisp.org>
50129
50130         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
50131
50132 2007-10-21  Bruno Haible  <bruno@clisp.org>
50133
50134         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
50135         Git's management files if the CVS files are not present.
50136
50137 2007-10-20  Bruno Haible  <bruno@clisp.org>
50138
50139         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
50140         gcc-3.4.x.
50141
50142 2007-10-20  Ben Pfaff  <blp@gnu.org>
50143
50144         * lib/math.in.h: Declare round, roundf, roundl if we are providing
50145         implementations.
50146         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
50147         * lib/round.c: New file.
50148         * lib/roundf.c: New file.
50149         * lib/roundl.c: New file.
50150         * m4/round.m4: New file.
50151         * m4/roundf.m4: New file.
50152         * m4/roundl.m4: New file.
50153         * m4/check-libm-func-m4: New file.
50154         * modules/math: Replace round, roundf, roundl related @VARS@ in
50155         math.in.h.
50156         * modules/round: New file.
50157         * modules/round-tests: New file.
50158         * modules/roundf: New file.
50159         * modules/roundf-tests: New file.
50160         * modules/roundl: New file.
50161         * modules/roundl-tests: New file.
50162         * tests/test-round1.c: New file.
50163         * tests/test-round2.c: New file.
50164         * tests/test-roundf1.c: New file.
50165         * tests/test-roundf2.c: New file.
50166         * tests/test-roundl.c: New file.
50167         * doc/functions/round.texi: Mention round module.
50168         * doc/functions/roundf.texi: Mention roundf module.
50169         * doc/functions/roundl.texi: Mention roundl module.
50170         * MODULES.html.sh: Mention new modules.
50171         Thanks to Bruno Haible for suggestions.
50172
50173 2007-10-20  Jim Meyering  <meyering@redhat.com>
50174
50175         * lib/xprintf.c: Include <config.h> unconditionally.
50176
50177         Change xprintf's license to GPL.
50178         * modules/xprintf (License): s/LGPL/GPL/, since this module
50179         depends on modules (exit and exitfail) which are GPL.
50180         Suggestion from Bruno Haible.
50181
50182         xprintf fixes.
50183         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
50184         Use a clearer diagnostic.
50185         Patch from Bruno Haible.
50186
50187 2007-10-20  Bruno Haible  <bruno@clisp.org>
50188
50189         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
50190         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
50191         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50192
50193 2007-10-20  Bruno Haible  <bruno@clisp.org>
50194
50195         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
50196         precision in the comparison result > x - 1 or similar.
50197         * tests/test-ceilf2.c (correct_result_p): Likewise.
50198         * tests/test-truncf2.c (correct_result_p): Likewise.
50199         * tests/test-trunc2.c (correct_result_p): Likewise.
50200         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50201
50202 2007-10-20  Bruno Haible  <bruno@clisp.org>
50203
50204         * modules/ceil: New file.
50205         * m4/ceil.m4: New file.
50206         * doc/functions/ceil.texi: Mention the 'ceil' module.
50207
50208 2007-10-20  Bruno Haible  <bruno@clisp.org>
50209
50210         * modules/floor: New file.
50211         * m4/floor.m4: New file.
50212         * doc/functions/floor.texi: Mention the 'floor' module.
50213
50214 2007-10-20  Bruno Haible  <bruno@clisp.org>
50215
50216         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
50217         of %a.
50218         * modules/floorf-tests (Depends-on): Likewise.
50219         * modules/truncf-tests (Depends-on): Likewise.
50220         * modules/trunc-tests (Depends-on): Likewise.
50221         Reported by Ben Pfaff.
50222
50223 2007-10-19  Jim Meyering  <meyering@redhat.com>
50224
50225         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
50226         Don't bother testing specific errno values.  Just test ferror.
50227
50228         New module: xprintf
50229         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
50230
50231 2007-10-19  Bruno Haible  <bruno@clisp.org>
50232
50233         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
50234         syntax.
50235         * modules/javaexec (Makefile.am): Likewise.
50236         * modules/relocatable-prog (Makefile.am): Likewise.
50237         Suggested by Jim Meyering.
50238
50239 2007-10-18  Bruno Haible  <bruno@clisp.org>
50240
50241         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
50242         Reported by Jim Meyering.
50243
50244 2007-10-18  Eric Blake  <ebb9@byu.net>
50245
50246         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
50247
50248 2007-10-18  Bruno Haible  <bruno@clisp.org>
50249
50250         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
50251         the format string into writable memory. Needed in Fortify conditions.
50252
50253 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
50254             Bruno Haible  <bruno@clisp.org>
50255
50256         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
50257         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
50258         * modules/trim (Depends-on): Add mbchar.
50259         (configure.ac): Add gl_FUNC_MBRTOWC.
50260         (Makefile.am): Augment lib_SOURCES.
50261
50262 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
50263
50264         Modify glob.c to use fstatat and dirfd, to simplify it.
50265         Suggested by Eric Blake.
50266         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
50267         Don't include <stdbool.h>; not used.
50268         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
50269         (link_exists_p): Simplify implementation, since we can now assume
50270         dirfd and fstatat.
50271         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
50272
50273 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50274
50275         * gnulib-tool (func_get_dependencies): Fix sed script to
50276         match only tests.
50277
50278 2007-10-17  Bruno Haible  <bruno@clisp.org>
50279
50280         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
50281         allow locale names without encoding suffix.
50282         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
50283         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
50284
50285 2007-10-16  Bruno Haible  <bruno@clisp.org>
50286
50287         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
50288         * lib/getgroups.c (getgroups): Likewise.
50289         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
50290
50291 2007-10-16  Bruno Haible  <bruno@clisp.org>
50292
50293         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
50294         * modules/malloc-posix (License): Likewise.
50295         * modules/realloc-posix (License): Likewise.
50296         * modules/calloc-posix (License): Likewise.
50297         * modules/intprops (License): Change from GPL to LGPL, with
50298         Paul Eggert's approval.
50299
50300 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50301
50302         Merge glibc changes into lib/glob.c.
50303
50304         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
50305         2007-10-15 04:59:03 UTC.  Here are the changes:
50306
50307         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
50308
50309         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
50310
50311         * lib/glob.c: Add some branch prediction throughout.
50312
50313         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
50314
50315         [BZ #5103]
50316         * lib/glob.c (glob): Recognize patterns starting \/.
50317
50318         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
50319
50320         [BZ #3996]
50321         * lib/glob.c (attribute_hidden): Define if not defined.
50322         (glob): Unescape dirname, filename or username when needed and not
50323         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
50324         is NULL.  Handle unescaped [ in pattern without closing ].
50325         Don't pass GLOB_CHECK down to recursive glob for directories.
50326         (__glob_pattern_type): New function.
50327         (__glob_pattern_p): Implement using __glob_pattern_type.
50328         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
50329         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
50330         Remove unreachable code.
50331
50332         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
50333
50334         * lib/glob.c (glob_in_dir): Add some comments and asserts to
50335         explain why there are no leaks.
50336
50337         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
50338
50339         [BZ #3253]
50340         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
50341         time, rather allocate increasingly bigger arrays of pointers, if
50342         possible with alloca, if too large with malloc.
50343
50344 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50345
50346         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
50347         Problem reported by H.Merijn Brand in
50348         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
50349         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
50350         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
50351
50352 2007-10-15  Bruno Haible  <bruno@clisp.org>
50353
50354         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
50355         with explicit rpl_ prefix.
50356         * lib/fopen.c (fopen): Likewise.
50357         * lib/freopen.c (freopen): Likewise.
50358         * lib/iconv.c (iconv): Likewise.
50359         * lib/iconv_close.c (iconv_close): Likewise.
50360
50361 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50362
50363         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
50364
50365 2007-10-15  Bruno Haible  <bruno@clisp.org>
50366
50367         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
50368         <stddef.h> instead of <stdlib.h> since we only need NULL.
50369         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50370
50371 2007-10-15  Bruno Haible  <bruno@clisp.org>
50372
50373         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
50374         Replace paragraph talking about LIBOBJS.
50375         Reported by Colin Watson <cjwatson@debian.org>.
50376
50377 2007-10-15  Bruno Haible  <bruno@clisp.org>
50378
50379         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
50380         <stdlib.h> before using NULL.
50381
50382 2007-10-15  Simon Josefsson  <simon@josefsson.org>
50383
50384         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
50385         Reported by Albert Chin <china@thewrittenword.com>.
50386
50387 2007-10-14  Bruno Haible  <bruno@clisp.org>
50388
50389         * modules/iconv_open-utf-tests: New file.
50390         * tests/test-iconv-utf.c: New file.
50391
50392         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
50393         * modules/iconv_open-utf: New file.
50394         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
50395         (iconv, iconv_close): New declarations.
50396         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
50397         be defined.
50398         (iconv_open): Add special handling of conversion between UTF-8 and
50399         UTF-{16,32}{BE,LE}.
50400         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
50401         * lib/iconv_close.c: New file.
50402         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
50403         gl_FUNC_ICONV_OPEN.
50404         (gl_FUNC_ICONV_OPEN): Use it.
50405         (gl_FUNC_ICONV_OPEN_UTF): New macro.
50406         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
50407         and REPLACE_ICONV_UTF.
50408         * modules/iconv_open (Depends-on): Add c-strcase.
50409         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
50410         ICONV_CONST.
50411         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
50412
50413 2007-10-13  Albert Chin  <china@thewrittenword.com>
50414             Bruno Haible  <bruno@clisp.org>
50415
50416         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
50417         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
50418
50419 2007-10-13  Bruno Haible  <bruno@clisp.org>
50420
50421         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
50422         defined, use the ISO C99 inline semantics.
50423         * lib/argp.h (ARGP_EI): Likewise.
50424
50425 2007-10-13  Bruno Haible  <bruno@clisp.org>
50426
50427         Handle 'inline' change in gcc 4.3.0.
50428         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
50429         argp_fmtstream_write, argp_fmtstream_set_lmargin,
50430         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
50431         argp_fmtstream_point): Disable 'extern' declaration if the function
50432         definition is going to be provided inline.
50433         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
50434         semantics, not the ISO C99 inline semantics.
50435         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
50436         'extern' declaration if the function definition is going to be provided
50437         inline.
50438         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
50439         the GNU C inline semantics, not the ISO C99 inline semantics. With
50440         GCC 4.2, avoid a warning.
50441
50442 2007-10-13  Bruno Haible  <bruno@clisp.org>
50443
50444         * lib/freading.h (freading): Enable the use of __freading for
50445         glibc >= 2.7.
50446         * lib/freading.c (freading): Likewise.
50447
50448 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
50449
50450         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
50451         "warning: C99 inline functions are not supported; using GNU89".
50452
50453 2007-10-12  Bruno Haible  <bruno@clisp.org>
50454
50455         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
50456         of 2.
50457         * tests/test-ceilf2.c: New file.
50458         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
50459
50460         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
50461         * modules/ceilf-tests: Update.
50462
50463 2007-10-12  Bruno Haible  <bruno@clisp.org>
50464
50465         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
50466         of 2.
50467         * tests/test-floorf2.c: New file.
50468         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
50469
50470         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
50471         * modules/floorf-tests: Update.
50472
50473 2007-10-12  Bruno Haible  <bruno@clisp.org>
50474
50475         * tests/test-trunc2.c: New file.
50476         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
50477
50478         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
50479         * modules/trunc-tests: Update.
50480
50481 2007-10-12  Bruno Haible  <bruno@clisp.org>
50482
50483         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
50484         of 2.
50485         * tests/test-truncf2.c: New file.
50486         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
50487
50488         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
50489         * modules/truncf-tests: Update.
50490
50491 2007-10-11  Eric Blake  <ebb9@byu.net>
50492
50493         Don't claim strerror is broken on Interix.
50494         * doc/functions/strerror.texi (strerror): Known broken systems are
50495         now Solaris 8, and not Interix.
50496         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
50497         Interix on cross-compile.
50498         Reported by Martin Koeppe in
50499         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
50500
50501 2007-10-11  Bruno Haible  <bruno@clisp.org>
50502
50503         * modules/i-ring-tests: New file.
50504         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
50505         instead of assert.
50506
50507 2007-10-11  Bruno Haible  <bruno@clisp.org>
50508
50509         * modules/filenamecat-tests: New file.
50510         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
50511         * lib/filenamecat.c: Remove test code.
50512
50513 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
50514
50515         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
50516
50517         * lib/strerror.c: Include <string.h> always, to test interface,
50518         and to remove the need for the dummy.
50519         Include intprops.h to compute width instead of doing it ourselves
50520         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
50521         (strerror): Define it to return NULL if there's no system strerror.
50522         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
50523         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
50524         ancient pre-strerror Unix systems well any more.  Saying "unknown
50525         system error" is enough.
50526         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
50527         simpler strerror.c implementation.
50528         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
50529         Simplify the tests to reflect the simpler strerror implementation.
50530         * modules/strerror (Depends-on): Add intprops.
50531
50532 2007-10-09  Eric Blake  <ebb9@byu.net>
50533
50534         Silence test-fpending.
50535         * modules/fpending-tests (Files): Add wrapper script.
50536         * tests/test-fpending.sh: New file.
50537
50538 2007-10-09  Bruno Haible  <bruno@clisp.org>
50539
50540         * MODULES.html.sh (func_module): Don't create a hyperlink for
50541         function names like 'printf_frexp'.
50542         (Misc): Add crc, memxor.
50543         (Characteristics of floating types): New section.
50544         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
50545         isnanf-nolibm, signbit, trunc, truncf, truncl.
50546         (Enhancements for ISO C 99 functions): New subsection Input/output.
50547         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
50548         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
50549         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
50550         (Compatibility checks for POSIX:2001 functions): Add clock-time.
50551         (Enhancements for POSIX:2001 functions): Add chdir-long.
50552         (File system functions): Add areadlink, chdir-safer, read-file.
50553         Remove cycle-check.
50554         (File system as inode set): New section.
50555         (Date and time): Add gethrxtime.
50556         (Multithreading): Add openmp.
50557         (Internationalization functions): Add localename.
50558         (Unicode string functions): Add unistr/u*-mbsnlen.
50559         (Support for maintaining and releasing projects): Add git-version-gen.
50560         (Lone files): Remove directories.
50561
50562 2007-10-08  Ben Pfaff  <blp@gnu.org>
50563
50564         * lib/xmalloca.h: Fix typo in comment.
50565
50566 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
50567
50568         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
50569         when avoiding problems with integer overflow.  Use a portable test
50570         instead.
50571
50572 2007-10-08  Simon Josefsson  <simon@josefsson.org>
50573
50574         * modules/dummy (License): Change to LGPLv2+.
50575         * modules/float (License): Likewise
50576         * modules/realloc (License): Likewise
50577         * modules/stdlib (License): Likewise
50578
50579 2007-10-07  Bruno Haible  <bruno@clisp.org>
50580
50581         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
50582         * floor.c (TWO_MANT_DIG): Likewise.
50583         * ceil.c (TWO_MANT_DIG): Likewise.
50584         Reported by Ben Pfaff.
50585
50586 2007-10-07  Bruno Haible  <bruno@clisp.org>
50587
50588         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
50589         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
50590         * lib/frexp.c (FUNC): Likewise.
50591         * lib/printf-frexp.h (printf_frexp): Likewise.
50592         * lib/printf-frexpl.h (printf_frexpl): Likewise.
50593         * lib/printf-frexp.c (FUNC): Likewise.
50594         Suggested by Jim Meyering.
50595
50596 2007-10-07  Jim Meyering  <meyering@redhat.com>
50597
50598         Make xnanosleep's integer overflow test more robust.
50599         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
50600         so that gcc-4.3.0 doesn't optimize away this test for overflow.
50601
50602 2007-10-07  Bruno Haible  <bruno@clisp.org>
50603
50604         * NEWS: Mention the license change.
50605
50606         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
50607         abbreviations in the modules files.
50608
50609         Change copyright notice from GPLv2+ to GPLv3+.
50610         * README: Change copyright notice.
50611         * MODULES.html.sh: Likewise.
50612         * build-aux/bootstrap.conf: Likewise.
50613         * build-aux/config.libpath: Likewise.
50614         * build-aux/csharpcomp.sh.in: Likewise.
50615         * build-aux/csharpexec.sh.in: Likewise.
50616         * build-aux/install-reloc: Likewise.
50617         * build-aux/javacomp.sh.in: Likewise.
50618         * build-aux/javaexec.sh.in: Likewise.
50619         * build-aux/ldd.sh.in: Likewise.
50620         * build-aux/reloc-ldflags: Likewise.
50621         * build-aux/relocatable.sh.in: Likewise.
50622         * build-aux/x-to-1.in: Likewise.
50623         * check-module: Likewise.
50624         * config/srclistvars.sh: Likewise.
50625         * gnulib-tool: Likewise.
50626         * lib/acl-internal.h: Likewise.
50627         * lib/acl.c: Likewise.
50628         * lib/acl.h: Likewise.
50629         * lib/acl_entries.c: Likewise.
50630         * lib/areadlink-with-size.c: Likewise.
50631         * lib/areadlink.c: Likewise.
50632         * lib/areadlink.h: Likewise.
50633         * lib/argmatch.c: Likewise.
50634         * lib/argmatch.h: Likewise.
50635         * lib/argp-ba.c: Likewise.
50636         * lib/argp-eexst.c: Likewise.
50637         * lib/argp-fmtstream.c: Likewise.
50638         * lib/argp-fmtstream.h: Likewise.
50639         * lib/argp-fs-xinl.c: Likewise.
50640         * lib/argp-help.c: Likewise.
50641         * lib/argp-namefrob.h: Likewise.
50642         * lib/argp-parse.c: Likewise.
50643         * lib/argp-pin.c: Likewise.
50644         * lib/argp-pv.c: Likewise.
50645         * lib/argp-pvh.c: Likewise.
50646         * lib/argp-xinl.c: Likewise.
50647         * lib/argp.h: Likewise.
50648         * lib/at-func.c: Likewise.
50649         * lib/atanl.c: Likewise.
50650         * lib/backupfile.c: Likewise.
50651         * lib/backupfile.h: Likewise.
50652         * lib/basename.c: Likewise.
50653         * lib/binary-io.h: Likewise.
50654         * lib/byteswap.in.h: Likewise.
50655         * lib/c-stack.c: Likewise.
50656         * lib/c-stack.h: Likewise.
50657         * lib/c-strcasestr.c: Likewise.
50658         * lib/c-strcasestr.h: Likewise.
50659         * lib/c-strstr.c: Likewise.
50660         * lib/c-strstr.h: Likewise.
50661         * lib/c-strtod.c: Likewise.
50662         * lib/calloc.c: Likewise.
50663         * lib/canon-host.c: Likewise.
50664         * lib/canon-host.h: Likewise.
50665         * lib/canonicalize-lgpl.c: Likewise.
50666         * lib/canonicalize.c: Likewise.
50667         * lib/canonicalize.h: Likewise.
50668         * lib/ceil.c: Likewise.
50669         * lib/ceilf.c: Likewise.
50670         * lib/ceill.c: Likewise.
50671         * lib/chdir-long.c: Likewise.
50672         * lib/chdir-long.h: Likewise.
50673         * lib/chdir-safer.c: Likewise.
50674         * lib/chdir-safer.h: Likewise.
50675         * lib/chown.c: Likewise.
50676         * lib/classpath.c: Likewise.
50677         * lib/classpath.h: Likewise.
50678         * lib/clean-temp.c: Likewise.
50679         * lib/clean-temp.h: Likewise.
50680         * lib/cloexec.c: Likewise.
50681         * lib/close-stream.c: Likewise.
50682         * lib/closein.c: Likewise.
50683         * lib/closein.h: Likewise.
50684         * lib/closeout.c: Likewise.
50685         * lib/closeout.h: Likewise.
50686         * lib/concat-filename.c: Likewise.
50687         * lib/copy-file.c: Likewise.
50688         * lib/copy-file.h: Likewise.
50689         * lib/count-one-bits.h: Likewise.
50690         * lib/crc.c: Likewise.
50691         * lib/crc.h: Likewise.
50692         * lib/creat-safer.c: Likewise.
50693         * lib/csharpcomp.c: Likewise.
50694         * lib/csharpcomp.h: Likewise.
50695         * lib/csharpexec.c: Likewise.
50696         * lib/csharpexec.h: Likewise.
50697         * lib/cycle-check.c: Likewise.
50698         * lib/cycle-check.h: Likewise.
50699         * lib/diacrit.c: Likewise.
50700         * lib/diacrit.h: Likewise.
50701         * lib/diffseq.h: Likewise.
50702         * lib/dirchownmod.c: Likewise.
50703         * lib/dirent.in.h: Likewise.
50704         * lib/dirfd.c: Likewise.
50705         * lib/dirfd.h: Likewise.
50706         * lib/dirname.c: Likewise.
50707         * lib/dirname.h: Likewise.
50708         * lib/dummy.c: Likewise.
50709         * lib/dup-safer.c: Likewise.
50710         * lib/dup2.c: Likewise.
50711         * lib/eealloc.h: Likewise.
50712         * lib/error.c: Likewise.
50713         * lib/error.h: Likewise.
50714         * lib/euidaccess.c: Likewise.
50715         * lib/exclude.c: Likewise.
50716         * lib/exclude.h: Likewise.
50717         * lib/execute.c: Likewise.
50718         * lib/execute.h: Likewise.
50719         * lib/exitfail.c: Likewise.
50720         * lib/exitfail.h: Likewise.
50721         * lib/expl.c: Likewise.
50722         * lib/fatal-signal.c: Likewise.
50723         * lib/fatal-signal.h: Likewise.
50724         * lib/fbufmode.c: Likewise.
50725         * lib/fbufmode.h: Likewise.
50726         * lib/fchdir.c: Likewise.
50727         * lib/fchmodat.c: Likewise.
50728         * lib/fchownat.c: Likewise.
50729         * lib/fcntl--.h: Likewise.
50730         * lib/fcntl-safer.h: Likewise.
50731         * lib/fcntl.in.h: Likewise.
50732         * lib/fd-safer.c: Likewise.
50733         * lib/fflush.c: Likewise.
50734         * lib/file-has-acl.c: Likewise.
50735         * lib/file-set.c: Likewise.
50736         * lib/file-type.c: Likewise.
50737         * lib/file-type.h: Likewise.
50738         * lib/fileblocks.c: Likewise.
50739         * lib/filemode.c: Likewise.
50740         * lib/filemode.h: Likewise.
50741         * lib/filename.h: Likewise.
50742         * lib/filenamecat.c: Likewise.
50743         * lib/filenamecat.h: Likewise.
50744         * lib/findprog.c: Likewise.
50745         * lib/findprog.h: Likewise.
50746         * lib/float.in.h: Likewise.
50747         * lib/floor.c: Likewise.
50748         * lib/floorf.c: Likewise.
50749         * lib/floorl.c: Likewise.
50750         * lib/fopen-safer.c: Likewise.
50751         * lib/fopen.c: Likewise.
50752         * lib/fpending.c: Likewise.
50753         * lib/fpending.h: Likewise.
50754         * lib/fprintf.c: Likewise.
50755         * lib/fprintftime.h: Likewise.
50756         * lib/fpucw.h: Likewise.
50757         * lib/fpurge.c: Likewise.
50758         * lib/fpurge.h: Likewise.
50759         * lib/freadable.c: Likewise.
50760         * lib/freadable.h: Likewise.
50761         * lib/freadahead.c: Likewise.
50762         * lib/freadahead.h: Likewise.
50763         * lib/freading.c: Likewise.
50764         * lib/freading.h: Likewise.
50765         * lib/free.c: Likewise.
50766         * lib/freopen.c: Likewise.
50767         * lib/frexp.c: Likewise.
50768         * lib/frexpl.c: Likewise.
50769         * lib/fseek.c: Likewise.
50770         * lib/fseterr.c: Likewise.
50771         * lib/fseterr.h: Likewise.
50772         * lib/fstatat.c: Likewise.
50773         * lib/fstrcmp.c: Likewise.
50774         * lib/fstrcmp.h: Likewise.
50775         * lib/fsusage.c: Likewise.
50776         * lib/fsusage.h: Likewise.
50777         * lib/ftell.c: Likewise.
50778         * lib/ftello.c: Likewise.
50779         * lib/fts-cycle.c: Likewise.
50780         * lib/fts.c: Likewise.
50781         * lib/fts_.h: Likewise.
50782         * lib/full-read.c: Likewise.
50783         * lib/full-read.h: Likewise.
50784         * lib/full-write.c: Likewise.
50785         * lib/full-write.h: Likewise.
50786         * lib/fwritable.c: Likewise.
50787         * lib/fwritable.h: Likewise.
50788         * lib/fwriteerror.c: Likewise.
50789         * lib/fwriteerror.h: Likewise.
50790         * lib/fwriting.c: Likewise.
50791         * lib/fwriting.h: Likewise.
50792         * lib/gcd.c: Likewise.
50793         * lib/gcd.h: Likewise.
50794         * lib/getcwd.c: Likewise.
50795         * lib/getdate.h: Likewise.
50796         * lib/getdate.y: Likewise.
50797         * lib/getdomainname.c: Likewise.
50798         * lib/getdomainname.h: Likewise.
50799         * lib/getgroups.c: Likewise.
50800         * lib/gethostname.c: Likewise.
50801         * lib/gethrxtime.c: Likewise.
50802         * lib/gethrxtime.h: Likewise.
50803         * lib/getloadavg.c: Likewise.
50804         * lib/getndelim2.c: Likewise.
50805         * lib/getndelim2.h: Likewise.
50806         * lib/getnline.c: Likewise.
50807         * lib/getnline.h: Likewise.
50808         * lib/getopt.c: Likewise.
50809         * lib/getopt.in.h: Likewise.
50810         * lib/getopt1.c: Likewise.
50811         * lib/getopt_int.h: Likewise.
50812         * lib/getpagesize.h: Likewise.
50813         * lib/getsubopt.c: Likewise.
50814         * lib/gettime.c: Likewise.
50815         * lib/getugroups.c: Likewise.
50816         * lib/getugroups.h: Likewise.
50817         * lib/getusershell.c: Likewise.
50818         * lib/gl_anyavltree_list1.h: Likewise.
50819         * lib/gl_anyavltree_list2.h: Likewise.
50820         * lib/gl_anyhash_list1.h: Likewise.
50821         * lib/gl_anyhash_list2.h: Likewise.
50822         * lib/gl_anylinked_list1.h: Likewise.
50823         * lib/gl_anylinked_list2.h: Likewise.
50824         * lib/gl_anyrbtree_list1.h: Likewise.
50825         * lib/gl_anyrbtree_list2.h: Likewise.
50826         * lib/gl_anytree_list1.h: Likewise.
50827         * lib/gl_anytree_list2.h: Likewise.
50828         * lib/gl_anytree_oset.h: Likewise.
50829         * lib/gl_anytreehash_list1.h: Likewise.
50830         * lib/gl_anytreehash_list2.h: Likewise.
50831         * lib/gl_array_list.c: Likewise.
50832         * lib/gl_array_list.h: Likewise.
50833         * lib/gl_array_oset.c: Likewise.
50834         * lib/gl_array_oset.h: Likewise.
50835         * lib/gl_avltree_list.c: Likewise.
50836         * lib/gl_avltree_list.h: Likewise.
50837         * lib/gl_avltree_oset.c: Likewise.
50838         * lib/gl_avltree_oset.h: Likewise.
50839         * lib/gl_avltreehash_list.c: Likewise.
50840         * lib/gl_avltreehash_list.h: Likewise.
50841         * lib/gl_carray_list.c: Likewise.
50842         * lib/gl_carray_list.h: Likewise.
50843         * lib/gl_linked_list.c: Likewise.
50844         * lib/gl_linked_list.h: Likewise.
50845         * lib/gl_linkedhash_list.c: Likewise.
50846         * lib/gl_linkedhash_list.h: Likewise.
50847         * lib/gl_list.c: Likewise.
50848         * lib/gl_list.h: Likewise.
50849         * lib/gl_oset.c: Likewise.
50850         * lib/gl_oset.h: Likewise.
50851         * lib/gl_rbtree_list.c: Likewise.
50852         * lib/gl_rbtree_list.h: Likewise.
50853         * lib/gl_rbtree_oset.c: Likewise.
50854         * lib/gl_rbtree_oset.h: Likewise.
50855         * lib/gl_rbtreehash_list.c: Likewise.
50856         * lib/gl_rbtreehash_list.h: Likewise.
50857         * lib/gl_sublist.c: Likewise.
50858         * lib/gl_sublist.h: Likewise.
50859         * lib/group-member.c: Likewise.
50860         * lib/group-member.h: Likewise.
50861         * lib/hard-locale.c: Likewise.
50862         * lib/hard-locale.h: Likewise.
50863         * lib/hash-pjw.c: Likewise.
50864         * lib/hash-pjw.h: Likewise.
50865         * lib/hash-triple.c: Likewise.
50866         * lib/hash.c: Likewise.
50867         * lib/hash.h: Likewise.
50868         * lib/human.c: Likewise.
50869         * lib/human.h: Likewise.
50870         * lib/i-ring.c: Likewise.
50871         * lib/i-ring.h: Likewise.
50872         * lib/idcache.c: Likewise.
50873         * lib/imaxabs.c: Likewise.
50874         * lib/imaxdiv.c: Likewise.
50875         * lib/inet_pton.c: Likewise.
50876         * lib/inet_pton.h: Likewise.
50877         * lib/intprops.h: Likewise.
50878         * lib/inttostr.c: Likewise.
50879         * lib/inttostr.h: Likewise.
50880         * lib/inttypes.in.h: Likewise.
50881         * lib/isapipe.c: Likewise.
50882         * lib/isdir.c: Likewise.
50883         * lib/isnan.c: Likewise.
50884         * lib/isnan.h: Likewise.
50885         * lib/isnanf.c: Likewise.
50886         * lib/isnanf.h: Likewise.
50887         * lib/isnanl-nolibm.h: Likewise.
50888         * lib/isnanl.c: Likewise.
50889         * lib/isnanl.h: Likewise.
50890         * lib/javacomp.c: Likewise.
50891         * lib/javacomp.h: Likewise.
50892         * lib/javaexec.c: Likewise.
50893         * lib/javaexec.h: Likewise.
50894         * lib/javaversion.c: Likewise.
50895         * lib/javaversion.h: Likewise.
50896         * lib/javaversion.java: Likewise.
50897         * lib/lbrkprop.h: Likewise.
50898         * lib/lchmod.h: Likewise.
50899         * lib/lchown.c: Likewise.
50900         * lib/ldexpl.c: Likewise.
50901         * lib/linebreak.c: Likewise.
50902         * lib/linebreak.h: Likewise.
50903         * lib/linebuffer.c: Likewise.
50904         * lib/linebuffer.h: Likewise.
50905         * lib/locale.in.h: Likewise.
50906         * lib/logl.c: Likewise.
50907         * lib/long-options.c: Likewise.
50908         * lib/long-options.h: Likewise.
50909         * lib/lstat.c: Likewise.
50910         * lib/lstat.h: Likewise.
50911         * lib/math.in.h: Likewise.
50912         * lib/mbchar.c: Likewise.
50913         * lib/mbchar.h: Likewise.
50914         * lib/mbfile.h: Likewise.
50915         * lib/mbiter.h: Likewise.
50916         * lib/mbscasecmp.c: Likewise.
50917         * lib/mbscasestr.c: Likewise.
50918         * lib/mbschr.c: Likewise.
50919         * lib/mbscspn.c: Likewise.
50920         * lib/mbslen.c: Likewise.
50921         * lib/mbsncasecmp.c: Likewise.
50922         * lib/mbsnlen.c: Likewise.
50923         * lib/mbspbrk.c: Likewise.
50924         * lib/mbspcasecmp.c: Likewise.
50925         * lib/mbsrchr.c: Likewise.
50926         * lib/mbssep.c: Likewise.
50927         * lib/mbsspn.c: Likewise.
50928         * lib/mbsstr.c: Likewise.
50929         * lib/mbstok_r.c: Likewise.
50930         * lib/mbswidth.c: Likewise.
50931         * lib/mbswidth.h: Likewise.
50932         * lib/mbuiter.h: Likewise.
50933         * lib/memcasecmp.c: Likewise.
50934         * lib/memcasecmp.h: Likewise.
50935         * lib/memchr.c: Likewise.
50936         * lib/memcmp.c: Likewise.
50937         * lib/memcoll.c: Likewise.
50938         * lib/memcoll.h: Likewise.
50939         * lib/memcpy.c: Likewise.
50940         * lib/memrchr.c: Likewise.
50941         * lib/mkancesdirs.c: Likewise.
50942         * lib/mkdir-p.c: Likewise.
50943         * lib/mkdir-p.h: Likewise.
50944         * lib/mkdir.c: Likewise.
50945         * lib/mkdirat.c: Likewise.
50946         * lib/mkdtemp.c: Likewise.
50947         * lib/mkstemp-safer.c: Likewise.
50948         * lib/mkstemp.c: Likewise.
50949         * lib/modechange.c: Likewise.
50950         * lib/modechange.h: Likewise.
50951         * lib/mountlist.c: Likewise.
50952         * lib/mountlist.h: Likewise.
50953         * lib/mpsort.c: Likewise.
50954         * lib/nanosleep.c: Likewise.
50955         * lib/obstack.c: Likewise.
50956         * lib/obstack.h: Likewise.
50957         * lib/open-safer.c: Likewise.
50958         * lib/open.c: Likewise.
50959         * lib/openat-die.c: Likewise.
50960         * lib/openat-priv.h: Likewise.
50961         * lib/openat-proc.c: Likewise.
50962         * lib/openat.c: Likewise.
50963         * lib/openat.h: Likewise.
50964         * lib/pagealign_alloc.c: Likewise.
50965         * lib/pagealign_alloc.h: Likewise.
50966         * lib/physmem.c: Likewise.
50967         * lib/physmem.h: Likewise.
50968         * lib/pipe-safer.c: Likewise.
50969         * lib/pipe.c: Likewise.
50970         * lib/pipe.h: Likewise.
50971         * lib/posixtm.c: Likewise.
50972         * lib/posixtm.h: Likewise.
50973         * lib/posixver.c: Likewise.
50974         * lib/printf-frexp.c: Likewise.
50975         * lib/printf-frexp.h: Likewise.
50976         * lib/printf-frexpl.c: Likewise.
50977         * lib/printf-frexpl.h: Likewise.
50978         * lib/printf.c: Likewise.
50979         * lib/progname.c: Likewise.
50980         * lib/progname.h: Likewise.
50981         * lib/progreloc.c: Likewise.
50982         * lib/putenv.c: Likewise.
50983         * lib/quote.c: Likewise.
50984         * lib/quote.h: Likewise.
50985         * lib/quotearg.c: Likewise.
50986         * lib/quotearg.h: Likewise.
50987         * lib/raise.c: Likewise.
50988         * lib/readline.c: Likewise.
50989         * lib/readline.h: Likewise.
50990         * lib/readlink.c: Likewise.
50991         * lib/readtokens.c: Likewise.
50992         * lib/readtokens.h: Likewise.
50993         * lib/readtokens0.c: Likewise.
50994         * lib/readtokens0.h: Likewise.
50995         * lib/readutmp.c: Likewise.
50996         * lib/readutmp.h: Likewise.
50997         * lib/realloc.c: Likewise.
50998         * lib/relocwrapper.c: Likewise.
50999         * lib/rename-dest-slash.c: Likewise.
51000         * lib/rename.c: Likewise.
51001         * lib/rmdir.c: Likewise.
51002         * lib/rpmatch.c: Likewise.
51003         * lib/safe-read.c: Likewise.
51004         * lib/safe-read.h: Likewise.
51005         * lib/safe-write.c: Likewise.
51006         * lib/safe-write.h: Likewise.
51007         * lib/same-inode.h: Likewise.
51008         * lib/same.c: Likewise.
51009         * lib/same.h: Likewise.
51010         * lib/save-cwd.c: Likewise.
51011         * lib/save-cwd.h: Likewise.
51012         * lib/savedir.c: Likewise.
51013         * lib/savedir.h: Likewise.
51014         * lib/savewd.c: Likewise.
51015         * lib/savewd.h: Likewise.
51016         * lib/search.in.h: Likewise.
51017         * lib/setenv.c: Likewise.
51018         * lib/setenv.h: Likewise.
51019         * lib/settime.c: Likewise.
51020         * lib/sh-quote.c: Likewise.
51021         * lib/sh-quote.h: Likewise.
51022         * lib/sig2str.c: Likewise.
51023         * lib/sig2str.h: Likewise.
51024         * lib/signal.in.h: Likewise.
51025         * lib/signbitd.c: Likewise.
51026         * lib/signbitf.c: Likewise.
51027         * lib/signbitl.c: Likewise.
51028         * lib/sigprocmask.c: Likewise.
51029         * lib/sincosl.c: Likewise.
51030         * lib/sleep.c: Likewise.
51031         * lib/sprintf.c: Likewise.
51032         * lib/sqrtl.c: Likewise.
51033         * lib/stat-time.h: Likewise.
51034         * lib/stdio--.h: Likewise.
51035         * lib/stdio-safer.h: Likewise.
51036         * lib/stdlib--.h: Likewise.
51037         * lib/stdlib-safer.h: Likewise.
51038         * lib/stdlib.in.h: Likewise.
51039         * lib/stpcpy.c: Likewise.
51040         * lib/stpncpy.c: Likewise.
51041         * lib/strchrnul.c: Likewise.
51042         * lib/strcspn.c: Likewise.
51043         * lib/strerror.c: Likewise.
51044         * lib/strftime.c: Likewise.
51045         * lib/strftime.h: Likewise.
51046         * lib/striconveh.c: Likewise.
51047         * lib/striconveh.h: Likewise.
51048         * lib/striconveha.c: Likewise.
51049         * lib/striconveha.h: Likewise.
51050         * lib/stripslash.c: Likewise.
51051         * lib/strnlen1.c: Likewise.
51052         * lib/strnlen1.h: Likewise.
51053         * lib/strtod.c: Likewise.
51054         * lib/strtoimax.c: Likewise.
51055         * lib/strtok_r.c: Likewise.
51056         * lib/strtol.c: Likewise.
51057         * lib/strtoll.c: Likewise.
51058         * lib/strtoul.c: Likewise.
51059         * lib/strtoull.c: Likewise.
51060         * lib/sysexits.in.h: Likewise.
51061         * lib/tempname.c: Likewise.
51062         * lib/tempname.h: Likewise.
51063         * lib/timespec.h: Likewise.
51064         * lib/tls.c: Likewise.
51065         * lib/tls.h: Likewise.
51066         * lib/tmpdir.c: Likewise.
51067         * lib/tmpdir.h: Likewise.
51068         * lib/tmpfile-safer.c: Likewise.
51069         * lib/tmpfile.c: Likewise.
51070         * lib/trigl.c: Likewise.
51071         * lib/trigl.h: Likewise.
51072         * lib/trim.c: Likewise.
51073         * lib/trim.h: Likewise.
51074         * lib/trunc.c: Likewise.
51075         * lib/truncf.c: Likewise.
51076         * lib/truncl.c: Likewise.
51077         * lib/tsearch.c: Likewise.
51078         * lib/unicodeio.c: Likewise.
51079         * lib/unicodeio.h: Likewise.
51080         * lib/unistd--.h: Likewise.
51081         * lib/unistd-safer.h: Likewise.
51082         * lib/unistdio/ulc-fprintf.c: Likewise.
51083         * lib/unistdio/ulc-vfprintf.c: Likewise.
51084         * lib/unlinkdir.c: Likewise.
51085         * lib/unlinkdir.h: Likewise.
51086         * lib/unlocked-io.h: Likewise.
51087         * lib/unsetenv.c: Likewise.
51088         * lib/userspec.c: Likewise.
51089         * lib/utime.c: Likewise.
51090         * lib/utimecmp.c: Likewise.
51091         * lib/utimecmp.h: Likewise.
51092         * lib/utimens.c: Likewise.
51093         * lib/verify.h: Likewise.
51094         * lib/verror.c: Likewise.
51095         * lib/verror.h: Likewise.
51096         * lib/version-etc-fsf.c: Likewise.
51097         * lib/version-etc.c: Likewise.
51098         * lib/version-etc.h: Likewise.
51099         * lib/vfprintf.c: Likewise.
51100         * lib/vprintf.c: Likewise.
51101         * lib/vsprintf.c: Likewise.
51102         * lib/w32spawn.h: Likewise.
51103         * lib/wait-process.c: Likewise.
51104         * lib/wait-process.h: Likewise.
51105         * lib/wcwidth.c: Likewise.
51106         * lib/write-any-file.c: Likewise.
51107         * lib/xalloc-die.c: Likewise.
51108         * lib/xalloc.h: Likewise.
51109         * lib/xasprintf.c: Likewise.
51110         * lib/xgetcwd.c: Likewise.
51111         * lib/xgetcwd.h: Likewise.
51112         * lib/xgetdomainname.c: Likewise.
51113         * lib/xgetdomainname.h: Likewise.
51114         * lib/xgethostname.c: Likewise.
51115         * lib/xmalloc.c: Likewise.
51116         * lib/xmalloca.c: Likewise.
51117         * lib/xmalloca.h: Likewise.
51118         * lib/xmemcoll.c: Likewise.
51119         * lib/xnanosleep.c: Likewise.
51120         * lib/xreadlink.c: Likewise.
51121         * lib/xreadlink.h: Likewise.
51122         * lib/xsetenv.c: Likewise.
51123         * lib/xsetenv.h: Likewise.
51124         * lib/xstriconv.c: Likewise.
51125         * lib/xstriconv.h: Likewise.
51126         * lib/xstrndup.c: Likewise.
51127         * lib/xstrndup.h: Likewise.
51128         * lib/xstrtod.c: Likewise.
51129         * lib/xstrtod.h: Likewise.
51130         * lib/xstrtol-error.c: Likewise.
51131         * lib/xstrtol.c: Likewise.
51132         * lib/xstrtol.h: Likewise.
51133         * lib/xtime.h: Likewise.
51134         * lib/xvasprintf.c: Likewise.
51135         * lib/xvasprintf.h: Likewise.
51136         * lib/yesno.c: Likewise.
51137         * lib/yesno.h: Likewise.
51138         * posix-modules: Likewise.
51139         * tests/test-alloca-opt.c: Likewise.
51140         * tests/test-arcfour.c: Likewise.
51141         * tests/test-arctwo.c: Likewise.
51142         * tests/test-argmatch.c: Likewise.
51143         * tests/test-argp-2.sh: Likewise.
51144         * tests/test-argp.c: Likewise.
51145         * tests/test-arpa_inet.c: Likewise.
51146         * tests/test-array_list.c: Likewise.
51147         * tests/test-array_oset.c: Likewise.
51148         * tests/test-atexit.c: Likewise.
51149         * tests/test-avltree_list.c: Likewise.
51150         * tests/test-avltree_oset.c: Likewise.
51151         * tests/test-avltreehash_list.c: Likewise.
51152         * tests/test-base64.c: Likewise.
51153         * tests/test-binary-io.c: Likewise.
51154         * tests/test-byteswap.c: Likewise.
51155         * tests/test-c-ctype.c: Likewise.
51156         * tests/test-c-strcasecmp.c: Likewise.
51157         * tests/test-c-strcasestr.c: Likewise.
51158         * tests/test-c-strncasecmp.c: Likewise.
51159         * tests/test-c-strstr.c: Likewise.
51160         * tests/test-canonicalize-lgpl.c: Likewise.
51161         * tests/test-canonicalize.c: Likewise.
51162         * tests/test-carray_list.c: Likewise.
51163         * tests/test-ceilf.c: Likewise.
51164         * tests/test-ceill.c: Likewise.
51165         * tests/test-count-one-bits.c: Likewise.
51166         * tests/test-crc.c: Likewise.
51167         * tests/test-dirname.c: Likewise.
51168         * tests/test-fbufmode.c: Likewise.
51169         * tests/test-fcntl.c: Likewise.
51170         * tests/test-fflush.c: Likewise.
51171         * tests/test-floorf.c: Likewise.
51172         * tests/test-floorl.c: Likewise.
51173         * tests/test-fopen.c: Likewise.
51174         * tests/test-fprintf-posix.c: Likewise.
51175         * tests/test-fprintf-posix.h: Likewise.
51176         * tests/test-fpurge.c: Likewise.
51177         * tests/test-freadable.c: Likewise.
51178         * tests/test-freadahead.c: Likewise.
51179         * tests/test-freading.c: Likewise.
51180         * tests/test-freopen.c: Likewise.
51181         * tests/test-frexp.c: Likewise.
51182         * tests/test-frexpl.c: Likewise.
51183         * tests/test-fseek.c: Likewise.
51184         * tests/test-fseeko.c: Likewise.
51185         * tests/test-fseterr.c: Likewise.
51186         * tests/test-fstrcmp.c: Likewise.
51187         * tests/test-ftell.c: Likewise.
51188         * tests/test-ftello.c: Likewise.
51189         * tests/test-fwritable.c: Likewise.
51190         * tests/test-fwriting.c: Likewise.
51191         * tests/test-getaddrinfo.c: Likewise.
51192         * tests/test-getpass.c: Likewise.
51193         * tests/test-gettimeofday.c: Likewise.
51194         * tests/test-hmac-md5.c: Likewise.
51195         * tests/test-hmac-sha1.c: Likewise.
51196         * tests/test-iconv.c: Likewise.
51197         * tests/test-iconvme.c: Likewise.
51198         * tests/test-inttypes.c: Likewise.
51199         * tests/test-isnan.c: Likewise.
51200         * tests/test-isnanf.c: Likewise.
51201         * tests/test-isnanl-nolibm.c: Likewise.
51202         * tests/test-isnanl.c: Likewise.
51203         * tests/test-isnanl.h: Likewise.
51204         * tests/test-ldexpl.c: Likewise.
51205         * tests/test-linked_list.c: Likewise.
51206         * tests/test-linkedhash_list.c: Likewise.
51207         * tests/test-locale.c: Likewise.
51208         * tests/test-localename.c: Likewise.
51209         * tests/test-lock.c: Likewise.
51210         * tests/test-lseek.c: Likewise.
51211         * tests/test-malloca.c: Likewise.
51212         * tests/test-math.c: Likewise.
51213         * tests/test-mbscasecmp.c: Likewise.
51214         * tests/test-mbscasestr1.c: Likewise.
51215         * tests/test-mbscasestr2.c: Likewise.
51216         * tests/test-mbscasestr3.c: Likewise.
51217         * tests/test-mbscasestr4.c: Likewise.
51218         * tests/test-mbschr.c: Likewise.
51219         * tests/test-mbscspn.c: Likewise.
51220         * tests/test-mbsncasecmp.c: Likewise.
51221         * tests/test-mbspbrk.c: Likewise.
51222         * tests/test-mbspcasecmp.c: Likewise.
51223         * tests/test-mbsrchr.c: Likewise.
51224         * tests/test-mbsspn.c: Likewise.
51225         * tests/test-mbsstr1.c: Likewise.
51226         * tests/test-mbsstr2.c: Likewise.
51227         * tests/test-mbsstr3.c: Likewise.
51228         * tests/test-md5.c: Likewise.
51229         * tests/test-memmem.c: Likewise.
51230         * tests/test-netinet_in.c: Likewise.
51231         * tests/test-open.c: Likewise.
51232         * tests/test-printf-frexp.c: Likewise.
51233         * tests/test-printf-frexpl.c: Likewise.
51234         * tests/test-printf-posix.c: Likewise.
51235         * tests/test-printf-posix.h: Likewise.
51236         * tests/test-rbtree_list.c: Likewise.
51237         * tests/test-rbtree_oset.c: Likewise.
51238         * tests/test-rbtreehash_list.c: Likewise.
51239         * tests/test-read-file.c: Likewise.
51240         * tests/test-rijndael.c: Likewise.
51241         * tests/test-search.c: Likewise.
51242         * tests/test-signbit.c: Likewise.
51243         * tests/test-sleep.c: Likewise.
51244         * tests/test-snprintf-posix.c: Likewise.
51245         * tests/test-snprintf-posix.h: Likewise.
51246         * tests/test-snprintf.c: Likewise.
51247         * tests/test-sprintf-posix.c: Likewise.
51248         * tests/test-sprintf-posix.h: Likewise.
51249         * tests/test-stat-time.c: Likewise.
51250         * tests/test-stdbool.c: Likewise.
51251         * tests/test-stdint.c: Likewise.
51252         * tests/test-stdio.c: Likewise.
51253         * tests/test-stdlib.c: Likewise.
51254         * tests/test-stpncpy.c: Likewise.
51255         * tests/test-strcasestr.c: Likewise.
51256         * tests/test-striconv.c: Likewise.
51257         * tests/test-striconveh.c: Likewise.
51258         * tests/test-striconveha.c: Likewise.
51259         * tests/test-string.c: Likewise.
51260         * tests/test-sys_select.c: Likewise.
51261         * tests/test-sys_socket.c: Likewise.
51262         * tests/test-sys_stat.c: Likewise.
51263         * tests/test-sys_time.c: Likewise.
51264         * tests/test-sysexits.c: Likewise.
51265         * tests/test-time.c: Likewise.
51266         * tests/test-tls.c: Likewise.
51267         * tests/test-trunc.c: Likewise.
51268         * tests/test-truncf.c: Likewise.
51269         * tests/test-truncl.c: Likewise.
51270         * tests/test-unistd.c: Likewise.
51271         * tests/test-vasnprintf-posix.c: Likewise.
51272         * tests/test-vasnprintf-posix2.c: Likewise.
51273         * tests/test-vasnprintf.c: Likewise.
51274         * tests/test-vasprintf-posix.c: Likewise.
51275         * tests/test-vasprintf.c: Likewise.
51276         * tests/test-verify.c: Likewise.
51277         * tests/test-vfprintf-posix.c: Likewise.
51278         * tests/test-vprintf-posix.c: Likewise.
51279         * tests/test-vsnprintf-posix.c: Likewise.
51280         * tests/test-vsnprintf.c: Likewise.
51281         * tests/test-vsprintf-posix.c: Likewise.
51282         * tests/test-wchar.c: Likewise.
51283         * tests/test-wctype.c: Likewise.
51284         * tests/test-wcwidth.c: Likewise.
51285         * tests/test-xstrtol.c: Likewise.
51286         * tests/test-xvasprintf.c: Likewise.
51287         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
51288         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
51289         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
51290         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
51291         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
51292         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
51293         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
51294         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
51295         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
51296         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
51297         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
51298         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
51299         * tests/uniname/test-uninames.c: Likewise.
51300         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
51301         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
51302         * tests/unistdio/test-u16-printf1.h: Likewise.
51303         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
51304         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
51305         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
51306         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
51307         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
51308         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
51309         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
51310         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
51311         * tests/unistdio/test-u32-printf1.h: Likewise.
51312         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
51313         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
51314         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
51315         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
51316         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
51317         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
51318         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
51319         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
51320         * tests/unistdio/test-u8-printf1.h: Likewise.
51321         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
51322         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
51323         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
51324         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
51325         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
51326         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
51327         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
51328         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
51329         * tests/unistdio/test-ulc-printf1.h: Likewise.
51330         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
51331         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
51332         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
51333         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
51334         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
51335         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
51336         * tests/uniwidth/test-u16-strwidth.c: Likewise.
51337         * tests/uniwidth/test-u16-width.c: Likewise.
51338         * tests/uniwidth/test-u32-strwidth.c: Likewise.
51339         * tests/uniwidth/test-u32-width.c: Likewise.
51340         * tests/uniwidth/test-u8-strwidth.c: Likewise.
51341         * tests/uniwidth/test-u8-width.c: Likewise.
51342         * tests/uniwidth/test-uc_width.c: Likewise.
51343         * config/srclist-update: Likewise.
51344         (fixlicense): Update to GPLv3+.
51345
51346         Change copyright notice from LGPLv2.1+ to LGPLv3+.
51347         * tests/test-tsearch.c: Change copyright notice.
51348
51349         Change copyright notice from LGPLv2.0+ to LGPLv3+.
51350         * lib/c-strcaseeq.h: Change copyright notice.
51351         * lib/streq.h: Likewise.
51352         * lib/uniconv.h: Likewise.
51353         * lib/uniconv/u-conv-from-enc.h: Likewise.
51354         * lib/uniconv/u-conv-to-enc.h: Likewise.
51355         * lib/uniconv/u-strconv-from-enc.h: Likewise.
51356         * lib/uniconv/u-strconv-to-enc.h: Likewise.
51357         * lib/uniconv/u16-conv-from-enc.c: Likewise.
51358         * lib/uniconv/u16-conv-to-enc.c: Likewise.
51359         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
51360         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
51361         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
51362         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
51363         * lib/uniconv/u32-conv-from-enc.c: Likewise.
51364         * lib/uniconv/u32-conv-to-enc.c: Likewise.
51365         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
51366         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
51367         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
51368         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
51369         * lib/uniconv/u8-conv-from-enc.c: Likewise.
51370         * lib/uniconv/u8-conv-to-enc.c: Likewise.
51371         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
51372         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
51373         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
51374         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
51375         * lib/uniname.h: Likewise.
51376         * lib/uniname/uniname.c: Likewise.
51377         * lib/unistdio.h: Likewise.
51378         * lib/unistdio/u-asnprintf.h: Likewise.
51379         * lib/unistdio/u-asprintf.h: Likewise.
51380         * lib/unistdio/u-printf-args.c: Likewise.
51381         * lib/unistdio/u-printf-args.h: Likewise.
51382         * lib/unistdio/u-printf-parse.h: Likewise.
51383         * lib/unistdio/u-snprintf.h: Likewise.
51384         * lib/unistdio/u-sprintf.h: Likewise.
51385         * lib/unistdio/u-vasprintf.h: Likewise.
51386         * lib/unistdio/u-vsnprintf.h: Likewise.
51387         * lib/unistdio/u-vsprintf.h: Likewise.
51388         * lib/unistdio/u16-asnprintf.c: Likewise.
51389         * lib/unistdio/u16-asprintf.c: Likewise.
51390         * lib/unistdio/u16-printf-parse.c: Likewise.
51391         * lib/unistdio/u16-snprintf.c: Likewise.
51392         * lib/unistdio/u16-sprintf.c: Likewise.
51393         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
51394         * lib/unistdio/u16-u16-asprintf.c: Likewise.
51395         * lib/unistdio/u16-u16-snprintf.c: Likewise.
51396         * lib/unistdio/u16-u16-sprintf.c: Likewise.
51397         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
51398         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
51399         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
51400         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
51401         * lib/unistdio/u16-vasnprintf.c: Likewise.
51402         * lib/unistdio/u16-vasprintf.c: Likewise.
51403         * lib/unistdio/u16-vsnprintf.c: Likewise.
51404         * lib/unistdio/u16-vsprintf.c: Likewise.
51405         * lib/unistdio/u32-asnprintf.c: Likewise.
51406         * lib/unistdio/u32-asprintf.c: Likewise.
51407         * lib/unistdio/u32-printf-parse.c: Likewise.
51408         * lib/unistdio/u32-snprintf.c: Likewise.
51409         * lib/unistdio/u32-sprintf.c: Likewise.
51410         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
51411         * lib/unistdio/u32-u32-asprintf.c: Likewise.
51412         * lib/unistdio/u32-u32-snprintf.c: Likewise.
51413         * lib/unistdio/u32-u32-sprintf.c: Likewise.
51414         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
51415         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
51416         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
51417         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
51418         * lib/unistdio/u32-vasnprintf.c: Likewise.
51419         * lib/unistdio/u32-vasprintf.c: Likewise.
51420         * lib/unistdio/u32-vsnprintf.c: Likewise.
51421         * lib/unistdio/u32-vsprintf.c: Likewise.
51422         * lib/unistdio/u8-asnprintf.c: Likewise.
51423         * lib/unistdio/u8-asprintf.c: Likewise.
51424         * lib/unistdio/u8-printf-parse.c: Likewise.
51425         * lib/unistdio/u8-snprintf.c: Likewise.
51426         * lib/unistdio/u8-sprintf.c: Likewise.
51427         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
51428         * lib/unistdio/u8-u8-asprintf.c: Likewise.
51429         * lib/unistdio/u8-u8-snprintf.c: Likewise.
51430         * lib/unistdio/u8-u8-sprintf.c: Likewise.
51431         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
51432         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
51433         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
51434         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
51435         * lib/unistdio/u8-vasnprintf.c: Likewise.
51436         * lib/unistdio/u8-vasprintf.c: Likewise.
51437         * lib/unistdio/u8-vsnprintf.c: Likewise.
51438         * lib/unistdio/u8-vsprintf.c: Likewise.
51439         * lib/unistdio/ulc-asnprintf.c: Likewise.
51440         * lib/unistdio/ulc-asprintf.c: Likewise.
51441         * lib/unistdio/ulc-printf-parse.c: Likewise.
51442         * lib/unistdio/ulc-snprintf.c: Likewise.
51443         * lib/unistdio/ulc-sprintf.c: Likewise.
51444         * lib/unistdio/ulc-vasnprintf.c: Likewise.
51445         * lib/unistdio/ulc-vasprintf.c: Likewise.
51446         * lib/unistdio/ulc-vsnprintf.c: Likewise.
51447         * lib/unistdio/ulc-vsprintf.c: Likewise.
51448         * lib/unistr.h: Likewise.
51449         * lib/unistr/u-cpy-alloc.h: Likewise.
51450         * lib/unistr/u-cpy.h: Likewise.
51451         * lib/unistr/u-endswith.h: Likewise.
51452         * lib/unistr/u-move.h: Likewise.
51453         * lib/unistr/u-set.h: Likewise.
51454         * lib/unistr/u-startswith.h: Likewise.
51455         * lib/unistr/u-stpcpy.h: Likewise.
51456         * lib/unistr/u-stpncpy.h: Likewise.
51457         * lib/unistr/u-strcat.h: Likewise.
51458         * lib/unistr/u-strcpy.h: Likewise.
51459         * lib/unistr/u-strcspn.h: Likewise.
51460         * lib/unistr/u-strdup.h: Likewise.
51461         * lib/unistr/u-strlen.h: Likewise.
51462         * lib/unistr/u-strncat.h: Likewise.
51463         * lib/unistr/u-strncpy.h: Likewise.
51464         * lib/unistr/u-strnlen.h: Likewise.
51465         * lib/unistr/u-strpbrk.h: Likewise.
51466         * lib/unistr/u-strspn.h: Likewise.
51467         * lib/unistr/u-strstr.h: Likewise.
51468         * lib/unistr/u-strtok.h: Likewise.
51469         * lib/unistr/u16-check.c: Likewise.
51470         * lib/unistr/u16-chr.c: Likewise.
51471         * lib/unistr/u16-cmp.c: Likewise.
51472         * lib/unistr/u16-cpy-alloc.c: Likewise.
51473         * lib/unistr/u16-cpy.c: Likewise.
51474         * lib/unistr/u16-endswith.c: Likewise.
51475         * lib/unistr/u16-mblen.c: Likewise.
51476         * lib/unistr/u16-mbsnlen.c: Likewise.
51477         * lib/unistr/u16-mbtouc-aux.c: Likewise.
51478         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
51479         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
51480         * lib/unistr/u16-mbtouc.c: Likewise.
51481         * lib/unistr/u16-mbtoucr.c: Likewise.
51482         * lib/unistr/u16-move.c: Likewise.
51483         * lib/unistr/u16-next.c: Likewise.
51484         * lib/unistr/u16-prev.c: Likewise.
51485         * lib/unistr/u16-set.c: Likewise.
51486         * lib/unistr/u16-startswith.c: Likewise.
51487         * lib/unistr/u16-stpcpy.c: Likewise.
51488         * lib/unistr/u16-stpncpy.c: Likewise.
51489         * lib/unistr/u16-strcat.c: Likewise.
51490         * lib/unistr/u16-strchr.c: Likewise.
51491         * lib/unistr/u16-strcmp.c: Likewise.
51492         * lib/unistr/u16-strcpy.c: Likewise.
51493         * lib/unistr/u16-strcspn.c: Likewise.
51494         * lib/unistr/u16-strdup.c: Likewise.
51495         * lib/unistr/u16-strlen.c: Likewise.
51496         * lib/unistr/u16-strmblen.c: Likewise.
51497         * lib/unistr/u16-strmbtouc.c: Likewise.
51498         * lib/unistr/u16-strncat.c: Likewise.
51499         * lib/unistr/u16-strncmp.c: Likewise.
51500         * lib/unistr/u16-strncpy.c: Likewise.
51501         * lib/unistr/u16-strnlen.c: Likewise.
51502         * lib/unistr/u16-strpbrk.c: Likewise.
51503         * lib/unistr/u16-strrchr.c: Likewise.
51504         * lib/unistr/u16-strspn.c: Likewise.
51505         * lib/unistr/u16-strstr.c: Likewise.
51506         * lib/unistr/u16-strtok.c: Likewise.
51507         * lib/unistr/u16-to-u32.c: Likewise.
51508         * lib/unistr/u16-to-u8.c: Likewise.
51509         * lib/unistr/u16-uctomb-aux.c: Likewise.
51510         * lib/unistr/u16-uctomb.c: Likewise.
51511         * lib/unistr/u32-check.c: Likewise.
51512         * lib/unistr/u32-chr.c: Likewise.
51513         * lib/unistr/u32-cmp.c: Likewise.
51514         * lib/unistr/u32-cpy-alloc.c: Likewise.
51515         * lib/unistr/u32-cpy.c: Likewise.
51516         * lib/unistr/u32-endswith.c: Likewise.
51517         * lib/unistr/u32-mblen.c: Likewise.
51518         * lib/unistr/u32-mbsnlen.c: Likewise.
51519         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
51520         * lib/unistr/u32-mbtouc.c: Likewise.
51521         * lib/unistr/u32-mbtoucr.c: Likewise.
51522         * lib/unistr/u32-move.c: Likewise.
51523         * lib/unistr/u32-next.c: Likewise.
51524         * lib/unistr/u32-prev.c: Likewise.
51525         * lib/unistr/u32-set.c: Likewise.
51526         * lib/unistr/u32-startswith.c: Likewise.
51527         * lib/unistr/u32-stpcpy.c: Likewise.
51528         * lib/unistr/u32-stpncpy.c: Likewise.
51529         * lib/unistr/u32-strcat.c: Likewise.
51530         * lib/unistr/u32-strchr.c: Likewise.
51531         * lib/unistr/u32-strcmp.c: Likewise.
51532         * lib/unistr/u32-strcpy.c: Likewise.
51533         * lib/unistr/u32-strcspn.c: Likewise.
51534         * lib/unistr/u32-strdup.c: Likewise.
51535         * lib/unistr/u32-strlen.c: Likewise.
51536         * lib/unistr/u32-strmblen.c: Likewise.
51537         * lib/unistr/u32-strmbtouc.c: Likewise.
51538         * lib/unistr/u32-strncat.c: Likewise.
51539         * lib/unistr/u32-strncmp.c: Likewise.
51540         * lib/unistr/u32-strncpy.c: Likewise.
51541         * lib/unistr/u32-strnlen.c: Likewise.
51542         * lib/unistr/u32-strpbrk.c: Likewise.
51543         * lib/unistr/u32-strrchr.c: Likewise.
51544         * lib/unistr/u32-strspn.c: Likewise.
51545         * lib/unistr/u32-strstr.c: Likewise.
51546         * lib/unistr/u32-strtok.c: Likewise.
51547         * lib/unistr/u32-to-u16.c: Likewise.
51548         * lib/unistr/u32-to-u8.c: Likewise.
51549         * lib/unistr/u32-uctomb.c: Likewise.
51550         * lib/unistr/u8-check.c: Likewise.
51551         * lib/unistr/u8-chr.c: Likewise.
51552         * lib/unistr/u8-cmp.c: Likewise.
51553         * lib/unistr/u8-cpy-alloc.c: Likewise.
51554         * lib/unistr/u8-cpy.c: Likewise.
51555         * lib/unistr/u8-endswith.c: Likewise.
51556         * lib/unistr/u8-mblen.c: Likewise.
51557         * lib/unistr/u8-mbsnlen.c: Likewise.
51558         * lib/unistr/u8-mbtouc-aux.c: Likewise.
51559         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
51560         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
51561         * lib/unistr/u8-mbtouc.c: Likewise.
51562         * lib/unistr/u8-mbtoucr.c: Likewise.
51563         * lib/unistr/u8-move.c: Likewise.
51564         * lib/unistr/u8-next.c: Likewise.
51565         * lib/unistr/u8-prev.c: Likewise.
51566         * lib/unistr/u8-set.c: Likewise.
51567         * lib/unistr/u8-startswith.c: Likewise.
51568         * lib/unistr/u8-stpcpy.c: Likewise.
51569         * lib/unistr/u8-stpncpy.c: Likewise.
51570         * lib/unistr/u8-strcat.c: Likewise.
51571         * lib/unistr/u8-strchr.c: Likewise.
51572         * lib/unistr/u8-strcmp.c: Likewise.
51573         * lib/unistr/u8-strcpy.c: Likewise.
51574         * lib/unistr/u8-strcspn.c: Likewise.
51575         * lib/unistr/u8-strdup.c: Likewise.
51576         * lib/unistr/u8-strlen.c: Likewise.
51577         * lib/unistr/u8-strmblen.c: Likewise.
51578         * lib/unistr/u8-strmbtouc.c: Likewise.
51579         * lib/unistr/u8-strncat.c: Likewise.
51580         * lib/unistr/u8-strncmp.c: Likewise.
51581         * lib/unistr/u8-strncpy.c: Likewise.
51582         * lib/unistr/u8-strnlen.c: Likewise.
51583         * lib/unistr/u8-strpbrk.c: Likewise.
51584         * lib/unistr/u8-strrchr.c: Likewise.
51585         * lib/unistr/u8-strspn.c: Likewise.
51586         * lib/unistr/u8-strstr.c: Likewise.
51587         * lib/unistr/u8-strtok.c: Likewise.
51588         * lib/unistr/u8-to-u16.c: Likewise.
51589         * lib/unistr/u8-to-u32.c: Likewise.
51590         * lib/unistr/u8-uctomb-aux.c: Likewise.
51591         * lib/unistr/u8-uctomb.c: Likewise.
51592         * lib/unitypes.h: Likewise.
51593         * lib/uniwidth.h: Likewise.
51594         * lib/uniwidth/cjk.h: Likewise.
51595         * lib/uniwidth/u16-strwidth.c: Likewise.
51596         * lib/uniwidth/u16-width.c: Likewise.
51597         * lib/uniwidth/u32-strwidth.c: Likewise.
51598         * lib/uniwidth/u32-width.c: Likewise.
51599         * lib/uniwidth/u8-strwidth.c: Likewise.
51600         * lib/uniwidth/u8-width.c: Likewise.
51601         * lib/uniwidth/width.c: Likewise.
51602
51603 2007-10-07  Bruno Haible  <bruno@clisp.org>
51604
51605         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
51606         The file is still under LGPL (see modules/inttypes).
51607
51608 2007-10-06  Bruno Haible  <bruno@clisp.org>
51609
51610         * modules/trunc (Dependencies): Add 'extensions'.
51611         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
51612         Reported by Ben Pfaff <blp@gnu.org>.
51613
51614 2007-10-06  Bruno Haible  <bruno@clisp.org>
51615
51616         * modules/freopen-tests: New file.
51617         * tests/test-freopen.c: New file.
51618
51619         * modules/fopen-tests: New file.
51620         * tests/test-fopen.c: New file.
51621
51622         * modules/fopen: New file.
51623         * lib/fopen.c: New file.
51624         * m4/fopen.m4: New file.
51625         * modules/freopen: New file.
51626         * lib/freopen.c: New file.
51627         * m4/freopen.m4: New file.
51628         * lib/stdio.in.h (fopen, freopen): New declarations.
51629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
51630         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
51631         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
51632         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
51633         * doc/functions/fopen.texi: Mention the 'fopen' module.
51634         * doc/functions/freopen.texi: Mention the 'freopen' module.
51635
51636 2007-10-06  Bruno Haible  <bruno@clisp.org>
51637
51638         * modules/open-tests: New file.
51639         * tests/test-open.c: New file.
51640
51641         * modules/open: New file.
51642         * lib/open.c: New file.
51643         * m4/open.m4: New file.
51644         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
51645         lib/open.c does.
51646         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
51647         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
51648         macros.
51649         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
51650         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
51651         REPLACE_OPEN.
51652         * doc/functions/open.texi: Mention the 'open' module.
51653
51654 2007-10-04  Bruno Haible  <bruno@clisp.org>
51655
51656         * modules/ceill-tests: New file.
51657         * tests/test-ceill.c: New file.
51658
51659         * modules/ceill: New file.
51660         * lib/ceill.c: Replace entire file.
51661         * m4/ceill.m4: New file.
51662         * lib/math.in.h (ceill): Replace declaration.
51663         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
51664         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
51665         * doc/functions/ceill.texi: Mention the 'ceill' module.
51666         * modules/mathl (Files): Remove lib/ceill.c.
51667         (Depends-on): Add ceill.
51668
51669 2007-10-04  Bruno Haible  <bruno@clisp.org>
51670
51671         * modules/ceilf-tests: New file.
51672         * tests/test-ceilf.c: New file.
51673
51674         * modules/ceilf: New file.
51675         * lib/ceil.c: New file.
51676         * lib/ceilf.c: New file.
51677         * m4/ceilf.m4: New file.
51678         * lib/math.in.h (ceilf): New declaration.
51679         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
51680         HAVE_DECL_CEILF.
51681         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
51682         HAVE_DECL_CEILF.
51683         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
51684
51685 2007-10-04  Bruno Haible  <bruno@clisp.org>
51686
51687         * modules/floorl-tests: New file.
51688         * tests/test-floorl.c: New file.
51689
51690         * modules/floorl: New file.
51691         * lib/floorl.c: Replace entire file.
51692         * m4/floorl.m4: New file.
51693         * lib/math.in.h (floorl): Replace declaration.
51694         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
51695         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
51696         * doc/functions/floorl.texi: Mention the 'floorl' module.
51697         * modules/mathl (Files): Remove lib/floorl.c.
51698         (Depends-on): Add floorl.
51699
51700 2007-10-04  Bruno Haible  <bruno@clisp.org>
51701
51702         * modules/floorf-tests: New file.
51703         * tests/test-floorf.c: New file.
51704
51705         * modules/floorf: New file.
51706         * lib/floor.c: New file.
51707         * lib/floorf.c: New file.
51708         * m4/floorf.m4: New file.
51709         * lib/math.in.h (floorf): New declaration.
51710         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
51711         HAVE_DECL_FLOORF.
51712         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
51713         HAVE_DECL_FLOORF.
51714         * doc/functions/floorf.texi: Mention the 'floorf' module.
51715
51716 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
51717             Bruno Haible  <bruno@clisp.org>
51718
51719         Advertise for the Git server instead of the CVS server.
51720         * doc/gnulib-intro.texi (Steady Development): Mention the Git
51721         repository instead of the CVS one.
51722         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
51723         about all VCS systems generically.
51724         * doc/gnulib.texi (Introduction): Capitalize `Git'.
51725
51726 2007-10-04  Bruno Haible  <bruno@clisp.org>
51727
51728         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
51729         means.
51730         Reported by BenoĂ®t Sigoure <tsuna@lrde.epita.fr>.
51731
51732 2007-10-04  Bruno Haible  <bruno@clisp.org>
51733
51734         * modules/truncl-tests: New file.
51735         * tests/test-truncl.c: New file.
51736
51737         * modules/truncl: New file.
51738         * lib/truncl.c: New file.
51739         * m4/truncl.m4: New file.
51740         * lib/math.in.h (truncl): New declaration.
51741         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
51742         HAVE_DECL_TRUNCL.
51743         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
51744         HAVE_DECL_TRUNCL.
51745         * doc/functions/truncl.texi: Mention the 'truncl' module.
51746
51747 2007-10-04  Bruno Haible  <bruno@clisp.org>
51748
51749         * modules/truncf-tests: New file.
51750         * tests/test-truncf.c: New file.
51751
51752         * modules/truncf: New file.
51753         * lib/trunc.c: Make paramerizable through USE_* macros.
51754         * lib/truncf.c: New file.
51755         * m4/truncf.m4: New file.
51756         * lib/math.in.h (truncf): New declaration.
51757         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
51758         HAVE_DECL_TRUNCF.
51759         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
51760         HAVE_DECL_TRUNCF.
51761         * doc/functions/truncf.texi: Mention the 'truncf' module.
51762
51763 2007-10-03  Bruno Haible  <bruno@clisp.org>
51764
51765         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
51766         augmentation also for tests modules.
51767         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
51768         * modules/atexit-tests (Makefile.am): Likewise.
51769         * modules/binary-io-tests (Makefile.am): Likewise.
51770         * modules/c-strcase-tests (Makefile.am): Likewise.
51771         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
51772         * modules/canonicalize-tests (Makefile.am): Likewise.
51773         * modules/closein-tests (Makefile.am): Likewise.
51774         * modules/fprintf-posix-tests (Makefile.am): Likewise.
51775         * modules/freadahead-tests (Makefile.am): Likewise.
51776         * modules/fseek-tests (Makefile.am): Likewise.
51777         * modules/fseeko-tests (Makefile.am): Likewise.
51778         * modules/ftell-tests (Makefile.am): Likewise.
51779         * modules/ftello-tests (Makefile.am): Likewise.
51780         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
51781         * modules/isnanl-tests (Makefile.am): Likewise.
51782         * modules/lseek-tests (Makefile.am): Likewise.
51783         * modules/mbscasecmp-tests (Makefile.am): Likewise.
51784         * modules/mbscasestr-tests (Makefile.am): Likewise.
51785         * modules/mbschr-tests (Makefile.am): Likewise.
51786         * modules/mbscspn-tests (Makefile.am): Likewise.
51787         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
51788         * modules/mbspbrk-tests (Makefile.am): Likewise.
51789         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
51790         * modules/mbsrchr-tests (Makefile.am): Likewise.
51791         * modules/mbsspn-tests (Makefile.am): Likewise.
51792         * modules/mbsstr-tests (Makefile.am): Likewise.
51793         * modules/printf-posix-tests (Makefile.am): Likewise.
51794         * modules/snprintf-posix-tests (Makefile.am): Likewise.
51795         * modules/sprintf-posix-tests (Makefile.am): Likewise.
51796         * modules/tsearch-tests (Makefile.am): Likewise.
51797         * modules/uniname/uniname-tests (Makefile.am): Likewise.
51798         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
51799         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
51800         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
51801         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
51802         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
51803         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
51804         * modules/vprintf-posix-tests (Makefile.am): Likewise.
51805         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
51806         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
51807         * modules/xstrtoimax-tests (Makefile.am): Likewise.
51808         * modules/xstrtol-tests (Makefile.am): Likewise.
51809         * modules/xstrtoumax-tests (Makefile.am): Likewise.
51810         * modules/yesno-tests (Makefile.am): Likewise.
51811
51812 2007-10-03  Bruno Haible  <bruno@clisp.org>
51813
51814         * modules/trunc-tests: New file.
51815         * tests/test-trunc.c: New file.
51816
51817         * modules/trunc: New file.
51818         * lib/trunc.c: New file.
51819         * m4/trunc.m4: New file.
51820         * lib/math.in.h (trunc): New declaration.
51821         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
51822         HAVE_DECL_TRUNC.
51823         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
51824         HAVE_DECL_TRUNC.
51825         * doc/functions/trunc.texi: Mention the 'trunc' module.
51826
51827 2007-10-03  Bruno Haible  <bruno@clisp.org>
51828
51829         * tests/test-fpending.c: New file, mostly copied
51830         from coreutils/lib/t-fpending.c.
51831         * modules/fpending-tests: New file.
51832
51833 2007-10-03  Bruno Haible  <bruno@clisp.org>
51834
51835         Port the stdio extensions to QNX (untested).
51836         * lib/fseterr.c (fseterr): Add support for QNX.
51837         * lib/fbufmode.c (fbufmode): Likewise.
51838         * lib/freadable.c (freadable): Likewise.
51839         * lib/fwritable.c (fwritable): Likewise.
51840         * lib/freading.c (freading): Likewise.
51841         * lib/fwriting.c (fwriting): Likewise.
51842         * lib/freadahead.c (freadahed): Likewise.
51843         * lib/fpurge.c (fpurge): Likewise.
51844         * lib/fseeko.c (rpl_fseeko): Likewise.
51845
51846 2007-10-03  Bruno Haible  <bruno@clisp.org>
51847             Jim Meyering  <jim@meyering.net>
51848             Eric Blake  <ebb9@byu.net>
51849
51850         * doc/relocatable.texi: Use @command instead of @program.
51851
51852 2007-10-02  Jim Meyering  <jim@meyering.net>
51853
51854         Perform one more "_.h" -> ".in.h" substitution.
51855         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
51856         instead of unistd_.h here, too.
51857
51858 2007-10-01  Bruno Haible  <bruno@clisp.org>
51859
51860         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
51861         Needed for the alloca-opt module.
51862
51863 2007-09-30  Bruno Haible  <bruno@clisp.org>
51864
51865         * lib/alloca.in.h: Renamed from lib/alloca_.h.
51866         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
51867         alloca_.h.
51868         * lib/argz.in.h: Renamed from lib/argz_.h.
51869         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
51870         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
51871         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
51872         byteswap_.h.
51873         * lib/dirent.in.h: Renamed from lib/dirent_.h.
51874         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
51875         dirent_.h.
51876         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
51877         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
51878         fcntl_.h.
51879         * lib/float.in.h: Renamed from lib/float_.h.
51880         * modules/float (Files, Makefile.am): Use float.in.h instead of
51881         float_.h.
51882         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
51883         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
51884         fnmatch_.h.
51885         * lib/getopt.in.h: Renamed from lib/getopt_.h.
51886         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
51887         getopt_.h.
51888         * lib/glob.in.h: Renamed from lib/glob_.h.
51889         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
51890         * lib/iconv.in.h: Renamed from lib/iconv_.h.
51891         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
51892         iconv_.h.
51893         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
51894         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
51895         inttypes_.h.
51896         * lib/locale.in.h: Renamed from lib/locale_.h.
51897         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
51898         locale_.h.
51899         * lib/math.in.h: Renamed from lib/math_.h.
51900         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
51901         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
51902         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
51903         of netinet_in_.h. Add dependency.
51904         * lib/poll.in.h: Renamed from lib/poll_.h.
51905         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
51906         * lib/search.in.h: Renamed from lib/search_.h.
51907         * modules/search (Files, Makefile.am): Use search.in.h instead of
51908         search_.h.
51909         * lib/signal.in.h: Renamed from lib/signal_.h.
51910         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
51911         _signal.h.
51912         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
51913         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
51914         stdbool_.h.
51915         * lib/stdint.in.h: Renamed from lib/stdint_.h.
51916         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
51917         stdint_.h.
51918         * lib/stdio.in.h: Renamed from lib/stdio_.h.
51919         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
51920         stdio_.h.
51921         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
51922         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
51923         stdlib_.h.
51924         * lib/string.in.h: Renamed from lib/string_.h.
51925         * modules/string (Files, Makefile.am): Use string.in.h instead of
51926         string_.h.
51927         * doc/gnulib-tool.texi (Initial import): Update.
51928         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
51929         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
51930         of sys_select_.h. Add dependency.
51931         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
51932         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
51933         of sys_socket_.h.
51934         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
51935         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
51936         sys_stat_.h.
51937         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
51938         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
51939         sys_time_.h.
51940         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
51941         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
51942         sysexits_.h.
51943         * lib/time.in.h: Renamed from lib/time_.h.
51944         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
51945         * lib/unistd.in.h: Renamed from lib/unistd_.h.
51946         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
51947         unistd_.h.
51948         * lib/wchar.in.h: Renamed from lib/wchar_.h.
51949         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
51950         wchar_.h.
51951         * lib/wctype.in.h: Renamed from lib/wctype_.h.
51952         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
51953         wctype_.h.
51954         * build-aux/bootstrap (slurp): Update.
51955         * lib/.cppi-disable: Update.
51956
51957 2007-09-30  Bruno Haible  <bruno@clisp.org>
51958
51959         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
51960         Needed on BeOS.
51961
51962 2007-09-30  Bruno Haible  <bruno@clisp.org>
51963
51964         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
51965
51966 2007-09-29  Bruno Haible  <bruno@clisp.org>
51967
51968         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
51969
51970 2007-09-29  Bruno Haible  <bruno@clisp.org>
51971
51972         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
51973         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
51974         * build-aux/install-reloc: Compile also areadlink.c.
51975         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
51976
51977 2007-09-29  Bruno Haible  <bruno@clisp.org>
51978
51979         * gnulib-tool (func_emit_initmacro_done): Indentation.
51980
51981 2007-09-29  Bruno Haible  <bruno@clisp.org>
51982
51983         * README: Add CVS checkout update instructions.
51984         Info from Bob Proulx <bob@proulx.com>.
51985
51986 2007-09-28  Eric Blake  <ebb9@byu.net>
51987
51988         Provide move-if-change.
51989         * build-aux/move-if-change: New file, based on best practice
51990         rather than any canonical upstream location.
51991
51992 2007-09-28  Jim Meyering  <jim@meyering.net>
51993
51994         Fix canonicalize loop-detection corner case.
51995         Do not attempt to stat the symlink values stored via seen_triple.
51996         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
51997         on linux-2.6.18, (but not 2.6.22).
51998         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
51999         triple_compare.  The former compares dev,ino,filename, while the latter
52000         would actually stat dirname(filename) when dev and ino were equal.
52001         * lib/hash-triple.c: Install <string.h>.
52002         (STREQ): Define.
52003         (triple_compare_ino_str): New function.
52004         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
52005
52006 2007-09-28  Eric Blake  <ebb9@byu.net>
52007
52008         Enforce that AC_REPLACE_FUNCS files exist.
52009         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
52010         override check for typos.
52011
52012         Fix test-closein on Solaris 10.
52013         * tests/test-closein.c (main): Don't assume stdin can be inherited
52014         closed on all systems.
52015         * tests/test-closein.sh: Likewise.
52016         Reported by Piotr Tarnowski.
52017
52018 2007-09-28  Jim Meyering  <jim@meyering.net>
52019
52020         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
52021
52022 2007-09-27  Jim Meyering  <jim@meyering.net>
52023
52024         canonicalize: Avoid a false-positive cycle failure.
52025         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
52026         Sort.  Remove cycle-check.
52027         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
52028         not cycle-check.h.
52029         (seen_triple): New function.
52030         (canonicalize_filename_mode): Use it instead of cycle-check.
52031         * tests/test-canonicalize.c: Add a test for this bug.
52032         * tests/test-canonicalize.sh: Set up and run the test.
52033
52034         New module, file-set, from coreutils.
52035         * modules/file-set: Define it.
52036         * lib/file-set.c, lib/file-set.h: Implement.
52037
52038         New module, hash-triple, from coreutils.
52039         * modules/hash-triple: Define it.
52040         * lib/hash-triple.c, lib/hash-triple.h: Implement.
52041
52042 2007-09-25  Eric Blake  <ebb9@byu.net>
52043
52044         Fix strerror on Interix.
52045         * lib/string_.h (strerror): Declare replacement.
52046         * doc/functions/strerror.texi (strerror): Document the Interix
52047         shortcoming.
52048         * modules/string (Makefile.am): Support new hooks.
52049         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
52050         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
52051         gl_FUNC_STRERROR_SEPARATE.
52052         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
52053         * lib/strerror.c (rpl_strerror): Provide replacement.
52054         * modules/strerror (Depends-on): Add string.
52055         (configure.ac): Detect use of module.
52056         * tests/test-strerror.c: New file.
52057         * modules/strerror-tests: New test module.
52058         * modules/argp (Depends-on): Add strerror.
52059         * modules/error (Depends-on): Likewise.
52060         Reported by Martin Koeppe.
52061
52062 2007-09-24  Bruno Haible  <bruno@clisp.org>
52063
52064         * README: Update git instructions.
52065
52066 2007-09-24  Eric Blake  <ebb9@byu.net>
52067
52068         Revert fpending breakage from 2007-09-08.
52069         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
52070         __fpending.c.
52071
52072 2007-09-24  Jim Meyering  <jim@meyering.net>
52073
52074         filenamecat.c: Add a test.
52075         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
52076         showing how the function works when DIR is the empty string.
52077
52078 2007-09-21  Simon Josefsson  <simon@josefsson.org>
52079
52080         * tests/test-canonicalize.sh: Turn on executable bit.
52081
52082 2007-09-19  Eric Blake  <ebb9@byu.net>
52083
52084         * README: Update CVS instructions.
52085
52086 2007-09-18  Bruno Haible  <bruno@clisp.org>
52087
52088         * modules/areadlink: New file.
52089         * lib/areadlink.h (areadlink): New declaration.
52090         * lib/areadlink.c: New file, based on lib/xreadlink.c.
52091
52092 2007-09-17  Jim Meyering  <jim@meyering.net>
52093
52094         * lib/savewd.c (ESTALE) [!defined]: Define.
52095         Reported to be required on Interix by Martin Koeppe.
52096
52097 2007-09-17  Bruno Haible  <bruno@clisp.org>
52098
52099         * gnulib-tool (func_version): Use $version.
52100
52101 2007-09-16  Bruno Haible  <bruno@clisp.org>
52102
52103         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
52104         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
52105         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
52106         Reported by Greg Schafer <gschafer@zip.com.au>.
52107
52108 2007-09-15  Bruno Haible  <bruno@clisp.org>
52109
52110         * gnulib-tool (sed): Try a little harder to make bash understand the
52111         alias.
52112         Reported by Bruce Korb <bruce.korb@gmail.com>.
52113
52114 2007-09-13  Eric Blake  <ebb9@byu.net>
52115
52116         * ChangeLog: Remove conflict markers.
52117
52118 2007-09-13  Simon Josefsson  <simon@josefsson.org>
52119
52120         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
52121         Reported by Bruno Haible <bruno@clisp.org>.
52122
52123 2007-09-12  Bruno Haible  <bruno@clisp.org>
52124
52125         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
52126         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
52127         is not defined.
52128
52129 2007-09-12  Eric Blake  <ebb9@byu.net>
52130
52131         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
52132         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
52133         Autoconf definition.
52134         * modules/euidaccess (Depends-on): Add extensions, for
52135         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
52136         * modules/fnmatch (Depends-on): Likewise.
52137         * modules/getaddrinfo (Depends-on): Likewise.
52138         * modules/getdelim (Depends-on): Likewise.
52139         * modules/getline (Depends-on): Likewise.
52140         * modules/getsubopt (Depends-on): Likewise.
52141         * modules/gettext (Depends-on): Likewise.
52142         * modules/group-member (Depends-on): Likewise.
52143         * modules/mbchar (Depends-on): Likewise.
52144         * modules/memmem (Depends-on): Likewise.
52145         * modules/mempcpy (Depends-on): Likewise.
52146         * modules/memrchr (Depends-on): Likewise.
52147         * modules/pagealign_alloc (Depends-on): Likewise.
52148         * modules/readutmp (Depends-on): Likewise.
52149         * modules/stpcpy (Depends-on): Likewise.
52150         * modules/stpncpy (Depends-on): Likewise.
52151         * modules/strchrnul (Depends-on): Likewise.
52152         * modules/strndup (Depends-on): Likewise.
52153         * modules/strsep (Depends-on): Likewise.
52154         * modules/strverscmp (Depends-on): Likewise.
52155         * modules/vasprintf (Depends-on): Likewise.
52156         * modules/wcwidth (Depends-on): Likewise.
52157         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
52158         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
52159         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
52160         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
52161         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52162         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
52163         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
52164         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
52165         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
52166         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
52167         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52168         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
52169         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
52170         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
52171         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
52172         * m4/readutmp.m4 (gl_READUTMP): Likewise.
52173         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
52174         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
52175         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
52176         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
52177         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52178         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
52179         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
52180         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
52181         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
52182         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
52183         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
52184         so that lock.m4 can be used in gettext without extensions module.
52185
52186 2007-09-11  Bruno Haible  <bruno@clisp.org>
52187
52188         * m4/isc-posix.m4: Remove file.
52189         Suggested by Eric Blake.
52190
52191 2007-09-11  Eric Blake  <ebb9@byu.net>
52192
52193         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
52194
52195 2007-09-10  Bruno Haible  <bruno@clisp.org>
52196
52197         * posix-modules: Fix typo in error message.
52198         Reported by Matt <mkraai@beckman.com>.
52199
52200 2007-09-09  Bruno Haible  <bruno@clisp.org>
52201
52202         * doc/functions/getdelim.texi: Update list of platforms lacking the
52203         function.
52204         * doc/functions/getline.texi: Likewise.
52205
52206 2007-09-09  Jim Meyering  <jim@meyering.net>
52207
52208         * lib/hash.c (hash_initialize): Detect calloc failure.
52209         Reported by Bruno Haible.
52210
52211 2007-09-09  Bruno Haible  <bruno@clisp.org>
52212
52213         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
52214         malloc or realloc fails.
52215
52216 2007-09-09  Bruno Haible  <bruno@clisp.org>
52217
52218         * modules/getcwd (Depends-on): Add malloc-posix.
52219         * modules/glob (Depends-on): Likewise.
52220         * modules/putenv (Depends-on): Likewise.
52221         * modules/strdup (Depends-on): Likewise.
52222         * modules/getdelim (Depends-on): Add realloc-posix.
52223         * modules/read-file (Depends-on): Likewise.
52224
52225 2007-09-09  Bruno Haible  <bruno@clisp.org>
52226
52227         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
52228         (gl_FUNC_MALLOC_POSIX): Require it.
52229         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
52230         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
52231         * modules/realloc (Files): Add m4/malloc.m4.
52232         * modules/calloc (Files): Likewise.
52233
52234 2007-09-09  Bruno Haible  <bruno@clisp.org>
52235
52236         * modules/malloc-posix: New file.
52237         * modules/malloc (Depends-on): Add malloc-posix.
52238         * lib/malloc.c: Include errno.h.
52239         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
52240         and a POSIX-compatible malloc into a single function. Set ENOMEM
52241         when returning NULL.
52242         * m4/malloc.m4: New file.
52243         * doc/functions/malloc.texi: Mention the malloc-posix module.
52244         * lib/stdlib_.h (malloc): New declaration.
52245         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
52246         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
52247         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
52248         and HAVE_MALLOC_POSIX.
52249
52250 2007-09-09  Bruno Haible  <bruno@clisp.org>
52251
52252         * modules/realloc-posix: New file.
52253         * modules/realloc (Depends-on): Add realloc-posix.
52254         * lib/realloc.c: Include errno.h.
52255         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
52256         and a POSIX-compatible realloc into a single function. Set ENOMEM
52257         when returning NULL.
52258         * m4/realloc.m4: New file.
52259         * doc/functions/realloc.texi: Mention the realloc-posix module.
52260         * lib/stdlib_.h (realloc): New declaration.
52261         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
52262         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
52263         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
52264         and HAVE_REALLOC_POSIX.
52265
52266 2007-09-09  Bruno Haible  <bruno@clisp.org>
52267
52268         * modules/calloc-posix: New file.
52269         * modules/calloc (Depends-on): Add calloc-posix.
52270         * lib/calloc.c: Include errno.h.
52271         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
52272         and a POSIX-compatible calloc into a single function. Set ENOMEM
52273         when returning NULL.
52274         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
52275         * doc/functions/calloc.texi: Mention the calloc-posix module.
52276         * lib/stdlib_.h (calloc): New declaration.
52277         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
52278         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
52279         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
52280         and HAVE_CALLOC_POSIX.
52281
52282 2007-09-09  Bruno Haible  <bruno@clisp.org>
52283
52284         Allow for modules to show an arbitrary notice.
52285         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
52286         * gnulib-tool: New option --extract-notice.
52287         (func_usage): Document it.
52288         (sed_extract_prog): Update.
52289         (func_get_notice): New function.
52290         (func_modules_notice): New function.
52291         (func_import, func_create_testdir): Invoke it.
52292         Suggested by Jim Meyering.
52293
52294 2007-09-09  Bruno Haible  <bruno@clisp.org>
52295
52296         * gnulib-tool: New options --verbose, --quiet.
52297         (func_usage): Document them.
52298         (verbose): New variable.
52299         (func_execute_command): New function.
52300         (func_import): Don't show the module list and the file list if
52301         $verbose < 0.
52302         (func_create_testdir): Likewise. Use func_execute_command.
52303         (func_create_megatestdir): Use func_execute_command.
52304
52305 2007-09-08  Bruno Haible  <bruno@clisp.org>
52306
52307         * gnulib-tool (func_import): Prefer rsync over wget when available,
52308         for fetching the PO files.
52309
52310 2007-09-08  Bruno Haible  <bruno@clisp.org>
52311
52312         * posix-modules: New file. Portions copied from gnulib-tool.
52313         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
52314
52315 2007-09-08  Jim Meyering  <jim@meyering.net>
52316
52317         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
52318         * lib/fpending.h: Rename from __fpending.h.
52319         * lib/fpending.c: Rename from __fpending.c.
52320         Include "fpending.h", not "__fpending.h".
52321         * lib/__fpending.h, lib/__fpending.c: Remove files.
52322         * modules/fpending (Files): Reflect new file names.
52323         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
52324
52325 2007-09-08  Bruno Haible  <bruno@clisp.org>
52326
52327         * m4/inttypes-h.m4: Remove stub file.
52328
52329 2007-09-07  Simon Josefsson  <simon@josefsson.org>
52330
52331         * doc/headers/stdint.texi: Discuss #include_next issue.
52332
52333 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
52334
52335         * build-aux/bootstrap: Remove obsolete comment about wget --help.
52336
52337 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52338
52339         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
52340         in variable name.
52341
52342 2007-09-03  Jim Meyering  <jim@meyering.net>
52343
52344         New module: git-version-gen.
52345         * modules/git-version-gen: New file.
52346
52347         Import changes from coreutils for bootstrap script.
52348
52349         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
52350
52351         bootstrap: uses rsync to download the .po files
52352         * build-aux/bootstrap (po_download_command_format): New global.
52353         (download_po_files): Use rsync.
52354         (update_po_files): Don't remove .po files after download,
52355         so future rsync runs can take advantage of the copies.
52356
52357         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
52358
52359         Solve the unnecessary-.po-file-regeneration problem once and for all.
52360         * build-aux/bootstrap (download_po_files): New function, renamed from
52361         get_translations.  Now, downloads, but doesn't update LINGUAS.
52362         (update_po_files): New function.
52363
52364         bootstrap: Ignore more.
52365         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
52366         uniwidth to e.g., lib/.gitignore.
52367         (slurp): Handle the sys_stat_.h -> sys mapping, too.
52368
52369         * build-aux/bootstrap: New setting: vc_ignore.
52370         (insert_sorted_if_absent): Create $file if absent.
52371         Adapt to new, possibly empty, list: $vc_ignore.
52372
52373         bootstrap: generate more ignorable names
52374         * build-aux/bootstrap (slurp): When generating ignorable names,
52375         also map .sin to .sed, .gperf to .c, and .y to .c.
52376
52377 2007-09-03  Jim Meyering  <jim@meyering.net>
52378
52379         * build-aux/git-version-gen: New file, from coreutils.  For details, see
52380         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
52381
52382 2007-09-02  Bruno Haible  <bruno@clisp.org>
52383
52384         Fix mis-recognition of 'mcs' on QNX 6.
52385         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
52386         output contains the string "Mono".
52387         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
52388         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
52389
52390 2007-09-01  Bruno Haible  <bruno@clisp.org>
52391
52392         Fix collision between uniwidth/* and linebreak modules.
52393         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
52394         u32_width): Remove declarations.
52395         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
52396         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
52397         streq3, streq2, streq1, streq0): Remove functions.
52398         (STREQ): Remove macro.
52399         (is_cjk_encoding): Remove function.
52400         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
52401         (uc_width, u8_width, u16_width, u32_width): Remove functions.
52402         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
52403         * NEWS: Document the change.
52404
52405 2007-09-01  Bruno Haible  <bruno@clisp.org>
52406
52407         * lib/streq.h: Add double-inclusion guard.
52408
52409 2007-09-01  Karl Berry  <karl@gnu.org>
52410
52411         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
52412
52413 2007-08-28  Jim Meyering  <jim@meyering.net>
52414
52415         Rename mreadlink_with_size to areadlink_with_size.
52416         * NEWS: Document the change.
52417         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
52418         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
52419         * lib/mreadlink.h: Rename this to...
52420         * lib/areadlink.h: ...this.
52421         * modules/mreadlink-with-size: Rename this to...
52422         * modules/areadlink-with-size: ...this.
52423         * lib/canonicalize.c: Reflect the renaming.
52424         * modules/canonicalize: Likewise.
52425
52426 2007-08-26  Bruno Haible  <bruno@clisp.org>
52427
52428         * gnulib-tool (func_import): When deciding which files to remove,
52429         consider also dangling symbolic links.
52430         Reported by Eric Blake.
52431
52432 2007-08-26  Bruno Haible  <bruno@clisp.org>
52433
52434         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
52435
52436 2007-08-23  Simon Josefsson  <simon@josefsson.org>
52437
52438         * lib/readline.c: Don't include getline.h, the prototype is now
52439         found in stdio.h.
52440
52441 2007-08-23  Jim Meyering  <jim@meyering.net>
52442
52443         Getdelim touchup.
52444         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
52445         around the funlockfile call, since funlockfile never sets errno.
52446         Don't set errno upon failed realloc.
52447
52448 2007-08-22  Eric Blake  <ebb9@byu.net>
52449
52450         Getline touchups.
52451         * lib/getdelim.c (getdelim): Revert regression that required *n to
52452         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
52453         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
52454         getdelim, rather than whether implementation is missing.
52455         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
52456         * lib/stdio_.h (getline): Also declare if replacement is
52457         required.
52458         * doc/functions/getdelim.texi: New file.
52459         * doc/functions/getline.texi: Likewise.
52460         * doc/gnulib.texi (Function Substitutes): Add new files.
52461         Reported by Bruno Haible.
52462
52463 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
52464
52465         * users.txt: Add Guile.
52466
52467 2007-08-22  Eric Blake  <ebb9@byu.net>
52468
52469         * tests/test-getdelim.c (main): Use remove, not unlink.
52470         * tests/test-getline.c (main): Likewise.
52471
52472         Move getline and getdelim into stdio.h, per POSIX 200x.
52473         * modules/getline (Files): Remove getline.h.
52474         (Depends-on): Add stdio.
52475         (configure.ac): Add module indicator.
52476         * modules/getdelim (Files): Remove getdelim.h.
52477         (Depends-on): Add stdio.
52478         (configure.ac): Add module indicator.
52479         * modules/stdio (Makefile.am): Work with new indicators.
52480         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
52481         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
52482         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
52483         * lib/getdelim.h: Delete.
52484         * lib/getline.h: Delete.
52485         * lib/stdio_.h (getdelim, getline): Declare.
52486         * modules/getdelim-tests: New module.
52487         * modules/getline-tests: Likewise.
52488         * tests/test-getdelim.c: New file.
52489         * tests/test-getline.c: Likewise.
52490         * NEWS: Document the change.
52491         * lib/getline.c: Update choice of header.
52492         * lib/csharpcomp.c: Likewise.
52493         * lib/getpass.c: Likewise.
52494         * lib/javacomp.c: Likewise.
52495         * lib/javaversion.c: Likewise.
52496         * lib/yesno.c: Likewise.
52497         * lib/getdelim.c: Likewise.
52498         (getdelim): Set errno on failure, and avoid memory leak.
52499
52500 2007-08-19  Bruno Haible  <bruno@clisp.org>
52501
52502         * modules/closein (Depends-on): Add freadahead.
52503         * lib/closein.c: Include freadahead.h.
52504         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
52505         is zero.
52506
52507 2007-08-19  Bruno Haible  <bruno@clisp.org>
52508
52509         * modules/freadahead-tests: New file.
52510         * tests/test-freadahead.sh: New file.
52511         * tests/test-freadahead.c: New file.
52512
52513         * modules/freadahead: New file.
52514         * lib/freadahead.h: New file.
52515         * lib/freadahead.c: New file.
52516         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
52517         fbufmode, fpurge, freadable, fwritable.
52518
52519 2007-08-19  Eric Blake  <ebb9@byu.net>
52520
52521         Test yesno in combination with closein.
52522         * lib/yesno.c (yesno): Document use of stdin.
52523         * modules/yesno-tests (Files): New module.
52524         * tests/test-yesno.c (main): New file.
52525         * tests/test-yesno.sh: Likewise.
52526
52527 2007-08-19  Bruno Haible  <bruno@clisp.org>
52528
52529         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
52530         * lib/fseeko.c (rpl_fseeko): Likewise.
52531         * lib/fseterr.c (fseterr): Likewise.
52532
52533 2007-08-19  Bruno Haible  <bruno@clisp.org>
52534
52535         * tests/test-lseek.c (main): Disable a test for BeOS.
52536         * doc/functions/lseek.texi: Document the BeOS bug.
52537
52538 2007-08-19  Bruno Haible  <bruno@clisp.org>
52539             Eric Blake  <ebb9@byu.net>
52540
52541         * lib/lseek.c: Include <sys/stat.h>.
52542         (rpl_lseek): Add workaround code also for Unix platforms.
52543         Needed for BeOS.
52544         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
52545         * doc/functions/lseek.texi: Document BeOS definiency.
52546
52547 2007-08-18  Bruno Haible  <bruno@clisp.org>
52548
52549         * modules/fstrcmp-tests: New file.
52550         * tests/test-fstrcmp.c: New file.
52551
52552 2007-08-18  Bruno Haible  <bruno@clisp.org>
52553
52554         * modules/fstrcmp: New file, from GNU gettext with modifications.
52555         * lib/fstrcmp.h: New file, from GNU gettext.
52556         * lib/fstrcmp.c: New file, from GNU gettext.
52557         * MODULES.html.sh (String handling): Add fstrcmp.
52558
52559 2007-08-18  Bruno Haible  <bruno@clisp.org>
52560
52561         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
52562         'bool'.
52563         (diag, compareseq): Remove const from the ctxt argument.
52564         (USE_HEURISTIC): Undefine at the end.
52565
52566 2007-08-18  Jim Meyering  <jim@meyering.net>
52567
52568         New file: lib/idcache.h
52569         * NEWS: Mention the addition.
52570         * modules/idcache (Files): Add lib/idcache.h
52571         * lib/idcache.c: Include "idcache.h".
52572         Don't include <sys/types.h>.
52573         Add a FIXME comment.
52574         Move file-scoped "static" declarations to the top.
52575         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
52576
52577 2007-08-17  Bruno Haible  <bruno@clisp.org>
52578         and Paul Eggert  <eggert@cs.ucla.edu>
52579
52580         * MODULES.html.sh: Add diffseq.
52581         * modules/diffseq: New file.
52582         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
52583         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
52584
52585 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52586
52587         Import changes from coreutils for bootstrap script.
52588
52589         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
52590
52591         * build-aux/bootstrap (slurp): Work even in environments where
52592         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
52593         current code does not slurp files whose names start with ".", and
52594         this looks like it might be a troublesome area.
52595
52596         2007-07-11  Jim Meyering  <jim@meyering.net>
52597
52598         If there's a GPL vN copyright comment, require that N == 3.
52599
52600         2007-07-08  Jim Meyering  <jim@meyering.net>
52601
52602         Run the coreutils-specific code only if tests/Makefile.am.in exists.
52603         * build-aux/bootstrap (mam_template): Move definition out of loop.
52604
52605         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
52606
52607         * build-aux/bootstrap (symlink_to_dir): Rename function from
52608         symlink_to_gnulib.  Add a directory parameter.  Update all
52609         callers.
52610         (cp_mark_as_generated): Also check for -- and link to -- files in
52611         gl/.
52612
52613         2007-07-08  Jim Meyering  <jim@meyering.net>
52614
52615         Adapt to deeper hierarchy in gnulib.
52616         * build-aux/bootstrap (symlink_to_dir): If the destination
52617         directory doesn't exist, create it. This is required at least for
52618         "lib/uniwidth/cjk.h".
52619
52620         2007-05-15  Jim Meyering  <jim@meyering.net>
52621
52622         * build-aux/bootstrap: Now that generated Makefile.am files
52623         are no longer under version control, they must be created at
52624         bootstrap time.
52625
52626 2007-08-14  Ben Pfaff  <blp@gnu.org>
52627
52628         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
52629
52630 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
52631
52632         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
52633         given the changes below.
52634         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
52635         even on hosts that have padding bits beyond the supported 64.
52636
52637 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
52638
52639         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
52640         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
52641         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
52642         depends on it.
52643         (xstrtol_error): Remove.
52644         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
52645         but with a different signature.
52646         (ATTRIBUTE_NORETURN, __attribute__): New macros.
52647         * lib/xstrtol-error.c: Include exitfail.h.
52648         (xstrtol_fatal): New function, with a different signature from the
52649         old xstrtol_error, so that the caller need not worry about passing
52650         in an exit status, or about storage management of the option argument.
52651         (xstrtol_error): Now a static function.  Redo signature to
52652         implement xstrtol_fatal.  Output the correct number of hyphens in
52653         front of the option so that the caller need not worry about
52654         storage management.
52655         (N_): New macro.
52656         (_): Remove; not used now.
52657         * modules/xstrtol: Depend on getopt.
52658         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
52659         of old STRTOL_FATAL_ERROR macro.
52660         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
52661         of test program.
52662         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
52663         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
52664
52665 2007-08-08  Eric Blake  <ebb9@byu.net>
52666
52667         * lib/xstrtol-error.c: Add missing include.
52668
52669         Move xstrtol messages into gnulib domain, when --pobase is used.
52670         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
52671         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
52672         * modules/xstrtol (Files): Distribute new file.
52673         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
52674         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
52675         * tests/test-xstrtol.c: ...into new file.
52676         * tests/test-xstrtoul.c: Also test xstrtoul.
52677         * tests/test-xstrtoimax.c: Also test xstrtoimax.
52678         * tests/test-xstrtoumax.c: Also test xstrtoumax.
52679         * tests/test-xstrtol.sh: Drive the tests.
52680         * tests/test-xstrtoimax.sh: Likewise.
52681         * tests/test-xstrtoumax.sh: Likewise.
52682         * modules/xstrtol-tests: New module.
52683         * modules/xstrtoimax-tests: Likewise.
52684         * modules/xstrtoumax-tests: Likewise.
52685
52686 2007-08-08  Jim Meyering  <jim@meyering.net>
52687
52688         New function: mfile_name_concat.
52689         * lib/filenamecat.c (mfile_name_concat): New function, just like
52690         file_name_concat, but return NULL upon failure rather than exiting
52691         with a diagnostic.
52692         * lib/filenamecat.h: Declare it.
52693
52694 2007-08-07  Bruno Haible  <bruno@clisp.org>
52695
52696         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
52697         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
52698         warning from gcc.
52699         Reported by Eric Blake.
52700
52701 2007-08-07  Simon Josefsson  <simon@josefsson.org>
52702
52703         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
52704         * modules/crypto/arcfour (License): Likewise.
52705         * modules/crypto/des-tests (License): Likewise.
52706         * modules/crypto/gc-arctwo-tests (License): Likewise.
52707         * modules/crypto/gc-des-tests (License): Likewise.
52708         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
52709         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
52710         * modules/crypto/gc-md2-tests (License): Likewise.
52711         * modules/crypto/gc-md4-tests (License): Likewise.
52712         * modules/crypto/gc-md5-tests (License): Likewise.
52713         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
52714         * modules/crypto/gc-rijndael-tests (License): Likewise.
52715         * modules/crypto/gc-sha1-tests (License): Likewise.
52716         * modules/crypto/gc-tests (License): Likewise.
52717         * modules/crypto/hmac-md5 (License): Likewise.
52718         * modules/crypto/hmac-sha1 (License): Likewise.
52719         * modules/crypto/md2-tests (License): Likewise.
52720         * modules/crypto/md4-tests (License): Likewise.
52721         * modules/crypto/md5 (License): Likewise.
52722         * modules/crypto/rijndael (License): Likewise.
52723         * modules/crypto/sha1 (License): Likewise.
52724         * modules/memxor (License): Likewise.
52725
52726 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52727         and Bruno Haible  <bruno@clisp.org>
52728
52729         * NEWS: Describe interface changes to human, xstrtol.
52730         * lib/human.h: Include <xstrtol.h>.
52731         (human_options): Return enum strtol_error, not int.  Remove
52732         bool arg; take int * instead.
52733         * lib/human.c: Don't include "gettext.h".
52734         (_): Remove; no longer used.
52735         Don't include <xstrtol.h>, since human.h does it.
52736         (human_options): Adjust to abovementioned interface changes.
52737         Do not report error to stderr; that's now the caller's
52738         responsibility.
52739         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
52740         interface change.
52741         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
52742         Str, Argument_type_string.  All uses changed.  Put " argument"
52743         in diagnostics to make them clearer.  Change wording of suffix
52744         message for clarity.
52745         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
52746         Argument_type_string.
52747         (STRTOL_FATAL_WARN): Remove; no longer used.
52748         * modules/human (Depends-on): Remove gettext-h.
52749
52750 2007-08-06  Simon Josefsson  <simon@josefsson.org>
52751
52752         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
52753
52754 2007-07-31  Bruno Haible  <bruno@clisp.org>
52755
52756         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
52757         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
52758         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
52759
52760 2007-07-31  Bruno Haible  <bruno@clisp.org>
52761
52762         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
52763         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
52764
52765 2007-07-30  Bruno Haible  <bruno@clisp.org>
52766
52767         * modules/base64 (License): Use the synonymous term "LGPLv2+".
52768         * modules/c-ctype (License): Likewise.
52769         * modules/c-strcase (License): Likewise.
52770         * modules/check-version (License): Likewise.
52771         * modules/iconv (License): Likewise.
52772         * modules/iconv_open (License): Likewise.
52773         * modules/read-file (License): Likewise.
52774         * modules/striconv (License): Likewise.
52775         * modules/strverscmp (License): Likewise.
52776         * modules/vasprintf (License): Likewise.
52777         * modules/crypto/des (License): Likewise.
52778         * modules/crypto/gc (License): Likewise.
52779         * modules/crypto/gc-arcfour (License): Likewise.
52780         * modules/crypto/gc-arctwo (License): Likewise.
52781         * modules/crypto/gc-des (License): Likewise.
52782         * modules/crypto/gc-hmac-md5 (License): Likewise.
52783         * modules/crypto/gc-hmac-sha1 (License): Likewise.
52784         * modules/crypto/gc-md2 (License): Likewise.
52785         * modules/crypto/gc-md4 (License): Likewise.
52786         * modules/crypto/gc-md5 (License): Likewise.
52787         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
52788         * modules/crypto/gc-random (License): Likewise.
52789         * modules/crypto/gc-rijndael (License): Likewise.
52790         * modules/crypto/gc-sha1 (License): Likewise.
52791         * modules/crypto/md2 (License): Likewise.
52792         * modules/crypto/md4 (License): Likewise.
52793
52794 2007-07-30  Jim Meyering  <jim@meyering.net>
52795
52796         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
52797         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
52798         it has valid stat data.  This bug would cause du not to count the
52799         sizes of inaccessible directories.
52800         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
52801         in <http://bugzilla.redhat.com/250077>.
52802
52803 2007-07-25  Peter O'Gorman  <peter@pogma.com>
52804             Bruno Haible  <bruno@clisp.org>
52805
52806         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
52807         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
52808         #include_next, gives a diagnostic about it, but reports no error in
52809         the exit code.
52810         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
52811
52812 2007-07-24  Ben Pfaff  <blp@gnu.org>
52813
52814         Improve name: "count-one-bits" is better than "popcount".
52815         * MODULES.html.sh: Update name.
52816         * lib/popcount.h: Renamed lib/count-one-bits.h.
52817         (popcount): Renamed count_one_bits.
52818         (popcountl): Renamed count_one_bits_l.
52819         (popcountll): Renamed count_one_bits_ll.
52820         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
52821         * modules/popcount: Renamed module/count-one-bits.
52822         * modules/popcount-tests: Renamed module/count-one-bits-tests.
52823         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
52824
52825 2007-07-23  Ben Pfaff  <blp@gnu.org>
52826
52827         * lib/popcount.h (popcount32): Reduce size of constants, to allow
52828         better code generation, and add U to large constants to avoid
52829         warnings, in non-GCC case.
52830         Suggested by Bruno Haible.
52831
52832 2007-07-23  Ben Pfaff  <blp@gnu.org>
52833
52834         * lib/popcount.h: Use verify_true instead of if...abort.
52835         * modules/popcount: Depend on verify module.
52836         Suggested by Jim Meyering.
52837
52838 2007-07-23  Bruno Haible  <bruno@clisp.org>
52839
52840         * gnulib-tool (func_import): Create a .cvsignore file also when the
52841         directory is not yet in CVS but the toplevel directory is. When
52842         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
52843         Reported by Karl Berry.
52844
52845 2007-07-22  Ben Pfaff  <blp@gnu.org>
52846
52847         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
52848         case.
52849         Suggested by Eric Blake.
52850
52851 2007-07-22  Ben Pfaff  <blp@gnu.org>
52852
52853         New module: popcount.
52854         * MODULES.html.sh: Add popcount.
52855         * modules/popcount: New file.
52856         * modules/popcount-tests: New file.
52857         * tests/test-popcount.c: New file.
52858         * lib/popcount.h: New file.
52859         * m4/popcount.m4: New file.
52860
52861 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
52862
52863         * build-aux/announce-gen: Update to GPLv3.
52864
52865         * build-aux/config.guess: Update from config.
52866
52867 2007-07-21  Bruno Haible  <bruno@clisp.org>
52868
52869         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
52870         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
52871
52872 2007-07-20  Jim Meyering  <jim@meyering.net>
52873
52874         * check-module: Diagnose a self-dependency.
52875
52876 2007-07-19  Bruno Haible  <bruno@clisp.org>
52877
52878         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
52879         empty.
52880         Reported by Eric Blake.
52881
52882 2007-07-18  Bruno Haible  <bruno@clisp.org>
52883
52884         * gnulib-tool: New options --po-base, --po-domain.
52885         (func_usage): Document them.
52886         (pobase, po_domain): New variables.
52887         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
52888         DEFAULT_TEXT_DOMAIN.
52889         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
52890         (func_import): Consider pobase and po_domain. Create a po/ directory.
52891         (func_create_testdir): Set pobase and po_domain to empty.
52892         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
52893         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
52894
52895 2007-07-18  Bruno Haible  <bruno@clisp.org>
52896
52897         * gnulib-tool (func_get_automake_snippet): Synthesize also an
52898         EXTRA_DIST augmentation for files in build-aux/.
52899
52900 2007-07-16  Bruno Haible  <bruno@clisp.org>
52901
52902         * modules/lseek (License): Use the synonymous term "LGPLv2+".
52903         * modules/getdelim (License): Likewise.
52904
52905 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52906
52907         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
52908         * modules/d-type (License): Likewise.
52909         * modules/extensions (License): Likewise.
52910         * modules/fnmatch (License): Likewise.
52911         * modules/fseeko (License): Likewise.
52912         * modules/getaddrinfo (License): Likewise.
52913         * modules/getline (License): Likewise.
52914         * modules/getlogin_r (License): Likewise.
52915         * modules/getpass (License): Likewise.
52916         * modules/gettimeofday (License): Likewise.
52917         * modules/glob (License): Likewise.
52918         * modules/inet_ntop (License): Likewise.
52919         * modules/malloc (License): Likewise.
52920         * modules/malloca (License): Likewise.
52921         * modules/memmem (License): Likewise.
52922         * modules/mempcpy (License): Likewise.
52923         * modules/memset (License): Likewise.
52924         * modules/minmax (License): Likewise.
52925         * modules/mktime (License): Likewise.
52926         * modules/netinet_in (License): Likewise.
52927         * modules/pathmax (License): Likewise.
52928         * modules/poll (License): Likewise.
52929         * modules/regex (License): Likewise.
52930         * modules/snprintf (License): Likewise.
52931         * modules/stdbool (License): Likewise.
52932         * modules/stdint (License): Likewise.
52933         * modules/stdio (License): Likewise.
52934         * modules/strcase (License): Likewise.
52935         * modules/strcasestr (License): Likewise.
52936         * modules/strdup (License): Likewise.
52937         * modules/string (License): Likewise.
52938         * modules/strndup (License): Likewise.
52939         * modules/strnlen (License): Likewise.
52940         * modules/strpbrk (License): Likewise.
52941         * modules/strptime (License): Likewise.
52942         * modules/strsep (License): Likewise.
52943         * modules/sys_select (License): Likewise.
52944         * modules/sys_socket (License): Likewise.
52945         * modules/sys_stat (License): Likewise.
52946         * modules/sys_time (License): Likewise.
52947         * modules/time (License): Likewise.
52948         * modules/time_r (License): Likewise.
52949         * modules/timegm (License): Likewise.
52950         * modules/unistd (License): Likewise.
52951         * modules/vsnprintf (License): Likewise.
52952         * modules/wctype (License): Likewise.
52953
52954 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52955
52956         * modules/argz (License): LGPLv2+.
52957
52958 2007-07-15  Karl Berry  <karl@gnu.org>
52959
52960         * doc/gnulib.texi: revise node structure per new fdl.texi.
52961
52962 2007-07-14  Bruno Haible  <bruno@clisp.org>
52963
52964         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
52965         the output file.
52966         * lib/uniname/uninames.h: Regenerated.
52967
52968 2007-07-14  Karl Berry  <karl@gnu.org>
52969
52970         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
52971         omitting sectioning and index commands.
52972
52973 2007-07-13  Bruno Haible  <bruno@clisp.org>
52974
52975         New gnulib-tool option --more-symlinks.
52976         * gnulib-tool (func_usage): Document --more-symlinks.
52977         (do_copyrights): New variable.
52978         Recognize option --more-symlinks.
52979         (func_import): Don't add a copyright notice transform to
52980         sed_transform_lib_file if do_copyrights is empty.
52981
52982 2007-07-13  Bruno Haible  <bruno@clisp.org>
52983
52984         * lib/vasnprintf.c (decimal_point_char): Define also if
52985         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
52986         && !NEED_PRINTF_DIRECTIVE_A.
52987         Reported by Clemens Koller <clemens.koller@anagramm.de> via
52988         Gary V. Vaughan <gary@gnu.org>.
52989
52990 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
52991
52992         * lib/inttypes_.h: Undo previous change, since it was fixed
52993         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
52994
52995 2007-07-13  Bruno Haible  <bruno@clisp.org>
52996
52997         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
52998         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
52999
53000 2007-07-13  Jim Meyering  <jim@meyering.net>
53001
53002         df: Don't fail for Tru64's "file-on-file mount".
53003         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
53004         so we fall through and use statfs instead.  Details here:
53005         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
53006         Reported by Albert Chin.
53007
53008 2007-07-13  Bruno Haible  <bruno@clisp.org>
53009
53010         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
53011         * modules/configmake (License): Likewise.
53012         * modules/gettext (License): Likewise.
53013         * modules/gettext-h (License): Likewise.
53014         * modules/include_next (License): Likewise.
53015         * modules/link-warning (License): Likewise.
53016         * modules/localcharset (License): Likewise.
53017         * modules/localename (License): Likewise.
53018         * modules/lock (License): Likewise.
53019         * modules/relocatable-lib-lgpl (License): Likewise.
53020         * modules/size_max (License): Likewise.
53021         * modules/vasnprintf (License): Likewise.
53022         * modules/wchar (License): Likewise.
53023         * modules/xsize (License): Likewise.
53024
53025 2007-07-13  Bruno Haible  <bruno@clisp.org>
53026
53027         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
53028         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
53029
53030 2007-07-12  Bruno Haible  <bruno@clisp.org>
53031
53032         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
53033         in the modules files.
53034
53035 2007-07-11  Karl Berry  <karl@gnu.org>
53036
53037         * MODULES.html.sh (func_module): use
53038          sed -e '\|^'"${includefile}"'$|d'
53039          instead of /.../d, to avoid errors on $includefile's containing /.
53040
53041 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
53042
53043         * gnulib-tool (func_import): Avoid duplication of --avoid
53044         statements
53045         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
53046         names to `_' in variable names.
53047
53048 2007-07-10  Eric Blake  <ebb9@byu.net>
53049
53050         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
53051         * NEWS: Document this change.
53052
53053 2007-07-08  Bruno Haible  <bruno@clisp.org>
53054
53055         Update to Unicode 5.0.
53056         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
53057         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
53058         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
53059         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
53060         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
53061         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
53062         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
53063         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
53064         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
53065         U+10A3F, U+1D242..U+1D244.
53066         (nonspacing_table_ind): Update.
53067         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
53068         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
53069
53070 2007-07-08  Bruno Haible  <bruno@clisp.org>
53071
53072         Update to Unicode 5.0.
53073         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
53074         code transform. Extend the name index field of unicode_name_to_code and
53075         unicode_code_to_name from 16 to 24 bits.
53076         * lib/uniname/uniname.c (unicode_character_name,
53077         unicode_name_character): Add the range 0x12xxx to the code transform.
53078         * lib/uniname/uninames.h: Regenerated.
53079         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
53080
53081 2007-07-07  Bruno Haible  <bruno@clisp.org>
53082
53083         * modules/wcwidth-tests: New file.
53084         * tests/test-wcwidth.c: New file.
53085
53086         Work around MacOS X wcwidth() bug.
53087         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
53088         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
53089         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
53090         original wcwidth in non-UTF-8 locales.
53091         * modules/wcwidth (Depends-on): Add localcharset, streq,
53092         uniwidth/width.
53093         * doc/functions/wcwidth.texi: Update.
53094
53095 2007-07-07  Bruno Haible  <bruno@clisp.org>
53096
53097         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
53098         (wcwidth): New declaration.
53099         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
53100         macros.
53101         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
53102         here. Prepare for creating <wchar.h> unconditionally.
53103         * modules/wchar (Depends-on): Add link-warning.
53104         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
53105         REPLACE_WCWIDTH, and GL_LINK_WARNING.
53106         * lib/wcwidth.h: Remove file.
53107         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
53108         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
53109         * modules/wcwidth (Files): Remove lib/wcwidth.h.
53110         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
53111         (Include): Replace wcwidth.h with <wchar.h>.
53112         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
53113         * lib/mbchar.h: Don't include wcwidth.h.
53114         * lib/mbswidth.c: Likewise.
53115         * NEWS: Mention the change.
53116
53117 2007-07-07  Bruno Haible  <bruno@clisp.org>
53118
53119         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
53120         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
53121         definition with an external declaration.
53122         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
53123         defined as a function. Remove AC_C_INLINE requirement.
53124         * modules/wcwidth (Files): Add lib/wcwidth.c.
53125         (Makefile.am): Remove redundant statement.
53126
53127 2007-07-07  Bruno Haible  <bruno@clisp.org>
53128
53129         * MODULES.html.sh (Unicode string functions): Add the new modules.
53130
53131         * tests/uniwidth/test-u32-strwidth.c: New file.
53132         * modules/uniwidth/u32-strwidth-tests: New file.
53133
53134         * lib/uniwidth/u32-strwidth.c: New file.
53135         * modules/uniwidth/u32-strwidth: New file.
53136
53137         * tests/uniwidth/test-u16-strwidth.c: New file.
53138         * modules/uniwidth/u16-strwidth-tests: New file.
53139
53140         * lib/uniwidth/u16-strwidth.c: New file.
53141         * modules/uniwidth/u16-strwidth: New file.
53142
53143         * tests/uniwidth/test-u8-strwidth.c: New file.
53144         * modules/uniwidth/u8-strwidth-tests: New file.
53145
53146         * lib/uniwidth/u8-strwidth.c: New file.
53147         * modules/uniwidth/u8-strwidth: New file.
53148
53149         * tests/uniwidth/test-u32-width.c: New file.
53150         * modules/uniwidth/u32-width-tests: New file.
53151
53152         * lib/uniwidth/u32-width.c: New file.
53153         * modules/uniwidth/u32-width: New file.
53154
53155         * tests/uniwidth/test-u16-width.c: New file.
53156         * modules/uniwidth/u16-width-tests: New file.
53157
53158         * lib/uniwidth/u16-width.c: New file.
53159         * modules/uniwidth/u16-width: New file.
53160
53161         * tests/uniwidth/test-u8-width.c: New file.
53162         * modules/uniwidth/u8-width-tests: New file.
53163
53164         * lib/uniwidth/u8-width.c: New file.
53165         * modules/uniwidth/u8-width: New file.
53166
53167         * tests/uniwidth/test-uc_width.c: New file.
53168         * modules/uniwidth/width-tests: New file.
53169
53170         * lib/uniwidth/width.c: New file, from GNU libiconv.
53171         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
53172         * modules/uniwidth/width: New file.
53173
53174         * lib/uniwidth.h: New file, from GNU libiconv.
53175         * modules/uniwidth/base: New file.
53176
53177 2007-07-07  Bruno Haible  <bruno@clisp.org>
53178
53179         * lib/uniname.h: New file, from GNU gettext.
53180         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
53181         * lib/uniname/uninames.h: New file, from GNU gettext.
53182         * lib/uniname/uniname.c: New file, from GNU gettext.
53183         * tests/uniname/test-uninames.sh: New file.
53184         * tests/uniname/test-uninames.c: New file, from GNU gettext.
53185         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
53186         * modules/uniname/base: New file.
53187         * modules/uniname/uniname: New file.
53188         * modules/uniname/uniname-tests: New file.
53189         * MODULES.html.sh (Unicode string functions): Add the new modules.
53190
53191 2007-07-06  Bruno Haible  <bruno@clisp.org>
53192
53193         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
53194
53195 2007-07-06  Bruno Haible  <bruno@clisp.org>
53196
53197         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
53198         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
53199         includes <cygwin/sys_time.h> which includes <sys/select.h> which
53200         include <sys/time.h>.
53201         Reported by Eric Blake.
53202
53203 2007-07-06  Eric Blake  <ebb9@byu.net>
53204
53205         Fix testing canonicalize on cygwin.
53206         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
53207         Revert patch from 2007-06-19.
53208         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
53209         canonicalize module is also in use.
53210         * tests/test-canonicalize.c: New file.
53211         * tests/test-canonicalize.sh: Likewise.
53212         * modules/canonicalize-tests: Likewise.
53213
53214 2007-07-06  Jim Meyering  <jim@meyering.net>
53215
53216         * lib/getugroups.c (getugroups): Detect getgrent failure.
53217         Adjust comment to reflect reality: this function may return -1.
53218
53219 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
53220
53221         * build-aux/bootstrap (TP_URL,get_translations): Update to use
53222         the new TP address.
53223         (usage): Fix typo
53224         (gnulib_mk): New variable.
53225
53226 2007-07-05  Jim Meyering  <jim@meyering.net>
53227
53228         Don't let endgrent clobber errno, no matter how improbable.
53229         * lib/getugroups.c (getugroups): Save and restore errno around
53230         endgrent call.
53231
53232         Close the group DB even when failing with 2^31 or more members.
53233         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
53234
53235 2007-07-04  Jim Meyering  <jim@meyering.net>
53236
53237         * lib/getugroups.h: New file.
53238         * lib/getugroups.c: Include "getugroups.h".
53239         Remove uses of "register" keyword.
53240         Move local variable, "cp", down into scope where used.
53241         Give "username" parameter the "const" attribute.
53242         * modules/getugroups (Files): Add lib/getugroups.h
53243
53244 2007-07-04  Karl Berry  <karl@gnu.org>
53245
53246         * MODULES.html.sh (func_all_modules): Complete rename of
53247         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
53248
53249 2007-07-02  Bruno Haible  <bruno@clisp.org>
53250
53251         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
53252         mode, when inttypes.h comes from gnulib.
53253         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53254
53255 2007-07-02  Simon Josefsson  <simon@josefsson.org>
53256
53257         * NEWS: Mention lgpl module name change.
53258
53259         * modules/lgpl-2.1: Renamed from lgpl.
53260
53261         * NEWS: Mention gpl module name change.
53262
53263         * modules/gpl-3.0: New file, based on gpl-2.0.
53264
53265         * modules/gpl-2.0: Renamed from gpl.
53266
53267         * modules/gpl: Fix filename, doc/gpl.texi is now found at
53268         doc/gpl-2.0.texi.
53269
53270 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
53271
53272         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
53273         #define __STDC_LIMIT_MACROS temporarily while including
53274         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
53275         Problem reported by Joel E. Denny in
53276         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
53277
53278 2007-07-01  Bruno Haible  <bruno@clisp.org>
53279
53280         * lib/unistdio.h: New file.
53281         * lib/unistdio/u-asnprintf.h: New file.
53282         * lib/unistdio/u-asprintf.h: New file.
53283         * lib/unistdio/u-printf-args.c: New file.
53284         * lib/unistdio/u-printf-args.h: New file.
53285         * lib/unistdio/u-printf-parse.h: New file.
53286         * lib/unistdio/u-snprintf.h: New file.
53287         * lib/unistdio/u-sprintf.h: New file.
53288         * lib/unistdio/u-vasprintf.h: New file.
53289         * lib/unistdio/u-vsnprintf.h: New file.
53290         * lib/unistdio/u-vsprintf.h: New file.
53291         * lib/unistdio/ulc-asnprintf.c: New file.
53292         * lib/unistdio/ulc-asprintf.c: New file.
53293         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
53294         * lib/unistdio/ulc-printf-parse.c: New file.
53295         * lib/unistdio/ulc-snprintf.c: New file.
53296         * lib/unistdio/ulc-sprintf.c: New file.
53297         * lib/unistdio/ulc-vasnprintf.c: New file.
53298         * lib/unistdio/ulc-vasprintf.c: New file.
53299         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
53300         * lib/unistdio/ulc-vsnprintf.c: New file.
53301         * lib/unistdio/ulc-vsprintf.c: New file.
53302         * lib/unistdio/u8-asnprintf.c: New file.
53303         * lib/unistdio/u8-asprintf.c: New file.
53304         * lib/unistdio/u8-printf-parse.c: New file.
53305         * lib/unistdio/u8-snprintf.c: New file.
53306         * lib/unistdio/u8-sprintf.c: New file.
53307         * lib/unistdio/u8-vasnprintf.c: New file.
53308         * lib/unistdio/u8-vasprintf.c: New file.
53309         * lib/unistdio/u8-vsnprintf.c: New file.
53310         * lib/unistdio/u8-vsprintf.c: New file.
53311         * lib/unistdio/u8-u8-asnprintf.c: New file.
53312         * lib/unistdio/u8-u8-asprintf.c: New file.
53313         * lib/unistdio/u8-u8-snprintf.c: New file.
53314         * lib/unistdio/u8-u8-sprintf.c: New file.
53315         * lib/unistdio/u8-u8-vasnprintf.c: New file.
53316         * lib/unistdio/u8-u8-vasprintf.c: New file.
53317         * lib/unistdio/u8-u8-vsnprintf.c: New file.
53318         * lib/unistdio/u8-u8-vsprintf.c: New file.
53319         * lib/unistdio/u16-asnprintf.c: New file.
53320         * lib/unistdio/u16-asprintf.c: New file.
53321         * lib/unistdio/u16-printf-parse.c: New file.
53322         * lib/unistdio/u16-snprintf.c: New file.
53323         * lib/unistdio/u16-sprintf.c: New file.
53324         * lib/unistdio/u16-vasnprintf.c: New file.
53325         * lib/unistdio/u16-vasprintf.c: New file.
53326         * lib/unistdio/u16-vsnprintf.c: New file.
53327         * lib/unistdio/u16-vsprintf.c: New file.
53328         * lib/unistdio/u16-u16-asnprintf.c: New file.
53329         * lib/unistdio/u16-u16-asprintf.c: New file.
53330         * lib/unistdio/u16-u16-snprintf.c: New file.
53331         * lib/unistdio/u16-u16-sprintf.c: New file.
53332         * lib/unistdio/u16-u16-vasnprintf.c: New file.
53333         * lib/unistdio/u16-u16-vasprintf.c: New file.
53334         * lib/unistdio/u16-u16-vsnprintf.c: New file.
53335         * lib/unistdio/u16-u16-vsprintf.c: New file.
53336         * lib/unistdio/u32-asnprintf.c: New file.
53337         * lib/unistdio/u32-asprintf.c: New file.
53338         * lib/unistdio/u32-printf-parse.c: New file.
53339         * lib/unistdio/u32-snprintf.c: New file.
53340         * lib/unistdio/u32-sprintf.c: New file.
53341         * lib/unistdio/u32-vasnprintf.c: New file.
53342         * lib/unistdio/u32-vasprintf.c: New file.
53343         * lib/unistdio/u32-vsnprintf.c: New file.
53344         * lib/unistdio/u32-vsprintf.c: New file.
53345         * lib/unistdio/u32-u32-asnprintf.c: New file.
53346         * lib/unistdio/u32-u32-asprintf.c: New file.
53347         * lib/unistdio/u32-u32-snprintf.c: New file.
53348         * lib/unistdio/u32-u32-sprintf.c: New file.
53349         * lib/unistdio/u32-u32-vasnprintf.c: New file.
53350         * lib/unistdio/u32-u32-vasprintf.c: New file.
53351         * lib/unistdio/u32-u32-vsnprintf.c: New file.
53352         * lib/unistdio/u32-u32-vsprintf.c: New file.
53353         * tests/unistdio/test-ulc-asnprintf1.c: New file.
53354         * tests/unistdio/test-ulc-asnprintf1.h: New file.
53355         * tests/unistdio/test-ulc-printf1.h: New file.
53356         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
53357         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
53358         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
53359         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
53360         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
53361         * tests/unistdio/test-ulc-vasprintf1.c: New file.
53362         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
53363         * tests/unistdio/test-ulc-vsprintf1.c: New file.
53364         * tests/unistdio/test-u8-asnprintf1.c: New file.
53365         * tests/unistdio/test-u8-asnprintf1.h: New file.
53366         * tests/unistdio/test-u8-printf1.h: New file.
53367         * tests/unistdio/test-u8-vasnprintf1.c: New file.
53368         * tests/unistdio/test-u8-vasnprintf2.c: New file.
53369         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
53370         * tests/unistdio/test-u8-vasnprintf3.c: New file.
53371         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
53372         * tests/unistdio/test-u8-vasprintf1.c: New file.
53373         * tests/unistdio/test-u8-vsnprintf1.c: New file.
53374         * tests/unistdio/test-u8-vsprintf1.c: New file.
53375         * tests/unistdio/test-u16-asnprintf1.c: New file.
53376         * tests/unistdio/test-u16-asnprintf1.h: New file.
53377         * tests/unistdio/test-u16-printf1.h: New file.
53378         * tests/unistdio/test-u16-vasnprintf1.c: New file.
53379         * tests/unistdio/test-u16-vasnprintf2.c: New file.
53380         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
53381         * tests/unistdio/test-u16-vasnprintf3.c: New file.
53382         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
53383         * tests/unistdio/test-u16-vasprintf1.c: New file.
53384         * tests/unistdio/test-u16-vsnprintf1.c: New file.
53385         * tests/unistdio/test-u16-vsprintf1.c: New file.
53386         * tests/unistdio/test-u32-asnprintf1.c: New file.
53387         * tests/unistdio/test-u32-asnprintf1.h: New file.
53388         * tests/unistdio/test-u32-printf1.h: New file.
53389         * tests/unistdio/test-u32-vasnprintf1.c: New file.
53390         * tests/unistdio/test-u32-vasnprintf2.c: New file.
53391         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
53392         * tests/unistdio/test-u32-vasnprintf3.c: New file.
53393         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
53394         * tests/unistdio/test-u32-vasprintf1.c: New file.
53395         * tests/unistdio/test-u32-vsnprintf1.c: New file.
53396         * tests/unistdio/test-u32-vsprintf1.c: New file.
53397         * modules/unistdio/base: New file.
53398         * modules/unistdio/u-printf-args: New file.
53399         * modules/unistdio/ulc-asnprintf: New file.
53400         * modules/unistdio/ulc-asprintf: New file.
53401         * modules/unistdio/ulc-fprintf: New file.
53402         * modules/unistdio/ulc-printf-parse: New file.
53403         * modules/unistdio/ulc-snprintf: New file.
53404         * modules/unistdio/ulc-sprintf: New file.
53405         * modules/unistdio/ulc-vasnprintf: New file.
53406         * modules/unistdio/ulc-vasprintf: New file.
53407         * modules/unistdio/ulc-vfprintf: New file.
53408         * modules/unistdio/ulc-vsnprintf: New file.
53409         * modules/unistdio/ulc-vsprintf: New file.
53410         * modules/unistdio/u8-asnprintf: New file.
53411         * modules/unistdio/u8-asprintf: New file.
53412         * modules/unistdio/u8-printf-parse: New file.
53413         * modules/unistdio/u8-snprintf: New file.
53414         * modules/unistdio/u8-sprintf: New file.
53415         * modules/unistdio/u8-vasnprintf: New file.
53416         * modules/unistdio/u8-vasprintf: New file.
53417         * modules/unistdio/u8-vsnprintf: New file.
53418         * modules/unistdio/u8-vsprintf: New file.
53419         * modules/unistdio/u8-u8-asnprintf: New file.
53420         * modules/unistdio/u8-u8-asprintf: New file.
53421         * modules/unistdio/u8-u8-snprintf: New file.
53422         * modules/unistdio/u8-u8-sprintf: New file.
53423         * modules/unistdio/u8-u8-vasnprintf: New file.
53424         * modules/unistdio/u8-u8-vasprintf: New file.
53425         * modules/unistdio/u8-u8-vsnprintf: New file.
53426         * modules/unistdio/u8-u8-vsprintf: New file.
53427         * modules/unistdio/u16-asnprintf: New file.
53428         * modules/unistdio/u16-asprintf: New file.
53429         * modules/unistdio/u16-printf-parse: New file.
53430         * modules/unistdio/u16-snprintf: New file.
53431         * modules/unistdio/u16-sprintf: New file.
53432         * modules/unistdio/u16-vasnprintf: New file.
53433         * modules/unistdio/u16-vasprintf: New file.
53434         * modules/unistdio/u16-vsnprintf: New file.
53435         * modules/unistdio/u16-vsprintf: New file.
53436         * modules/unistdio/u16-u16-asnprintf: New file.
53437         * modules/unistdio/u16-u16-asprintf: New file.
53438         * modules/unistdio/u16-u16-snprintf: New file.
53439         * modules/unistdio/u16-u16-sprintf: New file.
53440         * modules/unistdio/u16-u16-vasnprintf: New file.
53441         * modules/unistdio/u16-u16-vasprintf: New file.
53442         * modules/unistdio/u16-u16-vsnprintf: New file.
53443         * modules/unistdio/u16-u16-vsprintf: New file.
53444         * modules/unistdio/u32-asnprintf: New file.
53445         * modules/unistdio/u32-asprintf: New file.
53446         * modules/unistdio/u32-printf-parse: New file.
53447         * modules/unistdio/u32-snprintf: New file.
53448         * modules/unistdio/u32-sprintf: New file.
53449         * modules/unistdio/u32-vasnprintf: New file.
53450         * modules/unistdio/u32-vasprintf: New file.
53451         * modules/unistdio/u32-vsnprintf: New file.
53452         * modules/unistdio/u32-vsprintf: New file.
53453         * modules/unistdio/u32-u32-asnprintf: New file.
53454         * modules/unistdio/u32-u32-asprintf: New file.
53455         * modules/unistdio/u32-u32-snprintf: New file.
53456         * modules/unistdio/u32-u32-sprintf: New file.
53457         * modules/unistdio/u32-u32-vasnprintf: New file.
53458         * modules/unistdio/u32-u32-vasprintf: New file.
53459         * modules/unistdio/u32-u32-vsnprintf: New file.
53460         * modules/unistdio/u32-u32-vsprintf: New file.
53461         * modules/unistdio/ulc-asnprintf-tests: New file.
53462         * modules/unistdio/ulc-vasnprintf-tests: New file.
53463         * modules/unistdio/ulc-vasprintf-tests: New file.
53464         * modules/unistdio/ulc-vsnprintf-tests: New file.
53465         * modules/unistdio/ulc-vsprintf-tests: New file.
53466         * modules/unistdio/u8-asnprintf-tests: New file.
53467         * modules/unistdio/u8-vasnprintf-tests: New file.
53468         * modules/unistdio/u8-vasprintf-tests: New file.
53469         * modules/unistdio/u8-vsnprintf-tests: New file.
53470         * modules/unistdio/u8-vsprintf-tests: New file.
53471         * modules/unistdio/u16-asnprintf-tests: New file.
53472         * modules/unistdio/u16-vasnprintf-tests: New file.
53473         * modules/unistdio/u16-vasprintf-tests: New file.
53474         * modules/unistdio/u16-vsnprintf-tests: New file.
53475         * modules/unistdio/u16-vsprintf-tests: New file.
53476         * modules/unistdio/u32-asnprintf-tests: New file.
53477         * modules/unistdio/u32-vasnprintf-tests: New file.
53478         * modules/unistdio/u32-vasprintf-tests: New file.
53479         * modules/unistdio/u32-vsnprintf-tests: New file.
53480         * modules/unistdio/u32-vsprintf-tests: New file.
53481         * MODULES.html.sh (Unicode string functions): Add the new modules.
53482
53483 2007-07-01  Bruno Haible  <bruno@clisp.org>
53484
53485         * lib/sprintf.c (sprintf): Limit the available length estimation,
53486         to avoid address wraparound.
53487         * lib/vsprintf.c (vsprintf): Likewise.
53488         * modules/sprintf-posix (Dependencies): Add stdint.
53489         * modules/vsprintf-posix (Dependencies): Likewise.
53490
53491 2007-07-01  Bruno Haible  <bruno@clisp.org>
53492
53493         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
53494         Windows PATH as well. Conservative double-quoting. Comments.
53495
53496 2007-07-01  Bruno Haible  <bruno@clisp.org>
53497             Eric Blake  <ebb9@byu.net>
53498             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53499
53500         * gnulib-tool (self_abspathname): Fix algorithm to cope with
53501         empty components in $PATH, denoting '.'.
53502
53503 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53504
53505         * gnulib-tool: Fix indentation.
53506         (func_create_megatestdir): Likewise.
53507         Report by Bruno Haible.
53508
53509 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53510
53511         Sync from Automake.
53512         * build-aux/gnupload: Fix shell portability issues with for loops.
53513         Report by Karl Berry.
53514
53515 2007-06-29  Simon Josefsson  <simon@josefsson.org>
53516
53517         * build-aux/maint.mk (POURL): Use translationproject.org.
53518
53519 2007-06-27  Simon Josefsson  <simon@josefsson.org>
53520             Bruno Haible  <bruno@clisp.org>
53521
53522         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
53523         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
53524         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
53525         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
53526         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
53527
53528 2007-06-27  Bruno Haible  <bruno@clisp.org>
53529
53530         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
53531         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
53532
53533 2007-06-26  Karl Berry  <karl@gnu.org>
53534
53535         * MODULES.html.sh: remove xreadlink-with-size.
53536
53537 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
53538
53539         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
53540         method that I hope also handles the double-include problem noted
53541         by Bruno Haible in
53542         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
53543
53544 2007-06-23  Bruno Haible  <bruno@clisp.org>
53545
53546         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53547         Don't let the 'mostlyclean' target fail if the last subdirectory could
53548         not be removed.
53549         Reported by Karl Berry.
53550
53551 2007-06-23  Bruno Haible  <bruno@clisp.org>
53552
53553         * gnulib-tool (echo): Add a speedier workaround for ksh.
53554         * tests/test-echo.sh: Likewise.
53555
53556 2007-06-23  Bruno Haible  <bruno@clisp.org>
53557
53558         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
53559         * tests/test-echo.sh: Likewise.
53560
53561 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53562
53563         * gnulib-tool (IFS): Initialize early, so we don't set it to
53564         empty later.
53565         (self_abspathname): Rewrite algorithm to set it, reindent.
53566         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
53567         (func_create_megatestdir): Merge some sed scripts.
53568
53569 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
53570
53571         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
53572         exposed by Sun Studio 11 cc on Solaris 8.
53573
53574 2007-06-22  Bruno Haible  <bruno@clisp.org>
53575
53576         * gnulib-tool (echo): Ensure the echo primitive does not interpret
53577         backslashes.
53578         * tests/test-echo.sh: New file.
53579
53580 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53581
53582         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
53583         simplify `sed_replace_build_aux' scripts, they are portable but
53584         echoing them with `echo' is not.
53585         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
53586
53587 2007-06-21  Karl Berry  <karl@gnu.org>
53588
53589         * config/srclist.txt: guess we can't handle the licenses via
53590         srclist at the moment.
53591
53592 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
53593
53594         * MODULES.html.sh: Add include_next.
53595         * modules/include_next: New file.
53596
53597 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
53598
53599         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
53600         INCLUDE_NEXT.
53601         (gl_CHECK_NEXT_HEADERS): New macro.
53602         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
53603         the obsolescent gl_ABSOLUTE_HEADER.
53604         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
53605         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
53606         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
53607         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
53608         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
53609         * m4/math_h.m4 (gl_MATH_H): Likewise.
53610         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
53611         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
53612         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
53613         * m4/stdint.m4 (gl_STDINT_H): Likewise.
53614         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
53615         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
53616         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
53617         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53618         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
53619         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
53620         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
53621         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
53622         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
53623         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
53624         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
53625         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53626         * m4/inttypes.m4 (gl_INTTYPES_H): Define
53627         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
53628         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
53629         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
53630         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
53631         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
53632         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
53633         * lib/float_.h: Likewise.
53634         * lib/inttypes_.h: Likewise.
53635         * lib/math_.h: Likewise.
53636         * lib/search_.h: Likewise.
53637         * lib/signal_.h: Likewise.
53638         * lib/stdint_.h: Likewise.
53639         * lib/stdio_.h: Likewise.
53640         * lib/stdlib_.h: Likewise.
53641         * lib/string_.h: Likewise.
53642         * lib/sys_stat_.h: Likewise.
53643         * lib/sys_time_.h: Likewise.
53644         * lib/time_.h: Likewise.
53645         * lib/unistd_.h: Likewise.
53646         * lib/wchar_.h: Likewise.
53647         * lib/wctype_.h: Likewise.
53648         * lib/dirent_.h: Likewise.
53649         * lib/iconv_.h: Likewise.
53650         * lib/locale_.h: Likewise.
53651         * lib/netinet_in_.h: Likewise.
53652         * lib/sys_select_.h: Likewise.
53653         * lib/sys_socket_.h: Likewise.
53654         * lib/sysexits_.h: Likewise.
53655         * modules/fcntl (Depends-on): Depend on include_next, not
53656         absolute_header.
53657         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
53658         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
53659         * modules/fchdir: Likewise.
53660         * modules/float: Likewise.
53661         * modules/iconv_open: Likewise.
53662         * modules/inttypes: Likewise.
53663         * modules/locale: Likewise.
53664         * modules/math: Likewise.
53665         * modules/netinet_in: Likewise.
53666         * modules/search: Likewise.
53667         * modules/signal: Likewise.
53668         * modules/stdint: Likewise.
53669         * modules/stdio: Likewise.
53670         * modules/stdlib: Likewise.
53671         * modules/string: Likewise.
53672         * modules/sys_select: Likewise.
53673         * modules/sys_socket: Likewise.
53674         * modules/sys_stat: Likewise.
53675         * modules/sys_time: Likewise.
53676         * modules/sysexits: Likewise.
53677         * modules/time: Likewise.
53678         * modules/unistd: Likewise.
53679         * modules/wchar: Likewise.
53680         * modules/wctype: Likewise.
53681         * modules/sys_stat: Change maintainer to "all".
53682         * modules/unistd: Likewise.
53683
53684 2007-06-20  Karl Berry  <karl@gnu.org>
53685
53686         * config/srclist.txt: track www changes in license files.
53687
53688 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
53689
53690         * build-aux/bootstrap: Remove stray dot.
53691         Make sure build_aux settings are honored when linking
53692         gnulib_extra_files.
53693
53694 2007-06-19  Eric Blake  <ebb9@byu.net>
53695
53696         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
53697         Allow compilation on cygwin.
53698
53699 2007-06-19  Jim Meyering  <jim@meyering.net>
53700
53701         xreadlink-with-size: Remove module.  No longer used.
53702         Ex-callers now use xreadlink or mreadlink-with-size.
53703         * modules/xreadlink-with-size: Remove module.
53704         * lib/xreadlink-with-size.c: Remove file.
53705         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
53706         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
53707         just before the function definition *is* accurate.
53708
53709         Eliminate one way canonicalize_filename_mode could exit.
53710         * lib/canonicalize.c (canonicalize_filename_mode):
53711         Use mreadlink_with_size, not xreadlink_with_size.
53712
53713 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
53714
53715         Detect porting problems to FreeBSD/arm, which has time_t wider than
53716         long int.  Original problem reported for GNU diff by Xin Li in
53717         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
53718         * modules/getdate (Depends-on): Add intprops, verify.
53719         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
53720         is an integer type no wider than long int.
53721
53722 2007-06-18  Jim Meyering  <jim@meyering.net>
53723
53724         New module: mreadlink-with-size.
53725         * MODULES.html.sh: Add mreadlink-with-size.
53726         * modules/mreadlink-with-size: New module
53727         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
53728         not xreadlink-with-size.
53729         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
53730
53731 2007-06-16  Bruno Haible  <bruno@clisp.org>
53732
53733         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
53734         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
53735         Reported by Gary V. Vaughan <gary@gnu.org>.
53736
53737 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
53738
53739         Revamp lchown so that it lives in unistd.h where it belongs.
53740         * lib/lchown.h: Remove.
53741         * lib/dirchownmod.c: Don't include lib/lchown.h.
53742         * lib/fchownat.c: Likewise.
53743         * lib/openat.c: Likewise.
53744         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
53745         does not follow symlinks.
53746         (EOPNOTSUPP): Define if not defined.
53747         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
53748         is defined to 0.
53749         (lchown): New decl.
53750         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
53751         Do not check for lchown decl.
53752         Set REPLACE_LCHOWN.
53753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
53754         REPLACE_LCHOWN.
53755         * modules/chown: Make it clear it follows symlinks.
53756         * modules/lchown: Make it clear it doesn't follow symlinks.
53757         (Files): Remove lib/lchown.h
53758         (Depends-on): Add unistd.
53759         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
53760         (Include): Include <unistd.h>, not "lchown.h".
53761         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
53762         REPLACE_LCHOWN.
53763
53764 2007-06-15  Jim Meyering  <jim@meyering.net>
53765
53766         Change license (GPL to LGPL) of fsusage and dependents.
53767         * modules/fsusage (License): Change to LGPL.
53768         * modules/full-read (License): Likewise.
53769         * modules/full-write (License): Likewise.
53770         * modules/safe-read (License): Likewise.
53771         * modules/safe-write (License): Likewise.
53772
53773 2007-06-14  Ben Pfaff  <blp@gnu.org>
53774
53775         Missing part of allocsa -> malloca transition.
53776         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
53777         gl_MALLOCA.
53778
53779 2007-06-12  Bruno Haible  <bruno@clisp.org>
53780
53781         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
53782         to ia64, x86_64, i386.
53783         Reported by Eric Blake.
53784
53785 2007-06-12  Bruno Haible  <bruno@clisp.org>
53786
53787         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
53788         cross-compiling to x86_64.
53789
53790 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
53791
53792         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
53793         glitch reported by Ralf Wildenhues in
53794         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
53795
53796         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
53797         Vin Shelton.
53798
53799 2007-06-11  Bruno Haible  <bruno@clisp.org>
53800
53801         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
53802         replacement string.
53803         Reported by Eric Blake.
53804
53805 2007-06-10  Bruno Haible  <bruno@clisp.org>
53806
53807         Prepare vasnprintf code for use with Unicode strings.
53808         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
53809         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
53810         TYPE_U32_STRING.
53811         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
53812         a_u32_string variants.
53813         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
53814         * lib/printf-args.c: Don't include config.h and the specification
53815         header if PRINTF_FETCHARGS is already defined.
53816         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
53817         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
53818         TYPE_U16_STRING, TYPE_U32_STRING.
53819         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
53820         u16_directive, u16_directives, u32_directive, u32_directives): New
53821         types.
53822         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
53823         New declarations.
53824         * lib/printf-parse.c: Don't include config.h and the specification
53825         header if PRINTF_PARSE is already defined. Eliminate the set of
53826         parameters for WIDE_CHAR_VERSION; the user of this file must provide
53827         them now. Include c-ctype.h.
53828         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
53829         directive and CHAR_T_ONLY_ASCII.
53830         * lib/vasnprintf.c: Don't include config.h and the specification header
53831         if VASNPRINTF is already defined.
53832         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
53833         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
53834         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
53835         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
53836         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
53837         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
53838         code accordingly.
53839         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
53840         pad_ourselves also in this case, with the 'c' and 's' directives, and
53841         with a different notion of "width".
53842         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
53843
53844 2007-06-10  Bruno Haible  <bruno@clisp.org>
53845
53846         * modules/unistr/u32-mbsnlen: New file.
53847         * lib/unistr/u32-mbsnlen.c: New file.
53848
53849         * modules/unistr/u16-mbsnlen: New file.
53850         * lib/unistr/u16-mbsnlen.c: New file.
53851
53852         * modules/unistr/u8-mbsnlen: New file.
53853         * lib/unistr/u8-mbsnlen.c: New file.
53854
53855         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
53856         declarations.
53857
53858 2007-06-10  Bruno Haible  <bruno@clisp.org>
53859
53860         * lib/string_.h (mbsnlen): New declaration.
53861         * lib/mbsnlen.c: New file.
53862         * m4/mbsnlen.m4: New file.
53863         * modules/mbsnlen: New file.
53864         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
53865         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
53866         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
53867
53868 2007-06-10  Bruno Haible  <bruno@clisp.org>
53869
53870         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
53871
53872 2007-06-10  Bruno Haible  <bruno@clisp.org>
53873
53874         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
53875         * lib/mbuiter.h: Likewise.
53876
53877 2007-06-10  Bruno Haible  <bruno@clisp.org>
53878
53879         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
53880         declaration.
53881
53882 2007-06-10  Karl Berry  <karl@gnu.org>
53883
53884         * config/srclist.txt: remove gettext entries, Bruno prefers
53885         to update individually.
53886
53887 2007-06-10  Bruno Haible  <bruno@clisp.org>
53888
53889         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
53890         'maxlen'. Ensure only length + width bytes are allocated, not
53891         length + 1 + width.
53892
53893 2007-06-09  Bruno Haible  <bruno@clisp.org>
53894
53895         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
53896         (CHAR_T): Remove macro.
53897         (VASNPRINTF): Update.
53898
53899 2007-06-09  Bruno Haible  <bruno@clisp.org>
53900
53901         * MODULES.html.sh (Unicode string functions): Add the new modules.
53902
53903         * modules/uniconv/u32-conv-to-enc: New file.
53904         * lib/uniconv/u32-conv-to-enc.c: New file.
53905         * modules/uniconv/u32-conv-to-enc-tests: New file.
53906         * tests/uniconv/test-u32-conv-to-enc.c: New file.
53907
53908         * modules/uniconv/u16-conv-to-enc: New file.
53909         * lib/uniconv/u16-conv-to-enc.c: New file.
53910         * lib/uniconv/u-conv-to-enc.h: New file.
53911         * modules/uniconv/u16-conv-to-enc-tests: New file.
53912         * tests/uniconv/test-u16-conv-to-enc.c: New file.
53913
53914         * modules/uniconv/u8-conv-to-enc: New file.
53915         * lib/uniconv/u8-conv-to-enc.c: New file.
53916         * modules/uniconv/u8-conv-to-enc-tests: New file.
53917         * tests/uniconv/test-u8-conv-to-enc.c: New file.
53918
53919         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
53920         u32_conv_to_encoding): New declarations.
53921
53922 2007-06-09  Bruno Haible  <bruno@clisp.org>
53923
53924         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
53925
53926 2007-06-09  Bruno Haible  <bruno@clisp.org>
53927
53928         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
53929         * modules/malloca: Renamed from modules/allocsa, updated.
53930         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
53931         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
53932         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
53933         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
53934         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
53935         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
53936         * modules/xmalloca: Renamed from modules/xallocsa, updated.
53937         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
53938         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
53939         * modules/c-strcasestr (Depends-on): Update.
53940         * lib/c-strcasestr.c: Update.
53941         * modules/c-strstr (Depends-on): Update.
53942         * lib/c-strstr.c: Update.
53943         * modules/canonicalize-lgpl (Depends-on): Update.
53944         * lib/canonicalize-lgpl.c: Update.
53945         * modules/clean-temp (Depends-on): Update.
53946         * lib/clean-temp.c: Update.
53947         * modules/csharpcomp (Depends-on): Update.
53948         * lib/csharpcomp.c: Update.
53949         * modules/csharpexec (Depends-on): Update.
53950         * lib/csharpexec.c: Update.
53951         * modules/javacomp (Depends-on): Update.
53952         * lib/javacomp.c: Update.
53953         * modules/javaexec (Depends-on): Update.
53954         * lib/javaexec.c: Update.
53955         * modules/mbscasestr (Depends-on): Update.
53956         * lib/mbscasestr.c: Update.
53957         * modules/mbsstr (Depends-on): Update.
53958         * lib/mbsstr.c: Update.
53959         * modules/setenv (Depends-on): Update.
53960         * lib/setenv.c: Update.
53961         * modules/strcasestr (Depends-on): Update.
53962         * lib/strcasestr.c: Update.
53963         * modules/striconveha (Depends-on): Update.
53964         * lib/striconveha.c: Update.
53965         * modules/relocatable-prog-wrapper (Files): Update.
53966         * lib/relocwrapper.c: Update.
53967         * build-aux/install-reloc: Update.
53968         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
53969
53970 2007-06-08  Bruno Haible  <bruno@clisp.org>
53971
53972         Port to uClibc.
53973         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
53974         * lib/fpurge.c (fpurge): Likewise.
53975         * lib/freading.c (freading): Likewise.
53976         * lib/fseeko.c (rpl_fseeko): Likewise.
53977         * lib/fseterr.c (fseterr): Likewise.
53978         * lib/fwriting.c (fwriting): Likewise.
53979         * tests/test-fflush.c (main): Avoid a failure on uClibc.
53980
53981 2007-06-08  Bruno Haible  <bruno@clisp.org>
53982
53983         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
53984         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
53985         * modules/gettext (Files): Add m4/intlmacosx.m4.
53986
53987 2007-06-07  Bruno Haible  <bruno@clisp.org>
53988
53989         * modules/localename-tests: New file.
53990         * tests/test-localename.c: New file.
53991
53992         New module 'localename'.
53993         * lib/localename.h: New file.
53994         * lib/localename.c: New file, from GNU gettext.
53995         * m4/localename.m4: New file.
53996         * modules/localename: New file.
53997
53998 2007-06-07  Bruno Haible  <bruno@clisp.org>
53999
54000         Work around the lack of <wchar.h> on some builds of uClibc.
54001         * doc/headers/wchar.texi: Update.
54002         * lib/wchar_.h: Include <wchar.h> only if it exists.
54003         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
54004         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
54005         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
54006         doesn't exist.
54007         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
54008         * modules/mbfile (Depends-on): Add wchar.
54009         * modules/mbiter (Depends-on): Likewise.
54010         * modules/mbuiter (Depends-on): Likewise.
54011         Reported by Simon Josefsson.
54012
54013 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
54014
54015         Work around problem reported by Steven M. Schweda in
54016         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
54017         Tru64 5.1B with the Compaq compiler environment installed declares
54018         an 'isblank' function but does not define it in the C library.
54019         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
54020         * lib/regex_internal.h (isblank): Likewise.
54021         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
54022         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
54023
54024 2007-06-05  Bruno Haible  <bruno@clisp.org>
54025
54026         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
54027         ia64.
54028         * modules/printf-safe: New file.
54029         * modules/fprintf-posix (Depends-on): Add printf-safe.
54030         * modules/printf-posix (Depends-on): Likewise.
54031         * modules/snprintf-posix (Depends-on): Likewise.
54032         * modules/sprintf-posix (Depends-on): Likewise.
54033         * modules/vasnprintf-posix (Depends-on): Likewise.
54034         * modules/vasprintf-posix (Depends-on): Likewise.
54035         * modules/vfprintf-posix (Depends-on): Likewise.
54036         * modules/vprintf-posix (Depends-on): Likewise.
54037         * modules/vsnprintf-posix (Depends-on): Likewise.
54038         * modules/vsprintf-posix (Depends-on): Likewise.
54039         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
54040         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
54041         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
54042         "no" on i386, x86_64, ia64.
54043         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
54044         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54045         on i386, x86_64, ia64.
54046         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
54047         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54048         on i386, x86_64, ia64.
54049         * tests/test-vasnprintf-posix.c: Include float.h.
54050         (LDBL80_WORDS): New macro.
54051         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54052         on i386, x86_64, ia64.
54053         * tests/test-vasprintf-posix.c: Include float.h.
54054         (LDBL80_WORDS): New macro.
54055         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54056         on i386, x86_64, ia64.
54057         * tests/test-snprintf-posix.c: Include float.h.
54058         * tests/test-sprintf-posix.c: Likewise.
54059         * tests/test-vsnprintf-posix.c: Likewise.
54060         * tests/test-vsprintf-posix.c: Likewise.
54061
54062 2007-06-05  Bruno Haible  <bruno@clisp.org>
54063
54064         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
54065         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
54066         non-IEEE numbers on i386, x86_64, ia64.
54067         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
54068         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
54069         * tests/test-isnanl.h: Include float.h.
54070         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
54071
54072 2007-06-05  Bruno Haible  <bruno@clisp.org>
54073
54074         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
54075         also the %a / %A. Handle the %a / %A code before this extra handling.
54076
54077 2007-06-05  Bruno Haible  <bruno@clisp.org>
54078
54079         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
54080         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
54081
54082 2007-06-05  Bruno Haible  <bruno@clisp.org>
54083
54084         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
54085         typo in variable name.
54086
54087 2007-06-05  Eric Blake  <ebb9@byu.net>
54088
54089         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
54090         Reported by Simon Josefsson.
54091
54092 2007-06-04  Bruno Haible  <bruno@clisp.org>
54093
54094         Avoid test failures on some PowerPC platforms.
54095         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
54096         Define differently for PowerPC.
54097         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
54098         Reported by Gary V. Vaughan <gary@gnu.org>.
54099
54100 2007-06-02  Bruno Haible  <bruno@clisp.org>
54101
54102         Fix test-stdint failure on FreeBSD/ia64.
54103         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
54104         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
54105         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
54106         * doc/headers/stdint.texi: Update.
54107
54108 2007-06-01  Bruno Haible  <bruno@clisp.org>
54109
54110         * tests/test-binary-io.c (main): Pass a third argument to open().
54111         Reported by Gary V. Vaughan <gary@gnu.org>.
54112
54113 2007-06-01  Bruno Haible  <bruno@clisp.org>
54114
54115         * doc/functions/frexpl.texi: Update for mingw.
54116
54117 2007-06-01  Bruno Haible  <bruno@clisp.org>
54118
54119         * tests/test-lseek.c (main): Disable test of errno for invalid third
54120         argument.
54121         * doc/functions/lseek.texi: Update.
54122         Reported by Gary V. Vaughan <gary@gnu.org>.
54123
54124 2007-05-28  Bruno Haible  <bruno@clisp.org>
54125
54126         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
54127
54128 2007-05-31  Eric Blake  <ebb9@byu.net>
54129
54130         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
54131         cross compiling.
54132
54133 2007-05-30  Eric Blake  <ebb9@byu.net>
54134         and Bruno Haible  <bruno@clisp.org>
54135
54136         Work around mingw test failures exposed by m4-1.4.9b.
54137         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
54138         * tests/test-unistd.c: Disable uid_t and git_t tests for the
54139         moment.
54140
54141 2007-05-30  Bruno Haible  <bruno@clisp.org>
54142
54143         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
54144         assuming that they are closed. Needed on HP-UX 11.
54145
54146 2007-05-29  Bruno Haible  <bruno@clisp.org>
54147
54148         Fix a problem with #include_next.
54149         * lib/dirent_.h: Split the double-inclusion guard.
54150         * lib/fcntl_.h: Likewise.
54151         * lib/float_.h: Likewise.
54152         * lib/iconv_.h: Likewise.
54153         * lib/inttypes_.h: Likewise.
54154         * lib/locale_.h: Likewise.
54155         * lib/math_.h: Likewise.
54156         * lib/netinet_in_.h: Likewise.
54157         * lib/search_.h: Likewise.
54158         * lib/signal_.h: Likewise.
54159         * lib/stdint_.h: Likewise.
54160         * lib/stdio_.h: Likewise.
54161         * lib/stdlib_.h: Likewise.
54162         * lib/string_.h: Likewise.
54163         * lib/sys_select_.h: Likewise.
54164         * lib/sys_socket_.h: Likewise.
54165         * lib/sys_stat_.h: Likewise.
54166         * lib/sys_time_.h: Likewise.
54167         * lib/sysexits_.h: Likewise.
54168         * lib/time_.h: Likewise.
54169         * lib/unistd_.h: Likewise.
54170         * lib/wchar_.h: Likewise.
54171         * lib/wctype_.h: Likewise.
54172
54173 2007-05-29  Bruno Haible  <bruno@clisp.org>
54174
54175         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
54176         for the moment.
54177
54178 2007-05-29  Bruno Haible  <bruno@clisp.org>
54179
54180         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
54181         invocation.
54182         Reported by Eric Blake.
54183
54184 2007-05-29  Bruno Haible  <bruno@clisp.org>
54185
54186         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
54187         compiling case.
54188
54189 2007-05-29  Eric Blake  <ebb9@byu.net>
54190             Bruno Haible  <bruno@clisp.org>
54191
54192         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
54193         cross compiles.
54194
54195 2007-05-28  Eric Blake  <ebb9@byu.net>
54196
54197         * modules/closein-tests (test_closein_LDADD): Support test on
54198         cygwin with libtool.
54199
54200 2007-05-28  Bruno Haible  <bruno@clisp.org>
54201
54202         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
54203         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
54204         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
54205         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
54206         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
54207         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
54208         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
54209         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
54210         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
54211
54212 2007-05-28  Eric Blake  <ebb9@byu.net>
54213
54214         Unconditionally include <config.h> in unit tests.
54215         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
54216         * tests/test-allocsa.c, tests/test-arcfour.c,
54217         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
54218         tests/test-array_list.c, tests/test-array_oset.c,
54219         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
54220         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
54221         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
54222         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
54223         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
54224         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
54225         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
54226         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
54227         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
54228         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
54229         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
54230         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
54231         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
54232         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
54233         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
54234         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
54235         test-md5.c, test-memmem.c, test-printf-posix.c,
54236         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
54237         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
54238         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
54239         test-strcasestr.c, test-striconv.c, test-striconveh.c,
54240         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
54241         test-vasnprintf-posix2.c, test-vasnprintf.c,
54242         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
54243         test-vfprintf-posix.c, test-vprintf-posix.c,
54244         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
54245         test-xvasprintf.c: Likewise.
54246
54247 2007-05-28  Bruno Haible  <bruno@clisp.org>
54248
54249         * gnulib-tool (func_import): Remember the --with-tests command-line
54250         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
54251         Reported by Eric Blake.
54252
54253 2007-05-28  Bruno Haible  <bruno@clisp.org>
54254
54255         * modules/ftell-tests: New file.
54256         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
54257         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
54258
54259         * lib/ftell.c: New file.
54260         * modules/ftell: New file.
54261         * m4/ftell.m4: New file.
54262         * doc/functions/ftell.texi: Update.
54263         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
54264         REPLACE_FTELL.
54265         * lib/stdio_.h (rpl_ftell): New declaration.
54266         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
54267         REPLACE_FTELL.
54268
54269 2007-05-28  Eric Blake  <ebb9@byu.net>
54270
54271         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
54272
54273 2007-05-28  Bruno Haible  <bruno@clisp.org>
54274
54275         * modules/fseek-tests: New file.
54276         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
54277         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
54278
54279         * lib/fseek.c: New file.
54280         * modules/fseek: New file.
54281         * m4/fseek.m4: New file.
54282         * doc/functions/fseek.texi: Update.
54283         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
54284         REPLACE_FSEEK.
54285         * lib/stdio_.h (rpl_fseek): New declaration.
54286         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
54287         REPLACE_FSEEK.
54288
54289 2007-05-28  Bruno Haible  <bruno@clisp.org>
54290
54291         * lib/stdio_.h (fflush): More comments.
54292
54293 2007-05-28  Bruno Haible  <bruno@clisp.org>
54294
54295         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
54296         runtime test.
54297
54298 2007-05-28  Eric Blake  <ebb9@byu.net>
54299
54300         Improve lseek module.
54301         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
54302         * lib/unistd_.h (lseek): Scale back link warning message.
54303         * tests/test-lseek.c: Beef up test.
54304         * tests/test-lseek.sh: Exercise more facets of lseek.
54305         Reported by Bruno Haible.
54306
54307 2007-05-28  Bruno Haible  <bruno@clisp.org>
54308
54309         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
54310         to define.
54311
54312 2007-05-27  Bruno Haible  <bruno@clisp.org>
54313
54314         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
54315
54316 2007-05-27  Bruno Haible  <bruno@clisp.org>
54317
54318         * modules/openmp: New file.
54319         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
54320         Noah Misch.
54321
54322 2007-05-26  Bruno Haible  <bruno@clisp.org>
54323
54324         * modules/chdir-long (Depends-on): Add fchdir.
54325         * modules/chdir-safer (Depends-on): Likewise.
54326         * modules/fts (Depends-on): Likewise.
54327         * modules/fts-lgpl (Depends-on): Likewise.
54328         * modules/openat (Depends-on): Likewise.
54329         * modules/savewd (Depends-on): Likewise.
54330
54331 2007-05-24  Eric Blake  <ebb9@byu.net>
54332
54333         Fix lseek on mingw.
54334         * modules/lseek: New module.
54335         * m4/lseek.m4: New file.
54336         * lib/lseek.c: New file.
54337         * modules/lseek-tests: New file.
54338         * tests/test-lseek.c: New file.
54339         * tests/test-lseek.sh: New file.
54340         * MODULES.html.sh: Document lseek module.
54341         * modules/fflush (Depends-on): Add lseek, fseeko.
54342         * modules/fseeko (Depends-on): Likewise.
54343         * modules/ftello (Depends-on): Likewise.
54344         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
54345         broken.
54346         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
54347         broken.
54348         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
54349         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
54350         * lib/ftello.c (rpl_ftello): Likewise.
54351         * tests/test-fseeko.c (main): Test this.
54352         * tests/test-fseeko.sh: Likewise.
54353         * tests/test-ftello.c (main): Likewise.
54354         * tests/test-ftello.sh: Likewise.
54355         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
54356         implies replacing fseek.
54357         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
54358         HAVE_FTELLO.
54359         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
54360         * modules/unistd (Makefile.am): Likewise.
54361         * lib/unistd_.h (lseek): Declare a replacement.
54362         * doc/functions/lseek.texi (lseek): Document this fix.
54363         * doc/functions/fseek.texi (fseek): Likewise.
54364         * doc/functions/ftell.texi (ftell): Likewise.
54365
54366 2007-05-24  Bruno Haible  <bruno@clisp.org>
54367
54368         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
54369         in the printed representation of a NaN.
54370         * tests/test-vasprintf-posix.c (test_function): Likewise.
54371         * tests/test-snprintf-posix.h (test_function): Likewise.
54372         * tests/test-sprintf-posix.h (test_function): Likewise.
54373         Reported by Eric Blake.
54374
54375 2007-05-23  Eric Blake  <ebb9@byu.net>
54376
54377         Fix fseeko/ftello on cygwin 1.5.24.
54378         * doc/functions/fseeko.texi (fseeko): Document the fix.
54379         * doc/functions/ftello.texi (ftello): Document the fix.
54380         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
54381         * doc/functions/stdout.text (stdout): New file.
54382         * doc/functions/stderr.text (stderr): New file.
54383         * doc/gnulib.texi (Function Substitutes): Use new files.
54384         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
54385         prior to 1.7.0.
54386         * tests/test-ftello.c (main): Likewise for ftello.
54387         * tests/test-fseeko.sh: New file.
54388         * tests/test-ftello.sh: New file.
54389         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
54390         with seekable stdin.
54391         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
54392         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
54393         (gl_REPLACE_FSEEKO): New macro.
54394         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
54395         * modules/fseeko (Files): Distribute fseeko.c.
54396         * modules/ftello (Files): Distribute ftello.c.
54397         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
54398         mode.
54399         * lib/ftello.c (rpl_ftello): New file.
54400         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
54401         fseeko, ftello.
54402         (gl_STDIN_LARGE_OFFSET): New macro.
54403         * modules/stdio (Makefile.am): Perform the replacement.
54404         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
54405
54406 2007-05-23  Bruno Haible  <bruno@clisp.org>
54407
54408         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
54409         GNULIB_POSIXCHECK is defined.
54410
54411 2007-05-21  Bruno Haible  <bruno@clisp.org>
54412
54413         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
54414         Check also the output for NaN arguments. When cross-compiling, guess
54415         no on IRIX.
54416         * lib/vasnprintf.c: Update comments.
54417         * tests/test-vasnprintf-posix.c (strisnan): New function.
54418         (test_function): Use it.
54419         * tests/test-vasprintf-posix.c (strisnan): New function.
54420         (test_function): Use it.
54421         * tests/test-snprintf-posix.h (strisnan): New function.
54422         (test_function): Use it.
54423         * tests/test-sprintf-posix.h (strisnan): New function.
54424         (test_function): Use it.
54425         Reported by Eric Blake.
54426
54427 2007-05-20  Bruno Haible  <bruno@clisp.org>
54428
54429         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
54430         numbers that fails on BeOS.
54431         * doc/functions/frexpl.texi: Update.
54432
54433 2007-05-20  Jim Meyering  <jim@meyering.net>
54434
54435         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
54436         forced upon us by glibc-2.6.
54437
54438 2007-05-20  Bruno Haible  <bruno@clisp.org>
54439
54440         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
54441         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
54442         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
54443         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
54444         NEED_PRINTF_INFINITE.
54445         (is_infinitel): New function.
54446         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
54447         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
54448         gl_PREREQ_VASNPRINTF_INFINITE.
54449         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
54450         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54451         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
54452         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
54453         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
54454         gl_PREREQ_VASNPRINTF_INFINITE.
54455         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54456         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54457         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54458         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54459         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54460         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54461         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54462         * doc/functions/fprintf.texi: Update.
54463         * doc/functions/printf.texi: Update.
54464         * doc/functions/snprintf.texi: Update.
54465         * doc/functions/sprintf.texi: Update.
54466         * doc/functions/vfprintf.texi: Update.
54467         * doc/functions/vprintf.texi: Update.
54468         * doc/functions/vsnprintf.texi: Update.
54469         * doc/functions/vsprintf.texi: Update.
54470
54471 2007-05-20  Bruno Haible  <bruno@clisp.org>
54472
54473         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
54474         was not found in libc.
54475         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
54476
54477 2007-05-20  Bruno Haible  <bruno@clisp.org>
54478
54479         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
54480         printed as "-nan" instead of "nan".
54481         * tests/test-vasprintf-posix.c (test_function): Likewise.
54482         * tests/test-snprintf-posix.h (test_function): Likewise.
54483         * tests/test-sprintf-posix.h (test_function): Likewise.
54484         Needed for HP-UX 11.
54485
54486 2007-05-20  Jim Meyering  <jim@meyering.net>
54487
54488         Fix buggy test for the fchownat-deref bug.
54489         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
54490         symlink required for the run-test.  Without it, this test would
54491         always declare that fchownat doesn't work, and client code would
54492         unnecessarily use the replacement function with fixed libc.
54493         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
54494         Reported by Greg Schafer.
54495
54496 2007-05-19  Bruno Haible  <bruno@clisp.org>
54497
54498         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
54499         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
54500         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
54501         Needed for IRIX 6.5 and Solaris 2.5.1.
54502
54503 2007-05-19  Bruno Haible  <bruno@clisp.org>
54504
54505         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
54506         (test_function): Skip tests involving -0.0 on platforms where
54507         -0.0 = 0.0.
54508         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
54509         (test_function): Skip tests involving -0.0 on platforms where
54510         -0.0 = 0.0.
54511         * tests/test-snprintf-posix.h (have_minus_zero): New function.
54512         (test_function): Skip tests involving -0.0 on platforms where
54513         -0.0 = 0.0.
54514         * tests/test-sprintf-posix.h (have_minus_zero): New function.
54515         (test_function): Skip tests involving -0.0 on platforms where
54516         -0.0 = 0.0.
54517         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
54518         tests.
54519         * tests/test-printf-posix.h (test_function): Likewise.
54520         * tests/test-printf-posix.output: Remove all -0.0 related results.
54521         Needed for IRIX 6.5.
54522
54523 2007-05-19  Bruno Haible  <bruno@clisp.org>
54524
54525         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
54526         printed as "nan0x7fffffff" instead of "nan".
54527         * tests/test-vasprintf-posix.c (test_function): Likewise.
54528         * tests/test-snprintf-posix.h (test_function): Likewise.
54529         * tests/test-sprintf-posix.h (test_function): Likewise.
54530         * tests/test-fprintf-posix.h (NaN): Remove macro.
54531         (test_function): Remove all NaN related tests.
54532         * tests/test-printf-posix.h (NaN): Remove macro.
54533         (test_function): Remove all NaN related tests.
54534         * tests/test-printf-posix.output: Remove all NaN related results.
54535         Needed for IRIX 6.5.
54536
54537 2007-05-19  Bruno Haible  <bruno@clisp.org>
54538
54539         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
54540         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
54541
54542 2007-05-19  Bruno Haible  <bruno@clisp.org>
54543
54544         * lib/float_.h: New file.
54545         * m4/float_h.m4: New file.
54546         * modules/float: New file.
54547         * modules/isnanl (Dependencies): Add float.
54548         * modules/isnanl-nolibm (Dependencies): Likewise.
54549         * modules/mathl (Dependencies): Likewise.
54550         * modules/printf-frexpl (Dependencies): Likewise.
54551         * modules/signbit (Dependencies): Likewise.
54552         * modules/vasnprintf (Dependencies): Likewise.
54553         * doc/headers/float.texi: Update.
54554
54555 2007-05-19  Jim Meyering  <jim@meyering.net>
54556
54557         * lib/utimens.c (gl_futimens): Rename from futimens,
54558         now that glibc-2.6 declares futimens.
54559         * lib/utimens.h: Likewise.
54560
54561 2007-05-19  Bruno Haible  <bruno@clisp.org>
54562
54563         Avoid test failures on mingw.
54564         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
54565         * tests/test-printf-posix.sh: Likewise.
54566         * tests/test-vfprintf-posix.sh: Likewise.
54567         * tests/test-vprintf-posix.sh: Likewise.
54568
54569 2007-05-19  Bruno Haible  <bruno@clisp.org>
54570
54571         Fix *printf result for NaN, Inf, -0.0 on mingw.
54572         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
54573         * lib/vasnprintf.c: Include math.h and isnan.h.
54574         (is_infinite_or_zero): New function.
54575         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
54576         values in the %f, %F, %e, %E, %g, %G directives.
54577         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
54578         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54579         gl_PRINTF_INFINITE and test its result. Invoke
54580         gl_PREREQ_VASNPRINTF_INFINITE.
54581         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54582         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54583         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54584         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54585         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54586         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54587         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54588         * doc/functions/fprintf.texi: Update.
54589         * doc/functions/printf.texi: Update.
54590         * doc/functions/snprintf.texi: Update.
54591         * doc/functions/sprintf.texi: Update.
54592         * doc/functions/vfprintf.texi: Update.
54593         * doc/functions/vprintf.texi: Update.
54594         * doc/functions/vsnprintf.texi: Update.
54595         * doc/functions/vsprintf.texi: Update.
54596
54597 2007-05-19  Bruno Haible  <bruno@clisp.org>
54598
54599         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
54600         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
54601         Instead of multiplying with 10^k, set extra_zeroes to k.
54602         (scale10_round_long_double): Remove function.
54603
54604 2007-05-18  Bruno Haible  <bruno@clisp.org>
54605
54606         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
54607         introduced on 2007-05-06.
54608
54609 2007-05-18  Bruno Haible  <bruno@clisp.org>
54610
54611         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
54612         %g directives.
54613         * tests/test-vasprintf-posix.c (test_function): Likewise.
54614         * tests/test-snprintf-posix.h (test_function): Likewise.
54615         * tests/test-sprintf-posix.h (test_function): Likewise.
54616
54617 2007-05-18  Bruno Haible  <bruno@clisp.org>
54618
54619         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
54620         (strmatch): New function.
54621         (test_function): Test the %f directive on numbers of various exponents.
54622         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
54623         (strmatch): New function.
54624         (test_function): Test the %f directive on numbers of various exponents.
54625         * tests/test-snprintf-posix.h (strmatch): New function.
54626         (test_function): Test the %f directive on numbers of various exponents.
54627         * tests/test-sprintf-posix.h (strmatch): New function.
54628         (test_function): Test the %f directive on numbers of various exponents.
54629         * tests/test-snprintf-posix.c (SIZEOF): New macro.
54630         * tests/test-sprintf-posix.c (SIZEOF): New macro.
54631         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
54632         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
54633
54634 2007-05-18  Bruno Haible  <bruno@clisp.org>
54635
54636         Add support for 'long double' number output.
54637         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
54638         * lib/vasnprintf.c: Include math.h and float+.h.
54639         (mp_limb_t): New type.
54640         (GMP_LIMB_BITS): New macro.
54641         (mp_twolimb_t): New type.
54642         (GMP_TWOLIMB_BITS): New macro.
54643         (mpn_t): New type.
54644         (multiply, divide, convert_to_decimal, decode_long_double,
54645         scale10_round_long_double, scale10_round_decimal_long_double,
54646         floorlog10l): New functions.
54647         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
54648         for the %f, %F, %e, %E, %g, %G directives.
54649         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
54650         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54651         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
54652         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
54653         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54654         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54655         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54656         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54657         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54658         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54659         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54660         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
54661         * modules/snprintf-posix (Depends-on): Likewise.
54662         * modules/sprintf-posix (Depends-on): Likewise.
54663         * modules/vasnprintf-posix (Depends-on): Likewise.
54664         * modules/vasprintf-posix (Depends-on): Likewise.
54665         * modules/vfprintf-posix (Depends-on): Likewise.
54666         * modules/vsnprintf-posix (Depends-on): Likewise.
54667         * modules/vsprintf-posix (Depends-on): Likewise.
54668         * modules/vasnprintf (Files): Add lib/float+.h.
54669         * doc/functions/fprintf.texi: Update.
54670         * doc/functions/printf.texi: Update.
54671         * doc/functions/snprintf.texi: Update.
54672         * doc/functions/sprintf.texi: Update.
54673         * doc/functions/vfprintf.texi: Update.
54674         * doc/functions/vprintf.texi: Update.
54675         * doc/functions/vsnprintf.texi: Update.
54676         * doc/functions/vsprintf.texi: Update.
54677
54678 2007-05-18  Bruno Haible  <bruno@clisp.org>
54679
54680         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
54681
54682 2007-05-18  Bruno Haible  <bruno@clisp.org>
54683
54684         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
54685         for printing 64-bit integers. Needed for mingw.
54686
54687 2007-05-18  Bruno Haible  <bruno@clisp.org>
54688
54689         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
54690         gl_FUNC_FREXPL_WORKS.
54691         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
54692
54693 2007-05-18  Bruno Haible  <bruno@clisp.org>
54694
54695         * modules/frexpl-nolibm-tests: New file.
54696
54697         * modules/frexpl-nolibm: New file.
54698         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
54699
54700 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
54701
54702         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
54703         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
54704         GCC 4.2, which otherwise issues a lot of warnings.
54705         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
54706         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
54707         Likewise.
54708         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
54709         * modules/iconv_open (iconv.h): Likewise.
54710         * modules/locale (locale.h): Likewise.
54711         * modules/netinet_in (netinet/in.h): Likewise.
54712         * modules/sys_select (sys_select.h): Likewise.
54713         * modules/sys_socket (sys/socket.h): Likewise.
54714         * modules/sys_stat (sys/stat.h): Likewise.
54715         * modules/sysexits (sysexits.h): Likewise.
54716         * modules/unistd (unistd.h): Likewise.
54717
54718 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54719
54720         * modules/closein-tests (Makefile.am): Distribute
54721         `test-closein.sh'.
54722
54723 2007-05-17  Bruno Haible  <bruno@clisp.org>
54724
54725         * tests/test-printf-posix.output: Renamed from
54726         tests/test-fprintf-posix.out.
54727         * modules/fprintf-posix-tests: Update.
54728         * modules/printf-posix-tests: Update.
54729         * modules/vfprintf-posix-tests: Update.
54730         * modules/vprintf-posix-tests: Update.
54731         * tests/test-fprintf-posix.sh: Update.
54732         * tests/test-printf-posix.sh: Update.
54733         * tests/test-vfprintf-posix.sh: Update.
54734         * tests/test-vprintf-posix.sh: Update.
54735         Reported by Ralf Wildenhues.
54736
54737 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
54738
54739         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
54740         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
54741         GCC 4.2, which otherwise issues a lot of warnings.
54742         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
54743         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
54744         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
54745         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
54746         it should no longer be needed.
54747         * lib/string_.h: Likewise.
54748         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
54749         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
54750         * modules/inttypes (inttypes.h): Likewise.
54751         * modules/math (math.h): Likewise.
54752         * modules/search (search.h): Likewise.
54753         * modules/signal (signal.h): Likewise.
54754         * modules/stdint (stdint.h): Likewise.
54755         * modules/stdio (stdio.h): Likewise.
54756         * modules/stdlib (stdlib.h): Likewise.
54757         * modules/string (string.h): Likewise.
54758         * modules/sys_time (sys/time.h): Likewise.
54759         * modules/time (time.h): Likewise.
54760         * modules/wchar (wchar.h): Likewise.
54761         * modules/wctype (wtype.h): Likewise.
54762
54763 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
54764
54765         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
54766
54767 2007-05-13  Bruno Haible  <bruno@clisp.org>
54768
54769         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
54770         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
54771         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
54772         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
54773         (gl_PREREQ_STRTOK_R): Don't require it here.
54774
54775 2007-05-13  Bruno Haible  <bruno@clisp.org>
54776
54777         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
54778         when used in C++ mode.
54779
54780 2007-05-12  Bruno Haible  <bruno@clisp.org>
54781
54782         * lib/linebuffer.h: Tweak doc.
54783         * lib/linebuffer.c: Likewise.
54784
54785 2007-05-12  James Youngman  <jay@gnu.org>
54786
54787         * lib/linebuffer.c (readlinebuffer_delim): New function,
54788         like readlinebuffer, but use a caller-specified delimiter.
54789         (readlinebuffer): Just call readlinebuffer_delim with '\n'
54790         as the delimiter.
54791         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
54792
54793 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54794
54795         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
54796         * modules/openat (Files): Remove openat-die.c.
54797         (Depends-on): Add openat-die.
54798         * modules/openat-die: New module.
54799
54800 2007-05-06  Bruno Haible  <bruno@clisp.org>
54801
54802         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
54803         Update with info about Cygwin.
54804         * doc/functions/fprintf.texi: Update.
54805         * doc/functions/printf.texi: Update.
54806         * doc/functions/snprintf.texi: Update.
54807         * doc/functions/sprintf.texi: Update.
54808         * doc/functions/vfprintf.texi: Update.
54809         * doc/functions/vprintf.texi: Update.
54810         * doc/functions/vsnprintf.texi: Update.
54811         * doc/functions/vsprintf.texi: Update.
54812         Reported by Eric Blake.
54813
54814 2007-05-06  Bruno Haible  <bruno@clisp.org>
54815
54816         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
54817         padding ourselves for the floating-point directives.
54818         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
54819         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
54820         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54821         gl_PRINTF_FLAG_ZERO and test its result. Invoke
54822         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
54823         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54824         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
54825         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54826         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54827         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54828         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54829         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54830         * tests/test-snprintf-posix.h (test_function): Also check the width
54831         and some flags in the %f directive.
54832         * tests/test-sprintf-posix.h (test_function): Likewise.
54833         * tests/test-vasnprintf-posix.c (test_function): Likewise.
54834         * tests/test-vasprintf-posix.c (test_function): Likewise.
54835         * doc/functions/fprintf.texi: Update.
54836         * doc/functions/printf.texi: Update.
54837         * doc/functions/snprintf.texi: Update.
54838         * doc/functions/sprintf.texi: Update.
54839         * doc/functions/vfprintf.texi: Update.
54840         * doc/functions/vprintf.texi: Update.
54841         * doc/functions/vsnprintf.texi: Update.
54842         * doc/functions/vsprintf.texi: Update.
54843
54844 2007-05-06  Bruno Haible  <bruno@clisp.org>
54845
54846         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
54847         pass the ' flag character to sprintf or snprintf.
54848         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
54849         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
54850         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54851         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
54852         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
54853         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54854         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
54855         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54856         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54857         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54858         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54859         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54860         * tests/test-snprintf-posix.h (test_function): Also check the grouping
54861         flag.
54862         * tests/test-sprintf-posix.h (test_function): Likewise.
54863         * tests/test-vasnprintf-posix.c (test_function): Likewise.
54864         * tests/test-vasprintf-posix.c (test_function): Likewise.
54865         * doc/functions/fprintf.texi: Update.
54866         * doc/functions/printf.texi: Update.
54867         * doc/functions/snprintf.texi: Update.
54868         * doc/functions/sprintf.texi: Update.
54869         * doc/functions/vfprintf.texi: Update.
54870         * doc/functions/vprintf.texi: Update.
54871         * doc/functions/vsnprintf.texi: Update.
54872         * doc/functions/vsprintf.texi: Update.
54873
54874 2007-05-01  Bruno Haible  <bruno@clisp.org>
54875
54876         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
54877
54878 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
54879
54880         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
54881         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
54882
54883 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
54884
54885         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
54886         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
54887         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
54888
54889 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
54890
54891         * lib/argp-help.c (struct hol_entry): New member `ord'.
54892         (HOL_ENTRY_PTRCMP): Use ord for comparison
54893         (hol_sort): Initialize ord.
54894
54895 2007-05-01  Bruno Haible  <bruno@clisp.org>
54896
54897         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
54898         Reported by Eric Blake.
54899         * doc/gnulib.texi (Function Substitutes): Update.
54900
54901 2007-05-01  Bruno Haible  <bruno@clisp.org>
54902
54903         * doc/functions.texi: Remove file, now redundant through
54904         doc/functions/*.texi.
54905
54906 2007-05-01  Bruno Haible  <bruno@clisp.org>
54907
54908         * modules/argp (Depends-on): Add sleep.
54909
54910 2007-05-01  Bruno Haible  <bruno@clisp.org>
54911
54912         * modules/sleep-tests: New file.
54913         * tests/test-sleep.c: New file.
54914
54915         * modules/sleep: New file.
54916         * lib/sleep.c: New file.
54917         * m4/sleep.m4: New file.
54918         * lib/unistd_.h (sleep): New declaration.
54919         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
54920         HAVE_SLEEP.
54921         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
54922         * doc/functions/sleep.texi: Document the sleep module.
54923
54924 2007-05-01  Bruno Haible  <bruno@clisp.org>
54925
54926         * lib/sigprocmask.h: Remove file.
54927         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
54928         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
54929         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
54930         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
54931         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
54932         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
54933         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
54934         HAVE_SIGSET_T as a shell variable.
54935         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
54936         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
54937         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
54938         (Depends-on): Add signal. Remove verify.
54939         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
54940         (Include): Mention <signal.h> instead of sigprocmask.h.
54941         * NEWS: Mention the change.
54942         * lib/fatal-signal.c: Don't include sigprocmask.h.
54943
54944 2007-05-01  Bruno Haible  <bruno@clisp.org>
54945
54946         * modules/signal: New file.
54947         * lib/signal_.h: New file.
54948         * m4/signal_h.m4: New file.
54949
54950 2007-05-01  Bruno Haible  <bruno@clisp.org>
54951
54952         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
54953         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
54954         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
54955         HAVE_WCTYPE_CTMP_BUG into wctype.h.
54956
54957 2007-05-01  Bruno Haible  <bruno@clisp.org>
54958
54959         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
54960         configure time.
54961         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
54962         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
54963         * modules/sys_stat (Makefile.am): Substitute their values into
54964         sys/stat.h.
54965
54966 2007-05-01  Bruno Haible  <bruno@clisp.org>
54967
54968         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
54969         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
54970         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
54971
54972 2007-05-01  Bruno Haible  <bruno@clisp.org>
54973
54974         * doc/header/assert.texi: Undo last change: don't mention the gnulib
54975         'assert' module here.
54976
54977 2007-05-01  Bruno Haible  <bruno@clisp.org>
54978
54979         * doc/functions/*.texi: New files.
54980         * doc/functions/google-ranking.txt: New file.
54981         * doc/gnulib.texi (Function Substitutes): New chapter.
54982         (ctime, inet_ntoa): Remove sections.
54983         * doc/ctime.texi: Remove file.
54984         * doc/inet_ntoa.texi: Remove file.
54985         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
54986         dependencies.
54987         (%.info): New rule, specifying a --reference-limit.
54988
54989 2007-05-01  Bruno Haible  <bruno@clisp.org>
54990
54991         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
54992
54993 2007-05-01  Bruno Haible  <bruno@clisp.org>
54994
54995         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
54996         the portability of 'mkdir' to mingw systems.
54997
54998 2007-05-01  Bruno Haible  <bruno@clisp.org>
54999
55000         * doc/headers/google-ranking.txt: New file.
55001
55002 2007-04-30  Eric Blake  <ebb9@byu.net>
55003
55004         Prefer fseeko to fseek.
55005         * modules/getpass (Depends-on): Add fseeko.
55006         * lib/getpass.c (getpass): Use fseeko, not fseek.
55007
55008 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
55009
55010         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
55011         assumes the sorting is stable, while most qsort implementations
55012         are not.  Use argument addresses to ensure they never compare as
55013         equal.
55014
55015         * tests/test-argp-2.sh (usage-indent test): Fix output
55016         (func_compare): Restore diff options
55017         * tests/test-argp.c: Restore #include "progname.h"
55018
55019 2007-04-29  Bruno Haible  <bruno@clisp.org>
55020
55021         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
55022         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55023         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
55024         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55025         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
55026         (configure.ac): Define CHECK_SNPRINTF_POSIX.
55027         (TESTS, check_PROGRAMS): Add test-snprintf.
55028         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
55029         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
55030         (TESTS, check_PROGRAMS): Add test-vsnprintf.
55031         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
55032         assertions that fail on HP-UX, OSF/1, or IRIX.
55033         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
55034
55035 2007-04-29  Bruno Haible  <bruno@clisp.org>
55036
55037         * MODULES.html.sh (posix_functions): Remove 'contents'.
55038
55039 2007-04-29  Karl Berry  <karl@gnu.org>
55040
55041         * config/srclist.txt (gendocs_template_min): new entry.
55042
55043 2007-04-29  Bruno Haible  <bruno@clisp.org>
55044
55045         Work around fpurge bug on BSD systems.
55046         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
55047         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
55048         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
55049         fpurge to rpl_fpurge if the system already has this function.
55050         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
55051         the case where the system already has this function. Correct invariants
55052         on BSD systems.
55053         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
55054         BSD systems.
55055
55056 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
55057
55058         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
55059         proposed by Sven Verdoolaege.
55060
55061         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
55062         options.
55063         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
55064         (usage and help tests): Update
55065
55066 2007-04-29  Bruno Haible  <bruno@clisp.org>
55067
55068         * tests/test-fflush.c (main): Use a file of size 17, not 10.
55069         Print more information in case of failure. Disable a test on BeOS.
55070
55071 2007-04-29  Bruno Haible  <bruno@clisp.org>
55072
55073         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
55074         This helps debugging on systems on which no gdb is available.
55075
55076 2007-04-29  Bruno Haible  <bruno@clisp.org>
55077
55078         * lib/freading.h: Improve comments.
55079         * lib/fwriting.h: Likewise.
55080         * tests/test-freading.c (main): Don't check freading immediately after
55081         repositioning. Needed for glibc.
55082
55083 2007-04-29  Bruno Haible  <bruno@clisp.org>
55084
55085         * lib/freading.c (freading): Trivial simplification.
55086
55087 2007-04-28  Bruno Haible  <bruno@clisp.org>
55088
55089         * tests/test-fwriting.c (main): Also test the interaction between
55090         fflush and fwriting.
55091         * modules/fwriting-tests (Depends-on): Add fflush.
55092
55093         * tests/test-freading.c (main): Also test the interaction between
55094         fflush and freading.
55095         * modules/freading-tests (Depends-on): Add fflush.
55096
55097 2007-04-28  Bruno Haible  <bruno@clisp.org>
55098
55099         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
55100         fseeko and ftello.
55101         Suggested by Eric Blake.
55102
55103 2007-04-28  Jim Meyering  <jim@meyering.net>
55104
55105         Avoid false-negative in gl_STDINT_H's C99 conformance test.
55106         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
55107         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
55108
55109 2007-04-27  Eric Blake  <ebb9@byu.net>
55110
55111         * doc/headers/assert.texi (assert.h): Document assert module use.
55112
55113 2007-04-27  Bruno Haible  <bruno@clisp.org>
55114
55115         * doc/headers/*.texi: New files.
55116         * doc/gnulib.texi (Header File Substitutes): New chapter.
55117         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
55118         dependencies.
55119         (standards.info ,standards.html, standards.dvi): Update dependencies.
55120         (mostlyclean, clean): New targets.
55121
55122 2007-04-27  Bruno Haible  <bruno@clisp.org>
55123
55124         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
55125         * modules/sysexits (Files, Makefile.am): Update.
55126
55127         * lib/sys_socket_.h: Renamed from lib/socket_.h.
55128         * modules/sys_socket (Files, Makefile.am): Update.
55129
55130         * lib/sys_stat_.h: Renamed from lib/stat_.h.
55131         * modules/sys_stat (Files, Makefile.am): Update.
55132
55133 2007-04-27  Eric Blake  <ebb9@byu.net>
55134
55135         * lib/freading.h: Improve comments.
55136         * lib/fwriting.h: Likewise.
55137         * lib/fflush.c: Likewise.
55138
55139         Fix closein for mingw.
55140         * modules/closein-tests: Add tests for closein.
55141         * tests/test-closein.c: New file.
55142         * tests/test-closein.sh: Likewise.
55143         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
55144         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
55145
55146 2007-04-27  Bruno Haible  <bruno@clisp.org>
55147
55148         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
55149         version is < 6.
55150         * lib/math_.h [__DECC]: Likewise.
55151         * lib/stdio_.h [__DECC]: Likewise.
55152         * lib/stdlib_.h [__DECC]: Likewise.
55153         * lib/string_.h [__DECC]: Likewise.
55154         * lib/time_.h [__DECC]: Likewise.
55155         * lib/wchar_.h [__DECC]: Likewise.
55156         * lib/wctype_.h [__DECC]: Likewise.
55157
55158 2007-04-27  Bruno Haible  <bruno@clisp.org>
55159
55160         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
55161
55162 2007-04-27  Bruno Haible  <bruno@clisp.org>
55163
55164         * lib/fflush.c: Add comments.
55165         * modules/fpurge-tests (Depends-on): Add fflush.
55166         * modules/freadable-tests (Depends-on): Likewise.
55167         * modules/fwritable-tests (Depends-on): Likewise.
55168
55169 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
55170
55171         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
55172         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
55173         Report by Bruno Haible <bruno@clisp.org>.
55174
55175 2007-04-26  Eric Blake  <ebb9@byu.net>
55176
55177         Fix fflush on mingw.
55178         * modules/fflush (Depends-on): Add freading.
55179         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
55180         but unread data.
55181
55182 2007-04-26  Eric Blake  <ebb9@byu.net>
55183         and Bruno Haible  <bruno@clisp.org>
55184
55185         Implement freading and fwriting.
55186         * lib/freading.c: New file.
55187         * lib/freading.h: Likewise.
55188         * m4/freading.m4: Likewise.
55189         * modules/freading: Likewise.
55190         * modules/freading-tests: Likewise.
55191         * tests/test-freading.c: Likewise.
55192         * lib/fwriting.c: New file.
55193         * lib/fwriting.h: Likewise.
55194         * m4/fwriting.m4: Likewise.
55195         * modules/fwriting: Likewise.
55196         * modules/fwriting-tests: Likewise.
55197         * tests/test-fwriting.c: Likewise.
55198         * MODULES.html.sh (File stream based Input/Output): Mention them.
55199
55200 2007-04-26  Bruno Haible  <bruno@clisp.org>
55201
55202         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
55203         'long' when we assume it.
55204         Suggested by Eric Blake.
55205
55206 2007-04-26  Bruno Haible  <bruno@clisp.org>
55207
55208         Ensure fseeko, ftello are declared on glibc systems.
55209         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
55210         * modules/fseeko (configure.ac-early): Likewise.
55211         * modules/ftello (configure.ac-early): Likewise.
55212         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
55213         AC_FUNC_FSEEKO for this.
55214         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
55215         (gl_CHECK_FSEEKO): Remove macro.
55216
55217 2007-04-26  Bruno Haible  <bruno@clisp.org>
55218
55219         * tests/test-fflush.c (main): Also check the ftell result after
55220         fflush and fseek/fseeko.
55221         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
55222         file descriptor position cache in the stream.
55223         * lib/fseeko.c (rpl_fseeko): Likewise.
55224
55225 2007-04-26  Bruno Haible  <bruno@clisp.org>
55226
55227         * modules/fflush-tests (Depends-on): Add fseeko.
55228
55229 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
55230             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55231
55232         * lib/argz_.h: ensure error_t definition is obtained in same
55233         mechanism system argz.h would have.
55234         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
55235         argz facilities are known bad.  Err on the side of caution if
55236         cross-compiling.
55237
55238 2007-04-25  Eric Blake  <ebb9@byu.net>
55239
55240         * lib/fpurge.c (includes): Use stdlib.h for free.
55241         * tests/test-fflush.c (main): Also test fflush-fseeko.
55242
55243 2007-04-25  Bruno Haible  <bruno@clisp.org>
55244
55245         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
55246         * lib/fseeko.c: New file.
55247         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
55248         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
55249         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
55250         gl_FUNC_FSEEKO.
55251         (gl_FUNC_FSEEKO): Invoke it.
55252         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
55253         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
55254         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
55255
55256 2007-04-25  Bruno Haible  <bruno@clisp.org>
55257
55258         * modules/fflush (Depends-on): Add ftello.
55259
55260 2007-04-25  Bruno Haible  <bruno@clisp.org>
55261
55262         * modules/ftello-tests: New file.
55263         * tests/test-ftello.c: New file.
55264
55265         * modules/ftello: New file.
55266         * m4/ftello.m4: New file.
55267         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
55268         HAVE_FTELLO.
55269         * lib/stdio_.h (ftello): New declaration.
55270         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
55271         HAVE_FTELLO.
55272
55273 2007-04-25  Bruno Haible  <bruno@clisp.org>
55274
55275         * modules/fseeko-tests: New file.
55276         * tests/test-fseeko.c: New file.
55277
55278         * modules/fseeko: New file.
55279         * m4/fseeko.m4: New file.
55280         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
55281         HAVE_FSEEKO.
55282         * lib/stdio_.h (fseeko): New declaration.
55283         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
55284         HAVE_FSEEKO.
55285
55286 2007-04-25  Bruno Haible  <bruno@clisp.org>
55287
55288         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
55289
55290 2007-04-25  Bruno Haible  <bruno@clisp.org>
55291
55292         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
55293         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
55294         * tests/test-unistd.c: Likewise.
55295         * tests/test-fcntl.c: Likewise.
55296
55297 2007-04-23  Eric Blake  <ebb9@byu.net>
55298
55299         * lib/fflush.c: Fix missing include.
55300         Reported by Bruno Haible.
55301
55302 2007-04-23  Bruno Haible  <bruno@clisp.org>
55303
55304         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
55305         Reported by Eric Blake.
55306
55307 2007-04-23  Bruno Haible  <bruno@clisp.org>
55308
55309         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
55310
55311 2007-04-23  Bruno Haible  <bruno@clisp.org>
55312
55313         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
55314
55315 2007-04-23  Bruno Haible  <bruno@clisp.org>
55316
55317         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
55318         Needed on HP-UX 11.
55319
55320 2007-04-16  Eric Blake  <ebb9@byu.net>
55321
55322         Make fflush rely on fpurge.
55323         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
55324         open coding all variants.
55325         * modules/fflush (Depends-on): Add fpurge and unistd.
55326         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
55327         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
55328
55329         Fix --with-tests compilation on cygwin.
55330         * modules/argmatch-tests (Makefile.am): List gnulib library first
55331         in LDADD.
55332         * modules/argp-tests (Makefile.am): Likewise.
55333         * modules/array-list-tests (Makefile.am): Likewise.
55334         * modules/array-oset-tests (Makefile.am): Likewise.
55335         * modules/avltree-list-tests (Makefile.am): Likewise.
55336         * modules/avltree-oset-tests (Makefile.am): Likewise.
55337         * modules/avltreehash-list-tests (Makefile.am): Likewise.
55338         * modules/carray-list-tests (Makefile.am): Likewise.
55339         * modules/dirname-tests (Makefile.am): Likewise.
55340         * modules/frexp-tests (Makefile.am): Likewise.
55341         * modules/isnanl-tests (Makefile.am): Likewise.
55342         * modules/linked-list-tests (Makefile.am): Likewise.
55343         * modules/linkedhash-list-tests (Makefile.am): Likewise.
55344         * modules/lock-tests (Makefile.am): Likewise.
55345         * modules/rbtree-list-tests (Makefile.am): Likewise.
55346         * modules/rbtree-oset-tests (Makefile.am): Likewise.
55347         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
55348         * modules/tls-tests (Makefile.am): Likewise.
55349         * modules/tsearch-tests (Makefile.am): Likewise.
55350         * modules/xvasprintf-tests (Makefile.am): Likewise.
55351
55352         Fix fpurge for cygwin.
55353         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
55354         value.
55355         * modules/fpurge-tests (Depends-on): Clean up trash.
55356
55357 2007-04-16  Simon Josefsson  <simon@josefsson.org>
55358
55359         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
55360
55361         * m4/autobuild.m4: Re-indent.
55362
55363 2007-04-13  Bruno Haible  <bruno@clisp.org>
55364
55365         * modules/fpurge-tests: New file.
55366         * tests/test-fpurge.c: New file.
55367
55368         * modules/fpurge: New file.
55369         * lib/fpurge.h: New file.
55370         * lib/fpurge.c: New file.
55371         * m4/fpurge.m4: New file.
55372
55373 2007-04-13  Bruno Haible  <bruno@clisp.org>
55374
55375         * modules/fbufmode-tests: New file.
55376         * tests/test-fbufmode.c: New file.
55377
55378         * modules/fbufmode: New file.
55379         * lib/fbufmode.h: New file.
55380         * lib/fbufmode.c: New file.
55381         * m4/fbufmode.m4: New file.
55382
55383 2007-04-13  Bruno Haible  <bruno@clisp.org>
55384
55385         * modules/fwritable-tests: New file.
55386         * tests/test-fwritable.c: New file.
55387
55388         * modules/fwritable: New file.
55389         * lib/fwritable.h: New file.
55390         * lib/fwritable.c: New file.
55391         * m4/fwritable.m4: New file.
55392
55393 2007-04-13  Bruno Haible  <bruno@clisp.org>
55394
55395         * modules/freadable-tests: New file.
55396         * tests/test-freadable.c: New file.
55397
55398         * modules/freadable: New file.
55399         * lib/freadable.h: New file.
55400         * lib/freadable.c: New file.
55401         * m4/freadable.m4: New file.
55402
55403 2007-04-13  Bruno Haible  <bruno@clisp.org>
55404
55405         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
55406         MOSTLYCLEANFILES.
55407
55408 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
55409
55410         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
55411         gzip bootstrap.conf to avoid dragging in i18n machinery.
55412         (gnulib_tool_option): Use it.
55413
55414 2007-04-13  Bruno Haible  <bruno@clisp.org>
55415
55416         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
55417         %F directives.
55418         * tests/test-vasprintf-posix.c (test_function): Likewise.
55419         * tests/test-snprintf-posix.h (test_function): Likewise.
55420         * tests/test-sprintf-posix.h (test_function): Likewise.
55421         * tests/test-fprintf-posix.h (test_function): Likewise.
55422         * tests/test-printf-posix.h (test_function): Likewise.
55423         * tests/test-fprintf-posix.out: Likewise.
55424
55425 2007-04-13  Bruno Haible  <bruno@clisp.org>
55426
55427         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
55428         * modules/tls-tests (configure.ac): Likewise.
55429         Reported by Arto C. Nirkko <anirkko@insel.ch>.
55430
55431 2007-04-13  Bruno Haible  <bruno@clisp.org>
55432
55433         * lib/tls.c (glthread_tls_get): Fix return type.
55434         Patch by Arto C. Nirkko <anirkko@insel.ch>.
55435
55436 2007-04-12  Eric Blake  <ebb9@byu.net>
55437
55438         * modules/gettime (Depends-on): Remove gettime.
55439         Reported by Dmitry V. Levin.
55440
55441 2007-04-12  Bruno Haible  <bruno@clisp.org>
55442
55443         * modules/fflush (Include): Mention <stdio.h>.
55444         * modules/strtoimax (Include): Mention <inttypes.h>.
55445         * modules/strtoumax (Include): Likewise.
55446
55447 2007-04-12  Eric Blake  <ebb9@byu.net>
55448
55449         * .cvsignore: New file.
55450         * .gitignore: Likewise.
55451
55452 2007-04-12  Bruno Haible  <bruno@clisp.org>
55453
55454         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
55455         not before, since $(LDADD) often contains libgnu.a.
55456         * modules/striconv-tests (test_striconv_LDADD): Likewise.
55457         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
55458         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
55459         Needed on Cygwin.
55460
55461 2007-04-12  Eric Blake  <ebb9@byu.net>
55462
55463         Work around glibc's failure to flush stdin on fclose.
55464         * lib/closein.c (close_stdin): Flush stdin before closing.
55465
55466         Work around glibc's failure to reset seekable stdin on exit.
55467         * modules/closein: New module.
55468         * lib/closein.c: New file.
55469         * lib/closein.h: Likewise.
55470         * m4/closein.m4: Likewise.
55471         * MODULES.html.sh (File stream based Input/Output): Document it.
55472
55473 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55474
55475         * gnulib-tool: Rename generated 'autobuild' script to
55476         'do-autobuild' in --create-megatestdir output.
55477
55478         * doc/gnulib.texi (Build robot for gnulib): Fix.
55479
55480 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55481
55482         * modules/sysexits (Depends-on): Add absolute-header.
55483
55484 2007-04-12  Eric Blake  <ebb9@byu.net>
55485
55486         No need to preserve errno on success.
55487         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
55488         Reported by Bruno Haible.
55489
55490 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55491
55492         * MODULES.html.sh (Support for maintaining and releasing
55493         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
55494
55495 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55496
55497         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
55498
55499 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55500
55501         * modules/autobuild: New module.
55502
55503         * m4/autobuild.m4: New file.
55504
55505 2007-04-11  Bruno Haible  <bruno@clisp.org>
55506
55507         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
55508         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
55509         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
55510         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
55511         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55512         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55513         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55514         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55515         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55516         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55517         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
55518         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55519         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55520         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
55521         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55522         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55523         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
55524         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55525         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55526         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
55527         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55528         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55529         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
55530         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55531         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55532         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
55533         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55534         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55535         Reported by Eric Blake.
55536
55537 2007-04-11  Bruno Haible  <bruno@clisp.org>
55538
55539         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
55540
55541 2007-04-10  Bruno Haible  <bruno@clisp.org>
55542
55543         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
55544         for NaN and Infinity. Needed on FreeBSD 6.1.
55545         * tests/test-vasnprintf-posix.c (test_function): Undo last change
55546         regarding results for "%010a" of Infinity and NaN.
55547         * tests/test-vasprintf-posix.c (test_function): Likewise.
55548         * tests/test-snprintf-posix.h (test_function): Likewise.
55549         * tests/test-sprintf-posix.h (test_function): Likewise.
55550         * tests/test-fprintf-posix.h (test_function): Likewise.
55551         * tests/test-printf-posix.h (test_function): Likewise.
55552         * tests/test-fprintf-posix.out: Likewise.
55553
55554 2007-04-10  Bruno Haible  <bruno@clisp.org>
55555
55556         * modules/locale-tests: New file.
55557         * tests/test-locale.c: New file.
55558
55559         * modules/locale: New file.
55560         * lib/locale_.h: New file.
55561         * m4/locale_h.m4: New file.
55562
55563 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
55564             Bruno Haible  <bruno@clisp.org>
55565
55566         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
55567         be determined, test for availability of the copysignf, copysign,
55568         copysignl functions.
55569         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
55570         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
55571         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
55572
55573 2007-04-09  Eric Blake  <ebb9@byu.net>
55574
55575         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
55576         * modules/stdio (Makefile.am): Support fflush.
55577         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55578         * modules/fflush: New file.
55579         * lib/fflush.c: Likewise.
55580         * m4/fflush.m4: Likewise.
55581         * modules/fflush-tests: New test.
55582         * tests/test-fflush.c: Likewise.
55583         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
55584
55585 2007-04-06  Bruno Haible  <bruno@clisp.org>
55586
55587         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
55588         (VASNPRINTF): Use signbit for faster determination whether to print a
55589         minus sign.
55590         * modules/vasnprintf (Files): Remove lib/float+.h.
55591         * modules/fprintf-posix (Depends-on): Add signbit.
55592         * modules/snprintf-posix (Depends-on): Likewise.
55593         * modules/sprintf-posix (Depends-on): Likewise.
55594         * modules/vasnprintf-posix (Depends-on): Likewise.
55595         * modules/vasprintf-posix (Depends-on): Likewise.
55596         * modules/vfprintf-posix (Depends-on): Likewise.
55597         * modules/vsnprintf-posix (Depends-on): Likewise.
55598         * modules/vsprintf-posix (Depends-on): Likewise.
55599
55600 2007-04-06  Bruno Haible  <bruno@clisp.org>
55601
55602         * tests/test-frexp.c (main): Test also the sign bit of zero results.
55603         * tests/test-frexpl.c (main): Likewise.
55604         * tests/test-ldexpl.c (main): Likewise.
55605         * modules/frexp-tests (Depends-on): Add signbit.
55606         * modules/frexpl-tests (Depdends-on): Likewise.
55607         * modules/ldexpl-tests (Depdends-on): Likewise.
55608
55609 2007-04-06  Bruno Haible  <bruno@clisp.org>
55610
55611         * modules/signbit-tests: New file.
55612         * tests/test-signbit.c: New file.
55613
55614         * modules/signbit: New file.
55615         * lib/signbitf.c: New file.
55616         * lib/signbitd.c: New file.
55617         * lib/signbitl.c: New file.
55618         * m4/signbit.m4: New file.
55619         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
55620         (signbit): New macro.
55621         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
55622         REPLACE_SIGNBIT.
55623         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
55624         REPLACE_FREXPL into math.h.
55625
55626 2007-04-06  Bruno Haible  <bruno@clisp.org>
55627
55628         * modules/isnanf-nolibm-tests: New file.
55629         * tests/test-isnanf.c: New file.
55630
55631         * modules/isnanf-nolibm: New file.
55632         * lib/isnanf.h: New file.
55633         * lib/isnanf.c: New file.
55634         * lib/isnan.c: Consider the USE_FLOAT macro.
55635         * m4/isnanf.m4: New file.
55636
55637 2007-04-06  Bruno Haible  <bruno@clisp.org>
55638
55639         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
55640         (Link): New section.
55641
55642         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
55643
55644 2007-04-06  Bruno Haible  <bruno@clisp.org>
55645
55646         Assume the 'long double' type.
55647         * m4/longdouble.m4: Remove file.
55648         * config/srclist.txt: Don't mention longdouble.m4.
55649         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
55650         * lib/float+.h: Likewise.
55651         * lib/frexp.c: Likewise.
55652         * lib/printf-args.h: Likewise.
55653         * lib/printf-args.c: Likewise.
55654         * lib/printf-frexp.c: Likewise.
55655         * lib/printf-parse.c: Likewise.
55656         * lib/vasnprintf.c: Likewise.
55657         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
55658         * m4/intl.m4: Likewise.
55659         * m4/isnanl.m4: Likewise.
55660         * m4/printf.m4: Likewise.
55661         * m4/printf-frexpl.m4: Likewise.
55662         * m4/vasnprintf.m4: Likewise.
55663         * modules/allocsa (Files): Remove m4/longdouble.m4.
55664         * modules/gettext (Files): Likewise.
55665         * modules/relocatable-prog-wrapper (Files): Likewise.
55666         * modules/vasnprintf (Files): Likewise.
55667         * modules/isnanl (Files): Likewise.
55668         (Include): Simplify.
55669         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
55670         (Include): Simplify.
55671         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
55672         (Include): Simplify.
55673         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
55674         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55675         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
55676         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55677         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
55678         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55679         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
55680         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55681         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
55682         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55683         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
55684         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55685         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
55686         * tests/test-isnanl.c: Likewise.
55687         * tests/test-snprintf-posix.h: Likewise.
55688         * tests/test-sprintf-posix.h: Likewise.
55689         * tests/test-vasnprintf-posix.c: Likewise.
55690         * tests/test-vasnprintf-posix2.c: Likewise.
55691         * tests/test-vasprintf-posix.c: Likewise.
55692
55693 2007-04-06  Bruno Haible  <bruno@clisp.org>
55694
55695         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
55696         * lib/math_.h [__DECC]: Include the overridden include file through
55697         #include_next, outside the double-inclusion guard.
55698         * lib/stdio_.h [__DECC]: Likewise.
55699         * lib/stdlib_.h [__DECC]: Likewise.
55700         * lib/string_.h [__DECC]: Likewise.
55701         * lib/time_.h [__DECC]: Likewise.
55702         * lib/wchar_.h [__DECC]: Likewise.
55703         * lib/wctype_.h [__DECC]: Likewise.
55704         * lib/inttypes_.h [__DECC]: Likewise.
55705         Reported by Albert Chin <china@thewrittenword.com> in
55706         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
55707
55708 2007-04-04  Eric Blake  <ebb9@byu.net>
55709
55710         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
55711         1.5.x.
55712
55713 2007-04-04  Bruno Haible  <bruno@clisp.org>
55714
55715         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
55716         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
55717
55718 2007-04-04  Bruno Haible  <bruno@clisp.org>
55719
55720         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
55721         results for "%010a" of Infinity and NaN.
55722         * tests/test-vasprintf-posix.c (test_function): Likewise.
55723         * tests/test-snprintf-posix.h (test_function): Likewise.
55724         * tests/test-sprintf-posix.h (test_function): Likewise.
55725         * tests/test-fprintf-posix.h (test_function): Remove these tests.
55726         * tests/test-printf-posix.h (test_function): Likewise.
55727         * tests/test-fprintf-posix.out: Update.
55728         Needed for FreeBSD 6.1.
55729
55730 2007-04-04  Bruno Haible  <bruno@clisp.org>
55731
55732         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
55733         directly used by the gnulib modules nor by gnulib-tool.
55734
55735 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
55736
55737         * DEPENDENCIES: Give overall description of version dependency
55738         desirability.  Use more-typical names for apps.
55739         Add shell, coreutils, diffutils, grep, tar, gzip.
55740
55741 2007-04-04  Simon Josefsson  <simon@josefsson.org>
55742
55743         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
55744
55745 2007-04-04  Karl Berry  <karl@gnu.org>
55746
55747         * MODULES.html.sh (func_module): missing '.
55748
55749 2007-04-03  Bruno Haible  <bruno@clisp.org>
55750
55751         * modules/argmatch-tests (Makefile.am): New variable
55752         test_argmatch_LDADD.
55753         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
55754         * modules/array-list-tests (Makefile.am): New variable
55755         test_array_list_LDADD.
55756         * modules/array-oset-tests (Makefile.am): New variable
55757         test_array_oset_LDADD.
55758         * modules/avltree-list-tests (Makefile.am): New variable
55759         test_avltree_list_LDADD.
55760         * modules/avltree-oset-tests (Makefile.am): New variable
55761         test_avltree_oset_LDADD.
55762         * modules/avltreehash-list-tests (Makefile.am): New variable
55763         test_avltreehash_list_LDADD.
55764         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
55765         test_canonicalize_lgpl_LDADD.
55766         * modules/carray-list-tests (Makefile.am): New variable
55767         test_carray_list_LDADD.
55768         * modules/dirname-tests (Makefile.am): New variable
55769         test_dirname_LDADD.
55770         * modules/linked-list-tests (Makefile.am): New variable
55771         test_linked_list_LDADD.
55772         * modules/linkedhash-list-tests (Makefile.am): New variable
55773         test_linkedhash_list_LDADD.
55774         * modules/rbtree-list-tests (Makefile.am): New variable
55775         test_rbtree_list_LDADD.
55776         * modules/rbtree-oset-tests (Makefile.am): New variable
55777         test_rbtree_oset_LDADD.
55778         * modules/rbtreehash-list-tests (Makefile.am): New variable
55779         test_rbtreehash_list_LDADD.
55780         * modules/xvasprintf-tests (Makefile.am): New variable
55781         test_xvasprintf_LDADD.
55782         Reported by Eric Blake.
55783
55784 2007-04-03  Eric Blake  <ebb9@byu.net>
55785
55786         * DEPENDENCIES: Weaken m4 requirements.
55787
55788 2007-04-03  Bruno Haible  <bruno@clisp.org>
55789
55790         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
55791         * modules/isnanl-tests (configure.ac): Likewise.
55792
55793 2007-04-03  Ben Pfaff  <blp@gnu.org>
55794
55795         * modules/iconv_open: Add $(srcdir)/ to source directory
55796         references in Makefile fragments that call gperf, to fix VPATH
55797         builds.
55798
55799 2007-04-03  Bruno Haible  <bruno@clisp.org>
55800
55801         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
55802         * lib/ldexpl.c: Undo last change.
55803
55804 2007-04-03  Bruno Haible  <bruno@clisp.org>
55805
55806         * modules/printf-frexpl (Depends-on): Undo last change.
55807         (Files): Add m4/ldexpl.m4.
55808
55809 2007-04-03  Bruno Haible  <bruno@clisp.org>
55810
55811         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
55812         * modules/isnanl (Link): New section.
55813
55814         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
55815         * modules/frexp (Link): New section.
55816
55817         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
55818         * modules/frexpl (Link): New section.
55819
55820         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
55821         * modules/ldexpl (Link): New section.
55822
55823 2007-04-03  Bruno Haible  <bruno@clisp.org>
55824
55825         * modules/TEMPLATE-EXTENDED: New file.
55826         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
55827
55828 2007-04-03  Bruno Haible  <bruno@clisp.org>
55829
55830         * DEPENDENCIES: New file.
55831         Suggested by Simon Josefsson.
55832
55833 2007-04-03  Bruno Haible  <bruno@clisp.org>
55834
55835         * doc/gnulib.texi: Escape @.
55836
55837 2007-04-03  James Youngman  <jay@gnu.org>
55838         and Paul Eggert  <eggert@cs.ucla.edu>
55839
55840         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
55841         birthtime on all systems that have birthtime, not just those which
55842         use st_birthtimensec rather than st_birthtim.  Putting zero in
55843         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
55844         that the birth time is not available for files on an NFS mount.
55845
55846 2007-04-03  Simon Josefsson  <simon@josefsson.org>
55847
55848         * modules/memxor: Move back from crypto/, suggested by Bruno.
55849         * modules/crypto/hmac-sha1: Fix memxor dependency.
55850
55851         * modules/crypto/gc: Moved from ../.
55852
55853 2007-04-02  Eric Blake  <ebb9@byu.net>
55854
55855         * lib/ldexpl.c (includes): Avoid libm.
55856
55857         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
55858
55859 2007-04-02  Bruno Haible  <bruno@clisp.org>
55860
55861         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
55862         on IRIX.
55863
55864 2007-04-02  Bruno Haible  <bruno@clisp.org>
55865
55866         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
55867         x86 or x86_64 platforms running MacOS X.
55868         Reported by Ryan Schmidt <@ryandesign.com>.
55869
55870 2007-04-02  Bruno Haible  <bruno@clisp.org>
55871
55872         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
55873         i386.
55874
55875 2007-04-01  Simon Josefsson  <simon@josefsson.org>
55876
55877         * modules/crypto/arcfour: Moved from ../.
55878         * modules/crypto/arcfour-tests: Moved from ../.
55879         * modules/crypto/arctwo: Moved from ../.
55880         * modules/crypto/arctwo-tests: Moved from ../.
55881         * modules/crypto/des: Moved from ../.
55882         * modules/crypto/des-tests: Moved from ../.
55883         * modules/crypto/gc-arcfour: Moved from ../.
55884         * modules/crypto/gc-arcfour-tests: Moved from ../.
55885         * modules/crypto/gc-arctwo: Moved from ../.
55886         * modules/crypto/gc-arctwo-tests: Moved from ../.
55887         * modules/crypto/gc-des: Moved from ../.
55888         * modules/crypto/gc-des-tests: Moved from ../.
55889         * modules/crypto/gc-hmac-md5: Moved from ../.
55890         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
55891         * modules/crypto/gc-hmac-sha1: Moved from ../.
55892         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
55893         * modules/crypto/gc-md2: Moved from ../.
55894         * modules/crypto/gc-md2-tests: Moved from ../.
55895         * modules/crypto/gc-md4: Moved from ../.
55896         * modules/crypto/gc-md4-tests: Moved from ../.
55897         * modules/crypto/gc-md5: Moved from ../.
55898         * modules/crypto/gc-md5-tests: Moved from ../.
55899         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
55900         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
55901         * modules/crypto/gc-random: Moved from ../.
55902         * modules/crypto/gc-rijndael: Moved from ../.
55903         * modules/crypto/gc-rijndael-tests: Moved from ../.
55904         * modules/crypto/gc-sha1: Moved from ../.
55905         * modules/crypto/gc-sha1-tests: Moved from ../.
55906         * modules/crypto/gc-tests: Moved from ../.
55907         * modules/crypto/hmac-md5: Moved from ../.
55908         * modules/crypto/hmac-md5-tests: Moved from ../.
55909         * modules/crypto/hmac-sha1: Moved from ../.
55910         * modules/crypto/hmac-sha1-tests: Moved from ../.
55911         * modules/crypto/md2: Moved from ../.
55912         * modules/crypto/md2-tests: Moved from ../.
55913         * modules/crypto/md4: Moved from ../.
55914         * modules/crypto/md4-tests: Moved from ../.
55915         * modules/crypto/md5: Moved from ../.
55916         * modules/crypto/md5-tests: Moved from ../.
55917         * modules/crypto/memxor: Moved from ../.
55918         * modules/crypto/rijndael: Moved from ../.
55919         * modules/crypto/rijndael-tests: Moved from ../.
55920         * modules/crypto/sha1: Moved from ../.
55921
55922 2007-03-30  James Youngman  <jay@gnu.org>
55923
55924         * tests/test-stat-time.c (prepare_test): use chmod() rather than
55925         rename() to change the ctime of a file (because ctime is unaffected
55926         by rename on jfs2 on AIX 5.1).
55927         (main): Start by doing cleanup, in case a previous run failed leaving
55928         test files behind.
55929
55930 2007-03-31  Bruno Haible  <bruno@clisp.org>
55931
55932         Support old proprietary implementations of iconv.
55933         * modules/iconv_open: New file.
55934         * lib/iconv_.h: New file.
55935         * m4/iconv_h.m4: New file.
55936         * lib/iconv_open.c: New file.
55937         * lib/iconv_open-aix.gperf: New file.
55938         * lib/iconv_open-hpux.gperf: New file.
55939         * lib/iconv_open-irix.gperf: New file.
55940         * lib/iconv_open-osf.gperf: New file.
55941         * m4/iconv_open.m4: New file.
55942         * modules/linebreak (Depends-on): Add iconv_open.
55943         * modules/striconv (Depends-on): Likewise.
55944         * modules/striconveh (Depends-on): Likewise.
55945         * modules/unicodeio (Depends-on): Likewise.
55946         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
55947         (iconv_t)(-1).
55948         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
55949         conversion if cd is (iconv_t)(-1).
55950         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
55951         is not possible.
55952
55953 2007-03-31  Bruno Haible  <bruno@clisp.org>
55954
55955         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
55956         work on Solaris either. Protect also second use of "autodetect_jp".
55957
55958 2007-03-31  Bruno Haible  <bruno@clisp.org>
55959
55960         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
55961         the function is not present.
55962
55963 2007-03-31  Bruno Haible  <bruno@clisp.org>
55964
55965         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
55966         the function is not present.
55967
55968 2007-03-31  Bruno Haible  <bruno@clisp.org>
55969
55970         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
55971         a bug in HP-UX iconv_open().
55972
55973 2007-03-31  Bruno Haible  <bruno@clisp.org>
55974
55975         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
55976         (Mathematics <math.h>): New section, add fpieee.
55977         (Input/output <stdio.h>): Add fseterr.
55978         (Mathematics <math.h>): New section, add printf-frexp.
55979         (Container data structures): Add sublist.
55980         (Core language properties): Add fpucw, inline.
55981         (Functions for greatest-width integer types <inttypes.h>): Add
55982         imaxabs, imaxdiv, inttypes.
55983         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
55984         isnanl-nolibm, ldexp.
55985         (Mathematics <math.h>): New section, add printf-frexpl.
55986         (Support for systems lacking POSIX:2001): Add fprintf-posix,
55987         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
55988         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
55989         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
55990         (Unicode string functions): Add unistr/u*-mbtoucr.
55991         (Java): Add javacomp-script, javaexec-script.
55992         (C#): Add csharpcomp-script, csharpexec-script.
55993         (Support for building libraries and executables): Add havelib,
55994         relocatable-*.
55995         (Support for maintaining and releasing projects): Renamed from
55996         'Support for maintaining and release projects'. Add announce-gen.
55997
55998 2007-03-31  Bruno Haible  <bruno@clisp.org>
55999
56000         * README: Talk primarily about git.
56001         (git and CVS): Renamed from CVS.
56002         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
56003         gnulib is available through git.
56004         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
56005
56006 2007-03-30  Bruno Haible  <bruno@clisp.org>
56007
56008         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
56009         * lib/poll_.h: Likewise.
56010         * lib/stat_.h: Likewise.
56011         * lib/sys_time_.h: Likewise.
56012         * lib/sysexit_.h: Likewise.
56013         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
56014         * lib/stdbool_.h: Likewise.
56015         * lib/byteswap_.h: Add double-inclusion guard.
56016
56017 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
56018
56019         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
56020
56021 2007-03-30  Karl Berry  <karl@gnu.org>
56022
56023         * config/srclist-update: double space after USA in the license
56024         substitution, since that's how it's usually (?) written.
56025
56026 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
56027
56028         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
56029         reported by Bruno Haible.
56030
56031 2007-03-29  Bruno Haible  <bruno@clisp.org>
56032
56033         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
56034         a bug in AIX iconv().
56035
56036 2007-03-29  Bruno Haible  <bruno@clisp.org>
56037
56038         * modules/ldexpl-tests: New file.
56039         * tests/test-ldexpl.c: New file.
56040
56041 2007-03-29  Bruno Haible  <bruno@clisp.org>
56042
56043         * lib/ldexpl.c: Include fpucw.h.
56044         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
56045         multiplication.
56046         * modules/ldexpl (Depends-on): Add fpucw.
56047
56048 2007-03-29  Bruno Haible  <bruno@clisp.org>
56049
56050         * modules/ldexpl: New file.
56051         * m4/ldexpl.m4: New file.
56052         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
56053         set.
56054         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
56055         REPLACE_LDEXPL.
56056         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
56057         REPLACE_LDEXPL.
56058         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
56059         gl_FUNC_LDEXPL_WORKS.
56060         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
56061         * modules/mathl (Files): Remove lib/ldexpl.c.
56062         (Depends-on): Add ldexpl.
56063
56064 2007-03-29  Bruno Haible  <bruno@clisp.org>
56065
56066         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
56067
56068 2007-03-29  Bruno Haible  <bruno@clisp.org>
56069
56070         * tests/test-striconveh.c (main): Don't assume that a direct conversion
56071         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
56072         and possibly also HP-UX.
56073         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
56074         work on AIX, IRIX, HP-UX, OSF/1.
56075         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
56076         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
56077         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
56078         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
56079         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
56080         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
56081
56082 2007-03-29  Bruno Haible  <bruno@clisp.org>
56083
56084         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
56085
56086 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
56087
56088         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
56089         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
56090
56091 2007-03-29  Eric Blake  <ebb9@byu.net>
56092
56093         * lib/acl-internal.h: Remove redundant include.
56094         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
56095         Cygwin when a file is locked.
56096
56097 2007-03-29  Bruno Haible  <bruno@clisp.org>
56098
56099         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
56100         file.
56101         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
56102
56103 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
56104
56105         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
56106         try to remove a parent directory if the child couldn't be removed
56107         (except for the first rmdir, which could fail because the child
56108         doesn't exist).  Problem reported by Jeff Blaine in
56109         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
56110
56111 2007-03-28  Bruno Haible  <bruno@clisp.org>
56112
56113         * lib/striconveh.c (utf8conv_carefully): New function.
56114         (mem_cd_iconveh_internal): Invoke it.
56115
56116 2007-03-28  Bruno Haible  <bruno@clisp.org>
56117
56118         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
56119         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
56120         input.
56121         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
56122         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
56123         unistr/u8-uctomb.
56124
56125 2007-03-28  Bruno Haible  <bruno@clisp.org>
56126
56127         * modules/unistr/u8-mbtoucr: New file.
56128         * lib/unistr/u8-mbtoucr.c: New file.
56129         * modules/unistr/u16-mbtoucr: New file.
56130         * lib/unistr/u16-mbtoucr.c: New file.
56131         * modules/unistr/u16-mbtoucr: New file.
56132         * lib/unistr/u16-mbtoucr.c: New file.
56133         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
56134
56135 2007-03-27  Simon Josefsson  <simon@josefsson.org>
56136             Bruno Haible  <bruno@clisp.org>
56137
56138         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
56139         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
56140         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
56141
56142         * m4/stdio_h.m4: Add stubs for vasprintf too.
56143
56144         * modules/stdio: Support vasprintf in sed command.
56145
56146         * modules/vasprintf: Depend on stdio for prototypes.  Remove
56147         vasprintf.h.  Add stdio module indicator.
56148
56149         * lib/stdio_.h: Declare asprintf and vasprintf, based on
56150         vasprintf.h.
56151
56152         * lib/vasprintf.h: File removed.
56153
56154         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
56155         * lib/vasprintf.c: Ditto.
56156         * lib/xvasprintf.c: Ditto.
56157         * tests/test-vasprintf-posix.c: Ditto.
56158         * tests/test-vasprintf.c: Ditto.
56159
56160 2007-03-27  Bruno Haible  <bruno@clisp.org>
56161
56162         Make vasnprintf multithread-safe.
56163         * lib/vasnprintf.c (decimal_point_char): New function.
56164         (VASNPRINTF): Use it.
56165         Suggested by Simon Josefsson.
56166
56167 2007-03-27  Eric Blake  <ebb9@byu.net>
56168
56169         Support sub-second birthtime on cygwin.
56170         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
56171         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
56172         (get_stat_birthtime): Also work with st_birthtim.
56173
56174 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
56175
56176         * lib/stat-time.h (USE_BIRTHTIME): Remove.
56177         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
56178         (get_stat_birthtime_ns): Do not try to use "spare" fields.
56179         (get_stat_birthtime_ns): Simplify compile-time tests.
56180         (get_stat_birthtime): Change the API to look like
56181         get_stat_mtime etc., except return a negative tv_nsec on error.
56182         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
56183         Don't check for "spare" fields.
56184         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
56185         or for struct stat.st_birthtime, as these tests aren't used.
56186         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
56187
56188 2007-03-27  Bruno Haible  <bruno@clisp.org>
56189
56190         * lib/stat-time.h: Include <sys/stat.h>.
56191
56192 2007-03-27  James Youngman  <jay@gnu.org>
56193
56194         * lib/stat-time.h (get_stat_birthtime): New function for
56195           retrieving st_birthtime as provided by UFS2 (hence *BSD).
56196         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
56197           and its variants.
56198         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
56199         * modules/stat-time-test: New file.
56200         * tests/test-stat-time.c: New test, devised by Bruno Haible.
56201
56202 2007-03-26  Bruno Haible  <bruno@clisp.org>
56203
56204         Better support of signalling NaNs.
56205         * lib/atanl.c: Include isnanl.h.
56206         (atanl): Perform test for NaN at the beginning of the function and
56207         through a call to isnanl.
56208         * lib/cosl.c: Include isnanl.h.
56209         (cosl): Perform test for NaN at the beginning of the function and
56210         through a call to isnanl.
56211         * lib/ldexpl.c: Include isnanl.h.
56212         (ldexpl): Perform test for NaN through a call to isnanl.
56213         * lib/logl.c: Include isnanl.h.
56214         (logl): Perform test for NaN at the beginning of the function and
56215         through a call to isnanl.
56216         * lib/sinl.c: Include isnanl.h.
56217         (sinl): Perform test for NaN at the beginning of the function and
56218         through a call to isnanl.
56219         * lib/sqrtl.c: Include isnanl.h.
56220         (sqrtl): Perform test for NaN at the beginning of the function and
56221         through a call to isnanl.
56222         * lib/tanl.c: Include isnanl.h.
56223         (tanl): Perform test for NaN at the beginning of the function and
56224         through a call to isnanl.
56225         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
56226         * modules/mathl (Depends-on): Add isnanl.
56227
56228 2007-03-26  Eric Blake  <ebb9@byu.net>
56229
56230         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
56231         regression in logic sense of previous patch.
56232
56233 2007-03-26  Bruno Haible  <bruno@clisp.org>
56234
56235         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
56236         unportable shell command "if ! ...".
56237         Reported by Ralf Wildenhues.
56238
56239 2007-03-25  Bruno Haible  <bruno@clisp.org>
56240
56241         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
56242         <sysexits.h> file, and only add EX_CONFIG.
56243         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
56244         absolute file name and whether it is sufficient. Substitute also
56245         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
56246         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
56247         ABSOLUTE_SYSEXITS_H into sysexits.h.
56248
56249 2007-03-25  Bruno Haible  <bruno@clisp.org>
56250
56251         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
56252         hints is NULL.
56253
56254 2007-03-25  Bruno Haible  <bruno@clisp.org>
56255
56256         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
56257         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
56258
56259 2007-03-25  Bruno Haible  <bruno@clisp.org>
56260
56261         * lib/vasnprintf.c: Include langinfo.h.
56262         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
56263         multithread-safe.
56264         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
56265         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
56266         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56267         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56268         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56269         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56270         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56271         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
56272         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56273         Reported by Simon Josefsson.
56274
56275 2007-03-25  Bruno Haible  <bruno@clisp.org>
56276
56277         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
56278         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
56279         * modules/vasnprintf (Depends-on): Add stdint.
56280
56281 2007-03-25  Bruno Haible  <bruno@clisp.org>
56282
56283         * modules/fpieee: New file.
56284         * m4/fpieee.m4: New file.
56285         * modules/isnan-nolibm (Depends-on): Add fpieee.
56286         * modules/isnanl-nolibm (Depends-on): Add fpieee.
56287         * modules/isnanl (Depends-on): Add fpieee.
56288
56289 2007-03-25  Bruno Haible  <bruno@clisp.org>
56290
56291         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
56292
56293 2007-03-25  Bruno Haible  <bruno@clisp.org>
56294
56295         Avoid test failures on IRIX 6.5.
56296         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
56297         (main): Use it.
56298         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
56299         macros.
56300         (main): Use them.
56301
56302 2007-03-25  Bruno Haible  <bruno@clisp.org>
56303
56304         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
56305         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
56306         exists but doesn't work.
56307         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
56308         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
56309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
56310         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
56311         math.h.
56312
56313 2007-03-25  Bruno Haible  <bruno@clisp.org>
56314
56315         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
56316         returns inf. Needed on IRIX 6.5.
56317
56318 2007-03-25  Bruno Haible  <bruno@clisp.org>
56319
56320         * tests/test-frexpl.c: Include isnanl-nolibm.h.
56321         (main): Use isnanl instead of x != x idiom.
56322         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
56323
56324         * tests/test-frexp.c: Include isnan.h.
56325         (main): Use isnan instead of x != x idiom.
56326         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
56327
56328 2007-03-25  Bruno Haible  <bruno@clisp.org>
56329
56330         * tests/test-frexp.c (NaN): New function/macro.
56331         (main): Use it instead of 0.0 / 0.0.
56332         * tests/test-isnan.c (NaN): New function/macro.
56333         (main): Use it instead of 0.0 / 0.0.
56334         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
56335         (test_function): Use it instead of 0.0 / 0.0.
56336         * tests/test-vasprintf-posix.c (NaN): New function/macro.
56337         (test_function): Use it instead of 0.0 / 0.0.
56338         * tests/test-snprintf-posix.h (NaN): New function/macro.
56339         (test_function): Use it instead of 0.0 / 0.0.
56340         * tests/test-sprintf-posix.h (NaN): New function/macro.
56341         (test_function): Use it instead of 0.0 / 0.0.
56342         * tests/test-fprintf-posix.h (NaN): New function/macro.
56343         (test_function): Use it instead of 0.0 / 0.0.
56344         * tests/test-printf-posix.h (NaN): New function/macro.
56345         (test_function): Use it instead of 0.0 / 0.0.
56346
56347         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
56348
56349 2007-03-25  Bruno Haible  <bruno@clisp.org>
56350
56351         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
56352
56353 2007-03-25  Bruno Haible  <bruno@clisp.org>
56354
56355         * lib/regexec.c (merge_state_with_log): Make static.
56356
56357 2007-03-25  Bruno Haible  <bruno@clisp.org>
56358
56359         * lib/trigl.c (kernel_rem_pio2): Make static.
56360
56361 2007-03-25  Bruno Haible  <bruno@clisp.org>
56362
56363         * lib/sincosl.c (sincosl_table): Make static.
56364
56365 2007-03-25  Bruno Haible  <bruno@clisp.org>
56366
56367         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
56368         if the compiler does not support C99.
56369
56370 2007-03-25  Bruno Haible  <bruno@clisp.org>
56371
56372         * modules/time (Makefile.am): Ensure all rule action lines start with a
56373         tab.
56374
56375 2007-03-24  Bruno Haible  <bruno@clisp.org>
56376
56377         * modules/tsearch-tests: New file.
56378         * tests/test-tsearch.sh: New file.
56379         * tests/test-tsearch.c: New file, mostly copied from glibc.
56380
56381         * modules/search-tests: New file.
56382         * tests/test-search.c: New file.
56383
56384         * modules/search: New file.
56385         * lib/search_.h: New file, incorporating lib/tsearch.h.
56386         * m4/search_h.m4: New file.
56387         * lib/tsearch.h: Remove file.
56388         * lib/tsearch.c: Include search.h instead of tsearch.h.
56389         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
56390         HAVE_TSEARCH.
56391         * modules/tsearch (Files): Remove lib/tsearch.h.
56392         (Depends-on): Add search.
56393         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
56394         (Include): Change tsearch.h into search.h.
56395
56396 2007-03-24  Bruno Haible  <bruno@clisp.org>
56397
56398         * modules/fpucw: New file.
56399         * lib/fpucw.h: New file.
56400         * lib/frexp.c: Include fpucw.h.
56401         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
56402         (FUNC): Use them.
56403         * lib/printf-frexp.c: Include fpucw.h.
56404         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
56405         (FUNC): Use them.
56406         * lib/vasnprintf.c: Include fpucw.h.
56407         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
56408         'long double' calculations.
56409         * tests/test-frexpl.c: Include fpucw.h.
56410         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
56411         * tests/test-printf-frexpl.c: Include fpucw.h.
56412         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
56413         * modules/frexpl (Depends-on): Add fpucw.
56414         * modules/printf-frexpl (Depends-on): Likewise.
56415         * modules/fprintf-posix (Depends-on): Likewise.
56416         * modules/snprintf-posix (Depends-on): Likewise.
56417         * modules/sprintf-posix (Depends-on): Likewise.
56418         * modules/vasnprintf-posix (Depends-on): Likewise.
56419         * modules/vasprintf-posix (Depends-on): Likewise.
56420         * modules/vfprintf-posix (Depends-on): Likewise.
56421         * modules/vsnprintf-posix (Depends-on): Likewise.
56422         * modules/vsprintf-posix (Depends-on): Likewise.
56423         * modules/frexpl-tests (Depends-on): Likewise.
56424         * modules/printf-frexpl-tests (Depends-on): Likewise.
56425
56426 2007-03-24  Bruno Haible  <bruno@clisp.org>
56427
56428         * lib/float+.h: New file.
56429         * lib/isnan.c: Include float+.h.
56430         (SIZE): New macro.
56431         (FUNC): Compare only SIZE bytes of the value.
56432         * lib/vasnprintf.c: Include float+.h.
56433         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
56434         SIZEOF_LDBL or SIZEOF_DBL bytes.
56435         * modules/isnan-nolibm (Files): Add lib/float+.h.
56436         * modules/isnanl-nolibm (Files): Add lib/float+.h.
56437         * modules/isnanl (Files): Add lib/float+.h.
56438         * modules/vasnprintf (Files): Add lib/float+.h.
56439
56440 2007-03-24  Bruno Haible  <bruno@clisp.org>
56441
56442         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
56443         include isnanl-nolibm.h.
56444
56445 2007-03-24  Bruno Haible  <bruno@clisp.org>
56446
56447         * tests/test-read-file.c (main): Don't produce spurious output for
56448         expected situations. Make the test fail if it encountered unexpected
56449         results.
56450
56451 2007-03-24  Bruno Haible  <bruno@clisp.org>
56452
56453         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
56454         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
56455
56456 2007-03-24  Bruno Haible  <bruno@clisp.org>
56457
56458         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
56459
56460 2007-03-24  Bruno Haible  <bruno@clisp.org>
56461
56462         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
56463         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
56464
56465         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
56466         * modules/utf8-ucs4: Turn into a symbolic link to module
56467         unistr/u8-mbtouc.
56468
56469         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
56470         utf8-ucs4-unsafe.
56471         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
56472         unistr/u8-mbtouc-unsafe.
56473
56474         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
56475         * modules/utf16-ucs4: Turn into a symbolic link to module
56476         unistr/u16-mbtouc.
56477
56478         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
56479         utf16-ucs4-unsafe.
56480         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
56481         unistr/u16-mbtouc-unsafe.
56482
56483         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
56484         * modules/ucs4-utf8: Turn into a symbolic link to module
56485         unistr/u8-ubtomb.
56486
56487         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
56488         * modules/ucs4-utf16: Turn into a symbolic link to module
56489         unistr/u16-ubtomb.
56490
56491 2007-03-24  Bruno Haible  <bruno@clisp.org>
56492
56493         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
56494         Enable the function only if HAVE_INLINE.
56495         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
56496         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
56497         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
56498         Enable the function only if HAVE_INLINE.
56499         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
56500         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
56501         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
56502         Enable the function only if HAVE_INLINE.
56503         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
56504         Enable the function only if HAVE_INLINE.
56505         * modules/utf8-ucs4: Update.
56506         * modules/utf8-ucs4-unsafe: Update.
56507         * modules/utf16-ucs4: Update.
56508         * modules/utf16-ucs4-unsafe: Update.
56509         * modules/ucs4-utf8: Update.
56510         * modules/ucs4-utf16: Update.
56511
56512 2007-03-24  Bruno Haible  <bruno@clisp.org>
56513
56514         * lib/utf8-ucs4.h: Remove file.
56515         * lib/utf8-ucs4-unsafe.h: Remove file.
56516         * lib/utf16-ucs4.h: Remove file.
56517         * lib/utf16-ucs4-unsafe.h: Remove file.
56518         * lib/ucs4-utf8.h: Remove file.
56519         * lib/ucs4-utf16.h: Remove file.
56520         * lib/unistr.h: Include their previous contents.
56521         * m4/utf-ucs4.m4: Remove file.
56522         * m4/ucs4-utf.m4: Remove file.
56523         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
56524         (Depends-on): Add unistr/base.
56525         (configure.ac): Remove gl_UTF_UCS4.
56526         (Makefile.am): Update.
56527         (Include): Change to unistr.h.
56528         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
56529         (Depends-on): Add unistr/base.
56530         (configure.ac): Remove gl_UTF_UCS4.
56531         (Makefile.am): Update.
56532         (Include): Change to unistr.h.
56533         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
56534         (Depends-on): Add unistr/base.
56535         (configure.ac): Remove gl_UTF_UCS4.
56536         (Makefile.am): Update.
56537         (Include): Change to unistr.h.
56538         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
56539         (Depends-on): Add unistr/base.
56540         (configure.ac): Remove gl_UTF_UCS4.
56541         (Makefile.am): Update.
56542         (Include): Change to unistr.h.
56543         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
56544         (Depends-on): Add unistr/base.
56545         (configure.ac): Remove gl_UCS4_UTF.
56546         (Makefile.am): Update.
56547         (Include): Change to unistr.h.
56548         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
56549         (Depends-on): Add unistr/base.
56550         (configure.ac): Remove gl_UCS4_UTF.
56551         (Makefile.am): Update.
56552         (Include): Change to unistr.h.
56553         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
56554         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
56555         utf8-ucs4-unsafe.h.
56556         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
56557         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
56558         utf16-ucs4-unsafe.h.
56559         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
56560         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
56561         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
56562         * lib/unistr/u8-strchr.c: Likewise.
56563         * lib/unistr/u8-strrchr.c: Likewise.
56564         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
56565         * lib/unistr/u16-strchr.c: Likewise.
56566         * lib/unistr/u16-strrchr.c: Likewise.
56567         * lib/striconveh.c: Update.
56568         * lib/linebreak.c: Update.
56569
56570 2007-03-24  Bruno Haible  <bruno@clisp.org>
56571
56572         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
56573         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
56574
56575 2007-03-22  Bruno Haible  <bruno@clisp.org>
56576
56577         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
56578
56579 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
56580
56581         * MODULES.html.sh (File system functions): New module write-any-file.
56582         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
56583         * m4/write-any-file.m4: New files.
56584
56585 2007-03-23  Eric Blake  <ebb9@byu.net>
56586
56587         * gnulib-tool: Rearrange space-tab sequences, since some editors
56588         like to eat them.
56589
56590 2007-03-23  Eric Blake  <ebb9@byu.net>
56591
56592         * lib/version-etc.c (version_etc_va): Update license wording to
56593         be more concise.  Recommended by Richard Stallman.
56594
56595 2007-03-22  Bruno Haible  <bruno@clisp.org>
56596
56597         * lib/poll.c (MSG_PEEK): New fallback definition.
56598
56599 2007-03-22  Bruno Haible  <bruno@clisp.org>
56600
56601         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
56602         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
56603         (main): Update.
56604         Fixes a compilation error on BeOS.
56605
56606 2007-03-22  Bruno Haible  <bruno@clisp.org>
56607
56608         * modules/frexpl-tests: New file.
56609         * tests/test-frexpl.c: New file.
56610
56611         * modules/frexpl: New file.
56612         * m4/frexpl.m4: New file.
56613         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
56614         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
56615         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
56616         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
56617         (Depends-on): Add frexpl. Remove isnanl-nolibm.
56618         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
56619
56620 2007-03-22  Bruno Haible  <bruno@clisp.org>
56621
56622         * lib/frexpl.c: Share code with lib/frexp.c.
56623         * modules/mathl (Files): Add lib/frexp.c.
56624         (Depends-on): Add isnanl-nolibm.
56625
56626 2007-03-22  Bruno Haible  <bruno@clisp.org>
56627
56628         * modules/printf-frexp (Files): Add m4/frexp.m4.
56629         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
56630         only if the found frexp function actually works.
56631
56632 2007-03-22  Bruno Haible  <bruno@clisp.org>
56633
56634         * lib/frexp.c: Remove older implementation that uses divisions.
56635
56636 2007-03-21  Bruno Haible  <bruno@clisp.org>
56637
56638         * modules/frexp-tests: New file.
56639         * tests/test-frexp.c: New file.
56640
56641         * modules/frexp: New file.
56642         * lib/frexp.c: New file.
56643         * m4/frexp.m4: New file.
56644         * lib/math_.h (frexp): New declaration.
56645         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
56646         REPLACE_FREXP.
56647         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
56648
56649 2007-03-21  Bruno Haible  <bruno@clisp.org>
56650
56651         * modules/isnanl-tests: New file.
56652         * tests/test-isnanl.c: New file.
56653
56654         * modules/isnanl: New file.
56655         * lib/isnanl.h: New file.
56656         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
56657         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
56658         gl_FUNC_ISNANL_WORKS.
56659         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
56660         New macros.
56661
56662 2007-03-21  Bruno Haible  <bruno@clisp.org>
56663
56664         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
56665         lib/isnanl.h.
56666         (Include): Update.
56667         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
56668         * lib/vasnprintf.c: Update.
56669         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
56670         tests/test-isnanl.h, remove tests/test-isnanl.c.
56671         (Makefile.am): Update.
56672         * tests/test-isnanl-nolibm.c: New file.
56673         * tests/test-isnanl.h: New file.
56674         * tests/test-isnanl.c: Remove file.
56675
56676 2007-03-21  Jim Meyering  <jim@meyering.net>
56677
56678         When trying to open ".", treat ESTALE like EACCES.
56679         * lib/savewd.c (savewd_save): Resort to forking not just upon
56680         failure with EACCES, but also when errno is ESTALE.
56681
56682 2007-03-20  Bruno Haible  <bruno@clisp.org>
56683
56684         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
56685         Needed on AIX 5.1. Reported by Matthew Woehlke.
56686
56687 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56688
56689         Suggestions by Bruno Haible:
56690         * lib/acl-internal.h: Include "gettext.h" rather than rolling
56691         our own.
56692         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
56693         * modules/acl (Depends-on): Add gettext.
56694
56695 2007-03-19  Bruno Haible  <bruno@clisp.org>
56696
56697         * modules/iconvme: Remove file.
56698         * lib/iconvme.h: Remove file.
56699         * lib/iconvme.c: Remove file.
56700         * m4/iconvme.m4: Remove file.
56701
56702 2007-03-19  Bruno Haible  <bruno@clisp.org>
56703
56704         * doc/relocatable-maint.texi: Break long shell script line.
56705         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
56706
56707 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56708
56709         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
56710         handle file_has_acl.
56711         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
56712         * lib/acl.c: Move header inclusions and related macro defns into
56713         lib/acl-internal.h.
56714         (S_ISLNK): Remove defn, since that's now done for us.
56715         (file_has_acl): Move to lib/file-has-acl.c.
56716         Call acl_trivial if available.  This is the crucial part of the fix.
56717         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
56718         shared within the library.  Rewrite a bit, partly to make it compatible
56719         with the GNU coding style.
56720         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
56721         Remove unnecessary double-quotes.
56722         Don't test for acl_to_text; the build will catch that.
56723         Replace acl_entries if it doesn't exist and it is needed.
56724         Check for -lsec and acl_trivial (as used on Solaris 10).
56725         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
56726         lib/file-has-acl.c.
56727         (Depends-on): Add sys_stat, for S_ISLNK.
56728
56729 2007-03-19  Ben Pfaff  <blp@gnu.org>
56730
56731         * doc/gnulib.texi: Fix typos.
56732         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
56733
56734 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56735
56736         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
56737         If size is zero here, buf must be zero.
56738
56739 2007-03-19  Simon Josefsson  <simon@josefsson.org>
56740
56741         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
56742         <bruno@clisp.org>.
56743
56744 2007-03-18  Bruno Haible  <bruno@clisp.org>
56745
56746         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
56747         Suggested by Eric Blake.
56748
56749 2007-03-18  Ben Pfaff  <blp@gnu.org>
56750
56751         * doc/relocatable.texi: Recommend using as prefix a directory
56752         that does not exist and will never be created.  Based on
56753         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
56754         and others.
56755
56756 2007-03-17  Bruno Haible  <bruno@clisp.org>
56757
56758         * lib/fchownat.c: Include lchown.h.
56759
56760 2007-03-17  Bruno Haible  <bruno@clisp.org>
56761
56762         Fix endless loop when the given allocated size was > INT_MAX.
56763         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
56764         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
56765         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
56766         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
56767         * lib/sprintf.c (sprintf): Likewise.
56768
56769 2007-03-17  Bruno Haible  <bruno@clisp.org>
56770
56771         * tests/test-argp-2.sh (func_compare): Output a context diff.
56772
56773 2007-03-17  Bruno Haible  <bruno@clisp.org>
56774
56775         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
56776         locale's decimal-point character.
56777
56778 2007-03-17  Bruno Haible  <bruno@clisp.org>
56779
56780         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
56781         before comparing it. Needed because on some platforms (e.g. x86) a
56782         'long double' occupies less bytes than sizeof (long double).
56783
56784 2007-03-17  Bruno Haible  <bruno@clisp.org>
56785
56786         * tests/test-crc.c (main): Make printf statements 64-bit clean.
56787         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
56788         * tests/test-getaddrinfo.c (simple): Likewise.
56789         * tests/test-read-file.c (main): Likewise.
56790
56791 2007-03-17  Bruno Haible  <bruno@clisp.org>
56792
56793         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
56794
56795 2007-03-17  Bruno Haible  <bruno@clisp.org>
56796
56797         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
56798         unused variable.
56799
56800 2007-03-17  Bruno Haible  <bruno@clisp.org>
56801
56802         * tests/test-c-strcasecmp.c: Include c-strcase.h.
56803         * tests/test-c-strncasecmp.c: Likewise.
56804
56805 2007-03-17  Bruno Haible  <bruno@clisp.org>
56806
56807         * modules/stdlib (Depends-on): Add unistd.
56808         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
56809         Needed for MacOS X 10.3.
56810
56811 2007-03-17  Bruno Haible  <bruno@clisp.org>
56812
56813         * lib/unistr/u-strdup.h: Include <stdlib.h>.
56814
56815 2007-03-17  Bruno Haible  <bruno@clisp.org>
56816
56817         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
56818
56819 2007-03-17  Bruno Haible  <bruno@clisp.org>
56820
56821         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
56822         to reflect files copied from gnulib (with or without modifications).
56823         Suggested by Jim Meyering.
56824
56825 2007-03-17  Eric Blake  <ebb9@byu.net>
56826
56827         * NEWS: Document stdlib change from 2007-02-18.
56828
56829 2007-03-17  Jim Meyering  <jim@meyering.net>
56830
56831         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
56832         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
56833         someone uses a name containing shell meta-characters.
56834         Reported by Alfred M. Szmidt.
56835
56836         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
56837
56838 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
56839
56840         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
56841         and copy gettext configuration files only if configure.ac contains
56842         a use of AM_GNU_GETTEXT_VERSION.
56843
56844 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
56845
56846         * build-aux/bootstrap (gnulib_name): New variable.
56847         (gnulib_tool_options): Use it.
56848
56849 2007-03-13  Simon Josefsson  <simon@josefsson.org>
56850
56851         * tests/test-des.c: Use new namespace.
56852
56853 2007-03-15  Bruno Haible  <bruno@clisp.org>
56854
56855         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
56856         Reported by James Youngman <jay@gnu.org>.
56857
56858 2007-03-15  Bruno Haible  <bruno@clisp.org>
56859
56860         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
56861         declared prototype. Needed with cc on OSF/1 5.1.
56862
56863 2007-03-15  Bruno Haible  <bruno@clisp.org>
56864
56865         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
56866         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
56867         (struct gl_list_implementation): Add dispose_fn argument to the
56868         'create_empty', 'create' methods.
56869         (struct gl_list_impl_base): Add field 'dispose_fn'.
56870         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
56871         argument.
56872         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
56873         dispose_fn argument.
56874         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
56875         dispose_fn on the dropped values.
56876         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
56877         dispose_fn argument.
56878         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
56879         dropped values.
56880         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
56881         (gl_tree_remove_node): Call dispose_fn on the dropped value.
56882         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
56883         (gl_tree_remove_node): Call dispose_fn on the dropped value.
56884         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
56885         argument.
56886         (gl_tree_list_free): Call dispose_fn on the dropped values.
56887         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
56888         the dropped values.
56889         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
56890         Add dispose_fn argument.
56891         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
56892         Call dispose_fn on the dropped values.
56893         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
56894         Add dispose_fn argument.
56895         (gl_sublist_create): Initialize the 'dispose_fn' field.
56896         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
56897         * tests/test-array_list.c (main): Update.
56898         * tests/test-carray_list.c (main): Update.
56899         * tests/test-avltree_list.c (main): Update.
56900         * tests/test-rbtree_list.c (main): Update.
56901         * tests/test-avltreehash_list.c (main): Update.
56902         * tests/test-rbtreehash_list.c (main): Update.
56903         * tests/test-linked_list.c (main): Update.
56904         * tests/test-linkedhash_list.c (main): Update.
56905         * tests/test-array_oset.c (main): Update.
56906
56907 2007-03-15  Bruno Haible  <bruno@clisp.org>
56908
56909         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
56910         (gl_oset_create_empty): Add dispose_fn argument.
56911         (struct gl_oset_implementation): Add dispose_fn argument to
56912         'create_empty' method.
56913         (struct gl_oset_impl_base): Add dispose_fn field.
56914         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
56915         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
56916         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
56917         values.
56918         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
56919         (gl_tree_oset_free): Call dispose_fn on the dropped values.
56920         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
56921         dropped value.
56922         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
56923         dropped value.
56924         * tests/test-array_oset.c (main): Update.
56925         * tests/test-avltree_oset.c (main): Update.
56926         * tests/test-rbtree_oset.c (main): Update.
56927         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
56928
56929 2007-03-13  Bruno Haible  <bruno@clisp.org>
56930
56931         * tests/test-stdbool.c (i): Update after last patch.
56932
56933 2007-03-12  Bruno Haible  <bruno@clisp.org>
56934
56935         * lib/quotearg.c: Include <wctype.h> early, before the definition of
56936         the iswprint macro. Needed on Solaris 2.5.1.
56937
56938 2007-03-12  Bruno Haible  <bruno@clisp.org>
56939
56940         * tests/test-printf-frexp.c (main): Declare x as volatile.
56941
56942 2007-03-12  Simon Josefsson  <simon@josefsson.org>
56943
56944         * doc/gnulib.texi (Build robot for gnulib): New section.
56945
56946 2007-03-12  Jim Meyering  <jim@meyering.net>
56947
56948         * build-aux/bootstrap: New file.
56949         * build-aux/bootstrap.conf: New file, from coreutils.
56950
56951 2007-03-11  Bruno Haible  <bruno@clisp.org>
56952
56953         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
56954
56955 2007-03-12  Simon Josefsson  <simon@josefsson.org>
56956
56957         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
56958         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
56959         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
56960
56961 2007-03-11  Bruno Haible  <bruno@clisp.org>
56962
56963         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
56964         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
56965
56966 2007-03-11  Bruno Haible  <bruno@clisp.org>
56967
56968         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
56969         formula. Needed for SunPRO C 5.0.
56970
56971 2007-03-11  Bruno Haible  <bruno@clisp.org>
56972
56973         * modules/long-options (Depends-on): Add getopt.
56974
56975 2007-03-11  Bruno Haible  <bruno@clisp.org>
56976
56977         * modules/modechange (Depends-on): Add stdbool.
56978
56979 2007-03-11  Bruno Haible  <bruno@clisp.org>
56980
56981         * modules/i-ring (Depends-on): Add stdbool.
56982
56983 2007-03-11  Bruno Haible  <bruno@clisp.org>
56984
56985         * modules/gc-des (Depends-on): Add stdbool.
56986
56987 2007-03-11  Bruno Haible  <bruno@clisp.org>
56988
56989         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
56990
56991 2007-03-11  Bruno Haible  <bruno@clisp.org>
56992
56993         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
56994
56995 2007-03-11  Bruno Haible  <bruno@clisp.org>
56996
56997         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
56998
56999 2007-03-11  Bruno Haible  <bruno@clisp.org>
57000
57001         * lib/vasnprintf.c (sprintf): Undefine.
57002
57003 2007-03-11  Bruno Haible  <bruno@clisp.org>
57004
57005         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
57006         initializers in SunPRO C and Compaq C compilers.
57007
57008 2007-03-11  Bruno Haible  <bruno@clisp.org>
57009
57010         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
57011         decrementing code ANSI C compliant.
57012
57013 2007-03-11  Bruno Haible  <bruno@clisp.org>
57014
57015         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
57016         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
57017
57018 2007-03-11  Bruno Haible  <bruno@clisp.org>
57019
57020         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
57021         <stdbool.h> substitute doesn't pass.
57022
57023 2007-03-11  Bruno Haible  <bruno@clisp.org>
57024
57025         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
57026
57027 2007-03-11  Bruno Haible  <bruno@clisp.org>
57028
57029         * gnulib-tool (func_create_megatestdir): Create also an autobuild
57030         script, for submission to autobuild.josefsson.org.
57031
57032 2007-03-10  Bruno Haible  <bruno@clisp.org>
57033
57034         * modules/canonicalize-lgpl-tests: New file.
57035         * tests/test-canonicalize-lgpl.sh: New file.
57036         * tests/test-canonicalize-lgpl.c: New file.
57037
57038         * modules/c-strcase-tests: New file.
57039         * tests/test-c-strcase.sh: New file.
57040         * tests/test-c-strcasecmp.c: New file.
57041         * tests/test-c-strncasecmp.c: New file.
57042
57043         * modules/atexit-tests: New file.
57044         * tests/test-atexit.sh: New file.
57045         * tests/test-atexit.c: New file.
57046
57047 2007-03-10  Bruno Haible  <bruno@clisp.org>
57048
57049         * tests/test-binary-io.sh: Use temporary filenames that are not so
57050         likely to clash with those of other tests (in a parallel make).
57051         * tests/test-binary-io.c: Likewise.
57052
57053 2007-03-10  Bruno Haible  <bruno@clisp.org>
57054
57055         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
57056         fallback; use #error instead.
57057         Suggested by Simon Josefsson.
57058
57059 2007-03-10  Bruno Haible  <bruno@clisp.org>
57060
57061         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
57062         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
57063         first and the last.
57064
57065 2007-03-10  Bruno Haible  <bruno@clisp.org>
57066
57067         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
57068
57069 2007-03-10  Bruno Haible  <bruno@clisp.org>
57070
57071         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
57072         "make distcheck".
57073         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
57074         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
57075         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
57076
57077 2007-03-10  Bruno Haible  <bruno@clisp.org>
57078
57079         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
57080         variable.
57081         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
57082         variable.
57083
57084 2007-03-09  Eric Blake  <ebb9@byu.net>
57085         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
57086
57087         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
57088         types are not being provided by gnulib.
57089         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
57090         types are supported.
57091
57092 2007-03-10  Bruno Haible  <bruno@clisp.org>
57093
57094         * lib/stdio_.h (__attribute__): New macro.
57095         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
57096         vsprintf): Specify __attribute__ __format__ for GCC.
57097         Suggested by Eric Blake.
57098
57099 2007-03-09  Bruno Haible  <bruno@clisp.org>
57100
57101         * modules/printf-posix-tests: New file.
57102         * tests/test-printf-posix.sh: New file.
57103         * tests/test-printf-posix.c: New file.
57104
57105         * modules/printf-posix: New file.
57106         * lib/printf.c: New file.
57107         * m4/printf-posix-rpl.m4: New file.
57108         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
57109         REPLACE_PRINTF.
57110         * lib/stdio_.h (printf): New declaration.
57111         (format, __format__, ____printf____, ____scanf____, ____strftime____,
57112         ____strfmon____): New macros.
57113         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
57114         REPLACE_PRINTF.
57115
57116 2007-03-09  Bruno Haible  <bruno@clisp.org>
57117
57118         * tests/test-vasnprintf-posix2.sh: New file.
57119         * tests/test-vasnprintf-posix2.c: New file.
57120         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
57121         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
57122         (Makefile.am): Activate test-vasnprintf-posix2.sh.
57123
57124         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
57125         a locale dependent decimal point, rather than always '.'.
57126
57127 2007-03-09  Eric Blake  <ebb9@byu.net>
57128
57129         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
57130         spite of platforms like Tandem/NSK that define it to -1.
57131
57132 2007-03-08  Bruno Haible  <bruno@clisp.org>
57133
57134         * modules/vprintf-posix-tests: New file.
57135         * tests/test-vprintf-posix.sh: New file.
57136         * tests/test-vprintf-posix.c: New file.
57137         * tests/test-printf-posix.h: New file.
57138
57139         * modules/vprintf-posix: New file.
57140         * lib/vprintf.c: New file.
57141         * m4/vprintf-posix.m4: New file.
57142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
57143         REPLACE_VPRINTF.
57144         * lib/stdio_.h (vprintf): New declaration.
57145         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
57146         REPLACE_VPRINTF.
57147
57148 2007-03-08  Bruno Haible  <bruno@clisp.org>
57149
57150         * modules/fprintf-posix-tests: New file.
57151         * tests/test-fprintf-posix.sh: New file.
57152         * tests/test-fprintf-posix.c: New file.
57153
57154         * modules/fprintf-posix: New file.
57155         * lib/fprintf.c: New file.
57156         * m4/fprintf-posix.m4: New file.
57157         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
57158         REPLACE_FPRINTF.
57159         * lib/stdio_.h (fprintf): New declaration.
57160         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
57161         REPLACE_FPRINTF.
57162
57163 2007-03-08  Bruno Haible  <bruno@clisp.org>
57164
57165         * modules/vfprintf-posix-tests: New file.
57166         * tests/test-vfprintf-posix.sh: New file.
57167         * tests/test-vfprintf-posix.c: New file.
57168         * tests/test-fprintf-posix.h: New file.
57169         * tests/test-fprintf-posix.out: New file.
57170
57171         * modules/vfprintf-posix: New file.
57172         * lib/vfprintf.c: New file.
57173         * m4/vfprintf-posix.m4: New file.
57174         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
57175         REPLACE_VFPRINTF.
57176         * lib/stdio_.h (vfprintf): New declaration.
57177         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
57178         REPLACE_VFPRINTF.
57179
57180 2007-03-08  Bruno Haible  <bruno@clisp.org>
57181
57182         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
57183
57184 2007-03-08  Bruno Haible  <bruno@clisp.org>
57185
57186         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
57187         instead of 'expr' invocations.
57188         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57189         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57190         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57191         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57192         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57193         Suggested by Paul Eggert.
57194
57195 2007-03-08  Bruno Haible  <bruno@clisp.org>
57196
57197         * modules/fseterr-tests: New file.
57198         * tests/test-fseterr.c: New file.
57199
57200         * modules/fseterr: New file.
57201         * lib/fseterr.h: New file.
57202         * lib/fseterr.c: New file.
57203
57204 2007-03-08  Bruno Haible  <bruno@clisp.org>
57205
57206         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
57207         * lib/getopt_.h: Likewise.
57208         * lib/mbswidth.h: Likewise.
57209         * lib/setenv.h: Likewise.
57210         * lib/vasnprintf.h: Likewise.
57211         * lib/vasprintf.h: Likewise.
57212         * lib/verror.h: Likewise.
57213         * lib/xsetenv.h: Likewise.
57214         * lib/xvasprintf.h: Likewise.
57215
57216 2007-03-08  Jim Meyering  <jim@meyering.net>
57217
57218         * users.txt: Add parted.
57219
57220         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
57221
57222 2007-03-07  Bruno Haible  <bruno@clisp.org>
57223
57224         * m4/printf.m4: Make the shell script snippets copy&pastable.
57225
57226 2007-03-02  Bruno Haible  <bruno@clisp.org>
57227
57228         * lib/netinet_in_.h: New file.
57229         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
57230         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
57231         * modules/netinet_in (Files): Add lib/netinet_in_.h.
57232         (Depends-on): Add absolute-header.
57233         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
57234         into netinet/in.h.
57235
57236 2007-03-03  Bruno Haible  <bruno@clisp.org>
57237
57238         * lib/sys_select_.h: New file.
57239         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
57240         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
57241         * modules/sys_select (Files): Add lib/sys_select_.h.
57242         (Depends-on): Add absolute-header.
57243         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
57244         into sys/select.h.
57245
57246 2007-03-02  Bruno Haible  <bruno@clisp.org>
57247
57248         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
57249         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
57250         values.
57251         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
57252         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
57253         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
57254         * modules/sys_socket (Depends-on): Add absolute-header.
57255         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
57256         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
57257         (Include): Remove requirement of inclusion of <sys/types.h>.
57258
57259 2007-03-02  Bruno Haible  <bruno@clisp.org>
57260
57261         * lib/byteswap_.h (bswap_32): Fix formula.
57262
57263 2007-03-06  Bruno Haible  <bruno@clisp.org>
57264
57265         * modules/sprintf-posix-tests: New file.
57266         * tests/test-sprintf-posix.c: New file.
57267
57268         * modules/sprintf-posix: New file.
57269         * lib/sprintf.c: New file.
57270         * m4/sprintf-posix.m4: New file.
57271         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
57272         REPLACE_SPRINTF.
57273         * lib/stdio_.h (sprintf): New declaration.
57274         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
57275         REPLACE_SPRINTF.
57276
57277 2007-03-06  Bruno Haible  <bruno@clisp.org>
57278
57279         * modules/vsprintf-posix-tests: New file.
57280         * tests/test-vsprintf-posix.c: New file.
57281         * tests/test-sprintf-posix.h: New file.
57282
57283         * modules/vsprintf-posix: New file.
57284         * lib/vsprintf.c: New file.
57285         * m4/vsprintf-posix.m4: New file.
57286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
57287         REPLACE_VSPRINTF.
57288         * lib/stdio_.h (vsprintf): New declaration.
57289         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
57290         REPLACE_VSPRINTF.
57291
57292 2007-03-06  Bruno Haible  <bruno@clisp.org>
57293
57294         * modules/vsnprintf (Depend-on): Remove minmax.
57295
57296 2007-03-06  Bruno Haible  <bruno@clisp.org>
57297
57298         * modules/snprintf-posix-tests: New file.
57299         * tests/test-snprintf-posix.c: New file.
57300
57301         * modules/snprintf-posix: New file.
57302         * m4/snprintf-posix.m4: New file.
57303         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
57304         gl_FUNC_SNPRINTF.
57305         (gl_FUNC_SNPRINTF): Invoke it.
57306         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
57307         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
57308         is set.
57309         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
57310
57311 2007-03-06  Bruno Haible  <bruno@clisp.org>
57312
57313         * modules/vsnprintf-posix-tests: New file.
57314         * tests/test-vsnprintf-posix.c: New file.
57315         * tests/test-snprintf-posix.h: New file.
57316
57317         * modules/vsnprintf-posix: New file.
57318         * m4/vsnprintf-posix.m4: New file.
57319         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
57320         gl_FUNC_VSNPRINTF.
57321         (gl_FUNC_VSNPRINTF): Invoke it.
57322         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
57323         * lib/stdio_.h (vsnprintf): Define as a replacement if
57324         REPLACE_VSNPRINTF is set.
57325         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
57326
57327 2007-03-06  Bruno Haible  <bruno@clisp.org>
57328
57329         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
57330         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
57331
57332 2007-03-06  Bruno Haible  <bruno@clisp.org>
57333
57334         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
57335         (asinl): Declare also if HAVE_DECL_ASINL is set.
57336         (atanl): Declare also if HAVE_DECL_ATANL is set.
57337         (ceill): Declare also if HAVE_DECL_CEILL is set.
57338         (cosl): Declare also if HAVE_DECL_COSL is set.
57339         (expl): Declare also if HAVE_DECL_EXPL is set.
57340         (floorl): Declare also if HAVE_DECL_FLOORL is set.
57341         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
57342         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
57343         (logl): Declare also if HAVE_DECL_LOGL is set.
57344         (sinl): Declare also if HAVE_DECL_SINL is set.
57345         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
57346         (tanl): Declare also if HAVE_DECL_TANL is set.
57347         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
57348         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
57349         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
57350         declaration of frexpl, ldexpl.
57351         * modules/printf-frexpl (Depends-on): Add math.
57352         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
57353
57354 2007-03-05  Bruno Haible  <bruno@clisp.org>
57355
57356         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
57357         frexpl and ldexpl are declared.
57358         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
57359
57360 2007-03-05  Bruno Haible  <bruno@clisp.org>
57361
57362         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
57363         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
57364
57365 2007-03-05  Bruno Haible  <bruno@clisp.org>
57366
57367         * lib/stdio_.h: Include <stddef.h>.
57368
57369 2007-03-05  Bruno Haible  <bruno@clisp.org>
57370
57371         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
57372
57373 2007-03-05  Bruno Haible  <bruno@clisp.org>
57374
57375         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
57376         NetBSD 4, from Ralf Wildenhues.
57377
57378 2007-03-04  Bruno Haible  <bruno@clisp.org>
57379
57380         * lib/vasprintf.h: Update #if logic for the case when the functions
57381         exist but are overridden.
57382
57383 2007-03-04  Bruno Haible  <bruno@clisp.org>
57384
57385         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
57386         implementations: glibc-2.4 and MacOS X 10.3.
57387         * tests/test-vasnprintf-posix.c (test_function): Test also the case
57388         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
57389         * tests/test-vasprintf-posix.c (test_function): Likewise.
57390
57391 2007-03-04  Bruno Haible  <bruno@clisp.org>
57392
57393         * modules/vasprintf-posix-tests: New file.
57394         * tests/test-vasprintf-posix.c: New file.
57395
57396         * modules/vasprintf-posix: New file.
57397         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
57398         defined.
57399         * m4/vasprintf-posix.m4: New file.
57400         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
57401         gl_FUNC_VASPRINTF.
57402         (gl_FUNC_VASPRINTF): Invoke it.
57403         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
57404         here.
57405         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
57406
57407 2007-03-04  Bruno Haible  <bruno@clisp.org>
57408
57409         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
57410         REPLACE_GETTIMEOFDAY.
57411         * modules/sys_time (Makefile.am): Likewise.
57412         * m4/sys_time_h.m4: Likewise.
57413         * m4/gettimeofday.m4: Likewise.
57414
57415 2007-03-04  Bruno Haible  <bruno@clisp.org>
57416
57417         * modules/vasnprintf-posix-tests: New file.
57418         * tests/test-vasnprintf-posix.c: New file.
57419
57420         * modules/vasnprintf-posix: New file.
57421         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
57422         printf-frexpl.h.
57423         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
57424         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
57425         REPLACE_VASNPRINTF is defined.
57426         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
57427         gl_FUNC_VASNPRINTF.
57428         (gl_FUNC_VASNPRINTF): Invoke it.
57429         * m4/vasnprintf-posix.m4: New file.
57430         * m4/printf.m4: New file.
57431
57432 2007-03-04  Bruno Haible  <bruno@clisp.org>
57433
57434         Compile progreloc.c only if --enable-relocatable is specified.
57435         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
57436         if --enable-relocatable was specified.
57437         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
57438         lib_SOURCES.
57439
57440 2007-03-04  Jim Meyering  <jim@meyering.net>
57441
57442         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
57443         Use it consistently, rather than enumerating errno constants.
57444
57445 2007-03-04  Bruno Haible  <bruno@clisp.org>
57446
57447         * modules/xvasprintf-tests: New file.
57448         * tests/test-xvasprintf.c: New file.
57449
57450         * modules/vasprintf-tests: New file.
57451         * tests/test-vasprintf.c: New file.
57452
57453         * modules/vasnprintf-tests: New file.
57454         * tests/test-vasnprintf.c: New file.
57455
57456         * modules/vsnprintf-tests: New file.
57457         * tests/test-vsnprintf.c: New file.
57458
57459         * modules/snprintf-tests: New file.
57460         * tests/test-snprintf.c: New file.
57461
57462 2007-03-04  Bruno Haible  <bruno@clisp.org>
57463
57464         Compile relocatable.c only if --enable-relocatable is specified.
57465         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
57466         gl_RELOCATABLE_LIBRARY.
57467         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
57468         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
57469         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
57470         gl_RELOCATABLE_LIBRARY.
57471         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
57472         (Makefile.am): Remove lib_SOURCES.
57473         * modules/relocatable-lib-lgpl (configure.ac): Invoke
57474         gl_RELOCATABLE_LIBRARY.
57475         (Makefile.am): Remove lib_SOURCES.
57476         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
57477         always.
57478         * modules/relocatable-prog-wrapper (configure.ac): Invoke
57479         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
57480
57481 2007-03-04  Bruno Haible  <bruno@clisp.org>
57482
57483         * modules/argmatch-tests: New file.
57484         * tests/test-argmatch.c: New file.
57485
57486         * tests/test-allocsa.c (main): Halve the number of loop runs.
57487
57488         * modules/alloca-opt-tests: New file.
57489         * tests/test-alloca-opt.c: New file.
57490
57491 2007-03-04  Jim Meyering  <jim@meyering.net>
57492
57493         Work around difference between Linux ACLs and Solaris 10 ZFS.
57494         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
57495         for EINVAL.
57496
57497 2007-03-03  Bruno Haible  <bruno@clisp.org>
57498
57499         * modules/relocatable-prog (Depends-on): Add back progreloc's
57500         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
57501
57502 2007-03-03  Bruno Haible  <bruno@clisp.org>
57503
57504         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
57505         * modules/relocatable-lib: New file.
57506
57507 2007-03-03  Bruno Haible  <bruno@clisp.org>
57508
57509         * modules/relocatable-prog: Renamed from modules/relocatable.
57510         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
57511
57512 2007-03-03  Bruno Haible  <bruno@clisp.org>
57513
57514         * modules/relocatable-script (Files): Add doc/relocatable.texi,
57515         m4/relocatable-lib.m4.
57516         (Depends-on): Remove 'relocatable'.
57517         (configure.ac): Add gl_RELOCATABLE_NOP.
57518
57519 2007-03-03  Bruno Haible  <bruno@clisp.org>
57520
57521         * modules/relocatable-prog-wrapper: New file.
57522         * modules/relocatable (Depends-on): Add it. Remove all other
57523         dependencies except progname.
57524         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
57525
57526         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
57527         (gl_FUNC_STRERROR): Nop.
57528         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
57529
57530         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
57531         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
57532
57533         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
57534         (gl_FUNC_READLINK): Update.
57535
57536         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
57537
57538 2007-03-03  Bruno Haible  <bruno@clisp.org>
57539
57540         * lib/xreadlink.c: Include <unistd.h> unconditionally.
57541         * modules/xreadlink (Depends-on): Add unistd.
57542         * modules/xreadlink-with-size (Depends-on): Likewise.
57543
57544 2007-03-03  Bruno Haible  <bruno@clisp.org>
57545
57546         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
57547         extracted from gt_FUNC_SETENV.
57548         (gt_FUNC_SETENV): Remove macro.
57549         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
57550         remove gt_FUNC_SETENV.
57551
57552 2007-03-03  Bruno Haible  <bruno@clisp.org>
57553
57554         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
57555         ENABLE_RELOCATABLE here.
57556         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
57557
57558 2007-03-03  Bruno Haible  <bruno@clisp.org>
57559
57560         * modules/rbtreehash-list-tests (Depends-on): Add progname.
57561         * tests/test-rbtreehash_list.c: Include progname.h.
57562         (main): Call set_program_name.
57563
57564         * modules/rbtree-oset-tests (Depends-on): Add progname.
57565         * tests/test-rbtree_oset.c: Include progname.h.
57566         (main): Call set_program_name.
57567
57568         * modules/rbtree-list-tests (Depends-on): Add progname.
57569         * tests/test-rbtree_list.c: Include progname.h.
57570         (main): Call set_program_name.
57571
57572         * modules/linked-list-tests (Depends-on): Add progname.
57573         * tests/test-linked_list.c: Include progname.h.
57574         (main): Call set_program_name.
57575
57576 2007-03-03  Bruno Haible  <bruno@clisp.org>
57577
57578         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
57579         All uses of __restrict changed to _Restrict_.
57580         * lib/glob_.h (__restrict): Remove macro.
57581
57582 2007-03-02  Bruno Haible  <bruno@clisp.org>
57583
57584         * modules/gettext (configure.ac): Require gettext infrastructure
57585         from version 0.16.1.
57586
57587 2007-03-02  Bruno Haible  <bruno@clisp.org>
57588
57589         * modules/linkedhash-list-tests (Depends-on): Add progname.
57590         * tests/test-linkedhash_list.c: Include progname.h.
57591         (main): Call set_program_name.
57592
57593         * modules/carray-list-tests (Depends-on): Add progname.
57594         * tests/test-carray_list.c: Include progname.h.
57595         (main): Call set_program_name.
57596
57597         * modules/avltreehash-list-tests (Depends-on): Add progname.
57598         * tests/test-avltreehash_list.c: Include progname.h.
57599         (main): Call set_program_name.
57600
57601         * modules/avltree-oset-tests (Depends-on): Add progname.
57602         * tests/test-avltree_oset.c: Include progname.h.
57603         (main): Call set_program_name.
57604
57605         * modules/avltree-list-tests (Depends-on): Add progname.
57606         * tests/test-avltree_list.c: Include progname.h.
57607         (main): Call set_program_name.
57608
57609         * modules/array-oset-tests (Depends-on): Add progname.
57610         * tests/test-array_oset.c: Include progname.h.
57611         (main): Call set_program_name.
57612
57613         * modules/array-list-tests (Depends-on): Add progname.
57614         * tests/test-array_list.c: Include progname.h.
57615         (main): Call set_program_name.
57616
57617         * modules/argp-tests (Depends-on): Add progname.
57618         * tests/test-argp.c: Include argp.h first. Include progname.h.
57619         (main): Call set_program_name.
57620
57621 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
57622
57623         * doc/gnulib-tool.texi (Initial import): Reword description of
57624         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
57625         limited effect even if defined after the first system include.
57626
57627 2007-03-01  Bruno Haible  <bruno@clisp.org>
57628
57629         * build-aux/config.libpath: Update to libtool-1.5.22.
57630         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57631
57632 2007-03-01  Bruno Haible  <bruno@clisp.org>
57633
57634         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
57635         foo_CFLAGS.
57636         Reported by Ralf Wildenhues.
57637
57638 2007-03-01  Bruno Haible  <bruno@clisp.org>
57639
57640         * build-aux/install-reloc: Remove object files left over by some
57641         compilers.
57642         Reported by Ralf Wildenhues.
57643
57644 2007-03-01  Bruno Haible  <bruno@clisp.org>
57645
57646         * build-aux/install-reloc: Break long lines.
57647
57648 2007-03-01  Bruno Haible  <bruno@clisp.org>
57649
57650         * doc/relocatable.texi: Document that it may not work on OpenBSD.
57651         Reported by Ralf Wildenhues.
57652
57653 2007-03-01  Bruno Haible  <bruno@clisp.org>
57654
57655         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
57656         include ordering constraints.
57657
57658 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57659
57660         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
57661         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
57662         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
57663         as another example.
57664         * lib/time_.h: Fix misspelling.
57665         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57666         Require gl_HEADER_TIME_H_DEFAULTS.
57667         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
57668         * m4/time_r.m4 (gl_TIME_R): Likewise.
57669         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
57670
57671 2007-03-01  Bruno Haible  <bruno@clisp.org>
57672
57673         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
57674         * m4/utimens.m4 (gl_UTIMENS): Likewise.
57675
57676 2007-03-01  Jim Meyering  <jim@meyering.net>
57677
57678         * modules/xreadlink (Maintainer): Add my name.
57679         * modules/xreadlink-with-size (Depends-on): Alphabetize.
57680
57681 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
57682             Bruno Haible  <bruno@clisp.org>
57683
57684         * build-aux/install-reloc: Compile also c-ctype.c.
57685         * build-aux/relocatable.sh.in: New file.
57686         * doc/relocatable.texi: New file.
57687         * doc/relocatable-maint.texi: New file.
57688         * doc/gnulib.texi: Include relocatable-maint.texi.
57689         * lib/progreloc.c: Include unistd.h unconditionally.
57690         * lib/relocwrapper.c: Include unistd.h unconditionally.
57691         Include c-ctype.h.
57692         (add_dotbin): Use c_tolower.
57693         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
57694         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
57695         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
57696         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
57697         to m4/relocatable-lib.m4.
57698         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
57699         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
57700         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
57701         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
57702         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
57703         * modules/relocatable: New file.
57704         * modules/relocatable-lib: New file.
57705         * modules/relocatable-script: New file.
57706
57707 2007-02-28  Bruno Haible  <bruno@clisp.org>
57708
57709         Import --enable-relocatable infrastructure.
57710         * build-aux/config.libpath: New file, from GNU gettext.
57711         * build-aux/install-reloc: New file, from GNU gettext.
57712         * build-aux/reloc-ldflags: New file, from GNU gettext.
57713         * lib/relocatable.h: New file, from GNU gettext.
57714         * lib/relocatable.c: New file, from GNU gettext.
57715         * lib/relocwrapper.c: New file, from GNU gettext.
57716         * m4/relocatable.m4: New file, from GNU gettext.
57717
57718 2007-02-28  Bruno Haible  <bruno@clisp.org>
57719
57720         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
57721
57722         * modules/xreadlink: New file, from GNU gettext with modifications.
57723         * lib/xreadlink.c: New file, from GNU gettext.
57724         * lib/xreadlink.h: Add comments.
57725         (xreadlink): New declaration.
57726
57727         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
57728         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
57729         lib/xreadlink-with-size.c.
57730         (configure.ac): Remove gl_XREADLINK invocation.
57731         (Makefile.am): Augment lib_SOURCES.
57732         * m4/xreadlink.m4: Remove file.
57733         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
57734         (xreadlink_with_size): Renamed from xreadink.
57735         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
57736         * modules/canonicalize (Depends-on): Replace xreadlink with
57737         xreadlink-with-size.
57738         * lib/canonicalize.c (canonicalize_filename_mode): Update.
57739
57740 2007-02-25  Jim Meyering  <jim@meyering.net>
57741
57742         * build-aux/announce-gen: When complaining about excess arguments,
57743         list them.
57744
57745 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57746
57747         * README: Document signed integer overflow situation more
57748         accurately.
57749
57750 2007-02-25  Bruno Haible  <bruno@clisp.org>
57751
57752         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
57753         'a' or 'A' conversion.
57754
57755 2007-02-25  Bruno Haible  <bruno@clisp.org>
57756
57757         * modules/filename: Renamed from modules/pathname.
57758         (Files): Replace lib/pathname.h with lib/filename.h. Replace
57759         lib/concatpath.c with lib/concat-filename.c.
57760         (Makefile.am): Update.
57761         (Include): Replace pathname.h with filename.h.
57762         * lib/filename.h: Renamed from lib/pathname.h.
57763         (concatenated_filename): Renamed from concatenated_pathname.
57764         * lib/concat-filename.c: Renamed from lib/concatpath.c.
57765         (concatenated_filename): Renamed from concatenated_pathname.
57766         * lib/findprog.c: Include filename.h instead of pathname.h.
57767         (find_in_path): Update.
57768         * lib/javacomp.c: Include filename.h instead of pathname.h.
57769         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57770         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57771         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57772         is_oldgcj_14_13_usable, is_javac_usable): Update.
57773         * lib/javaexec.c: Include filename.h instead of pathname.h.
57774         (execute_java_class): Update.
57775         * modules/findprog: Update.
57776         * modules/javacomp: Update.
57777         * modules/javaexec: Update.
57778         * MODULES.html.sh (File system functions): Add 'filename', remove
57779         'pathname'.
57780
57781 2007-02-25  Bruno Haible  <bruno@clisp.org>
57782
57783         * modules/printf-frexpl-tests: New file.
57784         * tests/test-printf-frexpl.c: New file.
57785
57786         * modules/printf-frexpl: New file.
57787         * lib/printf-frexpl.h: New file.
57788         * lib/printf-frexpl.c: New file.
57789         * m4/printf-frexpl.m4: New file.
57790
57791 2007-02-25  Bruno Haible  <bruno@clisp.org>
57792
57793         * modules/printf-frexp-tests: New file.
57794         * tests/test-printf-frexp.c: New file.
57795
57796         * modules/printf-frexp: New file.
57797         * lib/printf-frexp.h: New file.
57798         * lib/printf-frexp.c: New file.
57799         * m4/printf-frexp.m4: New file.
57800
57801 2007-02-25  Bruno Haible  <bruno@clisp.org>
57802
57803         Assume automake >= 1.10 for the tests.
57804         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
57805         * modules/arctwo-tests: Likewise.
57806         * modules/argp-tests: Likewise.
57807         * modules/avltree-list-tests: Likewise.
57808         * modules/avltree-oset-tests: Likewise.
57809         * modules/avltreehash-list-tests: Likewise.
57810         * modules/carray-list-tests: Likewise.
57811         * modules/crc-tests: Likewise.
57812         * modules/des-tests: Likewise.
57813         * modules/gc-arcfour-tests: Likewise.
57814         * modules/gc-arctwo-tests: Likewise.
57815         * modules/gc-des-tests: Likewise.
57816         * modules/gc-hmac-md5-tests: Likewise.
57817         * modules/gc-hmac-sha1-tests: Likewise.
57818         * modules/gc-md2-tests: Likewise.
57819         * modules/gc-md4-tests: Likewise.
57820         * modules/gc-md5-tests: Likewise.
57821         * modules/gc-pbkdf2-sha1-tests: Likewise.
57822         * modules/gc-rijndael-tests: Likewise.
57823         * modules/gc-sha1-tests: Likewise.
57824         * modules/gc-tests: Likewise.
57825         * modules/getaddrinfo-tests: Likewise.
57826         * modules/hmac-md5-tests: Likewise.
57827         * modules/hmac-sha1-tests: Likewise.
57828         * modules/linked-list-tests: Likewise.
57829         * modules/linkedhash-list-tests: Likewise.
57830         * modules/lock-tests: Likewise.
57831         * modules/md2-tests: Likewise.
57832         * modules/md4-tests: Likewise.
57833         * modules/md5-tests: Likewise.
57834         * modules/rbtree-list-tests: Likewise.
57835         * modules/rbtree-oset-tests: Likewise.
57836         * modules/rbtreehash-list-tests: Likewise.
57837         * modules/read-file-tests: Likewise.
57838         * modules/rijndael-tests: Likewise.
57839         * modules/stdint-tests: Likewise.
57840         * modules/tls-tests: Likewise.
57841
57842 2007-02-24  Bruno Haible  <bruno@clisp.org>
57843
57844         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
57845         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
57846         function; instead check whether isnan with a double argument links.
57847         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
57848         function; instead check whether isnan with a 'long double' argument
57849         links.
57850         Reported by Eric Blake <ebb9@byu.net>.
57851
57852 2007-02-24  Bruno Haible  <bruno@clisp.org>
57853
57854         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
57855         defined.
57856         * lib/isnanl.c: Remove all code. Just include isnan.c.
57857         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
57858
57859 2007-02-25  Jim Meyering  <jim@meyering.net>
57860
57861         Avoid conflicting types for 'unsetenv' on FreeBSD.
57862         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
57863         conflicting with FreeBSD's (5.0 and 6.1) function declaration
57864         in stdlib.h.
57865
57866 2007-02-24  Bruno Haible  <bruno@clisp.org>
57867
57868         * modules/isnanl-nolibm-tests: New file.
57869         * tests/test-isnanl.c: New file.
57870
57871         * modules/isnanl-nolibm: New file.
57872         * lib/isnanl.h: New file.
57873         * lib/isnanl.c: New file.
57874         * m4/isnanl.m4: New file.
57875
57876 2007-02-24  Bruno Haible  <bruno@clisp.org>
57877
57878         * modules/isnan-nolibm-tests: New file.
57879         * tests/test-isnan.c: New file.
57880
57881         * modules/isnan-nolibm: New file.
57882         * lib/isnan.h: New file.
57883         * lib/isnan.c: New file.
57884         * m4/isnan.m4: New file.
57885
57886 2007-02-24  Bruno Haible  <bruno@clisp.org>
57887
57888         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
57889         assume that an exponent fits in 20 bits.
57890
57891 2007-02-24  Jim Meyering  <jim@meyering.net>
57892
57893         * m4/regex.m4: Update the description of the configure-time option,
57894         --without-included-regex, to state accurately what the defaults are,
57895         and perhaps to give people an idea why using this option is risky.
57896
57897 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
57898
57899         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
57900         loops on small arguments.  This attempts to avoid the problem
57901         Bruno Haible reported for AIX 4.3.2 in
57902         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
57903
57904 2007-02-23  Bruno Haible  <bruno@clisp.org>
57905
57906         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
57907         Needed for help2man.
57908
57909 2007-02-23  Karl Berry  <karl@gnu.org>
57910
57911         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
57912         exists, foo.h should be cvs-ignored, not committed.
57913
57914 2007-02-23  Eric Blake  <ebb9@byu.net>
57915
57916         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
57917         * lib/stat-time.h (includes): Likewise.
57918         * lib/utimecmp.c (includes): Likewise.
57919         * lib/utimens.h (includes): Likewise.
57920         * lib/getdate.y (includes): Also include "timespec.h" for use
57921         internal to the module.
57922         * modules/utimens (Depends-on): Revert yesterday's patch.
57923         * modules/nanosleep (Depends-on): Add missing dependency.
57924
57925 2007-02-22  Bruno Haible  <bruno@clisp.org>
57926
57927         * lib/glob.c: Don't include getlogin_r.h.
57928
57929 2007-02-22  Jim Meyering  <jim@meyering.net>
57930
57931         * modules/utimens (Depends-on): Add timespec, required for
57932         utimens.h's inclusion of timespec.h.
57933
57934 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
57935
57936         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
57937         long unreadable paths in GNU/Linux.  Problem reported by Andreas
57938         Schwab in
57939         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
57940         I'll try to think of a better way to fix the Solaris problem.
57941
57942         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
57943         like glibc; on Solaris 10, it fails with errno == EINVAL.
57944         POSIX says the behavior is unspecified if the first argument is NULL,
57945         so play it safe and never pass NULL to the system getcwd.
57946
57947 2007-02-21  Jim Meyering  <jim@meyering.net>
57948
57949         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
57950         of gettimeofday.  It would conflict with the one now always
57951         provided via sys_time_.h.  Reported by Matthew Woehlke, as
57952         an IRIX 6.5 build failure.
57953
57954 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
57955
57956         Minor fixups to port to Solaris 10 with Sun C 5.8.
57957         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
57958         * modules/getcwd (Depends-on): Add dirfd.
57959         * lib/putenv.c (putenv): #undef it.
57960         (rpl_putenv): New decl.
57961         (malloc, free): Include <stdlib.h> rather than prototyping separately.
57962
57963 2007-02-20  Bruno Haible  <bruno@clisp.org>
57964
57965         * modules/stdio-tests: New file.
57966         * tests/test-stdio.c: New file.
57967
57968         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
57969         (Depends-on): Add stdio.
57970         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
57971         (Include): Use <stdio.h> instead of vsnprintf.h.
57972         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
57973         HAVE_DECL_VSNPRINTF.
57974         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
57975
57976         * modules/snprintf (Files): Remove lib/snprintf.h.
57977         (Depends-on): Add stdio.
57978         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
57979         (Include): Use <stdio.h> instead of snprintf.h.
57980         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
57981         HAVE_DECL_SNPRINTF.
57982         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
57983         * lib/getaddrinfo.c: Likewise.
57984
57985         * modules/stdio: New file.
57986         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
57987         * lib/snprintf.h: Remove file.
57988         * lib/vsnprintf.h: Remove file.
57989         * lib/.cppi-disable: Remove snprintf.h.
57990         * m4/stdio_h.m4: New file.
57991         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
57992
57993 2007-02-20  Jim Meyering  <jim@meyering.net>
57994
57995         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
57996         used by e.g., mingw.  From Bruno Haible.
57997
57998 2007-02-19  Bruno Haible  <bruno@clisp.org>
57999
58000         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
58001         warnings.
58002         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58003
58004 2007-02-19  Bruno Haible  <bruno@clisp.org>
58005
58006         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
58007         from mingw users.
58008
58009 2007-02-19  Bruno Haible  <bruno@clisp.org>
58010
58011         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
58012         warnings.
58013         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
58014
58015 2007-02-19  Jim Meyering  <jim@meyering.net>
58016
58017         Don't use FD after a successful "fdopendir (fd)".
58018         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
58019         Reset it by calling dirfd on the just-obtained DIR*.
58020
58021         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
58022         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
58023
58024 2007-02-18  Bruno Haible  <bruno@clisp.org>
58025
58026         * lib/readlink.c: Include <unistd.h>.
58027         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
58028         HAVE_READLINK.
58029         * modules/readlink (Depends-on): Add unistd.
58030         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58031         (Include): Add <unistd.h>.
58032
58033         * lib/getlogin_r.h: Remove file.
58034         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
58035         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
58036         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
58037         HAVE_DECL_GETLOGIN_R.
58038         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
58039         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58040         (Include): Use <unistd.h> instead of getlogin_r.h.
58041
58042         * lib/getcwd.h: Remove file.
58043         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
58044         * lib/xgetcwd.c: Likewise.
58045         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
58046         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
58047         * modules/getcwd (Files): Remove lib/getcwd.h.
58048         (Depends-on): Add unistd.
58049         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58050         (Include): Use <unistd.h> instad of getcwd.h.
58051
58052         * lib/ftruncate.c: Include <unistd.h> first.
58053         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
58054         Set HAVE_FTRUNCATE.
58055         * modules/ftruncate (Depends-on): Add unistd.
58056         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58057
58058         * lib/fchdir.c: Include <unistd.h> first.
58059         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
58060         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
58061         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
58062         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58063         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
58064
58065         * lib/dup2.c: Include <unistd.h> first.
58066         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
58067         HAVE_DUP2.
58068         * modules/dup2 (Depends-on): Add unistd.
58069         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58070
58071         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
58072         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
58073         REPLACE_CHOWN. Don't define chown as a macro here.
58074         * modules/chown (Depends-on): Add unistd.
58075         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58076
58077         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
58078         Add definition for GL_LINK_WARNING.
58079         (chown, dup2): New declarations.
58080         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
58081         link warning.
58082         (ftruncate): New declaration.
58083         (getcwd): New declaration, taken from old getcwd.h.
58084         (getlogin_r): New declaration, taken from old getlogin_r.h.
58085         (readlink): New declaration.
58086         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
58087         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
58088         (gl_PREREQ_UNISTD): Remove macro.
58089         (gl_UNISTD_MODULE_INDICATOR): New macro.
58090         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
58091         many new variables. Don't set UNISTD_H.
58092         * modules/unistd (Description): Change.
58093         (Depends-on): Add link-warning.
58094         (configure.ac): Update.
58095         (Makefile.am): Create unistd.h always. Substitute many new variables
58096         into it.
58097
58098 2007-02-18  Bruno Haible  <bruno@clisp.org>
58099
58100         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
58101         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
58102         HAVE_GETSUBOPT.
58103         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
58104         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
58105         * lib/getsubopt.h: Remove file.
58106         * modules/getsubopt (Files): Remove lib/getsubopt.h.
58107         (Depends-on): Add stdlib.
58108         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58109         (Includes): Use <stdlib.h> instead of getsubopt.h.
58110         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
58111         Set HAVE_GETSUBOPT.
58112         * lib/getsubopt.c: Don't include getsubopt.h.
58113
58114 2007-02-18  Bruno Haible  <bruno@clisp.org>
58115
58116         * modules/fchdir (Depends-on): Add dup2.
58117
58118 2007-02-18  Bruno Haible  <bruno@clisp.org>
58119
58120         * lib/stdlib_.h: Handle glibc's special invocation convention
58121         specially.
58122
58123 2007-02-18  Bruno Haible  <bruno@clisp.org>
58124
58125         * modules/stdlib-tests: New file.
58126         * tests/test-stdlib.c: New file.
58127
58128         * modules/mkstemp (Files): Remove lib/mkstemp.h.
58129         (Depends-on): Add stdlib.
58130         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58131         (Includes): Use <stdlib.h> instead of mkstemp.h.
58132         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
58133         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
58134         * lib/mkstemp.c: Don't include mkstemp.h.
58135         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
58136         * lib/stdlib--.h: Don't include mkstemp.h.
58137
58138         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
58139         (Depends-on): Add stdlib.
58140         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58141         (Includes): Use <stdlib.h> instead of mkdtemp.h.
58142         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
58143         HAVE_MKDTEMP.
58144         * lib/mkdtemp.c: Don't include mkdtemp.h.
58145         * lib/clean-temp.c: Don't include mkdtemp.h.
58146
58147         * modules/exit (Files): Remove lib/exit.h.
58148         (Depends-on): Add stdlib.
58149         (Makefile.am): Remove lib_SOURCES.
58150         (Include): Use <stdlib.h> instead of exit.h.
58151         * lib/argmatch.c: Don't include exit.h.
58152         * lib/execute.c: Likewise.
58153         * lib/pagealign_alloc.c: Likewise.
58154         * lib/pipe.c: Likewise.
58155         * lib/wait-process.c: Likewise.
58156         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
58157         * lib/exitfail.c: Likewise.
58158         * lib/savewd.c: Likewise.
58159         * lib/xsetenv.c: Likewise.
58160
58161         * modules/stdlib: New file.
58162         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
58163         and extra comments about mkstemp().
58164         * lib/exit.h: Remove file.
58165         * lib/mkdtemp.h: Remove file.
58166         * lib/mkstemp.h: Remove file.
58167         * m4/stdlib_h.m4: New file.
58168         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
58169
58170 2007-02-18  Bruno Haible  <bruno@clisp.org>
58171
58172         * modules/math-tests: New file.
58173         * tests/test-math.c: New file.
58174
58175         * modules/math: New file.
58176         * modules/mathl (Files): Remove lib/mathl.h.
58177         (Depends-on): Add math.
58178         (Makefile.am): Don't mention mathl.h.
58179         (Include): Use <math.h> instead of mathl.h.
58180         * lib/math_.h: New file.
58181         * lib/mathl.h: Remove file.
58182         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
58183         mathl.h.
58184         * lib/asinl.c: Likewise.
58185         * lib/atanl.c: Likewise.
58186         * lib/ceill.c: Likewise.
58187         * lib/cosl.c: Likewise.
58188         * lib/expl.c: Likewise.
58189         * lib/floorl.c: Likewise.
58190         * lib/frexpl.c: Likewise.
58191         * lib/ldexpl.c: Likewise.
58192         * lib/logl.c: Likewise.
58193         * lib/sincosl.c: Likewise.
58194         * lib/sinl.c: Likewise.
58195         * lib/sqrtl.c: Likewise.
58196         * lib/tanl.c: Likewise.
58197         * lib/trigl.c: Likewise.
58198         * m4/math_h.m4: New file.
58199         * MODULES.html.sh (Mathematics): Add math.
58200
58201 2007-02-17  Bruno Haible  <bruno@clisp.org>
58202
58203         * modules/wctype-tests: New file.
58204         * tests/test-wctype.c: New file.
58205
58206         * modules/wchar-tests: New file.
58207         * tests/test-wchar.c: New file.
58208
58209         * modules/unistd-tests: New file.
58210         * tests/test-unistd.c: New file.
58211
58212         * modules/time-tests: New file.
58213         * tests/test-time.c: New file.
58214
58215         * modules/sysexits-tests: New file.
58216         * tests/test-sysexits.c: New file.
58217
58218         * modules/sys_time-tests: New file.
58219         * tests/test-sys_time.c: New file.
58220
58221         * modules/sys_stat-tests: New file.
58222         * tests/test-sys_stat.c: New file.
58223
58224         * modules/sys_socket-tests: New file.
58225         * tests/test-sys_socket.c: New file.
58226
58227         * modules/sys_select-tests: New file.
58228         * tests/test-sys_select.c: New file.
58229
58230         * modules/string-tests: New file.
58231         * tests/test-string.c: New file.
58232
58233         * modules/stdbool-tests: New file.
58234         * tests/test-stdbool.c: New file.
58235
58236         * modules/netinet_in-tests: New file.
58237         * tests/test-netinet_in.c: New file.
58238
58239         * modules/inttypes-tests: New file.
58240         * tests/test-inttypes.c: New file.
58241
58242         * modules/fcntl-tests: New file.
58243         * tests/test-fcntl.c: New file.
58244
58245         * modules/byteswap-tests: New file.
58246         * tests/test-byteswap.c: New file.
58247
58248         * modules/arpa_inet-tests: New file.
58249         * tests/test-arpa_inet.c: New file.
58250
58251 2007-02-17  Bruno Haible  <bruno@clisp.org>
58252
58253         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
58254         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
58255         if the corresponding module is not enabled. Emit link warnings if
58256         the function is used nevertheless.
58257         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
58258         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
58259         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
58260         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
58261         * modules/inttypes (Depends-on): Add link-warning.
58262         (Makefile.am): Copy the contents of build-aux/link-warning.h into
58263         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
58264         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
58265         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
58266         * modules/imaxdiv (configure.ac): Likewise.
58267         * modules/strtoimax (configure.ac): Likewise.
58268         * modules/strtoumax (configure.ac): Likewise.
58269
58270 2007-02-17  Bruno Haible  <bruno@clisp.org>
58271
58272         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
58273         gl_STRING_MODULE_INDICATOR_DEFAULTS.
58274         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
58275         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
58276
58277 2007-02-17  Bruno Haible  <bruno@clisp.org>
58278
58279         * modules/link-warning: New file.
58280         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
58281         * lib/string_.h (GL_LINK_WARNING): Remove definition.
58282         * modules/string (Depends-on): Add link-warning.
58283         (Makefile.am): Copy the contents of build-aux/link-warning.h into
58284         string.h.
58285         * MODULES.html.sh (Support for building libraries and executables): Add
58286         link-warning.
58287
58288 2007-02-17  Bruno Haible  <bruno@clisp.org>
58289
58290         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
58291         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
58292         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
58293         long lines.
58294
58295 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
58296             Bruno Haible  <bruno@clisp.org>
58297
58298         * modules/tmpfile: New file.
58299         * lib/tmpfile.c: New file.
58300         * m4/tmpfile.m4: New file.
58301         * MODULES.html.sh (func_all_modules): New section "Input/output".
58302
58303 2007-02-15  Bruno Haible  <bruno@clisp.org>
58304
58305         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
58306         (supports_delete_on_close): New function.
58307         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
58308
58309 2007-02-14  Bruno Haible  <bruno@clisp.org>
58310
58311         * modules/mbspcasecmp-tests: New file.
58312         * tests/test-mbspcasecmp.sh: New file.
58313         * tests/test-mbspcasecmp.c: New file.
58314
58315         New module mbspcasecmp.
58316         * modules/mbspcasecmp: New file.
58317         * lib/mbspcasecmp.c: New file.
58318         * lib/string_.h (strncasecmp): Change warning message.
58319         (mbspcasecmp): New declaration.
58320         * m4/mbspcasecmp.m4: New file.
58321         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58322         GNULIB_MBSPCASECMP.
58323         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
58324         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
58325
58326 2007-02-14  Bruno Haible  <bruno@clisp.org>
58327
58328         * modules/mbsncasecmp-tests: New file.
58329         * tests/test-mbsncasecmp.sh: New file.
58330         * tests/test-mbsncasecmp.c: New file.
58331
58332         New module mbsncasecmp.
58333         * modules/mbsncasecmp: New file.
58334         * lib/mbsncasecmp.c: New file.
58335         * lib/string_.h (mbsncasecmp): New declaration.
58336         * m4/mbsncasecmp.m4: New file.
58337         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58338         GNULIB_MBSNCASECMP.
58339         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
58340         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
58341
58342 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
58343
58344         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
58345         Verify that it doesn't overlap with our flags.
58346         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
58347         do not have the desired effect in multibyte locales; instead, use
58348         mbscasecmp.
58349         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
58350         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
58351         we don't require GNU fnmatch ourselves (if our users require it, they
58352         should do so explicitly).
58353
58354         Fix regex code so it doesn't rely on strcasecmp.
58355         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
58356         Otherwise, include gnulib's langinfo.h.
58357         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
58358         undesirable behavior in non-C locales.  Instead, rely on localecharset.
58359         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
58360         * modules/regex (FILES): Remove m4/codeset.m4.
58361         (Depends-on): Add localcharset.  Remove strcase.
58362
58363 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58364
58365         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
58366         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
58367
58368 2007-02-13  Bruno Haible  <bruno@clisp.org>
58369
58370         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
58371         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58372
58373 2007-02-12  Bruno Haible  <bruno@clisp.org>
58374
58375         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
58376         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
58377         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
58378         time warning rather than a link error.
58379
58380 2007-02-12  Bruno Haible  <bruno@clisp.org>
58381
58382         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
58383         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58384         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58385
58386 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58387
58388         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
58389         args, not 2.
58390
58391 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58392
58393         New module 'time', so that apps can include <time.h> as per
58394         POSIX and GNU instead of separate include files like time_r.h
58395         and timegm.h.  This implementation tries out a simpler approach
58396         for replacing decls in standard include files (as compared to
58397         the string module), somewhat as an experiment.
58398
58399         * config/srclist.txt: Comment out mktime.c for now.
58400         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
58401         since it doesn't apply any more.  Use generic wording instead.
58402         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
58403         'time'.
58404         * lib/time_.h, m4/time_h.m4, modules/time: New files.
58405         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
58406         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
58407         Don't include <sys/types.h>; no longer needed since we assume C89.
58408         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
58409         * lib/strftime.c: Likewise.
58410         * lib/time_r.c: Likewise.
58411         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
58412         * lib/nanosleep.c: Include <time.h> first, to check interface.
58413         * lib/strptime.c: Likewise.
58414         * lib/time_r.c: Likewise.
58415         * lib/timegm.c: Likewise.
58416         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
58417         needed.
58418         * lib/timegm.c: Don't include timegm.h; no longer needed.
58419         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
58420         time.h now handles any problems in that area.
58421         (struct timespec, nanosleep): Remove; time.h now arranges for these.
58422         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
58423         that time.h defines struct timespec.
58424         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
58425         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
58426         handles that.
58427         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
58428         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
58429         needed.  Set REPLACE_LOCALTIME.
58430         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
58431         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
58432         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
58433         nanosleep; time_h.m4 now does that.  Don't require
58434         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
58435         module handles this now.
58436         * modules/getdate (Depends-on): Remove timespec.  Add time.
58437         * modules/nanosleep (Depends-on): Likewise.
58438         * modules/stat-time (Depends-on): Likewise.
58439         * modules/nanosleep (Include): Include time.h, not timespec.h.
58440         * modules/strptime (Files): Remove lib/strptime.h.
58441         (Depends-on): Add extensions, time.
58442         (Include): Include time.h, not strptime.h.
58443         * modules/time_r (Files): Remove lib/time_r.h.
58444         (Depends-on): Add time.
58445         (Include): Include time.h, not time_r.h.
58446         * modules/timegm: Likewise.
58447         * modules/timespec (Description): Now does timespec-related decls
58448         of our own, instead of struct timespec itself.
58449         (Depends-on): Add time; remove extensions.
58450         (Maintainer): Add self.
58451         * modules/utimecmp (Depends-on): Add time; remove timespec.
58452         * modules/utimens (Depends-on): Likewise.
58453         * modules/xnanosleep (Depends-on): Likewise.
58454
58455 2007-02-11  Bruno Haible  <bruno@clisp.org>
58456
58457         * lib/c-strstr.c: Include allocsa.h.
58458         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58459         * lib/c-strcasestr.c: Include allocsa.h.
58460         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58461         * lib/strcasestr.c: Include allocsa.h.
58462         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58463         * lib/mbsstr.c: Include allocsa.h.
58464         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
58465         allocsa/freesa instead of malloc/free.
58466         * lib/mbscasestr.c: Include allocsa.h.
58467         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
58468         allocsa/freesa instead of malloc/free.
58469         * modules/c-strstr (Depends-on): Add allocsa.
58470         * modules/c-strcasestr (Depends-on): Likewise.
58471         * modules/strcasestr (Depends-on): Likewise.
58472         * modules/mbsstr (Depends-on): Likewise.
58473         * modules/mbscasestr (Depends-on): Likewise.
58474
58475 2007-02-11  Bruno Haible  <bruno@clisp.org>
58476
58477         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
58478
58479         * modules/mbsspn-tests: New file.
58480         * tests/test-mbsspn.sh: New file.
58481         * tests/test-mbsspn.c: New file.
58482
58483 2007-02-11  Bruno Haible  <bruno@clisp.org>
58484
58485         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
58486
58487         * modules/mbspbrk-tests: New file.
58488         * tests/test-mbspbrk.sh: New file.
58489         * tests/test-mbspbrk.c: New file.
58490
58491 2007-02-11  Bruno Haible  <bruno@clisp.org>
58492
58493         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
58494         unneeded cast.
58495
58496         * modules/mbscspn-tests: New file.
58497         * tests/test-mbscspn.sh: New file.
58498         * tests/test-mbscspn.c: New file.
58499
58500 2007-02-11  Bruno Haible  <bruno@clisp.org>
58501
58502         * modules/mbscasecmp-tests: New file.
58503         * tests/test-mbscasecmp.sh: New file.
58504         * tests/test-mbscasecmp.c: New file.
58505
58506 2007-02-11  Bruno Haible  <bruno@clisp.org>
58507
58508         Ensure O(n) worst-case complexity of mbscasestr.
58509         * lib/mbscasestr.c: Include stdbool.h.
58510         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
58511         functions.
58512         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
58513         the bookkeeping indicates that it's worth it.
58514         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
58515
58516         * modules/mbscasestr-tests: New file.
58517         * tests/test-mbscasestr1.c: New file.
58518         * tests/test-mbscasestr2.sh: New file.
58519         * tests/test-mbscasestr2.c: New file.
58520         * tests/test-mbscasestr3.sh: New file.
58521         * tests/test-mbscasestr3.c: New file.
58522         * tests/test-mbscasestr4.sh: New file.
58523         * tests/test-mbscasestr4.c: New file.
58524         * m4/locale-tr.m4: New file.
58525
58526 2007-02-11  Bruno Haible  <bruno@clisp.org>
58527
58528         Ensure O(n) worst-case complexity of mbsstr.
58529         * lib/mbsstr.c: Include stdbool.h.
58530         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
58531         functions.
58532         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
58533         bookkeeping indicates that it's worth it.
58534         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
58535
58536         * modules/mbsstr-tests: New file.
58537         * tests/test-mbsstr1.c: New file.
58538         * tests/test-mbsstr2.sh: New file.
58539         * tests/test-mbsstr2.c: New file.
58540         * tests/test-mbsstr3.sh: New file.
58541         * tests/test-mbsstr3.c: New file.
58542         * m4/locale-fr.m4: New file.
58543
58544 2007-02-11  Bruno Haible  <bruno@clisp.org>
58545
58546         * lib/mbsrchr.c (mbsrchr): Fix bug.
58547
58548         * modules/mbsrchr-tests: New file.
58549         * tests/test-mbsrchr.sh: New file.
58550         * tests/test-mbsrchr.c: New file.
58551
58552 2007-02-11  Bruno Haible  <bruno@clisp.org>
58553
58554         * lib/mbschr.c (mbschr): Fix bug.
58555
58556         * modules/mbschr-tests: New file.
58557         * tests/test-mbschr.sh: New file.
58558         * tests/test-mbschr.c: New file.
58559         * m4/locale-zh.m4: New file.
58560
58561 2007-02-11  Bruno Haible  <bruno@clisp.org>
58562
58563         Support for copying multibyte string iterators.
58564         * lib/mbiter.h: Include <string.h>.
58565         (mbiter_multi_copy): New function.
58566         (mbi_copy): New macro.
58567         * lib/mbuiter.h: Include <string.h>.
58568         (mbuiter_multi_copy): New function.
58569         (mbui_copy): New macro.
58570
58571 2007-02-11  Bruno Haible  <bruno@clisp.org>
58572
58573         New module mbslen.
58574         * modules/mbslen: New file.
58575         * lib/mbslen.c: New file.
58576         * lib/string_.h (mbslen): New declaration.
58577         * m4/mbslen.m4: New file.
58578         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58579         GNULIB_MBSLEN.
58580         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
58581         * MODULES.html.sh (Internationalization functions): Add mbslen.
58582
58583 2007-02-11  Bruno Haible  <bruno@clisp.org>
58584
58585         Ensure O(n) worst-case complexity of strcasestr substitute.
58586         * lib/strcasestr.c: Include stdbool.h.
58587         (knuth_morris_pratt): New function.
58588         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
58589         bookkeeping indicates that it's worth it.
58590         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
58591
58592         * modules/strcasestr-tests: New file.
58593         * tests/test-strcasestr.c: New file.
58594
58595 2007-02-11  Bruno Haible  <bruno@clisp.org>
58596
58597         Ensure O(n) worst-case complexity of c_strcasestr.
58598         * lib/c-strcasestr.c: Include stdbool.h, string.h.
58599         (knuth_morris_pratt): New function.
58600         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
58601         the bookkeeping indicates that it's worth it.
58602         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
58603
58604         * modules/c-strcasestr-tests: New file.
58605         * tests/test-c-strcasestr.c: New file.
58606
58607 2007-02-11  Bruno Haible  <bruno@clisp.org>
58608
58609         Ensure O(n) worst-case complexity of c_strstr.
58610         * lib/c-strstr.c: Include stdbool.h, string.h.
58611         (knuth_morris_pratt): New function.
58612         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
58613         bookkeeping indicates that it's worth it.
58614         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
58615
58616         * lib/c-strstr.c: Complete rewrite for maintainability.
58617
58618         * modules/c-strstr-tests: New file.
58619         * tests/test-c-strstr.c: New file.
58620
58621 2007-02-11  Bruno Haible  <bruno@clisp.org>
58622
58623         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
58624         5.2.1 and earlier, whereby \055 was treated just like the range
58625         delimiter '-'.
58626         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58627
58628 2007-02-08  Bruno Haible  <bruno@clisp.org>
58629
58630         * modules/regex (Depends-on): Add stdbool.
58631         Reported by Dalibor Topic <robilad@kaffe.org>.
58632
58633 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
58634
58635         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
58636         Prefer returning from main to exiting from it.
58637         Remove unnecessary parens after sizeof.
58638
58639 2007-02-05  Bruno Haible  <bruno@clisp.org>
58640
58641         New module mbssep.
58642         * modules/mbssep: New file.
58643         * lib/mbssep.c: New file.
58644         * lib/string_.h (strsep): Add a conditional link warning.
58645         (mbssep): New declaration.
58646         * m4/mbssep.m4: New file.
58647         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58648         GNULIB_MBSSEP.
58649         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
58650         * MODULES.html.sh (Internationalization functions): Add mbssep.
58651
58652 2007-02-05  Bruno Haible  <bruno@clisp.org>
58653
58654         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
58655         Optimize search in case of 1 delimiter.
58656
58657 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
58658
58659         * lib/acl.h: Include sys/types.h before sys/acl.h.
58660
58661 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
58662
58663         Merge upstream fix for glibc bugzilla #3957:
58664
58665         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
58666
58667         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
58668         bit for RE_HAT_LISTS_NOT_NEWLINE.
58669         (build_charclass_op): Remove bogus comment.
58670
58671 2007-02-05  Simon Josefsson  <simon@josefsson.org>
58672
58673         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
58674
58675 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
58676
58677         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
58678         * lib/memmem.c [!defined _LIBC]: Include config.h.
58679
58680 2007-02-04  Bruno Haible  <bruno@clisp.org>
58681
58682         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
58683         warning message.
58684
58685 2007-02-04  Bruno Haible  <bruno@clisp.org>
58686
58687         New module mbstok_r.
58688         * modules/mbstok_r: New file.
58689         * lib/mbstok_r.c: New file.
58690         * lib/string_.h (strtok_r): Change argument names to match the
58691         comments. Add a conditional link warning.
58692         (mbstok_r): New declaration.
58693         * m4/mbstok_r.m4: New file.
58694         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58695         GNULIB_MBSTOK_R.
58696         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
58697         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
58698
58699 2007-02-04  Bruno Haible  <bruno@clisp.org>
58700
58701         New module mbsspn.
58702         * modules/mbsspn: New file.
58703         * lib/mbsspn.c: New file.
58704         * lib/string_.h (strspn): Add a conditional link warning.
58705         (mbsspn): New declaration.
58706         * m4/mbsspn.m4: New file.
58707         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58708         GNULIB_MBSSPN.
58709         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
58710         * MODULES.html.sh (Internationalization functions): Add mbsspn.
58711
58712 2007-02-04  Bruno Haible  <bruno@clisp.org>
58713
58714         New module mbspbrk.
58715         * modules/mbspbrk: New file.
58716         * lib/mbspbrk.c: New file.
58717         * lib/string_.h (strpbrk): Add a conditional link warning.
58718         (mbspbrk): New declaration.
58719         * m4/mbspbrk.m4: New file.
58720         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58721         GNULIB_MBSPBRK.
58722         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
58723         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
58724
58725 2007-02-04  Bruno Haible  <bruno@clisp.org>
58726
58727         New module mbscspn.
58728         * modules/mbscspn: New file.
58729         * lib/mbscspn.c: New file.
58730         * lib/string_.h (strcspn): Add a conditional link warning.
58731         (mbscspn): New declaration.
58732         * m4/mbscspn.m4: New file.
58733         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58734         GNULIB_MBSCSPN.
58735         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
58736         * MODULES.html.sh (Internationalization functions): Add mbscspn.
58737
58738 2007-02-04  Bruno Haible  <bruno@clisp.org>
58739
58740         New module mbscasestr, reduced goal of strcasestr.
58741         * modules/mbscasestr: New file.
58742         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
58743         (mbscasestr): Renamed from strcasestr.
58744         * lib/strcasestr.c: Don't include mbuiter.h.
58745         (strcasestr): Remove support for multibyte locales.
58746         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
58747         Change the conditional link warning.
58748         (mbscasestr): New declaration.
58749         * m4/mbscasestr.m4: New file.
58750         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
58751         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
58752         REPLACE_STRCASESTR.
58753         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
58754         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58755         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
58756         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
58757         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
58758         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
58759         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
58760         (Depends-on): Remove mbuiter.
58761         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
58762
58763 2007-02-04  Bruno Haible  <bruno@clisp.org>
58764
58765         Simplify handling of strncasecmp.
58766         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
58767         the conditional link warning.
58768         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58769         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
58770         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
58771         * modules/strcase (configure.ac): Don't invoke
58772         gl_STRING_MODULE_INDICATOR.
58773         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
58774
58775 2007-02-04  Bruno Haible  <bruno@clisp.org>
58776
58777         New module mbscasecmp, reduced goal of strcasecmp.
58778         * modules/mbscasecmp: New file.
58779         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
58780         (mbscasecmp): Renamed from strcasecmp.
58781         * lib/strcasecmp.c: Don't include mbuiter.h.
58782         (strcasecmp): Remove support for multibyte locales.
58783         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
58784         Change the conditional link warning.
58785         (mbscasecmp): New declaration.
58786         * m4/mbscasecmp.m4: New file.
58787         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
58788         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
58789         REPLACE_STRCASECMP.
58790         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
58791         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58792         GNULIB_MBSCASECMP.
58793         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
58794         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
58795         * modules/strcase (Files): Remove m4/mbrtowc.m4.
58796         (Depends-on): Remove mbuiter.
58797         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
58798
58799 2007-02-04  Bruno Haible  <bruno@clisp.org>
58800
58801         New module mbsstr. Remove module strstr.
58802         * modules/mbsstr: New file.
58803         * modules/strstr: Remove file.
58804         * lib/mbsstr.c: Renamed from lib/strstr.c.
58805         (mbsstr): Renamed from strstr.
58806         * lib/string_.h (strstr): Remove declaration. Change the conditional
58807         link warning.
58808         (mbsstr): New declaration.
58809         * m4/mbsstr.m4: New file.
58810         * m4/strstr.m4: Remove file.
58811         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
58812         REPLACE_STRSTR.
58813         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
58814         Don't initialize GNULIB_STRSTR.
58815         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
58816         substitute GNULIB_STRSTR and REPLACE_STRSTR.
58817         * MODULES.html.sh (Internationalization functions): Add mbsstr.
58818         (Support for systems lacking ANSI C 89): Remove strstr.
58819
58820 2007-02-04  Bruno Haible  <bruno@clisp.org>
58821
58822         New module mbsrchr.
58823         * modules/mbsrchr: New file.
58824         * lib/mbsrchr.c: New file.
58825         * lib/string_.h (strrchr): Add a conditional link warning.
58826         (mbsrchr): New declaration.
58827         * m4/mbsrchr.m4: New file.
58828         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58829         GNULIB_MBSRCHR.
58830         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
58831         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
58832
58833 2007-02-04  Bruno Haible  <bruno@clisp.org>
58834
58835         New module mbschr.
58836         * modules/mbschr: New file.
58837         * lib/mbschr.c: New file.
58838         * lib/string_.h (strchr): Add a conditional link warning.
58839         (mbschr): New declaration.
58840         * m4/mbschr.m4: New file.
58841         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58842         GNULIB_MBSCHR.
58843         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
58844         * MODULES.html.sh (Internationalization functions): Add mbschr.
58845
58846 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
58847
58848         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
58849
58850         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
58851
58852 2007-02-04  Bruno Haible  <bruno@clisp.org>
58853
58854         New module description section 'configure.ac-early'.
58855         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
58856         (func_get_autoconf_early_snippet): New function.
58857         (func_import, func_create_testdir): Use it. Remove special cases for
58858         modules 'extensions' and 'lock'.
58859         * modules/extensions (configure.ac-early): Require
58860         gl_USE_SYSTEM_EXTENSIONS.
58861         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
58862
58863 2007-02-04  Bruno Haible  <bruno@clisp.org>
58864
58865         Make use of gcj-4.3's -fsource and -ftarget option.
58866         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
58867         and if so try the options -fsource and -ftarget.
58868         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
58869         source_version, ftarget_option, target_version arguments.
58870         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
58871         (is_envjavac_oldgcj_14_14_usable): Renamed from
58872         is_envjavac_gcj_14_14_usable.
58873         (is_envjavac_oldgcj_14_13_usable): Renamed from
58874         is_envjavac_gcj_14_13_usable.
58875         (is_gcj_present): Update.
58876         (is_gcj_43, is_gcj43_usable): New functions.
58877         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
58878         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
58879         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
58880         try the options -fsource and -ftarget.
58881
58882 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
58883
58884         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
58885         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
58886         larger value.
58887
58888 2007-02-03  Jim Meyering  <jim@meyering.net>
58889
58890         Give tools a better chance to allocate space for very large buffers.
58891         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
58892
58893         Make pwd and readlink work also when run with an unreadable parent dir
58894         on systems with openat support.
58895         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
58896         provided getcwd function, even when we have openat support.
58897         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
58898
58899 2007-02-02  Bruno Haible  <bruno@clisp.org>
58900
58901         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
58902         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
58903         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
58904         portability problems if one of these functions is only used on specific
58905         platforms.
58906         Reported by Paul Eggert.
58907
58908 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
58909
58910         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
58911         is causing more trouble than it's curing.
58912         * lib/regex_internal.h (__mempcpy): Remove.
58913         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
58914         (and make the code a tad smaller to boot).
58915         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
58916
58917 2007-02-02  Jim Meyering  <jim@meyering.net>
58918
58919         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
58920         section, not in the Makefile.am: one.
58921
58922 2007-02-02  Eric Blake  <ebb9@byu.net>
58923
58924         * lib/strchrnul.c: Always include config.h first.
58925
58926         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
58927         gnulib strstr is not necessary here.
58928
58929 2007-02-02  Simon Josefsson  <simon@josefsson.org>
58930
58931         * m4/socklen.m4: Fix typo.
58932
58933 2007-02-02  Eric Blake  <ebb9@byu.net>
58934
58935         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
58936         * modules/netinet_in (Makefile.am): Likewise.
58937
58938 2007-02-01  Bruno Haible  <bruno@clisp.org>
58939
58940         * lib/string_.h (GL_LINK_WARNING): New macro.
58941         (strcasecmp, strstr, strcasestr): If provided by the system,
58942         conditionally define as a macro that leads to a warning instead of to
58943         an error.
58944         (strncasecmp): Conditionally define as a macro that leads to a warning.
58945
58946 2007-02-01  Karl Berry  <karl@gnu.org>
58947
58948         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
58949
58950 2007-02-01  Bruno Haible  <bruno@clisp.org>
58951
58952         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
58953         renamings.
58954
58955 2007-02-01  Eric Blake  <ebb9@byu.net>
58956
58957         * modules/regex (Depends-on): Revert dependence on mempcpy.
58958         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
58959         module's definition of mempcpy.
58960         Reported by Paul Eggert.
58961
58962 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
58963
58964         * lib/string_.h: If the gnulib module XYZ is not present, undefine
58965         the symbol XYZ before redefining it.  This fixes a problem with
58966         programs that don't use XYZ, when compiled on systems that define
58967         XYZ to something else.
58968
58969 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
58970
58971         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
58972         occurs when "mkdir -m foo" creates a setgid directory that is (1)
58973         writeable to group or other and (2) is intended to have a special
58974         mode bit that is set or cleared.  In such a case, the directory
58975         should be neither group- nor other-writeable until the special
58976         mode bits are right.
58977
58978 2007-01-31  Eric Blake  <ebb9@byu.net>
58979
58980         * modules/mountlist (Depends-on): Add strstr.
58981
58982         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
58983         bug.
58984         * modules/string (Makefile.am): Remove redundant replacement.
58985         * modules/regex (Depends-on): Add mempcpy.
58986
58987 2007-01-31  Bruno Haible  <bruno@clisp.org>
58988
58989         New module description field 'Link'.
58990         * gnulib-tool (func_usage): Document --extract-link-directive.
58991         (sed_extract_prog): Recognize 'Link' directive.
58992         (func_get_link_directive): New function.
58993         (func_import): Show summary of link directives.
58994         Handle --extract-link-directive option.
58995         * modules/acl (Link): New section.
58996         * modules/clock-time (Link): New section.
58997         * modules/euidaccess (Link): New section.
58998         * modules/gettext (Link): New section.
58999         * modules/iconv (Link): New section.
59000         * modules/lock (Link): New section.
59001         * modules/nanosleep (Link): New section.
59002         * modules/readline (Link): New section.
59003
59004 2007-01-27  Bruno Haible  <bruno@clisp.org>
59005
59006         Enforce the use of gnulib modules for unportable <string.h> functions.
59007         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
59008         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
59009         (gl_HEADER_STRING_H_BODY): Require it.
59010         * lib/string_.h: If the gnulib module XYZ is not present, redefine
59011         the symbol XYZ to one that gives a link error.
59012         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
59013         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
59014         * modules/mempcpy (configure.ac): Likewise.
59015         * modules/memrchr (configure.ac): Likewise.
59016         * modules/stpcpy (configure.ac): Likewise.
59017         * modules/stpncpy (configure.ac): Likewise.
59018         * modules/strcase (configure.ac): Likewise.
59019         * modules/strcasestr (configure.ac): Likewise.
59020         * modules/strchrnul (configure.ac): Likewise.
59021         * modules/strdup (configure.ac): Likewise.
59022         * modules/strndup (configure.ac): Likewise.
59023         * modules/strnlen (configure.ac): Likewise.
59024         * modules/strpbrk (configure.ac): Likewise.
59025         * modules/strsep (configure.ac): Likewise.
59026         * modules/strstr (configure.ac): Likewise.
59027         * modules/strtok_r (configure.ac): Likewise.
59028
59029 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
59030
59031         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
59032
59033 2007-01-30  Jim Meyering  <jim@meyering.net>
59034
59035         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
59036
59037 2007-01-29  Bruno Haible  <bruno@clisp.org>
59038
59039         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
59040         * lib/execute.c: Likewise.
59041         * lib/pipe.c: Likewise.
59042         * lib/printf-args.h: Likewise.
59043         * lib/printf-args.c: Likewise.
59044         * lib/printf-parse.c: Likewise.
59045         * lib/vasnprintf.c: Likewise.
59046
59047 2007-01-29  Eric Blake  <ebb9@byu.net>
59048
59049         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
59050         declaration.
59051
59052 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
59053
59054         * lib/strptime.h (strptime): Use 'restrict' for args where
59055         POSIX requires this.
59056         * lib/strptime.c (strptime): Likewise.
59057         Change license notice from LGPL to GPL, since gnulib-tool will
59058         change this as needed.
59059         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
59060         defined.
59061         Include "strptime.h" first, to check interface.
59062         Do not #undef _LIBC and _NL_CURRENT.
59063         Do not include <stdlib.h>; no longer needed.
59064         Include "time_r.h" and declare ptime_locale_status
59065         only if _LIBC is not defined.
59066         (__P): Remove unused macro.
59067         (match_string): Bring back glibc version, but use it only if _LIBC
59068         is defined.
59069         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
59070         Remove unnecessary assertion and abort() call.
59071         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
59072         * m4/strptime.m4: Fix serial number comment.
59073         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
59074         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
59075         (Depends-on): Add time_r.
59076
59077 2007-01-29  Bruno Haible  <bruno@clisp.org>
59078
59079         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59080         strptime.
59081         * modules/strptime (Depends-on): Add stdbool.
59082         * lib/strptime.h: Include <time.h> always. Add comments.
59083
59084 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
59085
59086         * modules/strptime: New file.
59087         * lib/strptime.h: New file.
59088         * lib/strptime.c: New file.
59089         * m4/strptime.m4: New file.
59090
59091 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59092
59093         * MODULES.html.sh: New module mpsort.
59094         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
59095
59096         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
59097         a circularity problem with HP-UX ia64 reported by Bob Proulx in
59098         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
59099         All uses changed.
59100         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
59101         All uses changed.
59102         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
59103         to _Restrict_.
59104         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
59105         the parameter matches the prototype.
59106
59107 2007-01-28  Jim Meyering  <jim@meyering.net>
59108
59109         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
59110         sys/time.h here, reverting that part of the previous patch:
59111         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
59112
59113 2007-01-28  Bruno Haible  <bruno@clisp.org>
59114
59115         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
59116         value of $(SYS_TIME_H).
59117         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
59118         remove it conditionally, too. [added by Jim Meyering]
59119         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
59120         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
59121         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
59122         GETTIMEOFDAY_REPLACEMENT to 1.
59123
59124 2007-01-28  Bruno Haible  <bruno@clisp.org>
59125
59126         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
59127         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
59128         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
59129         Set UNISTD_H instead of UNISTD_H2.
59130         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
59131
59132 2007-01-28  Bruno Haible  <bruno@clisp.org>
59133
59134         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
59135         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
59136
59137 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59138
59139         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
59140         (func_create_testdir): Ensure C locale for `grep' and `tr'
59141         character ranges.
59142         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
59143         ACLOCAL_AMFLAGS parsing state machine.
59144
59145 2007-01-27  Bruno Haible  <bruno@clisp.org>
59146
59147         * modules/unistr/base: Update.
59148
59149 2007-01-27  Bruno Haible  <bruno@clisp.org>
59150
59151         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
59152         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
59153         * modules/unistr/u32-mbtouc-unsafe: Renamed from
59154         modules/unistr/u32-mbtouc.
59155         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
59156         * lib/unistr.h: Update.
59157         * lib/linebreak.c: Update.
59158         * modules/unistr/u32-mbtouc: Renamed from
59159         modules/unistr/u32-mbtouc-safe.
59160         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
59161         * lib/unistr.h: Update.
59162         * lib/unistr/u32-to-u8.c: Update.
59163         * lib/unistr/u32-to-u16.c: Update.
59164
59165 2007-01-27  Bruno Haible  <bruno@clisp.org>
59166
59167         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
59168         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
59169         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
59170         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
59171         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
59172         * modules/unistr/u16-mbtouc-unsafe: Renamed from
59173         modules/unistr/u16-mbtouc.
59174         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
59175         * lib/unistr.h: Update.
59176         * lib/linebreak.c: Update.
59177         * modules/linebreak: Update.
59178         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
59179         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
59180         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
59181         * modules/unistr/u16-mbtouc: Renamed from
59182         modules/unistr/u16-mbtouc-safe.
59183         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
59184         * lib/unistr.h: Update.
59185         * lib/unistr/u16-to-u8.c: Update.
59186         * modules/unistr/u16-to-u8: Update.
59187         * lib/unistr/u16-to-u32.c: Update.
59188         * modules/unistr/u16-to-u32: Update.
59189
59190 2007-01-27  Bruno Haible  <bruno@clisp.org>
59191
59192         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
59193         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
59194         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
59195         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
59196         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
59197         * modules/unistr/u8-mbtouc-unsafe: Renamed from
59198         modules/unistr/u8-mbtouc.
59199         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
59200         * lib/unistr.h: Update.
59201         * lib/striconveh.c: Update.
59202         * modules/striconveh: Update.
59203         * lib/linebreak.c: Update.
59204         * modules/linebreak: Update.
59205         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
59206         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
59207         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
59208         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
59209         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
59210         * lib/unistr.h: Update.
59211         * lib/striconveh.c: Update.
59212         * modules/striconveh: Update.
59213         * lib/unistr/u8-to-u16.c: Update.
59214         * modules/unistr/u8-to-u16: Update.
59215         * lib/unistr/u8-to-u32.c: Update.
59216         * modules/unistr/u8-to-u32: Update.
59217
59218 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59219
59220         Sync from Libtool.
59221         * lib/argz.c: Do not include strings.h nor memory.h, include
59222         string.h unconditionally.  Patch by Simon Josefsson.
59223
59224 2007-01-27  Bruno Haible  <bruno@clisp.org>
59225
59226         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
59227         from gl_HEADER_STRING_H_BODY.
59228         (gl_HEADER_STRING_H_BODY): Require it.
59229         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
59230         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
59231         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
59232         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
59233         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59234         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
59235         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59236         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
59237         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
59238         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59239         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
59240         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
59241         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
59242         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59243         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59244
59245 2007-01-27  Bruno Haible  <bruno@clisp.org>
59246
59247         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
59248         check_PROGRAMS into noinst_PROGRAMS.
59249         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
59250         check_PROGRAMS in this case.
59251         (func_import): Set for_test to false.
59252         (func_create_testdir): Set for_test to true.
59253
59254 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
59255             Bruno Haible  <bruno@clisp.org>
59256
59257         * modules/strcasestr (Files): Remove lib/strcasestr.h.
59258         (Depends-on): Add string.
59259         (Includes): Use <string.h> instead of strcasestr.h.
59260         * modules/string (Makefile.am): Also substitute the value of
59261         REPLACE_STRCASESTR.
59262         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
59263         assume strcasestr is declared in <string.h> not <strings.h>. Also
59264         set REPLACE_STRCASESTR.
59265         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
59266         REPLACE_STRCASESTR.
59267         * lib/strcasestr.h: Remove file.
59268         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
59269         * lib/string_.h (strcasestr): New declaration.
59270
59271 2007-01-27  Bruno Haible  <bruno@clisp.org>
59272
59273         * lib/string_.h: Use 'extern'.
59274
59275 2007-01-27  Jim Meyering  <jim@meyering.net>
59276
59277         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
59278         of set-but-not-used local, "q".
59279
59280         * lib/mempcpy.c: Include <config.h> before <string.h>.
59281         This fixes a compilation error on HP-UX, due to the system's
59282         "restrict"-using mempcpy prototype.
59283
59284 2007-01-26  Bruno Haible  <bruno@clisp.org>
59285
59286         Small optimization.
59287         * lib/javacomp.c: Include c-strstr.h.
59288          (is_envjavac_gcj): Use c_strstr instead of strstr.
59289         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
59290
59291 2007-01-26  Bruno Haible  <bruno@clisp.org>
59292
59293         * MODULES.html.sh (Unicode string functions): Add the new modules.
59294
59295         * modules/uniconv/u32-strconv-to-locale: New file.
59296         * lib/uniconv/u32-strconv-to-locale.c: New file.
59297
59298         * modules/uniconv/u16-strconv-to-locale: New file.
59299         * lib/uniconv/u16-strconv-to-locale.c: New file.
59300
59301         * modules/uniconv/u8-strconv-to-locale: New file.
59302         * lib/uniconv/u8-strconv-to-locale.c: New file.
59303
59304         * modules/uniconv/u32-strconv-from-locale: New file.
59305         * lib/uniconv/u32-strconv-from-locale.c: New file.
59306
59307         * modules/uniconv/u16-strconv-from-locale: New file.
59308         * lib/uniconv/u16-strconv-from-locale.c: New file.
59309
59310         * modules/uniconv/u8-strconv-from-locale: New file.
59311         * lib/uniconv/u8-strconv-from-locale.c: New file.
59312
59313         * modules/uniconv/u32-strconv-to-enc: New file.
59314         * lib/uniconv/u32-strconv-to-enc.c: New file.
59315         * modules/uniconv/u32-strconv-to-enc-tests: New file.
59316         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
59317
59318         * modules/uniconv/u16-strconv-to-enc: New file.
59319         * lib/uniconv/u16-strconv-to-enc.c: New file.
59320         * lib/uniconv/u-strconv-to-enc.h: New file.
59321         * modules/uniconv/u16-strconv-to-enc-tests: New file.
59322         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
59323
59324         * modules/uniconv/u8-strconv-to-enc: New file.
59325         * lib/uniconv/u8-strconv-to-enc.c: New file.
59326         * modules/uniconv/u8-strconv-to-enc-tests: New file.
59327         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
59328
59329         * modules/uniconv/u32-strconv-from-enc: New file.
59330         * lib/uniconv/u32-strconv-from-enc.c: New file.
59331         * modules/uniconv/u32-strconv-from-enc-tests: New file.
59332         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
59333
59334         * modules/uniconv/u16-strconv-from-enc: New file.
59335         * lib/uniconv/u16-strconv-from-enc.c: New file.
59336         * modules/uniconv/u16-strconv-from-enc-tests: New file.
59337         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
59338
59339         * modules/uniconv/u8-strconv-from-enc: New file.
59340         * lib/uniconv/u8-strconv-from-enc.c: New file.
59341         * lib/uniconv/u-strconv-from-enc.h: New file.
59342         * modules/uniconv/u8-strconv-from-enc-tests: New file.
59343         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
59344
59345         * modules/uniconv/u32-conv-from-enc: New file.
59346         * lib/uniconv/u32-conv-from-enc.c: New file.
59347         * modules/uniconv/u32-conv-from-enc-tests: New file.
59348         * tests/uniconv/test-u32-conv-from-enc.c: New file.
59349
59350         * modules/uniconv/u16-conv-from-enc: New file.
59351         * lib/uniconv/u16-conv-from-enc.c: New file.
59352         * lib/uniconv/u-conv-from-enc.h: New file.
59353         * modules/uniconv/u16-conv-from-enc-tests: New file.
59354         * tests/uniconv/test-u16-conv-from-enc.c: New file.
59355
59356         * modules/uniconv/u8-conv-from-enc: New file.
59357         * lib/uniconv/u8-conv-from-enc.c: New file.
59358         * modules/uniconv/u8-conv-from-enc-tests: New file.
59359         * tests/uniconv/test-u8-conv-from-enc.c: New file.
59360
59361         * modules/uniconv/base: New file.
59362         * lib/uniconv.h: New file.
59363
59364 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
59365
59366         * doc/gnulib-tool.texi (Initial import): Update to match current
59367         behavior with strdup module.
59368         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
59369         * lib/memmem.h: Remove; all uses removed.  This is now done
59370         by <string.h>.
59371         * lib/mempcpy.h: Likewise.
59372         * lib/memrchr.h: Likewise.
59373         * lib/stpcpy.h: Likewise.
59374         * lib/stpncpy.h: Likewise.
59375         * lib/strcase.h: Likewise.
59376         * lib/strchrnul.h: Likewise.
59377         * lib/strdup.h: Likewise.
59378         * lib/strndup.h: Likewise.
59379         * lib/strnlen.h: Likewise.
59380         * lib/strpbrk.h: Likewise.
59381         * lib/strsep.h: Likewise.
59382         * lib/strstr.h: Likewise.
59383         * lib/strtok_r.h: Likewise.
59384         * lib/string_.h: New file.
59385         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
59386         Rely on <string.h> instead.
59387         * lib/canon-host.c: Likewise.
59388         * lib/chdir-long.c: Likewise.
59389         * lib/concatpath.c: Likewise.
59390         * lib/exclude.c: Likewise.
59391         * lib/fchdir.c: Likewise.
59392         * lib/getaddrinfo.c: Likewise.
59393         * lib/getcwd.c: Likewise.
59394         * lib/getsubopt.c: Likewise.
59395         * lib/glob.c: Likewise.
59396         * lib/hard-locale.c: Likewise.
59397         * lib/iconvme.c: Likewise.
59398         * lib/javacomp.c: Likewise.
59399         * lib/mempcpy.c: Likewise.
59400         * lib/memrchr.c: Likewise.
59401         * lib/regex_internal.h: Likewise.
59402         * lib/stpncpy.c: Likewise.
59403         * lib/strcasecmp.c: Likewise.
59404         * lib/strchrnul.c: Likewise.
59405         * lib/strdup.c: Likewise.
59406         * lib/striconv.c: Likewise.
59407         * lib/striconveh.c: Likewise.
59408         * lib/striconveha.c: Likewise.
59409         * lib/strncasecmp.c: Likewise.
59410         * lib/strndup.c: Likewise.
59411         * lib/strnlen.c: Likewise.
59412         * lib/strsep.c: Likewise.
59413         * lib/strstr.c: Likewise.
59414         * lib/strtok_r.c: Likewise.
59415         * lib/userspec.c: Likewise.
59416         * lib/w32spawn.h: Likewise.
59417         * lib/xstrndup.c: Likewise.
59418         * lib/mountlist.c (strstr): Remove decl.
59419         * m4/string_h.m4: New file.
59420         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
59421         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
59422         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
59423         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
59424         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
59425         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
59426         Set REPLACE_STRCASECMP if necessary.
59427         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
59428         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
59429         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
59430         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
59431         HAVE_DECL_STRDUP if necessary.
59432         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
59433         since gl_FUNC_STRNDUP does that now.
59434         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
59435         Check for decl here...
59436         (gl_PREREQ_STRNLEN): ... not here.
59437         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
59438         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
59439         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
59440         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
59441         necessary.
59442         * modules/string: New file.
59443         * modules/memmem (Files): Remove special-purpose include file.
59444         (Depends-on): Add string.
59445         (Include): Include <string.h>, not the removed file.
59446         * modules/mempcpy: Likewise.
59447         * modules/memrchr: Likewise.
59448         * modules/stpcpy: Likewise.
59449         * modules/stpncpy: Likewise.
59450         * modules/strcase: Likewise.
59451         * modules/strchrnul: Likewise.
59452         * modules/strdup: Likewise.
59453         * modules/strndup: Likewise.
59454         * modules/strnlen: Likewise.
59455         * modules/strpbrk: Likewise.
59456         * modules/strsep: Likewise.
59457         * modules/strstr: Likewise.
59458         * modules/strtok_r: Likewise.
59459         * tests/test-dirname.c: Don't include "strdup.h", since
59460         <string.h> now suffices.
59461         * tests/test-memmem.c: Don't include "memmem.h", since
59462         <string.h> now suffices.
59463
59464 2007-01-25  Bruno Haible  <bruno@clisp.org>
59465
59466         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
59467         *resultp is 0.
59468
59469         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
59470         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
59471         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
59472         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
59473
59474         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
59475         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
59476         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
59477         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
59478         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
59479         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
59480
59481 2007-01-24  Bruno Haible  <bruno@clisp.org>
59482
59483         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
59484         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
59485         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
59486         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
59487         gl_FUNC_FTS_CORE.
59488         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
59489         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
59490         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
59491         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
59492         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
59493         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
59494         gl_FUNC_FCHOWNAT.
59495         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
59496         gl_FUNC_STRFTIME.
59497         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
59498         Reported by Ralf Wildenhues.
59499
59500 2007-01-24  Bruno Haible  <bruno@clisp.org>
59501
59502         Drop AC_REQUIRE calls that are redundant with the module dependencies.
59503         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
59504         gl_GETADDRINFO.
59505         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
59506         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
59507         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
59508
59509 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
59510
59511         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
59512         Don't use 'exit'; just return from 'main'.
59513         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
59514
59515         * lib/fnmatch_.h: Readjust white space and comments to match
59516         glibc, to avoid spurious diffs.
59517
59518 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59519
59520         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
59521         2004-12-01 change by Jakub Jelinek, since this code won't compile
59522         if !LIBC.  Problem reported by Bob Proulx.
59523
59524 2007-01-23  Bruno Haible  <bruno@clisp.org>
59525
59526         * lib/striconveh.c: Include c-strcaseeq.h.
59527         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
59528         * modules/striconveh (Depends-on): Add c-strcaseeq.
59529
59530 2007-01-23  Bruno Haible  <bruno@clisp.org>
59531
59532         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
59533
59534         * modules/c-strcaseeq: New file.
59535         * lib/c-strcaseeq.h: New file.
59536
59537         * modules/streq: New file.
59538         * lib/streq.h: New file.
59539
59540 2007-01-23  Bruno Haible  <bruno@clisp.org>
59541
59542         * modules/striconveha-tests: New file.
59543         * tests/test-striconveha.c: New file.
59544
59545         * lib/striconveha.h: Include <stdbool.h>.
59546         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
59547         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
59548         (mem_iconveha_notranslit): Renamed from mem_iconveha.
59549         (mem_iconveha): New function.
59550         (str_iconveha_notranslit): Renamed from str_iconveha.
59551         (str_iconveha): New function.
59552         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
59553         c-strcase.
59554
59555 2007-01-23  Bruno Haible  <bruno@clisp.org>
59556
59557         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
59558         encodings without forgiving before trying any encoding with handler.
59559         (str_iconveha): Try all encodings without forgiving before trying any
59560         encoding with handler.
59561
59562 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59563
59564         Import the following changes from libc.
59565
59566         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
59567
59568         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
59569
59570         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
59571
59572         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
59573         normal_bracket label.
59574
59575         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
59576
59577         [BZ #361]
59578         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
59579         to normal_bracket after fetching the next character.
59580
59581 2007-01-22  Bruno Haible  <bruno@clisp.org>
59582
59583         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
59584         argument.
59585         * lib/striconveh.c (iconv_carefully_1): New function.
59586         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
59587         argument.
59588         (str_cd_iconveh): Update.
59589         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
59590         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
59591         * tests/test-striconveh.c (MAGIC): New macro.
59592         (new_offsets): New function.
59593         (main): Test call with and without offsets.
59594
59595 2007-01-22  Bruno Haible  <bruno@clisp.org>
59596
59597         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
59598         * modules/sys_select (Makefile.am): Likewise.
59599         * modules/sys_socket (Makefile.am): Likewise.
59600         * modules/sys_time (Makefile.am): Likewise.
59601
59602 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
59603
59604         * modules/gettimeofday (License): Change from GPL to LGPL, since
59605         gettimeofday is a library function.
59606
59607 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59608
59609         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
59610
59611 2007-01-21  Bruno Haible  <bruno@clisp.org>
59612
59613         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
59614
59615 2007-01-21  Bruno Haible  <bruno@clisp.org>
59616
59617         * modules/striconveha: New file.
59618         * lib/striconveha.h: New file.
59619         * lib/striconveha.c: New file.
59620         * MODULES.html.sh (Internationalization functions): Add striconveha.
59621         * lib/striconv.c (str_iconv): Optimize the case of an empty input
59622         string.
59623         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
59624
59625 2007-01-21  Bruno Haible  <bruno@clisp.org>
59626
59627         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
59628         * lib/striconveh.c (str_iconveh): Likewise.
59629
59630 2007-01-21  Bruno Haible  <bruno@clisp.org>
59631
59632         * lib/striconveh.h (mem_iconveh): New declaration.
59633         * lib/striconveh.c (mem_iconveh): New function.
59634         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
59635
59636 2007-01-21  Bruno Haible  <bruno@clisp.org>
59637
59638         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
59639
59640         * lib/striconveh.h (mem_cd_iconveh): Change specification.
59641         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
59642         original result buffer.
59643         (str_cd_iconveh): Update.
59644         * tests/test-striconveh.c (main): Update.
59645
59646         * lib/striconv.h (mem_cd_iconv): Change specification.
59647         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
59648         result buffer.
59649         (str_cd_iconv): Update.
59650         * tests/test-striconv.c (main): Update.
59651
59652 2007-01-21  Bruno Haible  <bruno@clisp.org>
59653
59654         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
59655
59656 2007-01-20  Jim Meyering  <jim@meyering.net>
59657
59658         * lib/userspec.c (parse_with_separator): If a user or group string
59659         starts with "+", skip the corresponding name-to-ID look-up, since
59660         such a look-up must fail: user and group names may not include "+".
59661
59662 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
59663
59664         * lib/poll.c: Include sys/time.h and time.h unconditionally,
59665         since we now assume the sys_time module.
59666         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
59667         check for sys/time.h; no longer needed.
59668         * modules/poll (Depends-on): Depend on sys_time.
59669
59670 2007-01-18  Bruno Haible  <bruno@clisp.org>
59671
59672         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
59673         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
59674
59675         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
59676         gettimeofday.
59677
59678         * tests/test-gettimeofday.c: Include <time.h>.
59679         (dummy): Remove variable.
59680
59681         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
59682         gl_HEADER_SYS_TIME_H.
59683         (gl_HEADER_SYS_TIME_H): New macro.
59684
59685         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
59686         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59687         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
59688         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
59689         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59690         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
59691         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
59692         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59693         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
59694         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
59695         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59696
59697         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
59698         last change; it caused a compilation error when cross-compiling to
59699         Cygwin.
59700
59701 2007-01-18  Jim Meyering  <jim@meyering.net>
59702
59703         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
59704         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
59705         than the race-prone "test -d sys || mkdir sys".
59706         (configure.ac): Use AC_PROG_MKDIR_P.
59707         * modules/sys_select: Likewise.
59708         * modules/sys_socket: Likewise.
59709         * modules/sys_time: Likewise.
59710
59711 2007-01-18  Eric Blake  <ebb9@byu.net>
59712
59713         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
59714         replace gettimeofday.
59715         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
59716         name, to avoid infinite recursion.
59717
59718 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
59719
59720         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
59721         module sys_time.
59722         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
59723         assume timespec.h defines struct timeval.
59724         * lib/settime.c: Likewise.
59725         * lib/utimens.c: Likewise.
59726         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
59727         since we now assume the gettimeofday module.
59728         * lib/tempname.c (__gen_tempname): Likewise.
59729         * lib/gettimeofday.h: Remove.
59730         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
59731         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
59732         Include <time.h>, for 'time()'.
59733         (localtime_buffer_addr): Also use this workaround if
59734         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
59735         to simplify the uses.  All uses changed.
59736         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
59737         that #undef is inside {}, and 'const' follows type name consistently.
59738         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
59739         (gettimeofday): Do not use the maximum possible value for
59740         tv->tv_usec, since that might break usages other than ls.c.
59741         Instead, we'll leave ls.c alone.  This undoes today's patch
59742         by Bruno.  Add a compile-time warning for 1s-clock resolution;
59743         we've never observed the problem but might as well keep the
59744         canary.
59745         * lib/nanosleep.c: Include timespec.h first, for interface check.
59746         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
59747         now assume the sys_time module.
59748         * lib/tempname.c: Likewise.
59749         * lib/timespec.h: Likewise.
59750         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
59751         needed.
59752         * lib/strftime.c: Likewise.
59753         * lib/timespec.h: Likewise.
59754         * lib/posixtm.c: Include posixtm.h first, for interface check.
59755         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
59756         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
59757         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
59758         * lib/sys_time_.h: New file.
59759         * lib/timespec.h (struct timespec): Use long int, not long.
59760         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
59761         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
59762         Remove obsolescent call to AC_HEADER_TIME.
59763         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
59764         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59765         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
59766         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
59767         Likewise.
59768         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
59769         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
59770         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
59771         into the sys_time module.  Check for gettimeofday just once.
59772         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
59773         for gettimeofday signature to just check the signature.  Merely
59774         compile it, since linking doesn't test signature.  Improve test for
59775         whether gettimeofday.o is actually needed.
59776         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
59777         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
59778         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
59779         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59780         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
59781         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
59782         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
59783         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
59784         than worrying about sys/time.h.
59785         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
59786         Don't bother worrying about TIME_WITH_SYS_TIME.
59787         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
59788         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
59789         * m4/sys_time_h.m4: New file.
59790         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
59791         Don't include sys/time.h.  Return from main rather than exiting.
59792         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
59793         all uses changed.
59794         * modules/gethrxtime (Depends-on): Add sys_time.
59795         * modules/gettime (Depends-on): Likewise.
59796         * modules/gettimeofday (Depends-on): Likewise.
59797         * modules/nanosleep (Depends-on): Likewise.
59798         * modules/settime (Depends-on): Likewise.
59799         * modules/tempname (Depends-on): Likewise.
59800         * modules/utimens (Depends-on): Likewise.
59801         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
59802         (Include): Change back to <sys/time.h>.
59803         (Maintainer): Add self.
59804         * modules/sys_time: New file.
59805         * modules/tempname (Depends-on): Add gettimeofday.
59806         * tests/test-gettimeofday.c: Include <sys/time.h>
59807         rather than gettimeofday.h.
59808
59809 2007-01-17  Bruno Haible  <bruno@clisp.org>
59810
59811         * gnulib-tool (func_get_license): Revert last patch. Instead, let
59812         the license default to GPL.
59813         (func_create_testdir): Don't complain if a module is LGPL and its
59814         tests module depends on GPLed modules.
59815
59816 2007-01-17  Bruno Haible  <bruno@clisp.org>
59817
59818         * lib/gettimeofday.c (gettimeofday): Add code for the case
59819         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
59820         maximum possible value for tv->tv_usec, rather than the minimum one.
59821
59822 2005-10-08  Martin Lambers  <marlam@marlam.de>
59823 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59824 2007-01-16  Bruno Haible  <bruno@clisp.org>
59825
59826         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
59827         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
59828         gl_FUNC_GETTIMEOFDAY.
59829         (Include): Add gettimeofday.h.
59830         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
59831         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
59832         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
59833         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
59834         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
59835         * lib/gettimeofday.h: New file.
59836         * lib/gettimeofday.c: Include <sys/timeb.h>.
59837         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
59838         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59839         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
59840         fall back on time().
59841
59842         * tests/test-gettimeofday.c: New file.
59843         * modules/gettimeofday-tests: New file.
59844
59845 2007-01-16  Eric Blake  <ebb9@byu.net>
59846
59847         * modules/fnmatch (Depends-on): Depend on wchar.
59848         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
59849         * m4/fnmatch.m4: Likewise.
59850         * modules/mbchar (Makefile.am): Assume <wchar.h>.
59851         * m4/mbchar.m4: Likewise.
59852         * modules/mbswidth (Depends-on): Depend on wchar.
59853         * lib/mbswidth.c: Assume <wchar.h>.
59854         * m4/mbswidth.m4: Likewise.
59855         * modules/quotearg (Depends-on): Depend on wchar.
59856         * lib/quotearg.c: Assume <wchar.h>.
59857         * m4/quotearg.m4: Likewise.
59858         * modules/regex (Depends-on): Depend on wchar.
59859         * lib/regex_internal.h: Assume <wchar.h>.
59860         * m4/regex.m4: Likewise.
59861         * modules/stdint (Depends-on): Depend on wchar.
59862         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
59863         * m4/stdint.m4: Likewise.
59864         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
59865         * modules/strftime (Depends-on): Depend on wchar.
59866         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
59867         * modules/strtol (Depends-on): Depend on wchar.
59868         * lib/strtol.c: Assume <wchar.h>.
59869         * modules/wcwidth (Depends-on): Depend on wchar.
59870         * lib/wcwidth.h: Assume <wchar.h>.
59871         * m4/wcwidth.m4: Likewise.
59872
59873 2007-01-16  Bruno Haible  <bruno@clisp.org>
59874
59875         * modules/csharpexec-script: New, created from...
59876         * modules/csharpexec: ... this.
59877
59878 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
59879
59880         * modules/javaexec-script: New, created from...
59881         * modules/javaexec: ... this.
59882
59883 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59884
59885         * modules/poll (Dependencies): Add sys_select.
59886
59887 2007-01-15  Jim Meyering  <jim@meyering.net>
59888
59889         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
59890         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
59891         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
59892         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
59893
59894 2007-01-15  Bruno Haible  <bruno@clisp.org>
59895
59896         * modules/striconveh: New file.
59897         * lib/striconveh.h: New file.
59898         * lib/striconveh.c: New file.
59899         * MODULES.html.sh (Internationalization functions): Add striconveh.
59900
59901         * modules/striconveh-tests: New file.
59902         * tests/test-striconveh.c: New file.
59903
59904 2007-01-15  Bruno Haible  <bruno@clisp.org>
59905
59906         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
59907         not from GNU libiconv or GNU libc.
59908
59909 2007-01-15  Bruno Haible  <bruno@clisp.org>
59910
59911         * doc/gnulib-intro.texi (Copyright): Explain the different license
59912         terms for module descriptions, autoconf macros, tests, documentation.
59913
59914 2007-01-14  Bruno Haible  <bruno@clisp.org>
59915
59916         * modules/striconv-tests: New file.
59917         * tests/test-striconv.c: New file.
59918
59919 2007-01-14  Bruno Haible  <bruno@clisp.org>
59920
59921         * modules/iconv-tests: New file.
59922         * tests/test-iconv.c: New file.
59923
59924 2007-01-14  Bruno Haible  <bruno@clisp.org>
59925
59926         * gnulib-tool (func_get_license): For test modules, use the license of
59927         the main module.
59928
59929 2007-01-14  Bruno Haible  <bruno@clisp.org>
59930
59931         * modules/iconv (Include): Clarify that <iconv.h> can only be included
59932         if iconv is found to exist.
59933
59934 2007-01-14  Bruno Haible  <bruno@clisp.org>
59935
59936         * modules/c-ctype-tests: New file.
59937         * tests/test-c-ctype.c: New file.
59938
59939 2007-01-14  Bruno Haible  <bruno@clisp.org>
59940
59941         * modules/binary-io-tests: New file.
59942         * tests/test-binary-io.sh: New file.
59943         * tests/test-binary-io.c: New file.
59944
59945 2007-01-14  Bruno Haible  <bruno@clisp.org>
59946
59947         * modules/array-oset-tests: New file.
59948         * tests/test-array_oset.c: New file.
59949
59950 2007-01-14  Bruno Haible  <bruno@clisp.org>
59951
59952         * modules/array-list-tests: New file.
59953         * tests/test-array_list.c: New file.
59954
59955 2007-01-14  Bruno Haible  <bruno@clisp.org>
59956
59957         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
59958         and make.
59959         Reported by Simon Josefsson in
59960         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
59961
59962 2007-01-14  Bruno Haible  <bruno@clisp.org>
59963
59964         * modules/allocsa-tests: New file.
59965         * tests/test-allocsa.c: New file.
59966
59967 2007-01-14  Bruno Haible  <bruno@clisp.org>
59968
59969         * modules/fchdir (Depends-on): Add absolute-header.
59970         * modules/unistd (Depends-on): Likewise.
59971
59972 2006-12-30  Bruno Haible  <bruno@clisp.org>
59973
59974         * modules/fchdir: New file.
59975         * modules/unistd (Files): Add lib/unistd_.h.
59976         (Makefile.am): Generate unistd.h from unistd_.h.
59977         * lib/fchdir.c: New file.
59978         * lib/dirent_.h: New file.
59979         * lib/unistd_.h: New file.
59980         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
59981         * m4/fchdir.m4: New file.
59982         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
59983         (gl_HEADER_UNISTD): Invoke it.
59984         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
59985         function.
59986         * lib/backupfile.c (opendir, closedir): Undefine.
59987         * lib/chown.c (open, close): Undefine.
59988         * lib/clean-temp.c (open, close): Undefine.
59989         * lib/copy-file.c (open, close): Undefine.
59990         * lib/execute.c (open, close): Undefine.
59991         * lib/fsusage.c (open, close): Undefine.
59992         * lib/gc-gnulib.c (open, close): Undefine.
59993         * lib/getcwd.c (opendir, closedir): Undefine.
59994         * lib/glob.c (opendir, closedir): Undefine.
59995         * lib/javacomp.c (open, close): Undefine.
59996         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
59997         * lib/openat-proc.c (open, close): Undefine.
59998         * lib/pagealign_alloc.c (open, close): Undefine.
59999         * lib/pipe.c (open, close): Undefine.
60000         * lib/progreloc.c (open, close): Undefine.
60001         * lib/savedir.c (opendir, closedir): Undefine.
60002         * lib/utime.c (open, close): Undefine.
60003         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
60004
60005 2007-01-10  Bruno Haible  <bruno@clisp.org>
60006
60007         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
60008
60009 2007-01-12  Eric Blake  <ebb9@byu.net>
60010
60011         Provide a robust <wchar.h>.  Further simplifications are now
60012         possible in other modules, but not included here.
60013         * modules/wchar: New module.
60014         * m4/wchar.m4: New file.
60015         * lib/wchar_.h: Likewise.
60016         * modules/mbchar (Depends-on): Depend on wchar, as the first use
60017         of the new module.
60018         * MODULES.html.sh (Extended multibyte and wide character utilities):
60019         New section.
60020
60021 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
60022
60023         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
60024         to a reasonable default for memory allocation.
60025         (xreadlink): Don't allocate a huge buffer, to work around a buggy
60026         file system that reports garbage st_size values for symlinks.
60027         Problem reported by Liyang Hu.
60028
60029 2007-01-11  Simon Josefsson  <simon@josefsson.org>
60030
60031         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
60032         Emacs .#* auto-save files).
60033
60034 2007-01-11  Bruno Haible  <bruno@clisp.org>
60035
60036         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
60037         directory.
60038
60039 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60040
60041         Use @...@ consistently in lib/wctype_.h.
60042         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
60043         on it being set to 1 or 0.
60044         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
60045         go back to AC_SUBSTing it.
60046         * modules/wctype (Makefile.am): Undo previous change.
60047
60048 2007-01-10  Eric Blake  <ebb9@byu.net>
60049
60050         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
60051         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
60052         * modules/wctype (Makefile.am): Likewise.
60053         Reported by Chris McGuire.
60054
60055 2007-01-10  Jim Meyering  <jim@meyering.net>
60056
60057         fts.c: a small readability/maintainability improvement
60058         * lib/fts.c (fts_read): Make this code slightly more readable and
60059         maintainable by hoisting the "sp->fts_cur = p" assignments to
60060         immediately follow the statements that set P.  Derived from
60061         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
60062
60063 2007-01-10  Eric Blake  <ebb9@byu.net>
60064
60065         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
60066         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
60067         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60068         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
60069         Reported by Chris McGuire.
60070
60071 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60072
60073         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
60074         in sed script.
60075
60076 2007-01-09  Bruno Haible  <bruno@clisp.org>
60077
60078         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
60079         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
60080         variables.
60081         (func_module): Use them.
60082
60083 2007-01-09  Bruno Haible  <bruno@clisp.org>
60084
60085         * modules/unistr/base: New file.
60086         * lib/unistr.h: New file.
60087
60088         * modules/unistr/u8-to-u16: New file.
60089         * lib/unistr/u8-to-u16.c: New file.
60090
60091         * modules/unistr/u8-to-u32: New file.
60092         * lib/unistr/u8-to-u32.c: New file.
60093
60094         * modules/unistr/u16-to-u8: New file.
60095         * lib/unistr/u16-to-u8.c: New file.
60096
60097         * modules/unistr/u16-to-u32: New file.
60098         * lib/unistr/u16-to-u32.c: New file.
60099
60100         * modules/unistr/u32-to-u8: New file.
60101         * lib/unistr/u32-to-u8.c: New file.
60102
60103         * modules/unistr/u32-to-u16: New file.
60104         * lib/unistr/u32-to-u16.c: New file.
60105
60106         * modules/unistr/u8-check: New file.
60107         * modules/unistr/u16-check: New file.
60108         * modules/unistr/u32-check: New file.
60109         * lib/unistr/u8-check.c: New file.
60110         * lib/unistr/u16-check.c: New file.
60111         * lib/unistr/u32-check.c: New file.
60112
60113         * modules/unistr/u8-chr: New file.
60114         * modules/unistr/u16-chr: New file.
60115         * modules/unistr/u32-chr: New file.
60116         * lib/unistr/u8-chr.c: New file.
60117         * lib/unistr/u16-chr.c: New file.
60118         * lib/unistr/u32-chr.c: New file.
60119
60120         * modules/unistr/u8-cmp: New file.
60121         * modules/unistr/u16-cmp: New file.
60122         * modules/unistr/u32-cmp: New file.
60123         * lib/unistr/u8-cmp.c: New file.
60124         * lib/unistr/u16-cmp.c: New file.
60125         * lib/unistr/u32-cmp.c: New file.
60126
60127         * modules/unistr/u8-cpy: New file.
60128         * modules/unistr/u16-cpy: New file.
60129         * modules/unistr/u32-cpy: New file.
60130         * lib/unistr/u8-cpy.c: New file.
60131         * lib/unistr/u16-cpy.c: New file.
60132         * lib/unistr/u32-cpy.c: New file.
60133         * lib/unistr/u-cpy.h: New file.
60134
60135         * modules/unistr/u8-cpy-alloc: New file.
60136         * modules/unistr/u16-cpy-alloc: New file.
60137         * modules/unistr/u32-cpy-alloc: New file.
60138         * lib/unistr/u8-cpy-alloc.c: New file.
60139         * lib/unistr/u16-cpy-alloc.c: New file.
60140         * lib/unistr/u32-cpy-alloc.c: New file.
60141         * lib/unistr/u-cpy-alloc.h: New file.
60142
60143         * modules/unistr/u8-endswith: New file.
60144         * modules/unistr/u16-endswith: New file.
60145         * modules/unistr/u32-endswith: New file.
60146         * lib/unistr/u8-endswith.c: New file.
60147         * lib/unistr/u16-endswith.c: New file.
60148         * lib/unistr/u32-endswith.c: New file.
60149         * lib/unistr/u-endswith.h: New file.
60150
60151         * modules/unistr/u8-mblen: New file.
60152         * modules/unistr/u16-mblen: New file.
60153         * modules/unistr/u32-mblen: New file.
60154         * lib/unistr/u8-mblen.c: New file.
60155         * lib/unistr/u16-mblen.c: New file.
60156         * lib/unistr/u32-mblen.c: New file.
60157
60158         * modules/unistr/u8-mbtouc: New file.
60159         * modules/unistr/u16-mbtouc: New file.
60160         * modules/unistr/u32-mbtouc: New file.
60161         * lib/unistr/u8-mbtouc.c: New file.
60162         * lib/unistr/u16-mbtouc.c: New file.
60163         * lib/unistr/u32-mbtouc.c: New file.
60164
60165         * modules/unistr/u8-mbtouc-safe: New file.
60166         * modules/unistr/u16-mbtouc-safe: New file.
60167         * modules/unistr/u32-mbtouc-safe: New file.
60168         * lib/unistr/u8-mbtouc-safe.c: New file.
60169         * lib/unistr/u16-mbtouc-safe.c: New file.
60170         * lib/unistr/u32-mbtouc-safe.c: New file.
60171
60172         * modules/unistr/u8-move: New file.
60173         * modules/unistr/u16-move: New file.
60174         * modules/unistr/u32-move: New file.
60175         * lib/unistr/u8-move.c: New file.
60176         * lib/unistr/u16-move.c: New file.
60177         * lib/unistr/u32-move.c: New file.
60178         * lib/unistr/u-move.h: New file.
60179
60180         * modules/unistr/u8-next: New file.
60181         * modules/unistr/u16-next: New file.
60182         * modules/unistr/u32-next: New file.
60183         * lib/unistr/u8-next.c: New file.
60184         * lib/unistr/u16-next.c: New file.
60185         * lib/unistr/u32-next.c: New file.
60186
60187         * modules/unistr/u8-prev: New file.
60188         * modules/unistr/u16-prev: New file.
60189         * modules/unistr/u32-prev: New file.
60190         * lib/unistr/u8-prev.c: New file.
60191         * lib/unistr/u16-prev.c: New file.
60192         * lib/unistr/u32-prev.c: New file.
60193
60194         * modules/unistr/u8-set: New file.
60195         * modules/unistr/u16-set: New file.
60196         * modules/unistr/u32-set: New file.
60197         * lib/unistr/u8-set.c: New file.
60198         * lib/unistr/u16-set.c: New file.
60199         * lib/unistr/u32-set.c: New file.
60200         * lib/unistr/u-set.h: New file.
60201
60202         * modules/unistr/u8-startswith: New file.
60203         * modules/unistr/u16-startswith: New file.
60204         * modules/unistr/u32-startswith: New file.
60205         * lib/unistr/u8-startswith.c: New file.
60206         * lib/unistr/u16-startswith.c: New file.
60207         * lib/unistr/u32-startswith.c: New file.
60208         * lib/unistr/u-startswith.h: New file.
60209
60210         * modules/unistr/u8-stpcpy: New file.
60211         * modules/unistr/u16-stpcpy: New file.
60212         * modules/unistr/u32-stpcpy: New file.
60213         * lib/unistr/u8-stpcpy.c: New file.
60214         * lib/unistr/u16-stpcpy.c: New file.
60215         * lib/unistr/u32-stpcpy.c: New file.
60216         * lib/unistr/u-stpcpy.h: New file.
60217
60218         * modules/unistr/u8-stpncpy: New file.
60219         * modules/unistr/u16-stpncpy: New file.
60220         * modules/unistr/u32-stpncpy: New file.
60221         * lib/unistr/u8-stpncpy.c: New file.
60222         * lib/unistr/u16-stpncpy.c: New file.
60223         * lib/unistr/u32-stpncpy.c: New file.
60224         * lib/unistr/u-stpncpy.h: New file.
60225
60226         * modules/unistr/u8-strcat: New file.
60227         * modules/unistr/u16-strcat: New file.
60228         * modules/unistr/u32-strcat: New file.
60229         * lib/unistr/u8-strcat.c: New file.
60230         * lib/unistr/u16-strcat.c: New file.
60231         * lib/unistr/u32-strcat.c: New file.
60232         * lib/unistr/u-strcat.h: New file.
60233
60234         * modules/unistr/u8-strchr: New file.
60235         * modules/unistr/u16-strchr: New file.
60236         * modules/unistr/u32-strchr: New file.
60237         * lib/unistr/u8-strchr.c: New file.
60238         * lib/unistr/u16-strchr.c: New file.
60239         * lib/unistr/u32-strchr.c: New file.
60240
60241         * modules/unistr/u8-strcmp: New file.
60242         * modules/unistr/u16-strcmp: New file.
60243         * modules/unistr/u32-strcmp: New file.
60244         * lib/unistr/u8-strcmp.c: New file.
60245         * lib/unistr/u16-strcmp.c: New file.
60246         * lib/unistr/u32-strcmp.c: New file.
60247
60248         * modules/unistr/u8-strcpy: New file.
60249         * modules/unistr/u16-strcpy: New file.
60250         * modules/unistr/u32-strcpy: New file.
60251         * lib/unistr/u8-strcpy.c: New file.
60252         * lib/unistr/u16-strcpy.c: New file.
60253         * lib/unistr/u32-strcpy.c: New file.
60254         * lib/unistr/u-strcpy.h: New file.
60255
60256         * modules/unistr/u8-strcspn: New file.
60257         * modules/unistr/u16-strcspn: New file.
60258         * modules/unistr/u32-strcspn: New file.
60259         * lib/unistr/u8-strcspn.c: New file.
60260         * lib/unistr/u16-strcspn.c: New file.
60261         * lib/unistr/u32-strcspn.c: New file.
60262         * lib/unistr/u-strcspn.h: New file.
60263
60264         * modules/unistr/u8-strdup: New file.
60265         * modules/unistr/u16-strdup: New file.
60266         * modules/unistr/u32-strdup: New file.
60267         * lib/unistr/u8-strdup.c: New file.
60268         * lib/unistr/u16-strdup.c: New file.
60269         * lib/unistr/u32-strdup.c: New file.
60270         * lib/unistr/u-strdup.h: New file.
60271
60272         * modules/unistr/u8-strlen: New file.
60273         * modules/unistr/u16-strlen: New file.
60274         * modules/unistr/u32-strlen: New file.
60275         * lib/unistr/u8-strlen.c: New file.
60276         * lib/unistr/u16-strlen.c: New file.
60277         * lib/unistr/u32-strlen.c: New file.
60278         * lib/unistr/u-strlen.h: New file.
60279
60280         * modules/unistr/u8-strmblen: New file.
60281         * modules/unistr/u16-strmblen: New file.
60282         * modules/unistr/u32-strmblen: New file.
60283         * lib/unistr/u8-strmblen.c: New file.
60284         * lib/unistr/u16-strmblen.c: New file.
60285         * lib/unistr/u32-strmblen.c: New file.
60286
60287         * modules/unistr/u8-strmbtouc: New file.
60288         * modules/unistr/u16-strmbtouc: New file.
60289         * modules/unistr/u32-strmbtouc: New file.
60290         * lib/unistr/u8-strmbtouc.c: New file.
60291         * lib/unistr/u16-strmbtouc.c: New file.
60292         * lib/unistr/u32-strmbtouc.c: New file.
60293
60294         * modules/unistr/u8-strncat: New file.
60295         * modules/unistr/u16-strncat: New file.
60296         * modules/unistr/u32-strncat: New file.
60297         * lib/unistr/u8-strncat.c: New file.
60298         * lib/unistr/u16-strncat.c: New file.
60299         * lib/unistr/u32-strncat.c: New file.
60300         * lib/unistr/u-strncat.h: New file.
60301
60302         * modules/unistr/u8-strncmp: New file.
60303         * modules/unistr/u16-strncmp: New file.
60304         * modules/unistr/u32-strncmp: New file.
60305         * lib/unistr/u8-strncmp.c: New file.
60306         * lib/unistr/u16-strncmp.c: New file.
60307         * lib/unistr/u32-strncmp.c: New file.
60308
60309         * modules/unistr/u8-strncpy: New file.
60310         * modules/unistr/u16-strncpy: New file.
60311         * modules/unistr/u32-strncpy: New file.
60312         * lib/unistr/u8-strncpy.c: New file.
60313         * lib/unistr/u16-strncpy.c: New file.
60314         * lib/unistr/u32-strncpy.c: New file.
60315         * lib/unistr/u-strncpy.h: New file.
60316
60317         * modules/unistr/u8-strnlen: New file.
60318         * modules/unistr/u16-strnlen: New file.
60319         * modules/unistr/u32-strnlen: New file.
60320         * lib/unistr/u8-strnlen.c: New file.
60321         * lib/unistr/u16-strnlen.c: New file.
60322         * lib/unistr/u32-strnlen.c: New file.
60323         * lib/unistr/u-strnlen.h: New file.
60324
60325         * modules/unistr/u8-strpbrk: New file.
60326         * modules/unistr/u16-strpbrk: New file.
60327         * modules/unistr/u32-strpbrk: New file.
60328         * lib/unistr/u8-strpbrk.c: New file.
60329         * lib/unistr/u16-strpbrk.c: New file.
60330         * lib/unistr/u32-strpbrk.c: New file.
60331         * lib/unistr/u-strpbrk.h: New file.
60332
60333         * modules/unistr/u8-strrchr: New file.
60334         * modules/unistr/u16-strrchr: New file.
60335         * modules/unistr/u32-strrchr: New file.
60336         * lib/unistr/u8-strrchr.c: New file.
60337         * lib/unistr/u16-strrchr.c: New file.
60338         * lib/unistr/u32-strrchr.c: New file.
60339
60340         * modules/unistr/u8-strspn: New file.
60341         * modules/unistr/u16-strspn: New file.
60342         * modules/unistr/u32-strspn: New file.
60343         * lib/unistr/u8-strspn.c: New file.
60344         * lib/unistr/u16-strspn.c: New file.
60345         * lib/unistr/u32-strspn.c: New file.
60346         * lib/unistr/u-strspn.h: New file.
60347
60348         * modules/unistr/u8-strstr: New file.
60349         * modules/unistr/u16-strstr: New file.
60350         * modules/unistr/u32-strstr: New file.
60351         * lib/unistr/u8-strstr.c: New file.
60352         * lib/unistr/u16-strstr.c: New file.
60353         * lib/unistr/u32-strstr.c: New file.
60354         * lib/unistr/u-strstr.h: New file.
60355
60356         * modules/unistr/u8-strtok: New file.
60357         * modules/unistr/u16-strtok: New file.
60358         * modules/unistr/u32-strtok: New file.
60359         * lib/unistr/u8-strtok.c: New file.
60360         * lib/unistr/u16-strtok.c: New file.
60361         * lib/unistr/u32-strtok.c: New file.
60362         * lib/unistr/u-strtok.h: New file.
60363
60364         * modules/unistr/u8-uctomb: New file.
60365         * modules/unistr/u16-uctomb: New file.
60366         * modules/unistr/u32-uctomb: New file.
60367         * lib/unistr/u8-uctomb.c: New file.
60368         * lib/unistr/u16-uctomb.c: New file.
60369         * lib/unistr/u32-uctomb.c: New file.
60370
60371         * MODULES.html.sh (Unicode string functions): Add the new modules.
60372
60373 2007-01-08  Bruno Haible  <bruno@clisp.org>
60374
60375         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
60376         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
60377         subdirectories.
60378
60379 2007-01-08  Karl Berry  <karl@gnu.org>
60380
60381         * doc/error.texi: mention that main() fns must set program_name
60382         when progname is used.
60383
60384 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
60385
60386         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
60387         WCTYPE_H is empty, for the benefit of builds from non-distclean
60388         directories.  Problem reported by Eric Blake in
60389         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
60390
60391 2007-01-08  Bruno Haible  <bruno@clisp.org>
60392
60393         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
60394         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
60395         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
60396         PROVIDE_CANONICALIZE_FILENAME_MODE.
60397         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
60398
60399 2007-01-08  Bruno Haible  <bruno@clisp.org>
60400
60401         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
60402         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
60403         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
60404         * lib/fts.c: Likewise.
60405         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
60406
60407 2006-12-25  Bruno Haible  <bruno@clisp.org>
60408
60409         * modules/utf8-ucs4-safe: New file.
60410         * lib/utf8-ucs4-safe.h: New file.
60411         * lib/unistr/utf8-ucs4-safe.c: New file.
60412
60413         * modules/utf16-ucs4-safe: New file.
60414         * lib/utf16-ucs4-safe.h: New file.
60415         * lib/unistr/utf16-ucs4-safe.c: New file.
60416
60417         * MODULES.html.sh (Unicode string functions): Add the new modules.
60418
60419 2007-01-08  Bruno Haible  <bruno@clisp.org>
60420
60421         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
60422         (Depends-on): Add unitypes.
60423         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
60424         (u8_mbtouc_aux): Move out to separate file.
60425         (u8_mbtouc): Use ucs4_t, uint8_t types.
60426         * lib/unistr/utf8-ucs4.c: New file.
60427
60428         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
60429         (Depends-on): Add unitypes.
60430         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
60431         (u16_mbtouc_aux): Move out to separate file.
60432         (u16_mbtouc): Use ucs4_t, uint16_t types.
60433         * lib/unistr/utf16-ucs4.c: New file.
60434
60435         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
60436         (Depends-on): Add unitypes.
60437         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
60438         (u8_uctomb_aux): Move out to separate file.
60439         (u8_uctomb): Use ucs4_t, uint8_t types.
60440         * lib/unistr/ucs4-utf8.c: New file.
60441
60442         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
60443         (Depends-on): Add unitypes.
60444         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
60445         (u16_uctomb_aux): Move out to separate file.
60446         (u16_uctomb): Use ucs4_t, uint16_t types.
60447         * lib/unistr/ucs4-utf16.c: New file.
60448
60449 2006-12-25  Bruno Haible  <bruno@clisp.org>
60450
60451         * modules/unitypes: New file.
60452         * lib/unitypes.h: New file.
60453         * MODULES.html.sh (func_all_modules): New section "Unicode string
60454         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
60455         this section. Add unitypes.
60456
60457 2007-01-08  Bruno Haible  <bruno@clisp.org>
60458
60459         Avoid variable names that conflict with those from libtool.
60460         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
60461         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
60462         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
60463         library_names_spec to acl_library_names_spec, hardcode_* to
60464         acl_hardcode_*.
60465         Reported by Ralf Wildenhues.
60466
60467 2007-01-08  Bruno Haible  <bruno@clisp.org>
60468
60469         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
60470         definition.
60471         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
60472         definition.
60473         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
60474         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
60475         definition.
60476         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
60477         definition.
60478         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
60479         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
60480         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
60481         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
60482         definition.
60483         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
60484         definition.
60485         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
60486         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
60487         GC_USE_<algorithm>.
60488         * lib/gc-libgcrypt.c: Likewise.
60489         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
60490         * modules/gc-arctwo (configure.ac): Likewise.
60491         * modules/gc-des (configure.ac): Likewise.
60492         * modules/gc-hmac-md5 (configure.ac): Likewise.
60493         * modules/gc-hmac-sha1 (configure.ac): Likewise.
60494         * modules/gc-md2 (configure.ac): Likewise.
60495         * modules/gc-md4 (configure.ac): Likewise.
60496         * modules/gc-md5 (configure.ac): Likewise.
60497         * modules/gc-random (configure.ac): Likewise.
60498         * modules/gc-rijndael (configure.ac): Likewise.
60499         * modules/gc-sha1 (configure.ac): Likewise.
60500
60501 2007-01-08  Bruno Haible  <bruno@clisp.org>
60502
60503         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
60504         macro definition.
60505         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
60506         definition.
60507         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
60508         definition.
60509         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
60510         * modules/fcntl-safer (configure.ac): Likewise.
60511         * modules/fopen-safer (configure.ac): Likewise.
60512         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
60513         GNULIB_FWRITEERROR macro definition.
60514
60515 2007-01-08  Bruno Haible  <bruno@clisp.org>
60516
60517         * m4/gnulib-common.m4: New file.
60518         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
60519         (func_get_filelist): Add m4/gnulib-common.m4.
60520
60521 2007-01-08  Bruno Haible  <bruno@clisp.org>
60522
60523         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
60524         command.
60525
60526 2007-01-08  Jim Meyering  <jim@meyering.net>
60527
60528         Use a more robust test for a "can't happen" condition.
60529         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
60530         narrowed the st_size value.  Presuming the "can't happen" condition
60531         is true, that narrowing could conceivably convert an invalid st_size
60532         value into a valid one.  Instead, use a change based on Matthew
60533         Woehlke's original patch.
60534
60535         Slight readability improvement: use an assert-like macro
60536         in place of literal "abort ()" uses.
60537         * lib/fts.c (fts_assert): Define.
60538         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
60539         Use this macro instead of a bare 'abort'.
60540
60541 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
60542
60543         Don't worry about using IRIX 5.3's wctype.h broken definitions;
60544         simply work around them.
60545         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
60546         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
60547         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
60548         declaring.
60549         Don't bother to define as macros, since the standard doesn't require it.
60550         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
60551         longer worry about IRIX 5.3.
60552         (HAVE_WCTYPE_CTMP_BUG): Remove.
60553
60554 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
60555
60556         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
60557         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
60558         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
60559         Problems reported by Georg Schwarz for IRIX 5.3.
60560
60561         * gnulib-tool (autoconf_minversion): Take the maximum version number
60562         found, not the minimum.  Problem reported by James Youngman.
60563
60564 2007-01-03  Karl Berry  <karl@gnu.org>
60565
60566         * doc/error.texi: new file, explaining interaction with progname.
60567         * doc/gnulib.texi: include it.  Update copyright.
60568
60569 2007-01-03  Simon Josefsson  <simon@josefsson.org>
60570
60571         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
60572         AC_CANONICAL_HOST, to improve autobuild outputs.
60573
60574 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
60575             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
60576
60577         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
60578         sockets, server sockets, and other file descriptors.  Count errors
60579         to compute the return value.  Reorder the code a bit to be easier
60580         to follow.  Don't set event bits that were not requested (except
60581         POLLERR and POLLHUP).
60582
60583 2007-01-01  Bruno Haible  <bruno@clisp.org>
60584
60585         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
60586
60587 2007-01-03  Jim Meyering  <jim@meyering.net>
60588
60589         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
60590
60591 2007-01-02  Bruno Haible  <bruno@clisp.org>
60592
60593         * modules/settime (Include): Require timespec.h.
60594         * modules/nanosleep (Include): Likewise.
60595
60596 2007-01-01  Bruno Haible  <bruno@clisp.org>
60597
60598         * gnulib-tool (func_emit_copyright_notice): Bump year.
60599         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
60600
60601 2007-01-01  Bruno Haible  <bruno@clisp.org>
60602
60603         Improve support for OpenBSD.
60604         * build-aux/config.rpath (libname_spec): Export.
60605         (library_names_spec): New variable. Export.
60606         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
60607         library_names_spec from the config.rpath output. Locate shared library
60608         through the name pattern in library_names_spec.
60609
60610 2007-01-01  Eric Blake  <ebb9@byu.net>
60611
60612         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
60613
60614 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
60615
60616         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
60617         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
60618         assume the C locale, and avoid an "eval" that could cause trouble.
60619         Problem with SORT reported by Bob Proulx.
60620
60621         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
60622         Define.  Trivial patch from Henning Nielsen Lund, originally
60623         sent to bug-grep@gnu.org today.
60624
60625 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
60626
60627         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
60628         struct stat.  Problem reported by Henning Nielsen Lund.
60629         * lib/acl.c: Include acl.h first, to check interface.  Don't
60630         bother to include sys/types.h and sys/stat.h again.
60631
60632 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
60633
60634         Import the following change from libc; problem reported by
60635         Sven Verdoolaege.
60636
60637         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
60638
60639         [BZ #1373]
60640         * lib/argp.h: Remove __NTH for __argp_usage inline function.
60641
60642 2006-12-28  Jim Meyering  <jim@meyering.net>
60643
60644         * build-aux/announce-gen: Do not assume that the package
60645         builds any of tar.gz, tar.bz2, and .xdelta files.
60646         Suggestion from Simon Josefsson.
60647
60648 2006-12-28  Simon Josefsson  <simon@josefsson.org>
60649
60650         * modules/announce-gen: New file.
60651
60652 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
60653
60654         * lib/mbchar.h: Just include <wctype.h>; the wctype module
60655         handles its gotchas now.
60656         * lib/mbswidth.c: Likewise.
60657         * lib/wcwidth.h: Likewise.
60658         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
60659         and iswcntrl; the wctype module does this stuff now.
60660         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
60661         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60662         * modules/mbchar (Depends-on): Add wctype.
60663         * modules/mbswidth (Depends-on): Likewise.
60664         * modules/wcwidth (Depends-on): Likewise.
60665
60666 2006-12-27  Eric Blake  <ebb9@byu.net>
60667
60668         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
60669         module uses more than what <wctype.h> is required to provide.
60670
60671 2006-12-26  Eric Blake  <ebb9@byu.net>
60672
60673         * gnulib-tool (sed_extract_prog): Avoid space-tab.
60674
60675 2006-12-26  Eric Blake  <ebb9@byu.net>
60676
60677         * modules/absolute-header: New module.
60678         * modules/fcntl (Depends-on): Depend on it.
60679         * modules/inttypes (Depends-on): Likewise.
60680         * modules/stdint (Depends-on): Likewise.
60681         * modules/sys_stat (Depends-on): Likewise.
60682         * modules/wctype (Depends-on): Likewise.
60683         * MODULES.html.sh (Support for building libraries and
60684         executables): Document it.
60685
60686 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
60687
60688         * gnulib-tool (SED): Remove, undoing previous change.
60689         The problem was that it broke coreutils on Solaris, because
60690         "sed --posix" leaked into a makefile.
60691         (sed): New alias, if 'alias' and GNU sed.
60692
60693 2006-12-24  Jim Meyering  <jim@meyering.net>
60694
60695         Work around an fchownat bug in glibc-2.4:
60696         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
60697         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
60698         in spite of the -P option.
60699         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
60700         New macros.
60701         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
60702         * modules/openat (Files): Add lib/fchownat.c.
60703         * lib/openat.c (fchownat): Don't define here.  Move to...
60704         * lib/fchownat.c: ...this new file.
60705
60706 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
60707
60708         Fix bug reported by Bruno Haible in
60709         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
60710         where quotearg.c didn't compile on Mac OS X 10.2 because it
60711         lacks <wchar.h> and wint_t.
60712         * lib/wctype_.h (__wctype_wint_t): New type.
60713         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
60714         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
60715         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
60716         Arg is now of type __wctype_wint_t, not wint_t.
60717         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
60718         substitute HAVE_WINT_T.
60719         * modules/wctype (Files): Add m4/wint_t.m4.
60720         (wctype.h): Substitute HAVE_WINT_T.
60721
60722 2006-12-23  Bruno Haible  <bruno@clisp.org>
60723
60724         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
60725
60726 2006-12-23  Bruno Haible  <bruno@clisp.org>
60727
60728         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
60729         S_ISLNK.
60730         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
60731         mingw.
60732
60733 2006-12-22  Bruno Haible  <bruno@clisp.org>
60734
60735         * lib/copy-file.c: Include acl.h.
60736         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
60737         Close the file descriptors only after being done with copy_acl.
60738         * modules/copy-file (Depends-on): Add acl.
60739
60740 2006-12-22  Bruno Haible  <bruno@clisp.org>
60741
60742         * gnulib-tool (SED): New variable.
60743         Use $SED instead of sed everywhere.
60744
60745 2006-12-22  Bruno Haible  <bruno@clisp.org>
60746
60747         * modules/no-c++: New file.
60748         * m4/no-c++.m4: New file.
60749         * MODULES.html.sh (Support for building libraries and executables):
60750         Add no-c++.
60751
60752 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
60753
60754         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
60755         Include <limits.h>, and use its INT_MAX to rewrite the
60756         j loop so that it does not overflow 'int'.  Problem reported by
60757         Ralf Wildenhues in
60758         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
60759         Play it safe by shifting left by 1 rather than multiplying by 2,
60760         as GCC is less likely to optimize this away when the value
60761         is signed (when it assumes overflow leads to undefined behavior).
60762         Also, don't assume time_t uses two's complement.
60763
60764 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
60765
60766         * MODULES.html.sh: New module wctype.
60767         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
60768         * lib/fnmatch.c: Don't bother to include <wchar.h> before
60769         <wctype.h>, since the new wctype module should fix this.
60770         * lib/quotearg.c: Include <wctype.h> unconditionally, since
60771         the wctype module should arrange for it.
60772         * lib/regex_internal.h: Likewise.
60773         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
60774         since the wctype module should handle this now.
60775         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
60776         * modules/fnmatch (Depends-on): Add wctype.
60777         * modules/quotearg (Depends-on): Likewise.
60778         * modules/regex (Depends-on): Likewise.
60779
60780 2006-12-19  Bruno Haible  <bruno@clisp.org>
60781
60782         * lib/strdup.h [C++]: Wrap definitions in extern "C".
60783         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
60784
60785 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60786
60787         * modules/savewd (Depends-on): Fix dependency on fcntl.
60788
60789 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60790
60791         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
60792         conforms to C99, rather than relying on the user's environment
60793         setting of STDINT_H.
60794
60795 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60796         and Eric Blake  <ebb9@byu.net>
60797
60798         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
60799         This is more consistent with the other defines here.
60800         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
60801         Port to z/OS.  Problem reported by Paul Gilmartin.
60802         Change local vars to use gl_ prefix rather than ac_.
60803         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
60804         with other defines.
60805         * modules/double-slash-root: New module.
60806         * modules/dirname (Files): Remove m4/double-slash-root.m4.
60807         (Depends-on): Add double-slash-root.
60808         * MODULES.html.sh (File system functions): Mention new module.
60809
60810 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
60811
60812         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
60813         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
60814         This is for the benefit of gzip, which doesn't do i18n.
60815
60816 2006-12-12  Jim Meyering  <jim@meyering.net>
60817
60818         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
60819         Reported by Andreas Schwab <schwab@suse.de>.
60820
60821 2006-12-12  Bruno Haible  <bruno@clisp.org>
60822
60823         Merge these changes.
60824         2006-09-05  Bruno Haible  <bruno@clisp.org>
60825         * lib/iconvme.c (iconv_string): No need to save and restore errno when
60826         iconv_alloc succeeded.
60827         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
60828         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
60829         test for " && dest " at the end - dest is always != NULL there. Call
60830         iconv with 4xNULL arguments initially, to reset the state. Call iconv
60831         with 2xNULL arguments, also to flush the state storage. Handle the
60832         IRIX iconv behaviour. Realloc the final result, to throw away unused
60833         memory.
60834
60835 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
60836
60837         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
60838         and fchmodat unconditionally, since glibc 2.4 has them.
60839         Problem reported by Arkadiusz Miskiewicz.
60840
60841 2006-12-10  Bruno Haible  <bruno@clisp.org>
60842
60843         * gnulib-tool (func_import): Show the include files only for those
60844         modules that are copied and specified.
60845         Reported by Karl Berry.
60846
60847 2006-12-08  Jim Meyering  <jim@meyering.net>
60848
60849         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
60850         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
60851
60852         * build-aux/announce-gen: Add two new options, both optional:
60853         --bootstrap-tools=TOOL_LIST
60854               a comma-separated list of tools, e.g.,
60855               autoconf,automake,bison,gnulib
60856         --gnulib-snapshot-date=DATE
60857               if gnulib is in the bootstrap tool list,
60858               then report this as the snapshot date.
60859               If not specified, use the current date/time.
60860               If you specify a date here, be sure it's UTC.
60861
60862 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60863
60864         * tests/test-argp-2.sh: Fix test to match actual output.
60865         (func_compare): Fix sed script to be portable.
60866
60867 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
60868
60869         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
60870         workaround for this case.  It is not autoconfigured now; offhand
60871         it's hard to see how to autoconfigure it.
60872
60873 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
60874
60875         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
60876         a directory that is about to be chowned.  Such a directory's
60877         initial file permissions should permit the owner only and this
60878         should not be changed until after the chown, since the group and
60879         other bits would be incorrect if they granted permission before
60880         the chown.
60881
60882         Fix porting problem for iswctype reported by Georg Schwarz in:
60883         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
60884         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
60885         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
60886         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
60887         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60888
60889 2006-12-03  Jim Meyering  <jim@meyering.net>
60890
60891         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
60892         p->fts_statp may not yet be defined.
60893         (fts_read): Instead, set it in the caller, once p->fts_statp is
60894         sure to be defined, and corresponds to a top-level directory.
60895         This bug made du -x fail.  Here's the coreutils test case:
60896         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
60897         Reported by Mike Frysinger.
60898
60899 2006-12-01  Jim Meyering  <jim@meyering.net>
60900
60901         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
60902         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
60903         Reported by Simon Josefsson.
60904
60905 2006-11-30  Jim Meyering  <jim@meyering.net>
60906
60907         * m4/warning.m4: Use the all-permissive copyright notice
60908         recommended by RMS (rather than LGPL).
60909         * m4/vararrays.m4: Likewise.
60910         * m4/flexmember.m4: Likewise.
60911
60912 2006-11-29  Bruno Haible  <bruno@clisp.org>
60913
60914         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
60915         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
60916         using +=.
60917         Reported by Simon Josefsson <simon@josefsson.org>.
60918
60919 2006-11-28  James Youngman <jay@gnu.org>
60920
60921         * README: Advise users that they might find the bug-gnulib@gnu.org
60922         and autotools-announce@gnu.org mailing lists useful.
60923
60924 2006-11-28  Bruno Haible  <bruno@clisp.org>
60925
60926         * m4/ptrdiff_max.m4: Remove file.
60927
60928 2006-11-21  Bruno Haible  <bruno@clisp.org>
60929
60930         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
60931         _AC_COMPUTE_INT.
60932         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60933         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
60934         _AC_COMPUTE_INT.
60935         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60936         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
60937         _AC_COMPUTE_INT.
60938         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60939
60940 2006-11-28  Jim Meyering  <jim@meyering.net>
60941
60942         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
60943         warning from "gcc -Wshadow" about shadowing the builtin.
60944
60945 2006-11-27  Bruno Haible  <bruno@clisp.org>
60946
60947         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
60948         _AC_COMPUTE_INT.
60949         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60950
60951 2006-11-27  Bruno Haible  <bruno@clisp.org>
60952             Paul Eggert  <eggert@cs.ucla.edu>
60953
60954         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
60955
60956 2006-11-26  Bruno Haible  <bruno@clisp.org>
60957
60958         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
60959         noinst_LTLIBRARIES.
60960
60961 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
60962             Bruno Haible  <bruno@clisp.org>
60963
60964         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
60965         if compiling with "gcc -ansi".
60966
60967 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
60968
60969         Fix some incompatibilities with gcc -ansi -pedantic.
60970         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
60971         if compiling pedantically with GCC, unless it's C99 or later.
60972         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
60973         it mishandles gcc -ansi -pedantic as well.
60974         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
60975         if gcc -pedantic.
60976         * lib/regexec.c (check_node_accept_bytes): Don't use auto
60977         initializers for struct if -pedantic, unless it's C99 or later.
60978
60979 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
60980
60981         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
60982         Don't close an fd more than once. Identical atimes indicate
60983         success, not failure.
60984
60985 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
60986
60987         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
60988
60989 2006-11-23  Jim Meyering  <jim@meyering.net>
60990
60991         * build-aux/announce-gen: New file.  From coreutils.
60992
60993 2006-11-22  Jim Meyering  <jim@meyering.net>
60994
60995         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
60996         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
60997         (fts_read): Use a temporary to narrow the overused st_size member
60998         before using it in a switch statement.  Reported by Matthew Woehlke.
60999
61000         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
61001         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
61002
61003 2006-11-20  Bruno Haible  <bruno@clisp.org>
61004
61005         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
61006         changequote instead of pairs of brackets.
61007         Reported by Andreas Schwab <schwab@suse.de>.
61008
61009 2006-11-21  Jim Meyering  <jim@meyering.net>
61010
61011         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
61012         so as to remain compatible with older compilers.
61013         Patch from Michael Deutschmann.
61014
61015 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
61016
61017         * MODULES.html.sh (File system functions): Add openat.
61018
61019         * lib/openat.h (rpl_fstatat): New macro, if
61020         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
61021         (fstatat): Define to rpl_fstatat under the same conditions,
61022         unless COMPILING_FSTATAT.
61023         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
61024         seems to have the bug.
61025         * lib/fstatat.c: New file.
61026         * modules/openat (Files): Add it.
61027
61028 2006-11-20  Bruno Haible  <bruno@clisp.org>
61029
61030         * Makefile: New file.
61031
61032 2006-11-20  Jim Meyering  <jim@meyering.net>
61033
61034         The beginnings of syntax-related checks for gnulib.
61035         * lib/Makefile: New file.
61036         * lib/t-idcache: New script.  Ensure that the two halves of
61037         idcache.c stay in sync.
61038
61039         * lib/idcache.c: Adjust comments in user- and group- portions to
61040         be more accurate, and to be consistent with one another.
61041
61042 2006-11-20  Jim Meyering  <jim@meyering.net>
61043
61044         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
61045         continue using the flexible array member (thus, this module performs
61046         half as many malloc calls), with the addition that...
61047         (getgroup, getuser): Consistently record a non-match via an empty
61048         "name" string, and map an empty string match to a NULL return value.
61049         * modules/idcache (Depends-on): Re-add flexmember.
61050
61051         * lib/idcache.c (getuser): Remove all uses of the register keyword.
61052         (getuidbyname, getgroup, getgidbyname): Likewise.
61053
61054         Use cleaner syntax: NULL rather than 0.
61055         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
61056
61057 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
61058
61059         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
61060         It mishandled the case where the group was missing.
61061         Problem reported by Greg Schafer.
61062         * modules/idcache: Likewise.
61063
61064 2006-11-18  Jim Meyering  <jim@meyering.net>
61065
61066         * check-module (%exempt_header): Add exception for some
61067         conditionally-included headers.
61068
61069         * modules/i-ring (Depends-on): Add verify.
61070         (License): Change to LGPL.
61071
61072 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
61073
61074         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
61075         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
61076         and inttostr.h.  Use snprintf rather than uinttostr, so that
61077         LGPLed code doesn't depend on GPLed.
61078
61079 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
61080
61081         * modules/inline (License): Change from GPL to LGPL.
61082
61083 2006-11-17  Jim Meyering  <jim@meyering.net>
61084
61085         * modules/d-type (License): Switch to LGPL.
61086
61087 2006-11-15  Bruno Haible  <bruno@clisp.org>
61088
61089         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
61090
61091 2006-11-15  Eric Blake  <ebb9@byu.net>
61092
61093         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
61094         the module dependency.
61095
61096 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61097             Bruno Haible  <bruno@clisp.org>
61098
61099         * gnulib-tool (func_create_testdir): Add license consistency check.
61100
61101 2006-11-15  Eric Blake  <ebb9@byu.net>
61102
61103         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
61104         random "(cached)" in configure output.
61105
61106 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61107
61108         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
61109         test for conforming inttypes.h is both announced and cached.
61110
61111         * MODULES.html.sh (seen_modules, seen_files): New variables.
61112         (func_module): Rewrite to use a few less gnulib-tool and sed
61113         invocations.  Avoid a couple of quadratic algorithms for ...
61114         (missed_modules, missed_files): ... these, with ...
61115         (func_append, func_tmpdir): ... these new functions, from
61116         gnulib-tool.  Analogously, install traps for cleanup.
61117
61118         * tests/test-gc.c (main): Remove unused variables.
61119         * tests/test-read-file.c: Include stdlib.h, for 'free'.
61120
61121 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
61122
61123         * modules/inttostr (License): Change to LGPL.
61124
61125 2006-11-14  Eric Blake  <ebb9@byu.net>
61126
61127         * modules/tempname (License): Change to LGPL.
61128
61129 2006-11-14  Eric Blake  <ebb9@byu.net>
61130
61131         * doc/functions.texi (Function Portability): *printf functions on
61132         Cygwin now understand all POSIX size specifiers.
61133
61134 2006-11-14  Bruno Haible  <bruno@clisp.org>
61135
61136         * modules/c-ctype (License): Change to LGPL.
61137
61138 2006-11-12  Bruno Haible  <bruno@clisp.org>
61139
61140         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61141         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
61142         for GNOME libraries, for which the include files are installed in
61143         subdirectories of $prefix/include.
61144
61145 2006-11-12  Bruno Haible  <bruno@clisp.org>
61146
61147         * m4/lib-link.m4: Require at least autoconf-2.54.
61148         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
61149         name to underscores for the --with option.
61150
61151 2006-11-13  Bruno Haible  <bruno@clisp.org>
61152
61153         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
61154         the tests directory.
61155         Reported by Ralf Wildenhues.
61156
61157 2006-11-13  Bruno Haible  <bruno@clisp.org>
61158
61159         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
61160         (func_emit_initmacro_end): Undo the override here.
61161         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
61162         Works around the famous automake error in coreutils.
61163
61164 2006-11-13  Eric Blake  <ebb9@byu.net>
61165
61166         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
61167         element, not its node.
61168
61169 2006-11-12  Bruno Haible  <bruno@clisp.org>
61170
61171         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
61172         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
61173
61174 2006-11-12  Bruno Haible  <bruno@clisp.org>
61175
61176         * gnulib-tool: New option --local-symlink.
61177         (func_usage): Document it.
61178         (lsymbolic): New variable.
61179         (func_import, func_create_testdir): If --symlink was not specified,
61180         test whether --local-symlink was specified and the file comes from
61181         the local_gnulib_dir.
61182
61183 2006-11-12  Bruno Haible  <bruno@clisp.org>
61184
61185         * gnulib-tool (func_ln): New function.
61186         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
61187
61188 2006-11-12  Bruno Haible  <bruno@clisp.org>
61189
61190         Finish support for source files in subdirectories.
61191         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
61192         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
61193         AUTOMAKE_OPTIONS.
61194         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
61195
61196 2006-11-12  Bruno Haible  <bruno@clisp.org>
61197
61198         * gnulib-tool (func_get_automake_snippet): Synthesize also an
61199         EXTRA_lib_SOURCES augmentation.
61200         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
61201
61202 2006-11-12  Jim Meyering  <jim@meyering.net>
61203
61204         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
61205         file descriptors.  This also averts a failure on systems with
61206         native openat support when a traversed directory lacks "x" access.
61207         * lib/fts_.h: Include "i-ring.h"
61208         (struct FTS) [fts_fd_ring]: New member.
61209         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
61210         (FCHDIR): Add parentheses.
61211         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
61212         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
61213         When descending, rather than simply closing the previous
61214         fts_cwd_fd value, push that file descriptor onto the ring.
61215         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
61216         (fts_open): Initialize the new fd_ring member.
61217         (fts_close): Clear the ring.
61218         (fts_safe_changedir): When possible, use our new fd_ring to skip
61219         the diropen and fstat and dev/ino comparison that would normally
61220         accompany a virtual `chdir ("..")'.
61221
61222         * modules/fts (Depends-on): Add i-ring.
61223         * modules/i-ring: New module.
61224         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
61225         * m4/i-ring.m4: New file.
61226
61227 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61228
61229         * gnulib-tool (func_create_testdir): Fix replacement of
61230         `build-aux' in configure.ac.  Run autotools in gltests
61231         subdirectory.
61232         (func_create_testdir, func_create_megatestdir, test): There is
61233         no need for '--force' in most autotool invocations in a new
61234         tree.  Actually fail the whole test if any of the tools, or the
61235         configure or make stages fail.
61236
61237         Sync from Automake.
61238         * build-aux/gnupload: Revert last change.  Add pointer to upload
61239         instructions of the GNU Maintenance Instructions.
61240         Suggestion by Karl Berry.
61241
61242 2006-11-10  Jim Meyering  <jim@meyering.net>
61243
61244         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
61245
61246 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
61247
61248         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
61249         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
61250         (bind_textdomain_codeset) [! ENABLE_NLS]:
61251         Evaluate all the arguments.  That way, callers get compatible behavior
61252         if the arguments have side effects.  Also, it avoids some GCC
61253         diagnostics in some cases; Joel E. Denny reported problems when Bison
61254         was configured with --enable-gcc-warnigs.
61255
61256 2006-11-10  Jim Meyering  <jim@meyering.net>
61257
61258         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
61259         relevant options in CFLAGS (like -O, -fno-inline) are taken into
61260         account.
61261
61262 2006-11-10  Jim Meyering  <jim@meyering.net>
61263
61264         * modules/inline: New file/module.
61265         * modules/xalloc (Files): Remove m4/inline.m4.
61266         (Depends-on): Add inline, instead.
61267         * modules/oset: Likewise.
61268         * modules/list: Likewise.
61269
61270 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
61271
61272         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
61273         Problem reported by Matthew Woehlke.
61274
61275 2006-11-09  Bruno Haible  <bruno@clisp.org>
61276
61277         * lib/tempname.c (gen_tempname): Remove variant that invokes
61278         __gen_tempname.
61279         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
61280         __gen_tempname.
61281
61282 2006-11-08  Bruno Haible  <bruno@clisp.org>
61283
61284         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
61285         to 'yes' instead of 'cross-compiling'.
61286
61287 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
61288
61289         * lib/quotearg.h (quotearg_free): New decl.
61290         * lib/quotearg.c (quotearg_free): New function.
61291         (slot0, nslots, slotvec0, slotvec):
61292         Now file-scope so that quotearg_free can get at them.
61293
61294 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61295
61296         Sync from Automake.
61297         * build-aux/gnupload: Add missing 'gnu' to example URL.
61298         Report by Karl Berry.
61299
61300 2006-11-08  Bruno Haible  <bruno@clisp.org>
61301
61302         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
61303         Suggested by Paul Eggert.
61304
61305 2006-11-08  Jim Meyering  <jim@meyering.net>
61306
61307         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
61308         It's already included if !_LIBC.
61309         (fts_safe_changedir): Add a comment.
61310
61311 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
61312
61313         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
61314         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
61315         Matthew Woehlke.
61316
61317         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
61318         definitions up, to avoid colliding with change below.
61319         (static_inline) [HAVE_INLINE]: New macro.
61320         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
61321         Provide extern decls when !HAVE_INLINE.  Do not define unless
61322         static_inline is defined, either by us or by xmalloc.c.  Use
61323         static_inline rather than static inline.
61324         (XCALLOC): Optimize sizeof(T) = 1 case.
61325         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
61326
61327 2006-11-07  Bruno Haible  <bruno@clisp.org>
61328
61329         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
61330         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
61331         AC_C_INLINE.
61332         * modules/xalloc (Files): Add m4/inline.m4.
61333
61334 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61335
61336         * README: Fix typo.
61337         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
61338         (Miscellanous Notes): ...from this.
61339
61340 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
61341
61342         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
61343         Mention that offsetof should be used instead of sizeof.
61344         From Bruno Haible.
61345
61346 2006-11-07  Bruno Haible  <bruno@clisp.org>
61347
61348         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
61349
61350 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
61351
61352         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
61353         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
61354         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
61355         (gl_tree_add_before, gl_tree_add_after):
61356         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
61357         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
61358         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61359         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
61360         (gl_linked_add_after, gl_linked_add_at): Likewise.
61361         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
61362         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
61363         (gl_tree_add_before, gl_tree_add_after): Likewise.
61364         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
61365         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
61366         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
61367
61368 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61369
61370         * lib/gl_oset.h: Use C comment style, not C++ comment style.
61371
61372 2006-11-06  Bruno Haible  <bruno@clisp.org>
61373
61374         * m4/inline.m4: New file.
61375         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
61376         * modules/list (Files): Add m4/inline.m4.
61377         * modules/oset (Files): Likewise.
61378
61379 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
61380
61381         * lib/idcache.c: Include <stddef.h>, for offsetof.
61382         (struct userid.name): Change from char * to a flexible array member.
61383         All uses changed.
61384         * modules/idcache (Depends-on): Add flexmember.
61385
61386         * MODULES.html.sh (Core language properties): New module flexmember.
61387         * modules/flexmember, m4/flexmember.m4: New files.
61388
61389         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
61390         inline functions that are identical with the old xnmalloc_inline,
61391         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
61392         that we can avoid some unnecessary integer multiplications and
61393         divisions in the common case where the element size is known at
61394         compile time.
61395         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
61396         needed.
61397         (xnboundedmalloc): Remove.
61398         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
61399         arguments, for consistency with rest of this header.
61400         (xcharalloc): Rewrite using XNMALLOC.
61401         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
61402         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
61403         versions have been moved to lib/xalloc.h and renamed to be the
61404         non-*_inline versions.
61405         (xmalloc, xrealloc): Implement without reference to the xnmalloc
61406         and xnrealloc functions, since those functions are now inline and
61407         now call us.
61408         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
61409         renaming described above.
61410         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
61411         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
61412         captures the dependency in AC_C_INLINE.
61413
61414         New module canonicalize-lgpl, proposed by Charles Wilson in
61415         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
61416         with a few small changes afterwards.
61417         * MODULES.html.sh (File system functions): New module
61418         canonicalize-lgpl.
61419         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
61420         and canonicalize_file_name.
61421         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
61422         * modules/canonicalize-lgpl: New files.
61423
61424 2006-11-05  Bruno Haible  <bruno@clisp.org>
61425
61426         * gnulib-tool (func_import, func_create_testdir): Create directories
61427         also for files in subdirectories of lib/.
61428
61429 2006-11-05  Bruno Haible  <bruno@clisp.org>
61430
61431         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
61432         ANSI C compliant.
61433
61434 2006-11-03  Bruno Haible  <bruno@clisp.org>
61435
61436         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
61437         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
61438         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
61439         (xnboundedmalloc): New inline function.
61440         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
61441         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
61442         xmalloc.
61443         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
61444         xmalloc.
61445         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
61446         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
61447         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
61448         xmalloc.
61449         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
61450         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
61451         xmalloc.
61452         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
61453         gl_tree_add_after): Use XMALLOC instead of xmalloc.
61454         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
61455         xmalloc.
61456         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
61457         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
61458         gl_tree_add_after): Use XMALLOC instead of xmalloc.
61459         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
61460         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
61461         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
61462         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
61463
61464 2006-11-03  Bruno Haible  <bruno@clisp.org>
61465
61466         * lib/c-ctype.h [C++]: Define functions without name mangling.
61467         * lib/fwriteerror.h [C++]: Likewise.
61468         * lib/gcd.h [C++]: Likewise.
61469         * lib/linebreak.h [C++]: Likewise.
61470
61471 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
61472
61473         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
61474         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
61475         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
61476         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
61477         Check for functions and headers just once.
61478         Check for declaration of canonicalize_file_name.
61479         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
61480
61481 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
61482
61483         * gnulib-tool (func_import): Fix typo in actioncmd.
61484
61485 2006-11-02  Bruno Haible  <bruno@clisp.org>
61486
61487         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
61488         newline sequence in the Makefile.am snippet as a space, like "make"
61489         does.
61490         Reported by Roger Persson <perrog@gmail.com>.
61491
61492 2006-11-01  Bruno Haible  <bruno@clisp.org>
61493
61494         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
61495         already declared in <string.h>.
61496         * lib/strcase.h (strncasecmp): Don't declare it if yes.
61497
61498 2006-11-01  Bruno Haible  <bruno@clisp.org>
61499
61500         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
61501         * lib/strcase.h: Include <string.h>.
61502         (strcasecmp): Define to rpl_strcasecmp here.
61503
61504 2006-11-01  Bruno Haible  <bruno@clisp.org>
61505
61506         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
61507
61508 2006-11-01  Eric Blake  <ebb9@byu.net>
61509
61510         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
61511
61512         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
61513
61514 2006-10-29  Bruno Haible  <bruno@clisp.org>
61515
61516         Make it compile in C++ mode.
61517         * lib/full-write.c (full_rw): Add a cast.
61518
61519 2006-11-01  Bruno Haible  <bruno@clisp.org>
61520
61521         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
61522         be POSIX compliant.
61523         Reported by Roger Persson <perrog@gmail.com>.
61524
61525 2006-11-01  Eric Blake  <ebb9@byu.net>
61526
61527         * lib/getopt_.h: Fix comments.
61528
61529 2006-10-31  Eric Blake  <ebb9@byu.net>
61530
61531         * modules/tmpdir (Depends-on): Add sys_stat.
61532         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
61533         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
61534         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
61535         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
61536         tempname.
61537
61538 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
61539
61540         Avoid some C++ diagnostics reported by Bruno Haible.
61541         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
61542         xmalloc.
61543         (quotearg_alloc): Use xcharalloc rather than xmalloc.
61544         (struct slotvec): Move to top level.
61545         (quotearg_n_options): Rewrite to avoid xmalloc.
61546         * lib/xalloc.h (xcharalloc): New function.
61547         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
61548         [defined __cplusplus]: Add function template that provides result
61549         type propagation.  This part of the change is from Bruno Haible.
61550
61551 2006-10-29  Bruno Haible  <bruno@clisp.org>
61552
61553         Make it compile in C++ mode.
61554         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
61555         * lib/strnlen1.c (strnlen1): Cast memchr result.
61556         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
61557         * lib/clean-temp.c (string_equals, string_hash): Add casts.
61558         (create_temp_dir): Rename local variable 'template'.
61559         (compile_csharp_using_sscli): Add cast.
61560         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
61561         * lib/findprog.c (find_in_path): Likewise.
61562         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
61563         * lib/wait-process.c (register_slave_subprocess): Likewise.
61564
61565 2006-10-22  Bruno Haible  <bruno@clisp.org>
61566
61567         * modules/tsearch: New file.
61568         * lib/tsearch.h: New file.
61569         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
61570         * m4/tsearch.m4: New file.
61571         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
61572
61573 2006-10-29  Eric Blake  <ebb9@byu.net>
61574
61575         * lib/arcfour.c: Assume config.h.
61576         * lib/arctwo.c: Likewise.
61577         * lib/base64.c: Likewise.
61578         * lib/check-version.c: Likewise.
61579         * lib/crc.c: Likewise.
61580         * lib/des.c: Likewise.
61581         * lib/gc-gnulib.c: Likewise.
61582         * lib/gc-libgcrypt.c: Likewise.
61583         * lib/gc-pbkdf2-sha1.c: Likewise.
61584         * lib/getaddrinfo.c: Likewise.
61585         * lib/getdelim.c: Likewise.
61586         * lib/getline.c: Likewise.
61587         * lib/hmac-md5.c: Likewise.
61588         * lib/hmac-sha1.c: Likewise.
61589         * lib/iconvme.c: Likewise.
61590         * lib/md2.c: Likewise.
61591         * lib/md4.c: Likewise.
61592         * lib/memxor.c: Likewise.
61593         * lib/read-file.c: Likewise.
61594         * lib/readline.c: Likewise.
61595         * lib/rijndael-alg-fst.c: Likewise.
61596         * lib/rijndael-api-fst.c: Likewise.
61597         * lib/xgetdomainname.c: Likewise.
61598
61599 2006-10-28  Eric Blake  <ebb9@byu.net>
61600
61601         * lib/xstrndup.c: Assume config.h.
61602
61603 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
61604
61605         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
61606         stat-macros.h is now for our own macros, whereas stat_h is for
61607         macros in the <sys/stat.h> name space.
61608         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
61609         (STAT_MACROS_H): Remove.
61610         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
61611         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
61612         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
61613         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
61614         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
61615         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
61616         Move these macros to ...
61617         * lib/stat_.h: here.  Don't include stat-macros.h.
61618         * lib/canonicalize.c: Don't include stat-macros.h.
61619         * lib/chown.c: Likewise.
61620         * lib/euidaccess.c: Likewise.
61621         * lib/file-type.c: Likewise.
61622         * lib/filemode.c: Likewise.
61623         * lib/glob.c: Likewise.
61624         * lib/isapipe.c: Likewise.
61625         * lib/lchown.c: Likewise.
61626         * lib/lstat.c: Likewise.
61627         * lib/mkdir-p.c: Likewise.
61628         * lib/rmdir.c: Likewise.
61629         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
61630         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
61631         unless mkdir isn't declared, to speed up 'configure'.
61632         Always create sys/stat.h, since it's unlikely any real sys/stat.h
61633         would define all the S_* symbols.
61634         * modules/canonicalize (Depends-on):
61635         Depend on sys_stat, not stat-macros.
61636         * modules/chown: Likewise.
61637         * modules/euidaccess: Likewise.
61638         * modules/filemode: Likewise.
61639         * modules/file-type: Likewise.
61640         * modules/glob: Likewise.
61641         * modules/isapipe: Likewise.
61642         * modules/lchown: Likewise.
61643         * modules/lstat: Likewise.
61644         * modules/mkancesdirs: Likewise.
61645         * modules/rmdir: Likewise.
61646         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
61647         * modules/modechange: Likewise.
61648         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
61649         (configure.ac): Remove gl_STAT_MACROS.
61650         * modules/sys_stat (Depends-on): Remove stat-macros.
61651
61652 2006-10-27  Bruno Haible  <bruno@clisp.org>
61653
61654         * m4/signed.m4: Remove file.
61655         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
61656         invocation.
61657         * modules/vasnprintf (Files): Remove m4/signed.m4.
61658
61659 2006-10-27  Bruno Haible  <bruno@clisp.org>
61660
61661         Update to GNU gettext 0.16.
61662         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
61663         m4/inttypes-h.m4, m4/signed.m4.
61664         * m4/gettext.m4: Update to GNU gettext 0.16.
61665         * m4/intl.m4: New file, from GNU gettext.
61666         * m4/intldir.m4: New file, from GNU gettext.
61667         * config/srclist.txt: Update
61668
61669 2006-10-27  Eric Blake  <ebb9@byu.net>
61670
61671         * MODULES.html.sh: Document tempname.
61672         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
61673         dependencies.
61674         (Files): Move lib/tempname.c...
61675         * modules/tempname: ...to this new module.
61676         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
61677         (gl_PREREQ_TEMPNAME): Move...
61678         * m4/tempname.m4: ...to this new file.
61679         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
61680         * modules/sys_stat (Depends-on): Add stat-macros.
61681         * lib/stat_.h (includes): Pick up stat macros.
61682         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
61683         if stat macros are broken.
61684         * lib/tempname.c (includes): No need to include "stat-macros.h".
61685         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
61686         (direxists, __path_search) [!_LIBC]: Don't compile these in
61687         gnulib; the tmpdir module covers that.
61688         * lib/tempname.h: New file.
61689
61690 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
61691
61692         * COPYING: Explain how gnulib-tool converts licence headers.
61693         Almost all wording by Eric Blake.
61694
61695 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
61696
61697         * lib/mbchar.h (is_basic_table): Make read-only.
61698         * lib/mbchar.c (is_basic_table): Likewise.
61699         Reported by John Darrington.
61700
61701 2006-10-25  Bruno Haible  <bruno@clisp.org>
61702
61703         * lib/progname.h (set_program_name): Undefine before defining.
61704
61705 2006-10-25  Bruno Haible  <bruno@clisp.org>
61706
61707         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
61708         false for non-gcc C++ compilers.
61709         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
61710
61711 2006-10-24  Bruno Haible  <bruno@clisp.org>
61712
61713         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
61714         iconv implementations like Irix iconv.
61715
61716 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61717
61718         * modules/vararrays: New file.
61719         * m4/vararrays.m4: New file, taken from diffutils.
61720         * MODULES.html.sh: New module vararrays.
61721
61722 2006-10-24  Karl Berry  <karl@gnu.org>
61723
61724         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
61725         Don't call GNU Unix.
61726
61727 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61728
61729         * users.txt: Add Libtool.
61730
61731         Sync from Libtool:
61732
61733         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61734
61735         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
61736         to gnulib's policy of including config.h unconditionally.
61737
61738 2006-10-24  Bruno Haible  <bruno@clisp.org>
61739
61740         * modules/wcwidth (Files): Add m4/wint_t.m4.
61741         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
61742         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
61743
61744 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61745
61746         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
61747         to pacify GCC with some -W flags enabled.  Problem reported by
61748         Bruno Haible.
61749
61750 2006-10-24  Jim Meyering  <jim@meyering.net>
61751
61752         * MODULES.html.sh: Remove uinttostr.  It's not a module.
61753         Reported by Karl Berry.
61754
61755 2006-10-23  Bruno Haible  <bruno@clisp.org>
61756
61757         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
61758
61759 2006-10-24  Bruno Haible  <bruno@clisp.org>
61760
61761         * lib/gl_list.h: Use C comment style, not C++ comment style.
61762
61763 2006-10-23  Eric Blake  <ebb9@byu.net>
61764
61765         * lib/getaddrinfo.c (includes): Add missing include.
61766
61767 2006-10-23  Bruno Haible  <bruno@clisp.org>
61768             Paul Eggert  <eggert@cs.ucla.edu>
61769
61770         Ability to rename obstack_free.
61771         * lib/obstack.h (__obstack_free): New macro. Declare instead of
61772         obstack_free.
61773         (obstack_free): Invoke the __obstack_free macro.
61774         * lib/obstack.c (obstack_free): Use __obstack_free macro.
61775
61776 2006-10-23  Bruno Haible  <bruno@clisp.org>
61777             Paul Eggert  <eggert@cs.ucla.edu>
61778
61779         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
61780         __argc, __argv from the declaration. (They are defined as macros on
61781         mingw.)
61782
61783 2006-10-22  Bruno Haible  <bruno@clisp.org>
61784
61785         * doc/gnulib-intro.texi: New file.
61786         * doc/gnulib.texi: Include it.
61787
61788 2006-10-21  Bruno Haible  <bruno@clisp.org>
61789
61790         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
61791         "Introduction", "Miscellanous Notes", "Particular Modules".
61792
61793 2006-10-21  Bruno Haible  <bruno@clisp.org>
61794
61795         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61796         Change mostlyclean-local rule to avoid sh syntax error from bash
61797         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
61798
61799 2006-10-23  Jim Meyering  <jim@meyering.net>
61800
61801         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
61802         in place of snprintf.
61803
61804         * modules/inttostr (Files): Add lib/uinttostr.c.
61805         * lib/uinttostr.c (inttostr): New file/function.
61806         * lib/inttostr.h (uinttostr): Declare.
61807         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
61808         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
61809         Add uinttostr.
61810         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
61811
61812 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
61813
61814         * lib/canonicalize.c (ELOOP): Define if not already defined.
61815         Problem reported by Bruno Haible in
61816         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
61817
61818 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
61819
61820         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
61821         Problem reported by Perry Smith and Ville Laurikari.
61822
61823         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
61824         uses.
61825
61826 2006-10-19  Bruno Haible  <bruno@clisp.org>
61827
61828         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
61829         for mingw.
61830
61831 2006-10-19  Bruno Haible  <bruno@clisp.org>
61832
61833         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
61834         Needed for mingw.
61835
61836 2006-10-19  Bruno Haible  <bruno@clisp.org>
61837
61838         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
61839
61840 2006-10-19  Bruno Haible  <bruno@clisp.org>
61841
61842         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
61843         it.
61844
61845 2006-10-19  Bruno Haible  <bruno@clisp.org>
61846
61847         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
61848         invocation.
61849
61850 2006-10-19  Bruno Haible  <bruno@clisp.org>
61851
61852         * gnulib-tool (func_create_testdir): Don't include ftruncate and
61853         mountlist by default.
61854
61855 2006-10-16  Bruno Haible  <bruno@clisp.org>
61856
61857         * lib/c-strstr.c: Include c-strstr.h.
61858
61859 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
61860
61861         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
61862         in a slash.
61863
61864 2006-10-18  Bruno Haible  <bruno@clisp.org>
61865
61866         * lib/lock.h [C++]: Wrap definitions in extern "C".
61867
61868 2006-10-18  Bruno Haible  <bruno@clisp.org>
61869
61870         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
61871         gl_LIBOBJS list.
61872
61873 2006-10-18  Bruno Haible  <bruno@clisp.org>
61874
61875         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
61876
61877 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
61878
61879         * lib/xstrtol.h: Include gettext.h.
61880         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
61881         Problem reported by Eric Blake.
61882         * modules/xstrtol (Depends-on): Add gettext-h.
61883
61884 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
61885
61886         * lib/strftime.c (advance): New macro.
61887         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
61888         incomplete type, so you can't add 0 to it.  Problem and patch
61889         reported by Eelco Dolstra for dietlibc.
61890
61891 2006-10-18  Jim Meyering  <jim@meyering.net>
61892
61893         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
61894         type for a local, and rename it: s/up/user_proc/.
61895
61896 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
61897
61898         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
61899         READ_UTMP_USER_PROCESS.
61900         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
61901
61902 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
61903
61904         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
61905         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
61906
61907 2006-10-17  Eric Blake  <ebb9@byu.net>
61908
61909         * lib/sigprocmask.c (sigprocmask): Fix typo.
61910
61911         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
61912
61913         * modules/clean-temp (Makefile.am): Don't add to make output...
61914         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
61915         config.h.
61916
61917 2006-10-17  Bruno Haible  <bruno@clisp.org>
61918
61919         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
61920         differently if DEFAULT_TEXT_DOMAIN is set.
61921
61922 2006-10-16  Bruno Haible  <bruno@clisp.org>
61923
61924         * lib/clean-temp.c: Include fwriteerror.h.
61925
61926 2006-10-16  Bruno Haible  <bruno@clisp.org>
61927
61928         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
61929
61930 2006-10-16  Bruno Haible  <bruno@clisp.org>
61931
61932         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
61933         * lib/sigprocmask.h: Include <sys/types.h>.
61934         (sigset_t): Use the system's definition if present.
61935
61936 2006-10-17  Eric Blake  <ebb9@byu.net>
61937
61938         * lib/xvasprintf.c (includes): Assume config.h.
61939         * lib/xasprintf.c (includes): Likewise.
61940
61941 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61942
61943         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
61944         at least as wide as intmax_t.
61945
61946 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
61947
61948         (Imported from Automake.)
61949         * build-aux/gnupload: Update to version 1.1 of directive file.
61950
61951 2006-10-16  Eric Blake  <ebb9@byu.net>
61952
61953         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
61954         match Automake 1.10a.
61955
61956 2006-10-14  Bruno Haible  <bruno@clisp.org>
61957
61958         * modules/sigprocmask: New file.
61959         * lib/sigprocmask.h: New file.
61960         * lib/sigprocmask.c: New file.
61961         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
61962         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
61963         request sigprocmask.o.
61964         (gl_PREREQ_SIGPROCMASK): New macro.
61965         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
61966         (Depends-on): Add sigprocmask.
61967         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
61968         gt_SIGNALBLOCKING. Test for 'raise' only once.
61969         * lib/fatal-signal.c: Include sigprocmask.h.
61970         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
61971         unblock_fatal_signals): Define always.
61972         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
61973         sigprocmask.
61974
61975 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61976
61977         Sync from Automake.
61978         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
61979         which incorrectly sets the mode of an existing destination
61980         directory.  In some cases the unpatched install-sh could do the
61981         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
61982         system.  We hope this is rare in practice, but it's clearly worth
61983         fixing.  Problem reported by Alex Unleashed in
61984         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
61985         Also, don't bother to check for -m bugs unless we're using -m;
61986         suggested by Stepan Kasal.
61987
61988 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61989
61990         Sync from Automake.
61991         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
61992         `-c' flag, so they appear at the same position as in %FASTDEP%
61993         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
61994         which ignores unknown options only after the first non-option.
61995         Bug report against M4 by Nelson H. F. Beebe.
61996
61997 2006-10-13  Jim Meyering  <jim@meyering.net>
61998
61999         Fix a bug in yesterday's change.
62000         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
62001         p->fts_statp->st_dev would be used uninitialized.
62002         Ensures that we always call fts_stat on the very first entry.
62003         Miklos Szeredi reported that find -xdev stopped working.
62004
62005 2006-10-12  Bruno Haible  <bruno@clisp.org>
62006
62007         * gnulib-tool (func_get_automake_snippet): Append an automatically
62008         computed EXTRA_DIST augmentation.
62009         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
62010         * modules/alloca-opt (Makefile.am): Likewise.
62011         * modules/allocsa (Makefile.am): Likewise.
62012         * modules/arcfour (Makefile.am): Likewise.
62013         * modules/arctwo (Makefile.am): Likewise.
62014         * modules/argmatch (Makefile.am): Likewise.
62015         * modules/argz (Makefile.am): Likewise.
62016         * modules/atexit (Makefile.am): Likewise.
62017         * modules/backupfile (Makefile.am): Likewise.
62018         * modules/byteswap (Makefile.am): Likewise.
62019         * modules/c-strtod (Makefile.am): Likewise.
62020         * modules/c-strtold (Makefile.am): Likewise.
62021         * modules/calloc (Makefile.am): Likewise.
62022         * modules/canon-host (Makefile.am): Likewise.
62023         * modules/canonicalize (Makefile.am): Likewise.
62024         * modules/chdir-long (Makefile.am): Likewise.
62025         * modules/chdir-safer (Makefile.am): Likewise.
62026         * modules/check-version (Makefile.am): Likewise.
62027         * modules/chown (Makefile.am): Likewise.
62028         * modules/cloexec (Makefile.am): Likewise.
62029         * modules/close-stream (Makefile.am): Likewise.
62030         * modules/closeout (Makefile.am): Likewise.
62031         * modules/crc (Makefile.am): Likewise.
62032         * modules/csharpexec (Makefile.am): Likewise.
62033         * modules/cycle-check (Makefile.am): Likewise.
62034         * modules/des (Makefile.am): Likewise.
62035         * modules/dev-ino (Makefile.am): Likewise.
62036         * modules/dirfd (Makefile.am): Likewise.
62037         * modules/dirname (Makefile.am): Likewise.
62038         * modules/dup2 (Makefile.am): Likewise.
62039         * modules/eealloc (Makefile.am): Likewise.
62040         * modules/error (Makefile.am): Likewise.
62041         * modules/euidaccess (Makefile.am): Likewise.
62042         * modules/exclude (Makefile.am): Likewise.
62043         * modules/exitfail (Makefile.am): Likewise.
62044         * modules/fcntl-safer (Makefile.am): Likewise.
62045         * modules/fcntl (Makefile.am): Likewise.
62046         * modules/file-type (Makefile.am): Likewise.
62047         * modules/fileblocks (Makefile.am): Likewise.
62048         * modules/filemode (Makefile.am): Likewise.
62049         * modules/filenamecat (Makefile.am): Likewise.
62050         * modules/fnmatch (Makefile.am): Likewise.
62051         * modules/fopen-safer (Makefile.am): Likewise.
62052         * modules/fpending (Makefile.am): Likewise.
62053         * modules/fprintftime (Makefile.am): Likewise.
62054         * modules/free (Makefile.am): Likewise.
62055         * modules/fsusage (Makefile.am): Likewise.
62056         * modules/ftruncate (Makefile.am): Likewise.
62057         * modules/fts (Makefile.am): Likewise.
62058         * modules/gc-arcfour (Makefile.am): Likewise.
62059         * modules/gc-des (Makefile.am): Likewise.
62060         * modules/gc-hmac-md5 (Makefile.am): Likewise.
62061         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
62062         * modules/gc-md4 (Makefile.am): Likewise.
62063         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
62064         * modules/gc-sha1 (Makefile.am): Likewise.
62065         * modules/gc (Makefile.am): Likewise.
62066         * modules/getaddrinfo (Makefile.am): Likewise.
62067         * modules/getcwd (Makefile.am): Likewise.
62068         * modules/getdelim (Makefile.am): Likewise.
62069         * modules/getdomainname (Makefile.am): Likewise.
62070         * modules/getgroups (Makefile.am): Likewise.
62071         * modules/gethostname (Makefile.am): Likewise.
62072         * modules/gethrxtime (Makefile.am): Likewise.
62073         * modules/getline (Makefile.am): Likewise.
62074         * modules/getloadavg (Makefile.am): Likewise.
62075         * modules/getlogin_r (Makefile.am): Likewise.
62076         * modules/getndelim2 (Makefile.am): Likewise.
62077         * modules/getopt (Makefile.am): Likewise.
62078         * modules/getpagesize (Makefile.am): Likewise.
62079         * modules/getpass-gnu (Makefile.am): Likewise.
62080         * modules/getpass (Makefile.am): Likewise.
62081         * modules/getsubopt (Makefile.am): Likewise.
62082         * modules/gettime (Makefile.am): Likewise.
62083         * modules/gettimeofday (Makefile.am): Likewise.
62084         * modules/getugroups (Makefile.am): Likewise.
62085         * modules/getusershell (Makefile.am): Likewise.
62086         * modules/glob (Makefile.am): Likewise.
62087         * modules/group-member (Makefile.am): Likewise.
62088         * modules/hard-locale (Makefile.am): Likewise.
62089         * modules/hash (Makefile.am): Likewise.
62090         * modules/hmac-md5 (Makefile.am): Likewise.
62091         * modules/hmac-sha1 (Makefile.am): Likewise.
62092         * modules/human (Makefile.am): Likewise.
62093         * modules/idcache (Makefile.am): Likewise.
62094         * modules/imaxabs (Makefile.am): Likewise.
62095         * modules/imaxdiv (Makefile.am): Likewise.
62096         * modules/inet_ntop (Makefile.am): Likewise.
62097         * modules/inet_pton (Makefile.am): Likewise.
62098         * modules/intprops (Makefile.am): Likewise.
62099         * modules/inttostr (Makefile.am): Likewise.
62100         * modules/inttypes (Makefile.am): Likewise.
62101         * modules/isapipe (Makefile.am): Likewise.
62102         * modules/javaversion (Makefile.am): Likewise.
62103         * modules/lchmod (Makefile.am): Likewise.
62104         * modules/lchown (Makefile.am): Likewise.
62105         * modules/localcharset (Makefile.am): Likewise.
62106         * modules/long-options (Makefile.am): Likewise.
62107         * modules/lstat (Makefile.am): Likewise.
62108         * modules/malloc (Makefile.am): Likewise.
62109         * modules/mathl (Makefile.am): Likewise.
62110         * modules/mbchar (Makefile.am): Likewise.
62111         * modules/md2 (Makefile.am): Likewise.
62112         * modules/md4 (Makefile.am): Likewise.
62113         * modules/md5 (Makefile.am): Likewise.
62114         * modules/memcasecmp (Makefile.am): Likewise.
62115         * modules/memchr (Makefile.am): Likewise.
62116         * modules/memcmp (Makefile.am): Likewise.
62117         * modules/memcoll (Makefile.am): Likewise.
62118         * modules/memcpy (Makefile.am): Likewise.
62119         * modules/memmem (Makefile.am): Likewise.
62120         * modules/memmove (Makefile.am): Likewise.
62121         * modules/mempcpy (Makefile.am): Likewise.
62122         * modules/memrchr (Makefile.am): Likewise.
62123         * modules/memset (Makefile.am): Likewise.
62124         * modules/memxor (Makefile.am): Likewise.
62125         * modules/mkancesdirs (Makefile.am): Likewise.
62126         * modules/mkdir-p (Makefile.am): Likewise.
62127         * modules/mkdir (Makefile.am): Likewise.
62128         * modules/mkdtemp (Makefile.am): Likewise.
62129         * modules/mkstemp (Makefile.am): Likewise.
62130         * modules/mktime (Makefile.am): Likewise.
62131         * modules/modechange (Makefile.am): Likewise.
62132         * modules/mountlist (Makefile.am): Likewise.
62133         * modules/nanosleep (Makefile.am): Likewise.
62134         * modules/obstack (Makefile.am): Likewise.
62135         * modules/openat (Makefile.am): Likewise.
62136         * modules/pagealign_alloc (Makefile.am): Likewise.
62137         * modules/pathmax (Makefile.am): Likewise.
62138         * modules/physmem (Makefile.am): Likewise.
62139         * modules/poll (Makefile.am): Likewise.
62140         * modules/posixtm (Makefile.am): Likewise.
62141         * modules/posixver (Makefile.am): Likewise.
62142         * modules/putenv (Makefile.am): Likewise.
62143         * modules/quote (Makefile.am): Likewise.
62144         * modules/quotearg (Makefile.am): Likewise.
62145         * modules/raise (Makefile.am): Likewise.
62146         * modules/read-file (Makefile.am): Likewise.
62147         * modules/readline (Makefile.am): Likewise.
62148         * modules/readlink (Makefile.am): Likewise.
62149         * modules/readtokens (Makefile.am): Likewise.
62150         * modules/readutmp (Makefile.am): Likewise.
62151         * modules/realloc (Makefile.am): Likewise.
62152         * modules/regex (Makefile.am): Likewise.
62153         * modules/rename-dest-slash (Makefile.am): Likewise.
62154         * modules/rename (Makefile.am): Likewise.
62155         * modules/rijndael (Makefile.am): Likewise.
62156         * modules/rmdir (Makefile.am): Likewise.
62157         * modules/rpmatch (Makefile.am): Likewise.
62158         * modules/safe-read (Makefile.am): Likewise.
62159         * modules/safe-write (Makefile.am): Likewise.
62160         * modules/same-inode (Makefile.am): Likewise.
62161         * modules/same (Makefile.am): Likewise.
62162         * modules/save-cwd (Makefile.am): Likewise.
62163         * modules/savedir (Makefile.am): Likewise.
62164         * modules/setenv (Makefile.am): Likewise.
62165         * modules/settime (Makefile.am): Likewise.
62166         * modules/sha1 (Makefile.am): Likewise.
62167         * modules/sig2str (Makefile.am): Likewise.
62168         * modules/snprintf (Makefile.am): Likewise.
62169         * modules/stat-macros (Makefile.am): Likewise.
62170         * modules/stat-time (Makefile.am): Likewise.
62171         * modules/stdbool (Makefile.am): Likewise.
62172         * modules/stdint (Makefile.am): Likewise.
62173         * modules/stdlib-safer (Makefile.am): Likewise.
62174         * modules/stpcpy (Makefile.am): Likewise.
62175         * modules/stpncpy (Makefile.am): Likewise.
62176         * modules/strcase (Makefile.am): Likewise.
62177         * modules/strcasestr (Makefile.am): Likewise.
62178         * modules/strchrnul (Makefile.am): Likewise.
62179         * modules/strcspn (Makefile.am): Likewise.
62180         * modules/strdup (Makefile.am): Likewise.
62181         * modules/strerror (Makefile.am): Likewise.
62182         * modules/strftime (Makefile.am): Likewise.
62183         * modules/strndup (Makefile.am): Likewise.
62184         * modules/strnlen (Makefile.am): Likewise.
62185         * modules/strpbrk (Makefile.am): Likewise.
62186         * modules/strsep (Makefile.am): Likewise.
62187         * modules/strstr (Makefile.am): Likewise.
62188         * modules/strtod (Makefile.am): Likewise.
62189         * modules/strtoimax (Makefile.am): Likewise.
62190         * modules/strtok_r (Makefile.am): Likewise.
62191         * modules/strtol (Makefile.am): Likewise.
62192         * modules/strtoll (Makefile.am): Likewise.
62193         * modules/strtoul (Makefile.am): Likewise.
62194         * modules/strtoull (Makefile.am): Likewise.
62195         * modules/strtoumax (Makefile.am): Likewise.
62196         * modules/strverscmp (Makefile.am): Likewise.
62197         * modules/sys_socket (Makefile.am): Likewise.
62198         * modules/sys_stat (Makefile.am): Likewise.
62199         * modules/sysexits (Makefile.am): Likewise.
62200         * modules/time_r (Makefile.am): Likewise.
62201         * modules/timegm (Makefile.am): Likewise.
62202         * modules/timespec (Makefile.am): Likewise.
62203         * modules/tmpfile-safer (Makefile.am): Likewise.
62204         * modules/trim (Makefile.am): Likewise.
62205         * modules/unistd-safer (Makefile.am): Likewise.
62206         * modules/unlinkdir (Makefile.am): Likewise.
62207         * modules/unlocked-io (Makefile.am): Likewise.
62208         * modules/userspec (Makefile.am): Likewise.
62209         * modules/utime (Makefile.am): Likewise.
62210         * modules/utimecmp (Makefile.am): Likewise.
62211         * modules/utimens (Makefile.am): Likewise.
62212         * modules/vasnprintf (Makefile.am): Likewise.
62213         * modules/vasprintf (Makefile.am): Likewise.
62214         * modules/vsnprintf (Makefile.am): Likewise.
62215         * modules/xalloc (Makefile.am): Likewise.
62216         * modules/xgetcwd (Makefile.am): Likewise.
62217         * modules/xnanosleep (Makefile.am): Likewise.
62218         * modules/xreadlink (Makefile.am): Likewise.
62219         * modules/xstrtod (Makefile.am): Likewise.
62220         * modules/xstrtol (Makefile.am): Likewise.
62221         * modules/xstrtold (Makefile.am): Likewise.
62222         * modules/yesno (Makefile.am): Likewise.
62223         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
62224
62225 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62226
62227         * modules/error (Makefile.am): Distribute files through
62228         EXTRA_DIST, not lib_SOURCES.
62229
62230 2006-10-12  Eric Blake  <ebb9@byu.net>
62231
62232         * modules/error (Makefile.am): Distribute files in /lib.
62233         * modules/obstack (Makefile.am): Likewise.
62234
62235 2006-10-12  Bruno Haible  <bruno@clisp.org>
62236
62237         * modules/acl (Makefile.am): Distribute all files in lib/ through
62238         EXTRA_DIST.
62239         * modules/arcfour (Makefile.am): Likewise.
62240         * modules/arctwo (Makefile.am): Likewise.
62241         * modules/argmatch (Makefile.am): Likewise.
62242         * modules/argz (Makefile.am): Likewise.
62243         * modules/atexit (Makefile.am): Likewise.
62244         * modules/backupfile (Makefile.am): Likewise.
62245         * modules/c-strtod (Makefile.am): Likewise.
62246         * modules/c-strtold (Makefile.am): Likewise.
62247         * modules/calloc (Makefile.am): Likewise.
62248         * modules/canon-host (Makefile.am): Likewise.
62249         * modules/canonicalize (Makefile.am): Likewise.
62250         * modules/chdir-long (Makefile.am): Likewise.
62251         * modules/chdir-safer (Makefile.am): Likewise.
62252         * modules/check-version (Makefile.am): Likewise.
62253         * modules/chown (Makefile.am): Likewise.
62254         * modules/cloexec (Makefile.am): Likewise.
62255         * modules/close-stream (Makefile.am): Likewise.
62256         * modules/closeout (Makefile.am): Likewise.
62257         * modules/crc (Makefile.am): Likewise.
62258         * modules/cycle-check (Makefile.am): Likewise.
62259         * modules/des (Makefile.am): Likewise.
62260         * modules/dirfd (Makefile.am): Likewise.
62261         * modules/dirname (Makefile.am): Likewise.
62262         * modules/dup2 (Makefile.am): Likewise.
62263         * modules/euidaccess (Makefile.am): Likewise.
62264         * modules/exclude (Makefile.am): Likewise.
62265         * modules/exitfail (Makefile.am): Likewise.
62266         * modules/fcntl-safer (Makefile.am): Likewise.
62267         * modules/file-type (Makefile.am): Likewise.
62268         * modules/fileblocks (Makefile.am): Likewise.
62269         * modules/filemode (Makefile.am): Likewise.
62270         * modules/filenamecat (Makefile.am): Likewise.
62271         * modules/fnmatch (Makefile.am): Likewise.
62272         * modules/fopen-safer (Makefile.am): Likewise.
62273         * modules/fpending (Makefile.am): Likewise.
62274         * modules/fprintftime (Makefile.am): Likewise.
62275         * modules/free (Makefile.am): Likewise.
62276         * modules/fsusage (Makefile.am): Likewise.
62277         * modules/ftruncate (Makefile.am): Likewise.
62278         * modules/fts (Makefile.am): Likewise.
62279         * modules/gc (Makefile.am): Likewise.
62280         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
62281         * modules/getaddrinfo (Makefile.am): Likewise.
62282         * modules/getcwd (Makefile.am): Likewise.
62283         * modules/getdelim (Makefile.am): Likewise.
62284         * modules/getdomainname (Makefile.am): Likewise.
62285         * modules/getgroups (Makefile.am): Likewise.
62286         * modules/gethostname (Makefile.am): Likewise.
62287         * modules/gethrxtime (Makefile.am): Likewise.
62288         * modules/getline (Makefile.am): Likewise.
62289         * modules/getloadavg (Makefile.am): Likewise.
62290         * modules/getlogin_r (Makefile.am): Likewise.
62291         * modules/getopt (Makefile.am): Likewise.
62292         * modules/getpass (Makefile.am): Likewise.
62293         * modules/getpass-gnu (Makefile.am): Likewise.
62294         * modules/getsubopt (Makefile.am): Likewise.
62295         * modules/gettime (Makefile.am): Likewise.
62296         * modules/gettimeofday (Makefile.am): Likewise.
62297         * modules/getugroups (Makefile.am): Likewise.
62298         * modules/getusershell (Makefile.am): Likewise.
62299         * modules/glob (Makefile.am): Likewise.
62300         * modules/group-member (Makefile.am): Likewise.
62301         * modules/hard-locale (Makefile.am): Likewise.
62302         * modules/hash (Makefile.am): Likewise.
62303         * modules/hmac-md5 (Makefile.am): Likewise.
62304         * modules/hmac-sha1 (Makefile.am): Likewise.
62305         * modules/human (Makefile.am): Likewise.
62306         * modules/idcache (Makefile.am): Likewise.
62307         * modules/imaxabs (Makefile.am): Likewise.
62308         * modules/imaxdiv (Makefile.am): Likewise.
62309         * modules/inet_ntop (Makefile.am): Likewise.
62310         * modules/inet_pton (Makefile.am): Likewise.
62311         * modules/inttostr (Makefile.am): Likewise.
62312         * modules/isapipe (Makefile.am): Likewise.
62313         * modules/lchown (Makefile.am): Likewise.
62314         * modules/long-options (Makefile.am): Likewise.
62315         * modules/lstat (Makefile.am): Likewise.
62316         * modules/malloc (Makefile.am): Likewise.
62317         * modules/mathl (Makefile.am): Likewise.
62318         * modules/mbchar (Makefile.am): Likewise.
62319         * modules/md2 (Makefile.am): Likewise.
62320         * modules/md4 (Makefile.am): Likewise.
62321         * modules/md5 (Makefile.am): Likewise.
62322         * modules/memcasecmp (Makefile.am): Likewise.
62323         * modules/memchr (Makefile.am): Likewise.
62324         * modules/memcmp (Makefile.am): Likewise.
62325         * modules/memcoll (Makefile.am): Likewise.
62326         * modules/memcpy (Makefile.am): Likewise.
62327         * modules/memmem (Makefile.am): Likewise.
62328         * modules/memmove (Makefile.am): Likewise.
62329         * modules/mempcpy (Makefile.am): Likewise.
62330         * modules/memrchr (Makefile.am): Likewise.
62331         * modules/memset (Makefile.am): Likewise.
62332         * modules/memxor (Makefile.am): Likewise.
62333         * modules/mkancesdirs (Makefile.am): Likewise.
62334         * modules/mkdir (Makefile.am): Likewise.
62335         * modules/mkdir-p (Makefile.am): Likewise.
62336         * modules/mkdtemp (Makefile.am): Likewise.
62337         * modules/mkstemp (Makefile.am): Likewise.
62338         * modules/mktime (Makefile.am): Likewise.
62339         * modules/modechange (Makefile.am): Likewise.
62340         * modules/mountlist (Makefile.am): Likewise.
62341         * modules/nanosleep (Makefile.am): Likewise.
62342         * modules/openat (Makefile.am): Likewise.
62343         * modules/pagealign_alloc (Makefile.am): Likewise.
62344         * modules/physmem (Makefile.am): Likewise.
62345         * modules/poll (Makefile.am): Likewise.
62346         * modules/posixtm (Makefile.am): Likewise.
62347         * modules/posixver (Makefile.am): Likewise.
62348         * modules/putenv (Makefile.am): Likewise.
62349         * modules/quote (Makefile.am): Likewise.
62350         * modules/quotearg (Makefile.am): Likewise.
62351         * modules/raise (Makefile.am): Likewise.
62352         * modules/read-file (Makefile.am): Likewise.
62353         * modules/readline (Makefile.am): Likewise.
62354         * modules/readlink (Makefile.am): Likewise.
62355         * modules/readtokens (Makefile.am): Likewise.
62356         * modules/readutmp (Makefile.am): Likewise.
62357         * modules/realloc (Makefile.am): Likewise.
62358         * modules/regex (Makefile.am): Likewise.
62359         * modules/rename (Makefile.am): Likewise.
62360         * modules/rename-dest-slash (Makefile.am): Likewise.
62361         * modules/rijndael (Makefile.am): Likewise.
62362         * modules/rmdir (Makefile.am): Likewise.
62363         * modules/rpmatch (Makefile.am): Likewise.
62364         * modules/safe-read (Makefile.am): Likewise.
62365         * modules/safe-write (Makefile.am): Likewise.
62366         * modules/same (Makefile.am): Likewise.
62367         * modules/save-cwd (Makefile.am): Likewise.
62368         * modules/savedir (Makefile.am): Likewise.
62369         * modules/setenv (Makefile.am): Likewise.
62370         * modules/settime (Makefile.am): Likewise.
62371         * modules/sha1 (Makefile.am): Likewise.
62372         * modules/sig2str (Makefile.am): Likewise.
62373         * modules/snprintf (Makefile.am): Likewise.
62374         * modules/stdlib-safer (Makefile.am): Likewise.
62375         * modules/stpcpy (Makefile.am): Likewise.
62376         * modules/stpncpy (Makefile.am): Likewise.
62377         * modules/strcase (Makefile.am): Likewise.
62378         * modules/strcasestr (Makefile.am): Likewise.
62379         * modules/strchrnul (Makefile.am): Likewise.
62380         * modules/strcspn (Makefile.am): Likewise.
62381         * modules/strdup (Makefile.am): Likewise.
62382         * modules/strerror (Makefile.am): Likewise.
62383         * modules/strftime (Makefile.am): Likewise.
62384         * modules/strndup (Makefile.am): Likewise.
62385         * modules/strnlen (Makefile.am): Likewise.
62386         * modules/strpbrk (Makefile.am): Likewise.
62387         * modules/strsep (Makefile.am): Likewise.
62388         * modules/strstr (Makefile.am): Likewise.
62389         * modules/strtod (Makefile.am): Likewise.
62390         * modules/strtoimax (Makefile.am): Likewise.
62391         * modules/strtok_r (Makefile.am): Likewise.
62392         * modules/strtol (Makefile.am): Likewise.
62393         * modules/strtoll (Makefile.am): Likewise.
62394         * modules/strtoul (Makefile.am): Likewise.
62395         * modules/strtoull (Makefile.am): Likewise.
62396         * modules/strtoumax (Makefile.am): Likewise.
62397         * modules/strverscmp (Makefile.am): Likewise.
62398         * modules/time_r (Makefile.am): Likewise.
62399         * modules/timegm (Makefile.am): Likewise.
62400         * modules/tmpfile-safer (Makefile.am): Likewise.
62401         * modules/unistd-safer (Makefile.am): Likewise.
62402         * modules/unlinkdir (Makefile.am): Likewise.
62403         * modules/userspec (Makefile.am): Likewise.
62404         * modules/utime (Makefile.am): Likewise.
62405         * modules/utimecmp (Makefile.am): Likewise.
62406         * modules/utimens (Makefile.am): Likewise.
62407         * modules/vasnprintf (Makefile.am): Likewise.
62408         * modules/vasprintf (Makefile.am): Likewise.
62409         * modules/vsnprintf (Makefile.am): Likewise.
62410         * modules/xalloc (Makefile.am): Likewise.
62411         * modules/xgetcwd (Makefile.am): Likewise.
62412         * modules/xnanosleep (Makefile.am): Likewise.
62413         * modules/xreadlink (Makefile.am): Likewise.
62414         * modules/xstrtod (Makefile.am): Likewise.
62415         * modules/xstrtol (Makefile.am): Likewise.
62416         * modules/xstrtold (Makefile.am): Likewise.
62417         * modules/yesno (Makefile.am): Likewise.
62418
62419 2006-10-12  Jim Meyering  <jim@meyering.net>
62420
62421         * m4/getloadavg.m4: Revert the change below.
62422
62423         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
62424         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
62425         fail with a symlink, which is what coreutils' ./bootstrap now
62426         creates by default.
62427
62428 2006-10-12  Bruno Haible  <bruno@clisp.org>
62429
62430         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
62431         mingw.
62432         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
62433         MSVC and mingw explicitly.
62434
62435 2006-10-11  Simon Josefsson  <jas@extundo.com>
62436             Bruno Haible  <bruno@clisp.org>
62437
62438         Add support for multiple gnulib-tool invocations in the scope of a
62439         single configure.ac file.
62440         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
62441         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
62442         with the same contents as the _LIBADD variable.
62443         (func_emit_initmacro_start, func_emit_initmacro_end,
62444         func_emit_initmacro_done): New functions.
62445         (func_import, func_create_testdir): Invoke them. Allow the identifiers
62446         gl_LIBOBJS and gl_LTLIBOBJS.
62447
62448 2006-10-11  Bruno Haible  <bruno@clisp.org>
62449
62450         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
62451         (func_create_testdir): Don't create po/Makefile.am, don't invoke
62452         autoreconf. Instead, invoke autopoint explicitly but move back the
62453         *.m4 files from gnulib.
62454
62455 2006-10-11  Bruno Haible  <bruno@clisp.org>
62456
62457         * gnulib-tool (func_usage): Make module names after --create-testdir
62458         optional.
62459         (func_create_testdir): If no module was specified, use nearly all
62460         modules.
62461
62462 2006-10-12  Jim Meyering  <jim@meyering.net>
62463
62464         Big performance improvement for fts-based tools that use FTS_NOSTAT.
62465         Avoid spurious inode-mismatch problems on non-POSIX file systems.
62466         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
62467         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
62468         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
62469         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
62470         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
62471         (fts_set_stat_required): New function.
62472         (fts_open): Defer the calls to fts_stat, if possible or requested.
62473         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
62474         into fts_stat itself.
62475         (fts_read): Perform any required (deferred) fts_stat call.
62476         (fts_build): Likewise, for the directory we're about to open and read.
62477         In the readdir loop, carefully decide whether each entry will require
62478         an eventual call to fts_stat, using dirent.d_type info if available.
62479         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
62480         a command line argument into this function.  Update all callers.
62481         Map a return value of FTS_DOT to FTS_D for a command line argument.
62482         * modules/fts (Depends-on): Add d-type.  Alphabetize.
62483         Thanks to Miklos Szeredi for his tenacity and for the initial
62484         bug report about "find" failing on a FUSE-based file system.
62485
62486         * lib/fts.c (fts_open): Use consistent indentation.
62487
62488 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62489
62490         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
62491         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
62492         reported by Jim Meyering.  All uses of cache variables renamed
62493         to match Autoconf's.
62494         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
62495         the other one.
62496
62497         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
62498         Fix misspelling in diagnostic.
62499
62500 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62501
62502         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
62503         defined.  Problem reported by Matthew Woehlke.
62504
62505         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
62506         Add support for Tandem NonStop R series.
62507         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
62508         Use new macro.
62509
62510         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
62511         (has_trailing_slash): Omit size arg; all callers changed.
62512         Omit 'inline', since it doesn't help performance and we'd
62513         need to configure it.
62514         Don't count //, ///, etc. as having a trailing slash.
62515         As a side effect, this removes a C99ism reported by Matthew Woehlke.
62516         (rpl_rename_dest_slash): On failure, use rename's errno rather
62517         than (in some cases) an incorrect or junk errno.
62518         Simplify code by removing need to compute length; this does
62519         cause it to make two passes instead of one over the file name,
62520         but it's worth it.
62521
62522         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
62523         change, since Autoconf's version may no longer be appropriate now
62524         that we are using CVS Autoconf's version.  Add support for Tandem.
62525
62526 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62527             Bruno Haible  <bruno@clisp.org>
62528
62529         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
62530         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
62531         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
62532         gl_AC_TYPE_LONG_LONG.
62533
62534         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
62535         instead of HAVE_LONG_LONG.
62536         * lib/printf-args.c (printf_fetchargs): Likewise.
62537         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
62538         * lib/vasnprintf.c (VASNPRINTF): Likewise.
62539         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
62540         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
62541         gl_AC_TYPE_LONG_LONG.
62542
62543 2006-10-11  Bruno Haible  <bruno@clisp.org>
62544
62545         * m4/longlong.m4: Add comments.
62546         * m4/ulonglong.m4: Likewise.
62547
62548 2006-10-10  Bruno Haible  <bruno@clisp.org>
62549
62550         Make it possible to #define stpcpy, strdup to aliases.
62551         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
62552         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
62553
62554 2006-10-10  Bruno Haible  <bruno@clisp.org>
62555
62556         Make it possible to #define gcd to an alias.
62557         * lib/gcd.c: Include config.h.
62558
62559 2006-10-10  Bruno Haible  <bruno@clisp.org>
62560
62561         Make it possible to #define c_isascii to an alias.
62562         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
62563         defined. Undefine the macros before defining them, to avoid gcc
62564         warnings.
62565         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
62566         define NO_C_CTYPE_MACROS early.
62567
62568 2006-10-10  Bruno Haible  <bruno@clisp.org>
62569
62570         Make it possible to #define set_program_name to an alias.
62571         * lib/progname.c: Don't undefine set_program_name; instead, undefine
62572         ENABLE_RELOCATABLE early.
62573
62574 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
62575
62576         Port to Tandem NSK OSS, which has 64-bit signed int but at most
62577         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
62578         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
62579         More generally, don't assume that 64-bit signed int is available
62580         if unsigned int is, and vice versa.
62581         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
62582         unsigned symbols, not on their signed counterparts.
62583         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
62584         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
62585         (UINT64_C, UINTMAX_C):
62586         Likewise.
62587         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
62588         unsigned counterparts.
62589         (Have_long_long, Unsigned): New macros.
62590         (Int): Renamed from INT.
62591         (strtoimax): Use the new macros.
62592         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
62593         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
62594         * modules/inttypes (inttypes.h): Substitute
62595         HAVE_UNSIGNED_LONG_LONG_INT.
62596         * modules/stdint (stdint.h): Likewise.
62597         (Files): Add m4/ulonglong.m4.
62598
62599 2006-10-10  Bruno Haible  <bruno@clisp.org>
62600
62601         Fix a gcc -Wshadow warning.
62602         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
62603         to 'bucket'.
62604         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
62605         gl_linked_indexof_from_to): Likewise.
62606         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
62607         Likewise.
62608         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
62609         Likewise.
62610         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
62611         Reported by Eric Blake.
62612
62613 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
62614
62615         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
62616         for NetBSD.  Problem reported by Bruno Haible.
62617
62618 2006-10-09  Jim Meyering  <jim@meyering.net>
62619
62620         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
62621         Patch from Bruno Haible.
62622
62623 2006-10-09  Jim Meyering  <jim@meyering.net>
62624
62625         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
62626         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
62627         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
62628
62629 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62630
62631         Don't include <config.h> twice; this doesn't work in some cases,
62632         e.g., when config.h has "#define intmax_t long long int" and
62633         we include <config.h>, <inttypes.h>, <config.h> in that order.
62634         Problem reported by Matthew Woehlke in:
62635         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
62636         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
62637         * lib/fts-cycle.c: Don't include config.h.
62638         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
62639         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
62640         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
62641         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
62642         inttypes.h.
62643         * lib/xstrtoumax.c: Likewise.
62644         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
62645         __strtol and the like, so that this module is more like its siblings.
62646         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
62647         Remove; no longer needed now that we assume gnulib inttypes.h.
62648
62649 2006-10-08  Bruno Haible  <bruno@clisp.org>
62650
62651         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
62652         option.
62653
62654 2006-10-07  Jim Meyering  <jim@meyering.net>
62655
62656         * modules/inttypes (inttypes.h): Revert what seems to have been
62657         an inadvertent part of today's change: use "|", not "/" in the
62658         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
62659
62660 2006-10-07  Bruno Haible  <bruno@clisp.org>
62661
62662         * modules/sublist: New file.
62663
62664 2006-10-07  Bruno Haible  <bruno@clisp.org>
62665
62666         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
62667         * modules/argz (argz.h): Likewise.
62668         * modules/arpa_inet (arpa/inet.h): Likewise.
62669         * modules/byteswap (byteswap.h): Likewise.
62670         * modules/configmake (configmake.h): Likewise.
62671         * modules/fcntl (fcntl.h): Likewise.
62672         * modules/fnmatch (fnmatch.h): Likewise.
62673         * modules/getopt (getopt.h): Likewise.
62674         * modules/glob (glob.h): Likewise.
62675         * modules/inttypes (inttypes.h): Likewise.
62676         * modules/netinet_in (netinet/in.h): Likewise.
62677         * modules/poll (poll.h): Likewise.
62678         * modules/stdbool (stdbool.h): Likewise.
62679         * modules/stdint (stdint.h): Likewise.
62680         * modules/sys_select (sys/select.h): Likewise.
62681         * modules/sys_socket (sys/socket.h): Likewise.
62682         * modules/sys_stat (sys/stat.h): Likewise.
62683         * modules/sysexits (sysexits.h): Likewise.
62684         * modules/unistd (unistd.h): Likewise.
62685         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62686         Add a "DO NOT EDIT" comment to the generated file.
62687         (func_import): Likewise for gnulib-comp.m4.
62688
62689 2006-10-07  Bruno Haible  <bruno@clisp.org>
62690
62691         * lib/gl_sublist.h: New file.
62692         * lib/gl_sublist.c: New file.
62693
62694 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
62695
62696         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
62697         name (relative to the original working directory) and the file
62698         name component (relative to the temporary working directory).  All
62699         callers changed.
62700         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
62701         * lib/mkdir-p.c (make_dir_parents): Likewise.
62702         * lib/mkdir-p.h (make_dir_parents): Likewise.
62703
62704 2006-10-06  Eric Blake  <ebb9@byu.net>
62705
62706         Define several macros for use by the clean-temp module.
62707         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
62708         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
62709         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
62710
62711         * lib/clean-temp.h (close_stream_temp): New declaration.
62712         * lib/clean-temp.c (includes): Pull in headers according to what
62713         other modules are in use.
62714         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
62715
62716 2006-10-06  Bruno Haible  <bruno@clisp.org>
62717
62718         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
62719         instead of fopen, fwriteerror.
62720
62721 2006-10-06  Bruno Haible  <bruno@clisp.org>
62722
62723         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
62724         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
62725         int.
62726         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
62727         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
62728         Return an error indicator.
62729         Suggested by Eric Blake.
62730
62731 2006-10-06  Bruno Haible  <bruno@clisp.org>
62732
62733         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
62734         Reported by Eric Blake.
62735
62736 2006-10-06  Bruno Haible  <bruno@clisp.org>
62737
62738         * modules/closeout (Description): Mention stderr too.
62739
62740 2006-10-06  Bruno Haible  <bruno@clisp.org>
62741         and Paul Eggert  <eggert@cs.ucla.edu>
62742
62743         * lib/closeout.c (close_stdout): Also close stderr.
62744         * lib/closeout.h: Update comment.
62745
62746 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62747
62748         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
62749         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
62750         * lib/dirchownmod.c: Include lchown.h.
62751         * lib/lchown.c: Don't include files that lchown.h now includes.
62752         Don't declare chown, since lchown.h now does that.
62753         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
62754         (lchown): Define to rpl_chown if lchown is declared but
62755         does not exist.  Declare using a prototype if lchown is not
62756         declared.  Add a copyright notice.
62757         * lib/mkstemp.h: Include <unistd.h>.
62758         * lib/openat.c: Include lchown.h.
62759
62760         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
62761         we now test for that separately.
62762         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
62763         rather than O_NOFOLLOW, when testing whether it's possible to
62764         avoid a race condition reliably.
62765         * lib/savewd.c (savewd_chdir): Likewise.
62766
62767         Remove macros that are no longer needed now that stdint.h is
62768         reliable.
62769         * lib/fsusage.c (UINTMAX_MAX): Remove.
62770         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
62771         * lib/utimecmp.c (SIZE_MAX): Remove.
62772
62773         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
62774
62775         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
62776         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
62777         O_NOATIME works.
62778
62779 2006-10-05  Bruno Haible  <bruno@clisp.org>
62780
62781         * lib/gl_list.h (gl_sortedlist_search_from_to,
62782         gl_sortedlist_indexof_from_to): New declarations.
62783         (gl_list_implementation): New fields sortedlist_search_from_to,
62784         sortedlist_indexof_from_to.
62785         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
62786         inline functions.
62787         * lib/gl_list.c (gl_sortedlist_search_from_to,
62788         gl_sortedlist_indexof_from_to): New functions.
62789         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
62790         function.
62791         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
62792         (gl_array_sortedlist_search_from_to): New function.
62793         (gl_array_list_implementation): Update.
62794         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
62795         function.
62796         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
62797         (gl_carray_sortedlist_search_from_to): New function.
62798         (gl_carray_list_implementation): Update.
62799         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
62800         gl_linked_sortedlist_indexof_from_to): New functions.
62801         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62802         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62803         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
62804         gl_tree_sortedlist_indexof_from_to): New functions.
62805         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62806         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62807         Update.
62808         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62809         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
62810         Update.
62811
62812 2006-10-05  Bruno Haible  <bruno@clisp.org>
62813
62814         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
62815         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
62816         (struct gl_list_implementation): Add fields search_from_to,
62817         indexof_from_to. Remove fields search, indexof.
62818         (gl_list_search): Use the search_from_to method.
62819         (gl_list_search_from, gl_list_search_from_to): New functions.
62820         (gl_list_indexof): Use the indexof_from_to method.
62821         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
62822         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
62823         (gl_list_search_from, gl_list_search_from_to): New functions.
62824         (gl_list_indexof): Use the indexof_from_to method.
62825         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
62826         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
62827         gl_array_indexof. Add start_index, end_index arguments.
62828         (gl_array_search_from_to): Renamed from gl_array_search. Add
62829         start_index, end_index arguments.
62830         (gl_array_remove, gl_array_list_implementation): Update.
62831         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
62832         gl_carray_indexof. Add start_index, end_index arguments.
62833         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
62834         start_index, end_index arguments.
62835         (gl_carray_remove, gl_carray_list_implementation): Update.
62836         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
62837         gl_linked_search. Add start_index, end_index arguments.
62838         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
62839         start_index, end_index arguments.
62840         (gl_linked_remove): Update.
62841         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62842         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62843         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
62844         field to 'size_t'.
62845         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
62846         gl_tree_search. Add start_index, end_index arguments.
62847         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
62848         start_index, end_index arguments.
62849         (gl_tree_remove): Update.
62850         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62851         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62852         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
62853         function.
62854         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
62855         gl_tree_search. Add start_index, end_index arguments.
62856         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
62857         start_index, end_index arguments.
62858         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62859         Update.
62860         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
62861
62862 2006-10-05  Bruno Haible  <bruno@clisp.org>
62863
62864         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
62865
62866         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
62867         fwriteerror_temp): New declarations.
62868         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
62869         (descriptors): New variable.
62870         (cleanup): First, close the descriptors.
62871         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
62872         fclose_temp, fwriteerror_temp): New functions.
62873
62874 2006-10-04  Jim Meyering  <jim@meyering.net>
62875
62876         * lib/fts.c (fts_open): Tiny comment change.
62877
62878 2006-10-04  Bruno Haible  <bruno@clisp.org>
62879
62880         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
62881         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
62882         gl_LOCK_BODY.
62883         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
62884         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
62885         gl_LOCK_EARLY_BODY.
62886         (gl_LOCK): Require gl_LOCK_BODY.
62887
62888 2006-10-04  Bruno Haible  <bruno@clisp.org>
62889
62890         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
62891         (gl_oset_search_atleast): New declaration.
62892         (struct gl_oset_implementation): Add field 'search_atleast'.
62893         (gl_oset_search_atleast): New inline function.
62894         * lib/gl_oset.c (gl_oset_search_atleast): New function.
62895         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
62896         (gl_array_oset_implementation): Update.
62897         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
62898         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
62899         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
62900
62901 2006-10-04  Bruno Haible  <bruno@clisp.org>
62902
62903         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
62904
62905 2006-10-03  Bruno Haible  <bruno@clisp.org>
62906
62907         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
62908         from gl_avltreehash_list_implementation.
62909
62910 2006-10-03  Bruno Haible  <bruno@clisp.org>
62911
62912         * lib/gl_oset.c (gl_oset_add): Fix return type.
62913
62914 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
62915
62916         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
62917
62918 2006-10-02  Eric Blake  <ebb9@byu.net>
62919
62920         * modules/strnlen (Depends-on): Add extensions.
62921
62922 2006-10-02  Eric Blake  <ebb9@byu.net>
62923
62924         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
62925         definition in 2.60+.
62926
62927 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
62928
62929         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
62930         checks.
62931
62932 2006-10-02  Bruno Haible  <bruno@clisp.org>
62933
62934         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
62935         to the AUTOMAKE_OPTIONS.
62936         Reported by Jim Meyering.
62937
62938 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
62939
62940         Work around bug in Solaris 10 /proc file system:
62941         /proc/self/fd/NNN/.. isn't the parent directory of
62942         the directory whose file descriptor is NNN.  This needs to
62943         be worked around at run time, not compile time, since a
62944         program might be built on Solaris 8, where things work, and
62945         run on Solaris 10.
62946         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
62947         to use the following interface instead:
62948         (OPENAT_BUFFER_SIZE): New macro.
62949         (openat_proc_name): New function.
62950         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
62951         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
62952         Likewise.
62953         * lib/openat-proc.c: New file.
62954         * modules/openat (Files): Add lib/openat-proc.c.
62955         (Depends-on): Add same-inode, stdbool.
62956         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
62957
62958 2006-09-29  Bruno Haible  <bruno@clisp.org>
62959
62960         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
62961         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
62962         argument. Set stdout_closed before testing for ferror, not after.
62963         (fwriteerror, fwriteerror_no_ebadf): New functions.
62964
62965 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62966
62967         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
62968
62969 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
62970
62971         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
62972         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
62973
62974 2006-09-28  Jim Meyering  <jim@meyering.net>
62975
62976         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
62977         Include <unistd.h>.
62978
62979 2006-09-28  Bruno Haible  <bruno@clisp.org>
62980
62981         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
62982         * modules/linkedhash-list (Depends-on): Likewise.
62983         * modules/rbtreehash-list (Depends-on): Likewise.
62984
62985 2006-09-28  Bruno Haible  <bruno@clisp.org>
62986
62987         * lib/strndup.h: Simplify the redefinition of strndup.
62988         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
62989         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
62990
62991 2006-09-28  Bruno Haible  <bruno@clisp.org>
62992
62993         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
62994         * lib/gl_linkedhash_list.c: Likewise.
62995         * lib/gl_rbtreehash_list.c: Likewise.
62996
62997 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
62998
62999         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
63000         getaddrinfo.
63001
63002         * lib/__fpending.h: Don't include <stdio_ext.h> unless
63003         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
63004         it causes <stdio_ext.h> to cause a compile-time error.
63005         Problem reported by Nelson H. F. Beebe.
63006         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
63007         of HAVE_DECL___PENDING.
63008
63009         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
63010         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
63011         declaration.
63012
63013 2006-09-27  Jim Meyering  <jim@meyering.net>
63014
63015         This file could end up with a definition for a function
63016         named __strndup, rather than rpl_strndup on a system with
63017         incomplete weak_alias support.
63018         * lib/strndup.c (strndup): Rename from __strndup.
63019         Remove #defines that used to map __strndup to strndup.
63020         Don't use K&R prototypes.
63021         Remove LIBC-related code, since this file is not sync'd with glibc.
63022         * lib/strndup.h: Revamp, accordingly.
63023         * m4/strndup.m4: Modernize.
63024
63025 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
63026
63027         * modules/savewd (Depends-on): Add 'raise'.
63028         * lib/savewd.c: Include <signal.h>, for 'raise'.
63029
63030 2006-09-26  Jim Meyering  <jim@meyering.net>
63031
63032         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
63033         when we detect Darwin 8.7.0's acl_get_file bug.
63034         Rearrange to perform the new (below) run-test while $LIBS
63035         contains any acl-related library.  Set USE_ACL at the end.
63036         (gl_ACL_GET_FILE): New function.
63037
63038 2006-09-26  Eric Blake  <ebb9@byu.net>
63039
63040         * lib/verror.c: Include <config.h> unconditionally.
63041
63042 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
63043
63044         * modules/clock-time (Maintainer): Add self.
63045         * modules/getlogin_r (Depends-on): Add extensions.
63046
63047 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63048
63049         * modules/clock-time: New module.
63050         * modules/nanosleep (Depends-on): Add clock-time.
63051         * modules/gethrxtime (Depends-on): Likewise.
63052         * modules/gettime (Depends-on): Likewise.
63053         * modules/settime (Depends-on): Likewise.
63054
63055         * modules/fts-lgpl: Depend on openat.
63056         * modules/mkancesdirs: Depend on savewd.
63057         * modules/mkdir-p: Likewise.
63058
63059 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63060
63061         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
63062
63063         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
63064         `gl_have_arbitrary_file_name_length_limit' to
63065         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
63066         actually works between configure runs.
63067
63068 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63069             Bruno Haible  <bruno@clisp.org>
63070
63071         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
63072
63073 2006-09-25  Jim Meyering  <jim@meyering.net>
63074
63075         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
63076         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
63077
63078 2006-09-25  Eric Blake  <ebb9@byu.net>
63079
63080         * gnulib-tool (func_import, func_create_testdir): Fix typos in
63081         exec's in 2006-09-18 patch when shuffling fds.
63082
63083 2006-09-25  Bruno Haible  <bruno@clisp.org>
63084
63085         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
63086         Reported by Jim Meyering.
63087
63088 2006-09-24  Jim Meyering  <jim@meyering.net>
63089
63090         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
63091         compare a pointer against a literal "0".  That caused failures with
63092         at least HP-UX's hpcc.
63093
63094 2006-09-22  Simon Josefsson  <jas@extundo.com>
63095
63096         * modules/gc-sha1:
63097         * modules/gc-md4:
63098         * modules/gc-hmac-sha1:
63099         * modules/gc-hmac-md5:
63100         * modules/gc-des:
63101         * modules/gc-arcfour: Distribute more files.
63102
63103 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63104
63105         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
63106         (gl_linked_iterator_from_to): Initialize struct completely.
63107         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
63108         (gl_tree_iterator_from_to): Likewise
63109         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
63110         * lib/gl_array_list.c [lint] (gl_array_iterator)
63111         (gl_array_iterator_from_to): Likewise.
63112         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
63113         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
63114         (gl_carray_iterator_from_to): Likewise.
63115
63116         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
63117         * lib/md4.c (md4_process_block): Remove unused variable.
63118         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
63119         parentheses for clarity.
63120
63121 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63122
63123         * modules/bison-i18n (Depends-on): Add gettext.
63124
63125 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63126
63127         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
63128         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
63129         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
63130         also add missing comma that caused broken test.
63131         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
63132         stdlib.h, for `abort'.
63133         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
63134         variables.
63135         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
63136         include unistd.h if present, for `rmdir'.
63137         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
63138         variables.
63139         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
63140         in the process include standard headers for prototypes.
63141         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
63142         gets declared on GNU/Linux.
63143         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
63144         unistd.h, for `rmdir'.
63145         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
63146
63147         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
63148         always true.
63149         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
63150
63151         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
63152
63153 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63154
63155         * gnulib-tool (func_version): Create output all at once.  This
63156         may help avoid triggering unnecessary SIGPIPEs, and at any
63157         rate it doesn't hurt.
63158
63159 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63160             Bruno Haible  <bruno@clisp.org>
63161
63162         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
63163         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
63164         * m4/signed.m4 (bh_C_SIGNED): Likewise.
63165
63166         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
63167         (gl_FUNC_VASPRINTF): Invoke it.
63168
63169 2006-09-22  Bruno Haible  <bruno@clisp.org>
63170
63171         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
63172         getloadavg.c as first argument.
63173
63174 2006-09-22  Bruno Haible  <bruno@clisp.org>
63175
63176         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
63177         at the beginning of the gl_INIT macro.
63178         * modules/getloadavg (configure.ac): Pass $gl_source_base to
63179         gl_GETLOADAVG.
63180
63181 2006-09-22  Bruno Haible  <bruno@clisp.org>
63182
63183         * gnulib-tool (func_create_megatestdir): Don't include the config-h
63184         module.
63185         Suggested by Ralf Wildenhues.
63186
63187 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
63188
63189         Import this patch from libc:
63190
63191         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
63192
63193         * lib/regex_internal.c (re_string_reconstruct): Handle
63194         offset < pstr->valid_raw_len && pstr->offsets_needed case.
63195         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
63196         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
63197         re_string_context_at.
63198
63199         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
63200         now requires it.
63201         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
63202         gl_REGEX now does it for us.
63203         (gl_REGEX): Add test taken from
63204         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
63205
63206         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
63207         Check that large offsets work.  Modernize Autoconf usages.
63208         Prefer "yes" to mean a good thing rather than a bad.
63209         Don't put "#define mkstemp" in config.h, as this might interfere
63210         with standard system headers that "#define mkstemp mkstemp64".
63211
63212         * modules/mkstemp (Depends-on): Add extensions, so that
63213         mkstemp is visible on some platforms.
63214         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
63215         (Include): Change to "mkstemp.h" from <stdlib.h>.
63216         (Files): Add mkstemp.h.
63217
63218         * lib/mkstemp.h: New file, since some standard headers
63219         #define mkstemp.
63220         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
63221         Include "mkstemp.h".
63222         Make the _LIBC code resemble glibc original more,
63223         e.g., use K&R style.
63224         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
63225         (mkstemp): Remove, since mkstemp.h does this for us.
63226         * lib/stdlib--.h: Include mkstemp.h.
63227
63228         Import this patch from libc:
63229
63230         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
63231
63232         * lib/tempname.c (__gen_tempname): Change attempts_min
63233         into a macro.  Use preprocessor to decide how to initialize
63234         attempts [Coverity CID 67].
63235
63236 2006-09-20  Bruno Haible  <bruno@clisp.org>
63237
63238         * lib/mkdtemp.c: Import from libc.
63239         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
63240                 * sysdeps/posix/tempname.c (__gen_tempname): Change
63241                 attempts_min into a macro.  Use preprocessor to decide how to
63242                 initialize attempts [Coverity CID 67].
63243         2001-11-27  Paul Eggert  <eggert@twinsun.com>
63244                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
63245                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
63246
63247 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63248
63249         * gnulib-tool (func_exit): New function, to allow to pass the
63250         exit status portably through the trap.  Use everywhere.
63251         (--help, --version): Signal a write error.
63252         (trap): catch SIGPIPE, for write errors.
63253         Exit at the end of the trap, with the correct exit status.
63254
63255 2006-09-19  Karl Berry  <karl@gnu.org>
63256
63257         * doc/gnulib.texi: note about the license texinfo files.
63258
63259 2006-09-19  Eric Blake  <ebb9@byu.net>
63260
63261         * gnulib-tool: Avoid space-tab.
63262
63263 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
63264
63265         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
63266         that prevented coreutils 6.1 from building.  Problem reported
63267         by Petter Reinholdtsen.
63268
63269 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
63270
63271         * gnulib-tool (avoidlist): Fix typo that broke options like
63272         --avoid=lock that are used by coreutils bootstrap.
63273
63274 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
63275
63276         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
63277         more systematically.
63278
63279 2006-09-18  Jim Meyering  <jim@meyering.net>
63280
63281         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
63282
63283 2006-09-18  Bruno Haible  <bruno@clisp.org>
63284
63285         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
63286
63287 2006-09-18  Bruno Haible  <bruno@clisp.org>
63288
63289         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
63290         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
63291         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
63292         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
63293         * m4/gettext.m4: Require autoconf >= 2.52.
63294         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
63295         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
63296         of gl_cv_header_inttypes_h.
63297
63298 2006-09-18  Bruno Haible  <bruno@clisp.org>
63299
63300         * lib/javaversion.c: Include configmake.h.
63301
63302 2006-09-18  Bruno Haible  <bruno@clisp.org>
63303
63304         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
63305         avoid that the while loops be executed in a subshell.
63306
63307 2006-09-18  Bruno Haible  <bruno@clisp.org>
63308
63309         * MODULES.html.sh (func_module): Break long lines.
63310         Suggested by Bruce Korb <bkorb@gnu.org>.
63311
63312 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63313
63314         Speed up by a factor of 1.12.
63315         * gnulib-tool (nl): New variable.
63316         (func_import): Rewrite include directive extraction to only read each
63317         directive once.
63318
63319 2006-09-17  Bruno Haible  <bruno@clisp.org>
63320
63321         * modules/javaversion (Makefile.am): Remove DEFS setting.
63322         (Depends-on): Add configmake, for PKGDATADIR definition.
63323
63324 2006-09-17  Bruno Haible  <bruno@clisp.org>
63325
63326         * gnulib-tool (func_create_testdir): Rewrite all files at once.
63327
63328 2006-09-17  Bruno Haible  <bruno@clisp.org>
63329
63330         * gnulib-tool (func_append): New function, stolen from libtool.m4.
63331         (func_modules_transitive_closure, func_modules_add_dummy,
63332         func_modules_to_filelist, func_import, func_create_testdir,
63333         func_create_megatestdir, ...): Use it wherever possible.
63334         Suggested by Ralf Wildenhues.
63335
63336 2006-09-16  Karl Berry  <karl@gnu.org>
63337
63338         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
63339         to avoid sectioning errors.
63340         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
63341         [ifinfo]: blank line after @center-ed titles.
63342         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
63343         Spell FSF address consistently with others.
63344         (These changes approved by rms.)
63345
63346 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63347
63348         Speed up by a factor of 1.61.
63349         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
63350         already checked module names again.
63351
63352 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63353
63354         Speed up by a factor of 1.13.
63355         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
63356         for new_files, and the input to func_add_or_update.
63357
63358 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63359
63360         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
63361         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
63362
63363 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63364
63365         * modules/mkancesdirs (Depends-on): Add fcntl.
63366         * modules/savewd: New file.
63367         * MODULES.html.sh (File system functions): Add savewd.
63368
63369         * modules/configmake (Makefile.am): Add support for the
63370         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
63371
63372 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63373
63374         * m4/savewd.m4: New file.
63375
63376 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63377
63378         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
63379         (dirchownmod): New arg FD.  All callers changed.
63380         Use FD rather than opening the directory ourself, as opening is
63381         now the caller's responsibility.
63382         * lib/dirchownmod.h: Likewise.
63383         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
63384         hosts that require <sys/types.h> before <sys/stat.h>.  Include
63385         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
63386         (test_dir): Remove.
63387         (mkancesdirs): Return length of prefix of FILE that has already
63388         been made, or -2 if there is a child doing the work.  Redo
63389         algorithm so that it is O(N) rather than O(N**2).  Optimize away
63390         ".", and treat ".." specially since it might stray back into
63391         already-created areas.  Use a subprocess if necessary.  New arg
63392         WD; all users changed.  MAKE_DIR function should now return 1
63393         if it creates a directory that is not readable.  Return -2 if
63394         a child process is spun off.
63395         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
63396         Adjust signature to match code.
63397         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
63398         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
63399         all users changed.
63400         * lib/savewd.c, lib/savewd.h: New files.
63401
63402 2006-09-15  Jim Meyering  <jim@meyering.net>
63403
63404         * modules/rename-dest-slash: New module.
63405         * MODULES.html.sh (posix_compat): Add it here.
63406
63407         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
63408
63409 2006-09-15  Jim Meyering  <jim@meyering.net>
63410
63411         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
63412         file.
63413
63414         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
63415
63416 2006-09-15  Jim Meyering  <jim@meyering.net>
63417
63418         * lib/rename-dest-slash.c (has_trailing_slash): Use
63419         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
63420         (rpl_rename_dest_slash): Perform the cheaper trailing slash
63421         test before testing whether SRC is a directory.
63422         Suggestions from Bruno Haible.
63423
63424         Avoid a warning about an unused variable.
63425         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
63426         into the #ifdef block where it's used.
63427
63428         * lib/rename-dest-slash.c: New file.
63429
63430 2006-09-14  Bruno Haible  <bruno@clisp.org>
63431
63432         * lib/allocsa.c: Include <config.h> unconditionally.
63433         * lib/asnprintf.c: Likewise.
63434         * lib/asprintf.c: Likewise.
63435         * lib/c-strcasecmp.c: Likewise.
63436         * lib/c-strcasestr.c: Likewise.
63437         * lib/c-strncasecmp.c: Likewise.
63438         * lib/c-strstr.c: Likewise.
63439         * lib/classpath.c: Likewise.
63440         * lib/clean-temp.c: Likewise.
63441         * lib/concatpath.c: Likewise.
63442         * lib/copy-file.c: Likewise.
63443         * lib/csharpcomp.c: Likewise.
63444         * lib/csharpexec.c: Likewise.
63445         * lib/execute.c: Likewise.
63446         * lib/fatal-signal.c: Likewise.
63447         * lib/findprog.c: Likewise.
63448         * lib/fwriteerror.c: Likewise.
63449         * lib/gl_array_list.c: Likewise.
63450         * lib/gl_array_oset.c: Likewise.
63451         * lib/gl_avltree_list.c: Likewise.
63452         * lib/gl_avltree_oset.c: Likewise.
63453         * lib/gl_avltreehash_list.c: Likewise.
63454         * lib/gl_carray_list.c: Likewise.
63455         * lib/gl_linked_list.c: Likewise.
63456         * lib/gl_linkedhash_list.c: Likewise.
63457         * lib/gl_list.c: Likewise.
63458         * lib/gl_oset.c: Likewise.
63459         * lib/gl_rbtree_list.c: Likewise.
63460         * lib/gl_rbtree_oset.c: Likewise.
63461         * lib/gl_rbtreehash_list.c: Likewise.
63462         * lib/imaxabs.c: Likewise.
63463         * lib/imaxdiv.c: Likewise.
63464         * lib/javacomp.c: Likewise.
63465         * lib/javaexec.c: Likewise.
63466         * lib/javaversion.c: Likewise.
63467         * lib/linebreak.c: Likewise.
63468         * lib/localcharset.c: Likewise.
63469         * lib/lock.c: Likewise.
63470         * lib/mbchar.c: Likewise.
63471         * lib/mbswidth.c: Likewise.
63472         * lib/mkdtemp.c: Likewise.
63473         * lib/pipe.c: Likewise.
63474         * lib/printf-args.c: Likewise.
63475         * lib/printf-parse.c: Likewise.
63476         * lib/progname.c: Likewise.
63477         * lib/progreloc.c: Likewise.
63478         * lib/readlink.c: Likewise.
63479         * lib/sh-quote.c: Likewise.
63480         * lib/stpcpy.c: Likewise.
63481         * lib/stpncpy.c: Likewise.
63482         * lib/strcasecmp.c: Likewise.
63483         * lib/strcasestr.c: Likewise.
63484         * lib/strcspn.c: Likewise.
63485         * lib/striconv.c: Likewise.
63486         * lib/strncasecmp.c: Likewise.
63487         * lib/strnlen1.c: Likewise.
63488         * lib/strstr.c: Likewise.
63489         * lib/strtok_r.c: Likewise.
63490         * lib/tls.c: Likewise.
63491         * lib/tmpdir.c: Likewise.
63492         * lib/unicodeio.c: Likewise.
63493         * lib/unsetenv.c: Likewise.
63494         * lib/vasnprintf.c: Likewise.
63495         * lib/vasprintf.c: Likewise.
63496         * lib/wait-process.c: Likewise.
63497         * lib/xallocsa.c: Likewise.
63498         * lib/xsetenv.c: Likewise.
63499         * lib/xstriconv.c: Likewise.
63500
63501 2006-09-13  Simon Josefsson  <jas@extundo.com>
63502
63503         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
63504         that internally, suggested by Ralf Wildenhues
63505         <Ralf.Wildenhues@gmx.de>.
63506
63507 2006-09-13  Simon Josefsson  <jas@extundo.com>
63508
63509         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
63510         @LIBOBJS@.
63511         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63512
63513 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
63514
63515         * lib/_fpending.c: Include <config.h> unconditionally, since we no
63516         longer worry about uses that don't define HAVE_CONFIG_H.
63517         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
63518         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
63519         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
63520         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
63521         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
63522         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
63523         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
63524         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
63525         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
63526         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
63527         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
63528         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
63529         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
63530         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
63531         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
63532         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
63533         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
63534         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
63535         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
63536         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
63537         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
63538         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
63539         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
63540         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
63541         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
63542         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
63543         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
63544         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
63545         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
63546         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
63547         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
63548         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
63549         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
63550         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
63551         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
63552         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
63553         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
63554         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
63555         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
63556         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
63557         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
63558         Likewise.
63559
63560 2006-09-13  Eric Blake  <ebb9@byu.net>
63561
63562         * lib/getopt.c: Fix typo in last commit.
63563
63564 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63565
63566         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
63567         dgettext.
63568
63569 2006-09-12  Jim Meyering  <jim@meyering.net>
63570
63571         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
63572         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
63573         Reported by Nelson H. F. Beebe.
63574
63575 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63576
63577         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
63578         program_invocation_name and program_invocation_short_name are
63579         initialized.
63580         * lib/argp-namefrob.h: Move declarations of program_invocation_name
63581         and program_invocation_short_name to argp.h, so they are visible
63582         to user programs.
63583         * lib/argp.h: Likewise
63584
63585 2006-09-10  Bruno Haible  <bruno@clisp.org>
63586
63587         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
63588         m4/inttypes_h.m4, m4/uintmax_t.m4.
63589
63590 2006-09-10  Bruno Haible  <bruno@clisp.org>
63591
63592         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
63593         gl_AC_TYPE_UINTMAX_T.
63594
63595 2006-09-10  Bruno Haible  <bruno@clisp.org>
63596
63597         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
63598
63599 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63600
63601         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
63602         convention.  Text proposed by Bruno Haible.
63603         (struct argp_option): Document the use of N_() wrappers.
63604
63605         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
63606         '\v', and translate the two parts separately, instead of feeding
63607         the whole string to gettext.  This allows to exclude
63608         '\v' from the strings visible to the translator by writing doc
63609         strings as N_("..") "\v" N_("..").
63610
63611 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
63612
63613         * config/srclist.txt: Undo latest change; the bug was fixed.
63614
63615 2006-09-09  Bruno Haible  <bruno@clisp.org>
63616
63617         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
63618         assignments if building a library without libtool.
63619         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
63620         in func_emit_lib_Makefile_am.
63621         (func_import): When building a static library libfoo.a, arrange to
63622         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
63623         (func_create_testdir): Likewise.
63624         * modules/gc (configure.ac, Makefile.am): If building statically,
63625         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
63626         * modules/iconvme (configure.ac, Makefile.am): Likewise.
63627         * modules/striconv (configure.ac, Makefile.am): Likewise.
63628         Based on a suggestion by Ralf Wildenhues.
63629
63630 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63631
63632         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
63633         Check for unistd.h too, since Autoconf doesn't assume POSIX.
63634         Also:
63635
63636         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63637         Add year_2050_test to catch glibc bug 2821
63638         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
63639
63640         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63641         Prefer #ifdef to #if.
63642
63643         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
63644         Return from 'main' instead of calling 'exit'.
63645
63646 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63647
63648         * lib/mktime.c (guess_time_tm): Fix bug where mktime
63649         returned the maximum time_t value rather than (time_t) -1.
63650         Problem originally reported by William Bardwell
63651         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
63652
63653         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
63654         Moved to here ...
63655         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
63656         ... from here.
63657
63658 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63659
63660         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
63661         2821 is fixed.
63662
63663 2006-09-08  Jim Meyering  <jim@meyering.net>
63664
63665         Don't make generated files read-only.  That would bother too many
63666         people.  However, do retain the ability to work when targets are
63667         read-only: remove the destination and temporary files before writing
63668         them (when generated via sed or echo), or by using the -f option for
63669         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
63670         * modules/alloca-opt, modules/argz, modules/arpa_inet:
63671         * modules/byteswap, modules/configmake, modules/fcntl:
63672         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
63673         * modules/localcharset, modules/netinet_in, modules/poll:
63674         * modules/stdbool, modules/stdint, modules/sys_select:
63675         * modules/sys_socket, modules/sys_stat, modules/sysexits:
63676
63677 2006-09-08  Jim Meyering  <jim@meyering.net>
63678
63679         Avoid new build failure on FreeBSD 6.0.
63680         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
63681         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
63682         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
63683
63684 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63685
63686         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
63687
63688 2006-09-07  Jim Meyering  <jim@meyering.net>
63689
63690         Fix global typo in last change: use chmod u-w, not chmod u-x.
63691         Spotted by Paul Eggert and Bruce Korb.
63692         * modules/alloca-opt, modules/argz, modules/arpa_inet:
63693         * modules/byteswap, modules/configmake, modules/fcntl:
63694         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
63695         * modules/localcharset, modules/netinet_in, modules/poll:
63696         * modules/stdbool, modules/stdint, modules/sys_select:
63697         * modules/sys_socket, modules/sys_stat, modules/sysexits:
63698
63699 2006-09-06  Jim Meyering  <jim@meyering.net>
63700
63701         Make generated files be read-only.
63702         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
63703         Ensure that each generated file is now read-only.
63704         * modules/argz: Likewise.
63705         * modules/arpa_inet: Likewise.
63706         * modules/byteswap: Likewise.
63707         * modules/configmake: Likewise.
63708         * modules/fcntl: Likewise.
63709         * modules/fnmatch: Likewise.
63710         * modules/getopt: Likewise.
63711         * modules/glob: Likewise.
63712         * modules/inttypes: Likewise.
63713         * modules/netinet_in: Likewise.
63714         * modules/poll: Likewise.
63715         * modules/stdbool: Likewise.
63716         * modules/stdint: Likewise.
63717         * modules/sys_select: Likewise.
63718         * modules/sys_socket: Likewise.
63719         * modules/sys_stat: Likewise.
63720         * modules/sysexits: Likewise.
63721         * modules/localcharset: Same as above, but continue using temporary
63722         file named "t-$@" (why different?) rather than the "$@-t" used
63723         everywhere else.
63724
63725         * modules/sysexits (Makefile.am): Replace literal occurrences
63726         of "sysexit.h" more readable, and more consistent, "$@".
63727
63728 2006-09-06  Bruno Haible  <bruno@clisp.org>
63729
63730         * modules/striconv: New file.
63731         * modules/xstriconv: New file.
63732         * MODULES.html.sh (Internationalization functions): Add striconv,
63733         xstriconv.
63734
63735 2006-09-06  Bruno Haible  <bruno@clisp.org>
63736
63737         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
63738         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
63739         not using libtool correctly.
63740
63741 2006-09-06  Bruno Haible  <bruno@clisp.org>
63742
63743         * lib/striconv.h: New file.
63744         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
63745         iconvstring.c.
63746         * lib/xstriconv.h: New file.
63747         * lib/xstriconv.c: New file.
63748
63749 2006-09-06  Bruno Haible  <bruno@clisp.org>
63750
63751         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
63752         lib_..._LDFLAGS.
63753
63754 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63755
63756         * lib/argz_.h: Sync from Libtool.
63757
63758         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
63759                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
63760
63761         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
63762
63763 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
63764
63765         * modules/trim: New file.
63766
63767 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
63768
63769         * lib/trim.h: New file.
63770         * lib/trim.c: New file.
63771
63772 2006-09-05  Bruno Haible  <bruno@clisp.org>
63773
63774         * MODULES.html.sh (String handling): Add trim.
63775
63776 2006-09-04  Karl Berry  <karl@gnu.org>
63777
63778         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
63779         until next release.
63780
63781 2006-09-03  Bruno Haible  <bruno@clisp.org>
63782
63783         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
63784         correctly.
63785
63786 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63787
63788         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
63789         not gl_GETLOADAVG.  Omit unneeded semicolons.
63790         Problems reported by Ralf Wildenhues in
63791         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
63792         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
63793         at the end, which is the usual gnulib style.
63794
63795         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
63796         of doing all the work ourselves.
63797         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
63798         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
63799
63800 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63801
63802         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
63803         Problem reported by Ralf Wildenhues in
63804         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
63805
63806         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
63807         HAVE_STRUCT_STATFS_F_FSTYPENAME.
63808
63809 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63810
63811         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
63812         yesterday's patch by changing test -n to test -z.
63813
63814 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63815
63816         * modules/getloadavg (Files): Add m4/getloadavg.m4.
63817         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
63818         the former is now obsolescent.
63819
63820         * modules/chdir-long (Depends-on): Add fcntl.
63821
63822 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63823
63824         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
63825         obsolescent, and programs should use gnulib instead.
63826         * m4/getloadavg.m4: New file, with contents taken from Autoconf
63827         but with prefixes changed.
63828
63829 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63830
63831         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
63832         or stdbool.h, because they might not exist while configuring.
63833
63834         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
63835         Don't include unistd.h or limits.h; not needed, since chdir-long.h
63836         does that for us.
63837         (O_DIRECTORY): Remove.
63838
63839 2006-08-31  Eric Blake  <ebb9@byu.net>
63840
63841         * gnulib-tool: Don't let emacs change spaces to TAB.
63842
63843 2006-08-31  Bruno Haible  <bruno@clisp.org>
63844
63845         * gnulib-tool: When calling func_import more than once, do it in a
63846         subshell.
63847         Reported by Eric Blake <ebb9@byu.net>.
63848
63849 2006-08-31  Bruno Haible  <bruno@clisp.org>
63850
63851         * gnulib-tool (nl): Remove variable.
63852         (sed_transform_lib_file): Use more robust test for config-h module.
63853         (func_import): Fix typo in 2006-08-25 patch.
63854
63855 2006-08-31  Bruno Haible  <bruno@clisp.org>
63856
63857         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
63858         specified, augment Makefile.am variables instead of assigning them.
63859
63860 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63861
63862         Work around a bug in both the Linux and SunOS 64-bit kernels:
63863         nanosleep mishandles sleeps for longer than 2**31 seconds.
63864         Problem reported by Frank v Waveren in
63865         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
63866         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
63867         Check for nanosleep bug.
63868         (LIB_NANOSLEEP): Append clock_gettime library if needed.
63869
63870 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63871
63872         Work around a bug in both the Linux and SunOS 64-bit kernels:
63873         nanosleep mishandles sleeps for longer than 2**31 seconds.
63874         Problem reported by Frank v Waveren in
63875         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
63876         * lib/nanosleep.c (BILLION): New constant.
63877         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
63878         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
63879         implementation.
63880
63881 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63882
63883         * modules/nanosleep (Depends-on): Add gettime.
63884
63885 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63886         and Simon Josefsson  <jas@extundo.com>
63887         and Oskar Liljeblad  <oskar@osk.mine.nu>
63888
63889         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
63890         * gnulib-tool (func_import): New license type 'unmodifiable license
63891         text'.
63892         * modules/fdl: Use it.  Longer description.
63893         * module/gpl, module/lgpl: New files.
63894
63895 2006-08-30  Jim Meyering  <jim@meyering.net>
63896
63897         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
63898         shadowing the parameter.
63899
63900 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63901
63902         Sync from Libtool:
63903
63904         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63905
63906         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
63907         sharing with gnulib.  Report by Eric Blake.
63908
63909 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63910
63911         * modules/isapipe: New file.
63912         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
63913
63914 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63915
63916         * modules/configmake (Makefile.am): Add a comment, and omit
63917         the CONFIGMAKE_ prefix from generated macro names.  Suggested
63918         by Bruno Haible.
63919
63920 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63921
63922         * m4/isapipe.m4: New file.
63923
63924 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63925
63926         * lib/isapipe.c, lib/isapipe.h: New files.
63927
63928 2006-08-29  Jim Meyering  <jim@meyering.net>
63929
63930         * modules/configmake (Makefile.am): Make configmake.h depend on
63931         Makefile.  Otherwise, a stale configmake.h could hang around.
63932
63933 2006-08-29  Eric Blake  <ebb9@byu.net>
63934
63935         * lib/error.c (error_at_line, print_errno_message): Match libc, after
63936         resolution of upstream bug 3044.
63937
63938 2006-08-29  Bruno Haible  <bruno@clisp.org>
63939
63940         * modules/localcharset (Depends-on): Add configmake.
63941         (Makefile.am): Remove setting of LIBDIR through DEFS.
63942
63943 2006-08-29  Bruno Haible  <bruno@clisp.org>
63944
63945         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
63946         defined.
63947
63948 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63949
63950         * modules/fcntl: New file.
63951         * modules/chdir-safer (Depends-on): Add fcntl.
63952         * modules/fts: Likewise.
63953         * modules/mkdir-p: Likewise.
63954
63955         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
63956         This undoes the most recent change, since we're now addressing the
63957         problem in a different way.
63958
63959         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
63960         into output, since the output might be called Makefile.am even
63961         if $makefile_name is something different.
63962         (func_import): Use $makefile_am rather than
63963         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
63964         empty.
63965
63966         * modules/inttypes (Files): Add m4/inttypes-h.m4.
63967
63968 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63969
63970         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
63971         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
63972         recent change to stdint.m4, since we're now addressing the problem in a
63973         different way.
63974
63975 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63976
63977         * m4/fcntl_h.m4: New file.
63978
63979 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63980
63981         * lib/fcntl_.h: New file.
63982         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
63983         the fcntl module.
63984         * lib/dirchownmod.c: Likewise.
63985         * lib/fts.c: Likewise.
63986
63987         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
63988         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
63989         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
63990         just before including <inttypes.h>, to avoid circular inclusion.
63991
63992 2006-08-28  Jim Meyering  <jim@meyering.net>
63993
63994         * doc/visibility.texi: Actually read and correct the grammar of the
63995         sentence affected by yesterday's change.
63996
63997 2006-08-28  Eric Blake  <ebb9@byu.net>
63998
63999         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
64000         needs wrapper.
64001
64002 2006-08-28  Eric Blake  <ebb9@byu.net>
64003
64004         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
64005
64006 2006-08-28  Eric Blake  <ebb9@byu.net>
64007
64008         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
64009
64010 2006-08-28  Bruno Haible  <bruno@clisp.org>
64011
64012         * modules/c-strstr: New file, from GNU gettext.
64013         * MODULES.html.sh (String handling): Add c-strstr.
64014
64015 2006-08-28  Bruno Haible  <bruno@clisp.org>
64016
64017         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
64018         macros.
64019         Reported by Eric Blake.
64020
64021 2006-08-28  Bruno Haible  <bruno@clisp.org>
64022
64023         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
64024         (VASNPRINTF): Return a string of length > INT_MAX without failing.
64025         * lib/vasprintf.c: Include errno.h, limits.h.
64026         (EOVERFLOW): New fallback definition.
64027         (vasprintf): Test here whether the string length is > INT_MAX.
64028         * lib/vsnprintf.c: Include errno.h, limits.h.
64029         (EOVERFLOW): New fallback definition.
64030         (vsnprintf): Fix bug when generated string was too long for the buffer.
64031         Test here whether the string length is > INT_MAX.
64032
64033 2006-08-28  Bruno Haible  <bruno@clisp.org>
64034
64035         * lib/inttypes_.h (SCNX*): Remove definitions.
64036         Reported by Eric Blake.
64037
64038 2006-08-28  Bruno Haible  <bruno@clisp.org>
64039
64040         * lib/c-strstr.h: New file, from GNU gettext.
64041         * lib/c-strstr.c: New file, from GNU gettext.
64042
64043 2006-08-28  Bruno Haible  <bruno@clisp.org>
64044
64045         * gnulib-tool: Reorder some statements.
64046
64047 2006-08-28  Bruno Haible  <bruno@clisp.org>
64048
64049         * gnulib-tool: New option --makefile-name.
64050         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
64051         $makefile_name.
64052         (func_import): Write $makefile_name to the cache file, and read it from
64053         there unless explicitly specified. Use $makefile_name as file name
64054         instead of Makefile.am. Adjust the recommendations accordingly.
64055
64056 2006-08-28  Bruno Haible  <bruno@clisp.org>
64057
64058         * gnulib-tool (func_verify_module): Check against misapplying patch.
64059
64060 2006-08-28  Bruno Haible  <bruno@clisp.org>
64061
64062         * gnulib-tool (func_relativize, func_relconcat): New functions.
64063         Give an error if --local-dir is given with --update.
64064         Remove trailing slashes from $local_gnulib_dir.
64065         (func_import): Store the relativized $local_gnulib_dir in
64066         gnulib-cache.m4, and read it from there if not specified explicitly.
64067
64068 2006-08-28  Bruno Haible  <bruno@clisp.org>
64069
64070         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
64071         is the current directory. Respect also $local_gnulib_dir.
64072
64073 2006-08-28  Bruno Haible  <bruno@clisp.org>
64074             Simon Josefsson  <jas@extundo.com>
64075
64076         BeOS portability.
64077         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
64078
64079 2006-08-27  Jim Meyering  <jim@meyering.net>
64080
64081         * doc/visibility.texi: Remove duplicate word: "pointer".
64082
64083 2006-08-26  Bruno Haible  <bruno@clisp.org>
64084
64085         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
64086         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
64087         (Makefile.am): Create inttypes.h from inttypes_.h.
64088         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
64089
64090         * modules/imaxabs: New file.
64091
64092         * modules/imaxdiv: New file.
64093
64094 2006-08-26  Bruno Haible  <bruno@clisp.org>
64095
64096         * m4/inttypes.m4: New file.
64097         * m4/_inttypes_h.m4: Remove file.
64098         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
64099         PRI_MACROS_BROKEN.
64100         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
64101
64102         * m4/imaxabs.m4: New file.
64103
64104         * m4/imaxdiv.m4: New file.
64105
64106 2006-08-26  Bruno Haible  <bruno@clisp.org>
64107
64108         * lib/inttypes_.h: New file.
64109         * lib/inttypes.h: Remove file.
64110         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
64111
64112         * lib/imaxabs.c: New file.
64113
64114         * lib/imaxdiv.c: New file.
64115
64116 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64117
64118         New config-h module, so that "make" output needn't be cluttered
64119         by -DHAVE_CONFIG_H.
64120         * MODULES.html.sh (Support for building libraries and executables):
64121         Add config-h.
64122         * modules/config-h: New file.
64123         * gnulib-tool (nl, sed_transform_lib_file): New vars.
64124         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
64125         the config-h module is used.
64126
64127         New configmake module, so that "make" output needn't be cluttered
64128         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
64129         * MODULES.html.sh (Support for building libraries and executables):
64130         Add configmake.
64131         * modules/configmake: New file.
64132
64133 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64134
64135         * m4/config-h.m4: New file.
64136
64137 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64138
64139         * config/srclist.txt: Add elisp-comp.
64140
64141 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64142
64143         * MODULES.html.sh (Support for building libraries and executables):
64144         Add elisp-comp.
64145         * build-aux/elisp-comp: New file.
64146         * modules/elisp-comp: New file.
64147
64148 2006-08-24  Bruno Haible  <bruno@clisp.org>
64149
64150         * gnulib-tool (func_create_testdir): Use non-default values of
64151         sourcebase and m4base.
64152
64153 2006-08-24  Bruno Haible  <bruno@clisp.org>
64154
64155         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
64156         HTML structure.
64157
64158 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64159
64160         * modules/openat (Depends-on): Add lchown.
64161
64162 2006-08-23  Bruno Haible  <bruno@clisp.org>
64163
64164         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
64165         of gl_LOCK_EARLY instead of gl_LOCK.
64166
64167 2006-08-23  Bruno Haible  <bruno@clisp.org>
64168
64169         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
64170         on OSF/1 to no.
64171         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
64172
64173 2006-08-23  Bruno Haible  <bruno@clisp.org>
64174
64175         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
64176         as unusable.
64177
64178         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
64179         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
64180         (gl_LOCK): New macro.
64181
64182 2006-08-22  Simon Josefsson  <jas@extundo.com>
64183
64184         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
64185         to md5 module.
64186
64187 2006-08-22  Simon Josefsson  <jas@extundo.com>
64188
64189         * MODULES.html.sh: Add "Support for maintaining and release
64190         projects".
64191
64192         * build-aux/gnupload: New file, from coreutils.
64193
64194 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
64195
64196         Avoid the need for AC_LIBSOURCES in m4 macros.
64197         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
64198         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
64199         * modules/check-version (EXTRA_DIST): Add check-version.h.
64200         * modules/crc (EXTRA_DIST): Add crc.h.
64201         * modules/des (EXTRA_DIST): Add des.h.
64202         * modules/gc (EXTRA_DIST): Add gc.h.
64203         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
64204         * modules/getline (EXTRA_DIST): Add getline.h.
64205         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
64206         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
64207         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
64208         * modules/md2 (EXTRA_DIST): Add md2.h.
64209         * modules/md4 (EXTRA_DIST): Add md4.h.
64210         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
64211         * modules/read-file (EXTRA_DIST): Add read-file.h.
64212         * modules/readline (EXTRA_DIST): Add readline.h.
64213         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
64214         rijndael-api-fst.h.
64215
64216 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
64217
64218         * m4/rijndael.m4 (gl_ARCFOUR):
64219         * m4/arctwo.m4 (gl_ARCTWO):
64220         * m4/check-version.m4 (gl_CHECK_VERSION):
64221         * m4/crc.m4 (gl_CRC):
64222         * m4/des.m4 (gl_DES):
64223         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
64224         * m4/gc.m4 (gl_GC):
64225         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
64226         * m4/getline.m4 (gl_FUNC_GETLINE):
64227         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
64228         * m4/hmac-md5.m4 (gl_HMAC_MD5):
64229         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
64230         * m4/md2.m4 (gl_MD2):
64231         * m4/md4.m4 (gl_MD4):
64232         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
64233         * m4/read-file.m4 (gl_FUNC_READ_FILE):
64234         * m4/readline.m4 (gl_FUNC_READLINE):
64235         * m4/rijndael.m4 (gl_RIJNDAEL):
64236         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
64237         to get the necessary .h files and whatnot.
64238
64239 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
64240
64241         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
64242         gnulib rather than the other way around.
64243         * config/srclistvars.sh (COREUTILS): Remove.
64244
64245 2006-08-22  Jim Meyering  <jim@meyering.net>
64246
64247         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
64248
64249         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
64250
64251 2006-08-22  Eric Blake  <ebb9@byu.net>
64252
64253         * modules/regexprops-generic: New file.
64254         * MODULES.html.sh (Support for building documentation): List it.
64255
64256 2006-08-22  Eric Blake  <ebb9@byu.net>
64257
64258         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
64259         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
64260         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
64261         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
64262
64263 2006-08-22  Bruno Haible  <bruno@clisp.org>
64264
64265         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
64266         and lib_LTLIBRARIES like the other lib_* variables.
64267
64268 2006-08-22  Bruno Haible  <bruno@clisp.org>
64269
64270         * build-aux/x-to-1.in: New file, from GNU gettext.
64271
64272 2006-08-22  Bruno Haible  <bruno@clisp.org>
64273
64274         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
64275         <utmpx.h> exists.
64276
64277 2006-08-22  Bruno Haible  <bruno@clisp.org>
64278
64279         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
64280         <utmpx.h> exists.
64281
64282 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
64283
64284         BeOS portability.
64285         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
64286         exist.
64287         Problem reported by Bruno Haible.
64288
64289 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
64290
64291         Avoid the need for AC_LIBSOURCES in m4 macros.
64292         * modules/acl (EXTRA_DIST): Add acl.h.
64293         * modules/argmatch (Files): Add m4/argmatch.m4.
64294         (configure.ac): Add gl_ARGMATCH.
64295         (EXTRA_DIST): Renamed from lib_SOURCES, for
64296         consistency with the other modules.  Remove argmatch.c.
64297         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
64298         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
64299         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
64300         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
64301         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
64302         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
64303         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
64304         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
64305         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
64306         * modules/closeout (EXTRA_DIST): Add closeout.h.
64307         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
64308         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
64309         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
64310         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
64311         dirname.h; remove basename.c and stripslash.c.
64312         * modules/exclude (EXTRA_DIST): Add exclude.h.
64313         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
64314         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
64315         * modules/file-type (EXTRA_DIST): Add file-type.h.
64316         * modules/filemode (EXTRA_DIST): Add filemode.h.
64317         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
64318         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
64319         * modules/fpending (EXTRA_DIST): Add __fpending.h.
64320         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
64321         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
64322         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
64323         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
64324         * modules/getdate (EXTRA_DIST): Add getdate.c.
64325         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
64326         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
64327         * modules/getpass (EXTRA_DIST): Add getpass.h.
64328         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
64329         * modules/group-member (EXTRA_DIST): Add group-member.h.
64330         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
64331         * modules/hash (EXTRA_DIST): Add hash.h.
64332         * modules/human (EXTRA_DIST): Add human.h.
64333         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
64334         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
64335         * modules/lchown (EXTRA_DIST): Add lchown.h.
64336         * modules/long-options (EXTRA_DIST): Add long-options.h.
64337         * modules/lstat (EXTRA_DIST): Add lstat.h.
64338         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
64339         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
64340         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
64341         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
64342         * modules/memxor (EXTRA_DIST): Add memxor.h.
64343         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
64344         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
64345         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
64346         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
64347         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
64348         * modules/physmem (EXTRA_DIST): Add physmem.h.
64349         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
64350         * modules/posixver (EXTRA_DIST): Add posixver.h.
64351         * modules/quote (EXTRA_DIST): Add quote.h.
64352         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
64353         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
64354         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
64355         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
64356         regex_internal.h regexec.c.
64357         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
64358         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
64359         * modules/same (EXTRA_DIST): Add same.h.
64360         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
64361         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
64362         * modules/savedir (EXTRA_DIST): Add savedir.h.
64363         * modules/sha1 (EXTRA_DIST): Add sha1.h.
64364         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
64365         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
64366         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
64367         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
64368         * modules/strdup (EXTRA_DIST): Add strdup.h.
64369         * modules/strftime (EXTRA_DIST): Add strftime.h.
64370         * modules/strndup (EXTRA_DIST): Add strndup.h.
64371         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
64372         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
64373         * modules/time_r (EXTRA_DIST): Add time_r.h.
64374         * modules/timespec (EXTRA_DIST): Add timespec.h.
64375         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
64376         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
64377         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
64378         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
64379         * modules/userspec (EXTRA_DIST): Add userspec.h.
64380         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
64381         * modules/utimens (EXTRA_DIST): Add utimens.h.
64382         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
64383         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
64384         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
64385         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
64386         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
64387         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
64388         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
64389         * modules/yesno (EXTRA_DIST): Add yesno.h.
64390
64391 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
64392
64393         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
64394
64395         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
64396         * m4/dev-ino.m4, same-inode.m4: Remove.
64397
64398         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
64399         * m4/acl.m4 (AC_FUNC_ACL):
64400         * m4/backupfile.m4 (gl_BACKUPFILE):
64401         * m4/c-strtod.m4 (gl_C99_STRTOLD):
64402         * m4/canon-host.m4 (gl_CANON_HOST):
64403         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
64404         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
64405         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
64406         * m4/cloexec.m4 (gl_CLOEXEC):
64407         * m4/close-stream.m4 (gl_CLOSE_STREAM):
64408         * m4/closeout.m4 (gl_CLOSEOUT):
64409         * m4/dirfd.m4 (gl_FUNC_DIRFD):
64410         * m4/dirname.m4 (gl_DIRNAME):
64411         * m4/exclude.m4 (gl_EXCLUDE):
64412         * m4/exitfail.m4 (gl_EXITFAIL):
64413         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
64414         * m4/file-type.m4 (gl_FILE_TYPE):
64415         * m4/filemode.m4 (gl_FILEMODE):
64416         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
64417         * m4/fpending.m4 (gl_FUNC_FPENDING):
64418         * m4/fprintftime.m4 (gl_FPRINTFTIME):
64419         * m4/fts.m4 (gl_FUNC_FTS):
64420         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
64421         * m4/getdate.m4 (gl_GETDATE):
64422         * m4/gethrxtime.m4 (gl_GETHRXTIME):
64423         * m4/getpagesize.m4 (gl_GETPAGESIZE):
64424         * m4/getpass.m4 (gl_FUNC_GETPASS):
64425         * m4/gettime.m4 (gl_GETTIME):
64426         * m4/getugroups.m4 (gl_GETUGROUPS):
64427         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
64428         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
64429         * m4/hard-locale.m4 (gl_HARD_LOCALE):
64430         * m4/hash.m4 (gl_HASH):
64431         * m4/idcache.m4 (gl_IDCACHE):
64432         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
64433         * m4/lchown.m4 (gl_FUNC_LCHOWN):
64434         * m4/long-options.m4 (gl_LONG_OPTIONS):
64435         * m4/lstat.m4 (gl_FUNC_LSTAT):
64436         * m4/md5.m4 (gl_MD5):
64437         * m4/memcasecmp.m4 (gl_MEMCASECMP):
64438         * m4/memcoll.m4 (gl_MEMCOLL):
64439         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
64440         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
64441         * m4/memxor.m4 (gl_MEMXOR):
64442         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
64443         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
64444         * m4/modechange.m4 (gl_MODECHANGE):
64445         * m4/mountlist.m4 (gl_MOUNTLIST):
64446         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64447         * m4/openat.m4 (gl_FUNC_OPENAT):
64448         * m4/pathmax.m4 (gl_PATHMAX):
64449         * m4/physmem.m4 (gl_PHYSMEM):
64450         * m4/posixtm.m4 (gl_POSIXTM):
64451         * m4/posixver.m4 (gl_POSIXVER):
64452         * m4/quote.m4 (gl_QUOTE):
64453         * m4/quotearg.m4 (gl_QUOTEARG):
64454         * m4/readtokens.m4 (gl_READTOKENS):
64455         * m4/readutmp.m4 (gl_READUTMP):
64456         * m4/regex.m4 (gl_REGEX):
64457         * m4/safe-read.m4 (gl_SAFE_READ):
64458         * m4/safe-write.m4 (gl_SAFE_WRITE):
64459         * m4/same.m4 (gl_SAME):
64460         * m4/save-cwd.m4 (gl_SAVE_CWD):
64461         * m4/savedir.m4 (gl_SAVEDIR):
64462         * m4/settime.m4 (gl_SETTIME):
64463         * m4/sha1.m4 (gl_SHA1):
64464         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
64465         * m4/stat-macros.m4 (gl_STAT_MACROS):
64466         * m4/stat-time.m4 (gl_STAT_TIME):
64467         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
64468         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
64469         * m4/strdup.m4 (gl_FUNC_STRDUP):
64470         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
64471         * m4/strndup.m4 (gl_FUNC_STRNDUP):
64472         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
64473         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
64474         * m4/time_r.m4 (gl_TIME_R):
64475         * m4/timespec.m4 (gl_TIMESPEC):
64476         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
64477         * m4/unlinkdir.m4 (gl_UNLINKDIR):
64478         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
64479         * m4/userspec.m4 (gl_USERSPEC):
64480         * m4/utimecmp.m4 (gl_UTIMECMP):
64481         * m4/utimens.m4 (gl_UTIMENS):
64482         * m4/xalloc.m4 (gl_XALLOC):
64483         * m4/xgetcwd.m4 (gl_XGETCWD):
64484         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
64485         * m4/xreadlink.m4 (gl_XREADLINK):
64486         * m4/xstrtod.m4 (gl_XSTRTOD):
64487         * m4/yesno.m4 (gl_YESNO):
64488         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
64489         to get the necessary .h files and whatnot.
64490
64491 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
64492             Bruno Haible  <bruno@clisp.org>
64493
64494         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
64495         /bin/sh understanding of '!' conditional negation.
64496
64497 2006-08-21  Jim Meyering  <jim@meyering.net>
64498
64499         * modules/openat (Depends-on): Really alphabetize.
64500
64501         * modules/acl (Depends-on): Add error and quote.
64502
64503         * check-module (find_included_lib_files): Add at-func.c to the
64504         ok-to-include-more-than-once white list.
64505
64506         * modules/openat (Depends-on): Add lstat.  Alphabetize.
64507
64508 2006-08-21  Bruno Haible  <bruno@clisp.org>
64509
64510         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64511         Emit a pkgdata_DATA variable only if some snippets add contents to it.
64512         Reported by Martin Lambers <marlam@marlam.de>.
64513
64514 2006-08-21  Bruno Haible  <bruno@clisp.org>
64515
64516         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
64517         specify an installation location, don't emit a noinst_LIBRARIES or
64518         noinst_LTLIBRARIES assignment.
64519
64520 2006-08-21  Bruno Haible  <bruno@clisp.org>
64521
64522         BeOS portability.
64523         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
64524         BeOS has mbrtowc() but no <wctype.h>.
64525
64526 2006-08-21  Bruno Haible  <bruno@clisp.org>
64527
64528         BeOS portability.
64529         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
64530         exist.
64531
64532 2006-08-21  Bruno Haible  <bruno@clisp.org>
64533
64534         BeOS portability.
64535         * lib/mbchar.h: Include <wctype.h> only if it exists.
64536
64537 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64538
64539         Remove files that are no longer needed by their respective modules.
64540         * m4/obstack.m4: Remove.
64541         * m4/strerror_r.m4: Remove.
64542         * m4/uint32_t.m4: Remove.
64543         * m4/uintptr_t.m4: Remove.
64544         * m4/ullong_max.m4: Remove.
64545         * m4/xstrtoimax.m4: Remove.
64546         * m4/xstrtoumax.m4: Remove.
64547
64548         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
64549         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
64550         dependencies now capture this.
64551
64552         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
64553         Do not use AC_LIBSOURCES, since gnulib modules now do this.
64554         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
64555         * m4/human.m4 (gl_HUMAN): Likewise.
64556         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
64557         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
64558
64559         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
64560
64561         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
64562         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
64563         stdint.
64564         * m4/human.m4 (gl_HUMAN): Likewise.
64565         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
64566         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
64567         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
64568         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
64569         * m4/xstrtol (gl_XSTRTOL): Likewise.
64570
64571         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
64572         AC_TYPE_LONG_LONG_INT.
64573         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
64574         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
64575         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
64576         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
64577
64578         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
64579         on stdbool.
64580
64581         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
64582         (gl_PREREQ_XSTRTOUL): Remove.
64583
64584         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
64585
64586         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
64587         mode.
64588
64589 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64590
64591         Add and change modules to make it easier for coreutils to use
64592         gnulib-tool.
64593         * modules/backupfile (Files): Remove m4/d-ino.m4.
64594         (Depends-on): Add d-ino.
64595         * modules/cycle-check (Depends-on): Add stdint.
64596         (lib_SOURCES): Add cycle-check.h.
64597         * modules/d-ino: New module.
64598         * modules/d-type: New module.
64599         * modules/error (Files): Remove m4/strerror_r.m4.
64600         * modules/filemode (Files): Add m4/st_dm_mode.m4.
64601         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
64602         m4/inttypes_h.m4, m4/uintmax_t.m4.
64603         (Depends-on): Add stdint.
64604         (lib_SOURCES): Add fsusage.h.
64605         * modules/getcwd (Files): Remove d-ino.m4.
64606         (Depends-on): Add d-ino.
64607         * modules/getndelim2 (Depends-on): Add stdint.
64608         * modules/glob (Files): Remove m4/d-type.m4.
64609         (Depends-on): Add d-type.
64610         * modules/host-os: New module.
64611         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
64612         m4/inttypes_h.m4, m4/uintmax_t.m4.
64613         * Depends-on: Add stdint.
64614         (lib_SOURCES): Add human.h.
64615         * modules/inttostr (Files): Remove m4/intmax_t.m4,
64616         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
64617         m4/uintmax_t.m4, m4/ulonglong.m4.
64618         (Depends-on): Add stdint.
64619         (EXTRA_DIST): Add inttostr.h.
64620         * modules/lchmod: New module.
64621         * modules/link-follow: New module.
64622         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
64623         (Depends-on): Add lchmod.
64624         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
64625         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
64626         (Depends-on): Add stdint.
64627         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
64628         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
64629         (Depends-on): Add stdint.
64630         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
64631         * modules/perl: New module.
64632         * modules/regex (Depends-on): Add stdint.
64633         * modules/rmdir-errno: New module.
64634         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
64635         m4/intmax_t.m4.
64636         (Depends-on): Add stdint.
64637         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
64638         m4/uintmax_t.m4.
64639         (Depends-on): Add stdint.
64640         * modules/unlink-busy: New module.
64641         * modules/utimecmp (Depends-on): Add stdint.
64642         * modules/uptime: New module.
64643         * modules/winsz-ioctl: New module.
64644         * modules/winsz-termios: New module.
64645         * modules/xnanosleep (Depends-on): Add nanosleep.
64646         * modules/ullong_max: Remove.
64647         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
64648         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
64649         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
64650         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
64651         (Depends-on): Add inttypes.
64652         (lib_SOURCES): Add xstrtol.h.
64653         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
64654         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
64655         * MODULES.html.sh: Move 'assert' into the assert section.
64656         Move 'dummy' into the linking section.
64657         Remove ullong_max.
64658         Add section for compatibility checks for POSIX:2001 functions,
64659         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
64660         winsz-ioctl, and winsz-termios into it.
64661         Add lchmod.
64662         Add top-level Misc section and put host-os, perl, and uptime
64663         into it.
64664
64665 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64666
64667         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
64668         now assume the stdint module.  Do not include inttypes.h.
64669         * lib/fsusage.h: Likewise.
64670         * lib/getndelim2.c: Likewise.
64671         * lib/human.h: Likewise.
64672         * lib/inttostr.h: Likewise.
64673         * lib/obstack.c: Likewise.
64674         * lib/regex_internal.h: Likewise.
64675         * lib/tempname.c: Likewise.
64676         * lib/utimecmp.c: Likewise.
64677         * lib/xstrtol.h: Likewise.
64678
64679         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
64680
64681         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
64682         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
64683         * lib/xtime.h: Likewise.
64684
64685 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64686
64687         * modules/openat (Files): Add lib/fchmodat.c.
64688         Fixes problem reported by Jay Youngman.
64689
64690 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64691
64692         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
64693         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
64694
64695 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
64696             Bruno Haible  <bruno@clisp.org>
64697
64698         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
64699         and is a script that invokes bison. Tighten the code. Add comments.
64700
64701 2006-08-18  Jim Meyering  <jim@meyering.net>
64702
64703         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
64704         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
64705         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
64706         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
64707
64708 2006-08-18  Bruno Haible  <bruno@clisp.org>
64709
64710         * modules/bison-i18n: New file.
64711         * MODULES.html.sh (Internationalization functions): Add it.
64712
64713 2006-08-18  Bruno Haible  <bruno@clisp.org>
64714
64715         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
64716         sys/statvfs.h. When getmntinfo was found, check its declaration and
64717         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
64718
64719 2006-08-18  Bruno Haible  <bruno@clisp.org>
64720
64721         * m4/bison-i18n.m4: New file, from bison.
64722
64723 2006-08-18  Bruno Haible  <bruno@clisp.org>
64724
64725         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
64726         (ME_DUMMY): Treat "kernfs" as a dummy.
64727         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
64728
64729 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64730
64731         Update from coreutils.
64732
64733         2006-08-15  Jim Meyering  <jim@meyering.net>
64734
64735         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
64736
64737         2006-01-17  Jim Meyering  <jim@meyering.net>
64738
64739         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
64740
64741         2006-01-11  Jim Meyering  <jim@meyering.net>
64742
64743         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
64744         Check for the lchmod function.
64745
64746 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64747
64748         Update from coreutils.
64749
64750         * lib/__fpending.h: Add copyright notice.
64751         * lib/fprintftime.h: Likewise.
64752         * lib/savedir.c: Use (C) in copyright notice.
64753         * lib/savedir.h: Likewise.
64754
64755         2006-08-15  Jim Meyering  <jim@meyering.net>
64756
64757         * lib/at-func.c: New file, with the logic of all emulated at-functions.
64758         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
64759         in support of the EXPECTED_ERRNO macro.
64760         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
64761         definitions.  Instead, define the appropriate symbols and include
64762         "at-func.c".
64763         * lib/mkdirat.c (mkdirat): Likewise.
64764         * lib/fchmodat.c (fchmodat): Likewise.
64765         (ENOSYS): Remove definition.
64766         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
64767         it.  Don't include "unistd--.h" -- it wasn't ever used.
64768
64769         2006-01-17  Jim Meyering  <jim@meyering.net>
64770
64771         Rewrite fts.c not to change the current working directory,
64772         by using openat, fstatat, fdopendir, etc..
64773
64774         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
64775         (HAVE_OPENAT_SUPPORT): Define.
64776         [_LIBC] (fchdir): Don't undef or define; no longer used.
64777         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
64778         Now, this `function' always succeeds, and consumes its file descriptor
64779         parameter -- so callers must not close such FDs.  Update callers.
64780         (diropen_fd, opendirat, cwd_advance_fd): New functions.
64781         (diropen): Add parameter, SP.  Adjust all callers.
64782         Implement using diropen_fd, rather than open.
64783         (fts_open): Initialize new member, fts_cwd_fd.
64784         Remove fts_rft-setting code.
64785         (fts_close): Close fts_cwd_fd, if necessary.
64786         (__opendir2): Define in terms of opendir or opendirat,
64787         depending on whether the FST_NOCHDIR flag is set.
64788         (fts_build): Since fts_safe_changedir consumes its FD, and since
64789         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
64790         and close the dup'd file descriptor upon failure.
64791         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
64792         (fts_safe_changedir): Tweak semantics to reflect that this function
64793         now calls cwd_advance_fd and hence consumes its FD argument.
64794         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
64795         [struct FTS] (fts_rft): Remove now-unused member.
64796         [struct FTS] (fts_cycle.state): Improve comment.
64797
64798         * lib/openat.c (openat_needs_fchdir): New function.
64799         * lib/openat.h (openat_needs_fchdir): Declare it.
64800
64801 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
64802
64803         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
64804         Problem and fix reported by PĂ¡draig Brady in
64805         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
64806
64807 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64808
64809         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
64810
64811 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64812
64813         * lib/memcoll.c (memcoll): Optimize for the common case where the
64814         arguments are bytewise equal.
64815
64816 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64817
64818         * doc/regexprops-generic.texi: Add a copyright notice.
64819
64820 2006-08-15  Bruno Haible  <bruno@clisp.org>
64821
64822         * modules/tmpdir (License): Change to LGPL.
64823
64824 2006-08-15  Bruno Haible  <bruno@clisp.org>
64825
64826         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
64827         module.
64828
64829 2006-08-14  Simon Josefsson  <jas@extundo.com>
64830
64831         * config/srclist.txt: Add gnupload.
64832
64833 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64834
64835         Change copyright notice from LGPL 2 to GPL 2, since that's the
64836         standard form used in the gnulib repository.
64837         * tests/test-lock.c: Likewise.
64838         * tests/test-stdint.c: Likewise.
64839         * tests/test-tls.c: Likewise.
64840
64841         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
64842         prelude-manager.  User shorter URLs for GNU projects, without '?'.
64843         Add copyright notice.
64844
64845         * check-module: Add copyright notice.  Output a copyright
64846         notice if "--version" is specified.
64847         * modules/COPYING: New file.
64848         * tests/test-getaddrinfo.c: Add copyright notice.
64849         * tests/test-verify.c: Likewise.
64850
64851 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64852
64853         Change copyright notice from LGPL 2 to GPL 2, since that's the
64854         standard form used in the gnulib repository.
64855         * lib/lock.c: LGPL -> GPL.
64856         * lib/lock.h: Likewise.
64857         * lib/strnlen1.c: Likewise.
64858         * lib/strnlen1.h: Likewise.
64859         * lib/tls.c: Likewise.
64860         * lib/tls.h: Likewise.
64861         * lib/tmpdir.c: Likewise.
64862
64863         * lib/TODO: Remove; this belongs only in coreutils.
64864
64865 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64866
64867         Add copyright notices to long-enough files that lack them, since
64868         otherwise the files aren't clearly free.  Use the same notice that
64869         getdate.texi already uses.
64870         * doc/alloca-opt.texi: Add copyright notice.
64871         * doc/alloca.texi: Likewise.
64872         * doc/ctime.texi: Likewise.
64873         * doc/functions.texi: Likewise.
64874         * doc/gcd.texi: Likewise.
64875         * doc/gnulib-tool.texi: Likewise.
64876         * doc/inet_ntoa.texi: Likewise.
64877         * doc/visibility.texi: Likewise.
64878
64879         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
64880         * doc/quote.texi: Add copyright notice.
64881
64882         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
64883         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
64884         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
64885         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
64886         is now obsolete, and give a pointer to the Sun list.
64887         Add copyright notice.
64888
64889 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64890
64891         * config/srclistvars.sh: Add copyright notice.
64892
64893 2006-08-14  Eric Blake  <ebb9@byu.net>
64894
64895         Import the following change from libc:
64896
64897         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
64898
64899         Upstream bug 2997.
64900         * lib/misc/error.c: Add space between program name and message if file
64901         name is missing.
64902
64903 2006-08-12  Karl Berry  <karl@gnu.org>
64904
64905         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
64906         remove, these originate in gnulib now.
64907
64908 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64909
64910         * doc/Makefile (standards.info standards.html standards.dvi):
64911         Also depend on make-stds.texi.
64912
64913 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
64914
64915         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
64916         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
64917
64918         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
64919         in wchar_t.  Problem reported by Eric Blake.
64920
64921         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
64922         LEN is smaller than SIZE.  Suggested by Bruno Haible.
64923         Also, help the compiler to keep LEN in a register.
64924
64925 2006-08-11  Eric Blake  <ebb9@byu.net>
64926
64927         * users.txt: Sort.  Add tar.
64928
64929 2006-08-11  Bruno Haible  <bruno@clisp.org>
64930
64931         * users.txt: New file.
64932
64933 2006-08-11  Bruno Haible  <bruno@clisp.org>
64934
64935         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
64936         before <wchar.h>. Needed for OSF/1 and BSD/OS.
64937
64938 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64939
64940         * modules/snprintf (Depends-on): Remove minmax.
64941         (Maintainer): Add self and Bruno.
64942
64943 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64944
64945         * lib/.cppi-disable: Add snprintf.h, socket_.h.
64946         * lib/snprintf.c: Include <errno.h> and <limits.h>.
64947         (EOVERFLOW): Define if the system does not.
64948         Do not include "minmax.h"; it wasn't used.
64949         (snprintf): Don't assume size_t promotes to an unsigned type.
64950         Fix bug when generated string was too long for the buffer: the
64951         buffer's contents are supposed to be the initial prefix of the
64952         output.  Don't assume vasnprintf returns EOVERFLOW if the size
64953         exceeds INT_MAX; do the check ourselves.
64954
64955         Import the following changes from libc:
64956
64957         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
64958
64959         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
64960         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
64961         set wc to the byte which couldn't be converted.
64962         (re_string_reconstruct): Don't clear valid_raw_len before calling
64963         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
64964         tip_context using re_string_context_at.
64965
64966         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
64967
64968         * lib/posix/regex.h: g++ still cannot handled [restrict].
64969
64970         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
64971
64972         * lib/posix/regex.h: Remove special handling for VMS.
64973
64974 2006-08-10  Jim Meyering  <jim@meyering.net>
64975
64976         * modules/same-inode: New module.
64977         * modules/dev-ino: New module.
64978         * modules/cycle-check: Depend on these modules, rather than simply
64979         including their .h files.
64980         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
64981         required via m4/cycle-check.m4.
64982         * modules/same: Depend on new same-inode module, rather than
64983         including same-inode.h.
64984         * modules/chdir-safer: New file.
64985
64986         * modules/chown (Depends-on): Add stat-macros.
64987
64988 2006-08-10  Jim Meyering  <jim@meyering.net>
64989
64990         * m4/cycle-check.m4: New file.
64991         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
64992         * m4/dev-ino.m4, m4/same-inode.m4: New files.
64993
64994 2006-08-10  Eric Blake  <ebb9@byu.net>
64995
64996         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
64997         in from original proposal.
64998
64999 2006-08-10  Eric Blake  <ebb9@byu.net>
65000         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
65001
65002         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
65003         namespace.
65004
65005 2006-08-10  Bruno Haible  <bruno@clisp.org>
65006
65007         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
65008         as well.
65009
65010 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65011
65012         Sync from coreutils.
65013
65014         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
65015
65016         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
65017         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
65018
65019 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65020
65021         * modules/restrict: Remove; no longer needed now that we assume
65022         Autoconf 2.59 or later.
65023         * MODULES.html.sh: Remove 'restrict'.
65024         * modules/argp (Depends-on): Remove 'restrict'.
65025         * modules/base64 (Depends-on): Likewise.
65026         * modules/gc (Depends-on): Likewise.
65027         * modules/getaddrinfo (Depends-on): Likewise.
65028         * modules/glob (Depends-on): Likewise.
65029         * modules/inet_ntop (Depends-on): Likewise.
65030         * modules/inet_pton (Depends-on): Likewise.
65031         * modules/memxor (Depends-on): Likewise.
65032         * modules/regex (Depends-on): Likewise.
65033         * modules/strtok_r (Depends-on): Likewise.
65034         * modules/time_r (Depends-on): Likewise.
65035
65036 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65037
65038         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
65039         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
65040         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
65041         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
65042         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
65043         * m4/memxor.m4 (gl_MEMXOR): Likewise.
65044         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
65045         gl_C_RESTRICT replaced by AC_C_RESTRICT.
65046
65047         Merge from coreutils.
65048         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
65049         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
65050         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65051         * m4/time_r.m4 (gl_TIME_R): Likewise.
65052
65053 2006-08-09  Karl Berry  <karl@gnu.org>
65054
65055         * config/srclist.txt: no more gettext-tools, per Bruno.
65056
65057 2006-08-08  Eric Blake  <ebb9@byu.net>
65058
65059         * modules/verror: New module.
65060         * MODULES.html.sh: Document it.
65061
65062 2006-08-08  Eric Blake  <ebb9@byu.net>
65063
65064         * lib/verror.h, lib/verror.c: New files.
65065
65066 2006-08-08  Eric Blake  <ebb9@byu.net>
65067
65068         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
65069         verror_at_line output complies with GNU Coding Standards even when
65070         file is NULL.
65071
65072 2006-08-07  Bruno Haible  <bruno@clisp.org>
65073
65074         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
65075         versions of AIX.
65076         Reported by Ralf Wildenhues.
65077
65078 2006-08-07  Bruno Haible  <bruno@clisp.org>
65079
65080         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
65081         in an AC_DEFUN. Needed so that the autoconf snippets can use
65082         AC_REQUIRE.
65083
65084 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65085
65086         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65087         Initialize pkgdata_DATA.
65088         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
65089         overriding it.
65090
65091 2006-08-06  Eric Blake  <ebb9@byu.net>
65092
65093         * lib/error.h: Fold in some upstream changes from glibc.
65094         * lib/error.c: Likewise.
65095
65096 2006-08-04  Bruno Haible  <bruno@clisp.org>
65097
65098         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65099         Make the mostlyclean-local rule depend on mostlyclean-generic.
65100         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
65101
65102 2006-07-31  Bruno Haible  <bruno@clisp.org>
65103
65104         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
65105         <stdlib.h>, <string.h>.
65106
65107 2006-07-30  Bruno Haible  <bruno@clisp.org>
65108
65109         * modules/readlink (License): Change to LGPL.
65110
65111 2006-07-30  Bruno Haible  <bruno@clisp.org>
65112
65113         * modules/javaversion (Makefile.am): Distribute javaversion.java and
65114         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
65115         set PKGDATADIR to point to it.
65116
65117 2006-07-30  Bruno Haible  <bruno@clisp.org>
65118
65119         * modules/csharpexec (configure.ac): Comment out macro invocation.
65120         * modules/javaexec (configure.ac): Likewise.
65121         * modules/javacomp-script (configure.ac): Likewise.
65122
65123         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
65124
65125 2006-07-30  Bruno Haible  <bruno@clisp.org>
65126
65127         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
65128         linked-list.
65129
65130 2006-07-30  Bruno Haible  <bruno@clisp.org>
65131
65132         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
65133
65134 2006-07-30  Bruno Haible  <bruno@clisp.org>
65135
65136         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65137         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
65138         get removed.
65139
65140 2006-07-29  Bruno Haible  <bruno@clisp.org>
65141
65142         Make it possible for gnulib-tool to work with locally modified or
65143         augmented gnulib repositories.
65144         * gnulib-tool (func_usage): Document --local-dir option.
65145         (local_gnulib_dir): New variable.
65146         Handle --local-dir option.
65147         (func_lookup_file): New function.
65148         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
65149         (func_get_description, func_get_filelist, func_get_description,
65150         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
65151         func_get_automake_snippet, func_get_include_directive,
65152         func_get_license, func_get_maintainer): Use func_lookup_file.
65153         (func_import, func_create_testdir): Use func_lookup_file.
65154
65155 2006-07-29  Bruno Haible  <bruno@clisp.org>
65156
65157         * modules/setenv (Depends-on): Add unistd.
65158
65159 2006-07-29  Bruno Haible  <bruno@clisp.org>
65160
65161         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
65162
65163 2006-07-29  Bruno Haible  <bruno@clisp.org>
65164
65165         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
65166
65167 2006-07-29  Bruno Haible  <bruno@clisp.org>
65168
65169         * gnulib-tool (import, update): If there is no Makefile.am, look at
65170         aclocal.m4, instead of bailing out.
65171
65172 2006-07-29  Bruno Haible  <bruno@clisp.org>
65173
65174         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
65175         Categorize the options by when they are useful.
65176
65177 2006-07-29  Bruno Haible  <bruno@clisp.org>
65178
65179         * gnulib-tool (func_usage): Document option --no-libtool.
65180         Handle option --no-libtool.
65181         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
65182         for changed semantics of $libtool variable.
65183         (func_import): Likewise. If libtool is not used, show this through
65184         an option --no-libtool.
65185         (func_create_testdir): Update.
65186
65187 2006-07-29  Bruno Haible  <bruno@clisp.org>
65188
65189         * gnulib-tool (func_import): Extend error message about missing
65190         --doc-base.
65191
65192 2006-07-29  Bruno Haible  <bruno@clisp.org>
65193
65194         * gnulib-tool (func_import): Don't create the $docbase directory if
65195         there is no file to store there.
65196
65197 2006-07-29  Bruno Haible  <bruno@clisp.org>
65198
65199         * gnulib-tool (autoconf_minversion): If a --dir option is given and
65200         relevant, look for configure.ac there, not in the current directory.
65201         Also use a simple search for AC_PREREQ, not "autoconf --trace".
65202
65203 2006-07-29  Bruno Haible  <bruno@clisp.org>
65204
65205         * gnulib-tool (SORT): New variable.
65206         (func_usage): Undocument --assume-autoconf option.
65207         Remove --assume-autoconf option handling.
65208         (autoconf_minversion): Determine from the contents of configure.ac.
65209         (func_import): Remove autoconf_minversion handling.
65210         Suggested by Eric Blake.
65211
65212 2006-07-29  Bruno Haible  <bruno@clisp.org>
65213
65214         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
65215
65216 2006-07-29  Bruno Haible  <bruno@clisp.org>
65217
65218         * config/srclist.txt (*setenv.[ch]): Remove rules.
65219
65220 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65221
65222         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
65223
65224 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65225
65226         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
65227         arpa/inet.h.
65228
65229 2006-07-28  Simon Josefsson  <jas@extundo.com>
65230
65231         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
65232         * modules/inet_pton (Depends-on): Likewise.
65233
65234 2006-07-28  Simon Josefsson  <jas@extundo.com>
65235
65236         * m4/netinet_in_h.m4: New file.
65237
65238 2006-07-28  Simon Josefsson  <jas@extundo.com>
65239
65240         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
65241         #include's.
65242
65243 2006-07-28  Simon Josefsson  <jas@extundo.com>
65244
65245         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
65246         #include's.
65247
65248 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
65249
65250         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
65251         setgid on directories only if they set these bits.
65252         * lib/modechange.h: Remove obsolete comment about masks.
65253
65254 2006-07-28  Eric Blake  <ebb9@byu.net>
65255
65256         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
65257         macro expansion.
65258
65259 2006-07-28  Bruno Haible  <bruno@clisp.org>
65260
65261         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
65262
65263 2006-07-28  Bruno Haible  <bruno@clisp.org>
65264
65265         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
65266
65267 2006-07-28  Bruno Haible  <bruno@clisp.org>
65268
65269         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
65270         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
65271         Define fallbacks.
65272         Avoids link error on FreeBSD 4.x.
65273         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65274
65275         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
65276         encoding.
65277         * lib/mbswidth.c (iswcntrl): Likewise.
65278
65279 2006-07-27  Bruno Haible  <bruno@clisp.org>
65280
65281         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
65282         test.
65283
65284 2006-07-27  Bruno Haible  <bruno@clisp.org>
65285
65286         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
65287         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
65288         defined.
65289
65290 2006-07-26  Eric Blake  <ebb9@byu.net>
65291
65292         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
65293
65294 2006-07-26  Eric Blake  <ebb9@byu.net>
65295
65296         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
65297         like mingw that lack mkstemp.
65298         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
65299         avoid compilation warning on mingw.
65300
65301 2006-07-26  Bruno Haible  <bruno@clisp.org>
65302
65303         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
65304         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
65305         INT_FAST*_MIN, INTPTR_MIN.
65306
65307 2006-07-25  Bruno Haible  <bruno@clisp.org>
65308
65309         * modules/version-etc (Depends-on): Add stdarg.
65310
65311 2006-07-25  Bruno Haible  <bruno@clisp.org>
65312
65313         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
65314         complex commands.
65315
65316 2006-07-25  Bruno Haible  <bruno@clisp.org>
65317
65318         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
65319         defined in <stdarg.h> or config.h.
65320
65321 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
65322
65323         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
65324         (gl_STDIO_SAFER): Remove.
65325
65326 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
65327
65328         * MODULES.html.sh (File stream based Input/Output):
65329         Add fopen-safer, tmpfile-safer; remove stdio-safer.
65330         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
65331         * modules/fopen-safer, modules/tmpfile-safer: New files.
65332         * modules/stdio-safer: Remove.
65333
65334 2006-07-24  Bruno Haible  <bruno@clisp.org>
65335
65336         * modules/tmpdir: New file.
65337         * MODULES.html.sh (File system functions): Add it.
65338
65339 2006-07-24  Bruno Haible  <bruno@clisp.org>
65340
65341         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
65342         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
65343
65344 2006-07-24  Bruno Haible  <bruno@clisp.org>
65345
65346         * modules/clean-temp: New file.
65347
65348 2006-07-24  Bruno Haible  <bruno@clisp.org>
65349
65350         * m4/tmpdir.m4: New file, from GNU gettext.
65351
65352 2006-07-24  Bruno Haible  <bruno@clisp.org>
65353
65354         * lib/tmpdir.h: New file, from GNU gettext.
65355         * lib/tmpdir.c: New file, from GNU gettext.
65356
65357 2006-07-24  Bruno Haible  <bruno@clisp.org>
65358
65359         * lib/clean-temp.h: New file, from GNU gettext.
65360         * lib/clean-temp.c: New file, from GNU gettext.
65361
65362 2006-07-23  Eric Blake  <ebb9@byu.net>
65363
65364         * modules/stdio-safer (Files): Add tmpfile-safer.c.
65365         (Depends-on): Add binary-io.
65366
65367 2006-07-23  Eric Blake  <ebb9@byu.net>
65368
65369         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
65370
65371 2006-07-23  Eric Blake  <ebb9@byu.net>
65372
65373         * lib/tmpfile-safer.c: New file.
65374         * lib/stdio-safer.h (fopen_safer): Add prototype.
65375         * lib/stdio--.h (tmpfile): Make safer.
65376
65377 2006-07-23  Bruno Haible  <bruno@clisp.org>
65378
65379         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
65380         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
65381         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
65382         gl_linked_remove_at): Use it.
65383
65384 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65385         and Simon Josefsson <jas@extundo.com>
65386
65387         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
65388
65389         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
65390
65391 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65392
65393         * modules/close-stream: New file.
65394         * modules/closeout (Description): Make it clear that it exits
65395         with a diagnostic on error.
65396         (Depends-on): Add close-stream.  Remove fpending, stdbool.
65397         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
65398
65399 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65400
65401         * m4/close-stream.m4: New file.
65402
65403 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65404
65405         * lib/close-stream.c, lib/close-stream.h: New files.
65406
65407 2006-07-22  Bruno Haible  <bruno@clisp.org>
65408
65409         Merge from GNU gettext 0.15.
65410
65411         2006-05-01  Bruno Haible  <bruno@clisp.org>
65412
65413                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
65414
65415         2006-07-22  Bruno Haible  <bruno@clisp.org>
65416
65417                 * modules/javaversion: New file.
65418                 * MODULES.html.sh (Java): Add javaversion.
65419
65420         2006-03-12  Bruno Haible  <bruno@clisp.org>
65421
65422                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
65423
65424         2005-12-04  Bruno Haible  <bruno@clisp.org>
65425
65426                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
65427                 (untested).
65428
65429         2006-06-21  Bruno Haible  <bruno@clisp.org>
65430
65431                 Avoid warnings from recent versions of mcs.
65432                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
65433                 -o, -L, -r any more. Use options documented since mcs-1.0
65434                 instead. Similarly for -g.
65435
65436         2005-12-04  Bruno Haible  <bruno@clisp.org>
65437
65438                 * build-aux/csharpcomp.sh.in: Suffix for resources is
65439                 .resources, not .resource.
65440
65441         2005-07-09  Bruno Haible  <bruno@clisp.org>
65442
65443                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
65444                 add a .dll suffix.
65445                 Reported by Mark Junker <mjscod@gmx.de>.
65446
65447         2006-07-22  Bruno Haible  <bruno@clisp.org>
65448
65449                 * modules/gettext: Upgrade to gettext-0.15.
65450                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
65451                 m4/visibility.m4.
65452                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
65453
65454 2006-07-22  Bruno Haible  <bruno@clisp.org>
65455
65456         Merge from GNU gettext 0.15.
65457
65458         2006-03-25  Bruno Haible  <bruno@clisp.org>
65459
65460                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
65461
65462         2006-07-21  Bruno Haible  <bruno@clisp.org>
65463
65464                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
65465                 "1.1".
65466
65467         2006-05-09  Bruno Haible  <bruno@clisp.org>
65468
65469                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
65470                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
65471                 for the conftestver execution.
65472
65473         2006-05-01  Bruno Haible  <bruno@clisp.org>
65474
65475                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
65476                 optional target-version argument. Verify that the compiler
65477                 groks source of the specified source-version, or add -source
65478                 option as necessary. Verify that the compiler produces
65479                 bytecode in the specified target-version, or add -target and
65480                 -source options as necessary. Make the result of the test
65481                 available as variable CONF_JAVAC. Also log error output in
65482                 config.log.
65483
65484         2006-03-11  Bruno Haible  <bruno@clisp.org>
65485
65486                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
65487
65488         2006-05-09  Bruno Haible  <bruno@clisp.org>
65489
65490                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
65491                 CLASSPATH_SEPARATOR to a semicolon.
65492
65493         2006-03-12  Bruno Haible  <bruno@clisp.org>
65494
65495                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
65496                 available as variable CONF_JAVA, for subsequent autoconf
65497                 tests. Also log error output in config.log.
65498
65499         2006-07-19  Bruno Haible  <bruno@clisp.org>
65500
65501                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
65502                 that getline works on glibc2 systems. Needed to avoid trouble
65503                 in relocatable.c.
65504                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
65505
65506         2005-12-04  Bruno Haible  <bruno@clisp.org>
65507
65508                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
65509                 launcher (untested).
65510
65511         2005-12-04  Bruno Haible  <bruno@clisp.org>
65512
65513                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
65514
65515         2006-07-22  Bruno Haible  <bruno@clisp.org>
65516
65517                 * gettext.m4: Update from GNU gettext-0.15.
65518                 * nls.m4: Likewise.
65519                 * po.m4: Likewise.
65520                 * inttypes-pri.m4: Likewise.
65521                 * inttypes-h.m4: Renamed from inttypes.m4.
65522                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
65523
65524 2006-07-22  Bruno Haible  <bruno@clisp.org>
65525
65526         Merge from GNU gettext 0.15.
65527
65528         2005-07-05  Bruno Haible  <bruno@clisp.org>
65529
65530                 * printf-args.c (printf_fetchargs): Work around broken
65531                 definition of wint_t on mingw.
65532
65533         2005-02-12  Bruno Haible  <bruno@clisp.org>
65534
65535                 * xallocsa.h: Add extern "C" for C++.
65536
65537         2006-05-17  Bruno Haible  <bruno@clisp.org>
65538
65539                 Cygwin portability.
65540                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
65541
65542         2006-04-30  Bruno Haible  <bruno@clisp.org>
65543
65544                 * progreloc.c: Include <mach-o/dyld.h> if available.
65545                 (find_executable): Use _NSGetExecutablePath when possible.
65546
65547         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65548
65549                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
65550                 function.
65551
65552         2005-12-29  Bruno Haible  <bruno@clisp.org>
65553
65554                 * progreloc.c (set_program_name_and_installdir): Fix
65555                 compilation error.
65556
65557         2005-12-04  Bruno Haible  <bruno@clisp.org>
65558
65559                 Cygwin portability.
65560                 * progreloc.c: Include <windows.h> also on Cygwin.
65561                 (find_executable): Add support for Cygwin.
65562                 (set_program_name_and_installdir): Handle also platforms with
65563                 nonempty EXEEXT.
65564
65565         2006-07-11  Bruno Haible  <bruno@clisp.org>
65566
65567                 * javacomp.c: Fix a comment.
65568                 Reported by Jim Meyering.
65569
65570         2006-04-30  Bruno Haible  <bruno@clisp.org>
65571
65572                 * javacomp.h (compile_java_class): Add source_version,
65573                 target_version arguments.
65574                 * javacomp.c: Rewritten to choose only a compiler that
65575                 respects the specified source_version and target_version.
65576
65577         2006-06-27  Bruno Haible  <bruno@clisp.org>
65578
65579                 Assume correct S_ISDIR macro.
65580                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
65581
65582         2006-07-22  Bruno Haible  <bruno@clisp.org>
65583
65584                 * javaversion.h: New file, from GNU gettext.
65585                 * javaversion.c: New file, from GNU gettext.
65586                 * javaversion.java: New file, from GNU gettext.
65587                 * javaversion.class: New file, from GNU gettext.
65588
65589         2006-05-17  Bruno Haible  <bruno@clisp.org>
65590
65591                 Cygwin portability.
65592                 * javaexec.c (execute_java_class): Test for jview program
65593                 also on Cygwin.
65594
65595         2006-04-09  Bruno Haible  <bruno@clisp.org>
65596
65597                 * fatal-signal.c: Don't include string.h.
65598                 (at_fatal_signal): Use a copying loop instead of memcpy.
65599
65600         2005-12-04  Bruno Haible  <bruno@clisp.org>
65601
65602                 * csharpexec.c: Add support for 'clix' launcher (untested).
65603                 (execute_csharp_using_sscli): New function.
65604                 (execute_csharp_program): Call it.
65605
65606         2006-06-21  Bruno Haible  <bruno@clisp.org>
65607
65608                 Avoid warnings from recent versions of mcs.
65609                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
65610                 -o, -L, -r any more. Use options documented since mcs-1.0
65611                 instead. Similarly for -g.
65612
65613         2005-07-09  Bruno Haible  <bruno@clisp.org>
65614
65615                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
65616                 add a .dll suffix.
65617                 Reported by Mark Junker <mjscod@gmx.de>.
65618
65619         2006-06-17  Bruno Haible  <bruno@clisp.org>
65620
65621                 * config.charset: Update for NetBSD 3.0.
65622
65623         2006-05-17  Bruno Haible  <bruno@clisp.org>
65624
65625                 Cygwin portability.
65626                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
65627
65628         2006-05-16  Bruno Haible  <bruno@clisp.org>
65629
65630                 * localcharset.c [CYGWIN]: Include <windows.h>.
65631                 (get_charset_aliases): For Cygwin, return the same CPxxx
65632                 aliases list as under WIN32.
65633                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
65634                 the environment variables. Fall back to GetACP().
65635
65636         2006-04-05  Bruno Haible  <bruno@clisp.org>
65637
65638                 * config.charset: Update Juan Manuel Guerrero's address.
65639
65640         2005-02-12  Bruno Haible  <bruno@clisp.org>
65641
65642                 * allocsa.h: Add extern "C" for C++.
65643
65644         2005-02-10  Bruno Haible  <bruno@clisp.org>
65645
65646                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
65647                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
65648
65649         2006-07-22  Bruno Haible  <bruno@clisp.org>
65650
65651                 * gettext.h: Update to GNU gettext-0.15.
65652
65653 2006-07-22  Bruno Haible  <bruno@clisp.org>
65654
65655         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
65656         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
65657         lib-prefix.m4, longdouble.m4, ssize_t.m4.
65658
65659 2006-07-21  Eric Blake  <ebb9@byu.net>
65660
65661         * modules/stdlib-safer: New file.
65662         * MODULES.html.sh (File stream based Input/Output): Add
65663         stdlib-safer.
65664
65665 2006-07-21  Eric Blake  <ebb9@byu.net>
65666
65667         * lib/stdlib-safer.h: New file from coreutils, required by
65668         stdlib--.h.
65669
65670 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
65671
65672         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
65673
65674 2006-07-20  Bruno Haible  <bruno@clisp.org>
65675
65676         * gnulib-tool: Recognize new option --assume-autoconf.
65677         (autoconf_minversion): New variable.
65678         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
65679
65680 2006-07-20  Bruno Haible  <bruno@clisp.org>
65681
65682         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
65683
65684 2006-07-19  Derek R. Price  <derek@ximbiot.com>
65685
65686         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
65687         Reindent and repaginate.
65688
65689 2006-07-19  Derek Price  <derek@ximbiot.com>
65690
65691         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
65692         Correct grammar.
65693
65694 2006-07-17  Bruno Haible  <bruno@clisp.org>
65695
65696         * modules/list: New file.
65697         * modules/array-list: New file.
65698         * modules/carray-list, modules/carray-list-tests: New files.
65699         * modules/linked-list, modules/linked-list-tests: New files.
65700         * modules/avltree-list, modules/avltree-list-tests: New files.
65701         * modules/rbtree-list, modules/rbtree-list-tests: New files.
65702         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
65703         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
65704         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
65705         * modules/oset: New file.
65706         * modules/array-oset: New file.
65707         * modules/avltree-oset, modules/avltree-oset-tests: New files.
65708         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
65709         * tests/test-carray_list.c: New file.
65710         * tests/test-linked_list.c: New file.
65711         * tests/test-avltree_list.c: New file.
65712         * tests/test-rbtree_list.c: New file.
65713         * tests/test-linkedhash_list.c: New file.
65714         * tests/test-avltreehash_list.c: New file.
65715         * tests/test-rbtreehash_list.c: New file.
65716         * tests/test-avltree_oset.c: New file.
65717         * tests/test-rbtree_oset.c: New file.
65718         * MODULES.html.sh (Container data structures): New section.
65719
65720 2006-07-17  Bruno Haible  <bruno@clisp.org>
65721
65722         * m4/gl_list.m4: New file.
65723
65724 2006-07-17  Bruno Haible  <bruno@clisp.org>
65725
65726         * lib/gl_list.h: New file.
65727         * lib/gl_list.c: New file.
65728         * lib/gl_array_list.h: New file.
65729         * lib/gl_array_list.c: New file.
65730         * lib/gl_carray_list.h: New file.
65731         * lib/gl_carray_list.c: New file.
65732         * lib/gl_linked_list.h: New file.
65733         * lib/gl_linked_list.c: New file.
65734         * lib/gl_anylinked_list1.h: New file.
65735         * lib/gl_anylinked_list2.h: New file.
65736         * lib/gl_avltree_list.h: New file.
65737         * lib/gl_avltree_list.c: New file.
65738         * lib/gl_anyavltree_list1.h: New file.
65739         * lib/gl_anyavltree_list2.h: New file.
65740         * lib/gl_rbtree_list.h: New file.
65741         * lib/gl_rbtree_list.c: New file.
65742         * lib/gl_anyrbtree_list1.h: New file.
65743         * lib/gl_anyrbtree_list2.h: New file.
65744         * lib/gl_anytree_list1.h: New file.
65745         * lib/gl_anytree_list2.h: New file.
65746         * lib/gl_linkedhash_list.h: New file.
65747         * lib/gl_linkedhash_list.c: New file.
65748         * lib/gl_anyhash_list1.h: New file.
65749         * lib/gl_anyhash_list2.h: New file.
65750         * lib/gl_avltreehash_list.h: New file.
65751         * lib/gl_avltreehash_list.c: New file.
65752         * lib/gl_rbtreehash_list.h: New file.
65753         * lib/gl_rbtreehash_list.c: New file.
65754         * lib/gl_anytreehash_list1.h: New file.
65755         * lib/gl_anytreehash_list2.h: New file.
65756
65757         * lib/gl_oset.h: New file.
65758         * lib/gl_oset.c: New file.
65759         * lib/gl_array_oset.h: New file.
65760         * lib/gl_array_oset.c: New file.
65761         * lib/gl_avltree_oset.h: New file.
65762         * lib/gl_avltree_oset.c: New file.
65763         * lib/gl_rbtree_oset.h: New file.
65764         * lib/gl_rbtree_oset.c: New file.
65765         * lib/gl_anytree_oset.h: New file.
65766
65767 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65768
65769         * m4/mkancesdirs.m4: New file.
65770         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
65771         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
65772         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
65773         it.
65774
65775 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65776
65777         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
65778         * lib/mkancesdirs.h: New files.
65779         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
65780         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
65781         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
65782         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
65783         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
65784         callers changed.  Revamp internals significantly, by not
65785         attempting to create directories that are temporarily more
65786         permissive than the final results.  Do not attempt to use
65787         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
65788         This removes some race conditions, fixes some bugs, and simplifies
65789         things.  Use new dirchownmod function to do owner and mode changes.
65790         * lib/mkdir-p.h: Likewise.
65791         * lib/modechange.c (octal_to_mode): New function.
65792         (struct mode_change): New member mentioned.
65793         (make_node_op_equals): New arg mentioned.  All callers changed.
65794         (mode_compile): Keep track of which mode bits the user has explicitly
65795         mentioned.
65796         (mode_adjust): New arg DIR, so that we implement the X op correctly.
65797         New arg PMODE_BITS, to keep track of which mode bits the user
65798         mentioned; it treats S_ISUID and S_ISGID speciall.
65799         All callers changed.
65800         * lib/modechange.h: Likewise.
65801
65802 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65803
65804         * MODULES.html.sh: Add mkancestors.
65805         * modules/mkancesdirs: New module.
65806         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
65807         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
65808         The chdir-safer and afs files are now orphans; I'll remove them
65809         unless someone speaks up.
65810         Add lib/dirchownmod.c, lib/dirchownmod.h.
65811         (Depends-on): Remove alloca, chown, save-cwd, dirname.
65812         Add lchown, mkancesdirs.
65813         (Maintainer): Add self.
65814
65815 2006-07-15  Karl Berry  <karl@gnu.org>
65816
65817         * gnulib-tool: help message wording/arrangement.
65818
65819 2006-07-14  Simon Josefsson  <jas@extundo.com>
65820
65821         * doc/gnulib.texi (Libtool and Windows): New section.
65822
65823 2006-07-12  Simon Josefsson  <jas@extundo.com>
65824
65825         * modules/gendocs (License): Fix license, approved by Karl.
65826
65827 2006-07-12  Eric Blake  <ebb9@byu.net>
65828
65829         * MODULES.html.sh: Add gendocs.
65830
65831 2006-07-11  Eric Blake  <ebb9@byu.net>
65832
65833         * modules/fdl: New module, to install doc/fdl.texi.
65834         * MODULES.html.sh: Add new section for documentation modules.
65835         * gnulib-tool: Avoid space-tab.
65836         (--doc-base): New option, to manage files from doc.
65837
65838 2006-07-11  Eric Blake  <ebb9@byu.net>
65839
65840         * m4/absolute-header.m4: Fix comments to match recent change.
65841
65842 2006-07-11  Eric Blake  <ebb9@byu.net>
65843
65844         * gnulib-tool: List --doc-base before --tests-base.
65845
65846 2006-07-11  Derek R. Price  <derek@ximbiot.com>
65847
65848         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
65849
65850 2006-07-11  Bruno Haible  <bruno@clisp.org>
65851
65852         * README: Mention where to put documentation.
65853
65854 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65855
65856         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
65857
65858 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
65859
65860         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
65861         to stdint.m4.
65862
65863 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
65864
65865         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
65866         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
65867         "no/such/file/stdint.h" when there is no such file, so that
65868         the resulting C code can be parsed by dodgy compilers.
65869         Problems reported by Bob Proulx.
65870
65871 2006-07-10  Derek R. Price  <derek@ximbiot.com>
65872
65873         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
65874         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
65875         macros into the GNU _D_EXACT_NAMLEN.
65876         * lib/savedir.c:  Likewise.
65877         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
65878
65879 2006-07-10  Derek R. Price  <derek@ximbiot.com>
65880         and Paul Eggert  <eggert@cs.ucla.edu>
65881
65882         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
65883         * m4/savedir.m4:
65884         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
65885         macros into the GNU _D_EXACT_NAMLEN.
65886
65887 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65888
65889         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
65890         around the absolute name, to work around a problem with the HP-UX
65891         11.23 native C compiler, reported by Bob Proulx.
65892
65893 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65894
65895         * doc/maintain.texi, make-stds.texi: Sync from
65896         <http://savannah.gnu.org/projects/gnustandards>.
65897
65898 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65899
65900         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
65901
65902 2006-07-09  Jim Meyering  <jim@meyering.net>
65903
65904         * m4/glob.m4: Remove a doubled word in a comment.
65905
65906 2006-07-09  Jim Meyering  <jim@meyering.net>
65907
65908         * lib/argp-pv.c: Remove a doubled word in a comment.
65909         * lib/check-version.c (check_version): Likewise.
65910         * lib/javacomp.c (compile_java_class): Likewise.
65911
65912 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
65913
65914         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
65915         for the benefit of people using Autoconf 2.60.  If you want to
65916         support older Autoconf versions you can copy m4/onceonly_2_57.m4
65917         (or m4/onceonly.m4, if pre-2.57) manually.
65918
65919 2006-07-08  Jim Meyering  <jim@meyering.net>
65920
65921         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
65922         comment.
65923         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
65924         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
65925         comment.
65926
65927 2006-07-08  Jim Meyering  <jim@meyering.net>
65928
65929         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
65930
65931 2006-07-07  Simon Josefsson  <jas@extundo.com>
65932
65933         * tests/test-crc.c: Change expected crc value, the test vector
65934         were probably computed using the old broken crc.c?
65935
65936 2006-07-06  Simon Josefsson  <jas@extundo.com>
65937
65938         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
65939         now the canonical place for the M4 file).
65940
65941         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
65942         from the sys_socket dependency now.
65943
65944         * modules/inet_pton (Files): Ditto.
65945
65946         * modules/inet_ntop (Files): Ditto.
65947
65948 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65949
65950         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
65951         not gl_PREREQ_GETUSERSHELL.
65952
65953 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65954
65955         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
65956         with only one argument, for Autoconf 2.60.
65957         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
65958         expand to nothing, so add a shell command to avoid syntax error.
65959         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
65960
65961 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65962
65963         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
65964
65965 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65966
65967         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
65968         no longer needed.  Check for isblank decl.
65969         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
65970         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
65971         of existence.
65972
65973 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65974
65975         * lib/getloadavg.c: Use __VMS, not VMS.
65976         * lib/getopt.c: Likewise.
65977         * lib/getpagesize.h: Likewise.
65978         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
65979         and probably does not work.
65980
65981 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65982
65983         * lib/.cppi-disable: Add wcwidth.
65984         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
65985         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
65986         (ISGRAPH): Remove.  All uses changed to isgraph.
65987         (FOLD) [!defined _LIBC]: Remove special case.
65988         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
65989         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
65990         HAVE_ISBLANK.
65991         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
65992         case.
65993
65994 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
65995
65996         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
65997         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
65998         brackets.  Other minor changes to suppress some compiler
65999         warnings.
66000
66001 2006-07-06  Derek R. Price  <derek@ximbiot.com>
66002         and Paul Eggert  <eggert@cs.ucla.edu>
66003
66004         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
66005         of invoking obsolescent AC_HEADER_DIRENT macro.
66006         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
66007         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
66008         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
66009         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
66010         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
66011         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66012         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
66013         * m4/readdir.m4: Remove; no longer needed.
66014
66015 2006-07-06  Derek R. Price  <derek@ximbiot.com>
66016         and Paul Eggert  <eggert@cs.ucla.edu>
66017
66018         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
66019         Don't worry about this obsolete case any more.
66020         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
66021         directories.
66022         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
66023         worry about this obsolete case any more.
66024         * lib/fts.c: Likewise.
66025         * lib/getcwd.c: Likewise.
66026         * lib/glob.h: Likewise.
66027         * lib/savedir.c: Likewise.
66028
66029 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
66030
66031         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
66032         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
66033         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
66034         needed.
66035         All uses removed.
66036         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
66037         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
66038         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
66039         needed.
66040         * m4/getdate.m4 (gl_GETDATE): Likewise.
66041         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
66042         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
66043         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
66044         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
66045         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
66046         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
66047         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
66048         needed.
66049
66050 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
66051
66052         * lib/memcasecmp.c: Include <limits.h>.
66053         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
66054         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
66055         Don't assume isdigit succeeds only on '0' through '9'.
66056
66057 2006-07-05  Eric Blake  <ebb9@byu.net>
66058
66059         * modules/getaddrinfo (Depends-on): Add snprintf.
66060
66061 2006-07-05  Eric Blake  <ebb9@byu.net>
66062
66063         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
66064         to avoid 'header present but could not be compiled' on cygwin.
66065
66066 2006-07-05  Eric Blake  <ebb9@byu.net>
66067
66068         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
66069         missing from netdb.h.
66070         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
66071
66072 2006-07-05  Derek R. Price  <derek@ximbiot.com>
66073
66074         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
66075         no longer needed.
66076         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
66077         * m4/getdate.m4 (gl_GETDATE): Likewise.
66078         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
66079         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
66080         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
66081         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
66082         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
66083
66084 2006-07-05  Derek R. Price  <derek@ximbiot.com>
66085
66086         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
66087         All uses of is_space replaced by isspace.
66088         * lib/exit.h: Don't talk about STDC_HEADERS.
66089         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
66090         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
66091         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
66092         replaced by isprint etc.
66093         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
66094         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
66095         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
66096         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
66097         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
66098         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
66099
66100 2006-07-05  Bruno Haible  <bruno@clisp.org>
66101
66102         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
66103         the function exists, before testing against AIX.
66104         Reported by Martin Lambers <marlam@marlam.de>.
66105
66106 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
66107
66108         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
66109         From Mark D. Baushke.
66110
66111 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
66112
66113         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
66114         to the absolute name, not just one, to bypass Sun C 5.8's
66115         "warning: #include of /usr/include/... may be non-portable".
66116
66117 2006-07-04  Eric Blake  <ebb9@byu.net>
66118
66119         * modules/dirname-tests: New test module.
66120         * tests/test-dirname.c: New file, replacing dirname.c
66121         TEST_DIRNAME section that was recently deleted.
66122
66123 2006-07-04  Bruno Haible  <bruno@clisp.org>
66124
66125         Assume ANSI C header files and <ctype.h> functions.
66126         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
66127         (mbsnwidth): Use isprint, iscntrl instead.
66128
66129 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66130
66131         Merge from coreutils.
66132         * MODULES.html.sh: Add xstrtold.
66133         * modules/xstrtold: New file.
66134         * modules/cycle-check (Files): Add lib/same-inode.h.
66135         * modules/dirname (Files): Add m4/double-slash-root.m4.
66136         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
66137         * modules/mkdir-p (Files): Add lib/same-inode.h.
66138         * modules/same (Files): Add lib/same-inode.h.
66139
66140 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66141
66142         * m4/absolute-header.m4: Renamed from full-header-path.m4.
66143         This is to keep the terminology clean; POSIX talks about
66144         "absolute pathnames", not "full pathnames", but the GNU
66145         Coding Standards say to use "path" for something else;
66146         so use "absolute" to keep both sides happy.
66147         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
66148         Set gl_absolute_header, not gl_full_header_path.
66149         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
66150         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
66151         All uses changed.
66152
66153         Merge from coreutils.
66154
66155         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
66156
66157         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
66158         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
66159         want to require the building of c-strtod.o.
66160         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
66161         needs -lm directly.
66162         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
66163
66164         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
66165
66166         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
66167         --as-needed option if available.  Problem reported by Albert Chin in
66168         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
66169         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
66170         cc merely issues a bunch of annoying warnings for --as-needed
66171         (this problem was reported by Bob Proulx).  Also, try linking with
66172         -lm to detect a bug in binutils 2.16 (this problem was reported
66173         by Ralf Wildenhues).
66174
66175         2006-06-18  Jim Meyering  <jim@meyering.net>
66176
66177         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
66178         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
66179         macro.
66180         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
66181         also check for glibc-2.4's abort-inducing bug.
66182
66183         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
66184         Low-probability clean-up should be to use rmdir to get rid of
66185         the just-created directory, not unlink.
66186
66187         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
66188         configure fail, and request a bug report to inform us about it.
66189         Add a comment that, barring reports to the contrary, in 2007 we'll
66190         assume ftruncate is universally available.
66191
66192         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
66193
66194         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
66195
66196         2006-03-12  Jim Meyering  <jim@meyering.net>
66197
66198         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
66199         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
66200         * m4/same.m4 (gl_SAME): Likewise.
66201         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
66202
66203         2006-03-11  Eric Blake  <ebb9@byu.net>
66204
66205         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
66206         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
66207         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
66208         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
66209
66210 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66211
66212         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
66213         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
66214         reported by Mark D. Baushke, one in
66215         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
66216
66217         Merge from coreutils.
66218
66219         * lib/.cppi-disable: Add stdint_.h.
66220         * lib/.cvsignore: Add stdint.h.
66221
66222         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
66223
66224         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
66225         both double and long double versions.
66226         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
66227         * lib/xstrtold.c: New file.
66228         * lib/xstrtod.h (xstrtold): New decl.
66229
66230         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
66231
66232         * lib/filemode.c (setst): Remove.
66233         (strmode): Rewrite to avoid setst.  This makes the code shorter,
66234         (arguably) clearer, and the generated code is a bit smaller on my
66235         Debian GNU/Linux stable x86 host.
66236
66237         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
66238
66239         * lib/filemode.c: Include "filemode.h" first, to test the interface.
66240         Assume that filemode.h includes sys/types.h and sys/stat.h.
66241         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
66242         (ftypelet): Reorder to put common cases first, for efficiency.
66243         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
66244         to do 'M'.
66245         (strmode): Renamed from mode_string, and now stores 12 bytes instead
66246         of 10, for compatibility with FreeBSD.  All callers changed.
66247         (filemodestring): Now stores 12 bytes instead of 10, and sets file
66248         types that can't be deduced solely from st_mode.  First arg is now a
66249         const pointer.
66250         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
66251         (strmode): Renamed from mode_string.
66252         (filemodestring): New decl.
66253         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
66254         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
66255         needed.
66256         (S_ISPORT, S_ISWHT): New macros, if not already defined.
66257
66258         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
66259
66260         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
66261         fsusage.h now does that.  Include fsusage.h first, to test interface.
66262         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
66263         at most one method (the old code could have generated decls that
66264         didn't conform to C89, not that this was ever exercised).
66265         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
66266
66267         2006-03-19  Jim Meyering  <jim@meyering.net>
66268
66269         Work even in a chroot where d_ino values for entries in "/"
66270         don't match the stat.st_ino values for the same names.
66271         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
66272         number, iterate through all entries again, using lstat instead.
66273         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
66274         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
66275
66276         * lib/getcwd.c (__getcwd): Clarify a comment.
66277         Use memcpy in place of a call to strcpy.
66278
66279         2006-03-12  Jim Meyering  <jim@meyering.net>
66280
66281         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
66282         matches that of the current directory (which we're about to chdir ".."
66283         out of), then save the dev-ino of the parent, instead.
66284
66285         * lib/same-inode.h (SAME_INODE): New file/macro.
66286         * lib/chdir-safer.c (SAME_INODE): Remove definition.
66287         Include "same-inode.h", instead.
66288         * lib/same.c: Likewise.
66289         * lib/cycle-check.h: Include "same-inode.h".
66290         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
66291         * lib/cycle-check.c (SAME_INODE): Remove definition.
66292         * lib/root-dev-ino.h: Include "same-inode.h".
66293
66294         2006-03-11  Eric Blake  <ebb9@byu.net>
66295
66296         * lib/same.c (same_name): s/base_name/last_component/
66297         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
66298         * lib/filenamecat.c (file_name_concat): Likewise.
66299
66300         2006-03-11  Eric Blake  <ebb9@byu.net>,
66301                     Paul Eggert  <eggert@cs.ucla.edu>
66302
66303         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
66304         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
66305         drive prefix.
66306         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
66307         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
66308         (last_component): New method.
66309         * lib/dirname.c (dir_len): Determine when drive letters need a
66310         subsequent slash.  Preserve // when it is special.
66311         (dir_name): Don't append dot when drive letter is absolute.
66312         [TEST_DIRNAME]: Move into a full-blown gnulib test.
66313         * lib/basename.c (base_name): New semantics - malloc the result.
66314         Preserve // when it is special.  Preserve relative files that look
66315         like drive letters.
66316         (base_len): Preserve // when it is special.
66317         (last_component): New method, similar to old base_name semantics.
66318         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
66319         base_name.  Strip redundant slashes from ///.
66320
66321 2006-07-03  Jim Meyering  <jim@meyering.net>
66322
66323         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
66324         macro is used before the first cycle_check call.
66325
66326 2006-07-03  Eric Blake  <ebb9@byu.net>
66327
66328         * modules/dirname (Depends-on): Add xstrndup.
66329
66330 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
66331
66332         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
66333         test cases, so that config.log is a bit easier to follow.
66334
66335 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
66336
66337         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
66338         both are 64 bits, since this seems to be the tradition, and this
66339         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
66340         we ever run into a host that prefers long long to long in this
66341         case, we'll need another configure-time test.  Problem reported by
66342         Jim Meyering.
66343
66344 2006-07-02  Eric Blake  <ebb9@byu.net>
66345
66346         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
66347
66348 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66349
66350         * modules/inttypes (Depends-on): No longer depends on stdint.
66351         * modules/stdint (Description): Say more about assumptions.
66352         Say that the fast types might differ.  Say macros are used.
66353         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
66354         (Makefile.am): Revise list of substituted symbols to match
66355         new stdint.m4.
66356         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
66357         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
66358         * tests/test-stdint.c (verify_same_types)
66359         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
66360         the code conforms to C99/C89.
66361         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
66362         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
66363
66364 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66365
66366         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
66367         but fix a bug, by requiring at least 64 bits.
66368         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
66369         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
66370         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
66371         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
66372
66373         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
66374         changes.  Make 2.59 a prerequisite.  Check and substitute for
66375         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
66376         inttypes.h.  Do not use special include files; just use the
66377         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
66378         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
66379         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
66380         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
66381         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
66382         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
66383         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
66384         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
66385         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
66386         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
66387         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
66388         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
66389         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
66390         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
66391         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
66392         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
66393         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
66394         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
66395         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
66396         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
66397         WINT_MAX.  Check for C99 conformance more strictly, by detecting
66398         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
66399         not check for things that C99 does not require, e.g., int8_t.  If
66400         a test isn't needed unless <stdint.h> isn't working, and is
66401         unlikely to be needed for any other reason, then don't do it
66402         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
66403         size_t, since we assume C89 freestanding at least.  Do not check
66404         for sig_atomic_t, wchar_t, or wint_t, since the code now does
66405         the right thing even if the types are not defined.  Instead use:
66406         (gl_STDINT_TYPE_PROPERTIES): New macro.
66407         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
66408         testing whether <sys/types.h> clashes, as Autoconf does this for
66409         us now.  All uses removed.
66410         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
66411         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
66412         (gl_CHECK_TYPE_SAME):
66413         Remove; no longer needed.
66414         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
66415         exists, since we'll return 0 anyway in that case.
66416         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
66417
66418 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66419
66420         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
66421         possible collision with system files.
66422         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
66423         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
66424         WCHAR_MIN and WCHAR_MAX in this case.
66425         (<stddef.h>): Do not include; no longer needed.
66426         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
66427         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
66428         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
66429         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
66430         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
66431         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
66432         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
66433         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
66434         !defined(__c99))]: Include in this case too, since it's harmless
66435         now.
66436         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
66437         dangerous to do so.
66438         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
66439         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
66440         (_STDINT_MIN, _STDINT_MAX): New macros.
66441         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
66442         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
66443         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
66444         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
66445         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
66446         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
66447         macros, not typedefs; this simplifies things quite a bit.
66448         Use long int for all types narrower than int64_t.
66449         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
66450         Define in terms of long long int or int64_t or long int,
66451         not int64_t or int32_t.  This saves some compile-time testing.
66452         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
66453         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
66454         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
66455         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
66456         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
66457         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
66458         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
66459         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
66460         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
66461         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
66462         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
66463         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
66464         undef any previous version and define our own version, for
66465         simplicity and consistency with the new macros for types.
66466         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
66467         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
66468         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
66469         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
66470         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
66471         @WINT_T_SUFFIX@ to keep things simple here.
66472         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
66473         Simplify by assuming typical 8/16/32/64 host, since we're
66474         already doing that elsewhere anyway.
66475         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
66476         and assume long long int is 64 bits if available.  This
66477         speeds up 'configure'.
66478
66479 2006-07-01  Eric Blake  <ebb9@byu.net>
66480
66481         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
66482         Reported by Andreas Buening.
66483
66484 2006-07-01  Eric Blake  <ebb9@byu.net>
66485
66486         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
66487
66488 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
66489
66490         * lib/getaddrinfo.c: fixed typo
66491
66492 2006-06-29  Jim Meyering  <jim@meyering.net>
66493
66494         * modules/strftime (Maintainer): Add my name, since with the
66495         FPRINTFTIME changes strftime.c has forked from glibc.
66496
66497 2006-06-29  Eric Blake  <ebb9@byu.net>
66498
66499         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
66500
66501 2006-06-29  Eric Blake  <ebb9@byu.net>
66502
66503         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
66504
66505 2006-06-29  Eric Blake  <ebb9@byu.net>
66506
66507         * lib/stat_.h: New file.
66508
66509 2006-06-29  Eric Blake  <ebb9@byu.net>
66510
66511         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
66512         unused static function.
66513
66514 2006-06-29  Eric Blake  <ebb9@byu.net>
66515
66516         * doc/functions.texi (Function Portability): Document missing lstat
66517         on mingw.
66518
66519 2006-06-29  Eric Blake  <ebb9@byu.net>
66520
66521         * MODULES.html.sh: Add sys_stat.
66522         * modules/sys_stat: New module.
66523         * modules/mkstemp (Depends-on): Add sys_stat.
66524
66525 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66526
66527         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
66528
66529 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66530
66531         * m4/c-bs-a.m4: Removed.
66532
66533 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66534
66535         * lib/strftime.c: Assume strftime() exists.
66536
66537 2006-06-29  Derek Price  <derek@ximbiot.com>
66538
66539         * modules/c-bs-a: Removed - \a is C89.
66540         * MODULES.html.sh: Remove c-bs-a.
66541
66542 2006-06-29  Bruno Haible  <bruno@clisp.org>
66543
66544         * modules/wcwidth (License): Change to LGPL.
66545
66546 2006-06-28  Simon Josefsson  <jas@extundo.com>
66547
66548         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
66549         on _WIN32.
66550
66551         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
66552         getnameinfo.
66553
66554 2006-06-28  Simon Josefsson  <jas@extundo.com>
66555
66556         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
66557
66558 2006-06-28  Simon Josefsson  <jas@extundo.com>
66559
66560         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
66561         functions there.  It will succeed on Windows XP, but on Windows
66562         2000 and (presumably) earlier, it will fail, and use the internal
66563         re-implementation.
66564         (use_win32_p): New function.
66565         (getaddrinfo): Use strtoul on servname, to support numeric ports.
66566         Support AI_NUMERICSERV to disable getservbyname.
66567         (getnameinfo): New function, only supports
66568         NI_NUMERICHOST|NI_NUMERICSERV for now.
66569
66570         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
66571         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
66572         getnameinfo.
66573
66574 2006-06-28  Eric Blake  <ebb9@byu.net>
66575
66576         * modules/wcwidth: New file.
66577         * modules/mbchar (Depends-on): Add wcwidth.
66578         * modules/mbswidth (Depends-on): Add wcwidth.
66579         * MODULES.html.sh: Add wcwidth.
66580
66581 2006-06-28  Eric Blake  <ebb9@byu.net>
66582
66583         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
66584         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
66585
66586 2006-06-28  Eric Blake  <ebb9@byu.net>
66587
66588         * lib/xvasprintf.h: Fix comments.
66589
66590 2006-06-28  Eric Blake  <ebb9@byu.net>
66591
66592         * lib/mbchar.h (wcwidth): Include wcwidth.h.
66593         * lib/mbswidth.c (wcwidth): Move from here...
66594         * lib/wcwidth.h: ...to this new file.
66595
66596 2006-06-28  Derek R. Price  <derek@ximbiot.com>
66597
66598         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
66599
66600         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
66601         it's obsolete.
66602         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
66603
66604 2006-06-28  Derek R. Price  <derek@ximbiot.com>
66605
66606         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
66607         Autoconf 2.60 says this stuff was obsolete.
66608
66609 2006-06-28  Bruno Haible  <bruno@clisp.org>
66610
66611         * modules/wcwidth (Files): Add m4/wchar_t.m4.
66612
66613 2006-06-28  Bruno Haible  <bruno@clisp.org>
66614
66615         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
66616         gt_TYPE_WCHAR_T.
66617
66618 2006-06-28  Bruno Haible  <bruno@clisp.org>
66619
66620         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
66621         declaration for wcwidth.
66622         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
66623
66624 2006-06-28  Bruno Haible  <bruno@clisp.org>
66625
66626         * lib/mkdtemp.c [MINGW]: Include <io.h>.
66627         (mkdir): Define using _mkdir.
66628
66629 2006-06-28  Bruno Haible  <bruno@clisp.org>
66630
66631         * lib/getaddrinfo.h: Fix POSIX URL.
66632         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
66633         _WIN32.
66634         (use_win32_p): Make static.
66635         (getaddrinfo): Reject service name if it is empty or does not consist
66636         solely of decimal digits, or if its value is > 65535.
66637         (getnameinfo): Remove useless casts.
66638
66639 2006-06-27  Simon Josefsson  <jas@extundo.com>
66640
66641         * modules/sys_select: New file, suggested by Bruno Haible, Paul
66642         Eggert and Martin Lambers.
66643
66644 2006-06-27  Simon Josefsson  <jas@extundo.com>
66645
66646         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
66647         Eggert and Martin Lambers.
66648
66649 2006-06-27  Bruno Haible  <bruno@clisp.org>
66650
66651         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
66652         result to 0, not to empty.
66653         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
66654
66655 2006-06-27  Bruno Haible  <bruno@clisp.org>
66656
66657         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
66658
66659 2006-06-26  Simon Josefsson  <jas@extundo.com>
66660
66661         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
66662         present.
66663
66664 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
66665
66666         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
66667         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
66668         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
66669
66670 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
66671
66672         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
66673
66674 2006-06-26  Bruno Haible  <bruno@clisp.org>
66675
66676         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
66677
66678 2006-06-26  Bruno Haible  <bruno@clisp.org>
66679
66680         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
66681
66682 2006-06-26  Bruno Haible  <bruno@clisp.org>
66683
66684         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
66685         SGI C compiler in pre-C99 mode.
66686         Suggested by Mark D. Baushke and Larry Jones.
66687
66688 2006-06-26  Bruno Haible  <bruno@clisp.org>
66689
66690         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
66691         WCHAR_MAX.
66692         Reported by Mark D. Baushke and Larry Jones.
66693
66694 2006-06-26  Bruno Haible  <bruno@clisp.org>
66695
66696         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
66697         in pre-C99 mode.
66698         Suggested by Mark D. Baushke and Larry Jones.
66699
66700 2006-06-23  Simon Josefsson  <jas@extundo.com>
66701             Bruno Haible  <bruno@clisp.org>
66702
66703         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
66704         Emit mostlyclean-local rule.
66705         (func_emit_tests_Makefile_am): Likewise.
66706         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
66707
66708 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
66709
66710         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
66711
66712 2006-06-23  Bruno Haible  <bruno@clisp.org>
66713
66714         * tests/test-stdint.c: Update to match ISO C 99 Technical
66715         Corrigendum 1.
66716
66717 2006-06-23  Bruno Haible  <bruno@clisp.org>
66718
66719         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
66720
66721 2006-06-23  Bruno Haible  <bruno@clisp.org>
66722
66723         * lib/stdint_.h: Treat IRIX like OpenBSD.
66724
66725 2006-06-23  Bruno Haible  <bruno@clisp.org>
66726
66727         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
66728         ISO C 99 Technical Corrigendum 1.
66729
66730 2006-06-22  Simon Josefsson  <jas@extundo.com>
66731
66732         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
66733         MinGW.
66734
66735 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
66736
66737         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
66738         needed.  Some compiler complained about some of them.  Problem reported
66739         by Larry Jones in
66740         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
66741
66742 2006-06-21  Simon Josefsson  <jas@extundo.com>
66743
66744         * tests/test-getaddrinfo.c: New file.
66745
66746         * modules/getaddrinfo-tests: New file.
66747
66748         * MODULES.html.sh: Add inet_pton.
66749
66750         * modules/inet_pton: New file.
66751
66752 2006-06-21  Simon Josefsson  <jas@extundo.com>
66753
66754         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
66755         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
66756         of using the (limited) gnulib implementation on Windows XP.
66757
66758         * m4/inet_pton.m4: New file.
66759
66760 2006-06-21  Simon Josefsson  <jas@extundo.com>
66761
66762         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
66763         variable.
66764
66765         * lib/socket_.h: Don't define WINVER.
66766
66767         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
66768         slightly modified to work in gnulib.
66769
66770 2006-06-21  Simon Josefsson  <jas@extundo.com>
66771
66772         * doc/gnulib.texi (Windows sockets): Add.
66773
66774 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
66775
66776         * lib/read-file.c (fread_file): Start with buffer allocation of
66777         0 bytes rather than 1 byte; this simplifies the code.
66778         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
66779         code to free buffer and save/restore errno.
66780         (internal_read_file): Remove unused local.
66781
66782 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
66783
66784         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
66785         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
66786         Problem reported by Denis Excoffier in
66787         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
66788
66789 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66790
66791         * modules/sys_socket, modules/socklen: Include sys/types since
66792         FreeBSD 4.x's sys/socket.h needs it.
66793
66794 2006-06-19  Simon Josefsson  <jas@extundo.com>
66795
66796         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
66797
66798 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
66799
66800         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
66801
66802 2006-06-19  Bruno Haible  <bruno@clisp.org>
66803
66804         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
66805         and FULL_PATH_INTTYPES_H in angle brackets.
66806         Reported by Mark D. Baushke <mdb@gnu.org>.
66807
66808 2006-06-17  Eric Blake  <ebb9@byu.net>
66809
66810         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
66811         errno.
66812
66813 2006-06-17  Bruno Haible  <bruno@clisp.org>
66814
66815         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
66816         <sys/inttypes.h>.
66817
66818 2006-06-17  Bruno Haible  <bruno@clisp.org>
66819
66820         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
66821         whether errno is declared. Assume <errno.h> declares errno.
66822
66823 2006-06-17  Bruno Haible  <bruno@clisp.org>
66824
66825         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
66826
66827 2006-06-17  Bruno Haible  <bruno@clisp.org>
66828
66829         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
66830         problem on Solaris 2.5.1.
66831
66832 2006-06-16  Eric Blake  <ebb9@byu.net>
66833
66834         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
66835         * lib/unicodeio.c [!defined errno]: Likewise.
66836         * lib/strtol.c [!defined errno]: Likewise.
66837         * lib/strtod.c [!defined errno]: Likewise.
66838
66839 2006-06-15  Eric Blake  <ebb9@byu.net>
66840
66841         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
66842
66843 2006-06-15  Eric Blake  <ebb9@byu.net>
66844
66845         * config/srclist.txt (ssize_t.m4): Lose sync.
66846
66847 2006-06-15  Bruno Haible  <bruno@clisp.org>
66848
66849         * modules/stdint (Files): Include m4/full-header-path.m4,
66850         m4/size_max.m4, m4/wchar_t.m4.
66851         (Makefile.am): Many more substitutions.
66852         * modules/stdint-tests: New file.
66853         * tests/test-stdint.c: New file.
66854
66855 2006-06-15  Bruno Haible  <bruno@clisp.org>
66856
66857         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
66858         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
66859         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
66860         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
66861         gl_CHECK_TYPE_SAME): New macros.
66862
66863 2006-06-15  Bruno Haible  <bruno@clisp.org>
66864
66865         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
66866
66867 2006-06-15  Bruno Haible  <bruno@clisp.org>
66868
66869         * lib/stdint_.h: Rewritten to be fully auto-configured.
66870         Fixes bug on HP-UX/IA64.
66871
66872 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
66873
66874         * lib/getdate.y (__attribute__): Don't define if already defined.
66875         Problem reported by Larry Jones.
66876         * lib/utimens.c (__attribute__): Likewise.
66877
66878 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
66879
66880         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
66881         reported by Andreas Schwab.
66882
66883 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66884             Bruno Haible  <bruno@clisp.org>
66885
66886         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
66887         check for the declaration of strnlen and a run test that exposes the
66888         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
66889         rpl_strndup.
66890
66891 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66892             Bruno Haible  <bruno@clisp.org>
66893
66894         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
66895
66896 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66897
66898         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
66899         compile test, for Tru64 4.0D.
66900
66901 2006-05-28  Karl Berry  <karl@gnu.org>
66902
66903         * config/srclist.txt (printf-args.c): lose sync.
66904
66905 2006-05-26  Martin Lambers  <marlam@marlam.de>
66906
66907         * lib/getpass.c: Updates the test for the native W32 API, and adds
66908         missing includes, thus fixing compilation warnings.
66909
66910 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66911
66912         * lib/exclude.c (exclude_fnmatch): New function.
66913         (excluded_file_name): Call exclude_fnmatch.
66914         * lib/exclude.h (excluded_file_name): New prototype
66915
66916 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
66917
66918         * lib/tempname.c (small_open, large_open): New macros.
66919         (__open, __open64) [!_LIBC]: Remove.
66920         (__gen_tempname): Use small_open and large_open instead of __open
66921         and __open64.  This fixes a portability bug on HP-UX 11.11i
66922         reported by Simon Wing-Tang in
66923         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
66924
66925 2006-05-24  Bruno Haible  <bruno@clisp.org>
66926
66927         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
66928         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
66929         Reported by Thorsten Maerz <torte@netztorte.de> via
66930         Aaron Stone <aaron@serendipity.cx>.
66931
66932 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
66933
66934         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
66935         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
66936         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
66937         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
66938         not really conditional on the cache.
66939         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
66940
66941 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
66942
66943         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
66944         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
66945         (my_usleep): Don't mishandle maximum value.
66946
66947 2006-05-19  Jim Meyering  <jim@meyering.net>
66948
66949         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
66950
66951 2006-05-17  Bruno Haible  <bruno@clisp.org>
66952
66953         Cygwin portability.
66954         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
66955
66956 2006-05-17  Bruno Haible  <bruno@clisp.org>
66957
66958         * lib/stdint_.h: Fix recognition of Cygwin.
66959
66960 2006-05-15  Bruno Haible  <bruno@clisp.org>
66961
66962         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
66963         on libtool patch by Ralf Wildenhues.
66964
66965 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66966
66967         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
66968         test for C99 conformance; (bool) 0.5 is an integer constant
66969         expression, but (bool) -0.5 is not.  Problem reported by Fedor
66970         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
66971
66972 2006-05-11  Simon Josefsson  <jas@extundo.com>
66973
66974         * m4/xvasprintf.m4: Fix obvious typo.
66975
66976 2006-05-11  Jim Meyering  <jim@meyering.net>
66977
66978         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
66979         James Lemley.
66980
66981 2006-05-10  Simon Josefsson  <jas@extundo.com>
66982
66983         * lib/md4.c: Typo fix, update copyright years.
66984         (K1, K2): Don't use L because it turn computations into 64-bit on
66985         64-bit platforms.
66986
66987 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
66988
66989         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
66990         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
66991         unwanted sign propagation, e.g., on hosts with 64-bit int.
66992         There still are some problems with reeelly weird theoretical hosts
66993         (e.g., 33-bit int) but it's not worth worrying about now.
66994         * lib/sha1.c (rol): Likewise.
66995         (K1, K2, K3, K4): Remove unnecessary L suffix.
66996
66997 2006-05-10  Bruno Haible  <bruno@clisp.org>
66998
66999         * lib/des.c: Cast to avoid warnings.
67000
67001 2006-05-09  Bruno Haible  <bruno@clisp.org>
67002
67003         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
67004         (Depends-on): Depend also on xsize, stdarg.
67005         (configure.ac): Add gl_XVASPRINTF.
67006
67007 2006-05-09  Bruno Haible  <bruno@clisp.org>
67008
67009         * m4/xvasprintf.m4: New file.
67010
67011 2006-05-09  Bruno Haible  <bruno@clisp.org>
67012
67013         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
67014         (EOVERFLOW): Define fallback value.
67015         (xstrcat): New function.
67016         (xvasprintf): Recognize the special case of a string concatenation.
67017
67018 2006-05-08  Eric Blake  <ebb9@byu.net>
67019
67020         * gnulib-tool (func_version): Base copyright year on CVS date.
67021         (func_emit_copyright_notice): New function.
67022         (func_emit_lib_Makefile_am): Use it.
67023         (func_emit_tests_Makefile_am): Likewise.
67024         (func_import): Likewise.
67025
67026 2006-05-08  Bruno Haible  <bruno@clisp.org>
67027
67028         * modules/stdarg: New file.
67029         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
67030
67031 2006-05-08  Bruno Haible  <bruno@clisp.org>
67032
67033         * m4/stdarg.m4: New file, from GNU gettext.
67034
67035 2006-05-08  Bruno Haible  <bruno@clisp.org>
67036
67037         * config/srclist.txt (build-aux/config.rpath): different from latest
67038         release.
67039
67040 2006-05-08  Bruno Haible  <bruno@clisp.org>
67041
67042         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
67043
67044 2006-05-05  Jim Meyering  <jim@meyering.net>
67045
67046         * m4/warning.m4: New file, derived from bison's file by the same name.
67047
67048 2006-05-03  Bruno Haible  <bruno@clisp.org>
67049
67050         * lib/stdint_.h: Shorter URL.
67051         * lib/inttypes.h: Likewise.
67052
67053 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67054
67055         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
67056
67057 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67058
67059         * lib/verify.h: Document the internals better.  Most of this change
67060         was written by Bruno Haible.
67061
67062 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67063
67064         * doc/verify.texi: New file, partly based on a proposal by
67065         Bruno Haible.
67066
67067 2006-05-02  Bruno Haible  <bruno@clisp.org>
67068
67069         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
67070         test from here...
67071         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
67072
67073 2006-04-29  Bruno Haible  <bruno@clisp.org>
67074
67075         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
67076         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
67077
67078 2006-04-29  Bruno Haible  <bruno@clisp.org>
67079
67080         * gnulib-tool: Make --update option actually work.
67081
67082 2006-04-29  Bruno Haible  <bruno@clisp.org>
67083
67084         * doc/gcd.texi: New file.
67085         * doc/gnulib.texi: Include it.
67086
67087 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
67088
67089         * lib/getdate.y (get_date): When adding relative date, start with the
67090         initial time, not with the result of the first mktime call.
67091
67092 2006-04-25  Bruno Haible  <bruno@clisp.org>
67093
67094         * gnulib-tool (func_import): Output the include directives in three
67095         blocks, sorted separately.
67096         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67097
67098 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
67099
67100         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
67101         to define main with arguments, for C++.  Reported by Eric Blake.
67102         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
67103         Prefer 'int main ()' to 'int main (void)', for C++.
67104         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
67105         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
67106         for 'main', for C99 and C++.
67107
67108 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
67109
67110         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
67111         Don't assume that exit status -1 is valid.
67112         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67113         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
67114         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
67115         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
67116         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
67117         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
67118         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
67119         functions can be used without declaring them, or that you can
67120         exit with status -1.
67121         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
67122
67123 2006-04-24  Karl Berry  <karl@gnu.org>
67124
67125         * config/srclist.txt (longdouble.m4): sync lost.
67126
67127 2006-04-24  Eric Blake  <ebb9@byu.net>
67128
67129         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
67130
67131 2006-04-24  Bruno Haible  <bruno@clisp.org>
67132
67133         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
67134         poll() implementation in AIX.
67135         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67136
67137 2006-04-24  Bruno Haible  <bruno@clisp.org>
67138
67139         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
67140         assigned exactly once.
67141
67142 2006-04-23  Claudio Fontana  <claudio@gnu.org>
67143             Bruno Haible  <bruno@clisp.org>
67144
67145         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
67146         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
67147         for AM_CPPFLAGS.
67148
67149 2006-04-23  Bruno Haible  <bruno@clisp.org>
67150
67151         * modules/copy-file: Depend on unistd.
67152         * modules/execute: Likewise.
67153         * modules/fatal-signal: Likewise.
67154         * modules/findprog: Likewise.
67155         * modules/mkdtemp : Likewise.
67156         * modules/pipe: Likewise.
67157         * modules/wait-process: Likewise.
67158
67159 2006-04-23  Bruno Haible  <bruno@clisp.org>
67160
67161         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
67162         condition was already detected.
67163         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67164
67165 2006-04-23  Bruno Haible  <bruno@clisp.org>
67166
67167         * lib/copy-file.c: Include <unistd.h> unconditionally.
67168         * lib/execute.c: Likewise.
67169         * lib/fatal-signal.c: Likewise.
67170         * lib/findprog.c: Likewise.
67171         * lib/mkdtemp.c: Likewise.
67172         * lib/pipe.h: Likewise.
67173         * lib/pipe.c: Likewise.
67174         * lib/wait-process.h: Likewise.
67175
67176 2006-04-23  Bruno Haible  <bruno@clisp.org>
67177
67178         * gnulib-tool (func_usage): Fix --import description. Document
67179         --update.
67180         (func_import): Create temporary file in a temporary directory, if
67181         --dry-run is specified. Silence errors from 'grep' when there are no
67182         m4 files in $m4dir.
67183         (func_create_testdir): Silence errors from 'grep' when there are no
67184         m4 files in $m4dir.
67185         Reported by Karl Berry <karl@freefriends.org>.
67186
67187 2006-04-20  Bruno Haible  <bruno@clisp.org>
67188
67189         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
67190         one argument, so that the code will be portable to Autoconf 2.60.
67191         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
67192         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
67193         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
67194
67195 2006-04-19  Derek Price  <derek@ximbiot.com>
67196             Eric Blake  <ebb9@byu.net>
67197
67198         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
67199         rather than "/full/path.h".  Update comment to match.  Shorten &
67200         generalize m4_translit call via AS_TR_CPP.
67201
67202 2006-04-19  Derek Price  <derek@ximbiot.com>
67203             Eric Blake  <ebb9@byu.net>
67204
67205         * lib/inttypes.h: Correct grammar in comment.
67206
67207 2006-04-18  Derek Price  <derek@ximbiot.com>
67208             Paul Eggert  <eggert@cs.ucla.edu>
67209
67210         * modules/inttypes: New file.
67211         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
67212
67213 2006-04-18  Derek Price  <derek@ximbiot.com>
67214             Paul Eggert  <eggert@cs.ucla.edu>
67215
67216         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
67217         New files.
67218
67219 2006-04-18  Derek Price  <derek@ximbiot.com>
67220             Paul Eggert  <eggert@cs.ucla.edu>
67221
67222         * lib/inttypes.h: New file.
67223         * lib/strtoimax.c: Assume <inttypes.h>.
67224
67225 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
67226
67227         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
67228         isn't mounted.  Problem reported by Kir Kolyshkin.
67229
67230 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67231
67232         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
67233         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
67234         Derek R. Price.
67235         * lib/regex.h (RE_DUP_MAX): Update comment to match current
67236         implementation.
67237
67238 2006-04-12  Eric Blake  <ebb9@byu.net>
67239
67240         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
67241         is now done automatically by the corresponding Autoconf macro.
67242
67243 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
67244
67245         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
67246         time_r.h.
67247
67248 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67249
67250         Merge regex changes from libc, removing some of our
67251         POSIX-conformance changes that were rejected and redoing them in a
67252         less-intrusive way.
67253
67254         * lib/regcomp.c (re_compile_internal, init_dfa):
67255         Length arg is now size_t, not Idx.  All uses changed.
67256         (peek_token): Forward decl now says internal_function.
67257         (__re_error_msgid, __re_error_msgid_idx):
67258         Now static rather than extern with attribute_hidden.
67259         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
67260         For some reason libc prefers K&R style defns for external functions.
67261         (regerror) [!defined _LIBC]: Likewise.
67262         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
67263         (seek_collating_symbol_entry, lookup_collation_sequence_value):
67264         (build_range_exp, build_collating_symbol):
67265         Use K&R-style defn.
67266         (re_compile_fastmap): Use '\0' to memset, not 0.
67267         (utf8_sb_map): Make the calculations more obvious.
67268         (init_dfa, parse_bracket_exp, build_charclass_op):
67269         Call calloc and cast result, as glibc does.
67270         (init_word_char, fetch_token, peek_token, peek_token_bracket):
67271         (build_range_exp, build_collating_symbol):
67272         Now internal functions.
67273
67274         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
67275
67276         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
67277         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
67278         Don't depend on VMS; depend on __VMS instead, for POSIX
67279         namespace cleanness.
67280         (regoff_t): Define to ssize_t, not long int.
67281
67282         Remove the REG_ macros named below.  Instead, make the old names
67283         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
67284         __USE_GNU_REGEX.
67285         (REG_BACKSLASH_ESCAPE_IN_LISTS):
67286         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
67287         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
67288         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
67289         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
67290         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
67291         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
67292         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
67293         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
67294         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
67295         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
67296         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
67297         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
67298         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
67299         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
67300         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
67301         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
67302         (REG_NREGS):
67303         Remove.  All uses replaced by the old RE_* names.
67304         (RE_BACKSLASH_ESCAPE_IN_LISTS):
67305         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
67306         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
67307         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
67308         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
67309         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
67310         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
67311         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
67312         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
67313         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
67314         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
67315         Don't bother having these macros be independent of each others'
67316         values, since they no longer exist in the POSIX name space.
67317
67318         Rename the following member names back to their old names,
67319         unless !__USE_GNU_REGEX.  All uses changed back.
67320         (buffer): Renamed from re_buffer.
67321         (allocated): Renamed from re_allocated.
67322         (used): Renamed from re_used.
67323         (syntax): Renamed from re_syntax.
67324         (fastmap): Renamed from re_fastmap.
67325         (translate): Renamed from re_translate.
67326         (can_be_null): Renamed from re_can_be_null.
67327         (regs_allocated): Renamed from re_regs_allocated.
67328         (fastmap_accurate): Renamed from re_fastmap_accurate.
67329         (no_sub): Renamed from re_no_sub.
67330         (not_bol): Renamed from re_not_bol.
67331         (not_eol): Renamed from re_not_eol.
67332         (newline_anchor): Renamed from re_newline_anchor.
67333         (num_regs): Renamed from rm_num_regs.
67334         (start): Renamed from rm_start.
67335         (end): Renamed from rm_end.
67336
67337         (free_state): Move up a bit.
67338
67339         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
67340         #define to be empty.
67341         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
67342         when that is what is intended.
67343         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
67344         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
67345         (MAX): New macro.
67346         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
67347         All uses changed back to re_malloc, etc.  It's now the caller's
67348         responsibility to check for overflow; all callers changed.
67349         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
67350         (re_x2nrealloc): Remove.
67351         (free_state): Remove decl.
67352
67353         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
67354         (re_set_registers, re_exec):
67355         Use K&R-style defn.
67356
67357         2006-01-31  Roland McGrath  <roland@redhat.com>
67358
67359         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
67360         Reported by Mike Frysinger <vapier@gentoo.org>.
67361
67362         2006-01-15  Andreas Jaeger  <aj@suse.de>
67363
67364         [BZ #1950]
67365         * lib/regex_internal.c (re_string_reconstruct): Adjust for
67366         build_wcs_upper_buffer change.
67367         (build_wcs_upper_buffer): Change return type.
67368
67369         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
67370
67371         * lib/regex_internal.h: Include <stdint.h> if available.
67372
67373         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
67374
67375         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
67376
67377         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
67378
67379         * lib/regcomp.c: Adjust for changed secondary hash function.
67380
67381         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
67382
67383         * lib/regex.h: Pretty printing.
67384         Clean up namespace a bit.
67385
67386         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
67387
67388         * lib/regexec.c (update_cur_sifted_state, check_arrival,
67389         check_arrival_add_next_nodes): Avoid using uninitialized variable.
67390
67391         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67392                     Ulrich Drepper  <drepper@redhat.com>
67393
67394         [BZ #1302]
67395         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
67396         changed.
67397         (bitset_word_t): Renamed from bitset_word.  All uses changed.
67398
67399         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
67400
67401         [BZ #281]
67402         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
67403         * lib/regcomp.c: Remove unnecessary uses of
67404         unsigned RE_TRANSLATE_TYPE.
67405         * lib/regex_internal.h: Likewise.
67406         * lib/regex_internal.c: Likewise.
67407         * lib/regexec.c: Likewise.
67408         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
67409
67410         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
67411
67412         * lib/regexec.c (find_recover_state): Remove unnecessary
67413         initialization.
67414         (transit_state_bkref): Make DFA a const pointer.
67415         (get_subexp): Likewise.
67416         (check_arrival): Likewise.
67417         (update_cur_sifted_state): Likewise.
67418         (re_search_internal): Likewise.
67419         (prune_impossible_nodes): Likewise.
67420         (acquire_init_state_context): Likewise.
67421         (proceed_next_node): Likewise.
67422         (set_regs): Likewise.
67423         (free_fail_stack_return): Likewise.
67424         (check_arrival_expand_ecl): Mark DFA parameter as const.
67425         (check_arrival_expand_ecl_sub): Likewise.
67426         (check_subexp_limits): Likewise.
67427         (sub_epsilon_src_nodes):  Likewise.
67428         (add_epsilon_src_nodes):  Likewise.
67429         (merge_state_array): Likewise.
67430         (update_regs): Likewise.
67431         (build_trtable): Likewise.
67432         (sift_states_backward): Mark MCTX parameter as const.
67433         (build_sifted_states): Likewise.
67434         (update_cur_sifted_state): Likewise.
67435         (sift_states_mkref): Likewise.
67436         (check_arrival_expand_ecl): Mark eclosure as const.
67437         (check_dst_limits_calc_pos_1): Likewise.
67438         * lib/regex_internal.h (re_match_context_t): Make dfa a const
67439         pointer.
67440
67441         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
67442
67443         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
67444         (transit_state_sb): Likewise.
67445         (transit_state_mb): Likewise.
67446         (sift_states_iter_mb): Likewise.
67447         (check_arrival_add_next_nodes): Likewise.
67448         (check_node_accept_bytes): Change first parameter to pointer-to-const.
67449         [_LIBC] (re_search_2_stub): Use mempcpy.
67450
67451         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
67452         mbrtowc for very simple UTF-8 case.
67453
67454         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
67455         a pointer-to-const.
67456         (re_acquire_state_context): Likewise.
67457         * lib/regex_internal.h: Adjust prototypes.
67458
67459         * lib/regex.c: Prevent using C++ compilers.
67460
67461         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
67462         (re_acquire_state_context): Likewise.
67463
67464 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67465
67466         * modules/regex (Depends-on): Add ssize_t.
67467
67468 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67469
67470         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
67471         translation table.
67472
67473 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67474
67475         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
67476
67477 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
67478             Bruno Haible  <bruno@clisp.org>
67479
67480         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
67481         <sys/types.h> and <inttypes.h>.
67482
67483 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67484
67485         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
67486         `__error_t_defined', so argp.h will not typedef the former.
67487
67488 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
67489
67490         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
67491         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
67492         glibc names.  Even if glibc is changed to conform to POSIX, the
67493         traditional names will be available anyway, since regex depends on
67494         the extensions module.  Also, fix a longstanding typo in the
67495         implementation of Spencer ERE test #75 from grep 2.3.  Problems
67496         reported by Emanuele Giaquinta.  Also, change sense of cached
67497         variable, so that the message makes sense.
67498
67499 2006-03-24  Simon Josefsson  <jas@extundo.com>
67500
67501         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
67502         including some doc fixes.
67503         (base64_encode_alloc): Fix +1 bug on allocation failures.
67504
67505 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67506
67507         * lib/base64.c (base64_encode): Do not read past end of array with
67508         unsanitized input on systems with CHAR_BIT > 8.
67509
67510 2006-03-24  Eric Blake  <ebb9@byu.net>
67511
67512         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
67513
67514 2006-03-22  Karl Berry  <karl@gnu.org>
67515
67516         * config/srclist.txt (*setenv.[ch]): get from coreutils.
67517         * config/srclistvars.sh (COREUTILS): new var.
67518
67519 2006-03-17  Jim Meyering  <jim@meyering.net>
67520
67521         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
67522         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
67523
67524 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
67525
67526         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
67527         no longer needs it.  Instead, check that regoff_t is as least
67528         as wide as ptrdiff_t.
67529
67530         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
67531         so that our regex.h stays compatible with the installed regex.
67532         This is helpful for installers who configure --without-included-regex.
67533         Problem reported by Emanuele Giaquinta.
67534
67535 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
67536
67537         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
67538         Typedef to long int, not to off_, as POSIX will likely change
67539         in that direction.
67540
67541 2006-03-15  Eric Blake  <ebb9@byu.net>
67542
67543         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
67544
67545 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
67546
67547         * lib/argp-help.c (validate_uparams): Fix typo
67548         * lib/argp-parse.c (argp_default_options): Consistently begin help
67549         messages with a lowercase letter.
67550
67551 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
67552
67553         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
67554         overrun buffers and shouldn't be used (much as gets shouldn't be
67555         used).
67556         * lib/time_r.c (asctime_r, ctime_r): Likewise.
67557
67558 2006-03-08  Simon Josefsson  <jas@extundo.com>
67559
67560         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
67561         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67562
67563 2006-03-08  Simon Josefsson  <jas@extundo.com>
67564
67565         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
67566         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67567
67568 2006-03-08  Simon Josefsson  <jas@extundo.com>
67569
67570         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
67571         signal that configure disabled the device.
67572
67573 2006-03-08  Simon Josefsson  <jas@extundo.com>
67574
67575         * build-aux/maint.mk: Fix refresh-po, to handle no translated
67576         languages.
67577
67578 2006-03-07  Simon Josefsson  <jas@extundo.com>
67579
67580         * modules/getopt (Depends-on): Add unistd.
67581
67582         * modules/unistd: New file.
67583
67584 2006-03-07  Simon Josefsson  <jas@extundo.com>
67585
67586         * modules/gc-random: New file.
67587
67588 2006-03-07  Simon Josefsson  <jas@extundo.com>
67589
67590         * m4/unistd_h.m4: New file.
67591
67592 2006-03-07  Simon Josefsson  <jas@extundo.com>
67593
67594         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
67595         test to be side-effect free by storing the result in the cache
67596         variable gl_cv_lib_readline, and moving the assignment of
67597         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
67598         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67599
67600 2006-03-07  Simon Josefsson  <jas@extundo.com>
67601
67602         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
67603         error on missing devices (the functions will return an error).
67604
67605         * m4/gc.m4: Move random stuff to gc-random.m4
67606
67607 2006-03-07  Simon Josefsson  <jas@extundo.com>
67608
67609         * lib/unistd_.h: New file.
67610
67611 2006-03-07  Simon Josefsson  <jas@extundo.com>
67612
67613         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
67614
67615 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67616
67617         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
67618         Problem reported by Juan Manuel Guerrero.
67619
67620 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67621
67622         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
67623         the unistd module.
67624         * lib/getlogin_r.c: Likewise.
67625         * lib/getlogin_r.h: Likewise.
67626         * lib/glob.c: Likewise.
67627         * lib/pagealign_alloc.c: Likewise.
67628         * lib/unistd_.h: Remove; no longer needed.
67629
67630 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67631
67632         * MODULES.html.sh (Support for systems lacking POSIX:2001):
67633         Add unistd.
67634         * modules/c-stack (Depends-on): Add unistd.
67635         * modules/getlogin_r: Likewise.
67636         * modules/glob: Likewise.
67637         * modules/pagealign_alloc: Likewise.
67638         * modules/unistd (Files): Remove lib/unistd_.h.
67639         (EXTRA_DIST): Remove.
67640         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
67641         need unistd_.h.
67642         (MOSTLYCLEANFILES): Remove unistd.h-t.
67643
67644 2006-03-03  Simon Josefsson  <jas@extundo.com>
67645
67646         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
67647
67648 2006-03-03  Simon Josefsson  <jas@extundo.com>
67649
67650         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
67651         libidn and bison.
67652
67653 2006-03-03  Simon Josefsson  <jas@extundo.com>
67654
67655         * build-aux/maint.mk: Add indent target.
67656
67657 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
67658
67659         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
67660         our replacement poll.h in any case, to avoid a differing
67661         declaration from a system header.  Seen on AIX.
67662
67663 2006-03-01  Simon Josefsson  <jas@extundo.com>
67664
67665         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
67666         <kasal@ucw.cz>.
67667
67668 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67669
67670         * modules/gettime (Depends-on): Add extensions module.
67671         * modules/nanosleep (Depends-on): Likewise.
67672         * modules/settime (Depends-on): Likewise.
67673
67674 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67675
67676         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
67677         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
67678         pedantically.
67679         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67680         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
67681
67682         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
67683         not "==".  Reported by Ralf Wildenhues.
67684
67685 2006-03-01  Karl Berry  <karl@gnu.org>
67686
67687         * doc/Copyright/request-*: new files, synced from gnuorg.
67688
67689 2006-03-01  Karl Berry  <karl@gnu.org>
67690
67691         * config/srclist.txt (Copyright/*): new entries.
67692
67693 2006-02-28  Simon Josefsson  <jas@extundo.com>
67694
67695         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
67696
67697 2006-02-27  Simon Josefsson  <jas@extundo.com>
67698
67699         * lib/base64.h: Indent #define's.  From Jim Meyering
67700         <jim@meyering.net>.
67701
67702 2006-02-27  Jim Meyering  <jim@meyering.net>
67703
67704         Revert the change of 2006-02-24, so these files can continue
67705         to be sync'd from gettext.
67706         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
67707         of `config.h'.
67708
67709 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
67710
67711         * modules/intprops: New file.
67712         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
67713         Add intprops.
67714         * modules/getloadavg (Files): Remove lib/intprops.h.
67715         (Depends-on): Add intprops.
67716         * modules/human: Likewise.
67717         * modules/inttostr: Likewise.
67718         * modules/openat: Likewise.
67719         * modules/sig2str: Likewise.
67720         * modules/userspec: Likewise.
67721         * modules/utimecmp: Likewise.
67722         * modules/xnanosleep: Likewise.
67723         * modules/xstrtol: Likewise.
67724
67725 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
67726
67727         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
67728         * modules/lock-tests (TESTS): Use $(EXEEXT).
67729         * modules/tls-tests: Likewise.
67730         * modules/argp-tests: Likewise.
67731         (check_PROGRAMS): New var, replacing...
67732         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
67733
67734 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67735
67736         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
67737         `config.h'.
67738
67739 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
67740
67741         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
67742
67743 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67744
67745         Sync from coreutils.
67746         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
67747         gl_CHDIR_SAFER.
67748
67749 2006-02-22  Jim Meyering  <jim@meyering.net>
67750
67751         Sync from coreutils.
67752         * m4/chdir-safer.m4: New file.
67753
67754 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
67755
67756         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
67757         AT_FDCWD exceeds INT_MAX.
67758         * lib/openat.h (AT_FDCWD): Likewise.
67759
67760 2006-02-17  Eric Blake  <address@hidden>
67761
67762         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
67763
67764 2006-02-16  Simon Josefsson  <jas@extundo.com>
67765
67766         * modules/getaddrinfo (Depends-on): Add sys_socket.
67767
67768 2006-02-15  Simon Josefsson  <jas@extundo.com>
67769
67770         * build-aux/maint.mk: Add dsyntax-check rule.
67771
67772 2006-02-15  Eric Blake  <ebb9@byu.net>
67773
67774         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
67775         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
67776         'present but cannot compile' warnings on cygwin.
67777         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
67778         use ws2tcpip.h if sys/socket.h works.
67779         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
67780         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
67781
67782 2006-02-14  Simon Josefsson  <jas@extundo.com>
67783
67784         * modules/maintainer-makefile (Files): Rename.
67785
67786         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
67787         and (the local) Makefile.cfg to maint-cfg.mk.
67788
67789         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
67790         to the latter.
67791
67792         * modules/maintainer-makefile: New module.
67793
67794         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
67795         severaly stripped to make it possible to build it up from scratch
67796         with reliable tests.
67797
67798         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
67799         fixes to permit overriding the default actions when configure and
67800         makefile are not available.
67801
67802 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67803
67804         Sync from coreutils.
67805         * modules/lstat (Depends-on): Don't depend on xalloc.
67806         (License): Change from GPL to LGPL, since this is now simply a
67807         replacement for a libc function.
67808
67809 2006-02-14  Jim Meyering  <jim@meyering.net>
67810
67811         Sync from coreutils.
67812
67813         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
67814         failure on deficient systems, and simplify gnulib lgpl dependencies.
67815         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
67816         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
67817
67818         * lib/xalloc-die.c: Remove unused definition of N_.
67819
67820 2006-02-14  Jim Meyering  <jim@meyering.net>
67821
67822         Sync from coreutils.
67823         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
67824         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
67825         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
67826         double-quote uses of that variable, to accommodate the rare case in
67827         which getmntent is available in none of the libraries checked.  This
67828         happens at least on FreeBSD 5.0.
67829
67830 2006-02-13  Simon Josefsson  <jas@extundo.com>
67831
67832         * gnulib-tool (Usage): Fix --import, from
67833         karl@freefriends.org (Karl Berry).
67834
67835 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
67836
67837         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
67838
67839 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
67840
67841         * lib/argp-namefrob.h: Restore changes accidentally lost during the
67842         "autoupdate" on 2005-12-12.
67843
67844 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
67845
67846         * modules/closeout (Depends-on): Remove atexit.
67847
67848 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
67849
67850         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
67851         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
67852
67853 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67854
67855         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
67856         __EXTENSIONS__ if this causes compilation to fail.  Problem
67857         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
67858         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
67859
67860 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
67861
67862         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
67863         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
67864         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
67865         All uses changed.
67866
67867 2006-01-26  Simon Josefsson  <jas@extundo.com>
67868
67869         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
67870         prototype is visible on mingw32.
67871
67872         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
67873         for mingw32.
67874
67875         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
67876         mingw32).
67877
67878 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
67879
67880         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
67881         attempt to open for write; this always fails, at least on POSIX
67882         hosts.  This reinstates the 2006-01-09 change, which was
67883         inadvertently removed.
67884
67885 2006-01-26  Bruno Haible  <bruno@clisp.org>
67886
67887         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
67888         Reported by Paul Eggert.
67889
67890 2006-01-26  Bruno Haible  <bruno@clisp.org>
67891             Paul Eggert  <eggert@cs.ucla.edu>
67892
67893         * lib/stdbool_.h (_Bool)
67894         [(! (defined __cplusplus || defined __BEOS__)
67895           && !defined __GNUC__
67896           && !(defined __HP_cc || defined __xlc__
67897                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
67898                || defined __sgi))]:
67899         #define to signed char in these cases too; this simplifies
67900         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
67901         etc., separately) and makes it more conservative.
67902
67903 2006-01-25  Simon Josefsson  <jas@extundo.com>
67904
67905         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
67906         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
67907         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
67908
67909 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
67910
67911         * lib/argp-namefrob.h: Bugfix. Remove stray #
67912
67913 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
67914
67915         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
67916         so that we test the test.
67917         Check for yet another HP-UX cc bug involving *bool |= bool.
67918
67919 2006-01-25  Karl Berry  <karl@gnu.org>
67920
67921         * config/srclist.txt (vasnprintf.c): sync lost.
67922
67923 2006-01-25  Jim Meyering  <jim@meyering.net>
67924
67925         Sync from the stable (b5) branch of coreutils:
67926
67927         * lib/fts.c (fts_children): Don't let close() clobber errno from
67928         failed fchdir().
67929
67930         * lib/fts.c (fts_stat): When following a symlink-to-directory,
67931         don't necessarily interpret stat-fails+lstat-succeeds as indicating
67932         a dangling symlink.  That can also happen at least for ELOOP.
67933         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
67934         FYI, this bug predates the inclusion of fts.c in coreutils.
67935
67936         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
67937         in their own block, so pre-c99 compilers don't object.
67938
67939         Avoid the double-free (first in fts_read, second in fts_close) that
67940         would occur when an `active' directory is made inaccessible (e.g.,
67941         via chmod a-x) during a traversal.
67942         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
67943         before returning.  Reproduce this failure by
67944         mkdir -p a/b; cd a; chmod a-x . b
67945         Reported by Stavros Passas.
67946
67947 2006-01-25  Jim Meyering  <jim@meyering.net>
67948
67949         * lib/fileblocks.c: Remove more useless parentheses.
67950         * lib/readutmp.h: Likewise.
67951
67952 2006-01-25  Bruno Haible  <bruno@clisp.org>
67953
67954         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
67955         warnings.
67956         Reported by Paul Eggert.
67957
67958 2006-01-25  Bruno Haible  <bruno@clisp.org>
67959
67960         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
67961         rid of a trap command. For Solaris sh.
67962         Reported by Mark D. Baushke <mdb@gnu.org>.
67963
67964 2006-01-24  Simon Josefsson  <jas@extundo.com>
67965
67966         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
67967         Bruno.
67968
67969 2006-01-24  Karl Berry  <karl@gnu.org>
67970
67971         * config/srclist.txt (argp-namefrob.h): sync lost.
67972
67973 2006-01-24  Jim Meyering  <jim@meyering.net>
67974
67975         * modules/openat (Files): Add lib/intprops.h.
67976         From Mark D. Baushke.
67977
67978 2006-01-24  Jim Meyering  <jim@meyering.net>
67979
67980         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
67981         Reported by Mark D. Baushke.
67982
67983 2006-01-24  Jim Meyering  <jim@meyering.net>
67984
67985         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
67986
67987 2006-01-24  Bruno Haible  <bruno@clisp.org>
67988
67989         * modules/strnlen (Maintainer): Change from glibc to all.
67990
67991 2006-01-24  Bruno Haible  <bruno@clisp.org>
67992
67993         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
67994         Patch by Paul Eggert.
67995
67996 2006-01-24  Bruno Haible  <bruno@clisp.org>
67997
67998         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
67999         already has it.
68000         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
68001         2005-11-26.
68002
68003         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
68004         'signed char' to avoid problems with the built-in _Bool type.
68005         Reported by Paul Eggert on 2005-11-26.
68006
68007 2006-01-24  Bruno Haible  <bruno@clisp.org>
68008
68009         * gnulib-tool (func_import): Avoid constructing complicated sed
68010         expressions inside backquote.
68011         Report and solution by Mark D. Baushke <mdb@gnu.org>.
68012
68013 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
68014
68015         These changes imported from libc.
68016         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
68017         test and two separate function calls.
68018         * lib/strndup.c (__strndup): Add libc_hidden_def.
68019
68020 2006-01-23  Simon Josefsson  <jas@extundo.com>
68021
68022         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
68023         Remove the test_*_SOURCES variable: automake infers it by default.
68024         * modules/tls-tests: Likewise.
68025
68026 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68027
68028         Work around porting bugs reported by Dieter in
68029         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
68030         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
68031         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
68032         Include "getopt.h" first, to check interface.
68033         (getenv): Declare only if defined HAVE_DECL_GETENV &&
68034         !HAVE_DECL_GETENV.
68035         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
68036         (__strndup): Revert to K&R-style function dfns, the glibc style.
68037         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
68038         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
68039         Include strnlen.h first, to get prototype properly.
68040         (strnlen): Renamed from __strnlen.
68041         Remove weak alias.
68042
68043 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68044
68045         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
68046
68047 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68048
68049         * config/srclist.txt: Adjust to reflect glibc reorganization.
68050         This affects only comments.
68051
68052 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
68053
68054          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
68055          Reported by Bruce Korb <bkorb@gnu.org>.
68056
68057 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68058
68059         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
68060         to pacify gcc -Wswitch-default.
68061
68062 2006-01-22  Bruno Haible  <bruno@clisp.org>
68063
68064         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
68065         temporary buffer for sprintf, take into account the precision also
68066         for 'd', 'i', 'u', 'o', 'x', 'X'.
68067
68068 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
68069
68070         * modules/argp-tests: New module
68071         * tests/test-argp.c: New file
68072         * tests/test-argp-2.sh: New file
68073
68074 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
68075
68076         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
68077         (__argp_base_name): Removed
68078         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
68079         typo.
68080         (__argp_base_name): Provide macro definition or extern declaration
68081         depending on the configuration
68082
68083 2006-01-20  Simon Josefsson  <jas@extundo.com>
68084
68085         * modules/inet_ntop (Depends-on): Depend on sys_socket.
68086
68087 2006-01-20  Simon Josefsson  <jas@extundo.com>
68088
68089         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
68090
68091 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
68092
68093         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
68094         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
68095         Suggested by Bruno Haible.
68096
68097 2006-01-20  Karl Berry  <karl@gnu.org>
68098
68099         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
68100         until changes propagate, I guess.
68101
68102 2006-01-19  Simon Josefsson  <jas@extundo.com>
68103
68104         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
68105
68106 2006-01-19  Simon Josefsson  <jas@extundo.com>
68107
68108         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
68109
68110 2006-01-19  Simon Josefsson  <jas@extundo.com>
68111
68112         * gnulib-tool: Set check_PROGRAMS.
68113
68114         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
68115         modules/des-tests, modules/gc-arcfour-tests,
68116         modules/gc-arctwo-tests, modules/gc-des-tests,
68117         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
68118         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
68119         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
68120         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
68121         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
68122         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
68123         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
68124         test_*_SOURCES.
68125
68126 2006-01-18  Simon Josefsson  <jas@extundo.com>
68127
68128         * modules/socklen (Depends-on): Depend on sys_socket.
68129
68130 2006-01-18  Simon Josefsson  <jas@extundo.com>
68131
68132         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
68133         modules/des-tests, modules/gc-arcfour-tests,
68134         modules/gc-arctwo-tests, modules/gc-des-tests,
68135         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
68136         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
68137         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
68138         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
68139         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
68140         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
68141         $(EXEEXT) to automake TESTS variable, for mingw32.
68142
68143 2006-01-17  Simon Josefsson  <jas@extundo.com>
68144
68145         * modules/socklen (Include): Need sys/socket.h.
68146
68147 2006-01-17  Bruno Haible  <bruno@clisp.org>
68148
68149         * modules/ssize_t (Include): Add <sys/types.h>.
68150
68151 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
68152
68153         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
68154         it's not portable and it doesn't work with cross-compiles.
68155         Problem reported by Bruno Haible.  Fix missing-$ typo in
68156         'test "gl_cv_ignore_unused_libraries" ...' that prevented
68157         -zignore from being used with Sun's C compiler.
68158
68159 2006-01-12  Simon Josefsson  <jas@extundo.com>
68160
68161         * lib/base64.c: Fix warning, reported by Bruno Haible
68162         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
68163
68164 2006-01-12  Bruno Haible  <bruno@clisp.org>
68165
68166         * modules/ldd: New file.
68167         * build-aux/ldd.sh.in: New file.
68168         * MODULES.html.sh (Support for building libraries and executables): Add
68169         ldd.
68170
68171 2006-01-12  Bruno Haible  <bruno@clisp.org>
68172
68173         * m4/ldd.m4: New file.
68174
68175 2006-01-12  Bruno Haible  <bruno@clisp.org>
68176
68177         * gnulib-tool (func_import, func_create_testdir): Don't go into an
68178         endless loop while replacing $auxdir with build-aux.
68179
68180 2006-01-11  Simon Josefsson  <jas@extundo.com>
68181
68182         * lib/stdint_.h (SIZE_MAX): Add missing (.
68183
68184 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
68185
68186         Sync from coreutils.
68187         * lib/md5.c: Fix commentary typos.
68188         (alignof, UNALIGNED_P): No need for a GCC-specific version.
68189         * lib/md5.h (__attribute__): Remove; unused.
68190         * lib/sha1.c: Fix commentary to match md5 better.
68191         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
68192         so that we don't need to worry about alignment.  All uses changed.
68193         This merges the 2005-10-28 md5 change into sha1.
68194
68195 2006-01-11  Jim Meyering  <jim@meyering.net>
68196
68197         Sync from coreutils.
68198         * lib/md5.c (OP): Fix spacing.
68199
68200 2006-01-11  Bruno Haible  <bruno@clisp.org>
68201
68202         Ensure automatic ordering between gl_LOCK and gl_ARGP.
68203         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
68204         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
68205
68206 2006-01-11  Bruno Haible  <bruno@clisp.org>
68207
68208         Ensure automatic ordering between gl_LOCK and gl_ARGP.
68209         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
68210         the "early" section as well.
68211
68212 2006-01-11  Bruno Haible  <bruno@clisp.org>
68213
68214         Avoid "ar: no archive members specified" error on MacOS X.
68215         * gnulib-tool (func_modules_add_dummy): New function.
68216         (func_import, func_create_testdir): Invoke it.
68217
68218 2006-01-11  Bruno Haible  <bruno@clisp.org>
68219
68220         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
68221         with $auxdir in AC_CONFIG_FILES statements.
68222
68223 2006-01-11  Bruno Haible  <bruno@clisp.org>
68224
68225         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68226         Initialize also noinst_HEADERS to empty.
68227
68228 2006-01-11  Bruno Haible  <bruno@clisp.org>
68229
68230         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
68231         variables.
68232         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
68233         autoreconf.
68234
68235 2006-01-11  Bruno Haible  <bruno@clisp.org>
68236
68237         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
68238         overridable by the user.
68239         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68240
68241 2006-01-10  Simon Josefsson  <jas@extundo.com>
68242
68243         * modules/sys_socket: New file.
68244
68245 2006-01-10  Simon Josefsson  <jas@extundo.com>
68246
68247         * m4/sys_socket_h.m4: New file.
68248
68249 2006-01-10  Simon Josefsson  <jas@extundo.com>
68250
68251         * lib/socket_.h: New file.
68252
68253 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68254
68255         * modules/readutmp (Maintainer): Add myself.
68256
68257 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68258
68259         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
68260         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
68261         People who are still concerned with buggy memcmp implementations
68262         can invoke gl_FUNC_MEMCMP themselves.
68263
68264 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68265
68266         * lib/regex_internal.h (BITSET_WORD_BITS):
68267         Work around a bug in 64-bit PGC (before version 6.1-2), where the
68268         preprocessor mishandles large unsigned values as if they were signed.
68269         Problem reported by Claudio Fontana in
68270         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
68271
68272 2006-01-10  Jim Meyering  <jim@meyering.net>
68273
68274         Avoid the double-free (first in fts_read, second in fts_close) that
68275         would occur when an `active' directory is made inaccessible (e.g.,
68276         via chmod a-x) during a traversal.
68277         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
68278         before returning.  Reproduce this failure by
68279         mkdir -p a/b; cd a; chmod a-x . b
68280         Reported by Stavros Passas.
68281
68282         Sync from coreutils.
68283         * lib/sha1.c: Tweak grammar in a comment.
68284
68285 2006-01-10  Jim Meyering  <jim@meyering.net>
68286
68287         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
68288         Patch by Joerg Sonnenberger.
68289
68290 2006-01-10  Bruno Haible  <bruno@clisp.org>
68291
68292         * modules/readutmp: Depend on module free.
68293         * modules/strtok_r: Depend on module restrict.
68294
68295 2006-01-10  Bruno Haible  <bruno@clisp.org>
68296
68297         * modules/gettext (configure.ac): Add an invocation of
68298         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
68299
68300 2006-01-10  Bruno Haible  <bruno@clisp.org>
68301
68302         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
68303         Reported by Werner Lemberg <wl@gnu.org>.
68304
68305 2006-01-10  Bruno Haible  <bruno@clisp.org>
68306
68307         * lib/localcharset.c: Update from GNU gettext.
68308
68309 2006-01-10  Bruno Haible  <bruno@clisp.org>
68310
68311         * lib/argp.h (__const): Remove macro. Use const instead.
68312         * lib/argp-fmtstream.h (__const): Likewise.
68313         * lib/glob_.h (__const): Remove macro.
68314         * lib/glob-libc.h: Use const instead of __const.
68315
68316 2006-01-10  Bruno Haible  <bruno@clisp.org>
68317
68318         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
68319         variable.
68320         Needed to avoid an automake error regarding the 'gettext' module.
68321
68322 2006-01-09  Simon Josefsson  <jas@extundo.com>
68323
68324         * modules/inet_ntop (Depends-on): Add restrict.
68325
68326 2006-01-09  Simon Josefsson  <jas@extundo.com>
68327
68328         * modules/gc-rijndael-tests (License): Put under LGPL.
68329
68330         * modules/gc-des-tests (License): Likewise.
68331
68332         * modules/gc-arcfour-tests (License): Likewise.
68333
68334         * modules/gc-arctwo-tests (License): Likewise.
68335
68336         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
68337
68338         * modules/gc-hmac-sha1-tests (Files): Likewise.
68339
68340         * modules/gc-hmac-md5-tests (License): Likewise.
68341
68342         * modules/gc-sha1-tests (License): Likewise.
68343
68344         * modules/gc-md5-tests (License): Likewise.
68345
68346         * modules/gc-md4-tests (License): Likewise.
68347
68348         * modules/gc-md2-tests (License): Likewise.
68349
68350         * modules/gc-tests (License): Likewise.
68351
68352         * modules/des-tests (License): Likewise.
68353
68354         * modules/md4-tests (License): Likewise.
68355
68356         * modules/md2-tests (License): Likewise.
68357
68358 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68359
68360         Sync from coreutils:
68361
68362         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
68363         * modules/lib-ignore: New file.
68364         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
68365         chdir-safer.m4, lchmod.m4.
68366         * modules/openat: Add mkdirat.c, openat-priv.h.
68367
68368 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68369
68370         Sync from coreutils.
68371         * m4/lib-ignore.m4: New file.
68372         * m4/lchmod.m4: New file.
68373
68374 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68375
68376         Sync from coreutils.
68377         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
68378         for write access: POSIX says that must fail.
68379         * lib/fts.c (diropen): Likewise.
68380         * lib/save-cwd.c (save_cwd): Likewise.
68381         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
68382         well, for minor improvements on hosts that lack O_DIRECTORY.
68383         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
68384         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
68385         Fall back on chown if open failed with EACCES.
68386
68387         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
68388         Report an error at compile-time if only a 1-second nominal clock
68389         resolution is found.
68390
68391         * lib/lchmod.h: New file.
68392         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
68393         (make_dir_parents): Use lchown rather than chown, and
68394         lchmod rather than chmod.
68395
68396         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
68397         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
68398         "proc" reported by n0dalus.
68399
68400         * lib/mountlist.c: Include <limits.h>.
68401         (dev_from_mount_options)
68402         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
68403         New function.  It no longer assumes "dev=" has the System V meaning
68404         on Linux (since it doesn't).  It also parses "dev=" more carefully.
68405         (read_file_system_list)
68406         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
68407         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
68408         dev= in that case.
68409
68410         * lib/posixtm.h (PDS_PRE_2000): New macro.
68411         * lib/posixtm.c (year): Arg is now syntax_bits rather than
68412         allow_century.  All usages changed.  Reject dates outside the range
68413         1969-1999 if PDS_PRE_2000 is used.
68414
68415 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68416
68417         Sync from coreutils.
68418         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
68419         (Time of day items): Mention the possibility of leap seconds.
68420         Problem reported by Dr. David Alan Gilbert.
68421
68422 2006-01-09  Jim Meyering  <jim@meyering.net>
68423
68424         Sync from coreutils.
68425
68426         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
68427
68428         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
68429
68430         * lib/modechange.c (mode_compile): Reject an invalid mode string
68431         that starts with an octal digit.  From Andreas Gruenbacher.
68432
68433         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
68434         and dup to open_safer and dup_safer, respectively.
68435         (openat_permissive): Fix typo in comment.
68436
68437         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
68438         "gettext.h"; either no longer needed or are guaranteed by openat.h.
68439         (_): Remove; no longer needed.
68440         (openat): Renamed from rpl_openat; no need for rpl_openat
68441         since openat.h renames openat for us.
68442         Replace most of the body with a call to openat_permissive,
68443         to avoid duplicate code.
68444         Port to (probably hypothetical) environments were mode_t is
68445         wider than int.
68446         (openat_permissive): Require mode arg, so that we can check
68447         types better.  Put it just after flags.  Change cwd failure
68448         indicator from pointer-to-bool to pointer-to-errno-value.
68449         All callers changed.
68450         Invoke openat_save_fail and/or openat_restore_fail if
68451         cwd_errno is null, so that openat can call us.
68452         (openat_permissive, fdopendir, fstatat, unlinkat):
68453         Simplify errno handling to avoid some duplicate code,
68454         as it's OK to set errno on success.
68455         * lib/openat.h: Revamp code so that function macros depend on
68456         __OPENAT_PREFIX only, not also on AT_FDCWD.
68457         (openat_ro): Remove.  Caller changed to use openat_permissive.
68458         (openat_permissive): Now a macro, if not a function.
68459         (openat_restore_fail, openat_save_fail): Now always functions,
68460         since mkdirat needs them even if __OPENAT_PREFIX is defined.
68461
68462         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
68463         and openat.c.
68464         * lib/mkdirat.c: Include openat-priv.h.
68465         Remove definitions of macros defined therein.
68466         * lib/openat.c: Likewise.
68467
68468         * lib/mkdirat.c (mkdirat): New file and function.
68469         * lib/openat.h (mkdirat): Declare.
68470
68471         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
68472
68473         * lib/openat.h (openat_permissive): Declare.
68474         (openat_ro): Define.
68475
68476         * lib/openat.c (EXPECTED_ERRNO): New macro.
68477         (openat_permissive): New function -- used in remove.c rewrite.
68478         (all functions): Set errno just before returning, only if there
68479         was an actual failure.
68480         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
68481
68482         Emulate openat-family functions using Linux's procfs, if possible.
68483         Idea and some code based on Ulrich Drepper's glibc changes.
68484
68485         * lib/openat.c: (BUILD_PROC_NAME): New macro.
68486         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
68487         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
68488         before falling back on save_cwd and restore_cwd.
68489         (fdopendir, fstatat, unlinkat): Likewise.
68490
68491         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
68492         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
68493
68494         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
68495         as second argument to va_arg.  Otherwise, some versions of gcc
68496         warn that `if this code is reached, the program will abort'.
68497
68498 2006-01-09  Jim Meyering  <jim@meyering.net>
68499
68500         Sync from coreutils.
68501         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
68502         Require openat-priv.h.
68503
68504 2006-01-09  Bruno Haible  <bruno@clisp.org>
68505
68506         * modules/strnlen (Include): Use strnlen.h.
68507
68508 2006-01-09  Bruno Haible  <bruno@clisp.org>
68509
68510         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
68511
68512 2006-01-09  Bruno Haible  <bruno@clisp.org>
68513
68514         * lib/sysexit_.h (EX_OK): New macro.
68515         Suggested by Martin Lambers <marlam@marlam.de>.
68516
68517 2006-01-09  Bruno Haible  <bruno@clisp.org>
68518
68519         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
68520         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
68521
68522 2006-01-09  Bruno Haible  <bruno@clisp.org>
68523
68524         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
68525         numbers.
68526
68527 2006-01-09  Bruno Haible  <bruno@clisp.org>
68528
68529         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
68530         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
68531         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
68532         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
68533
68534 2006-01-09  Bruno Haible  <bruno@clisp.org>
68535
68536         * build-aux/javacomp.sh.in: New file, moved from lib/.
68537         * modules/javacomp-script (Files): Update.
68538         (configure.ac): Add AC_CONFIG_FILES invocation.
68539         (EXTRA_DIST): Remove variable.
68540
68541         * build-aux/javaexec.sh.in: New file, moved from lib/.
68542         * modules/javaexec (Files): Update.
68543         (configure.ac): Add AC_CONFIG_FILES invocation.
68544         (EXTRA_DIST): Remove javaexec.sh.in.
68545
68546         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
68547         * modules/csharpcomp-script (Files): Update.
68548         (configure.ac): Add AC_CONFIG_FILES invocation.
68549         (EXTRA_DIST): Remove variable.
68550
68551         * build-aux/csharpexec.sh.in: New file, moved from lib/.
68552         * modules/csharpexec (Files): Update.
68553         (configure.ac): Add AC_CONFIG_FILES invocation.
68554         (EXTRA_DIST): Remove csharpexec.sh.in.
68555
68556 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
68557
68558         Sync from coreutils.
68559
68560         Add POSIX ACL support
68561         * lib/acl.h (copy_acl, set_acl): Add declarations.
68562         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
68563         systems other than Linux.
68564         (chmod_or_fchmod): New function: use fchmod when possible,
68565         and chmod otherwise.
68566         (file_has_acl): Add a POSIX ACL implementation, with a
68567         Linux-specific subcase.
68568         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
68569         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
68570         acls are unsupported.
68571         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
68572         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
68573         are unsupported.
68574
68575 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
68576
68577         Sync from coreutils.
68578         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
68579
68580 2006-01-07  Bruno Haible  <bruno@clisp.org>
68581
68582         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
68583         gl_EARLY.
68584
68585 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68586
68587         * lib/strftime.c (tzname): Don't declare if it is already #defined.
68588         Problem reported for Mingw by Mark Junker.
68589
68590 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68591
68592         * README: Gnulib normally doesn't generate a tarball.
68593
68594 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
68595
68596         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
68597         long int, not int, for nanosecond counts, so that people who are
68598         used to POSIX struct timespec won't be surprised.  Reported by Jim
68599         Meyering.
68600
68601 2005-12-28  Bruno Haible  <bruno@clisp.org>
68602
68603         * build-aux/config.rpath: Update from GNU gettext.
68604
68605 2005-12-16  Jim Meyering  <jim@meyering.net>
68606
68607         * modules/fprintftime: New module.
68608         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
68609
68610 2005-12-16  Jim Meyering  <jim@meyering.net>
68611
68612         * m4/fprintftime.m4: New file.
68613
68614 2005-12-16  Jim Meyering  <jim@meyering.net>
68615
68616         * lib/fprintftime.c, lib/fprintftime.h: New files.
68617
68618 2005-12-15  Simon Josefsson  <jas@extundo.com>
68619
68620         * modules/socklen (configure.ac): Fix M4 macro name, to align with
68621         new m4/socklen.m4.
68622
68623 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68624
68625         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
68626         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
68627
68628 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68629
68630         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
68631         * lib/argp-help.c (fill_in_uparams): Check if the constructed
68632         struct uparams is valid. Fall back to the default values if it is
68633         not.
68634
68635 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68636
68637         * modules/argp (Files): Add argp-pin.c
68638         (Depends-on): dirname
68639         (lib_SOURCES): Add argp-pin.c
68640
68641 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68642
68643         * m4/argp.m4:  Check if program_invocation_name and
68644         program_invocation_short_name are declared and define appropriate
68645         macros if they are not.
68646
68647 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68648
68649         * lib/argp-help.c (__argp_base_name): New function
68650         (__argp_short_program_name): Rewrite using __argp_base_name
68651         * lib/argp-namefrob.h: Define program_invocation_name and
68652         program_invocation_short_name if requested
68653         (__argp_base_name): Add prototype
68654         * lib/argp-parse.c (argp_def): Use gettext wrappers
68655         (argp_default_parser): Use __argp_base_name
68656         * lib/argp-pin.c: New file. Defines program_invocation_name and
68657         program_invocation_short_name on systems that lack them.
68658
68659 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68660
68661         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
68662         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
68663         porting problem reported by Georg Schwarz in
68664         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
68665
68666 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68667
68668         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
68669         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
68670         porting problem reported by Georg Schwarz in
68671         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
68672
68673 2005-12-05  Bruno Haible  <bruno@clisp.org>
68674
68675         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
68676         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
68677         Reported by Mark Junker <mjscod@gmx.de>.
68678
68679 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
68680
68681         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
68682         Use implementation from Albert Chin, with some
68683         comments/corrections by Stepan Kasal and myself.
68684
68685 2005-12-02  Bruno Haible  <bruno@clisp.org>
68686
68687         * gnulib-tool (func_import): Accept GPLed build tool modules when
68688         --lgpl is given.
68689         * modules/csharpcomp-script: New file.
68690         * modules/csharpcomp: Depend on it.
68691         * modules/javacomp-script: New file.
68692         * modules/javacomp: Depend on it.
68693         Suggested by Simon Josefsson.
68694
68695 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
68696
68697         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
68698         statement, to work around an HP-UX 10.20 compiler bug reported by
68699         Peter O'Gorman.
68700
68701 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
68702
68703         * modules/savedir (Depends-on): Add openat.
68704
68705 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
68706
68707         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
68708         (uintmax_t) [defined uintmax_t]: Do not declare.
68709         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
68710         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
68711         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
68712         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
68713         sake of portability to weird hosts that C allows (though we don't
68714         know of any practical examples).
68715
68716         * lib/savedir.h (fdsavedir): New decl.
68717         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
68718         contains most of the former guts of savedir.
68719         (savedir): Use savedirstream.
68720         Include "openat.h".
68721
68722 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68723
68724         * modules/obstack (Files): Add m4/ulonglong.m4.
68725         Problem reported by Davide Angelocola.
68726
68727 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
68728
68729         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
68730         coreutils no longer futzes with rounding modes.
68731
68732 2005-11-14  Jim Meyering  <jim@meyering.net>
68733
68734         * lib/mkstemp-safer.c: Include <config.h>, required for possible
68735         replacement of mkstemp.
68736
68737 2005-11-10  Simon Josefsson  <jas@extundo.com>
68738
68739         * lib/readline.c: Remove EOL.
68740
68741 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68742
68743         * modules/gethrxtime (Depends-on): Add gettime.
68744
68745 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68746
68747         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
68748         or gettimeofday; no longer needed.
68749
68750 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68751
68752         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
68753         time business.
68754         (gethrxtime) [! (HAVE_NANOUPTIME
68755         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
68756         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
68757         our own approximation.
68758
68759 2005-11-08  Eric Blake  <ebb9@byu.net>
68760
68761         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
68762
68763 2005-11-08  Eric Blake  <ebb9@byu.net>
68764
68765         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
68766
68767 2005-11-04  Bruno Haible  <bruno@clisp.org>
68768
68769         * gnulib-tool: Implement --update mode.
68770
68771 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
68772
68773         Fix porting problem reported by Theodoros V. Kalamatianos.
68774         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
68775         Don't assume that futimes failing means we must fail.
68776
68777 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
68778
68779         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
68780         variables to suggest the intended function of the PATH_MAX check.
68781
68782 2005-10-30  Kean Johnston  <jkj@sco.com>
68783
68784         Trivial changes to support SCO systems.
68785         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
68786         as PATH_MAX.
68787         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
68788         where __ptr is null when no I/O is pending.
68789
68790 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68791
68792         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
68793         leave errno alone.  Problem reported by Dmitry V. Levin.
68794
68795 2005-10-28  Simon Josefsson  <jas@extundo.com>
68796
68797         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
68798         Test more.
68799
68800         * tests/test-gc-md2.c, tests/test-md2.c: New files.
68801
68802         * modules/md2, modules/md2-tests: New files.
68803
68804 2005-10-28  Simon Josefsson  <jas@extundo.com>
68805
68806         * m4/inet_ntop.m4: More tests.
68807
68808         * m4/gc-md2.m4, md2.m4: New file.
68809
68810 2005-10-28  Simon Josefsson  <jas@extundo.com>
68811
68812         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
68813         "restrict" keywords, as per POSIX.  Protect the function
68814         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
68815         Don't use K&R prototypes.  Check the sprintf return values.
68816         Re-define EAFNOSUPPORT if not present.  Indent.
68817
68818         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
68819         suggested by Bruno Haible <bruno@clisp.org>.
68820
68821         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
68822
68823         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
68824
68825         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
68826         libgcrypt).
68827
68828         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
68829
68830         * lib/md2.h, lib/md2.c: New files.
68831
68832 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
68833
68834         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
68835         errno alone.  Problem reported by Frederic Jolliton.
68836
68837 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
68838
68839         * modules/verify (License): Change from GPL to LGPL.  This is a
68840         tiny module and there are apparently near-equivalents that are
68841         under the BSD license.
68842
68843 2005-10-24  Simon Josefsson  <jas@extundo.com>
68844
68845         * modules/sha1: Relicense to LGPL.
68846
68847 2005-10-24  Simon Josefsson  <jas@extundo.com>
68848
68849         * lib/md4.h: Shrink buffer size, now that we changed the type.
68850
68851 2005-10-23  Simon Josefsson  <jas@extundo.com>
68852
68853         * gnulib-tool (func_import): Fix --tests-base.
68854
68855 2005-10-22  Simon Josefsson  <jas@extundo.com>
68856
68857         * modules/arcfour (Depends-on): Need stdint.
68858
68859 2005-10-22  Simon Josefsson  <jas@extundo.com>
68860
68861         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
68862         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
68863
68864 2005-10-22  Simon Josefsson  <jas@extundo.com>
68865
68866         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
68867         suggested by Bruno Haible <bruno@clisp.org>.
68868
68869 2005-10-22  Simon Josefsson  <jas@extundo.com>
68870
68871         * lib/crc.h: Include stddef.h, for size_t.
68872
68873 2005-10-22  Simon Josefsson  <jas@extundo.com>
68874
68875         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
68876         arcfour_context struct (simplify test vector testing in GNU
68877         Shishi).
68878
68879 2005-10-21  Simon Josefsson  <jas@extundo.com>
68880
68881         * modules/des, modules/des-tests: New files.
68882
68883         * modules/gc-des, modules/gc-des-tests: New files.
68884
68885         * tests/test-des.c, tests/test-gc-des.c: New file.
68886
68887 2005-10-21  Simon Josefsson  <jas@extundo.com>
68888
68889         * modules/arctwo, modules/arctwo-tests: New files.
68890
68891         * tests/test-arctwo.c: New file.
68892
68893         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
68894
68895         * tests/test-gc-arctwo.c: New file.
68896
68897 2005-10-21  Simon Josefsson  <jas@extundo.com>
68898
68899         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
68900         Bruno Haible <bruno@clisp.org>.
68901
68902         * m4/gc-des.m4: New file.
68903
68904 2005-10-21  Simon Josefsson  <jas@extundo.com>
68905
68906         * m4/arctwo.m4: New file.
68907
68908         * m4/gc-arctwo.m4: New file.
68909
68910 2005-10-21  Simon Josefsson  <jas@extundo.com>
68911
68912         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
68913         block.
68914
68915 2005-10-21  Simon Josefsson  <jas@extundo.com>
68916
68917         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
68918         <bruno@clisp.org>.
68919
68920         * lib/hmac-sha1.c (hmac_sha1): Likewise.
68921
68922         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
68923         Bruno Haible <bruno@clisp.org>.
68924
68925         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
68926         <bruno@clisp.org>.
68927
68928 2005-10-21  Simon Josefsson  <jas@extundo.com>
68929
68930         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
68931
68932 2005-10-21  Simon Josefsson  <jas@extundo.com>
68933
68934         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
68935
68936 2005-10-21  Simon Josefsson  <jas@extundo.com>
68937
68938         * lib/des.h, lib/des.c: New files.
68939
68940         * lib/gc-gnulib.c: Support DES.c
68941
68942 2005-10-21  Simon Josefsson  <jas@extundo.com>
68943
68944         * lib/arctwo.h, lib/arctwo.c: New files.
68945
68946         * lib/gc-gnulib.c: Support ARCTWO.
68947
68948 2005-10-21  Simon Josefsson  <jas@extundo.com>
68949
68950         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
68951         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68952
68953 2005-10-21  Simon Josefsson  <jas@extundo.com>
68954
68955         * gnulib-tool (func_import, func_create_testdir): Define automake
68956         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
68957         Makefile.am snippet),
68958         suggested by Bruno Haible <bruno@clisp.org>.
68959
68960         * modules/gc (Makefile.am): Use it.
68961
68962 2005-10-21  Bruno Haible  <bruno@clisp.org>
68963
68964         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
68965         patch.
68966
68967 2005-10-19  Simon Josefsson  <jas@extundo.com>
68968
68969         * tests/test-gc-rijndael.c: New file.
68970
68971         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
68972
68973 2005-10-19  Simon Josefsson  <jas@extundo.com>
68974
68975         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
68976         interface too.
68977
68978 2005-10-19  Simon Josefsson  <jas@extundo.com>
68979
68980         * tests/test-gc-arcfour.c: New file.
68981
68982         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
68983
68984 2005-10-19  Simon Josefsson  <jas@extundo.com>
68985
68986         * modules/gc-md4, modules/gc-md4-tests: New file.
68987
68988         * tests/test-gc-md4.c: New file.
68989
68990 2005-10-19  Simon Josefsson  <jas@extundo.com>
68991
68992         * m4/gc-md4.m4: New file.
68993
68994 2005-10-19  Simon Josefsson  <jas@extundo.com>
68995
68996         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
68997         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
68998         <kasal@ucw.cz>.
68999
69000 2005-10-19  Simon Josefsson  <jas@extundo.com>
69001
69002         * m4/gc-arcfour.m4: New file.
69003
69004         * m4/gc-rijndael.m4: New file.
69005
69006 2005-10-19  Simon Josefsson  <jas@extundo.com>
69007
69008         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
69009
69010 2005-10-19  Simon Josefsson  <jas@extundo.com>
69011
69012         * lib/gc-gnulib.c: Support ARCFOUR.
69013
69014 2005-10-19  Simon Josefsson  <jas@extundo.com>
69015
69016         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
69017         support.
69018
69019         * lib/gc.h: Add ECB enum type.
69020
69021         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
69022
69023 2005-10-18  Simon Josefsson  <jas@extundo.com>
69024
69025         * tests/test-md5.c: New file.
69026
69027         * modules/md5-tests: New file.
69028
69029 2005-10-18  Simon Josefsson  <jas@extundo.com>
69030
69031         * tests/test-md4.c: New file.
69032
69033         * modules/md4, modules/md4-tests: New files.
69034
69035 2005-10-18  Simon Josefsson  <jas@extundo.com>
69036
69037         * m4/md4.m4: New file.
69038
69039 2005-10-18  Simon Josefsson  <jas@extundo.com>
69040
69041         * lib/md4.h, lib/md4.c: New files, based on md5.?.
69042
69043 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
69044
69045         * gnulib-tool (func_create_testdir): Omit the second check whether
69046         BUILT_SOURCES in nonempty.
69047
69048 2005-10-17  Simon Josefsson  <jas@extundo.com>
69049
69050         * tests/test-rijndael.c: New file.
69051
69052 2005-10-17  Simon Josefsson  <jas@extundo.com>
69053
69054         * modules/sha1: Depend on stdint instead of md5.
69055
69056         * modules/md5: Depend on stdint, remove uint32_t.
69057
69058 2005-10-17  Simon Josefsson  <jas@extundo.com>
69059
69060         * modules/gc-sha1-tests: New file.
69061
69062         * tests/test-gc-sha1.c: New file.
69063
69064 2005-10-17  Simon Josefsson  <jas@extundo.com>
69065
69066         * m4/md5.m4: Remove call to uint32_t.m4.
69067
69068 2005-10-17  Simon Josefsson  <jas@extundo.com>
69069
69070         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
69071
69072         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
69073         md5.h.
69074
69075         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
69076
69077         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
69078
69079 2005-10-17  Simon Josefsson  <jas@extundo.com>
69080
69081         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
69082
69083 2005-10-17  Simon Josefsson  <jas@extundo.com>
69084
69085         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
69086
69087 2005-10-17  Simon Josefsson  <jas@extundo.com>
69088
69089         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
69090
69091         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
69092
69093 2005-10-17  Bruno Haible  <bruno@clisp.org>
69094
69095         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
69096         that it can also be used in a test.
69097
69098 2005-10-16  Bruno Haible  <bruno@clisp.org>
69099
69100         * gnulib-tool (func_emit_tests_Makefile_am): Also define
69101         TESTS_ENVIRONMENT, so that individual tests can augment it.
69102
69103         * gnulib-tool (func_create_testdir): Use an intermediate target for
69104         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
69105         macros, like $(ALLOCA_H), which cannot be passed through the command
69106         line.
69107
69108 2005-10-15  Simon Josefsson  <jas@extundo.com>
69109
69110         * modules/rijndael-tests: New file.
69111
69112         * modules/rijndael: New file.
69113
69114 2005-10-15  Simon Josefsson  <jas@extundo.com>
69115
69116         * m4/rijndael.m4: New file.
69117
69118 2005-10-15  Simon Josefsson  <jas@extundo.com>
69119
69120         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
69121
69122         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
69123
69124 2005-10-14  Simon Josefsson  <jas@extundo.com>
69125
69126         * tests/test-arcfour.c: New file.
69127
69128         * modules/arcfour, modules/arcfour-tests: New files.
69129
69130 2005-10-14  Simon Josefsson  <jas@extundo.com>
69131
69132         * m4/arcfour.m4: New file.
69133
69134 2005-10-14  Simon Josefsson  <jas@extundo.com>
69135
69136         * lib/arcfour.h, lib/arcfour.c: New files.
69137
69138 2005-10-14  Roland McGrath  <roland@redhat.com>
69139
69140         Import from libc.  [BZ #1331]
69141         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
69142         macro argument.
69143         Reported by Matej Vela <vela@debian.org>.
69144
69145 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69146
69147         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
69148         include <wchar.h>; no longer needed.
69149
69150 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69151
69152         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
69153
69154 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
69155         and  Ulrich Drepper  <drepper@redhat.com>
69156
69157         Import from libc.
69158         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
69159         instead of inline stream orientation test and two separate
69160         function calls.  Pay no attention to USE_IN_LIBIO.
69161
69162 2005-10-13  Simon Josefsson  <jas@extundo.com>
69163
69164         * modules/gc-hmac-md5-tests: New file.
69165
69166         * tests/test-gc-hmac-sha1.c: New file.
69167
69168         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
69169
69170         * modules/gc-hmac-md5-tests: New file.
69171
69172         * tests/test-gc-md5.c: New file.
69173
69174         * modules/gc-md5-tests: New file.
69175
69176 2005-10-13  Simon Josefsson  <jas@extundo.com>
69177
69178         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
69179         Move memory allocation outside of loop.
69180
69181 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
69182
69183         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
69184         intermediate directory is in a read-only file system.  Problem
69185         reported by Eric Blake.
69186
69187 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
69188
69189         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
69190
69191 2005-10-12  Simon Josefsson  <jas@extundo.com>
69192
69193         * tests/test-hmac-sha1.c: New file.
69194
69195         * modules/hmac-sha1-tests: New file.
69196
69197         * modules/hmac-sha1: New file.
69198
69199 2005-10-12  Simon Josefsson  <jas@extundo.com>
69200
69201         * modules/gc-sha1: New file.
69202
69203 2005-10-12  Simon Josefsson  <jas@extundo.com>
69204
69205         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
69206
69207         * tests/test-gc-pbkdf2-sha1.c: New file.
69208
69209 2005-10-12  Simon Josefsson  <jas@extundo.com>
69210
69211         * modules/gc-md5, modules/gc-hmac-md5: New files.
69212
69213         * modules/gc (Files): Remove md5, memxor and hmac files.
69214
69215 2005-10-12  Simon Josefsson  <jas@extundo.com>
69216
69217         * m4/gc-pbkdf2-sha1.m4: New file.
69218
69219         * m4/gc-hmac-sha1.m4: New file.
69220
69221         * m4/gc-sha1: New file.
69222
69223         * m4/hmac-sha1.m4: New file.
69224
69225 2005-10-12  Simon Josefsson  <jas@extundo.com>
69226
69227         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
69228
69229         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
69230
69231 2005-10-12  Simon Josefsson  <jas@extundo.com>
69232
69233         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
69234         suggested by Bruno Haible <bruno@clisp.org>.
69235
69236 2005-10-12  Simon Josefsson  <jas@extundo.com>
69237
69238         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
69239
69240 2005-10-12  Simon Josefsson  <jas@extundo.com>
69241
69242         * lib/gc-pbkdf2-sha1.c: New file.
69243
69244         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
69245
69246 2005-10-12  Simon Josefsson  <jas@extundo.com>
69247
69248         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
69249
69250         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
69251
69252 2005-10-12  Simon Josefsson  <jas@extundo.com>
69253
69254         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
69255         GC_USE_HMAC_MD5, respectively.
69256
69257         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
69258         (gc_md5): Fix typo.
69259
69260         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
69261
69262         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
69263
69264         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
69265
69266 2005-10-12  Bruno Haible  <bruno@clisp.org>
69267
69268         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
69269         Reported by Stepan Kasal <kasal@ucw.cz>.
69270
69271 2005-10-11  Simon Josefsson  <jas@extundo.com>
69272
69273         * tests/test-crc.c: New file.
69274
69275         * modules/crc, modules/crc-tests: New files.
69276
69277 2005-10-11  Simon Josefsson  <jas@extundo.com>
69278
69279         * m4/crc.m4: New file.
69280
69281 2005-10-11  Simon Josefsson  <jas@extundo.com>
69282
69283         * lib/gc.h: Add gc_hash and gc_hash_buffer.
69284
69285         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
69286
69287         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
69288
69289 2005-10-11  Simon Josefsson  <jas@extundo.com>
69290
69291         * lib/crc.h, lib/crc.c: New files.
69292
69293         * lib/gc.h (gc_hash_buffer): Add doc.
69294
69295 2005-10-11  Bruno Haible  <bruno@clisp.org>
69296
69297         * modules/c-strcasestr: New file.
69298         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
69299
69300 2005-10-11  Bruno Haible  <bruno@clisp.org>
69301
69302         * modules/c-strcase: New file.
69303         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
69304
69305 2005-10-11  Bruno Haible  <bruno@clisp.org>
69306
69307         * lib/strcasecmp.c: Include limits.h.
69308         (strcasecmp): Avoid integer overflow on exotic platforms.
69309         * lib/strncasecmp.c: Include limits.h.
69310         (strncasecmp): Avoid integer overflow on exotic platforms.
69311         Reported by Paul Eggert.
69312
69313 2005-10-11  Bruno Haible  <bruno@clisp.org>
69314
69315         * lib/c-strcasestr.h: New file, from GNU gettext.
69316         * lib/c-strcasestr.c: New file, from GNU gettext.
69317
69318 2005-10-11  Bruno Haible  <bruno@clisp.org>
69319
69320         * lib/c-strcase.h: New file, from GNU gettext.
69321         * lib/c-strcasecmp.c: New file, from GNU gettext.
69322         * lib/c-strncasecmp.c: New file, from GNU gettext.
69323
69324 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69325
69326         * modules/mempcpy (License): GPL -> LGPL.
69327         * modules/strchrnul (License): Likewise.
69328         * modules/sysexits (License): Likewise.
69329
69330 2005-10-08  Simon Josefsson  <jas@extundo.com>
69331
69332         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
69333
69334 2005-10-07  Simon Josefsson  <jas@extundo.com>
69335
69336         * m4/memxor.m4: Remove gl_C_RESTRICT call.
69337
69338 2005-10-06  Simon Josefsson  <jas@extundo.com>
69339
69340         * tests/test-hmac-md5.c: New file.
69341
69342         * modules/hmac-md5-tests: New file.
69343
69344         * modules/hmac-md5: New file.
69345
69346 2005-10-06  Simon Josefsson  <jas@extundo.com>
69347
69348         * m4/hmac-md5.m4: New file.
69349
69350         * m4/memxor.m4: Require gl_C_RESTRICT.
69351
69352 2005-10-06  Simon Josefsson  <jas@extundo.com>
69353
69354         * lib/memxor.c (memxor): Avoid casts and warnings.
69355
69356 2005-10-06  Simon Josefsson  <jas@extundo.com>
69357
69358         * lib/hmac-md5.c: New file.
69359
69360         * lib/hmac.h: New file.
69361
69362 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
69363
69364         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
69365         promotes to int, not unsigned int, to catch the AIX 5.3
69366         compiler bug.
69367
69368 2005-10-05  Simon Josefsson  <jas@extundo.com>
69369
69370         * modules/memxor: New file.
69371
69372         * modules/iconv (Files): Move config.rpath to havelib, it is used
69373         there.
69374
69375         * modules/havelib (Files): Add config.rpath.
69376
69377 2005-10-05  Simon Josefsson  <jas@extundo.com>
69378
69379         * m4/memxor.m4: New file.
69380
69381 2005-10-05  Simon Josefsson  <jas@extundo.com>
69382
69383         * lib/memxor.c (memxor): Fix compiler error.
69384
69385         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
69386         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
69387
69388         * lib/memxor.h, lib/memxor.c: New files.
69389
69390         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
69391         we assume all systems have it, suggested by Jim Meyering
69392         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
69393         any systems lack sys/socket.h; mingw32 is known to lack it, but we
69394         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
69395         same reasons.
69396
69397 2005-10-05  Simon Josefsson  <jas@extundo.com>
69398
69399         * config/srclist.txt: Add glibc bug 1423 for md5.h.
69400
69401 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
69402
69403         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
69404         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
69405         needed, since the source code now assumes these .h files.
69406
69407 2005-10-05  Derek Price  <derek@ximbiot.com>
69408
69409         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
69410
69411 2005-10-05  Bruno Haible  <bruno@clisp.org>
69412
69413         * modules/stdint (License): Change to LGPL.
69414
69415 2005-10-04  Simon Josefsson  <jas@extundo.com>
69416
69417         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
69418         D. Baushke" <mdb@gnu.org>.
69419
69420 2005-10-04  Bruno Haible  <bruno@clisp.org>
69421
69422         * lib/verify.h (verify_true): Provide alternative definition for C++.
69423
69424 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
69425
69426         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
69427         (SSIZE_MAX): New macro, if not already defined.
69428         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
69429         than 2 GiB.
69430
69431 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69432
69433         Sync from coreutils.
69434         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
69435         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
69436         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
69437         ULLONG_MAX doesn't work with 2.7.2.1.
69438
69439 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69440
69441         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
69442         From Ben Pfaff.
69443
69444         * modules/exclude (Depends-on): Depend on verify.
69445         * modules/strtoimax (Depends-on): Likewise.
69446         * modules/utimecmp (Depends-on): Likewise.
69447
69448 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69449
69450         * lib/exclude.c: Include verify.h.
69451         (verify): Remove.  All callers changed to use verify.h's version.
69452         * lib/strtoimax.c: Likewise.
69453         * lib/utimecmp.c: Likewis.e
69454
69455         Sync from coreutils.
69456         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
69457         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
69458         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
69459         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
69460         bother returning ENOSYS if settimeofday or stime fails; just let
69461         them return whatever errno they want to return.
69462         * lib/utimens.c: Include unistd.h, for dup2.
69463         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
69464         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
69465
69466 2005-10-02  Jim Meyering  <jim@meyering.net>
69467
69468         Sync from coreutils.
69469         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
69470         from glibc-2.2.5 that fails for read-only files.
69471
69472 2005-10-02  Jim Meyering  <jim@meyering.net>
69473
69474         Sync from coreutils.
69475         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
69476         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
69477         `#if HAVE_CONFIG_H'.
69478         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
69479         Remove AT_FDCWD test.
69480         Do not consume the fd unless successful.
69481         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
69482         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
69483         block, so that we don't even try to compile it if settimeofday is
69484         available.  This works around a compilation failure on OSF1 V5.1,
69485         due to stime requiring a `long int*' while tv_sec is `int'.
69486
69487 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
69488
69489         Sync from coreutils.
69490         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
69491         against `yes', rather than just testing for nonempty.
69492
69493 2005-10-01  Simon Josefsson  <jas@extundo.com>
69494
69495         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
69496         and Darwin.
69497
69498         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
69499         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
69500         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
69501         freeaddrinfo and gai_strerror are declared by the POSIX headers.
69502         Check if struct addrinfo is declared.
69503
69504 2005-10-01  Simon Josefsson  <jas@extundo.com>
69505
69506         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
69507         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
69508         AI_* and EAI_* definitions.  Protect function declarations.
69509
69510 2005-10-01  Jim Meyering  <jim@meyering.net>
69511
69512         Sync from coreutils.
69513
69514         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
69515         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
69516         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
69517         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
69518         in the inet and nsl libraries.  Required on Solaris 5.7.
69519
69520 2005-10-01  Jim Meyering  <jim@meyering.net>
69521
69522         Sync from coreutils.
69523         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
69524         in the inet and nsl libraries.  Required on Solaris 5.7.
69525
69526 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
69527
69528         * lib/getdelim.c (getdelim): Remove unused variables.
69529
69530 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
69531
69532         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
69533         so that the code works even with ancient cpp.  Portability problem
69534         with GCC 2.7.2.1 reported by Thomas M.Ott.
69535
69536 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
69537
69538         * modules/regex (Depends-on): Add strcase.
69539
69540         * modules/gethostname (Licence): Change from GPL to LGPL, since
69541         gethostname.c is a trivial implementation of a standard library
69542         function.
69543         * modules/poll (License): Change from GPL to LGPL, since it's
69544         derived from LGPL code.
69545
69546 2005-09-27  Jim Meyering  <jim@meyering.net>
69547
69548         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
69549         HAVE_CONFIG_H.
69550
69551         * lib/intprops.h (signed_type_or_expr__): Define.
69552         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
69553         for unsigned types.
69554
69555 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
69556
69557         * lib/verify.h (verify_expr): Remove, replacing with:
69558         (verify_true): New macro that returns true instead of void.
69559         (verify_type__): Remove.
69560         (verify): Use verify_true rather than verify_type__.
69561
69562 2005-09-26  Bruno Haible  <bruno@clisp.org>
69563
69564         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
69565         is necessary.
69566         (lib_SOURCES): Remove mbchar.c.
69567         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
69568         (Files): Add m4/mbrtowc.m4.
69569         * modules/mbiter: Likewise.
69570         * modules/mbuiter: Likewise.
69571
69572 2005-09-26  Bruno Haible  <bruno@clisp.org>
69573
69574         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
69575         compile mbchar.c if they are not both present.
69576         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
69577         * m4/mbiter.m4 (gl_MBITER): Likewise.
69578         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
69579         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
69580         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
69581
69582 2005-09-25  Jim Meyering  <jim@meyering.net>
69583
69584         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
69585         also uses socklen_t.
69586
69587 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
69588
69589         * lib/utimens.c (ENOSYS): Define if not already defined.
69590         (futimens): Support having a null PATH if the file descriptor
69591         is nonnegative.
69592
69593         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
69594         Remove.
69595         (__attribute): Define to empty unless GCC 3.1 or later.
69596         This works around a core dump on OpenBSD 3.4, which has GCC
69597         2.95.3, which dumps core when given __attribute__(()).  It also
69598         simplifies other tests, since we really don't want to bother with
69599         worrying about which ancient version of GCC supported what.
69600         Original problem reported by Yoann Vandoorselaere, with part of
69601         the fix suggested by Derek Price.
69602
69603 2005-09-24  Jim Meyering  <jim@meyering.net>
69604
69605         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
69606         so we can once again use a positive bitfield width of 1 -- now we
69607         don't have to explain why we were using a bitfield width of 2.
69608
69609 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
69610
69611         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
69612         and similarly for the other external symbols.  Problem reported
69613         by James Gallager.
69614
69615         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
69616         bug reported by Jim Meyering.
69617
69618         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
69619         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
69620         not needed, since socklen is a prerequisite module.
69621
69622 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
69623
69624         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
69625         Problem reported by Eric Blake.
69626         (getaddrinfo): Initialize se so that it's not garbage.
69627         Redo internal storage allocation so that it doesn't make unportable
69628         assumptions about alignment.
69629         Fix a memory leak.
69630
69631         * lib/utimens.c (futimens): Use futimesat if available.
69632         Prefer it to futimes since it doesn't have the futimes bug.
69633
69634         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
69635         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
69636         Instead, declare a function that returns a pointer to an array,
69637         and use verify_type__ to declare the size of the array.
69638         Problem and germ of a solution reported by Bruno Haible.
69639         (verify_type__): Use 2, not 1, for bitfield size, to avoid
69640         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
69641
69642 2005-09-23  Jim Meyering  <jim@meyering.net>
69643
69644         Sync from coreutils.
69645         Correct build failure (socklen_t not defined) on at least
69646         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
69647         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
69648
69649 2005-09-23  Jim Meyering  <jim@meyering.net>
69650
69651         * modules/getaddrinfo (Depends-on): Add socklen.
69652
69653 2005-09-23  Bruno Haible  <bruno@clisp.org>
69654
69655         * tests/test-verify.c: New file.
69656
69657 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69658
69659         Sync from coreutils.
69660
69661         * modules/argmatch (Depends-on): Add verify.
69662         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
69663         unistd-safer.
69664         * modules/save-cwd (Depends-on): Likewise.
69665
69666         * modules/openat (Files): Add lib/openat-die.c.
69667         (Depends-on): Remove error, exitfail.
69668         Add dirname.
69669
69670         * modules/verify: New file.
69671         * MODULES.html.sh (Diagnostics <assert.h>): New section,
69672         with "verify" module.
69673
69674 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69675
69676         Sync from coreutils.
69677
69678         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
69679         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
69680         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
69681         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
69682         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
69683         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
69684         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
69685         Don't bother checking for string.h, stdlib.h, unistd.h.
69686         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
69687         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
69688         module's job.
69689         * m4/jm-macros.m4 (gl_MACROS): Likewise.
69690         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
69691
69692         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
69693         (gl_GETDATE): Use it.
69694
69695         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
69696
69697 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69698
69699         Sync from coreutils.
69700
69701         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
69702         stat-time.h.
69703         * lib/argmatch.h: Include verify.h
69704         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
69705         (ARGMATCH_ASSERT): Remove; unused.
69706         * lib/canonicalize.c: Assume STDC_HEADERS.
69707         * lib/exclude.c: Include "strcase.h".
69708         * lib/regex_internal.h [!defined _LIBC]: Likewise.
69709         * lib/getusershell.c: Include stdio--.h rather than stdio.h
69710         and stdio-safer.h.
69711         (getusershell): Call fopen, not fopen_safer.
69712         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
69713         Do not include unistd-safer.h.
69714         (save_cwd): Don't call fd_safer; no longer needed
69715         now that we include fcntl--.h.
69716
69717         * lib/getdate.y (relative_time): New type.
69718         (RELATIVE_TIME_0): New constant.
69719         (parser_control): Use relative_time instead of doing it ourselves.
69720         (%union): Add new relative_time rel member.
69721         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
69722         Now typeless.
69723         (relunit, relunit_snumber): Now of type rel.
69724         (zone, rel, relunit, get_date): Adjust to above changes.
69725
69726         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
69727         Do not include unistd-safer.h.
69728         (getloadavg): Don't call fd_safer; no longer needed
69729         now that we include fcntl--.h.
69730
69731         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
69732         (make_dir_parents): Treat ENOSYS like EEXIST.
69733
69734         Improve quality of diagnostics on restore_cwd failure.
69735         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
69736         (make_dir_parents): Last arg is now int * (for errno), not bool *.
69737         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
69738         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
69739         each time through the loop.  Do not diagnose restore_cwd failure;
69740         that is the caller's job (and perhaps the caller does not care).
69741
69742         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
69743         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
69744         If the file already exists but is not a directory, don't bother
69745         to try to make its parents.
69746         Close potential file descriptor leak if we can't chdir("/") (!).
69747         Don't always return true if chdir($PWD) fails; return true only
69748         if the requested action was done successfully (except for the
69749         chdir($PWD)).
69750         Don't log final directory unless we actually made it.
69751         Refactor to avoid duplicate code to fix up permissions.
69752         Don't attempt to fix up parent permissions if chdir($PWD) fails.
69753
69754         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
69755         to make it a bit faster and (I hope) clearer.
69756         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
69757         Fix bug in formats like %2N.
69758
69759         * lib/verify.h: New file.
69760
69761 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69762
69763         Sync from coreutils.
69764         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
69765
69766 2005-09-22  Jim Meyering  <jim@meyering.net>
69767
69768         Sync from coreutils.
69769
69770         * m4/lstat.m4 (gl_FUNC_LSTAT):
69771         Use AC_LIBSOURCES to require lstat.c and lstat.h.
69772         Remove obsolete comment.
69773         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
69774         * m4/xstrtod.m4: Likewise.
69775
69776         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
69777
69778 2005-09-22  Jim Meyering  <jim@meyering.net>
69779
69780         Sync from coreutils.
69781
69782         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
69783
69784         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
69785         the .tm_year member, since otherwise gcc-4.0 would now warn about
69786         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
69787
69788         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
69789         order to avoid an unsuppressible warning from gcc on 64-bit systems.
69790
69791         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
69792         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
69793         when run in a time zone for which daylight savings time is in effect
69794         for the starting date.
69795
69796         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
69797         stop us from restricting permissions of just-created absolute-named
69798         directories.
69799         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
69800         to restore initial working directory.
69801         * lib/mkdir-p.c (make_dir_parents): New parameter:
69802         different_working_dir, to tell caller if/when we change the working
69803         directory and are unable to return to the initial one.
69804         * lib/mkdir-p.h (make_dir_parents): Update prototype.
69805         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
69806         `return false'.  This fixes a bug introduced on 2004-07-30.
69807
69808         * lib/openat.c (fdopendir): Be sure to close the supplied
69809         file descriptor before returning.  This makes our replacement
69810         implementation a little closer to Solaris's, where fdopendir
69811         ties the file descriptor to the returned DIR* pointer.
69812         * lib/openat.c (unlinkat): New function.
69813         * lib/openat.h (unlinkat): Add prototype.
69814         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
69815         (openat_restore_fail): Rename from openat_restore_die.
69816         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
69817
69818         Provide an alternative to exiting immediately upon save_cwd or
69819         restore_cwd failure.  Now, an application can arrange e.g.,
69820         to perform a longjump in that case.
69821         * lib/openat.c: Include dirname.h.
69822         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
69823         (rpl_openat, fdopendir, fstatat): Call openat_save_die
69824         and openat_restore_die rather than calling error directly.
69825         Don't include "error.h" or "exitfail.h"; they're no longer needed.
69826
69827         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
69828         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
69829         define.
69830
69831         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
69832         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
69833                             int utc, int nanoseconds);
69834         Background:
69835         date should not have to allocate a megabyte of virtual memory to
69836         handle a format argument like +%1048575T.  When implemented with
69837         strftime, it must allocate such a buffer, use strftime to fill it
69838         in, print it, then free it.
69839         With fprintftime, it simply prints everything and exits.
69840         With no need for memory allocation, that's one fewer way to fail.
69841         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
69842         optional field width, not before, so we accept %9:z, not %:9z.
69843         (my_strftime): Be sure to use L_('x') for literals.
69844
69845         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
69846         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
69847         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
69848         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
69849         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
69850         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
69851         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
69852         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
69853         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
69854         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
69855         * lib/xgethostname.c, lib/xreadlink.c:
69856         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
69857
69858         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
69859         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
69860         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
69861         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
69862         and don't include <sys/file.h>).
69863
69864 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
69865
69866         Sync from coreutils.
69867
69868         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
69869         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
69870         [!LDAV_DONE]: Avoid unused variable warning.
69871
69872 2005-09-21  Bruno Haible  <bruno@clisp.org>
69873
69874         * lib/unicodeio.h (unicode_to_mb): New declaration.
69875
69876 2005-09-20  Derek Price  <derek@ximbiot.com>
69877
69878         * lib/getaddrinfo.c: Don't include <netdb.h> included from
69879         getaddrinfo.h.
69880
69881 2005-09-20  Bruno Haible  <bruno@clisp.org>
69882
69883         * gnulib-tool: Remove trailing slashes from the values specified for
69884         --source-base, --m4-base, --tests-base, --aux-dir.
69885         Suggested by Simon Josefsson <jas@extundo.com>.
69886
69887 2005-09-20  Bruno Haible  <bruno@clisp.org>
69888
69889         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
69890         func_modules_to_filelist, func_import, func_create_testdir): Make all
69891         sorting results locale-independent, so that gnulib-cache.m4 doesn't
69892         change when gnulib-tool is invoked in a different locale.
69893
69894 2005-09-19  Simon Josefsson  <jas@extundo.com>
69895
69896         * m4/socklen.m4: Fix typo.
69897
69898 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69899
69900         Use a consistent style for including <config.h>.
69901         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
69902         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
69903         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
69904         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
69905         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
69906         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
69907         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
69908         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
69909         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
69910         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
69911         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
69912         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
69913         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
69914         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
69915         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
69916         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
69917         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
69918         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
69919         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
69920         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
69921         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
69922         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
69923         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
69924         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
69925         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
69926         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
69927         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
69928         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
69929         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
69930         lib/xstrtoumax.c, lib/yesno.c:
69931         Standardize inclusion of config.h.
69932         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
69933         lib/inttostr.h:  Removed inclusion of config.h from header files.
69934         * lib/inttostr.c:  Adjusted in-tree users.
69935         * lib/timespec.h: Remove superfluous warning to include config.h.
69936         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
69937         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
69938         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
69939         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
69940         config.h with HAVE_CONFIG_H.
69941
69942 2005-09-19  Jim Meyering  <jim@meyering.net>
69943
69944         * modules/pathmax (License): Change to LGPL.
69945
69946 2005-09-19  Derek Price  <derek@ximbiot.com>
69947
69948         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
69949
69950 2005-09-19  Bruno Haible  <bruno@clisp.org>
69951
69952         * gnulib-tool (import): Provide default for --tests-base.
69953
69954 2005-09-19  Bruno Haible  <bruno@clisp.org>
69955
69956         * doc/quote.texi: New file, extracted from gnulib.texi.
69957         * doc/ctime.texi: New file, extracted from gnulib.texi.
69958         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
69959         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
69960         * doc/gnulib.texi: Include them.
69961
69962 2005-09-18  Bruno Haible  <bruno@clisp.org>
69963
69964         Portability fix.
69965         * gnulib-tool (func_readlink): New function.
69966         (func_ln_if_changed): Use it.
69967
69968 2005-09-18  Bruno Haible  <bruno@clisp.org>
69969
69970         * gnulib-tool: Support --with-tests also with --import.
69971         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
69972         (func_import): Use variables $testsbase and $inctests. Emit a
69973         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
69974         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
69975         SUBDIRS += $testsdir.
69976         (func_create_testdir): Update.
69977
69978 2005-09-18  Bruno Haible  <bruno@clisp.org>
69979
69980         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
69981         instead of $dry_run.
69982         (func_cp_if_changed, func_mv_if_changed): Remove functions.
69983         (func_ln_if_changed): Don't handle dry-run here.
69984         (func_import): In dry-run mode, detect more precisely which actions
69985         would be performed, and don't use "...ing" verbs.
69986
69987 2005-09-18  Bruno Haible  <bruno@clisp.org>
69988
69989         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
69990         (func_import): Use join on two temporary files instead of three nested
69991         loops, in order to determine which files are new or old.
69992
69993 2005-09-18  Bruno Haible  <bruno@clisp.org>
69994
69995         * gnulib-tool (func_import): Comment out code that spits out the
69996         new files with --dry-run.
69997
69998 2005-09-18  Bruno Haible  <bruno@clisp.org>
69999
70000         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
70001
70002 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
70003
70004         * lib/stat-time.h: New file.
70005         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
70006         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
70007         in a different way.
70008         (timespec_cmp): New function.
70009         * lib/utimecmp.c: Include stat-time.h.
70010         (SYSCALL_RESOLUTION): Depend on whether various struct stat
70011         members exist, not on the obsolescent ST_MTIM_NSEC.
70012         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
70013
70014 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
70015
70016         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
70017
70018 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
70019
70020         * MODULES.html.sh (File system functions): Add stat-time.
70021         * modules/stat-time: New file.
70022         * modules/timespec (Files): Remove m4/st_mtim.m4; this
70023         is now done in a different way, by the stat-time module.
70024         * modules/utimecmp (Depends-on): Add stat-time.
70025
70026 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70027
70028         * m4/st_mtim.m4: Remove.  Superseded by...
70029         * m4/stat-time.m4: New file.
70030         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
70031         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
70032
70033 2005-09-15  Derek Price  <derek@ximbiot.com>
70034
70035         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
70036
70037 2005-09-15  Derek Price  <derek@ximbiot.com>
70038
70039         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
70040         * lib/regex_internal.c: Ditto, using this...
70041         (__GNUC_PREREQ): ...new macro.
70042         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
70043         using...
70044         (__GNUC_PREREQ): ...this new macro.
70045
70046         * lib/strstr.h: Include string.h. Define strstr as a macro here.
70047
70048 2005-09-15  Derek Price  <derek@ximbiot.com>
70049             Paul Eggert  <eggert@cs.ucla.edu>
70050
70051         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
70052         changes, consolidating in...
70053         * lib/regex_internal.h: ...this file.
70054
70055 2005-09-13  Jim Meyering  <jim@meyering.net>
70056
70057         * lib/canon-host.c: Filter through gnu indent and reword comments
70058         slightly.
70059         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
70060
70061 2005-09-13  Derek Price  <derek@ximbiot.com>
70062
70063         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
70064         failure.
70065         Reported by Jim Meyering  <jim@meyering.net>.
70066
70067 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70068
70069         * lib/base64.c: Typo.
70070         (base64_encode): Put b64str in initialized data section.
70071
70072 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
70073
70074         Merge glibc and coreutils changes into gnulib, plus a few
70075         extra fixes.
70076         * lib/md5.c: Use #error rather than a string.
70077         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
70078         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
70079         (__attribute__): Define to empty for non recent-GCC.
70080         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
70081         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
70082         Renamed from their non-__ counterparts, with new macros replacing
70083         them if not _LIBC.  Add __THROW attribute.
70084         (rol): Remove.
70085         (struct md5_ctx): Align buffer if using GCC.
70086         * lib/sha1.h (struct sha1_ctx): Likewise.
70087         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
70088         The old name was backwards.
70089         (NOTSWAP): Remove; not used.
70090         (rol): New macro, moved here from md5.h.
70091         (sha1_process_block): Remove a FIXME that doesn't make sense.
70092
70093 2005-09-12  Derek Price  <derek@ximbiot.com>
70094
70095         Return usable errors from canon-host.
70096         * lib/canon-host.h: New file.
70097         * lib/canon-host.c (canon_host): Wrap...
70098         (canon_host_r): ...this new function, which now relies exclusively on
70099         getaddrinfo.
70100         (ch_strerror): New function.
70101         (last_cherror): New global.
70102         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
70103         interface.
70104         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
70105         void *.
70106         (freeaddrinfo): Free ai->ai_canonname when set.
70107
70108 2005-09-12  Derek Price  <derek@ximbiot.com>
70109
70110         Make canon-host require getaddrinfo.
70111         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
70112         AC_LIBSOURCE canon-host.h.  Call...
70113         (gl_PREREQ_CANON_HOST): ...this new function, which requires
70114         gl_GETADDRINFO.
70115         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
70116
70117 2005-09-12  Derek Price  <derek@ximbiot.com>
70118
70119         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
70120         LGPL.
70121         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
70122
70123 2005-09-12  Derek Price  <derek@ximbiot.com>
70124
70125         * lib/gai_strerror.c: Include config.h when available.  Include
70126         getaddrinfo.h before other headers to test interface.
70127         Reported by Larry Jones <lawrence.jones@ugs.com>.
70128
70129 2005-09-12  Derek Price  <derek@ximbiot.com>
70130             Paul Eggert  <eggert@cs.ucla.edu>
70131
70132         * modules/glob (Files): Add glob-libc.h.
70133
70134 2005-09-12  Derek Price  <derek@ximbiot.com>
70135             Paul Eggert  <eggert@cs.ucla.edu>
70136
70137         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
70138         glob_.h, glob-libc.h.
70139         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
70140
70141 2005-09-12  Derek Price  <derek@ximbiot.com>
70142             Paul Eggert  <eggert@cs.ucla.edu>
70143
70144         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
70145         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
70146         protecting things that should be done only in gnulib contexts.
70147         * lib/glob_.h: New file, containing only the glob things needed for
70148         gnulib.
70149         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
70150         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
70151         (glob, globfree, glob_pattern_p): Now defined simply in terms of
70152         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
70153         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
70154         and to respect the namespace rules better.
70155
70156 2005-09-08  Simon Josefsson  <jas@extundo.com>
70157
70158         * modules/socklen: New file.
70159
70160 2005-09-08  Simon Josefsson  <jas@extundo.com>
70161
70162         * m4/socklen.m4: New file.
70163
70164 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70165
70166         * modules/utimens (Files): Add m4/utimbuf.m4, since
70167         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
70168         Reported by Sergey Poznyakoff.
70169
70170 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70171
70172         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
70173         definitions, since that's the preferred style in glibc.
70174         Fix a minor spacing issue, and update copyright notice to match
70175         glibc's.
70176
70177 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70178
70179         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
70180
70181 2005-09-06  Simon Josefsson  <jas@extundo.com>
70182
70183         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
70184         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
70185
70186 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
70187
70188         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
70189         warning.
70190
70191 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
70192
70193         * config/srclist.txt: Add glibc bug 1302.
70194
70195 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
70196
70197         Change bitset word type from unsigned int to unsigned long int,
70198         as this has better performance on typical 64-bit hosts.
70199         Port bitset code to hosts with unusual word sizes.
70200         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
70201         (build_collating_symbol):
70202         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
70203         argument is a bitset.  This is merely a style issue, but it makes
70204         it clearer that an entire array is expected.
70205         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
70206         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
70207         Port to the case where bitset_word is not the same as unsigned int.
70208         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
70209         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
70210         Likewise.
70211         * lib/regexec.c (check_dst_limits_calc_pos_1,
70212         check_subexp_matching_top):
70213         (build_trtable, group_nodes_into_DFAstates):
70214         Likewise.
70215         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
70216         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
70217         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
70218         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
70219         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
70220         * lib/regcomp.c (optimize_subexps, lower_subexp):
70221         Work even if bitset_word has holes in its bitwise representation.
70222         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
70223         * lib/regexec.c (check_dst_limits_calc_pos_1,
70224         check_subexp_matching_top):
70225         Likewise.
70226         * lib/regex_internal.c (re_string_reconstruct):
70227         Don't assume UCHAR_MAX == 255.
70228         * lib/regex_internal.h (bitset_set_all): Likewise.
70229         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
70230         All uses changed.
70231         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
70232         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
70233         All uses changed.
70234         (BITSET_WORD_MAX): New macro.
70235         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
70236         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
70237         (bitset_empty, bitset_copy):
70238         Prefer sizeof (bitset) to multiplying it out ourselves.
70239         (bitset_not_merge): Remove; unused.
70240         (bitset_contain): Return bool, not unsigned int with one bit on.
70241         All callers changed.
70242         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
70243         alignment than re_node_set; do this by defining a new internal
70244         type struct dests_alloc and using it to allocate memory.
70245
70246 2005-09-05  Bruno Haible  <bruno@clisp.org>
70247
70248         * gnulib-tool (func_import): Fix comparison in handling of symbolic
70249         links.
70250
70251 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
70252
70253         * modules/size_max (Makefile.am): Add size_max.h
70254
70255 2005-09-04  Derek Price  <derek@ximbiot.com>
70256
70257         * gnulib-tool (func_import): Fix reversed $symbolic logic.
70258
70259 2005-09-03  Simon Josefsson  <jas@extundo.com>
70260
70261         * gnulib-tool: Fix typo.
70262
70263 2005-09-03  Simon Josefsson  <jas@extundo.com>
70264
70265         * config/srclist.txt: Add glibc bug 1293.
70266
70267 2005-09-03  Derek Price  <derek@ximbiot.com>
70268
70269         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
70270         From Larry Jones <lawrence.jones@ugs.com>.
70271
70272 2005-09-02  Simon Josefsson  <jas@extundo.com>
70273
70274         * modules/socklen: New file.
70275
70276 2005-09-02  Simon Josefsson  <jas@extundo.com>
70277
70278         * modules/havelib: New module.
70279
70280         * modules/gettext, modules/iconv, modules/lock, modules/readline:
70281         Use havelib.
70282
70283 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
70284
70285         Check for arithmetic overflow when calculating sizes, to prevent
70286         some buffer-overflow issues.  These patches are conservative, in the
70287         sense that when I couldn't determine whether an overflow was possible,
70288         I inserted a run-time check.
70289         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
70290         macros.
70291         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
70292         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
70293         (re_xnrealloc, re_x2nrealloc): New inline functions.
70294         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
70295         parse_bracket_exp):
70296         (build_equiv_class, build_charclass): Check for arithmetic overflow
70297         in size expression calculations.
70298         * lib/regex_internal.c (re_string_realloc_buffers):
70299         (build_wcs_upper_buffer, re_node_set_add_intersect):
70300         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
70301         (re_dfa_add_node, register_state): Likewise.
70302         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
70303         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
70304         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
70305         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
70306
70307 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
70308
70309         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
70310         m4/ulonglong.m4.  Problem reported by Martin Lambers.
70311
70312 2005-09-02  Bruno Haible  <bruno@clisp.org>
70313
70314         Support for lib vs. lib64 distinction on biarch platforms.
70315         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
70316         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
70317         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
70318
70319 2005-09-02  Bruno Haible  <bruno@clisp.org>
70320
70321         * gnulib-tool (import): In the other first-use case, provide defaults
70322         as well.
70323
70324 2005-09-02  Bruno Haible  <bruno@clisp.org>
70325
70326         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
70327         patches not yet found in the latest gettext release.
70328
70329 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70330
70331         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
70332         to avoid a collision with bits/local_lim.h in glibc.
70333         All uses changed.  Problem reported by Dmitry V. Levin in
70334         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
70335
70336         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
70337         bugs in int versus size_t comparisons.
70338         (re_string_context_at): Fix bug where the code assumed that
70339         Idx is signed.
70340
70341         Use bool where appropriate.
70342         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
70343         All callers changed.
70344         (calc_eclosure_iter): Likewise, for ROOT arg.
70345         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
70346         (build_charclass_op): Likewise, for NON_MATCH arg.
70347         * lib/regex_internal.c (re_string_allocate, re_string_construct):
70348         (re_string_construct_common): Likewise, for ICASE arg.
70349         * lib/regexec.c (re_search_2_stub, re_search_stub):
70350         Likewise, for RET_LEN arg.
70351         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
70352         (set_regs): Likewise, for FL_BACKTRACK arg.
70353         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
70354         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
70355         (calc_eclosure_iter, parse_bracket_exp):
70356         Use bool for internal variables that are booleans.
70357         * lib/regexec.c (re_search_internal, check_matching,
70358         proceed_next_node):
70359         (set_regs, build_sifted_states, sift_states_bkref):
70360         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
70361         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
70362         (find_collation_sequence_value):
70363         Likewise.
70364         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
70365         (re_node_set_compare):
70366         Return bool, not int. All callers changed.
70367         * lib/regexec.c (check_halt_node_context, check_dst_limits):
70368         (build_trtable, check_node_accept): Likewise.
70369         * lib/regex_internal.h: Include stdbool.h.
70370
70371         Fix bugs uncovered when converting to bool.
70372         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
70373         failure instead of charging ahead blindly.
70374         * lib/regex_internal.c (register_state): Likewise.
70375         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
70376         for freeing internal storage.
70377         (group_nodes_into_DFA_states): Use unsigned int, not int, for
70378         bitset pieces used as boolean, to avoid undefined behavior
70379         on hosts that do int overflow checking.
70380
70381 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70382
70383         * config/srclist.txt: Add glibc bugs 1285-1287.
70384
70385 2005-09-01  Jim Meyering  <jim@meyering.net>
70386
70387         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
70388         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
70389         Require gl_STAT_MACROS, too.
70390
70391 2005-09-01  Bruno Haible  <bruno@clisp.org>
70392
70393         * gnulib-tool (import): In the first-use case, provide defaults.
70394
70395 2005-09-01  Bruno Haible  <bruno@clisp.org>
70396
70397         * gnulib-tool (func_import): Remove the .tmp files.
70398
70399 2005-09-01  Bruno Haible  <bruno@clisp.org>
70400
70401         * gnulib-tool (func_import): Fix handling of symbolic links.
70402
70403 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70404
70405         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
70406         old glibc regex code mishandles strings longer than 2**31 bytes.
70407         This patch fixes this when the regex code is used in gnulib
70408         (i.e., outside glibc).
70409
70410         This patch should not affect the use of the regex code inside
70411         glibc.  No doubt this problem also needs to be handled for glibc
70412         as well, but the result will be an incompatible change to the
70413         glibc ABI, and the old ABI will have to be supported too.  That
70414         can be the the subject for another patch.
70415
70416         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
70417         governing whether the rest of this patch is active.  By default,
70418         the macro is disabled and the patch has no effect.
70419         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
70420         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
70421         (struct re_pattern_buffer, re_search, re_search_2, re_match):
70422         (re_match_2, re_set_registers): Use the new types.
70423         * lib/regex_internal.h (Idx, re_hashval_t): New types.
70424         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
70425         New macros.
70426         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
70427         (re_string_context_at, bin_tree_t, re_dfastate_t):
70428         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
70429         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
70430         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
70431         (re_string_char_size_at, re_string_wchar_at):
70432         (re_string_elem_size_at):
70433         Use the new types and macros to port to 64-bit hosts.
70434         Use unsigned types for internal values, so that the code
70435         mostly works even for arrays larger than SSIZE_MAX.
70436         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
70437         (search_duplicated_node, calc_eclosure_iter, fetch_number):
70438         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
70439         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
70440         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
70441         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
70442         (calc_inveclosure, parse_dup_op, build_range_exp):
70443         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
70444         (fetch_number, create_token_tree, mark_opt_subexp):
70445         Likewise.
70446         * lib/regex_internal.c (re_string_construct_common,
70447         create_ci_newstate):
70448         (create_cd_newstate, re_string_allocate, re_string_construct):
70449         (re_string_realloc_buffers, build_wcs_upper_buffer):
70450         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
70451         (re_string_reconstruct, re_string_peek_byte_case):
70452         (re_string_fetch_byte_case, re_string_context_at):
70453         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
70454         (re_node_set_init_copy, re_node_set_add_intersect):
70455         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
70456         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
70457         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
70458         (re_acquire_state, re_acquire_state_context, register_state):
70459         Likewise.
70460         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
70461         search_cur_bkref_entry):
70462         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
70463         (re_search_internal, re_search_2_stub, re_search_stub)
70464         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
70465         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
70466         (update_cur_sifted_state, check_dst_limits):
70467         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
70468         (check_subexp_limits, sift_states_bkref, merge_state_array):
70469         (check_subexp_matching_top, get_subexp, get_subexp_sub):
70470         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
70471         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
70472         (expand_bkref_cache, check_node_accept_bytes):
70473         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
70474         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
70475         (acquire_init_state_context, check_halt_node_context):
70476         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
70477         (sift_states_backward, clean_state_log_if_needed):
70478         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
70479         (find_recover_state, transit_state_sb, transit_state_mb):
70480         (transit_state_bkref, build_trtable, match_ctx_clean):
70481         Likewise.
70482         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
70483         to work around an assumption that REG_MISSING is negative.
70484
70485         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
70486         (seek_collating_symbol_entry) [defined _LIBC]:
70487         (lookup_collation_sequence_value) [defined _LIBC]:
70488         (build_range_exp, build_collating_symbol) [defined _LIBC]:
70489         Use prototypes rather than old-style function definitions.
70490         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
70491         (transit_state_sb) [0]:
70492         (find_collation_sequence_value) [defined _LIBC]: Likewise.
70493
70494         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
70495         rm_eo.
70496
70497         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
70498         (optimize_subexps, lower_subexp):
70499         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
70500         since the signed shift might overflow.  Use 1u<<31 instead.
70501         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
70502         Likewise.
70503         * lib/regexec.c (check_dst_limits_calc_pos_1,
70504         check_subexp_matching_top): Likewise.
70505
70506         * lib/regcomp.c (optimize_subexps, lower_subexp):
70507         Use CHAR_BIT rather than 8, for clarity.
70508         * lib/regexec.c (check_dst_limits_calc_pos_1):
70509         (check_subexp_matching_top): Likewise.
70510         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
70511         have to worry about portability issues when shifting it left.
70512         Remove no-longer-needed test for table_size > 0.
70513         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
70514         in a word, as the resulting behavior is undefined.
70515         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
70516         in one case, a <= should have been an <, and in another case the
70517         whole test was missing.
70518         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
70519         the standard name CHAR_BIT.
70520         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
70521         this is not true on one's complement and signed-magnitude hosts.
70522
70523         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
70524         next_last_offset.
70525         (struct re_dfa_t): Remove unused member states_alloc.
70526         * lib/regcomp.c (init_dfa): Don't initialize unused members.
70527
70528 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70529
70530         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
70531         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
70532         and large-file glibc and in 32-bit large-file Solaris.
70533
70534 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70535
70536         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
70537         lengths fit in regoff_t; this isn't true if regoff_t is the same
70538         width as size_t.
70539         * lib/regex.c (re_search_internal): 5th arg is LAST_START
70540         (= START + RANGE) instead of RANGE.  This avoids overflow
70541         problems when regoff_t is the same width as size_t.
70542         All callers changed.
70543         (re_search_2_stub): Check for overflow when adding the
70544         sizes of the two strings.
70545         (re_search_stub): Check for overflow when adding START
70546         to RANGE; if it occurs, substitute the extreme value.
70547
70548 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70549
70550         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
70551
70552 2005-08-31  Jim Meyering  <jim@meyering.net>
70553
70554         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
70555         a pointer-to-const.
70556         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
70557         (register_state): Likewise.
70558         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
70559         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
70560         (group_nodes_into_DFAstates): Likewise.
70561
70562 2005-08-31  Jim Meyering  <jim@meyering.net>
70563
70564         * check-module: Add a FIXME comment.
70565
70566 2005-08-31  Eric Blake  <ebb9@byu.net>
70567
70568         * modules/unistd-safer (Files): Add unistd--.h.
70569         * modules/stdio-safer (Files): Add stdio--.h.
70570
70571 2005-08-31  Derek Price  <derek@ximbiot.com>
70572
70573         * lib/getdelim.c (getdelim): Return EOF on EOF.
70574         Reported by Larry Jones <lawrence.jones@ugs.com>.
70575
70576 2005-08-31  Bruno Haible  <bruno@clisp.org>
70577
70578         Avoid unnecessary diffs in the generated lib/Makefile.am.
70579         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
70580         the generated files.
70581         (func_import): Don't set cmd.
70582
70583 2005-08-31  Bruno Haible  <bruno@clisp.org>
70584
70585         * lib/strstr.c: Include <stddef.h>, for NULL.
70586         * lib/strcasestr.c: Likewise.
70587         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
70588
70589 2005-08-31  Bruno Haible  <bruno@clisp.org>
70590
70591         * gnulib-tool: New option --macro-prefix.
70592         (func_import): Use macro_prefix.
70593         (import): Handle option --macro-prefix.
70594
70595 2005-08-31  Bruno Haible  <bruno@clisp.org>
70596
70597         * gnulib-tool (import): Rename most ac_* variables to cached_*.
70598         Also use new variables cached_lgpl, cached_libtool.
70599
70600 2005-08-31  Bruno Haible  <bruno@clisp.org>
70601
70602         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
70603         always instantiating them.
70604
70605 2005-08-31  Bruno Haible  <bruno@clisp.org>
70606
70607         * gnulib-tool (func_import): Read the previous cached settings
70608         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
70609         earlier added by gnulib but are now dropped. Warn when a gnulib file
70610         overwrites a non-gnulib file.
70611
70612 2005-08-31  Bruno Haible  <bruno@clisp.org>
70613
70614         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
70615         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
70616         projects that don't keep autogenerated files in CVS. Put into
70617         actioncmd only the specified modules, not the transitive closure.
70618
70619 2005-08-31  Bruno Haible  <bruno@clisp.org>
70620
70621         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
70622         Create directories that shall be filled.
70623         (import): Don't look for gl_* macros in configure.ac. Recurse across
70624         all directories containing a gnulib-cache.m4 files, if meaningful.
70625
70626 2005-08-31  Bruno Haible  <bruno@clisp.org>
70627
70628         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
70629         (import): Set seen_libtool when we see gl_LIBTOOL.
70630
70631 2005-08-31  Bruno Haible  <bruno@clisp.org>
70632
70633         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
70634         declaration macro definitions from generated gnulib.m4.
70635
70636 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
70637
70638         * lib/iconvme.h: Add prototype for iconv_alloc.
70639
70640 2005-08-29  Simon Josefsson  <jas@extundo.com>
70641
70642         * lib/iconvme.c: Fix errno.
70643
70644 2005-08-29  Bruno Haible  <bruno@clisp.org>
70645
70646         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
70647         that it works when the directory contains spaces.
70648
70649 2005-08-29  Bruno Haible  <bruno@clisp.org>
70650
70651         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
70652
70653 2005-08-29  Bruno Haible  <bruno@clisp.org>
70654
70655         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
70656         Emit more advice.
70657
70658 2005-08-29  Bruno Haible  <bruno@clisp.org>
70659         and Stepan Kasal  <kasal@ucw.cz>
70660
70661         * check-module: If more parameters are given, check each of them
70662         separately; add more exceptions, as noted by Jim Meyering.
70663         (check_module): New procedure.
70664         (%exempt_header): Now contains all exceptions.
70665
70666 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
70667
70668         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
70669
70670 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
70671
70672         * lib/iconvme.c: Split iconv_string into iconv_alloc.
70673
70674 2005-08-28  Bruno Haible  <bruno@clisp.org>
70675
70676         * m4/gnulib-tool.m4: New file.
70677
70678 2005-08-27  Jim Meyering  <jim@meyering.net>
70679
70680         * modules/unistd-safer (Files): Add pipe-safer.c.
70681         * modules/fcntl-safer (Files): Add creat-safer.c.
70682
70683 2005-08-27  Jim Meyering  <jim@meyering.net>
70684
70685         * m4/stdlib-safer.m4: New file.  From coreutils.
70686         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
70687         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
70688         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
70689         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
70690         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
70691
70692 2005-08-27  Jim Meyering  <jim@meyering.net>
70693
70694         * lib/fopen-safer.c: Merge minor changes from coreutils.
70695         * lib/dup-safer.c: Likewise.
70696         * lib/fd-safer.c: Likewise.
70697
70698         Merge from coreutils.
70699         * lib/stdio--.h: New file.
70700         * lib/stdlib--.h: New file.
70701         * lib/mkstemp-safer.c: New file.
70702
70703         GNU tar needs these.
70704         * lib/pipe-safer.c: New file.
70705         * lib/creat-safer.c: New file.
70706         * lib/fcntl--.h (creat): Define to creat_safer.
70707         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
70708         * lib/unistd--.h (pipe): Define to pipe_safer.
70709         * lib/unistd-safer.h: Declare pipe_safer.
70710
70711 2005-08-26  Simon Josefsson  <jas@extundo.com>
70712
70713         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
70714         Haible <bruno@clisp.org>.
70715
70716 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
70717
70718         * lib/regex_internal.h: Remove all references to
70719         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
70720         or better.
70721         (bitset_not, bitset_merge, bitset_not_merge):
70722         (bitset_mask, re_string_allocate, re_string_construct):
70723         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
70724         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
70725         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
70726         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
70727         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
70728         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
70729         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
70730         (re_acquire_state_context):
70731         Remove unnecessary forward decls.
70732         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
70733         Put __attribute at function definition,
70734         now that the function decl has been removed.
70735         * lib/regex_internal.c (re_string_peek_byte_case):
70736         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
70737         Likewise.
70738
70739 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
70740
70741         * m4/regex.m4: Add AC_PREREQ(2.50).
70742         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
70743
70744 2005-08-25  Simon Josefsson  <jas@extundo.com>
70745
70746         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
70747         __fsetlocking.
70748
70749 2005-08-25  Simon Josefsson  <jas@extundo.com>
70750
70751         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
70752         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
70753         GLIBC specific code.
70754
70755 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70756
70757         Make regex safe for g++.  This fixes one real bug (an "err"
70758         that should have been "*err").  g++ problem reported by
70759         Sam Steingold.
70760         * lib/regex_internal.h (re_calloc): New macro, consistent with
70761         re_malloc etc.  All callers of calloc changed to use re_calloc.
70762         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
70763         not int.  All callers changed.
70764         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
70765         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
70766         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
70767         (find_recover_state): Change "err" to "*err"; this fixes what
70768         appears to be a real bug.
70769         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
70770         versus int.
70771
70772 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70773
70774         * modules/regex (Depends-on): Add malloc, since the code
70775         assumes that !malloc(0) means failure.
70776
70777 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70778
70779         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
70780
70781         alloca modernization/simplification for regex.
70782         * lib/regex.c: Remove portability cruft for alloca.  This no longer
70783         needs to be at the start of the file, and can be moved into
70784         regex_internal.h and simplified.
70785         * lib/regex_internal.h: Include <alloca.h>.
70786         (__libc_use_alloca) [!defined _LIBC]: New macro.
70787         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
70788         now works outside glibc.
70789
70790 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70791
70792         * config/srclist.txt: Add glibc bugs 1241, 1245.
70793
70794 2005-08-25  Jim Meyering  <jim@meyering.net>
70795
70796         * lib/open-safer.c: Include <config.h>.
70797         Otherwise, we'd lose LARGEFILE support in any file using
70798         e.g. "fcntl--.h"
70799
70800 2005-08-25  Bruno Haible  <bruno@clisp.org>
70801
70802         * m4/minmax.m4: Require autoconf 2.52.
70803         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
70804         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
70805         alternatives of translit over the alphabet.
70806         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
70807
70808 2005-08-24  Simon Josefsson  <jas@extundo.com>
70809
70810         * tests/test-getpass.c: New file.
70811
70812 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70813
70814         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
70815         for GNU regex features.
70816
70817 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70818
70819         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
70820         * lib/regex.h (regerror): Likewise.
70821
70822         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
70823         requires this.  (The code never needed it.)
70824
70825         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
70826         All uses of recently-renamed identifiers changed to use the new,
70827         POSIX-compliant names.  The code will build and run just fine
70828         without these changes, but it's better to eat our own dog food
70829         and use the standard-conforming names.
70830
70831         * lib/regex.h: Fix a multitude of POSIX name space violations.
70832         These changes have an effect only for programs that define
70833         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
70834         do not change anything for programs compiled in the normal way.
70835         Also, there is no effect on the ABI.
70836
70837         (_REGEX_SOURCE): New macro.
70838         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
70839         defined and _GNU_SOURCE is not; this fixes a name space violation.
70840
70841         Rename the following macros to obey POSIX requirements.
70842         The old names are still visible as macros if _REGEX_SOURCE is defined.
70843         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
70844         RE_BACKSLASH_ESCAPE_IN_LISTS.
70845         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
70846         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
70847         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
70848         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
70849         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
70850         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
70851         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
70852         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
70853         (REG_INTERVALS): renamed from RE_INTERVALS.
70854         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
70855         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
70856         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
70857         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
70858         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
70859         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
70860         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
70861         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
70862         RE_UNMATCHED_RIGHT_PAREN_ORD.
70863         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
70864         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
70865         (REG_DEBUG): renamed from RE_DEBUG.
70866         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
70867         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
70868         unusual, since we can't clash with the POSIX REG_ICASE.
70869         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
70870         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
70871         (REG_NO_SUB): renamed from RE_NO_SUB.
70872         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
70873         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
70874         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
70875         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
70876         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
70877         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
70878         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
70879         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
70880         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
70881         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
70882         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
70883         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
70884         RE_SYNTAX_POSIX_MINIMAL_BASIC.
70885         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
70886         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
70887         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
70888         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
70889         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
70890         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
70891         (REG_FIXED): Renamed from REGS_FIXED.
70892         (REG_NREGS): Renamed from RE_NREGS.
70893
70894         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
70895         of other REG_* macros, since POSIX says the user is allowed to
70896         #undef these macros selectively.
70897
70898         (reg_errcode_t): Update comment stating what other tables need
70899         to be consistent.
70900
70901         Rename the following enum values to obey POSIX requirements.
70902         The old names are still visible as macros.
70903         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
70904         is not defined, since GNU is supposed to be a superset of POSIX as
70905         much as possible, and since we want reg_errcode_t to be a signed
70906         type for implementation consistency.
70907         (_REG_NOERROR): Renamed from REG_NOERROR.
70908         (_REG_NOMATCH): Renamed from REG_NOMATCH.
70909         (_REG_BADPAT): Renamed from REG_BADPAT.
70910         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
70911         (_REG_ECTYPE): Renamed from REG_ECTYPE.
70912         (_REG_EESCAPE): Renamed from REG_EESCAPE.
70913         (_REG_ESUBREG): Renamed from REG_ESUBREG.
70914         (_REG_EBRACK): Renamed from REG_EBRACK.
70915         (_REG_EPAREN): Renamed from REG_EPAREN.
70916         (_REG_EBRACE): Renamed from REG_EBRACE.
70917         (_REG_BADBR): Renamed from REG_BADBR.
70918         (_REG_ERANGE): Renamed from REG_ERANGE.
70919         (_REG_ESPACE): Renamed from REG_ESPACE.
70920         (_REG_BADRPT): Renamed from REG_BADRPT.
70921         (_REG_EEND): Renamed from REG_EEND.
70922         (_REG_ESIZE): Renamed from REG_ESIZE.
70923         (_REG_ERPAREN): Renamed from REG_ERPAREN.
70924         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
70925         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
70926         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
70927         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
70928
70929         (_REG_RE_NAME, _REG_RM_NAME): New macros.
70930         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
70931         changed.  But support the old name if the new one is not defined
70932         and if _REGEX_SOURCE.
70933
70934         Change the following member names in struct re_pattern_buffer.
70935         The old names are still supported if !_REGEX_SOURCE.
70936         The new names are always supported, regardless of _REGEX_SOURCE.
70937         (re_buffer): Renamed from buffer.
70938         (re_allocated): Renamed from allocated.
70939         (re_used): Renamed from used.
70940         (re_syntax): Renamed from syntax.
70941         (re_fastmap): Renamed from fastmap.
70942         (re_translate): Renamed from translate.
70943         (re_can_be_null): Renamed from can_be_null.
70944         (re_regs_allocated): Renamed from regs_allocated.
70945         (re_fastmap_accurate): Renamed from fastmap_accurate.
70946         (re_no_sub): Renamed from no_sub.
70947         (re_not_bol): Renamed from not_bol.
70948         (re_not_eol): Renamed from not_eol.
70949         (re_newline_anchor): Renamed from newline_anchor.
70950
70951         Change the following member names in struct re_registers.
70952         The old names are still supported if !_REGEX_SOURCE.
70953         The new names are always supported, regardless of _REGEX_SOURCE.
70954         (rm_num_regs): Renamed from num_regs.
70955         (rm_start): Renamed from start.
70956         (rm_end): Renamed from end.
70957
70958         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
70959         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
70960         Prepend __ to parameter names.
70961
70962         Undo yesterday's changes.
70963
70964 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70965
70966         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
70967         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
70968         lib/regex.c.
70969
70970 2005-08-24  Jim Meyering  <jim@meyering.net>
70971
70972         Sync from coreutils.
70973         * m4/fcntl-safer.m4: New file.
70974
70975         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
70976         and object files for this module.
70977
70978 2005-08-24  Jim Meyering  <jim@meyering.net>
70979
70980         Sync from coreutils.
70981         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
70982
70983 2005-08-24  Jim Meyering  <jim@meyering.net>
70984
70985         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
70986         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
70987
70988 2005-08-24  Jim Meyering  <jim@meyering.net>
70989
70990         * modules/fcntl-safer: New module.
70991         * modules/fts (Depends-on): Add fcntl-safer.
70992         * MODULES.html.sh (File descriptor based Input/Output):
70993         Add fcntl-safer.
70994
70995 2005-08-24  Bruno Haible  <bruno@clisp.org>
70996
70997         Support for unit test modules.
70998         * modules/README: Mention tests modules.
70999         * modules/TEMPLATE-TESTS: New file.
71000         * gnulib-tool: New options --extract-tests-module, --with-tests and
71001         --tests-base (unused for the moment).
71002         (testsbase, inctests): New variables.
71003         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
71004         (func_verify_module): Exclude TEMPLATE-TESTS.
71005         (func_verify_nontests_module, func_verify_tests_module): New functions.
71006         (func_get_dependencies): Add implicit dependency for tests modules.
71007         (func_get_tests_module): New function.
71008         (func_modules_transitive_closure): When --with-tests was specified,
71009         include the unit tests as well, unless explicitly avoided.
71010         (func_emit_lib_Makefile_am): Ignore the tests modules here.
71011         (func_emit_tests_Makefile_am): New function.
71012         (func_create_testdir): When --with-tests was specified, emit a
71013         tests/ directory.
71014         * MODULES.html.sh (Future developments): Update.
71015
71016 2005-08-24  Bruno Haible  <bruno@clisp.org>
71017
71018         * modules/tls-tests: New file.
71019         * tests/test-tls.c: New file, from GNU gettext.
71020
71021 2005-08-24  Bruno Haible  <bruno@clisp.org>
71022
71023         * modules/lock-tests: New file.
71024         * tests/test-lock.c: New file, from GNU gettext.
71025
71026 2005-08-24  Bruno Haible  <bruno@clisp.org>
71027
71028         * lib/lock.h: Add multiple inclusion guard.
71029         * lib/tls.h: Add multiple inclusion guard.
71030
71031 2005-08-24  Bruno Haible  <bruno@clisp.org>
71032
71033         * gnulib-tool: Add support for the --aux-dir option to
71034         --create-testdir, --create-megatestdir, --test, --megatest.
71035         (func_create_testdir, func_create_megatestdir): Optionally emit a
71036         AC_CONFIG_AUX_DIR directive.
71037         (create-testdir, create-megatestdir, test, megatest): Provide a
71038         default value for $auxdir.
71039
71040 2005-08-24  Bruno Haible  <bruno@clisp.org>
71041
71042         * gnulib-tool (import): Use compound statement instead of subshell
71043         where possible.
71044
71045 2005-08-24  Bruno Haible  <bruno@clisp.org>
71046
71047         * gnulib-tool (import): Change --aux-dir default to "build-aux".
71048
71049 2005-08-24  Bruno Haible  <bruno@clisp.org>
71050
71051         * gnulib-tool (func_version): Update.
71052
71053 2005-08-24  Bruno Haible  <bruno@clisp.org>
71054
71055         * gnulib-tool (func_import, func_create_testdir,
71056         func_create_megatestdir): Quote all autoconf macro arguments.
71057
71058 2005-08-24  Bruno Haible  <bruno@clisp.org>
71059
71060         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
71061         option --force, because --force causes the aclocal.m4 of each
71062         subdirectory to be newer than the corresponding config.h.in.
71063
71064 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71065
71066         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
71067         All contents moved to gl_REGEX.
71068         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
71069         assume that it does.
71070
71071 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71072
71073         * lib/regex.h (REG_NOSYS)
71074         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
71075         Define, since POSIX requires it as of 2001.
71076         (_REG_ENOSYS)
71077         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
71078         New private symbol, used to keep the enum signed in all cases.
71079         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
71080         Youngman in
71081         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
71082
71083         * lib/regex_internal.c (re_string_skip_chars, register_state):
71084         (calc_state_hash):
71085         Remove forward decls; no longer needed now that we use prototypes.
71086         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
71087         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
71088         (clean_state_log_if_needed): Likewise.
71089
71090 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71091
71092         * config/srclist.txt: Add glibc bugs 1231-1233.
71093
71094 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71095
71096         Fix problems reported by Sam Steingold in
71097         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
71098         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
71099         assumed that reg_errcode_t is a signed type, which is not
71100         necessarily true if _XOPEN_SOURCE is not defined.
71101         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
71102         since some compilers warn about it otherwise.
71103
71104 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71105
71106         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
71107         (init_word_char, create_initial_state, duplicate_node_closure):
71108         (fetch_token, peek_token_bracket, build_range_exp):
71109         (build_collating_symbol): Remove forward decls; no longer needed
71110         now that we use prototypes.
71111
71112         * lib/regcomp.c:
71113         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
71114         (re_compile_fastmap_iter, regcomp, regerror, regfree):
71115         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
71116         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
71117         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
71118         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
71119         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
71120         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
71121         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
71122         (build_range_exp, build_collating_symbol, parse_bracket_exp):
71123         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
71124         (build_charclass, build_charclass_op, fetch_number, create_tree):
71125         (create_token_tree, mark_opt_subexp, duplicate_tree):
71126         Use prototypes rather than old-style definitions.
71127
71128         * lib/regex_internal.c:
71129         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
71130         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
71131         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
71132         (re_string_reconstruct, re_string_peek_byte_case):
71133         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
71134         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
71135         (re_node_set_init_copy, re_node_set_add_intersect):
71136         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
71137         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
71138         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
71139         (re_acquire_state, re_acquire_state_context, register_state):
71140         (create_ci_newstate, create_cd_newstate, free_state):
71141         Likewise.
71142         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
71143         re_search_2):
71144         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
71145         (re_search_internal, prune_impossible_nodes):
71146         (acquire_init_state_context, check_matching, static):
71147         (check_halt_node_context, check_halt_state_context, proceed_next_node):
71148         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
71149         (update_regs, sift_states_backward, build_sifted_states):
71150         (clean_state_log_if_needed, merge_state_array):
71151         (update_cur_sifted_state, add_epsilon_src_nodes):
71152         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
71153         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
71154         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
71155         (find_recover_state, check_subexp_matching_top, transit_state_mb):
71156         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
71157         (check_arrival, check_arrival_add_next_nodes):
71158         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
71159         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
71160         (check_node_accept_bytes, check_node_accept, extend_buffers):
71161         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
71162         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
71163         (sift_ctx_init):
71164         Likewise.
71165
71166         * lib/regex_internal.h:
71167         (re_string_allocate, re_string_construct, re_string_reconstruct):
71168         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
71169         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
71170         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
71171         (re_string_context_at, re_string_peek_byte_case):
71172         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
71173         is defined, since we now use prototypes always.
71174
71175         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
71176         C89 or better.  All uses removed.
71177
71178 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71179
71180         * config/srclist.txt: Add glibc bugs 1220-1227.
71181
71182 2005-08-20  Jim Meyering  <jim@meyering.net>
71183
71184         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
71185         of unused local, dfa.
71186
71187 2005-08-20  Bruno Haible  <bruno@clisp.org>
71188
71189         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
71190
71191 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71192
71193         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
71194         (re_node_set_insert_last, re_dfa_add_node):
71195         Rename local variables to avoid GCC shadowing warnings.
71196
71197 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71198
71199         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
71200         [defined lint]: Suppress bogus uninitialized-variable warnings.
71201
71202         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
71203         and let the caller return REG_ESPACE if out of space.  This
71204         removes an uninitialied-variable warning with GCC 4.0.1, and also
71205         avoids taking the address of a local variable.  All callers
71206         changed.
71207
71208 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71209
71210         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
71211         $LIBCSRC/posix/regexec.c.
71212         Add glibc bug 1217 for regcomp.c.
71213
71214 2005-08-19  Jim Meyering  <jim@meyering.net>
71215
71216         * lib/regexec.c (proceed_next_node): Redo local variables to
71217         avoid GCC shadowing warnings.
71218
71219 2005-08-18  Bruno Haible  <bruno@clisp.org>
71220
71221         * lib/strstr.c (strstr): Fix return value in multibyte case.
71222         * lib/strcasestr.c (strcasestr): Likewise.
71223
71224 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71225
71226         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
71227
71228 2005-08-17  Jim Meyering  <jim@meyering.net>
71229
71230         Make the %s format (seconds since the epoch) work for a negative
71231         number and when used with a zero-padded field width, e.g. %015s.
71232
71233         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
71234         label so that it precedes the code to set `digits'.  Otherwise,
71235         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
71236         print `00-22'.  Now, it prints `-0022', as it should.
71237
71238 2005-08-17  Bruno Haible  <bruno@clisp.org>
71239
71240         * modules/strstr (Files): Add m4/mbrtowc.m4.
71241         (Depends-on): Add mbuiter.
71242
71243 2005-08-17  Bruno Haible  <bruno@clisp.org>
71244
71245         * modules/strcasestr: New file.
71246         * MODULES.html.sh (String handling, based on ANSI C 89): Add
71247         strcasestr.
71248
71249 2005-08-17  Bruno Haible  <bruno@clisp.org>
71250
71251         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
71252
71253 2005-08-17  Bruno Haible  <bruno@clisp.org>
71254
71255         * modules/mbuiter: New file.
71256         * MODULES.html.sh (Extended multibyte and wide character utilities):
71257         Add mbuiter.
71258
71259 2005-08-17  Bruno Haible  <bruno@clisp.org>
71260
71261         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
71262         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
71263
71264 2005-08-17  Bruno Haible  <bruno@clisp.org>
71265
71266         * m4/strcasestr.m4: New file.
71267
71268 2005-08-17  Bruno Haible  <bruno@clisp.org>
71269
71270         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
71271         * lib/strstr.c: Completely rewritten, with multibyte locale support.
71272
71273 2005-08-17  Bruno Haible  <bruno@clisp.org>
71274
71275         * lib/strcasestr.h: New file.
71276         * lib/strcasestr.c: New file.
71277
71278 2005-08-17  Bruno Haible  <bruno@clisp.org>
71279
71280         * lib/strcasecmp.c: Use mbuiter.h.
71281
71282 2005-08-17  Bruno Haible  <bruno@clisp.org>
71283
71284         * lib/mbuiter.h: New file.
71285
71286 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
71287
71288         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
71289         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
71290         and gl_GETOPT are both invoked via different paths (as happens
71291         with GNU tar CVS because it uses both argp and getopt), the former
71292         wins.
71293
71294 2005-08-16  Bruno Haible  <bruno@clisp.org>
71295
71296         * modules/tls: New file.
71297         * MODULES.html.sh (Multithreading): Add tls.
71298
71299 2005-08-16  Bruno Haible  <bruno@clisp.org>
71300
71301         * modules/strnlen1: New file.
71302         * MODULES.html.sh (String handling): Add strnlen1.
71303
71304 2005-08-16  Bruno Haible  <bruno@clisp.org>
71305
71306         * modules/strcase (Files): Add m4/mbrtowc.m4.
71307         (Depends-on): Add strnlen1, mbchar.
71308
71309 2005-08-16  Bruno Haible  <bruno@clisp.org>
71310
71311         * modules/mbiter: New file.
71312         * MODULES.html.sh (Extended multibyte and wide character utilities):
71313         Add mbiter.
71314
71315 2005-08-16  Bruno Haible  <bruno@clisp.org>
71316
71317         * modules/mbfile: New file.
71318         * MODULES.html.sh (Extended multibyte and wide character utilities):
71319         Add mbfile.
71320
71321 2005-08-16  Bruno Haible  <bruno@clisp.org>
71322
71323         * modules/mbchar: New file.
71324         * MODULES.html.sh (Extended multibyte and wide character utilities):
71325         New section.
71326
71327 2005-08-16  Bruno Haible  <bruno@clisp.org>
71328
71329         * m4/tls.m4: New file, from GNU gettext.
71330
71331 2005-08-16  Bruno Haible  <bruno@clisp.org>
71332
71333         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
71334         always.
71335         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
71336
71337 2005-08-16  Bruno Haible  <bruno@clisp.org>
71338
71339         * m4/mbiter.m4: New file.
71340
71341 2005-08-16  Bruno Haible  <bruno@clisp.org>
71342
71343         * m4/mbfile.m4: New file.
71344
71345 2005-08-16  Bruno Haible  <bruno@clisp.org>
71346
71347         * m4/mbchar.m4: New file.
71348
71349 2005-08-16  Bruno Haible  <bruno@clisp.org>
71350
71351         * lib/tls.h: New file, from GNU gettext.
71352         * lib/tls.c: New file, from GNU gettext.
71353
71354 2005-08-16  Bruno Haible  <bruno@clisp.org>
71355
71356         * lib/strnlen1.h: New file.
71357         * lib/strnlen1.c: New file.
71358
71359 2005-08-16  Bruno Haible  <bruno@clisp.org>
71360
71361         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
71362         (mbi_init): Update.
71363         (mbi_avail, mbi_advance): Let the iteration end before the terminating
71364         NUL byte, not after it.
71365
71366 2005-08-16  Bruno Haible  <bruno@clisp.org>
71367
71368         * lib/strcase.h (strcasecmp): Add note in comments.
71369         * lib/strncasecmp.c: Use code from strcasecmp.c.
71370         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
71371         (strcasecmp): Work correctly in multibyte locales.
71372
71373 2005-08-16  Bruno Haible  <bruno@clisp.org>
71374
71375         * lib/mbiter.h: New file.
71376
71377 2005-08-16  Bruno Haible  <bruno@clisp.org>
71378
71379         * lib/mbfile.h: New file.
71380
71381 2005-08-16  Bruno Haible  <bruno@clisp.org>
71382
71383         * lib/mbchar.h: New file.
71384         * lib/mbchar.c: New file.
71385
71386 2005-08-16  Bruno Haible  <bruno@clisp.org>
71387
71388         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
71389         the valid ones. Makes the comparison operations transitive:
71390         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
71391         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
71392
71393 2005-08-15  Simon Josefsson  <jas@extundo.com>
71394
71395         * modules/ssize_t (License): Change to 'unlimited'.
71396
71397         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
71398
71399 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71400
71401         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
71402         Add comments for each pending glibc patch.
71403
71404 2005-08-15  Bruno Haible  <bruno@clisp.org>
71405
71406         * lib/regex.h (__restrict_arr): Don't define to __restrict if
71407         __cplusplus is defined.
71408
71409 2005-08-14  Jim Meyering  <jim@meyering.net>
71410
71411         Sync from coreutils.
71412
71413         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
71414         Use the hash-table-based cycle-detection code not just when
71415         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
71416         Reported by James Youngman in
71417         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
71418         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
71419         FTS_TIGHT_CYCLE_CHECK.
71420         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
71421         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
71422         once again.
71423         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
71424         * lib/fts.c (fd_safer): Remove decl.
71425         Include fcntl--.h rather than unistd-safer.h
71426         (fts_safe_changedir): Don't call fd_safer; no longer needed
71427         now that we include fcntl--.h.
71428
71429 2005-08-12  Simon Josefsson  <jas@extundo.com>
71430
71431         * modules/getndelim2: Use ssize_t module.
71432         * modules/getnline: Likewise.
71433         * modules/safe-read: Likewise.
71434         * modules/xreadlink: Likewise.
71435
71436         * modules/ssize_t: New file.
71437
71438 2005-08-12  Simon Josefsson  <jas@extundo.com>
71439
71440         * m4/readline.m4: Look for termcap, curses or ncurses if required.
71441
71442 2005-08-12  Simon Josefsson  <jas@extundo.com>
71443
71444         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71445         ssize_t.
71446
71447 2005-08-12  Simon Josefsson  <jas@extundo.com>
71448
71449         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
71450         readline, getdelim and check_version.
71451         (Support for systems lacking ISO C 99: Sizes of integer types):
71452         Add size_max.
71453
71454 2005-08-12  Bruno Haible  <bruno@clisp.org>
71455
71456         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
71457
71458 2005-08-11  Simon Josefsson  <jas@extundo.com>
71459
71460         * modules/readline: New file.
71461
71462         * modules/strnlen (Files): Add strnlen.h.
71463
71464 2005-08-11  Simon Josefsson  <jas@extundo.com>
71465
71466         * m4/readline.m4: New file.
71467
71468 2005-08-11  Simon Josefsson  <jas@extundo.com>
71469
71470         * lib/readline.h, readline.c: New file.
71471
71472 2005-08-11  Simon Josefsson  <jas@extundo.com>
71473
71474         * doc/gnulib.texi (Initial import, Finishing touches): Mention
71475         gl_AVOID.
71476
71477 2005-08-11  Bruno Haible  <bruno@clisp.org>
71478
71479         * lib/strnlen.h (strnlen): Change parameter name to match comment.
71480
71481 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
71482
71483         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
71484
71485 2005-08-10  Simon Josefsson  <jas@extundo.com>
71486
71487         * tests/test-iconvme.c: New file.
71488
71489 2005-08-10  Simon Josefsson  <jas@extundo.com>
71490
71491         * m4/strnlen.m4: New file.
71492
71493         * m4/strndup.m4: Don't check for strnlen declaration, done in
71494         strnlen.m4.
71495
71496 2005-08-10  Simon Josefsson  <jas@extundo.com>
71497
71498         * lib/strndup.c: Use strnlen.h.
71499
71500         * lib/strnlen.h: New file.
71501
71502 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
71503
71504         * README: Typos.
71505
71506 2005-08-02  Simon Josefsson  <jas@extundo.com>
71507
71508         * modules/readline: New file.
71509
71510 2005-08-02  Simon Josefsson  <jas@extundo.com>
71511
71512         * modules/getdelim: New file.
71513
71514         * modules/getline: Rewrite, don't use getndelim2.
71515
71516 2005-08-02  Simon Josefsson  <jas@extundo.com>
71517
71518         * m4/getline.m4: Separate out getdelim stuff into separate module.
71519
71520         * m4/getdelim.m4: New file.
71521
71522 2005-08-02  Simon Josefsson  <jas@extundo.com>
71523
71524         * lib/getline.h, getline.c: Rewrite.
71525
71526         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
71527
71528 2005-07-31  Bruno Haible  <bruno@clisp.org>
71529
71530         * lib/lock.h (gl_lock_initializer): New macro.
71531         (gl_lock_define_initialized): Use it.
71532         (gl_rwlock_initializer): New macro.
71533         (gl_rwlock_define_initialized): Use it.
71534         (gl_recursive_lock_initializer): New macro.
71535         (gl_recursive_lock_define_initialized): Use it.
71536
71537 2005-07-30  Karl Berry  <karl@gnu.org>
71538
71539         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
71540         Report from Ben Pfaff, regarding getopt.
71541
71542 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
71543
71544         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
71545         normal way.
71546         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
71547         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
71548         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
71549         (gl_GETOPT): Use the new macros.  Most of the implementation
71550         is moved to the new macros.  This is for programs like Emacs
71551         that don't want all the functionality of gl_GETOPT.
71552
71553 2005-07-26  Bruno Haible  <bruno@clisp.org>
71554
71555         * m4/lock.m4: Update from GNU gettext.
71556
71557 2005-07-26  Bruno Haible  <bruno@clisp.org>
71558
71559         * lib/lock.h: Update from GNU gettext.
71560         * lib/lock.c: Update from GNU gettext.
71561
71562 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
71563
71564         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
71565         obsolescent AC_TRY_RUN.  Include the default includes files, for
71566         'exit'.
71567
71568 2005-07-24  Bruno Haible  <bruno@clisp.org>
71569
71570         * modules/visibility: New file.
71571         * MODULES.html.sh (Misc): Add visibility.
71572
71573 2005-07-24  Bruno Haible  <bruno@clisp.org>
71574
71575         * m4/visibility.m4: New file.
71576
71577 2005-07-24  Bruno Haible  <bruno@clisp.org>
71578
71579         * doc/visibility.texi: New file.
71580
71581 2005-07-22  Bruno Haible  <bruno@clisp.org>
71582
71583         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
71584         $(ALLOCA_H), redundant through BUILT_SOURCES.
71585         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
71586         redundant through BUILT_SOURCES.
71587         * modules/byteswap (Makefile.am): Remove explicit dependency on
71588         $(BYTESWAP_H), redundant through BUILT_SOURCES.
71589         * modules/fnmatch (Makefile.am): Remove explicit dependency on
71590         $(FNMATCH_H), redundant through BUILT_SOURCES.
71591         * modules/getopt (Makefile.am): Remove explicit dependency on
71592         $(GETOPT_H), redundant through BUILT_SOURCES.
71593         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
71594         redundant through BUILT_SOURCES.
71595         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
71596         redundant through BUILT_SOURCES.
71597         * modules/stdbool (Makefile.am): Remove explicit dependency on
71598         $(STDBOOL_H), redundant through BUILT_SOURCES.
71599         * modules/stdint (Makefile.am): Remove explicit dependency on
71600         $(STDINT_H), redundant through BUILT_SOURCES.
71601         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
71602         Remove explicit dependency on $(SYSEXITS_H).
71603         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
71604
71605 2005-07-18  Simon Josefsson  <jas@extundo.com>
71606
71607         * lib/check-version.c (check_version): Accept identical versions too.
71608
71609 2005-07-18  Bruno Haible  <bruno@clisp.org>
71610
71611         * modules/lock: New file.
71612         * MODULES.html.sh (Multithreading): New section.
71613
71614 2005-07-18  Bruno Haible  <bruno@clisp.org>
71615
71616         * m4/lock.m4: New file, from GNU gettext.
71617
71618 2005-07-18  Bruno Haible  <bruno@clisp.org>
71619
71620         * lib/lock.h: New file, from GNU gettext.
71621         * lib/lock.c: New file, from GNU gettext.
71622
71623 2005-07-18  Bruno Haible  <bruno@clisp.org>
71624
71625         * lib/lock.h (gl_once_t): New type.
71626         (gl_once_define, gl_once): New macros.
71627         * lib/lock.c (fresh_once): New variable.
71628         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
71629         functions.
71630
71631 2005-07-16  Simon Josefsson  <jas@extundo.com>
71632
71633         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
71634         workaround, suggested by Bruno.
71635
71636 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
71637
71638         * modules/xalloc (Depends-on): Add xalloc-die.
71639         * modules/xvasprintf (Depends-on): Add xalloc-die.
71640
71641 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
71642
71643         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
71644         with a minor change.
71645
71646 2005-07-15  Bruno Haible  <bruno@clisp.org>
71647
71648         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
71649         When using lib/poll.c, define poll as rpl_poll.
71650
71651 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
71652
71653         * modules/argp (Depends-on): Remove unlocked-io.
71654
71655 2005-07-14  Derek Price  <derek@ximbiot.com>
71656
71657         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
71658         for glob symlink bug.
71659
71660 2005-07-14  Bruno Haible  <bruno@clisp.org>
71661
71662         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
71663         Instead, test for *_unlocked function declarations directly.
71664
71665 2005-07-11  Simon Josefsson  <jas@extundo.com>
71666
71667         * modules/size_max: New file.
71668
71669         * modules/xsize: Depend on size_max module for size_max.m4.
71670
71671 2005-07-11  Simon Josefsson  <jas@extundo.com>
71672
71673         * lib/size_max.h: New file.
71674
71675 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
71676
71677         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
71678         copyright symbol and the year.
71679         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
71680         (version_etc_va): Use parameterized copyright notice.
71681         Reword to conform to the current GNU coding standards.
71682
71683 2005-07-11  Karl Berry  <karl@gnu.org>
71684
71685         * doc/gnulib.texi (Quoting): new node.
71686         (Initial import): more info, from Patrice.
71687
71688 2005-07-11  Bruno Haible  <bruno@clisp.org>
71689
71690         * gnulib-tool (func_usage): Document option --avoid.
71691         (Command line options): Handle --avoid.
71692         (func_acceptable): New function.
71693         (func_modules_transitive_closure): Use it.
71694
71695 2005-07-11  Bruno Haible  <bruno@clisp.org>
71696
71697         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
71698         Reported by Jim Meyering.
71699
71700 2005-07-10  Bruno Haible  <bruno@clisp.org>
71701
71702         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
71703         Needed when size_t is smaller than 'unsigned int'.
71704         Reported by Paul Eggert.
71705
71706 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71707
71708         * modules/argp (Depends-on): Add unlocked-io
71709
71710 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71711
71712         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
71713         block of defines.
71714
71715 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
71716
71717         * config/srclist.txt: Comment out regcomp.c, since we have a porting
71718         fix now.
71719
71720 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
71721         and Paul Eggert  <eggert@cs.ucla.edu>
71722
71723         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
71724         in wint_t, not wchar_t.  Remove now-unnecessary cast.
71725
71726 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71727
71728         * modules/regex (Files): Add lib/regex_internal.c,
71729         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
71730         (Depends-on): Add extensions.
71731         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
71732
71733 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71734
71735         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
71736         pathconf.
71737         * m4/same.m4 (gl_SAME): Likewise.
71738         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
71739
71740         * m4/regex.m4: Adjust to new libc regex implementation.
71741         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
71742         all the .c and .h parts of (the new) regex.
71743         Quote the m4 stuff better.
71744         Check for RE_ICASE bug of old gnulib.
71745         Check for REG_STARTEND of recent libc.
71746         Rename local variables from jm_* to gl_*.
71747         Quote operand of "test -f".
71748         Say "recent enough" version of libc, not "version 2".
71749         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
71750         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
71751         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
71752         Remove check for btowc, isascii.
71753         Require AM_LANGINFO_CODESET.
71754
71755 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71756
71757         * lib/regex.c, regex.h: Sync from libc.
71758         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
71759         * lib/regexec.c:
71760         New files, synced from libc, except that regex_internal.h
71761         currently has a small porting fix.
71762
71763 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71764
71765         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
71766         regex_internal.c, regexec.c.
71767         Add regex_internal.h too, but as a comment, since the libc version
71768         is currently broken in gnulib mode.
71769
71770 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
71771
71772         Support programs like Emacs that use gnulib but not gettext.
71773         * MODULES.html.sh (Internationalization functions): Add gettext-h.
71774         * modules/gettext-h: New file.
71775         * modules/gettext (Files): Remove lib/gettext.h.
71776         (Depends-on): Add gettext-h.
71777         (Makefile.am): Remove lib_SOURCES.
71778         * modules/argmatch, modules/c-stack, modules/closeout:
71779         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
71780         * modules/execute, modules/file-type, modules/getaddrinfo:
71781         * modules/getopt, modules/human, modules/javacomp:
71782         * modules/javaexec, modules/mkdir-p, modules/obstack:
71783         * modules/openat, modules/pagealign_alloc, modules/pipe:
71784         * modules/quotearg, modules/regex, modules/rpmatch:
71785         * modules/unicodeio, modules/userspec, modules/version-etc:
71786         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
71787         * modules/xsetenv:
71788         Depend on gettext-h, not gettext.
71789
71790 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
71791
71792         * gnulib-tool (func_import): Add support for 'public domain' license.
71793         * modules/alloca, modules/atexit, modules/memmove:
71794         Now public domain, not GPL.
71795         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
71796         * modules/realloc, modules/strerror, modules/strtod:
71797         Now LGPL, not GPL.
71798
71799 2005-07-05  Bruno Haible  <bruno@clisp.org>
71800
71801         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
71802         autoconf CVS. Needed for mingw.
71803
71804 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71805
71806         Remove the dependency of the strftime module on the tzset module.
71807         * modules/strftime (Depends-on): Remove dependency on tzset.
71808
71809 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71810
71811         Remove the dependency of the strftime module on the tzset module.
71812         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
71813         gl_FUNC_TZSET_CLOBBER.
71814
71815 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71816
71817         Remove the dependency of the strftime module on the tzset module.
71818         * lib/strftime.c (my_strftime)
71819         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
71820         Copy the input structure, to work around some of the bug with
71821         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
71822         Solaris releases, you should also use the tzset module, but we won't
71823         require it as a dependency any more since we don't want LGPLed code
71824         to depend on GPLed code.
71825
71826 2005-07-02  Jim Meyering  <jim@meyering.net>
71827
71828         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
71829         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
71830         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
71831         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
71832
71833 2005-07-02  Jim Meyering  <jim@meyering.net>
71834
71835         * lib/backupfile.c (backup_args): Change a `0' to NULL.
71836
71837 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71838
71839         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
71840         declares only 'struct timespec;' (!).
71841
71842 2005-07-01  Jim Meyering  <jim@meyering.net>
71843
71844         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
71845         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
71846         * lib/save-cwd.c, tempname.c:
71847         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
71848         and don't include <sys/file.h>).
71849
71850 2005-06-29  Jim Meyering  <jim@meyering.net>
71851
71852         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
71853         type name.  Use the variable name instead.
71854         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
71855         Likewise.
71856
71857 2005-06-28  Simon Josefsson  <jas@extundo.com>
71858
71859         * modules/check-version (Files): Add check-version.m4.
71860
71861 2005-06-28  Simon Josefsson  <jas@extundo.com>
71862
71863         * m4/check-version.m4: New file, suggested by Jim Meyering
71864         <jim@meyering.net>.
71865
71866 2005-06-28  Simon Josefsson  <jas@extundo.com>
71867
71868         * lib/check-version.h, lib/check-version.c: New files.
71869
71870 2005-06-28  Simon Josefsson  <jas@extundo.com>
71871
71872         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
71873         collision with global variable.  Better indentation.  Don't
71874         increment buffer pointer beyond buffer end.  Based on comments
71875         from Paul Eggert <eggert@cs.ucla.edu>.
71876
71877         * lib/base64.h: Indent.
71878
71879 2005-06-28  Simon Josefsson  <jas@extundo.com>
71880
71881         * doc/gnulib.texi (Library version handling): New section.
71882
71883 2005-06-28  Jim Meyering  <jim@meyering.net>
71884
71885         * check-module (find_included_lib_files): Hard-code another
71886         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
71887         but modules/fts-lgpl (correctly) does not list those files.
71888
71889         * modules/canonicalize (Files): Add lib/pathmax.h.
71890
71891 2005-06-25  Simon Josefsson  <jas@extundo.com>
71892
71893         * modules/check-version: New file.
71894
71895 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
71896
71897         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
71898         initializer of struct addrinfo, as an indication that we don't
71899         care how many members the structure has.
71900
71901 2005-06-24  Derek Price  <derek@ximbiot.com>
71902         and Bruno Haible  <bruno@clisp.org>
71903
71904         Remove stat module & update lstat.
71905         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
71906         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71907         * m4/stat.m4: Remove this file.
71908
71909 2005-06-24  Derek Price  <derek@ximbiot.com>
71910         and Bruno Haible  <bruno@clisp.org>
71911
71912         Remove stat module & update lstat.
71913         * lib/stat.c: Remove this file...
71914         (slash_aware_lstat): ...moving this content and its support...
71915         * lib/lstat.c (rpl_lstat): ...into here.
71916         * lib/lstat.h: New file.
71917
71918 2005-06-24  Derek Price  <derek@ximbiot.com>
71919         and Bruno Haible  <bruno@clisp.org>
71920
71921         Remove stat module & update lstat.
71922         * config/srclist.txt (libc sources): Remove stat.
71923
71924 2005-06-24  Derek Price  <derek@ximbiot.com>
71925         and Bruno Haible  <bruno@clisp.org>
71926
71927         Remove stat module & update lstat.
71928         * MODULES.html.sh (stat): Remove.
71929         * MODULES.html: Regenerated.
71930         * modules/lstat (Description): Correct function name.
71931         (Files): Add "lstat.h".
71932         (Depends-on): Remove stat, add xalloc, stat-macros.
71933         * modules/stat: Remove this file.
71934         (Include): Add "lstat.h", remove <sys/stat.h>.
71935
71936 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
71937
71938         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
71939         (ranged_convert): Don't save conversion in a temporary struct.
71940         This causes a warning with GCC 4.0.0, and anyway in the typical
71941         case it's not worth the extra 100 bytes or so of code.
71942         (ranged_convert, __mktime_internal): When calling a function via a
71943         pointer P, use P () rather than (*P) (), as we now assume C89 or
71944         better.
71945
71946 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71947
71948         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
71949         "who -r" failed to give output.  Problem reported by Tim Waugh.
71950
71951         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
71952         (xcalloc): Use it to avoid needless tests.
71953         Problem reported by Jim Meyering.
71954
71955 2005-06-20  Derek Price  <derek@ximbiot.com>
71956
71957         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
71958         unnecessary for Autoconfs > 2.59c.
71959
71960 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71961
71962         * lib/argp.h (__option_is_short): Check upper limit of
71963         __key. Isprint() requires its argument to have the value
71964         of an unsigned char or EOF.
71965
71966 2005-06-16  Jim Meyering  <jim@meyering.net>
71967
71968         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
71969         when either N or S is zero.
71970
71971 2005-06-16  Derek Price  <derek@ximbiot.com>
71972
71973         * m4/bison.m4: Declare YACC & YFLAGS precious.
71974
71975 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
71976
71977         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
71978         multibyte string or pattern, fall back on unibyte matching.
71979         Problem reported by James Youngman.
71980
71981 2005-06-08  Bruno Haible  <bruno@clisp.org>
71982
71983         * modules/csharpcomp: New file.
71984         * MODULES.html.sh (C#): Add csharpcomp.
71985
71986 2005-06-08  Bruno Haible  <bruno@clisp.org>
71987
71988         * m4/csharpcomp.m4: New file, from GNU gettext.
71989
71990 2005-06-08  Bruno Haible  <bruno@clisp.org>
71991
71992         * lib/csharpcomp.h: New file, from GNU gettext.
71993         * lib/csharpcomp.c: New file, from GNU gettext.
71994         * lib/csharpcomp.sh.in: New file, from GNU gettext.
71995
71996 2005-06-08  Bruno Haible  <bruno@clisp.org>
71997
71998         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
71999         warning on mingw.
72000
72001 2005-06-07  Derek Price  <derek@ximbiot.com>
72002
72003         Sync from CVS.
72004         * lib/glob_.h: Indent nested #ifdef.
72005
72006 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
72007
72008         Sync from coreutils.
72009         Use "file name" when talking about file names, instead of "filename"
72010         or "path", as per the GNU coding standards.
72011         * lib/mkdir-p.c: Renamed from makepath.c.
72012         (make_dir_parents): Renamed from make_path.  All callers changed.
72013         * lib/mkdir-p.h: Likewise.  All includers changed.
72014         * lib/filenamecat.c: Renamed from path-concat.c.
72015         (file_name_concat): Renamed from path_concat.  All callers changed.
72016         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
72017         * lib/filenamecat.h: Likewise.  All includers changed.
72018         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
72019         in comments or local variable names.
72020         * lib/basename.c: Likewise.
72021         * lib/canonicalize.c, canonicalize.h: Likewise.
72022         * lib/dirname.c, dirname.h: Likewise.
72023         * lib/euidaccess.c: Likewise.
72024         * lib/exclude.c: Likewise
72025         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
72026         * lib/fsusage.c, fsuage.h: Likewise.
72027         * lib/fts.c, fts_.h: Likewise.
72028         * lib/getcwd.c: Likewise.
72029         * lib/getloadavg.c: Likewise.
72030         * lib/mkstemp.c: Likewise.
72031         * lib/mountlist.c, mountlist.h: Likewise.
72032         * lib/openat.c, openat.h: Likewise.
72033         * lib/readlink-stub.c: Likewise.
72034         * lib/readutmp.c, readutmp.h: Likewise.
72035         * lib/rename.c: Likewise.
72036         * lib/rmdir.c: Likewise.
72037         * lib/same.c: Likewise.
72038         * lib/savedir.c: Likewise.
72039         * lib/stripslash.c: Likewise.
72040         * lib/tempname.c: Likewise.
72041         * lib/xreadlink.c: Likewise.
72042         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
72043         All uses changed.
72044         * lib/exclude.h: Likewise.
72045
72046         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
72047         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
72048         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
72049         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
72050         * lib/pathmax.h: Include <limits.h> unconditionally, since other
72051         files have been getting away with it for years (MORE/BSD 4.3
72052         is extinct now).
72053         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
72054         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
72055
72056         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
72057         Define to 256, not 255, as per modern POSIX.
72058
72059 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
72060
72061         Sync from coreutils.
72062         Use "file name" when talking about file names, instead of "filename"
72063         or "path", as per the GNU coding standards.
72064         * MODULES.html.sh: mkdir-p renamed from makepath.
72065         filenamecat renamed from path-concat.
72066         * modules/filenamecat: Renamed from modules/path-concat.
72067         (Files): filenamecat.h and filenamecat.c renamed from
72068         path-concat.h and path-concat.c.
72069         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
72070         (Include): filenamecat.h, not path-concat.h.
72071         * modules/mkdir-p: Renamed from modules/makepath.
72072         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
72073         makepath.c.
72074         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
72075         (Include): mkdir-p.h, not makepath.h.
72076
72077 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
72078
72079         Sync from coreutils.
72080         * m4/mkdir-p.m4: Renamed from makepath.m4.
72081         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
72082         Rename files from makepath.c to mkdir-p.c, and from
72083         makepath.h to mkdir-p.h.
72084         * m4/filenamecat.m4: Renamed from path-concat.m4.
72085         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
72086         Rename files from path-concat.c to filenamecat.c,
72087         and from path-concat.h to filenamecat.h.
72088         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
72089         "file name" in local variables or comments.
72090         * m4/rename.m4: Likewise.
72091
72092 2005-06-01  Bruno Haible  <bruno@clisp.org>
72093
72094         * modules/csharpexec: New file.
72095         * MODULES.html.sh (C#): New section.
72096
72097 2005-06-01  Bruno Haible  <bruno@clisp.org>
72098
72099         * m4/csharp.m4: New file, from GNU gettext.
72100         * m4/csharpexec.m4: New file, from GNU gettext.
72101
72102 2005-06-01  Bruno Haible  <bruno@clisp.org>
72103
72104         * lib/csharpexec.h: New file, from GNU gettext.
72105         * lib/csharpexec.c: New file, from GNU gettext.
72106         * lib/csharpexec.sh.in: New file, from GNU gettext.
72107
72108 2005-05-31  Derek Price  <derek@ximbiot.com>
72109             Paul Eggert  <eggert@cs.ucla.edu>
72110
72111         Sync from cvs.
72112         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
72113
72114 2005-05-31  Derek Price  <derek@ximbiot.com>
72115             Paul Eggert  <eggert@cs.ucla.edu>
72116
72117         Sync from cvs.
72118         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
72119
72120 2005-05-29  Derek Price  <derek@ximbiot.com>
72121
72122         * config/srclist.txt (glob_.h, glob.c): Add these files.
72123
72124 2005-05-29  Derek Price  <derek@ximbiot.com>
72125
72126         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
72127         * modules/glob: New file.
72128         * modules/getlogin_r: Add link to POSIX spec in description.
72129
72130 2005-05-29  Derek Price  <derek@ximbiot.com>
72131             Paul Eggert  <eggert@cs.ucla.edu>
72132
72133         * m4/glob.m4: New file.
72134
72135 2005-05-29  Derek Price  <derek@ximbiot.com>
72136             Paul Eggert  <eggert@cs.ucla.edu>
72137
72138         * lib/glob_.h, lib/glob.c: New files.
72139
72140 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
72141
72142         * modules/fts (Files): Remove m4/inttypes-pri.m4.
72143         * modules/fts-lgpl (Depends-on): Remove gettext.
72144
72145 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
72146
72147         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
72148         and don't require gt_INTTYPES_PRI.
72149
72150 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
72151
72152         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
72153
72154         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
72155         the configuration hassle isn't worth it.
72156         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
72157         (LONGEST_MODIFIER, PRIuMAX): Remove.
72158
72159 2005-05-27  Bruno Haible  <bruno@clisp.org>
72160
72161         * lib/getlogin_r.h: Remove second include of <stddef.h>.
72162
72163 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
72164
72165         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
72166         _POSIX_PTHREAD_SEMANTICS for Solaris.
72167
72168 2005-05-25  Derek Price  <derek@ximbiot.com>
72169
72170         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
72171
72172 2005-05-25  Derek Price  <derek@ximbiot.com>
72173             Paul Eggert  <eggert@cs.ucla.edu>
72174
72175         * modules/getlogin_r, m4/getlogin_r.m4: New files.
72176         * lib/getlogin_r.c, getlogin_r.h: New files.
72177
72178 2005-05-25  Bruno Haible  <bruno@clisp.org>
72179             Derek Price  <derek@ximbiot.com>
72180
72181         * lib/getlogin_r.h: Simplify API documentation.
72182
72183 2005-05-23  Derek Price  <derek@ximbiot.com>
72184
72185         * modules/minmax (Files): Add m4/minmax.m4.
72186         (configure.ac): Add gl_MINMAX.
72187
72188 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
72189
72190         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
72191         so that unistd-safer.h (GPL'ed code) need not be included.
72192
72193 2005-05-22  Bruno Haible  <bruno@clisp.org>
72194
72195         * m4/minmax.m4: New file.
72196         Based on a patch by Derek Price <derek@ximbiot.com>.
72197
72198 2005-05-22  Bruno Haible  <bruno@clisp.org>
72199
72200         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
72201         (INT64_MIN): Fix definition.
72202         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
72203
72204         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
72205         NEED_SIGNED_INT_TYPES.
72206
72207         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
72208         HAVE_SYSTEM_INTTYPES.
72209
72210 2005-05-22  Bruno Haible  <bruno@clisp.org>
72211
72212         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
72213         Also include <sys/param.h> if it defines MIN, MAX.
72214         Based on a patch by Derek Price <derek@ximbiot.com>.
72215
72216 2005-05-21  Jim Meyering  <jim@meyering.net>
72217
72218         * modules/fts (Files): Add m4/inttypes-pri.m4.
72219         (Depends-on): Add lstat and remove gettext.  Alphabetize.
72220
72221 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72222
72223         New fts module.
72224         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
72225         (setup_dir, free_dir): New functions.
72226         (enter_dir, leave_dir): Define trivial
72227         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
72228         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
72229         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
72230         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
72231         Move to fts-cycle.c.
72232         (fts_open): Use setup_dir.
72233         (fts_close): Use free_dir.
72234         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
72235         This adds a label and some gotos, but the alternatives were messier.
72236         Check for memory allocation failure when entering a dir.
72237         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
72238         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
72239         (FTS): New member fts_cycle, that is a union that contains the
72240         old active_dir_ht and cycle_state.  All uses changed to mention
72241         fts_cycle.ht and fts_cycle.state.
72242         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
72243         fts.c, with the following changes:
72244         (setup_dir, free_dir): New functions.
72245         (enter_dir): Now returns bool.  Return true if successful, false
72246         if memory exhausted.  All callers changed.
72247         Do not bother partly cleaning up on
72248         memory allocation failure; that is free_dir's job.
72249         However, free ad if hash_insert fails, to avoid memory leak.
72250         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
72251         fts->fts_options to see which union member to use.
72252
72253 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72254
72255         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
72256         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
72257
72258 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72259
72260         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
72261
72262 2005-05-20  Jim Meyering  <jim@meyering.net>
72263
72264         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
72265         Now a macro, to pacify GCC.
72266
72267 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
72268
72269         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
72270         of -1.
72271
72272 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
72273
72274         * lib/chown.c (rpl_chown): Return -1 on failure.
72275
72276 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
72277
72278         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
72279         Don't check for stddef.h.
72280         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
72281         don't use its results.
72282         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
72283         since we include them unconditionally.  Don't require
72284         AM_STDBOOL_H, since stdbool is a prerequisite.
72285         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
72286         since we assume C89 or better.
72287         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
72288         as we don't use their results.
72289         Don't check for fchdir, memmove, memset, strrchr, as we use
72290         them unconditionally.
72291         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
72292         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
72293
72294 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
72295
72296         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
72297         Include <stddef.h> unconditionally, since we assume C89 now.
72298         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
72299         * lib/fts.c: Include fts_.h first, to check interface.
72300         Do not include intprops.h; no longer needed.
72301         Include cycle-check.h and hash.h, since fts_.h no longer does.
72302         Remove unnecessary casts of closedir to void.
72303         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
72304         decide whether to decrement nlinks.
72305         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
72306         (FTS): Use struct hash_table * instead of Hash_table, so that
72307         we no longer need to include hash.h here.
72308
72309 2005-05-18  Jim Meyering  <jim@meyering.net>
72310
72311         * modules/dirfd (License): Change to LGPL.  Most of the code
72312         is already in the public domain.
72313
72314 2005-05-18  Jim Meyering  <jim@meyering.net>
72315
72316         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
72317         Reported by Yoann Vandoorselaere.
72318
72319 2005-05-17  Jim Meyering  <jim@meyering.net>
72320
72321         * m4/fts.m4: New file, from coreutils.
72322
72323 2005-05-17  Jim Meyering  <jim@meyering.net>
72324
72325         * lib/fts.c, lib/fts_.h: New files, from coreutils.
72326
72327 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72328
72329         Sync from coreutils.
72330         * m4/unlinkdir.m4: New file.
72331
72332 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72333
72334         Sync from coreutils.
72335         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
72336         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
72337         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
72338         White space changes only.
72339         * lib/makepath.c (make_path): Port to hosts where leading "//" is
72340         special.
72341         * lib/yesno.c: Include getline.h, not ctype.h.
72342         (yesno): Don't remove leading white space; POSIX doesn't allow it.
72343         Use getline to remove arbitrary restriction on response length.
72344
72345 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72346
72347         * config/srclist-update: Spell out "Street" in FSF postal
72348         mail address; this is the style the FSF seems to prefer.
72349
72350         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
72351         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
72352         this updates FSF postal mail address.
72353
72354         Sync from coreutils.
72355         * modules/unlinkdir: New file.
72356         * modules/yesno (Depends-on): Add getline.
72357         * MODULES.html.sh (File system functions): Add unlinkdir.
72358
72359 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72360
72361         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
72362         lib/strsep.h:
72363         Change the initial comment to refer to GPL, not LGPL.
72364         gnulib-tool will change it to LGPL as needed.
72365
72366         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
72367         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
72368         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
72369         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
72370         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
72371         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
72372         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
72373         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
72374         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
72375         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
72376         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
72377         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
72378         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
72379         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
72380         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
72381         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
72382         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
72383         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
72384         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
72385         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
72386         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
72387         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
72388         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
72389         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
72390         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
72391         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
72392         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
72393         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
72394         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
72395         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
72396         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
72397         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
72398         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
72399         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
72400         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
72401         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
72402         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
72403         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
72404         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
72405         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
72406         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
72407         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
72408         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
72409         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
72410         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
72411         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
72412         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
72413         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
72414         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
72415         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
72416         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
72417         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
72418         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
72419         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
72420         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
72421         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
72422         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
72423         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
72424         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
72425         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
72426         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
72427         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
72428         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
72429         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
72430         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
72431         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
72432         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
72433         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
72434         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
72435         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
72436         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
72437         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
72438         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
72439         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
72440         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
72441         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
72442         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
72443         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
72444         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
72445         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
72446         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
72447         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
72448         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
72449         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
72450         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
72451         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
72452         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
72453         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
72454         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
72455         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
72456         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
72457         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
72458         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
72459         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
72460         lib/yesno.c, lib/yesno.h:
72461         Update FSF postal mail address.
72462
72463 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72464
72465         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
72466         tests/test-memmem.c, tests/test-stpncpy.c:
72467         Update FSF postal mail address.
72468
72469 2005-05-13  Bruno Haible  <bruno@clisp.org>
72470
72471         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
72472         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
72473         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
72474         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
72475         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
72476         Add support for 64-bit integers in the MSVC compiler.
72477
72478 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72479
72480         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
72481
72482 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
72483
72484         * gnulib-tool (func_import): Sort and uniquify recommended includes.
72485
72486 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
72487
72488         * doc/getdate.texi (General date syntax): Don't say that date
72489         date --iso-8601=ns generates acceptable dates; it doesn't yet.
72490         Problem reported by Nic Ferrier.
72491
72492 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72493
72494         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
72495         specified in ai_socktype. Fix invalid ai_protocol
72496         check. ai_protocol is usually set to 0 or depending on
72497         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
72498         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
72499         ai_socktype / ai_protocol in the returned addrinfo structure.
72500
72501 2005-05-10  Simon Josefsson  <jas@extundo.com>
72502
72503         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
72504         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72505
72506 2005-05-10  Karl Berry  <karl@gnu.org>
72507
72508         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
72509         (from http://www.gnu.org/licenses).
72510         * doc/COPYING.LIB: also rename to COPYING.LESSER.
72511         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
72512         fdl.texi suffices.
72513
72514 2005-05-10  Karl Berry  <karl@gnu.org>
72515
72516         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
72517         (COPYING.DOC): remove.
72518
72519         * config/srclist-update: new FSF address.
72520
72521 2005-05-10  Derek Price  <derek@ximbiot.com>
72522
72523         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
72524         possible.
72525
72526 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72527             Bruno Haible  <bruno@clisp.org>
72528
72529         * modules/inet_ntop: New file.
72530         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72531         inet_ntop.
72532
72533 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72534             Bruno Haible  <bruno@clisp.org>
72535
72536         * m4/inet_ntop.m4: New file.
72537
72538 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72539             Bruno Haible  <bruno@clisp.org>
72540
72541         * lib/inet_ntop.h: New file.
72542         * lib/inet_ntop.c: New file, from glibc with modifications.
72543
72544 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
72545
72546         * modules/time_r (License): Change to LGPL.
72547         * modules/extensions (License): Change to LGPL.  Actually,
72548         the license is more permissive than that, but currently gnulib-tool
72549         doesn't know how to handle more-permissive licenses.
72550
72551         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
72552         Problem reported by Dave Love.
72553
72554 2005-05-08  Jim Meyering  <jim@meyering.net>
72555
72556         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
72557         blank.
72558
72559 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
72560
72561         * modules/argmatch (Depends-on): Add stdbool.
72562         * modules/backupfile (Depends-on): Likewise.
72563         * modules/chdir-long (Depends-on): Likewise.
72564         * modules/closeout (Depends-on): Likewise.
72565         * modules/cycle-check (Depends-on): Likewise.
72566         * modules/dirname (Depends-on): Likewise.
72567         * modules/fnmatch (Depends-on): Likewise.
72568         * modules/fsusage (Depends-on): Likewise.
72569         * modules/fwriteerror (Depends-on): Likewise.
72570         * modules/getcwd (Depends-on): Likewise.
72571         * modules/getloadavg (Depends-on): Likewise.
72572         * modules/hard-locale (Depends-on): Likewise.
72573         * modules/makepath (Depends-on): Likewise.
72574         * modules/mountlist (Depends-on): Likewise.
72575         * modules/nanosleep (Depends-on): Likewise.
72576         * modules/posixtm (Depends-on): Likewise.
72577         * modules/quotearg (Depends-on): Likewise.
72578         * modules/readtokens (Depends-on): Likewise.
72579         * modules/readtokens0 (Depends-on): Likewise.
72580         * modules/readutmp (Depends-on): Likewise.
72581         * modules/save-cwd (Depends-on): Likewise.
72582         * modules/strftime (Depends-on): Likewise.
72583         * modules/userspec (Depends-on): Likewise.
72584         * modules/utimecmp (Depends-on): Likewise.
72585         * modules/xgetcwd (Depends-on): Likewise.
72586         * modules/xnanosleep (Depends-on): Likewise.
72587         * modules/xstrtod (Depends-on): Likewise.
72588         * modules/yesno (Depends-on): Likewise.
72589
72590 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
72591
72592         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
72593         needless checks.
72594
72595 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72596
72597         Merge from coreutils.  Among other things,
72598         add bulletproofing for cases where stdin, stdout, or stderr are closed.
72599         * lib/fd-safer.c: New file.
72600         * lib/fcntl-safer.h, open-safer.c: Remove.
72601         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
72602         * lib/dup-safer.c: Include unistd-safer.h first.
72603         Don't include errno.h.
72604         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
72605         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
72606         * lib/file-type.c: Rely on file-type.h change.
72607         * lib/getloadavg.c: Include unistd-safer.h.
72608         (getloadavg): Use safer open.
72609         * lib/getusershell.c: Include "stdio-safer.h".
72610         (getusershell): Use safer fopen.
72611         * lib/long-options.c (long_options): Use NULL rather than 0.
72612         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
72613         'free'.
72614         * lib/modechange.c: Likewise.
72615         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
72616         (MODE_DONE): New constant.
72617         (struct mode_change): Remove 'next' member.
72618         (make_node_op_equals): New function; like the old one of the
72619         same name, except it allocates an array.
72620         (mode_compile, mode_create_from_ref): Use it.
72621         (mode_compile): Allocate result as an array, not a linked list.
72622         Parse octal string ourself, so that we catch mistakes like "+0".
72623         (mode_adjust): Arg is an array, not a linked list.
72624         * lib/modechange.c: Include stat-macros.h, xalloc.h.
72625         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
72626         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
72627         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
72628         Remove.  This is now stat-macros.h's job.
72629         (talloc): Remove.  All callers replaced by xalloc, so that
72630         our invokers don't have to worry about reporting memory failures.
72631         (make_node_op_equals): Remove.
72632         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
72633         New constants.
72634         (struct mode_change): Moved here from modechange.h.
72635         (mode_append_entry): Remove.
72636         (mode_compile): Remove MASKED_OPS arg, since it encouraged
72637         apps to have incorrect behavior.  Use simpler algorithm for head
72638         and tail.  Don't futz with umask; that's now the job of mode_adjust.
72639         Detect more invalid usages rather than having somewhat-random behavior.
72640         Don't insert an "a=" action, as that leads to incorrect behavior.
72641         (mode_compile, mode_create_from_ref): Return NULL on error instead
72642         of an enum, since now there's only one way to have an error.  All
72643         callers changed.
72644         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
72645         at the correct time.  Simplify calculation of "+u" and its ilk.
72646         Don't mishandle "+X".
72647         (mode_free): Remove "register" and localize decls.
72648         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
72649         (struct mode_change): Move to modechange.c; callers don't
72650         need to see this stuff.
72651         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
72652         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
72653         (mode_change, mode_adjust): Reflect the new signatures noted above.
72654         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
72655         that might redefine system include files.
72656         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
72657         (my_usleep): Use NULL rather than (void *) 0.
72658         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
72659         Use siginterrupt to specify that system calls should be interrupted.
72660         (rpl_nanosleep): Move initialization of suspended closer to call of
72661         my_usleep.
72662         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
72663         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
72664         (desirable_utmp_entry): New function.
72665         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
72666         using x2nrealloc, to simplify logic.
72667         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
72668         size calculation.  Do not assume utmp file is a regular file.
72669         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
72670         (READ_UTMP_CHECK_PIDS): New constant.
72671         * lib/save-cwd.c: Include unistd-safer.h.
72672         (save_cwd): Use fd_safer.
72673         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
72674         [!_LIBC] Include "stat-macros.h" instead.
72675         * lib/unistd-safer.h (fd_safer): New decl.
72676
72677 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72678
72679         * modules/getloadavg (Depends-on): Add unistd-safer.
72680         * modules/getusershell (Depends-on): Add stdio-safer.
72681         * modules/lstat (Depends-on): Remove xalloc.
72682         * modules/mkstemp (Depends-on): Add stat-macros.
72683         * modules/modechange (Depends-on): Remove xstrtol.
72684         Add stat-macros, xalloc.
72685         * modules/save-cwd (Depends-on): Add unistd-safer.
72686         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
72687         * modules/unistd-safer (Files): Add lib/fd-safer.c
72688         (Makefile.am): Remove lib_SOURCES.
72689
72690         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
72691         Remove fcntl-safer; unistd-safer supersedes it.
72692
72693 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72694
72695         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
72696         AC_HEADER_STAT.
72697         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
72698         (gl_PREREQ_CHOWN): Remove.
72699         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
72700         it.  Don't require AC_HEADER_STAT.
72701         (gl_PREREQ_LSTAT): Remove.
72702         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
72703         Don't require AC_HEADER_STAT.
72704         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
72705         (gl_PREREQ_RMDIR): Remove.
72706         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
72707         mention stat-macros.h or AC_HEADER_STAT, since we'll make
72708         the stat-macros module a prerequisite.
72709         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
72710         * m4/filemode.m4 (gl_FILEMODE): Likewise.
72711         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
72712         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
72713         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
72714         variable names.
72715         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
72716         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
72717         variable prefixes.
72718         * m4/fcntl-safer.m4: Remove.
72719         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
72720         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
72721         Invoke gl_PREREQ_FD_SAFER.
72722         (gl_PREREQ_FD_SAFER): New macro.
72723         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
72724         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
72725         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
72726         Remove duplicate call to AC_LIBOBJ(readutmp).
72727         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
72728
72729         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
72730         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
72731
72732 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72733
72734         * MODULES.html.sh (Misc): Add byteswap.
72735
72736 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72737
72738         * modules/getcwd (Depends-on): Add extensions.
72739         * modules/openat (Depends-on): Likewise.
72740
72741 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72742
72743         * modules/byteswap: New file.
72744
72745 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72746
72747         * m4/byteswap.m4: New file.
72748
72749 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72750
72751         * lib/byteswap_.h: New file.
72752
72753 2005-04-25  Karl Berry  <karl@gnu.org>
72754
72755         * m4/gettext.m4: Update from GNU gettext 0.14.4.
72756
72757 2005-04-25  Albert Chin  <china@thewrittenword.com>
72758
72759         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
72760         Toolkit C bug.
72761
72762 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
72763
72764         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
72765         (func_ln_if_changed): Remove forcibly for no error message
72766         in case file does not exist.
72767
72768 2005-04-19  Simon Josefsson  <jas@extundo.com>
72769
72770         * gnulib-tool (Options): Make --symlink mean --symbolic.
72771
72772 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
72773
72774         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
72775
72776 2005-04-16  Simon Josefsson  <jas@extundo.com>
72777
72778         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
72779
72780 2005-04-15  Simon Josefsson  <jas@extundo.com>
72781
72782         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
72783
72784 2005-04-15  Simon Josefsson  <jas@extundo.com>
72785
72786         * gnulib-tool: Rename --symlink to --symbolic.
72787
72788 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
72789
72790         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
72791         symbolic links to files instead of copying/moving.  Add --aux-dir,
72792         specifying directory relative --dir where auxiliary build tools
72793         are placed.
72794
72795 2005-04-14  Bruno Haible  <bruno@clisp.org>
72796
72797         * modules/allocsa (License): Change to LGPL.
72798         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
72799
72800 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
72801
72802         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
72803         that "UTC +1 second" continues to work.  Problem reported
72804         by Dmitry V. Levin.
72805         (relunit_snumber): New rule.
72806         (relunit): Use it.
72807
72808 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
72809
72810         * lib/getdate.y (universal_time_zone_table): New constant.
72811         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
72812         universal_time_zone_table.
72813         (lookup_zone): Prefer universal_time_zone_table to
72814         local_time_zone_table, so that "GMT" time stamps are allowed in
72815         London during the summer.  Problem reported by Ian Abbott.
72816
72817 2005-04-12  Jim Meyering  <jim@meyering.net>
72818
72819         * lib/human.c (humblock): Set *options even when returning due to
72820         xstrtoumax conversion failure.  Thanks to a used-uninitialized
72821         warning from gcc-4.
72822
72823 2005-04-09  Jim Meyering  <jim@meyering.net>
72824
72825         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
72826         -Wuninitialized: initialize tm0.tm_year.
72827
72828 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
72829
72830         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
72831         count, since there's no maximum.  All uses changed.
72832         Add member dsts_seen.
72833         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
72834         not being INT_MAX.
72835         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
72836         Use pc_rels_seen to decide whther a date is absolute.
72837
72838         * lib/getdate.y (number): Don't overwrite year.
72839         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
72840         check.
72841
72842 2005-04-02  Simon Josefsson  <jas@extundo.com>
72843
72844         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
72845         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
72846
72847 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
72848
72849         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
72850         where no absolute path name can be longer than PATH_MAX.
72851
72852 2005-03-27  Jim Meyering  <jim@meyering.net>
72853
72854         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
72855
72856 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
72857
72858         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
72859         "one's complement" -> "ones' complement" in comment, as per Knuth.
72860         "value of type" -> "type or expression" in comment.
72861         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
72862
72863 2005-03-26  Jim Meyering  <jim@meyering.net>
72864
72865         Comment nits.
72866         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
72867         Correct typos: s/or/of/.
72868
72869 2005-03-26  Jim Meyering  <jim@meyering.net>
72870
72871         * modules/check-include-files: Move to ../ and rename to...
72872         * check-module: ...this.
72873
72874 2005-03-25  Jim Meyering  <jim@meyering.net>
72875
72876         * modules/xvasprintf (Files): Add xalloc.h.
72877
72878 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
72879
72880         * modules/gettext (Files): config/config.rpath ->
72881         build-aux/config.rpath
72882         * modules/iconv (Files): Likewise.
72883         Problem reported by Oskar Liljeblad.
72884
72885 2005-03-23  Jim Meyering  <jim@meyering.net>
72886
72887         * modules/check-include-files: New script to check for
72888         missing dependencies, multiple includes, etc.
72889
72890         * modules/c-strtold (Depends-on): Add xalloc.
72891         * modules/c-strtod (Depends-on): Add xalloc.
72892         * modules/hash (Depends-on): Add xalloc.
72893         (Files): Remove lib/xalloc.h.
72894
72895         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
72896         * modules/userspec (Files): Add lib/inttostr.h.
72897
72898 2005-03-23  Jim Meyering  <jim@meyering.net>
72899
72900         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
72901
72902 2005-03-22  Jim Meyering  <jim@meyering.net>
72903
72904         * modules/stat-macros: New module.
72905         * modules/canonicalize, modules/euidaccess, modules/file-type,
72906         * modules/filemode, modules/lchown, modules/makepath,
72907         * modules/rmdir, modules/stat: Depend on new stat-macros module
72908         rather than listing lib/stat-macros.h manually.
72909         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
72910
72911 2005-03-22  Jim Meyering  <jim@meyering.net>
72912
72913         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
72914
72915 2005-03-22  Bruno Haible  <bruno@clisp.org>
72916
72917         * config/srclist.txt: Replace target directory 'config' with
72918         'build-aux'.
72919         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
72920         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
72921         ../build-aux/.
72922
72923 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
72924
72925         * modules/chdir-long (Depends-on): Add mempcpy.
72926
72927         * modules/acl, modules/backupfile, modules/c-strtod,
72928         modules/c-strtold, modules/canon-host, modules/canonicalize,
72929         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
72930         modules/exclude, modules/exitfail, modules/file-type,
72931         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
72932         modules/getdate, modules/getline, modules/getpagesize,
72933         modules/getpass, modules/getugroups, modules/group-member,
72934         modules/hard-locale, modules/hash, modules/human, modules/idcache,
72935         modules/inttostr, modules/long-options, modules/makepath,
72936         modules/md5, modules/memcasecmp, modules/memcoll,
72937         modules/modechange, modules/mountlist, modules/path-concat,
72938         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
72939         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
72940         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
72941         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
72942         modules/strftime, modules/strndup, modules/strverscmp,
72943         modules/timespec, modules/unlocked-io, modules/userspec,
72944         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
72945         modules/yesno:
72946         Remove lib_SOURCES line from Makefile.am section, as this is now
72947         done automatically by the corresponding Autoconf macro.
72948
72949 2005-03-21  Jim Meyering  <jim@meyering.net>
72950
72951         Changes imported from coreutils.
72952
72953         * lib/cycle-check.c: Don't include xalloc.h.
72954
72955         * lib/path-concat.c: Don't include assert.h.
72956         (path_concat): Remove assertion that would have triggered
72957         for ABASE starting with more than one slash.
72958         Reported by Andreas Schwab.
72959
72960         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
72961         properly when ABASE is an absolute file name.
72962         Correct the description of this function.
72963         Include <assert.h>.
72964         Add an assertion and a test driver.
72965         This fixes a bug introduced on 2004-07-02.
72966         Andreas Schwab reported the resulting failure of cp --parents:
72967         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
72968
72969 2005-03-21  Jim Meyering  <jim@meyering.net>
72970
72971         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
72972         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
72973
72974 2005-03-21  Jim Meyering  <jim@meyering.net>
72975         and  Paul Eggert  <eggert@cs.ucla.edu>
72976
72977         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
72978         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
72979         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
72980         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
72981         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
72982         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
72983         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
72984         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
72985         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
72986         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
72987         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
72988         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
72989         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
72990         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
72991         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
72992         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
72993         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
72994         for these modules.
72995
72996 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
72997
72998         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
72999         (which shouldn't happen), generate nothing instead of returning 0
73000         immediately, so that nstrftime (NULL, ...) doesn't return 0.
73001
73002 2005-03-16  Bruno Haible  <bruno@clisp.org>
73003
73004         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
73005         HAVE_LONGLONG_64BIT.
73006
73007 2005-03-16  Bruno Haible  <bruno@clisp.org>
73008
73009         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
73010         HAVE_LONGLONG_64BIT.
73011
73012 2005-03-16  Bruno Haible  <bruno@clisp.org>
73013
73014         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
73015         HAVE_LONGLONG_64BIT.
73016
73017 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
73018
73019         * lib/strftime.c (my_strftime): Prepend space to format so that we can
73020         reliably distinguish strftime failure from empty output on POSIX
73021         hosts.
73022
73023 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
73024
73025         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
73026         (iconv_string): Don't guess a size-zero buffer, as that might cause
73027         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
73028         result would be 'too large', where 'too large' is (heuristically)
73029         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
73030         overflow concerns.  This will prevent some unwanted malloc failures
73031         when the inputs are very large.
73032
73033 2005-03-15  Karl Berry  <karl@gnu.org>
73034
73035         * config/srclist.txt (config.rpath): from gettext.
73036         * config/config.rpath: update.
73037
73038 2005-03-15  Bruno Haible  <bruno@clisp.org>
73039
73040         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
73041         to 'negate'.
73042
73043         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
73044         variable.
73045
73046         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
73047         results.
73048
73049 2005-03-14  Simon Josefsson  <jas@extundo.com>
73050
73051         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
73052         <fx@gnu.org>.
73053
73054 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
73055
73056         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
73057         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
73058         intprops.h.
73059         * lib/strtol.c: Likewise.
73060
73061 2005-03-14  Jim Meyering  <jim@meyering.net>
73062
73063         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
73064         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
73065         to be nonzero so that we (and caller) can detect the difference
73066         between a valid zero-length expansion and an error return, even
73067         when the underlying strftime fails before writing anything into
73068         that location.
73069
73070 2005-03-14  Bruno Haible  <bruno@clisp.org>
73071
73072         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
73073         Update from GNU gettext 0.14.3.
73074
73075 2005-03-10  Jim Meyering  <jim@meyering.net>
73076
73077         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
73078
73079 2005-03-10  Jim Meyering  <jim@meyering.net>
73080
73081         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
73082         so that this module works on systems without fchdir.
73083
73084 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
73085
73086         Factor int-properties macros into a single file, except for
73087         glibc-related files.
73088         * lib/intprops.h: New file.
73089         * lib/getloadavg.c: Include it instead of limits.h.
73090         (INT_STRLEN_BOUND): Remove.
73091         * lib/human.c: Include intprops.h.
73092         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
73093         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
73094         302/1000.
73095         * lib/inttostr.h: Include intprops.h instead of limits.h.
73096         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
73097         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
73098         for consistency with intprops.h.
73099         (time_t_is_integer, twos_complement_arithmetic): Use them.
73100         * lib/sig2str.h: Include <signal.h>, intprops.h.
73101         (INT_STRLEN_BOUND): Remove.
73102         * lib/strftime.c (TYPE_SIGNED): Remove.
73103         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
73104         * lib/strtol.c: Adjust comments to match intprops.h.
73105         * lib/userspec.c: Include intprops.h.
73106         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
73107         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
73108         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
73109         instead of rolling our own expressions.
73110         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
73111
73112         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
73113         instead of int.
73114         (my_strftime): Do not mishandle years close to INT_MAX, by doing
73115         the right thing even if adding 1900 would overflow.  Similarly
73116         for tm_mon + 1 and tm_yday + 1.
73117         Make %Y always equivalent to %C%y, and similarly for %G and %g.
73118         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
73119         (DO_SIGNED_NUMBER): New macro.
73120         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
73121
73122 2005-03-07  Bruno Haible  <bruno@clisp.org>
73123
73124         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
73125
73126 2005-03-07  Bruno Haible  <bruno@clisp.org>
73127
73128         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
73129
73130 2005-03-04  Derek R. Price  <derek@ximbiot.com>
73131
73132         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
73133         (func_import): Only replace files via --import when they have actually
73134         changed.
73135
73136 2005-03-03  Derek R. Price  <derek@ximbiot.com>
73137
73138         * m4/mmap-anon.m4: New file.
73139         * m4/pagealign_alloc.m4: New file.
73140
73141 2005-03-03  Derek R. Price  <derek@ximbiot.com>
73142             Bruno Haible  <bruno@clisp.org>
73143
73144         * modules/pagealign_alloc: New file.
73145         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
73146
73147 2005-03-03  Derek R. Price  <derek@ximbiot.com>
73148             Bruno Haible  <bruno@clisp.org>
73149
73150         * lib/pagealign_alloc.h: New file.
73151         * lib/pagealign_alloc.c: New file.
73152
73153 2005-03-03  Bruno Haible  <bruno@clisp.org>
73154
73155         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
73156         Use an all-permissive copyright notice, recommended by RMS.
73157
73158 2005-03-02  Bruno Haible  <bruno@clisp.org>
73159
73160         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
73161         of AIX, the replacement has to be done only after <string.h> is
73162         included, therefore not in config.h. stpncpy.h does the replacement,
73163         and stpncpy.c uses it.
73164
73165 2005-03-02  Bruno Haible  <bruno@clisp.org>
73166
73167         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
73168         stpncpy.c uses it.
73169
73170 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73171
73172         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
73173         The workaround isn't strictly needed for POSIX conformance, and
73174         it's too much of a pain to configure and maintain.  We'll ask
73175         people to fix their kernels instead.
73176         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
73177         (NANOSLEEP_BUG_WORKAROUND): Remove.
73178         (xnanosleep): Remove the workaround.
73179
73180 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73181
73182         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
73183         Reported by Derek Price.
73184         (Include): Add "timespec.h".
73185
73186         * modules/xnanosleep (Depends-on): Remove gethrxtime.
73187
73188 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73189
73190         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
73191         to detect nanosleep bug.
73192
73193 2005-03-01  Bruno Haible  <bruno@clisp.org>
73194
73195         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
73196
73197 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
73198
73199         * modules/gethrxtime: New file.
73200         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
73201         (Depends-on): Add gethrxtime.
73202         (configure.ac): Add gl_XNANOSLEEP.
73203         (Makefile.am): Remove lib_SOURCES line.
73204
73205 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
73206
73207         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
73208         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
73209
73210 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
73211
73212         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
73213         * lib/timespec.h (gettime): Return void, since it always
73214         succeeds now.  All uses changed.
73215         * lib/gettime.c (gettime): Likewise.
73216         [HAVE_NANOTIME]: Prefer nanotime.
73217         Assume gettimeofday succeeds, as POSIX requires.
73218         Assime time () succeeds, since other code already does.
73219         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
73220         (timespec_subtract): Remove.
73221         (NANOSLEEP_BUG_WORKAROUND): New constant.
73222         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
73223         things considerably.  Use it only on GNU/Linux hosts, since the
73224         workaround shouldn't be needed elsewhere.
73225
73226 2005-02-24  Bruno Haible  <bruno@clisp.org>
73227
73228         * modules/gettext (Files): Add m4/glibc2.m4.
73229
73230 2005-02-24  Bruno Haible  <bruno@clisp.org>
73231
73232         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
73233         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
73234         * m4/progtest.m4:
73235         Update from GNU gettext 0.14.2.
73236         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
73237
73238 2005-02-24  Bruno Haible  <bruno@clisp.org>
73239
73240         * lib/localcharset.c: Update from GNU gettext 0.14.2.
73241         * lib/config.charset: Update from GNU gettext 0.14.2.
73242
73243 2005-02-24  Bruno Haible  <bruno@clisp.org>
73244
73245         * lib/gettext.h: Update from GNU gettext 0.14.2.
73246
73247 2005-02-23  Simon Josefsson  <jas@extundo.com>
73248
73249         * m4/iconvme.m4: New file.
73250
73251 2005-02-23  Jim Meyering  <jim@meyering.net>
73252
73253         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
73254         change.
73255         Thanks to Bruno Haible for catching it.
73256
73257 2005-02-22  Simon Josefsson  <jas@extundo.com>
73258
73259         * modules/iconvme: New file.
73260
73261         * MODULES.html.sh: Add iconvme.
73262
73263 2005-02-22  Simon Josefsson  <jas@extundo.com>
73264
73265         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
73266
73267 2005-02-22  Simon Josefsson  <jas@extundo.com>
73268
73269         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
73270
73271 2005-02-22  Jim Meyering  <jim@meyering.net>
73272
73273         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
73274         s/ifndef/ifdef/.
73275
73276 2005-02-20  Neil Conway  <neilc@samurai.com>
73277
73278         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
73279         returned by OSX/Darwin if the specified buffer is not large
73280         enough for the hostname.
73281
73282 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73283
73284         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
73285         pass it to _help, otherwise the latter coredumps trying to
73286         dereference state.root_argp.
73287
73288 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73289
73290         * modules/chdir-long (Depends-on): Add memrchr.
73291         * modules/memrchr (Files): Add lib/memrchr.h.
73292         (Include): "memrchr.h".
73293
73294 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73295
73296         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
73297
73298 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73299
73300         * lib/memrchr.h: New file.
73301         * lib/chdir-long.c: Include it.
73302         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
73303         Don't bother including stddef.h.
73304
73305 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73306
73307         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
73308         inclusion.
73309         Include <sys/types.h>, for dev_t.
73310         (ME_DUMMY, ME_REMOTE): Move from here....
73311         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
73312         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
73313         Dmitry V. Levin.
73314         Include mountlist.h first, to test the interface.
73315
73316 2005-01-29  Bruno Haible  <bruno@clisp.org>
73317
73318         * lib/progname.c (program_name): Initialize.
73319         Needed when linking statically on MacOS X.
73320
73321 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73322
73323         Sync from coreutils.
73324         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
73325         (Depends-on): Add c-strtod.
73326         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
73327
73328 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73329
73330         Sync from coreutils.
73331         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
73332
73333         Remove files that are specific to coreutils.
73334         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
73335
73336 2005-01-28  Bruno Haible  <bruno@clisp.org>
73337
73338         * modules/javacomp: New file.
73339         * MODULES.html.sh (Java): Add javacomp.
73340
73341 2005-01-28  Bruno Haible  <bruno@clisp.org>
73342
73343         * m4/javacomp.m4: New file, from GNU gettext.
73344
73345 2005-01-28  Bruno Haible  <bruno@clisp.org>
73346
73347         * lib/javacomp.sh.in: New file, from GNU gettext.
73348         * lib/javacomp.h: New file, from GNU gettext.
73349         * lib/javacomp.c: New file, from GNU gettext.
73350
73351 2005-01-26  Simon Josefsson  <jas@extundo.com>
73352
73353         * lib/gai_strerror.c: Use GPL in header.
73354
73355 2005-01-26  Bruno Haible  <bruno@clisp.org>
73356
73357         * modules/javaexec: New file.
73358         * MODULES.html.sh (Java): Add javaexec.
73359
73360 2005-01-26  Bruno Haible  <bruno@clisp.org>
73361
73362         * m4/javaexec.m4: New file, from GNU gettext.
73363
73364 2005-01-26  Bruno Haible  <bruno@clisp.org>
73365
73366         * lib/javaexec.sh.in: New file, from GNU gettext.
73367         * lib/javaexec.h: New file, from GNU gettext.
73368         * lib/javaexec.c: New file, from GNU gettext.
73369
73370 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73371
73372         * modules/lchown (Depends-on): Remove lchown.h
73373
73374 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73375
73376         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
73377         must be defined if the header file was not found, in order
73378         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
73379
73380 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73381
73382         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
73383         initializers for struct pentry_state.
73384         (__argp_error): Check return value of __asprintf
73385         (__argp_failure): Translate error message
73386
73387         * lib/argp-parse.c: Removed braces around the expansion of N_()
73388
73389 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73390
73391         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
73392         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
73393         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
73394         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
73395         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
73396         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
73397         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
73398         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
73399         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
73400         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
73401         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
73402         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
73403         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
73404         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
73405         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
73406         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
73407         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
73408         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
73409         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
73410         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
73411         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
73412         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
73413         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
73414         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
73415         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
73416         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
73417         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
73418         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
73419         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
73420         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
73421         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
73422         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
73423         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
73424         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
73425         xstrtol.m4, xstrtoumax.m4, yesno.m4:
73426         Use an all-permissive copyright notice, recommended by RMS.
73427
73428 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
73429
73430         * modules/chdir-long (Depends-on): Remove mempcpy.
73431
73432 2005-01-21  Jim Meyering  <jim@meyering.net>
73433
73434         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
73435         same value as for Solaris 9.
73436
73437         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
73438         component length.  This included changing the parameter to be
73439         of type `char *' rather than `char const *'.
73440         * lib/chdir-long.h (chdir_long): Update prototype.
73441
73442         * lib/openat.c (fdopendir, fstatat): New functions.
73443         * lib/openat.h: Include headers required for use of DIR and struct
73444         stat.
73445         [AT_SYMLINK_NOFOLLOW]: Define.
73446         (fdopendir, fstatat): Add prototypes.
73447
73448 2005-01-21  Bruno Haible  <bruno@clisp.org>
73449
73450         * modules/classpath: New file.
73451         * MODULES.html.sh (Java): Add classpath.
73452
73453 2005-01-21  Bruno Haible  <bruno@clisp.org>
73454
73455         * lib/classpath.h: New file, from GNU gettext.
73456         * lib/classpath.c: New file, from GNU gettext.
73457
73458 2005-01-20  Simon Josefsson  <jas@extundo.com>
73459
73460         * modules/version-etc-fsf: New file.
73461
73462 2005-01-20  Simon Josefsson  <jas@extundo.com>
73463
73464         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
73465         * lib/version-etc.c: Remove version_etc_copyright.
73466         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
73467         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
73468
73469 2005-01-20  Simon Josefsson  <jas@extundo.com>
73470
73471         * lib/base64.h (isbase64): Add.
73472
73473         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
73474         using a unsigned prototype, don't inline.
73475         (base64_decode): Use it.
73476
73477 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73478
73479         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
73480         it.
73481
73482 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73483
73484         * lib/save-cwd.c (save_cwd): Remove code to support the case
73485         where fchdir is missing or flaky.
73486
73487 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73488
73489         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
73490
73491 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
73492
73493         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
73494         AC_LIBSOURCES now does this.
73495         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
73496         with new ullong_max module.
73497
73498 2005-01-19  Bruno Haible  <bruno@clisp.org>
73499
73500         * modules/sh-quote: New file.
73501         * MODULES.html.sh (Executing programs): Add sh-quote.
73502
73503 2005-01-19  Bruno Haible  <bruno@clisp.org>
73504
73505         * lib/sh-quote.h: New file, from GNU gettext.
73506         * lib/sh-quote.c: New file, from GNU gettext.
73507
73508 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73509
73510         Merge from coreutils.
73511         * m4/ullong_max.m4: New file.
73512         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
73513         (gl_MACROS): Assume localeconv exists.
73514
73515 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73516
73517         Merge changes from coreutils, as described below in several
73518         changelogs dated today.
73519
73520         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
73521         (O_DIRECTORY): Remove; not needed here, since "." must be
73522         a directory.  All uses removed.
73523         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
73524         universal on Suns, and we also need to test for IRIX.
73525         Revamp code to use 'if' rather than '#if'.
73526         Avoid unnecessary comparison of cwd->desc to 0.
73527
73528         * lib/utimens.c (futimens): Robustify the previous patch, by checking
73529         for known valid error numbers rather than observed invalid ones.
73530
73531 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73532
73533         * modules/ullong_max: New file.
73534
73535         * modules/chdir-long, modules/openat: New files.
73536         * modules/save-cwd (Depends-on): Depend on chdir-long.
73537         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
73538
73539 2005-01-18  Jim Meyering  <jim@meyering.net>
73540
73541         Merge from coreutils.
73542         * m4/chdir-long.m4, m4/openat.m4: New files.
73543         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
73544         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
73545         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
73546         is sane and DOES follow symlinks.  Besides, testing 20 different
73547         systems found no broken chown implementations.
73548         Prompted by a change in rsync's copy of this macro.
73549         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
73550
73551         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
73552
73553         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
73554         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
73555         NULL-means-set-to-current-time semantics.
73556         Remove temporary file immediately, rather than waiting
73557         for configure's at-exit trap code to do it.
73558
73559 2005-01-18  Jim Meyering  <jim@meyering.net>
73560
73561         * lib/version-etc.c (version_etc_copyright): Update copyright date.
73562
73563         * lib/utimens.c (futimens): Account for the fact that futimes
73564         can also fail with errno == ENOSYS or errno == ENOENT.
73565         Patch from Dmitry V. Levin.
73566
73567         Change the name of the robust chdir function from chdir to chdir_long.
73568         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
73569         (restore_cwd): Use chdir_long, not chdir.
73570         * lib/chdir-long.c: Renamed from chdir.c.
73571         * lib/chdir-long.h: Renamed from chdir.h.
73572         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
73573         Hurd.
73574
73575 2005-01-18  Bruno Haible  <bruno@clisp.org>
73576
73577         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
73578         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
73579         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
73580         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
73581         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
73582         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
73583         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
73584         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
73585         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
73586         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
73587         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
73588         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
73589         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
73590         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
73591         Use an all-permissive copyright notice, recommended by RMS.
73592
73593 2005-01-18  Bob Proulx  <bob@proulx.com>
73594
73595         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
73596         simplify offsetof() macro construct to avoid compile failure with
73597         native HP-UX 11.0 ANSI C compiler.
73598
73599 2005-01-17  Bruno Haible  <bruno@clisp.org>
73600
73601         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
73602         redundant because stpncpy.m4 takes care of it.
73603
73604 2005-01-17  Bruno Haible  <bruno@clisp.org>
73605
73606         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
73607
73608 2005-01-17  Bruno Haible  <bruno@clisp.org>
73609
73610         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
73611         used.
73612
73613 2005-01-17  Bruno Haible  <bruno@clisp.org>
73614
73615         * lib/fwriteerror.h (fwriteerror): Change specification to include
73616         fclose.
73617         * lib/fwriteerror.c: Include <stdbool.h>.
73618         (fwriteerror): At the end, close the file stream. Record whether
73619         stdout was already closed.
73620
73621 2005-01-17  Bruno Haible  <bruno@clisp.org>
73622
73623         * lib/execute.c (environ): Declare if needed.
73624         * lib/pipe.c (environ): Likewise.
73625         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
73626
73627 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73628
73629         * modules/argp: Depend on vsnprintf
73630
73631 2005-01-10  Jim Meyering  <jim@meyering.net>
73632
73633         * modules/closeout (Depends-on): Add atexit.
73634
73635 2005-01-06  Bruno Haible  <bruno@clisp.org>
73636
73637         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
73638
73639 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73640
73641         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
73642         definitions to be after all include files, to avoid collisions.
73643         Problem reported by Bob Proulx.
73644
73645 2005-01-04  Jim Meyering  <jim@meyering.net>
73646
73647         Changes imported from coreutils.
73648         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
73649         as the mkstemp template, use a temporary directory and an
73650         8.3-friendly template to avoid trouble on systems like DJGPP.
73651         Reported by Juan M. Guerrero via Stepan Kasal.
73652         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
73653         close. Remove the temporary directory right away, rather than waiting
73654         for configure's at-exit trap code to do it.
73655         Suggestion from Stepan Kasal.
73656
73657 2005-01-01  Simon Josefsson  <jas@extundo.com>
73658
73659         * gnulib-tool: Print #include directives when --import'ing.
73660
73661 2004-12-28  Simon Josefsson  <jas@extundo.com>
73662
73663         * tests/test-base64.c: Include required header files.  Remove
73664         unused variables.
73665
73666 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
73667
73668         * modules/error (Depends-on): Remove gettext.
73669
73670 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
73671
73672         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
73673         not needed.  This removes a dependency on the gettext module.
73674         [defined _LIBC]: Do not include <libintl.h>; not needed.
73675
73676 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
73677
73678         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
73679         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
73680
73681 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
73682
73683         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
73684         HAVE_DECL_STRTOLD.
73685
73686 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73687
73688         * modules/getdate (Depends-on): Remove alloca-opt.
73689
73690 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73691
73692         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
73693
73694 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73695
73696         * lib/argp-parse.c: Include <stddef.h>.
73697         (alignof, alignto): New macros.
73698         (parser_init): Don't assume that void * is aligned sufficiently
73699         for struct option.
73700
73701         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
73702         need to extend the stack.
73703         (YYINITDEPTH): New macro, so that the initial stack isn't overly
73704         large.
73705
73706 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73707
73708         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
73709
73710 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
73711
73712         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
73713         (2004-10-24) change.  Apparently this was a false alarm.
73714
73715         * modules/getdate: Depend on alloca-opt, not alloca.
73716
73717 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
73718
73719         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
73720         Remove now-obsolete comment about AIX.
73721         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
73722         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
73723         (YYMAXDEPTH): New macro.
73724
73725 2004-12-18  Simon Josefsson  <jas@extundo.com>
73726
73727         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
73728
73729 2004-12-18  Bruno Haible  <bruno@clisp.org>
73730
73731         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
73732
73733 2004-12-18  Bruno Haible  <bruno@clisp.org>
73734
73735         * lib/fatal-signal.c (fatal_signals): Make non-const.
73736         (init_fatal_signals): New function.
73737         (uninstall_handlers, install_handlers): Ignore signals that were set to
73738         SIG_IGN.
73739         (at_fatal_signal): Call init_fatal_signals.
73740         (init_fatal_signal_set): Likewise. Ignore signals that were set to
73741         SIG_IGN.
73742         Reported by Paul Eggert.
73743
73744 2004-12-18  Bruno Haible  <bruno@clisp.org>
73745
73746         * doc/alloca.texi: New file.
73747         * doc/alloca-opt.texi: New file.
73748
73749 2004-12-17  Jim Meyering  <jim@meyering.net>
73750
73751         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
73752         Otherwise, install-sh could exit with improper exit status when
73753         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
73754
73755 2004-12-16  Simon Josefsson  <jas@extundo.com>
73756
73757         * tests/test-base64.c: Add license.
73758
73759 2004-12-15  Stepan Kasal  <address@hidden>
73760
73761         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
73762
73763 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
73764
73765         * modules/getcwd (Files): Add m4/d-ino.m4.
73766         Suggested by Mark D. Baushke.
73767
73768 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
73769
73770         * lib/getdate.y (textint): New member "negative".
73771         (time_zone_hhmm): New function.
73772         Expect 14 shift-reduce conflicts, not 13.
73773         (o_colon_minutes): New rule.
73774         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
73775         (yylex): Set the "negative" member of signed numbers.
73776
73777 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
73778
73779         * doc/getdate.texi (Time of day items, Time zone items):
73780         Describe new formats +00:00, UTC+00:00.
73781
73782 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73783
73784         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
73785         spurious "-l"s.  Problem reported by Stepan Kasal.
73786
73787 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
73788
73789         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
73790         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
73791
73792 2004-12-04  Simon Josefsson  <jas@extundo.com>
73793
73794         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
73795         Vandoorselaere <yoann@prelude-ids.org>.
73796
73797 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73798
73799         Changes imported from coreutils.
73800         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
73801         exist.
73802         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
73803
73804 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73805
73806         Changes imported from coreutils.
73807         * lib/hard-locale.c: Assume <locale.h> exists.
73808         Include "strdup.h".
73809         (GLIBC_VERSION): New macro.
73810         (hard_locale): Assume setlocale exists.
73811         Rewrite to avoid #ifdef.
73812         Use strdup rather than malloc + strcpy.
73813         * lib/human.c: Assume <locale.h> exists.
73814         (human_readable): Assume localeconv exists.
73815
73816 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73817
73818         * modules/hard-locale (Depends-on): Add strdup.
73819
73820 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
73821
73822         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
73823         convert T2, not T.  (Imported from libc.)
73824
73825 2004-11-30  Simon Josefsson  <jas@extundo.com>
73826
73827         * modules/restrict (License): Change to LGPL.
73828
73829 2004-11-30  Simon Josefsson  <jas@extundo.com>
73830
73831         * m4/restrict.m4: Add copyright and copying conditions.
73832
73833 2004-11-30  Simon Josefsson  <jas@extundo.com>
73834
73835         * m4/base64.m4: New file.
73836
73837 2004-11-30  Simon Josefsson  <jas@extundo.com>
73838
73839         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
73840         base64.
73841
73842         * tests/test-base64.c: New file.
73843
73844         * modules/base64: New file.
73845
73846 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
73847
73848         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
73849         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
73850
73851         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
73852
73853 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
73854
73855         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
73856         (__getcwd.c): Don't restore errno; glibc doesn't.
73857         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
73858         first, falling back to our code only if its results look suspicious.
73859         Ensure that the resulting buffer is only as large as necessary.
73860
73861         * lib/readutmp.c: Include readutmp.h first.
73862         Include <errno.h>, since readutmp.h no longer does that.
73863         * lib/readutmp.h: Don't include <errno.h>,
73864         <sys/param.h>, <time.h>; not needed to establish interface.
73865         (errno): Remove decl.
73866         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
73867         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
73868         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
73869
73870 2004-11-28  Simon Josefsson  <jas@extundo.com>
73871
73872         * lib/base64.h, base64.c: New file.
73873
73874 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
73875
73876         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
73877
73878 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
73879
73880         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
73881         (Depends-on): Remove pathmax, same.  Add mempcpy.
73882         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
73883         (Makefile.am): Append getcwd.h to lib_SOURCES.
73884         (Include): Add getcwd.h.
73885         (Maintainer): Change from Jim Meyering to "all, glibc",
73886         since getdate now uses intended-for-glibc code.
73887         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
73888         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
73889
73890 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73891
73892         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
73893         HP's ANSI C compiler.
73894         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
73895         Declaring int functions causes warnings on some modern systems and
73896         shouldn't be needed to compile on ancient ones.
73897         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
73898         defined.
73899
73900         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
73901         with the following changes.
73902         (__set_errno): Parenthesize properly.
73903         Include <stdbool.h>.
73904         (MIN, MAX, MATCHING_INO): New macros.
73905         (__getcwd): Define with prototype, not K&R form.
73906         Use heuristics to allocate default buffer on stack if possible.
73907         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
73908         behavior, and to avoid the PATH_MAX limit when computing
73909         ../../../../...
73910         Use MATCHING_INO to compare inode number to file.
73911         Check for arithmetic overflow in size calculations.
73912         Fix bug in reallocation of dot array that caused getcwd to fail
73913         on directories nested deeper than 75.
73914         Be more careful about saving errno on error.
73915         Do not use realloc; use only free+malloc, as this is a bit
73916         more flexible and avoids a needless copy operation.
73917         Do not inspect st_dev and st_ino for symbolic links; POSIX
73918         doesn't specify the latter.
73919         Check for closedir errors.
73920         Avoid needless casts.
73921         Use "#ifdef weak_alias" around weak_alias, to be like other
73922         glibc code.
73923         The following changes to getcwd.c have effect only when used in
73924         gnulib; they have no effect inside glibc proper.
73925         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
73926         as alloca isn't used.
73927         (alloca, __alloca): Likewise.
73928         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
73929         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
73930         unconditionally, as gnulib assumes C89 or better.
73931         Do not include <sys/param.h>.
73932         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
73933         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
73934         better.
73935         (NULL) [!defined NULL]: Remove; we assume C89 or better.
73936         Include <dirent.h> in a way that is compatible with modern Autoconf.
73937         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
73938         New macros, if not already defined.
73939         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
73940         Use "_LIBC", not "defined _LIBC", for consistency.
73941         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
73942         a mempcpy module.
73943         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
73944         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
73945         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
73946         credit only to Jim Meyering and adjust the copyright dates.
73947         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
73948         <stdlib.h>, <unistd.h>, "pathmax.h".
73949         Instead, include "xgetcwd.h" (first) and "getcwd.h".
73950         (INITIAL_BUFFER_SIZE): Remove.
73951         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
73952
73953 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73954
73955         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
73956         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
73957         Use the _ONCE methods, for efficiency.
73958         Check for fcntl.h.  In test program, include <errno.h>
73959         and <fcntl.h> if available.  Remove old K&R cruft from
73960         test program.  Check for common errors in GNU/Linux,
73961         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
73962         don't do AC_LIBOBJ, as that's getcwd.m4's job.
73963         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
73964         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
73965         name accordingly.
73966         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
73967         accommodate new getcwd.c.
73968         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
73969         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
73970         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
73971         that's all we need now.
73972
73973 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73974
73975         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
73976         argp-parse.c depends on getopt internals, that means we should
73977         always use our getopt, to be on the safe side.
73978         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
73979         order not to spoil the result of an eventual previous invocation
73980         of gl_GETOPT_SUBSTITUTE.
73981
73982 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73983
73984         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
73985         redefinition warnings. To avoid them, include the defines
73986         in `#if !defined __need_getopt ... #endif'. The only place
73987         where __getopt_argv_const is used is in definitions
73988         of getopt_long and getopt_long_only below, which are as well
73989         protected by `#ifndef __need_getopt'.
73990         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
73991         __need_getopt after including <stdio.h> and <unistd.h> These
73992         headers might have defined it.
73993
73994 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
73995
73996         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
73997
73998 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
73999
74000         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
74001         (futimens): New function, which uses futimes if available.
74002         (futimens, utimens): Support timespec==NULL, with same semantics
74003         as utime and utimens.
74004         * lib/utimens.h (futimens): New decl.
74005
74006 2004-11-23  Jim Meyering  <jim@meyering.net>
74007
74008         * lib/getopt_.h: Remove trailing blanks.
74009
74010 2004-11-23  Jim Meyering  <jim@meyering.net>
74011
74012         * lib/__fpending.c: Add comment.
74013
74014 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
74015
74016         * modules/canonicalize (Depends-on): Add xreadlink.
74017         Problem reported by James Youngman.
74018
74019 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
74020
74021         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
74022         New macros.
74023         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
74024         optopt): Use them instead of invoking ## directly; otherwise, the
74025         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
74026
74027 2004-11-19  Bruno Haible  <bruno@clisp.org>
74028
74029         * lib/strtok_r.c: Move comments from here...
74030         * lib/strtok_r.h: ... to here.
74031
74032 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
74033
74034         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
74035         implementations that mishandle size_t overflow.
74036
74037 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
74038
74039         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
74040         might fail.  Problem reported by Yoann Vandoorselaere.
74041         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
74042         implementations that mishandle size_t overflow.
74043
74044 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74045
74046         * modules/canon-host (Depends-on): Add strdup.
74047
74048 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74049
74050         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
74051
74052 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74053
74054         * lib/canon-host.c: Include "strdup.h".
74055         (canon_host): Use getaddrinfo if available, so that IPv6 works.
74056         Use strdup instead of malloc/strcpy to duplicate strings.
74057
74058         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
74059         (human_space_before_unit): New constant.
74060         * lib/human.c (human_readable): Support it.
74061
74062         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
74063         (xgetcwd): Set errno correctly when failing.
74064         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
74065         the failure is actually due to a PATH_MAX problem.
74066
74067         Further getopt changes to make it more likely that glibc will
74068         buy the changes back.
74069         * lib/getopt.c (POSIXLY_CORRECT): New constant.
74070         (getopt): Use it, so to preserve glibc semantic
74071         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
74072         when compiling for libc.
74073         * lib/getopt_.h (__getopt_argv_const): Bring it back.
74074         (getopt_long, getopt_long_only): Use it.
74075
74076         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
74077         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
74078         (getopt): Argv is now char * const *, as per standard.
74079         (_getopt_internal_r, _getopt_internal): Argv is now char **,
74080         not char *__getopt_argv_const *.
74081         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
74082         _getopt_long_only_r): Likewise.
74083         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
74084         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
74085         _getopt_long_r, _getopt_long_only_r): Likewise.
74086         * lib/getopt_.h (__getopt_argv_const): Remove.
74087         (getopt): Argv is now char * const *, as per standard.
74088
74089         * lib/getdate.y (tORDINAL): New token.
74090         (day, relunit): Allow it for relative times.
74091         (relative_time_table): Use tORDINAL for ordinals.
74092
74093 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74094
74095         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
74096         Document that "second" isn't allowed as an ordinal number.
74097
74098 2004-11-16  Jim Meyering  <jim@meyering.net>
74099
74100         * modules/closeout (Depends-on): Add fpending.
74101
74102 2004-11-15  Jim Meyering  <jim@meyering.net>
74103
74104         * lib/closeout.c: Include "__fpending.h" once again.
74105         Include <stdbool.h>.
74106         (close_stdout): Don't fail just because stdout was closed initially,
74107         since some programs don't write to stdout in the normal course of
74108         operation (other than --version and --help), and we don't want this
74109         function to make e.g. `touch file >&-' fail.
74110         But do fail if it was closed and someone has tried to write to it.
74111         E.g., `printf foo >&-' must fail.
74112
74113 2004-11-13  Jim Meyering  <jim@meyering.net>
74114
74115         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
74116
74117 2004-11-12  Simon Josefsson  <jas@extundo.com>
74118
74119         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
74120         small doc fix is still pending.
74121
74122 2004-11-11  Simon Josefsson  <jas@extundo.com>
74123
74124         * modules/strtok_r: New file.
74125
74126         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74127         strtok_r.
74128
74129 2004-11-11  Simon Josefsson  <jas@extundo.com>
74130
74131         * m4/strtok_r.m4: New file.
74132
74133         * m4/getopt.m4: Replace opterr.
74134
74135 2004-11-11  Simon Josefsson  <jas@extundo.com>
74136
74137         * lib/strtok_r.h, strtok_r.c: New file.
74138
74139 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
74140
74141         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
74142         of replacing opterr, getopt, etc.  This should handle the
74143         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
74144
74145 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
74146
74147         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
74148         we can stop lying to compilers about the constness of argv when we
74149         are compiled outside glibc.
74150         (getopt, getopt_long, getopt_long_only): Use it.
74151         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
74152         _getopt_internal, getopt): Likewise.
74153         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
74154         _getopt_long_only_r): Likewise.
74155         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
74156         _getopt_long_r, _getopt_long_only_r): Likewise.
74157
74158         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
74159         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
74160         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
74161         the other external symbols.
74162         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
74163         declaration, since the above renaming now works around collisions.
74164
74165 2004-11-11  Jim Meyering  <jim@meyering.net>
74166
74167         * lib/linebreak.c: Remove trailing blanks.
74168         * lib/alloca_.h: Likewise.
74169         * lib/acosl.c: Likewise.
74170         * lib/euidaccess.c: Likewise.
74171         * lib/allocsa.h: Likewise.
74172
74173 2004-11-10  Simon Josefsson  <jas@extundo.com>
74174
74175         * m4/getaddrinfo.m4: New file.
74176
74177 2004-11-10  Simon Josefsson  <jas@extundo.com>
74178
74179         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
74180
74181 2004-11-10  Simon Josefsson  <jas@extundo.com>
74182
74183         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74184         getaddrinfo.
74185
74186         * modules/getaddrinfo: New file.
74187
74188 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74189
74190         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
74191
74192 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74193
74194         * lib/mktime.c (SHR): New macro, which is a portable
74195         substitute for >> that should work even on Crays.
74196         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
74197         Problem reported by Mark D. Baushke in
74198         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
74199         * lib/getdate.y (SHR): Likewise.
74200         (tm_diff): Use it.
74201         * lib/strftime.c (SHR): Likewise.
74202         (tm_diff): Use it.
74203         * lib/quotearg.c (struct quoting_options): Use unsigned int for
74204         quote_these_too, so that right shifts are well defined.  All uses
74205         changed.
74206
74207 2004-11-10  Jim Meyering  <jim@meyering.net>
74208
74209         Ensure that no close failure goes unreported.
74210         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
74211         return early when it seems there's nothing to flush.
74212         Don't include __fpending.h.
74213
74214 2004-11-10  Jim Meyering  <jim@meyering.net>
74215
74216         * modules/closeout (Depends-on): Remove fpending.
74217
74218 2004-11-10  Jim Meyering  <jim@meyering.net>
74219
74220         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
74221
74222 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74223
74224         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
74225         gl_FUNC_STRFTIME.
74226         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
74227         and AC_REQUIRE when possible, to avoid duplicate checks.
74228         Check for <wchar.h>.
74229
74230 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74231
74232         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
74233
74234 2004-11-09  Bruno Haible  <bruno@clisp.org>
74235
74236         * m4/sockpfaf.m4: New file.
74237
74238 2004-11-05  Bruno Haible  <bruno@clisp.org>
74239
74240         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
74241         Reported by Mark D. Baushke <mdb@cvshome.org>.
74242
74243 2004-11-04  Bruno Haible  <bruno@clisp.org>
74244
74245         2004-09-11  Bruno Haible  <bruno@clisp.org>
74246                 * allocsa.valgrind: New file.
74247         2004-02-06  Bruno Haible  <bruno@clisp.org>
74248                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
74249                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
74250                 Reported by Christopher Seip <chris.seip@hp.com>.
74251
74252 2004-11-04  Bruno Haible  <bruno@clisp.org>
74253
74254         * modules/allocsa (Files): Add lib/allocsa.valgrind.
74255         (Makefile.am): Distribute it.
74256
74257 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
74258
74259         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
74260         with errno == ERANGE if the buffer is too small.
74261         Problem reported by Mark D. Baushke.
74262
74263 2004-11-03  Albert Chin  <china@thewrittenword.com>
74264             Paul Eggert  <eggert@cs.ucla.edu>
74265
74266         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
74267         equivalent, substitute $ac_type for equivalent type rather than
74268         blindly using uint32_t *always* which won't work if uint32_t is not
74269         available.  Define _UINT32_T to work around typedef of uint32_t if
74270         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
74271         2.5.1.
74272
74273 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74274
74275         * m4/jm-macros.m4: Sync from coreutils.
74276         (gl_MACROS): Check for mbrlen, for pathchk.
74277         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
74278
74279 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74280
74281         * lib/xreadlink.c (MAXSIZE): New macro.
74282         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
74283         size does not exceed MAXSIZE.  Avoid cast.
74284         As suggested by Mark D. Baushke in
74285         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
74286         if readlink fails with buffer size just under MAXSIZE, try again
74287         with MAXSIZE.
74288
74289 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74290
74291         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
74292
74293 2004-11-02  Derek R. Price  <derek@ximbiot.com>
74294         and  Paul Eggert  <eggert@cs.ucla.edu>
74295
74296         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
74297         (get_date): Overparenthesize to avoid GCC warning.
74298
74299 2004-11-02  Bruno Haible  <bruno@clisp.org>
74300
74301         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
74302         returns void.
74303
74304 2004-11-02  Bruno Haible  <bruno@clisp.org>
74305
74306         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
74307         function returns void.
74308
74309 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
74310
74311         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
74312         fflush_unlocked, flockfile, funlockfile, funlockfile,
74313         fputs_unlocked, putc_unlocked.
74314
74315 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
74316
74317         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
74318         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
74319         already declared.
74320
74321 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74322
74323         * modules/getdate (Files): Add doc/getdate.texi.
74324         (Depends-on): Add setenv, xalloc.
74325
74326 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74327
74328         * lib/getdate.y: Add support for TZ="foo" within a date string.
74329         Fix some bugs near time_t boundaries.  Reject dates with
74330         out-of-range components, e.g., "Sept 31".
74331         Include <stdlib.h>, "setenv.h", "xalloc.h".
74332         (ISDIGIT_LOCALE): Remove; unused.
74333         Note that the TZ and time functions used here are not reentrant.
74334         (mktime_ok, get_tz): New functions.
74335         (TZBUFSIZE): New constant.
74336         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
74337         This requires that we sometimes generate our own TZ="XXX..." setting.
74338
74339 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74340
74341         * doc/getdate.texi: New file, from coreutils with modifications for
74342         the new TZ parsing.
74343
74344 2004-10-27  Derek R. Price  <derek@ximbiot.com>
74345
74346         * lib/mktime.c (not_equal_tm): Remove redundant check.
74347
74348 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74349
74350         * modules/regex (lib_SOURCES): Add regex.c.
74351         Reported by James Youngman in
74352         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
74353
74354 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74355
74356         * lib/getdate.y: Use Bison 1.875 features, and some minor
74357         code cleanups.  This change does not affect semantics.
74358         Don't include <stdlib.h>; no longer needed.
74359         Don't include unlocked-io.h; only the "#if TEST" code uses
74360         stdio, and performance isn't crucial there.
74361         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
74362         Bison 1.875 features as described below.
74363         All uses of "PC." replaced by "pc->".
74364         (YYSTYPE): Add a forward declaration.
74365         (yylex, yyerror): Use full prototypes in forward decls.
74366         Use "%pure-parser" rather than obsolescent "%pure_parser".
74367         Use %parse-param and %lex-param instead of obsolescent
74368         YYPARSE_PARAM and YYLEX_PARAM.
74369         (meridian_table, month_and_day_table, time_units_table,
74370         relative_time_table, time_zone_table, military_table,
74371         lookup_zone, lookup_word, get_date):
74372         Use NULL instead of 0 where appropriate.
74373         (to_hour): Avoid abort (), to avoid a dependency on
74374         stdlib.h.
74375         (yyerror, yylex): Now accepts parser_control * arg.
74376         (main) [TEST]: Use '\0' rather than 0 for char.
74377
74378 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
74379
74380         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
74381
74382 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
74383
74384         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
74385         It's now the caller's responsibility to handle the case where
74386         !HAVE_GETPAGESIZE && !defined getpagesize.
74387
74388         * lib/mktime.c (leapyear): Arg is long int, not int.
74389
74390 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
74391
74392         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
74393
74394 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
74395
74396         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
74397         missing.  Problem reported by James Youngman.
74398
74399 2004-10-16  Simon Josefsson  <jas@extundo.com>
74400
74401         * gnulib-tool: Fix comments.  Fix parse problem.
74402         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
74403
74404 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
74405
74406         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
74407         implementation of getopt_long.  Problem reported by Alexander Taler in:
74408         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
74409
74410 2004-10-15  Bruno Haible  <bruno@clisp.org>
74411
74412         * gnulib-tool: Untabify. Initialize supplied_libname.
74413         (func_usage): More homogenous output.
74414         (func_modules_transitive_closure, func_modules_to_filelist,
74415         func_emit_lib_Makefile_am): New functions.
74416         (func_import): New function, extracted from big case statement. Use
74417         func_get_license, func_modules_transitive_closure,
74418         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
74419         opt_lgpl. Don't use test -a, as it's not portable.
74420         (func_create_testdir): Use func_modules_transitive_closure,
74421         func_modules_to_filelist, func_emit_lib_Makefile_am.
74422
74423 2004-10-15  Bruno Haible  <bruno@clisp.org>
74424
74425         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
74426
74427 2004-10-15  Bruno Haible  <bruno@clisp.org>
74428
74429         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
74430         the portions belonging to each module.
74431         Suggested by Derek Robert Price <derek@ximbiot.com>.
74432
74433 2004-10-12  Simon Josefsson  <jas@extundo.com>
74434
74435         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
74436         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
74437         to real functions.
74438
74439 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74440
74441         * modules/vsnprintf: New file.
74442
74443 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74444
74445         * m4/vsnprintf.m4: New file.
74446
74447 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74448
74449         * lib/vsnprintf.h: New file.
74450         * lib/vsnprintf.c: New file.
74451
74452 2004-10-11  Bruno Haible  <bruno@clisp.org>
74453
74454         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
74455         vsnprintf.
74456
74457 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74458
74459         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
74460
74461 2004-10-07  Bruno Haible  <bruno@clisp.org>
74462
74463         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
74464         fits into the provided buffer.
74465
74466 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74467
74468         * lib/diacrit.c, diacrit.h: Add GPL notice.
74469
74470         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
74471         notice.
74472         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
74473         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
74474         This avoids a potential constant-folding bug.
74475
74476 2004-10-05  Bruno Haible  <bruno@clisp.org>
74477
74478         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
74479         for the declaration of strsep.
74480
74481 2004-10-05  Bruno Haible  <bruno@clisp.org>
74482
74483         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
74484
74485 2004-10-04  Simon Josefsson  <jas@extundo.com>
74486
74487         * modules/memmem: New file.
74488         * tests/test-memmem.c: New file.
74489         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
74490
74491 2004-10-04  Simon Josefsson  <jas@extundo.com>
74492
74493         * m4/memmem.m4: New file.
74494
74495 2004-10-04  Simon Josefsson  <jas@extundo.com>
74496
74497         * lib/memmem.h: New file.
74498         * lib/memmem.c: New file, taken from glibc.
74499
74500 2004-10-04  Simon Josefsson  <jas@extundo.com>
74501
74502         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
74503         '#ifdef USE_UNLOCKED_IO'.
74504
74505 2004-10-04  Simon Josefsson  <jas@extundo.com>
74506
74507         * config/srclist.txt: Add memmem from glibc.
74508
74509 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74510
74511         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
74512
74513         * modules/argmatch, modules/argp, modules/closeout, modules/error,
74514         modules/exclude, modules/getdate, modules/getline,
74515         modules/getndelim2, modules/getpass, modules/getpass-gnu,
74516         modules/getusershell, modules/linebuffer, modules/md5,
74517         modules/mountlist, modules/posixtm, modules/readtokens,
74518         modules/readutmp, modules/regex, modules/sha1,
74519         modules/version-etc, modules/yesno:
74520         Remove dependency on unlocked-io.
74521
74522 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74523
74524         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
74525
74526         * m4/unlocked-io.m4: Add copyright notice.
74527         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
74528
74529 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74530
74531         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
74532         * lib/xmalloc.c (xmemdup): Likewise.
74533         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
74534         XFREE): Remove these long-obsolescent macros.
74535         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
74536         * lib/xstrdup.c: Remove.
74537
74538         * lib/regex.c (re_comp): Cast gettext return value to char *,
74539         Problem reported by Martin Neitzel via Mark D. Baushke.
74540
74541 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74542
74543         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
74544         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
74545         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
74546         regex.c, sha1.c, version-etc.c, yesno.c:
74547         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
74548         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
74549         the includer's responsibility.
74550
74551         Sync from coreutils.
74552
74553         * lib/modechange.c (mode_compile): Don't decrement a pointer that
74554         points to the start of a string, as the C Standard says the
74555         resulting behavior is undefined.
74556
74557         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
74558         simple -> simple_backups, numbered_existing ->
74559         numbered_existing_backups, numbered -> numbered_backups
74560         to avoid shadowing problems.  All uses changed.
74561         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
74562         * lib/backupfile.c (check_extension, numbered_backup):
74563         Rename locals to avoid shadowing 'basename'.
74564         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
74565         once.
74566
74567         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
74568         * lib/.cvsignore: Add getopt.h.
74569
74570 2004-10-04  Bruno Haible  <bruno@clisp.org>
74571
74572         * modules/README: New file.
74573         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
74574         not a module.
74575
74576 2004-10-02  Jim Meyering  <jim@meyering.net>
74577
74578         * lib/dirfd.h, getpagesize.h: Add copyright notice.
74579
74580 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74581
74582         * modules/strsep: New file.
74583
74584 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74585
74586         * m4/strsep.m4: New file.
74587
74588 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74589
74590         * lib/strsep.h: New file.
74591         * lib/strsep.c: New file.
74592
74593 2004-10-01  Simon Josefsson  <jas@extundo.com>
74594
74595         * lib/snprintf.c (snprintf): Handle size==0.
74596
74597 2004-10-01  Simon Josefsson  <jas@extundo.com>
74598             Bruno Haible  <bruno@clisp.org>
74599
74600         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
74601         (snprintf): Declare 'args'.
74602
74603 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
74604
74605         * lib/snprintf.c: Remove comments as to why each header is needed.
74606
74607 2004-10-01  Bruno Haible  <bruno@clisp.org>
74608
74609         * MODULES.html.sh: Add strsep.
74610
74611 2004-09-30  Simon Josefsson  <jas@extundo.com>
74612
74613         * modules/snprintf: New file.
74614
74615 2004-09-30  Simon Josefsson  <jas@extundo.com>
74616
74617         * m4/snprintf.m4: New file.
74618
74619 2004-09-30  Simon Josefsson  <jas@extundo.com>
74620
74621         * lib/snprintf.h, lib/snprintf.c: New files.
74622
74623 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74624
74625         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
74626         (hol_entry_help): Never translate an empty string.
74627         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
74628         * lib/argp.h (OPTION_NO_TRANS): New option.
74629
74630 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74631
74632         * modules/argp (Maintainer): Replace Simon Josefsson
74633         by Sergey Poznyakoff.
74634
74635 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74636
74637         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
74638         changes merged back into glibc.
74639
74640 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74641
74642         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
74643
74644 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
74645
74646         * lib/xvasprintf.c: Include xalloc.h.
74647         (xvasprintf): Use xalloc_die, not xmalloc_die.
74648
74649 2004-09-29  Bruno Haible  <bruno@clisp.org>
74650
74651         * modules/alloca-opt: New file, derived from modules/alloca.
74652         * modules/allocsa: Depend on alloca-opt instead of alloca.
74653         * modules/setenv: Likewise.
74654         * modules/vasnprintf: Likewise.
74655         * MODULES.html.sh: Add alloca-opt.
74656
74657 2004-09-28  Simon Josefsson  <jas@extundo.com>
74658
74659         * gnulib-tool: New parameter --lgpl, to asseert that modules are
74660         LGPL, and to replace license template from GPL to LGPL.
74661
74662 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
74663
74664         * modules/dummy: Change license to LGPL.
74665
74666 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
74667
74668         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
74669
74670 2004-09-24  Simon Josefsson  <jas@extundo.com>
74671
74672         * modules/minmax (License): Change from GPL to LGPL.
74673
74674 2004-09-23  Simon Josefsson  <jas@extundo.com>
74675
74676         * gnulib-tool (--import): Typo.
74677
74678 2004-09-23  Simon Josefsson  <jas@extundo.com>
74679
74680         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
74681
74682 2004-09-22  Bruno Haible  <bruno@clisp.org>
74683
74684         * modules/*: Add 'License' field.
74685         * gnulib-tool: Accept --extract-license option.
74686         (func_get_license): New function.
74687
74688 2004-09-21  Bruno Haible  <bruno@clisp.org>
74689
74690         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
74691         Reported by Simon Josefsson.
74692
74693 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74694
74695         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
74696         gl_AC_TYPE_LONG_LONG.
74697
74698 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74699
74700         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
74701
74702 2004-09-18  Simon Josefsson  <jas@extundo.com>
74703         and  Paul Eggert  <eggert@cs.ucla.edu>
74704
74705         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
74706         calls with autoreconf.  Define GL_LIB.
74707
74708 2004-09-14  Karl Berry  <karl@gnu.org>
74709
74710         * config/srclist.txt: unsync setenv.c, sigh.
74711
74712 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74713
74714         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
74715         Problem reported by Bruno Haible in:
74716         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
74717
74718 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74719
74720         * config/srclist.txt: Comment out argp-pvh.c.
74721
74722 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
74723
74724         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
74725         in case some system header has #define'd it.  Problem reported by
74726         Soeren D. Schulze in
74727         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
74728
74729 2004-09-09  Karl Berry  <karl@gnu.org>
74730
74731         * regex.[ch]: delete from the root.  These were supposed to be
74732                 synced with emacs cvs, but this has not happened for about
74733                 a year, and anyway nothing else uses emacs regex.[ch].
74734                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
74735                 lib/regex[.ch] is untouched.
74736
74737 2004-09-09  Bruno Haible  <bruno@clisp.org>
74738
74739         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
74740
74741 2004-09-09  Bruno Haible  <bruno@clisp.org>
74742
74743         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
74744         modifications.
74745         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
74746
74747 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
74748
74749         * modules/xvasprintf: New file.
74750         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
74751
74752 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
74753
74754         * lib/xvasprintf.h: New file.
74755         * lib/xvasprintf.c: New file.
74756         * lib/xasprintf.c: New file.
74757
74758 2004-09-08  Bruno Haible  <bruno@clisp.org>
74759
74760         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
74761
74762 2004-09-08  Bruno Haible  <bruno@clisp.org>
74763
74764         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
74765         length is > INT_MAX.
74766         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
74767         more.
74768
74769 2004-09-08  Bruno Haible  <bruno@clisp.org>
74770
74771         * lib/stdint_.h: New file, taken from GNU clisp.
74772
74773 2004-09-08  Bruno Haible  <bruno@clisp.org>
74774             Oskar Liljeblad  <oskar@osk.mine.nu>
74775
74776         * modules/stdint: New file.
74777         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
74778
74779 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74780
74781         Import from coreutils.
74782         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
74783         strings on unbounded length.  alloca's performance benefits aren't
74784         that important here.
74785         (V_STRDUP): Remove.
74786         (parse_with_separator): New function, with most of the internals
74787         of the old parse_user_spec.  Allow user to omit both user and group,
74788         for compatibility with FreeBSD.
74789         Clone only the user name, not the entire spec.
74790         Do not set *uid, *gid unless entirely successful.
74791         Avoid memory leak in some failing cases.
74792         Fix regression for USER.GROUP reported by Dmitry V. Levin in
74793         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
74794         (parse_user_spec): Rewrite to use parse_with_separator.
74795
74796 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74797
74798         * modules/userspec: Don't depend on alloca.
74799
74800 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74801
74802         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
74803
74804 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
74805
74806         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
74807         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
74808         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
74809
74810 2004-08-16  Simon Josefsson  <jas@extundo.com>
74811
74812         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
74813         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
74814         Add --dry-run for --import.
74815         Let user provided command line parameters override configure.ac
74816         settings.
74817
74818 2004-08-12  Simon Josefsson  <jas@extundo.com>
74819
74820         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
74821         as discussed with Paul Eggert in threads rooted at
74822         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
74823         and
74824         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
74825         Before, the test was empty, and relied on ELIDE_CODE in source
74826         code.)
74827         (gl_PREREQ_GETOPT): New macro.
74828         (gl_GETOPT): Use them.
74829
74830 2004-08-12  Simon Josefsson  <jas@extundo.com>
74831
74832         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
74833         * lib/getopt_.h: Renamed from getopt.h.
74834
74835 2004-08-12  Simon Josefsson  <jas@extundo.com>
74836
74837         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
74838         Change default library name from libfoo to libgnu.
74839         Now, if you have a configure.ac that says:
74840                 gl_SOURCE_BASE(gl)
74841                 gl_M4_BASE(gl/m4)
74842                 gl_MODULES(error getopt etcetera)
74843                 gl_INIT
74844         you can import all you need by running:
74845                 ../gnulib/gnulib-tool --import
74846
74847         * modules/getopt (Files): Rename getopt.h to getopt_.h.
74848         (Makefile.am): Rewrite, use logic from argz.
74849         (Include): Use <getopt.h> instead of "getopt.h".
74850
74851 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74852
74853         * modules/argp (Files): Add m4/unlocked-io.m4.
74854         (Depends-on): Add extensions.
74855
74856 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74857
74858         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
74859         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
74860         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
74861         Check for program_invocation_name, program_invocation_short_name,
74862         flockfile, funlockfile, features.h, _getopt_long_only_r.
74863
74864 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74865
74866         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
74867         its complicated substitute.
74868         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
74869         and program_invocation_name.
74870         (__argp_basename) [!_LIBC]: Remove; the only use was
74871         replaced by its body.
74872         (__argp_short_program_name): Change condition from
74873         !defined __argp_short_program_name to
74874         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
74875         to match argp-namefrob.h.
74876         (__argp_failure): Don't assume strerror_r returns char *.
74877         * lib/argp-parse.c (N_): Define unconditionally.
74878         (argp_default_options): Fill out initializers with 0 to avoid
74879         gcc warnings.
74880
74881 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74882
74883         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
74884         getopt1.c.
74885
74886 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74887
74888         Merge from coreutils.
74889
74890         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
74891
74892         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
74893         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
74894
74895 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74896
74897         Merge from coreutils.
74898
74899         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
74900         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
74901         for Reliant Unix 5.43.
74902
74903         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
74904         (union fooround): Use uintmax_t, not long int.
74905         The rest is a merge from libc:
74906         [defined _LIBC]: Include <shlib-compat.h>.
74907         (_obstack) [defined _LIBC]: Remove after 2.3.4.
74908
74909         * lib/settime.c (settime): Recode to avoid warning with
74910         Sun Forte C 6U2.
74911
74912         * lib/strverscmp.c: Convert to UTF-8.
74913
74914 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74915
74916         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74917         m4/uintmax_t.m4.
74918
74919 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74920
74921         * modules/xalloc-die: New file.
74922         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
74923
74924         * modules/md5 (Files): Add m4/uint32_t.m4.
74925         * modules/sha1: Renamed from modules/sha.
74926         (Files):
74927         Rename lib/sha.h to lib/sha1.h.
74928         Rename lib/sha.c to lib/sha1.c.
74929         Rename m4/sha.m4 to m4/sha1.m4.
74930         (lib_SOURCES): Likewise.
74931         (configure.ac): Rename gl_SHA to gl_SHA1.
74932         (Include): sha.h -> sha1.h.
74933
74934 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74935
74936         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
74937         * m4/sha1.m4: Renamed from sha.m4.
74938         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
74939
74940 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74941
74942         * lib/obstack.h (obstack_empty_p):
74943         Don't assume that chunk->contents is suitably aligned.
74944         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
74945         Likewise. Problem reported by Benno in
74946         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
74947
74948         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
74949         readable.  This could be improved further but it'd take some work.
74950
74951 2004-08-08  Simon Josefsson  <jas@extundo.com>
74952
74953         * modules/xgethostname (Depends-on): Remove exit and error (not
74954         used).
74955
74956         * modules/getpass-gnu: Add getpass.h.
74957         (Depends-on): Add stdbool.
74958         * modules/getpass: Add getpass.h.
74959
74960 2004-08-08  Simon Josefsson  <jas@extundo.com>
74961
74962         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
74963         Check getpass declaration.
74964
74965 2004-08-08  Simon Josefsson  <jas@extundo.com>
74966
74967         * lib/xgethostname.c: Don't include error.h (not used).
74968
74969         * lib/getpass.h: Add.
74970         * lib/getpass.c: Include getpass.h first.
74971
74972 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
74973
74974         * lib/xalloc-die.c: New file.
74975         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
74976         All uses removed.
74977         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
74978         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
74979         xalloc-die.c.
74980         (_, N_, xalloc_die): Move to xalloc-die.c.
74981         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
74982         so that we needn't mess with xalloc_msg_memory_exhausted.
74983
74984         * lib/sha1.h: Renamed from sha.h.
74985         (SHA1_H): Renamed from _SHA_H.
74986         (sha1_ctx): Renamed from sha_ctx.
74987         (sha1_init_ctx): Renamed from sha_init_ctx.
74988         (sha1_process_block): Renamed from sha_process_block.
74989         (sha1_process_bytes): Renamed from sha_process_bytes.
74990         (sha1_finish_ctx): Renamed from sha_finish_ctx.
74991         (sha1_read_ctx): Renamed from sha_read_ctx.
74992         (sha1_stream): Renamed from sha_stream.
74993         (sha1_buffer): Renamed from sha_buffer.
74994         * lib/sha1.c: Likewise; renamed from sha.c.
74995         Do not include <sys/types.h>.
74996         Include <stddef.h> rather than <stdlib.h>.
74997
74998 2004-08-08  Bruno Haible  <bruno@clisp.org>
74999
75000         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
75001         FILESYSTEM_PREFIX_LEN.
75002         * lib/progreloc.c: Likewise.
75003         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
75004
75005 2004-08-06  Simon Josefsson  <jas@extundo.com>
75006
75007         * modules/progname (Depends-on): Don't depend on stdbool.
75008
75009 2004-08-06  Simon Josefsson  <jas@extundo.com>
75010
75011         * modules/getsubopt: New file.
75012         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75013         getsubopt.
75014
75015 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
75016
75017         More merge from coreutils.
75018
75019         * m4/utimens.m4, m4/utimecmp.m4: New files.
75020         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
75021         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
75022         prereq.m4, sha.m4: Import changes from coreutils.
75023
75024 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
75025
75026         More merge from coreutils.
75027         * modules/raise, modules/readtokens0, modules/utimens:
75028         * modules/utimecmp, module/xnanosleep: New files.
75029         * modules/strftime: Add lib/strftime.h.
75030         Change include from <time.h> to "strftime.h".
75031         * modules/yesno: Add lib/yesno.h.
75032         * modules/backupfile: Remove lib/addext.c.
75033         * modules/euidaccess: Add stat-macros.h.
75034         * modules/canonicalize, modules/euidaccess,
75035         modules/filemode, modules/lchown, modules/makepath,
75036         modules/rmdir, modules/stat: Likewise.
75037
75038 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
75039
75040         Merge from tar.
75041         * lib/argp-help.c (make_hol, hol_append): Don't assume that
75042         SIZE_MAX is a valid preprocessor constant.
75043         (__argp_basename): Change from "#ifndef _LIBC"
75044         to "#ifndef __argp_short_program_name", so that
75045         we don't compile these functions for tar.
75046
75047         More merges from coreutils.
75048         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
75049         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
75050         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
75051         * lib/addext.c: Remove; no longer needed.
75052         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
75053         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
75054         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
75055         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
75056         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
75057         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
75058         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
75059         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
75060         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
75061         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
75062         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
75063         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
75064         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
75065         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
75066         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
75067         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
75068         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
75069         Import changes from coreutils.
75070
75071 2004-08-05  Simon Josefsson  <jas@extundo.com>
75072
75073         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
75074
75075 2004-08-05  Simon Josefsson  <jas@extundo.com>
75076
75077         * m4/getsubopt.m4: New file.
75078
75079 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
75080
75081         Merge from coreutils.
75082
75083         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
75084         * m4/getcwd-path-max.m4: New files.
75085
75086         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
75087         FILESYSTEM_PREFIX_LEN ->
75088         FILE_SYSTEM_PREFIX_LEN.
75089         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
75090         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
75091         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
75092         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
75093
75094         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
75095         prerequisite modules now handle the DOS stuff.
75096         Don't check for unistd.h.
75097
75098 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
75099
75100         Merge from coreutils.
75101
75102         * lib/.gdb-history: Remove; this doesn't belong here.
75103
75104         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
75105         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
75106         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
75107         * lib/getcwd.c: New files.
75108
75109         * lib/dirname.h: Include <stdbool.h>.
75110         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
75111         for consistency with POSIX terminology.  All uses changed.
75112         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
75113         (strip_trailing_slashes): Use bool for booleans.
75114         * lib/stripslash.c (strip_trailing_slashes): Likewise.
75115
75116         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
75117         sometimes returns a positive errno value even when it succeeds.
75118         (print_errno_message) [!LIBC]: Fall back on strerror if
75119         __strerror_r fails.
75120
75121         * lib/path-concat.c (mempcpy): Don't define if a system header defines
75122         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
75123         (longest_relative_suffix): New function.
75124         (path_concat): Use it.  Assume first argument is not NULL.
75125         Port to DOS.  Omit redundant separators.
75126         Report an error instead of returning NULL.
75127         Use mempcpy instead of memcpy.
75128         (xpath_concat): Remove: not declared or used.
75129
75130         * lib/same.h: Include <stdbool.h>
75131         (same_name): Return bool, not int.
75132         * lib/same.c (same_name): Likewise.
75133         (errno): Don't declare; we assume C89 or better now.
75134
75135         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
75136         if not already defined.
75137
75138         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
75139         * lib/dup-safer.c (errno): Likewise.
75140
75141 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
75142
75143         Merge from coreutils.
75144         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
75145         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
75146         * modules/path-concat: Don't depend on strdup.
75147
75148 2004-08-03  Simon Josefsson  <jas@extundo.com>
75149
75150         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
75151         * lib/progname.h: Don't include stdbool.h.
75152
75153 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
75154
75155         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
75156         * MODULES.html.sh (func_all_modules): Remove fatal.
75157
75158 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
75159
75160         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
75161
75162 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
75163
75164         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
75165         working.
75166
75167 2004-08-02  Simon Josefsson  <jas@extundo.com>
75168
75169         * lib/getsubopt.h: New file, with comments from Bruno Haible.
75170         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
75171         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
75172
75173 2004-08-01  Simon Josefsson  <jas@extundo.com>
75174
75175         * lib/xgetdomainname.c: Include stdlib.h, for free().
75176
75177 2004-07-19  Bruno Haible  <bruno@clisp.org>
75178
75179         * MODULES.html.sh (func_all_modules): Add dummy.
75180
75181 2004-07-16  Simon Josefsson  <jas@extundo.com>
75182
75183         * modules/dummy: New file.
75184
75185 2004-07-16  Simon Josefsson  <jas@extundo.com>
75186
75187         * lib/dummy.c: New file.
75188
75189 2004-07-16  Bruno Haible  <bruno@clisp.org>
75190
75191         * lib/backupfile.h: Add extern "C" for C++.
75192         * lib/closeout.h: Likewise.
75193         * lib/copy-file.h: Likewise.
75194         * lib/findprog.h: Likewise.
75195         * lib/full-write.h: Likewise.
75196         * lib/pathname.h: Likewise.
75197         * lib/progname.h: Likewise.
75198         * lib/stpcpy.h: Likewise.
75199         * lib/stpncpy.h: Likewise.
75200         * lib/strcase.h: Likewise.
75201         * lib/strstr.h: Likewise.
75202         * lib/xalloc.h: Likewise.
75203
75204         * lib/mbswidth.h: Add extern "C" for C++.
75205         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
75206
75207 2004-07-13  Robert Millan  <robertmh@gnu.org>
75208
75209         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
75210
75211 2004-07-09  Simon Josefsson  <jas@extundo.com>
75212
75213         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
75214         failed without this.)
75215
75216 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75217
75218         * modules/chown (Files): Add lib/fchown-stub.c, since
75219         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
75220
75221 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75222
75223         * lib/fchown-stub.c: New file.
75224
75225 2004-06-24  Jim Meyering  <jim@meyering.net>
75226
75227         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
75228
75229 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75230
75231         * modules/argz: Omit "#include".
75232
75233         * MODULES.html.sh (func_all_modules): Add calloc, to match
75234         2004-06-01 addition of calloc module.
75235
75236 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75237
75238         * m4/argz.m4: New file, which is autoupdated from libtool.
75239
75240 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75241
75242         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
75243         libtool.
75244
75245 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75246
75247         * config/srclist-update: Don't insist on "USA." before the
75248         close-comment, as libtool omits the period and puts the */ on a
75249         separate line.
75250         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
75251         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
75252
75253 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
75254
75255         * modules/argz: New file.
75256         * MODULES.html.sh (func_all_modules): Add argz.
75257
75258 2004-06-12  Jim Meyering  <jim@meyering.net>
75259         and  Paul Eggert  <eggert@cs.ucla.edu>
75260
75261         * modules/hash (Files): Add lib/xalloc.h.
75262         * modules/pipe (Depends-on): Add wait-process.
75263         * modules/stat (Depends-on): Add xalloc.
75264         * modules/userspec (Files): Add lib/userspec.h.
75265         * modules/xstrto
75266
75267         Upgrade from gettext-0.13.
75268         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
75269         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
75270         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
75271
75272 2004-06-10  Jim Meyering  <jim@meyering.net>
75273
75274         * lib/calloc.c: New file.
75275
75276 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
75277
75278         * lib/getdate.y (yylex): Allow space between sign and number.
75279         Problem reported by Dan Jacobson.
75280
75281 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
75282
75283         Merge from coreutils CVS.
75284
75285         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
75286         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
75287         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
75288         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
75289         xstrtol.m4: Fix copyright date and/or serial number.
75290
75291         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
75292         See if we need an fchown replacement.
75293         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
75294         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
75295         and use the replacement function if we detect either defect.
75296
75297         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
75298         gl_UTIMECMP.
75299
75300 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
75301         and  Jim Meyering  <jim@meyering.net>
75302
75303         Merge from coreutils CVS.
75304
75305         * lib/stat-macros.h: New file, with contents from file-type.h
75306         and coreutils' system.h.
75307         * lib/file-type.c: Include "stat-macros.h".
75308         * lib/file-type.h (file_type): Move all macro definitions to new file,
75309         stat-macros.h.
75310
75311         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
75312         Wrap old code with this conditional.
75313         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
75314         function that does not dereference symlinks.
75315         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
75316
75317         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
75318         dependency problems.
75319         (xreadlink): Accept new arg SIZE, for efficiency.
75320         All decls and uses changed.
75321         * lib/xreadlink.h: Include <stddef.h>, for size_t.
75322
75323         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
75324         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
75325
75326         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
75327         sysexits.h.
75328
75329 2004-06-01  Jim Meyering  <jim@meyering.net>
75330
75331         * m4/calloc.m4: New file.
75332
75333 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
75334
75335         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
75336         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
75337         Also, fix a typo in a diagnostic.
75338
75339 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
75340
75341         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
75342         or AC_FUNC_REALLOC.
75343
75344 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
75345
75346         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
75347         macros to be defined.
75348         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
75349         the allocator returns NULL because the requested size is zero.
75350
75351 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
75352
75353         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
75354         var.  Add comment explaining why libc still defines it.  This
75355         merges the following patch from glibc:
75356         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
75357
75358 2004-05-20  Andreas Schwab  <schwab@suse.de>
75359
75360         * m4/free.m4: Replace free if it not known to work, not the other
75361         way round.
75362
75363 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75364
75365         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
75366         present in glibc since revision 1.1 of this file.
75367         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
75368         obstack_alignment_mask, obstack_alloc, obstack_base,
75369         obstack_blank, obstack_blank_fast, obstack_chunk_size,
75370         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
75371         obstack_grow0, obstack_init, obstack_int_grow,
75372         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
75373         obstack_next_free, obstack_object_size, obstack_ptr_grow,
75374         obstack_ptr_grow_fast, obstack_room): Remove declarations of
75375         nonexistent functions.
75376
75377 2004-05-18  Karl Berry  <karl@gnu.org>
75378
75379         * config/srclist.txt: break link for vasnprintf.c.
75380
75381 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
75382
75383         Port obstack to the AS/400, where pointers are 16 bytes wide and
75384         you cannot cast an integer to a valid pointer.  This patch is
75385         currently waiting to be integrated into glibc; see
75386         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
75387
75388         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
75389         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
75390         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
75391         (struct obstack): temp member is now a union of a pointer and
75392         an integer, instead of an integer.  All integer uses changed.
75393         This does not affect the physical layout of struct obstack,
75394         except on hosts (like the AS/400) where the size or alignment of
75395         void * is greater than that of ptrdiff_t.
75396         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
75397         __STDC__)]: Store temporary in pointer member of union, not
75398         integer member.
75399         * lib/obstack.c: Include <stddef.h>, for offsetof.
75400         (struct fooalign): Remove; it doesn't need a name.
75401         (union fooround): Change double to long double, and add void *.
75402         (DEFAULT_ALIGNMENT): Use offsetof to compute.
75403         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
75404         not a macro.  Hence the values are always int; so remove all
75405         casts-to-int in uses.
75406
75407 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
75408
75409         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
75410         we can get this patch merged into glibc.
75411
75412 2004-05-17  Derek R. Price  <derek@ximbiot.com>
75413             Paul Eggert  <eggert@cs.ucla.edu>
75414
75415         * m4/argp: Depend on alloca.
75416
75417 2004-05-17  Derek R. Price  <derek@ximbiot.com>
75418             Paul Eggert  <eggert@cs.ucla.edu>
75419
75420         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
75421         freecoding.
75422
75423 2004-05-17  Bruno Haible  <bruno@clisp.org>
75424
75425         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
75426         precision that consists of a '.' followed by an empty digit string.
75427         Patch by Tor Lillqvist <tml@iki.fi>.
75428
75429 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
75430
75431         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
75432         for backward compatibility with older code.  We need our own
75433         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
75434         it under some other name, and our alloca.h will define it.
75435
75436 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
75437             Derek Price  <derek@ximbiot.com>
75438
75439         * lib/alloca.c: Include <alloca.h>, to get our interface.
75440         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
75441         include <alloca.h> first.  Use C89 prototype for alloca; this
75442         requires including <stddef.h> for size_t.  Use extern "C" if C++.
75443         Use #elif for simplicity, since we can assume C89 now.
75444         Don't try to source the system alloca.h since it will not be found
75445         and to prevent recursively including its replacement.
75446         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
75447         * lib/regex.c: Likewise.
75448
75449 2004-05-16  Derek Price  <derek@ximbiot.com>
75450             Paul Eggert  <eggert@cs.ucla.edu>
75451
75452         getline cleanup.  This changes the getndelim2 API: both order of
75453         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
75454         no delimiter).
75455
75456         * lib/getline.c: Don't include stddef.h or stdio.h, since our
75457         interface does that.
75458         (getline): Always use getdelim, so that we don't have two
75459         copies of this code.
75460         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
75461         if available.
75462         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
75463         (GETNDELIM2_MAXIMUM): New macro.
75464         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
75465         instead of the old practice of delim2==0.  All callers changed.
75466         Return -1 on overflow, instead of returning junk.
75467         Do not set *linesize unless allocation succeeds.
75468         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
75469         that we include sys/types.h.
75470         * lib/getnline.h: Likewise.
75471         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
75472         (getndelim2): Reorder arguments.
75473         * lib/getnline.c (getnline, getndelim):
75474         Don't discard the NMAX argument.
75475         (getnline): Invoke getndelim, to avoid code duplication.
75476         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
75477         of (size_t) -1 by callers of the getnline family.
75478
75479 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
75480
75481         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
75482         Check for gettimeofday.
75483         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
75484         Check for settimeofday, stime.
75485
75486 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
75487
75488         * lib/nanosleep.c (suspended): Change its type from int to
75489         sig_atomic_t volatile.
75490         (first_call): Make it private to rpl_nanosleep, and have it
75491         be zero initially as that's a bit faster.
75492         (my_usleep): Round up fractional times instead of truncating them,
75493         as this is the usual meaning for 'sleep'.
75494
75495         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
75496         doesn't work.
75497         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
75498         (ENOSYS): Define if not defined.
75499         (settime): Fall back on stime if it exists and settimeofday fails.
75500         But don't bother with fallbacks if a method fails with errno == EPERM.
75501
75502 2004-05-11  Jim Meyering  <jim@meyering.net>
75503
75504         Prior to this change, the save_cwd caller required read access to the
75505         current directory on most systems (ones with the fchdir function).
75506
75507         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
75508         fails, try write-only, and finally, resort to using xgetcwd.
75509
75510 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
75511
75512         * lib/obstack.c, obstack.h: Import changes from libc.
75513
75514 2004-04-28  Bruno Haible  <bruno@clisp.org>
75515
75516         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
75517         also implicitly appends .exe to executables.
75518         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
75519         accepts Windows pathnames.
75520         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
75521         Treat Cygwin like Windows, since it now accepts Windows pathnames.
75522         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
75523         Treat Cygwin like Windows, since it now accepts Windows pathnames.
75524         Reported by Derek Robert Price <derek@ximbiot.com>.
75525
75526 2004-04-21  Karl Berry  <karl@gnu.org>
75527
75528         * config/srclist.txt (localcharset.c): break sync.
75529
75530 2004-04-20  Paul Eggert  <eggert@twinsun.com>
75531
75532         * m4/host-os.m4: Add a copyright notice.
75533
75534 2004-04-20  Jim Meyering  <jim@meyering.net>
75535
75536         Change UTILS_ to gl_ in AC_DEFINE'd names.
75537         Change utils_- and jm_-prefixed variables, too.
75538         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
75539         UTILS_FUNC_MKDIR_TRAILING_SLASH.
75540         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
75541
75542         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
75543         Don't emit trailing blanks.
75544         Also rename jm_-prefixed variables to have gl_ prefix.
75545
75546         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
75547         Also rename jm_-prefixed variables to have gl_ prefix.
75548
75549         * m4/jm-macros.m4: Reflect the renamings.
75550         * m4/prereq.m4: Likewise.
75551
75552 2004-04-20  Jim Meyering  <jim@meyering.net>
75553
75554         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
75555         memory.
75556
75557 2004-04-20  Jim Meyering  <jim@meyering.net>
75558             Bruno Haible  <bruno@clisp.org>
75559
75560         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
75561         memory when realloc fails.
75562
75563 2004-04-19  Jim Meyering  <jim@meyering.net>
75564
75565         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
75566         now that readutmp.c may call `free (0)'.
75567
75568 2004-04-19  Bruno Haible  <bruno@clisp.org>
75569
75570         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
75571         * m4/inttypes_h.m4: Likewise.
75572         * m4/stdint_h.m4: Likewise.
75573         * m4/intmax_t.m4: Likewise.
75574         * m4/uintmax_t.m4: Likewise.
75575
75576 2004-04-18  Jim Meyering  <jim@meyering.net>
75577
75578         * m4/prereq.m4: Don't forbid jm_ prefix.
75579
75580         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
75581         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
75582         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
75583         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
75584         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
75585         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
75586         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
75587         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
75588         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
75589         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
75590         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
75591         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
75592         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
75593         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
75594         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
75595         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
75596         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
75597         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
75598         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
75599
75600 2004-04-18  Jim Meyering  <jim@meyering.net>
75601
75602         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
75603         failure, don't leak memory and do call END_UTMP_ENT.
75604
75605 2004-04-16  Jim Meyering  <jim@meyering.net>
75606
75607         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
75608         coreutils' stat program.
75609         (gl_PREREQ): Don't require jm_PREREQ_STAT.
75610
75611 2004-04-11  Paul Eggert  <eggert@twinsun.com>
75612
75613         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
75614         C89.
75615         (CHAR_BIT): Remove, since we assume C89.
75616         Include <stdint.h> if available, as per current Autoconf CVS advice.
75617
75618 2004-03-31  Jim Meyering  <jim@meyering.net>
75619
75620         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
75621         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
75622         * m4/xalloc.m4: Likewise.
75623
75624 2004-03-30  Paul Eggert  <eggert@twinsun.com>
75625
75626         Merge from coreutils.
75627
75628         * m4/inttostr.m4: New file.
75629         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
75630         Require AM_STDBOOL_H and gl_TIMESPEC instead.
75631         Require gl_CLOCK_TIME.
75632         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
75633
75634 2004-03-30  Paul Eggert  <eggert@twinsun.com>
75635
75636         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
75637         not bool, to be more consistent with Unix conventions.
75638         Suggested by Bruno Haible.
75639
75640         Merge from coreutils.
75641
75642         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
75643         * lib/umaxtostr.c: New files.
75644
75645         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
75646         the usual <time.h> dance.
75647         (get_date): Change signature to support fractional time stamps.
75648         All callers changed.
75649         * lib/getdate.y: Include "getdate.h" first, as we can now
75650         assume C89 and don't need to worry about 'const'.
75651         Similarly, include "unlocked-io.h" near start, not in middle.
75652         Include <limits.h>.
75653         (textint.value): Use long int rather than int.
75654         (textint.digits): Use size_t rather than int.
75655         (BILLION, LOG10_BILLION): New constants.
75656         (parser_control): New member rel_ns.  Members day_ordinal,
75657         time_zone, month, day, hour, minutes, rel_year, rel_month,
75658         rel_day, rel_hour, rel_minutes, rel_seconds
75659         are now long int, not int.  Member seconds is now struct timespec,
75660         not int.  New member timespec_seen.  Members dates_seen, days_seen,
75661         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
75662         not int.
75663         (%union.intval): Now long int, not int.
75664         New member timespec.
75665         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
75666         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
75667         (spec): Now is a timespec or an item list.
75668         (timespec, items): New nonterminals.
75669         (time, rel, relunit, number, get_date):
75670         Add support for fractional seconds.
75671         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
75672         (gmtime, localtime, mktime): Remove decls; not needed with C89.
75673         (to_hour): First arg is now long int, not int.
75674         (to_year): Returns long int, not int.
75675         Don't treat year -70 like 70.
75676         (tm_diff): Returns long int, not int.
75677         (lookup_word): Use bool instead of int when appropriate.
75678         (yylex): Use size_t for count, not int.
75679         Detect overflow when parsing large integer constants.
75680         Add support for fractions.
75681         (get_date): Make pointers 'const' if possible.
75682         Use more-portable code to detect integer overflow.
75683         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
75684         Don't use ctime; it's not reliable if the year has >4 digits.
75685
75686         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
75687         This is for compatibility with BSD.
75688
75689         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
75690         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
75691         From coreutils' system.h.
75692
75693         * lib/userspec.c: Don't include "posixver.h".
75694         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
75695         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
75696         compatible extension.  Simplify code by removing a boolean int
75697         that was always nonzero if a string was nonnull.
75698
75699 2004-03-30  Jim Meyering  <jim@meyering.net>
75700
75701         Merge from coreutils.
75702
75703         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
75704         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
75705         on some systems one must include <grp.h> before it.
75706         Reported by Christian Krackowizer.
75707
75708 2004-03-30  Jim Meyering  <jim@meyering.net>
75709
75710         Merge from coreutils.
75711
75712         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
75713
75714         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
75715         an empty input stream.
75716
75717         * lib/readtokens.c: Include <stdbool.h>.
75718         (readtoken): Use `size_t' rather than int/long.
75719         All callers adjusted.
75720         Use `bool' rather than `int' where appropriate.
75721         Use memset rather than an explicit loop.
75722         Use x2nrealloc rather than xrealloc.
75723         Allow the use of `\0' as a delimiter.
75724         (readtokens): Likewise.
75725         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
75726
75727 2004-03-30  Jim Meyering  <jim@meyering.net>
75728
75729         * m4/realloc.m4: Remove file, since now it does no more than
75730         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
75731         the `configure.ac' section of module/realloc.
75732         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
75733
75734 2004-03-30  Bruno Haible  <bruno@clisp.org>
75735
75736         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
75737         nonnull.
75738
75739 2004-03-29  Paul Eggert  <eggert@twinsun.com>
75740
75741         Merge changes to getloadavg.c from coreutils and Emacs.
75742
75743         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
75744         Define to an expression, not to the empty string.
75745         Include cloexec.h and xalloc.h.
75746         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
75747         Use set_cloexec_flag rather than rolling our own.
75748         * lib/cloexec.c, lib/cloexec.h: New files.
75749
75750 2004-03-29  Paul Eggert  <eggert@twinsun.com>
75751
75752         * m4/cloexec.m4: New file.
75753
75754 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75755
75756         * lib/getopt.h: Sync with libc CVS.
75757
75758 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75759             Bruno Haible  <bruno@clisp.org>
75760
75761         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
75762         mbswidth.
75763
75764 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75765             Bruno Haible  <bruno@clisp.org>
75766
75767         * lib/mbswidth.h: Include <wchar.h> only if
75768         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
75769         <wchar.h>.
75770         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
75771
75772 2004-03-09  Paul Eggert  <eggert@twinsun.com>
75773
75774         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
75775         Sync with libc CVS.
75776         * lib/getopt_int.h: New file, also synced from libc.
75777
75778 2004-03-09  Paul Eggert  <eggert@twinsun.com>
75779
75780         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
75781         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
75782         Bring back getopt.c, getopt.h, getopt1.c.
75783
75784 2004-03-07  Paul Eggert  <eggert@twinsun.com>
75785
75786         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
75787         All uses changed.  Check for sa_sigaction member; this fixes
75788         a bug first reported by Jason Andrade in
75789         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
75790
75791 2004-03-07  Paul Eggert  <eggert@twinsun.com>
75792
75793         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
75794         '#if' expressions.  Unlike the code it replaces, it does not
75795         depend on (defined _SC_PAGESIZE).  However, it does depend on
75796         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
75797         first reported by Jason Andrade in
75798         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
75799
75800 2004-02-25  Simon Josefsson  <jas@extundo.com>
75801
75802         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
75803
75804 2004-02-25  Simon Josefsson  <jas@extundo.com>
75805
75806         * lib/strdup.h: New file.
75807         * lib/strdup.c: Include it.
75808         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
75809         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
75810
75811 2004-02-23  Karl Berry  <karl@gnu.org>
75812
75813         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
75814         (from fencepost.gnu.org:/gd/gnuorg).
75815
75816 2004-02-23  Karl Berry  <karl@gnu.org>
75817
75818         * config/srclistvars.sh (GNUORG) [karl]: redefine.
75819         * config/srclist.txt: add maintain/standards documents.
75820
75821 2004-02-18  Bruno Haible  <bruno@clisp.org>
75822
75823         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
75824         Reported by Derek Robert Price <derek@ximbiot.com>.
75825
75826 2004-02-16  Karl Berry  <karl@gnu.org>
75827
75828         * config/mkinstalldirs, install-sh: update from automake.
75829
75830 2004-02-06  Karl Berry  <karl@gnu.org>
75831
75832         * m4/po.m4: update from gettext 0.14.1.
75833
75834 2004-02-06  Karl Berry  <karl@gnu.org>
75835
75836         * lib/config.charset: update from gettext 0.14.1.
75837
75838 2004-02-05  Paul Eggert  <eggert@twinsun.com>
75839
75840         Add comments and code, prompted by suggestions from Bruno Haible
75841         for sh-quote.
75842         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
75843         describing the enum quoting_style values.
75844         * lib/quotearg.c (quotearg_alloc): New function.
75845         (quotearg_buffer_restyled): Treat lone { and } as special.
75846         Treat = as special.  Work around bug with older shells
75847         that "see" a '\' that is really the 2nd byte of a multibyte char.
75848         Quote empty string with shell_quoting_style.
75849
75850 2004-02-03  Bruno Haible  <bruno@clisp.org>
75851
75852         * m4/pipe.m4: New file, from GNU gettext.
75853
75854 2004-02-03  Bruno Haible  <bruno@clisp.org>
75855
75856         * lib/pipe.h: New file, from GNU gettext.
75857         * lib/pipe.c: New file, from GNU gettext.
75858
75859 2004-01-27  Bruno Haible  <bruno@clisp.org>
75860
75861         * m4/execute.m4: New file, from GNU gettext.
75862
75863 2004-01-27  Bruno Haible  <bruno@clisp.org>
75864
75865         * lib/execute.h: New file, from GNU gettext.
75866         * lib/execute.c: New file, from GNU gettext.
75867         * lib/w32spawn.h: New file, from GNU gettext.
75868
75869 2004-01-24  Paul Eggert  <eggert@twinsun.com>
75870
75871         Merge from diffutils.
75872
75873         * lib/file-type.c (file_type): Add typed memory objects.
75874         * lib/file-type.h (S_TYPEISTMO): New macro.
75875
75876         * lib/c-stack.h (c_stack_action): Remove argv argument.
75877         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
75878         (die): Don't calculate message unless segv_action returns.
75879         (get_stack_location, min_address_from_argv, max_address_from_argv,
75880         volatile stack_base, volatile_stack_size): Remove.
75881         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
75882         that every segmentation violation is a stack overflow.  (Ouch!)
75883         See Debian bug 136249 (still outstanding) for more info about why
75884         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
75885
75886 2004-01-24  Paul Eggert  <eggert@twinsun.com>
75887
75888         Exit-status fix from coreutils.
75889
75890         Use exit_failure consistently in place of EXIT_FAILURE,
75891         so that program exit statuses are consistent on failure.
75892
75893         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
75894         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
75895         * lib/argmatch.h: Comment fix to match the above.
75896         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
75897         Now a macro referring to exit_failure, instead of a separate
75898         variable.  Include "exitfail.h" to get it.
75899         * lib/xstrtol.h: Include "exitfail.h".
75900         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
75901
75902         * lib/long-options.c (parse_long_options): Use prototype
75903         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
75904         for clarity.
75905
75906 2004-01-21  Jim Meyering  <jim@meyering.net>
75907
75908         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
75909         so as not to conflict with a different-sized __mktime_internal
75910         function in GNU libc.
75911         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
75912         Problem building statically-linked `ls' reported by Michael Brunnbauer.
75913
75914 2004-01-20  Karl Berry  <karl@gnu.org>
75915
75916         * config/config.guess: update from config.
75917
75918         * config/srclistvars.sh: GNUWWWLICENSES for karl.
75919
75920 2004-01-20  Bruno Haible  <bruno@clisp.org>
75921
75922         Safer stack allocation.
75923         * lib/setenv.c: Include allocsa.h.
75924         (alloca): Remove fallback definition.
75925         (freea): Remove macro.
75926         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
75927         instead of freea.
75928
75929 2004-01-20  Bruno Haible  <bruno@clisp.org>
75930
75931         * m4/eealloc.m4: New file, from GNU gettext.
75932
75933 2004-01-20  Bruno Haible  <bruno@clisp.org>
75934
75935         * m4/allocsa.m4: New file, from GNU gettext.
75936
75937 2004-01-20  Bruno Haible  <bruno@clisp.org>
75938
75939         * lib/xallocsa.h: New file, from GNU gettext.
75940         * lib/xallocsa.c: New file, from GNU gettext.
75941
75942 2004-01-20  Bruno Haible  <bruno@clisp.org>
75943
75944         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
75945
75946 2004-01-20  Bruno Haible  <bruno@clisp.org>
75947
75948         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
75949         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
75950         specially.
75951
75952 2004-01-20  Bruno Haible  <bruno@clisp.org>
75953
75954         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
75955         patch.
75956
75957 2004-01-20  Bruno Haible  <bruno@clisp.org>
75958
75959         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
75960
75961 2004-01-20  Bruno Haible  <bruno@clisp.org>
75962
75963         * lib/eealloc.h: New file.
75964
75965 2004-01-20  Bruno Haible  <bruno@clisp.org>
75966
75967         * lib/binary-io.h: Avoid warnings on Cygwin.
75968
75969 2004-01-20  Bruno Haible  <bruno@clisp.org>
75970
75971         * lib/allocsa.h: New file, from GNU gettext.
75972         * lib/allocsa.c: New file, from GNU gettext.
75973
75974 2004-01-18  Karl Berry  <karl@gnu.org>
75975
75976         * doc/gpl.texi, doc/lgpl.texi: new files.
75977
75978 2004-01-18  Karl Berry  <karl@gnu.org>
75979
75980         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
75981         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
75982
75983 2004-01-15  Paul Eggert  <eggert@twinsun.com>
75984
75985         Merge from coreutils.
75986
75987         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
75988         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
75989         (gl_DEFAULT_POSIX2_VERSION): Move
75990         the documentation from 'configure' into 'config.hin',
75991         so that 'configure --help' isn't burdened by it and
75992         we don't have to worry about its formatting there.
75993         Reword the documentation so that it's more succinct
75994         and can be run together into a single paragraph.
75995         * m4/same.m4 (gl_SAME): Check for pathconf.
75996
75997 2004-01-15  Paul Eggert  <eggert@twinsun.com>
75998
75999         Merge from coreutils.
76000
76001         * lib/posixver.c: Include posixver.h.
76002
76003         * lib/same.c: Include <stdbool.h>, <limits.h>.
76004         (_POSIX_NAME_MAX): Define if not defined.
76005         (MIN): New macro.
76006         (same_name): If file names are silently truncated, report
76007         that the file names are the same if they are the same after
76008         the silent truncation.
76009
76010         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
76011         conversion function.
76012         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
76013         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
76014         longer needed.
76015
76016 2004-01-15  Jim Meyering  <jim@meyering.net>
76017
76018         Merge from coreutils.
76019
76020         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
76021         if no library is required.
76022         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
76023         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
76024         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
76025         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
76026         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
76027         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
76028         value, $ac_cv_search_crypt, if it's "none required".
76029         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
76030         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
76031         not gl_FUNC_GETLOADAVG.
76032         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
76033         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
76034
76035 2004-01-15  Jim Meyering  <jim@meyering.net>
76036
76037         Merge from coreutils.
76038
76039         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
76040         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
76041         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
76042
76043         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
76044         optional configure-time default.
76045
76046         * lib/version-etc.c (version_etc_copyright): Update copyright date.
76047
76048         * lib/xreadlink.c (xreadlink): Correct outdated comment.
76049
76050 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
76051
76052         Merge from coreutils.
76053
76054         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
76055         value, $ac_cv_search_nanosleep, if it's "none required".
76056
76057 2004-01-14  Paul Eggert  <eggert@twinsun.com>
76058
76059         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
76060         with like-named macro in fnmatch.c.
76061         (EXT): Use an internal constant instead.
76062
76063         Merge fnmatch patches from glibc.
76064         * lib/fnmatch.c (mbsinit): Remove define.
76065         Add libc_hidden_ver (__fnmatch, fnmatch).
76066         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
76067         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
76068
76069 2004-01-14  Karl Berry  <karl@gnu.org>
76070
76071         * config/install-sh: update from automake.
76072
76073 2004-01-13  Karl Berry  <karl@gnu.org>
76074
76075         * config/install-sh: update from automake.
76076
76077 2004-01-09  Karl Berry  <karl@gnu.org>
76078
76079         * config/install-sh: update from automake.
76080
76081 2004-01-05  Karl Berry  <karl@gnu.org>
76082
76083         * config/config.{sub,guess}: update from config.
76084
76085 2003-12-31  Karl Berry  <karl@gnu.org>
76086
76087         * config/depcomp: update from automake.
76088
76089 2003-12-14  Karl Berry  <karl@gnu.org>
76090
76091         * lib/config.charset: update from gettext-runtime.
76092
76093 2003-12-03  Paul Eggert  <eggert@twinsun.com>
76094
76095         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
76096         Bug reported by Alfred M. Szmidt.
76097
76098 2003-12-03  Bruno Haible  <bruno@clisp.org>
76099
76100         * m4/gettext.m4: Upgrade from gettext-0.13.
76101         * m4/po.m4: Upgrade from gettext-0.13.
76102         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
76103         * m4/intmax.m4: New file, from gettext-0.13.
76104         * m4/printf-posix.m4: New file, from gettext-0.13.
76105
76106 2003-11-29  Karl Berry  <karl@gnu.org>
76107
76108         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
76109
76110 2003-11-25  Paul Eggert  <eggert@twinsun.com>
76111             Bruno Haible  <bruno@clisp.org>
76112
76113         * lib/printf-parse.h: Don't include sys/types.h.
76114         (ARG_NONE): New macro.
76115         (char_directive): Change type of *arg_index fields to size_t.
76116         * lib/printf-parse.c: Don't include sys/types.h.
76117         (SSIZE_MAX): Remove macro.
76118         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
76119         Remove unnecessary overflow check.
76120         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
76121         fields.
76122
76123 2003-11-25  Bruno Haible  <bruno@clisp.org>
76124
76125         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
76126
76127 2003-11-25  Bruno Haible  <bruno@clisp.org>
76128
76129         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
76130         gt_TYPE_SSIZE_T.
76131
76132 2003-11-24  Paul Eggert  <eggert@twinsun.com>
76133
76134         * modules/alloca: Remove dependency on xalloc.
76135
76136 2003-11-24  Paul Eggert  <eggert@twinsun.com>
76137
76138         * lib/alloca.c: Remove dependency on xalloc module.
76139         (xalloc_die): Remove.
76140         (memory_full) [!defined emacs]: New macro.
76141         [!defined emacs]: Don't include xalloc.h.
76142         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
76143         address arithmetic overflows.  Change datatypes a bit to avoid
76144         unnecessary casts.
76145
76146 2003-11-22  Jim Meyering  <jim@meyering.net>
76147
76148         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
76149         s/size/size_t/.
76150
76151 2003-11-21  Karl Berry  <karl@gnu.org>
76152
76153         * config/config.{sub,guess}: update from config.
76154
76155 2003-11-18  Karl Berry  <karl@gnu.org>
76156
76157         * config/config.{sub,guess}: update from config.
76158
76159         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
76160
76161 2003-11-17  Paul Eggert  <eggert@twinsun.com>
76162
76163         * README: Mention that S+T cannot overflow if S is the size of
76164         an existing object and T is sufficiently small.
76165
76166 2003-11-17  Jim Meyering  <jim@meyering.net>
76167
76168         On systems without utime and without a utimes function capable of
76169         dealing with a NULL struct utimbuf* argument, this utime replacement
76170         could -- in unusual circumstances -- leak a file descriptor.
76171         * lib/utime.c: Include <unistd.h> and <errno.h>.
76172         (utime_null): Be sure to close `fd' and to preserve errno.
76173         Reported by Geoff Collyer via Arnold Robbins.
76174
76175 2003-11-17  Bruno Haible  <bruno@clisp.org>
76176
76177         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
76178         (Depends-on): Add xsize.
76179
76180 2003-11-17  Bruno Haible  <bruno@clisp.org>
76181
76182         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
76183
76184 2003-11-17  Bruno Haible  <bruno@clisp.org>
76185
76186         * lib/vasnprintf.c (alloca): Remove fallback definition.
76187         (freea): Remove definition.
76188         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
76189         Reported by Paul Eggert.
76190
76191 2003-11-16  Paul Eggert  <eggert@twinsun.com>
76192             Bruno Haible  <bruno@clisp.org>
76193
76194         Protect against address arithmetic overflow.
76195         * lib/printf-args.h: Include stddef.h.
76196         (arguments): Change type of field 'count' to size_t.
76197         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
76198         'unsigned int' where appropriate.
76199         * lib/printf-parse.h: Include sys/types.h.
76200         (char_directive): Change type of *arg_index fields to ssize_t.
76201         (char_directives): Change type of fields 'count', max_*_length to
76202         size_t.
76203         * lib/printf-parse.c: Include sys/types.h and xsize.h.
76204         (SSIZE_MAX): Define fallback value.
76205         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
76206         instead of 'int' where appropriate. Check a_allocated, d_allocated
76207         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
76208         * lib/vasnprintf.c: Include xsize.h.
76209         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
76210         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
76211         overflow. Avoid wraparound when converting a width or precision from
76212         decimal to binary.
76213
76214 2003-11-16  Bruno Haible  <bruno@clisp.org>
76215
76216         Update from GNU gettext.
76217         * lib/printf-parse.c: Generalize to it can be compiled for wide
76218         strings.
76219         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
76220         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
76221         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
76222         SNPRINTF): New macros.
76223         Don't include <alloca.h> if the file is used inside libintl.
76224         (local_wcslen): New function, for Solaris 2.5.1.
76225         (VASNPRINTF): Use it instead of wcslen.
76226
76227 2003-11-16  Bruno Haible  <bruno@clisp.org>
76228
76229         * lib/xsize.h (xmax): New function.
76230         (xsum, xsum3, xsum4): Declare as "pure" functions.
76231
76232 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76233
76234         * modules/xalloc (Files): Undo latest change, since xalloc.h
76235         no longer needs SIZE_MAX or PTRDIFF_MAX.
76236
76237 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76238
76239         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
76240         gl_PTRDIFF_MAX.
76241
76242 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76243
76244         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
76245         "return", to pacify some unknown compiler.  Problem reported
76246         by Joerg Schilling.
76247
76248 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76249
76250         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
76251         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
76252         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
76253         heuristic is just as accurate as far as we know, and it removes a
76254         dependency on size_max.m4 and ptrdiff_max.m4.
76255
76256 2003-11-11  Bruno Haible  <bruno@clisp.org>
76257
76258         * modules/xsize (Files): Add m4/size_max.m4.
76259         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
76260
76261 2003-11-11  Bruno Haible  <bruno@clisp.org>
76262
76263         * m4/size_max.m4: New file.
76264         * m4/ptrdiff_max.m4: New file.
76265         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
76266         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
76267         (gl_XALLOC): Invoke it.
76268
76269 2003-11-11  Bruno Haible  <bruno@clisp.org>
76270
76271         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
76272         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
76273         defined.
76274
76275 2003-11-10  Paul Eggert  <eggert@twinsun.com>
76276
76277         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
76278         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
76279         rejected some allocations of exactly SIZE_MAX - 2 bytes.
76280         From Bruno Haible.
76281         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
76282         not (size_t) -1, since it's defined here.
76283
76284 2003-11-09  Karl Berry  <karl@gnu.org>
76285
76286         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
76287
76288 2003-11-06  Paul Eggert  <eggert@twinsun.com>
76289
76290         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
76291         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
76292         Reject sizes of exactly SIZE_MAX bytes.
76293         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
76294         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
76295
76296 2003-11-05  Bruno Haible  <bruno@clisp.org>
76297
76298         * lib/xsize.h: Include limits.h, to avoid a possible collision with
76299         SIZE_MAX defined in <limits.h> on Solaris.
76300
76301 2003-11-04  Jim Meyering  <jim@meyering.net>
76302
76303         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
76304         variable names, rather than @VAR@.
76305         * modules/poll: Likewise.
76306
76307 2003-11-04  Bruno Haible  <bruno@clisp.org>
76308
76309         * modules/xsize: New file.
76310         * modules/linebreak: Depend on xsize.
76311         * MODULES.html.sh (func_all_modules): Add xsize.
76312
76313 2003-11-04  Bruno Haible  <bruno@clisp.org>
76314
76315         * m4/xsize.m4: New file.
76316
76317 2003-11-04  Bruno Haible  <bruno@clisp.org>
76318
76319         * lib/xsize.h: New file.
76320         * lib/linebreak.c: Include xsize.h.
76321         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
76322         argument for overflow.
76323         Suggested by Paul Eggert.
76324
76325 2003-11-03  Karl Berry  <karl@gnu.org>
76326
76327         * config/config.{guess,sub}: update from config.
76328
76329 2003-11-03  Jim Meyering  <jim@meyering.net>
76330
76331         * modules/userspec (lib_SOURCES): Add userspec.h.
76332         (Include): Add "userspec.h".
76333         Improve description.
76334
76335 2003-11-03  Jim Meyering  <jim@meyering.net>
76336
76337         * lib/userspec.c: Include "userspec.h".
76338         * lib/userspec.h: New file.
76339
76340 2003-11-03  Bruno Haible  <bruno@clisp.org>
76341
76342         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
76343
76344 2003-11-03  Bruno Haible  <bruno@clisp.org>
76345
76346         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
76347         available, to avoid (extremely rare) race condition.
76348         Suggested by Paul Eggert.
76349
76350 2003-11-02  Karl Berry  <karl@gnu.org>
76351
76352         * config/srclist.txt (vasprintf.c): sync broken, sigh.
76353
76354 2003-10-31  Paul Eggert  <eggert@twinsun.com>
76355
76356         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
76357         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
76358         (read_filesystem_list): Set and use me_type_malloced.
76359         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
76360         whatever the type happens to be), for brevity and consistency.
76361         Check for size calculation overflow on Alphas running OSF/1.
76362
76363 2003-10-31  Jim Meyering  <jim@meyering.net>
76364
76365         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
76366
76367         * lib/linebuffer.c: Include <string.h> for declaration of memset.
76368
76369 2003-10-30  Paul Eggert  <eggert@twinsun.com>
76370             Bruno Haible  <bruno@clisp.org>
76371
76372         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
76373         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
76374
76375 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76376
76377         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
76378         netbsd*-gnu*.  Suggested by Robert Millan.
76379
76380 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76381
76382         * modules/group-member: Depend on stdbool.
76383
76384 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76385
76386         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
76387
76388 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76389
76390         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
76391         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
76392         after the 'gnu' in these cases.  This fixes some bugs in the
76393         previous change, and is based on suggestions by Robert Millan.
76394
76395 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76396
76397         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
76398         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
76399         no longer needed.
76400         * lib/quotearg.c (quotearg_n_options): Use it.
76401         * lib/group-member.c: Include <stdbool.h>.
76402         (free_group_info): Arg is now const *; don't free arg.
76403         (get_group_info): Now returns bool and accepts struct group_info *,
76404         rather than returning a malloc'ed struct group_info *.
76405         All uses changed.  Check for overflow in internal size calculation.
76406
76407         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
76408         rather than xmalloc/xrealloc.
76409         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
76410         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
76411         conformance bug: the old code used a pointer after freeing the
76412         storage that it addressed.
76413         * lib/hash.c (hash_initialize): Simplify the code by using
76414         xalloc_oversized rather than doing it by hand.
76415         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
76416         the buffer preserved.  Use free and xmalloc instead.
76417         * lib/quotearg.c (quotearg_n_options): Likewise.
76418         Use a simpler test for size overflow.  Don't use xalloc_oversized
76419         because unsigned int might be wider than size_t (!); this suggests
76420         that we should switch from unsigned int to size_t for slot numbers.
76421
76422 2003-10-28  Paul Eggert  <eggert@twinsun.com>
76423
76424         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
76425         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
76426         NetBSD kernels.  Requested by Richard Stallman.
76427
76428 2003-10-27  Paul Eggert  <eggert@twinsun.com>
76429
76430         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
76431         to allocate the returned structure.  Do not allocate a subarray,
76432         as x2nrealloc will do that.
76433         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
76434         instead of xnrealloc.
76435         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
76436
76437 2003-10-27  Bruno Haible  <bruno@clisp.org>
76438
76439         * lib/stdbool_.h: Better support for BeOS.
76440
76441 2003-10-26  Paul Eggert  <eggert@twinsun.com>
76442
76443         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
76444         now uses inline.
76445
76446 2003-10-26  Paul Eggert  <eggert@twinsun.com>
76447
76448         * lib/xalloc.h (xalloc_oversized): New static inline function, for
76449         callers that want to do their own size-overflow checking.  Include
76450         <stdbool.h>, since xalloc_oversized returns bool.
76451         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
76452         to use xalloc_oversized.
76453
76454         Add two functions x2realloc, x2nrealloc, for programs that grow
76455         arrays dynamically by doubling their sizes.
76456         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
76457         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
76458         New functions.
76459
76460         Port to C99 semantics for 'inline' of external functions.
76461         Bug reported by Bruno Haible.
76462         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
76463         with the old contents of xnmalloc.
76464         (xnmalloc, xmalloc): Use it.
76465         (xnrealloc_inline): New static inline function,
76466         with the old contents of xnrealloc.
76467         (xnrealloc, xrealloc): Use it.
76468
76469         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
76470         that.
76471
76472 2003-10-26  Karl Berry  <karl@gnu.org>
76473
76474         * config/srclist.txt (COPYING.DOC): no longer available from
76475         /gd/gnuorg; don't know where the ultimate source is.
76476
76477 2003-10-25  Paul Eggert  <eggert@twinsun.com>
76478
76479         Fix several address-calculation bugs in the hash modules,
76480         plus some minor code cleanup.
76481
76482         * lib/hash.h: Include <stdbool.h>, for bool.
76483         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
76484         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
76485         hash_get_n_entries, hash_get_max_bucket_length,
76486         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
76487         hash_rehash): Use size_t rather than unsigned.
76488         * lib/hash.c (struct hash_table, hash_get_n_buckets,
76489         hash_get_n_buckets_used, hash_get_n_entries,
76490         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
76491         hash_get_entries, hash_do_for_each, hash_string, is_prime,
76492         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
76493         Likewise.
76494         (SIZE_MAX): Define if not defined.
76495         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
76496         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
76497         hash_print):
76498         Use const * when possible.
76499         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
76500         (check_tuning): Fix bug: if tuning parameters were very close to
76501         0 or 1, rounding errors could have caused subscript violations.
76502         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
76503         (hash_initialize): Add 'fail:' label
76504         to free table and return NULL, and use it to simplify code.
76505         Use calloc rather than clearing the storage ourself.
76506         (hash_initialize, hash_rehash): Check for arithmetic overflow in
76507         buffer size calculations.
76508         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
76509         Include <stddef.h>, for size_t.
76510         * lib/hash-pjw.c (hash_pjw): Likewise.
76511         Switch to method described by Bruno Haible.
76512         Include <limits.h>, for CHAR_BIT.
76513         (SIZE_BITS): New macro.
76514
76515 2003-10-23  Paul Eggert  <eggert@twinsun.com>
76516
76517         * m4/getline.m4 (AM_FUNC_GETLINE):
76518         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
76519         hosts.  Problem reported by Derek Robert Price in
76520         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
76521         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
76522         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
76523
76524 2003-10-21  Paul Eggert  <eggert@twinsun.com>
76525
76526         * lib/getndelim2.c (getndelim2): When size calculation overflows,
76527         ceiling the allocation at NMAX bytes rather than silently
76528         discarding input bytes before NMAX is reached.  This makes
76529         a difference only if NMAX exceeds SIZE_MAX / 2.
76530
76531         * lib/obstack.c: Merge from glibc.
76532         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
76533         Add libc_hidden_def (_obstack_newchunk).
76534         (_obstack_free) [! defined _LIBC]: Remove.
76535         [defined _LIBC]: Make a strong alias from obstack_free, rather than
76536         a clone of the function body.
76537         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
76538         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
76539
76540         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
76541         glibc.
76542         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
76543         arg to memcpy.
76544
76545         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
76546         (obstack_ptr_grow_fast, obstack_int_grow_fast):
76547         Don't use lvalue casts, as GCC plans to remove support for them
76548         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
76549         was also present in the non-GCC version, indicating that this
76550         code had always been buggy and had never been widely used.
76551         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
76552         Use the fast variant of each macro, rather than copying the
76553         definiens of the fast variant; that way, we'll be more likely to
76554         catch future bugs in the fast variants.
76555
76556 2003-10-20  Bruno Haible  <bruno@clisp.org>
76557
76558         * modules/wait-process: New file.
76559         * MODULES.html.sh (func_all_modules): Add wait-process.
76560
76561 2003-10-20  Bruno Haible  <bruno@clisp.org>
76562
76563         * m4/wait-process.m4: New file.
76564
76565 2003-10-20  Bruno Haible  <bruno@clisp.org>
76566
76567         * lib/wait-process.h: New file, from GNU gettext.
76568         * lib/wait-process.c: New file, from GNU gettext.
76569
76570 2003-10-19  Jim Meyering  <jim@meyering.net>
76571
76572         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
76573         HPUX 10.20.
76574
76575 2003-10-18  Karl Berry  <karl@gnu.org>
76576
76577         * config/config.guess: update from config.
76578
76579 2003-10-16  Paul Eggert  <eggert@twinsun.com>
76580
76581         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
76582         (getgroups): First arg is int, not size_t.
76583         Don't let 'free' mangle errno.
76584
76585 2003-10-16  Paul Eggert  <eggert@twinsun.com>
76586
76587         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
76588
76589 2003-10-16  Karl Berry  <karl@gnu.org>
76590
76591         * config/config.{guess,sub}: update from config.
76592
76593 2003-10-16  Jim Meyering  <jim@meyering.net>
76594
76595         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
76596         memcpy.
76597
76598 2003-10-15  Paul Eggert  <eggert@twinsun.com>
76599
76600         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
76601         (SIZE_MAX): Remove.
76602         (new_exclude, add_exclude_file): Initial size no longer needs to
76603         be a power of 2.
76604         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
76605         our own address arithmetic overflow checking.
76606
76607         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
76608         (fnmatch): Do not alloca more than 2000 wide characters;
76609         instead, use malloc for large buffers.
76610         Check for address arithmetic overflow, and return -1
76611         with errno set to ENOMEM in that case.
76612         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
76613         (NEW_PATTERN): Do not alloca more than 8000 bytes;
76614         instead, return -1.  Check for address arithmetic overflow.
76615
76616 2003-10-14  Paul Eggert  <eggert@twinsun.com>
76617
76618         Handle invalid suffixes and overflow independently, so that
76619         callers can treat them independently as needed.  Fix some bugs in
76620         suffix handling, e.g., "100k@" was not diagnosed as an invalid
76621         suffix for a human-readable blocksize.  The major caller-visible
76622         change is the addition of a new
76623         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
76624         that both overflow and suffix chars were found.
76625
76626         * lib/human.c (humblock): Don't check separately for invalid suffix
76627         char; that is xstrtoumax's job (now that its bug is fixed).
76628         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
76629         INTMAX_MAX]: New macros.
76630         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
76631         TYPE_MAXIMUM): New macros.
76632         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
76633         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
76634         if overflow occurs, as it's what __strtol does and it's more useful
76635         in practice.
76636         (__xstrtol): If __strtol reports some error other than ERANGE,
76637         reflect it to the caller as LONGINT_INVALID.  If it reports
76638         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
76639         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
76640         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
76641         value.
76642         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
76643         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
76644         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
76645         [defined UINTMAX_MAX]: New macros.
76646
76647 2003-10-14  Bruno Haible  <bruno@clisp.org>
76648
76649         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
76650
76651 2003-10-14  Bruno Haible  <bruno@clisp.org>
76652
76653         * m4/sig_atomic_t: New file, from GNU gettext.
76654         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
76655
76656 2003-10-14  Bruno Haible  <bruno@clisp.org>
76657
76658         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
76659         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
76660         Also use volatile where needed.
76661
76662 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76663
76664         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
76665         Change maintainer from Bruno Haible to 'all'.
76666
76667 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76668
76669         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
76670
76671 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76672
76673         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
76674         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
76675         and define in terms of the other primitives.
76676         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
76677         (SIZE_MAX): Define if not already defined.
76678         (array_size_overflow): New function.
76679         (xalloc_die): Abort instead of exiting if 'error' returns.
76680         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
76681         (xmalloc, xrealloc): Use them.
76682         (xcalloc): Check for address arithmetic overflow.
76683         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
76684         a bit faster than strcpy.
76685
76686 2003-10-10  Simon Josefsson  <jas@extundo.com>
76687
76688         * modules/argp (Depends-on): Add restrict and strcase.
76689
76690 2003-10-10  Simon Josefsson  <jas@extundo.com>
76691
76692         * m4/argp.m4: Add AC_C_INLINE.
76693
76694 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76695
76696         Merge getpass from libc, plus a few fixes.
76697
76698         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
76699         Include <stdbool.h>.
76700         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
76701         __fsetlocking to empty.
76702         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
76703         do include <bits/libc-lock.h>.
76704         Do not include <fcntl.h>; not needed.
76705         [_LIBC]: Include <wchar.h>.
76706         (NOTCANCEL_MODE): New macro.
76707         (flockfile, funlockfile) [_LIBC]: New macros.
76708         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
76709         [!_LIBC]: New macros.
76710         (call_fclose): New function.
76711         (getpass): Use it.  Save tty stream separately; this simplifies the
76712         code and makes it more reliable if stdin happens to equal stdout.
76713         Invoke __fsetlocking on tty.
76714         Handle thread cancellation if needed.
76715         Namespace cleanup (use __tcgetattr, __getline).
76716         Use bool for Booleans.
76717         [USE_IN_LIBIO]: Handle wide streams.
76718         [!_LIBC]: Unconditionally do the fseek, since we don't know what
76719         stream might go where.
76720
76721         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
76722         doesn't have to include <stdio.h> before us.
76723         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
76724         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
76725         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
76726         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
76727         if not declared, so that we can use getpass.c code from libc without
76728         rewriting it.
76729         (flockfile, ftrylockfile, funlockfile): New macros.
76730
76731 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76732
76733         * modules/getpass: Depend on stdbool.
76734
76735 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76736
76737         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
76738
76739 2003-10-07  Karl Berry  <karl@gnu.org>
76740
76741         * config/config.{guess,sub}: update from config.
76742
76743 2003-10-06  Jim Meyering  <jim@meyering.net>
76744             Bruno Haible  <bruno@clisp.org>
76745
76746         This lets translators provide better translations for the
76747         "Written by ..." part of --version output.
76748         * lib/version-etc.h: Include stdarg.h.
76749         (version_etc_copyright): Declare as readonly.
76750         (version_etc): Make this function variadic with a NULL-terminated list
76751         of author name strings.
76752         (version_etc_va): New declaration.
76753         * lib/version-etc.c: Include stdarg.h, stdlib.h.
76754         (version_etc_copyright): Declare as readonly.
76755         (version_etc_va): New function. Provide a different translatable string
76756         for each possible number of authors < 10. Abbreviate when there are 10
76757         authors or more.
76758         (version_etc): Make this function variadic. Call version_etc_va.
76759         Suggestion from Gary V. Vaughan.
76760
76761         * lib/long-options.h (parse_long_options): Change prototype: the
76762         authors string is moved to the end and becomes variadic.
76763         * lib/long-options.c: Include stdarg.h.
76764         (parse_long_options): Make this function variadic, too.
76765         Call version_etc_va, not version_etc.
76766
76767 2003-10-06  Bruno Haible  <bruno@clisp.org>
76768
76769         * modules/version-etc-2: Remove file.
76770         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
76771
76772 2003-10-06  Bruno Haible  <bruno@clisp.org>
76773
76774         * modules/fatal-signal: New file.
76775         * MODULES.html.sh (func_all_modules): Add fatal-signal.
76776
76777 2003-10-06  Bruno Haible  <bruno@clisp.org>
76778
76779         * m4/fatal-signal.m4: New file.
76780         * m4/signalblocking.m4: New file, from GNU gettext.
76781
76782 2003-10-06  Bruno Haible  <bruno@clisp.org>
76783
76784         * lib/version-etc-2.h: Remove file.
76785         * lib/version-etc-2.c: Remove file.
76786
76787 2003-10-06  Bruno Haible  <bruno@clisp.org>
76788
76789         * lib/fatal-signal.h: New file, from GNU gettext.
76790         * lib/fatal-signal.c: New file, from GNU gettext.
76791
76792 2003-10-05  Paul Eggert  <eggert@twinsun.com>
76793
76794         * README: Rework advice for preventing empty .o files.
76795         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
76796         not <sys/types.h>.
76797
76798 2003-10-04  Karl Berry  <karl@gnu.org>
76799
76800         * lib/argp*: update from libc.
76801
76802 2003-10-04  Karl Berry  <karl@gnu.org>
76803
76804         * config/config.{guess,sub}: update from config.
76805
76806 2003-10-02  Bruno Haible  <bruno@clisp.org>
76807
76808         * modules/lchown (Include): Add lchown.h.
76809         * modules/time_r (Include): Use "..." syntax.
76810         * modules/xgetdomainname (Include): Add xgetdomainname.h.
76811
76812 2003-10-01  Simon Josefsson  <jas@extundo.com>
76813
76814         * MODULES.html.sh (func_all_modules): Move gethostname from section
76815         'based on' to section 'lacking' POSIX:2001.
76816
76817 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
76818
76819         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
76820         to output mode on the same stream.
76821
76822 2003-09-29  Paul Eggert  <eggert@twinsun.com>
76823
76824         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
76825         Fix arg typo in previous patch.
76826
76827 2003-09-28  Jim Meyering  <jim@meyering.net>
76828
76829         * lib/error.c: Correct cpp indentation.
76830
76831 2003-09-27  Paul Eggert  <eggert@twinsun.com>
76832
76833         * modules/free: New file.
76834
76835 2003-09-27  Paul Eggert  <eggert@twinsun.com>
76836
76837         * m4/free.m4: New file.
76838
76839 2003-09-27  Paul Eggert  <eggert@twinsun.com>
76840
76841         * lib/minmax.h (MIN, MAX)
76842         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
76843         Omit the special code that used __typeof__, since we worry that
76844         it could be more trouble than it's worth.  See:
76845         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
76846         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
76847
76848         * lib/free.c: New file.
76849
76850 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
76851
76852         Trivial fixes to Makefile.am parts of module listings.
76853         * modules/strstr: Append strstr.h to lib_SOURCES.
76854         * modules/strcase: Likewise, for strcase.h.
76855
76856 2003-09-27  Karl Berry  <karl@gnu.org>
76857
76858         * config/mkinstalldirs: update from automake.
76859
76860 2003-09-26  Paul Eggert  <eggert@twinsun.com>
76861
76862         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
76863         (error_tail): Do not loop, reallocating temporary buffer, since
76864         the output cannot contain more wide characters than the input
76865         contains bytes, the size must be big enough already.  This avoids
76866         one potential size overflow calculation.  Check for size overflow
76867         when calculating temporary buffer size.  Free temporary buffer
76868         when done, if it was allocated with malloc; this plugs a memory
76869         leak.  Remove casts from void * to pointers, that are no longer
76870         needed now that we're assuming C89 or better.
76871
76872         Merge error changes from glibc.
76873
76874         * lib/error.c, error.h: Update copyright notice header to match glibc.
76875         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
76876         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
76877         Disable cancellation while printing error.
76878         * lib/error.h: Prepend __ to parameter names.
76879
76880 2003-09-26  Jim Meyering  <jim@meyering.net>
76881
76882         * lib/error.c (error_tail): Move some declarations
76883         into inner scope where the local variables are used.
76884
76885 2003-09-26  Bruno Haible  <bruno@clisp.org>
76886
76887         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
76888         stpncpy().
76889         Don't define stpncpy through config.h; it's now done through stpncpy.h.
76890
76891 2003-09-26  Bruno Haible  <bruno@clisp.org>
76892
76893         * lib/stpncpy.h (gnu_stpncpy): New declaration.
76894         (stpncpy): Define as alias for gnu_stpncpy.
76895         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
76896
76897 2003-09-25  Simon Josefsson  <jas@extundo.com>
76898
76899         * lib/xgetdomainname.h: New file.
76900         * lib/xgetdomainname.c: New file.
76901
76902 2003-09-25  Simon Josefsson  <jas@extundo.com>
76903             Bruno Haible  <bruno@clisp.org>
76904
76905         * modules/getdomainname: New file.
76906         * modules/xgetdomainname: New file.
76907         * MODULES.html.sh (func_all_modules): Add getdomainname,
76908         xgetdomainname.
76909
76910 2003-09-25  Simon Josefsson  <jas@extundo.com>
76911             Bruno Haible  <bruno@clisp.org>
76912
76913         * m4/getdomainname.m4: New file.
76914
76915 2003-09-25  Simon Josefsson  <jas@extundo.com>
76916             Bruno Haible  <bruno@clisp.org>
76917
76918         * lib/getdomainname.h: New file.
76919         * lib/getdomainname.c: New file.
76920
76921 2003-09-25  Karl Berry  <karl@gnu.org>
76922
76923         * lib/argp-fmtstream.c, argp-help.c: update from libc.
76924
76925 2003-09-25  Karl Berry  <karl@gnu.org>
76926
76927         * config/install-sh: update from automake.
76928
76929 2003-09-25  Bruno Haible  <bruno@clisp.org>
76930
76931         * modules/version-etc-2: New file, from modules/version-etc with
76932         modifications.
76933         * MODULES.html.sh (func_all_modules): Add version-etc-2.
76934
76935 2003-09-25  Bruno Haible  <bruno@clisp.org>
76936
76937         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
76938         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
76939
76940 2003-09-24  Simon Josefsson  <jas@extundo.com>
76941
76942         * modules/xgethostname: Add xgethostname.h.
76943
76944 2003-09-24  Paul Eggert  <eggert@twinsun.com>
76945
76946         * lib/linebuffer.c (freebuffer): Don't free the argument, just
76947         the buffer associated with the argument.  Bug reported by
76948         Simon Josefsson.
76949
76950 2003-09-24  Paul Eggert  <eggert@twinsun.com>
76951
76952         * README: Document assumptions that 'int' is at least 32 bits
76953         wide, that integer arithmetic is 2's complement without overflow,
76954         that there are no holes in integer values, that adding sizes of
76955         two nonoverlapping objects can't overflow, and that all-bits-zero
76956         yields scalar zero.  Fix spelling and capitalization typos.
76957
76958 2003-09-19  Karl Berry  <karl@gnu.org>
76959
76960         * lib/argp.h: update from libc.
76961
76962 2003-09-17  Paul Eggert  <eggert@twinsun.com>
76963
76964         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
76965         to avoid spurious warnings like "AC_RUN_IFELSE was called before
76966         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
76967
76968 2003-09-17  Paul Eggert  <eggert@twinsun.com>
76969
76970         * gnulib-tool: Use "test -h", not "test -L", for portability
76971         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
76972         (tags_regexp): Remove, since \| doesn't conform to POSIX.
76973         (sed_extract_prog): Issue s commands one-by-one, rather than
76974         using \| in one s command.
76975
76976 2003-09-16  Paul Eggert  <eggert@twinsun.com>
76977
76978         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
76979         input error, instead of returning NULL the next time we are called
76980         (and therefore losing track of errno).
76981
76982 2003-09-16  Bruno Haible  <bruno@clisp.org>
76983
76984         * gnulib-tool (func_create_testdir): Warn about duplicated
76985         dependencies.
76986
76987 2003-09-15  Paul Eggert  <eggert@twinsun.com>
76988
76989         * modules/argmatch, modules/fatal, modules/obstack,
76990         modules/xalloc, modules/xgethostname: Sort dependencies by
76991         importance, not alphabetically.
76992
76993 2003-09-15  Paul Eggert  <eggert@twinsun.com>
76994
76995         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
76996         fails, so that the caller gets the proper errno.
76997
76998         * lib/readutmp.c (read_utmp): Likewise.
76999         Check for fstat error.  Close stream and free storage
77000         when failing.
77001
77002 2003-09-14  Karl Berry  <karl@gnu.org>
77003
77004         * config/srclist.txt (strdup.c): disable for c89 changes.
77005
77006 2003-09-14  Jim Meyering  <jim@meyering.net>
77007
77008         * lib/getloadavg.c: Correct cpp indentation.
77009         * lib/strdup.c: Likewise.
77010         * lib/vasnprintf.c: Likewise.
77011
77012 2003-09-14  Bruno Haible  <bruno@clisp.org>
77013
77014         * modules/fwriteerror: New file.
77015         * MODULES.html.sh (func_all_modules): Add fwriteerror.
77016
77017 2003-09-14  Bruno Haible  <bruno@clisp.org>
77018
77019         * lib/fwriteerror.h: New file.
77020         * lib/fwriteerror.c: New file.
77021
77022 2003-09-12  Paul Eggert  <eggert@twinsun.com>
77023
77024         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
77025         modules/xgethostname, modules/xalloc: Depend on exit.
77026
77027 2003-09-12  Paul Eggert  <eggert@twinsun.com>
77028
77029         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
77030
77031         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
77032         and AC_MINIX, too, so that their extensions are available.
77033
77034         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
77035         This macro has been superseded by gl_BACKUPFILE.
77036
77037         More patches to assume C89 or better.
77038
77039         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
77040
77041         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
77042         unconditionally.
77043         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
77044         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
77045         Include <string.h>, <stdlib.h> unconditionally.
77046         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
77047         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
77048         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
77049         headers or for string.h.
77050         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
77051         or strtoul.
77052
77053         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
77054         headers.
77055         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
77056         * m4/userspec.m4 (gl_USERSPEC): Likewise.
77057         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
77058         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
77059         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77060         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
77061         memcpy, memset.
77062         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
77063         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
77064         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
77065         strtol.
77066         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
77067         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
77068         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
77069         strtoul.
77070
77071 2003-09-12  Paul Eggert  <eggert@twinsun.com>
77072
77073         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
77074         * lib/obstack.c [!defined _LIBC]: Likewise.
77075         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
77076         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
77077         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
77078
77079         More changes to assume C89 or better.
77080
77081         * lib/error.c (error_tail): Assume vprintf.
77082
77083         * lib/argmatch.c (getenv): Remove decl.
77084         * lib/progreloc.c (get_full_program_name): Define via prototype.
77085         * lib/setenv.c (clearenv): Likewise.
77086         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
77087         needed.
77088         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
77089         (malloc, memcpy): Remove decls.
77090         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
77091         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
77092         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
77093         (memcpy): Remove macro.
77094         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
77095         (__P): Remove.  All uses removed.
77096         (PTR): Remove.  All uses changed to void *.
77097         (CHAR_BIT, NULL): Remove.
77098         (spaces, zeros, memset_space, memset_zero)
77099         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
77100         Remove.
77101         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
77102         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
77103         Define with prototype.
77104         Remove now-unnecessary prototype decl.
77105         (extra_args_spec): Assume ANSI C.  All uses changed.
77106         (extra_args_spec_iso): Remove.
77107         (my_strftime, emacs_strftimeu): Define via prototype.
77108         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
77109         unconditionally.
77110         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
77111         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
77112         (strtoul, strtol): Remove decls.
77113         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
77114         LONG_MAX): Remove.
77115         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
77116         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
77117         (LOCALE_PARAM_PROTO): New macro.
77118         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
77119         (INTERNAL (strtol), strtol): Define with a prototype.
77120         (PARAMS): Remove.  All uses removed.
77121         * lib/tempname.c: Include <string.h> unconditionally.
77122         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
77123         * lib/xgethostname.c (main): Define with a prototype.
77124         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
77125         Include <stdlib.h> unconditionally.
77126         (calloc, malloc, realloc, free): Remove decls.
77127         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
77128         Include <stdlib.h> unconditionally.  Sort include file names.
77129         (strtod): Remove.
77130         (xstrtod): Define with a prototype.
77131         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
77132         (strtol, strtoul): Remove decls.
77133
77134 2003-09-11  Paul Eggert  <eggert@twinsun.com>
77135
77136         More patches to assume C89 or better.
77137         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
77138         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
77139         string.h, memchr, STDC_HEADERS.
77140
77141 2003-09-11  Paul Eggert  <eggert@twinsun.com>
77142
77143         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
77144         Include <stdlib.h>, <string.h> unconditionally.
77145         Remove now-unnecessary cast to char *.
77146         * lib/strnlen.c: Include <string.h> unconditionally.
77147         * lib/yesno.c (yesno): Define with a prototype.
77148
77149 2003-09-11  Bruno Haible  <bruno@clisp.org>
77150
77151         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
77152
77153 2003-09-10  Jim Meyering  <jim@meyering.net>
77154
77155         * lib/error.c: Correct indentation of cpp directives.
77156
77157 2003-09-10  Bruno Haible  <bruno@clisp.org>
77158
77159         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
77160         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
77161         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
77162         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
77163         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
77164         <stdlib.h> and <string.h> checks.
77165         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
77166         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
77167
77168 2003-09-10  Bruno Haible  <bruno@clisp.org>
77169
77170         * lib/strcspn.c: Include <string.h> unconditionally.
77171         * lib/strpbrk.c: Include <string.h> unconditionally.
77172         * lib/strstr.c: Include <string.h> unconditionally.
77173         * lib/unicodeio.c: Include <string.h> unconditionally.
77174         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
77175         * lib/unsetenv.c: Likewise.
77176         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
77177         * lib/yesno.c: Include <stdlib.h> unconditionally.
77178         (rpmatch): Add prototype.
77179
77180 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77181
77182         More patches to assume C89 or better.
77183         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
77184         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
77185         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
77186         or for string.h.
77187         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
77188         stdlib.h.
77189         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
77190         C headers.
77191         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
77192         string.h.
77193         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
77194         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
77195         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
77196         or for string.h.
77197         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
77198         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
77199         C headers.
77200         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
77201         memcpy.
77202         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
77203         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
77204         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
77205         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
77206         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
77207         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
77208         string.h, free.
77209         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
77210         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
77211         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
77212         C headers, or for string.h.
77213         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
77214         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
77215         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
77216         headers, memory.h, stdlib.h, string.h, strings.h.
77217         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
77218         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
77219         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
77220         strchr.
77221         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
77222         headers, memory.h, string.h.
77223         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
77224         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
77225         free.
77226         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
77227         headers.
77228         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
77229         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
77230         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
77231         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
77232         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
77233
77234 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77235
77236         More K&R removal.
77237
77238         * lib/acosl.c (main): Use a prototype.
77239         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
77240         tanl.c: Likewise.
77241
77242         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
77243
77244         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
77245         (getopt, etopt_long, getopt_long_only, _getopt_internal)
77246         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
77247         with a prototype.
77248         * lib/getopt.c (const): Remove macro.
77249         Include <string.h> unconditionally.
77250         (my_index): Remove; all uses changed to strchr.
77251         (strlen): Remove decl.
77252         (exchange): Remove forward decl; no longer needed.
77253         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
77254         Define with prototype.
77255         * lib/getopt1.c (const): Remove macro.
77256         (getopt_long, getopt_long_only, main): Define with prototype.
77257
77258         * lib/getugroups.c: Include <string.h> unconditionally.
77259
77260         * lib/getusershell.c: Include <stdlib.h> unconditionally.
77261         (getusershell, setusershell, endusershell, readname, main):
77262         Define with prototypes.
77263
77264         * lib/group-member.c: Include group-member.h first.
77265         Include <stdlib.h> unconditionally.
77266
77267         * lib/hard-locale.c: Include hard-locale.h first.
77268         Include <stdlib.h>, <string.h> unconditionally.
77269
77270         * lib/hash.c (free, malloc): Remove decls.
77271         Include <stdlib.h> unconditionally.
77272
77273         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
77274         (getenv): Do not declare.
77275
77276         * lib/idcache.c: Include <string.h> unconditionally.
77277
77278         * lib/long-options.c: Include long-options.h first, to test interface.
77279         Include <stdlib.h> unconditionally.
77280
77281         * lib/makepath.c: Include makepath.h first, to test interface.
77282         Include <stdlib.h> and <string.h> unconditionally.
77283
77284         * lib/linebuffer.c: Include <stdlib.h>.
77285         (free): Remove decl.
77286
77287         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
77288         stddef.h. rpl_malloc returns void *, not char *.
77289         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
77290         prototype.
77291
77292         * lib/md5.h: Include <limits.h> unconditionally.
77293         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
77294         (__P): Remove; all uses removed.
77295         * lib/md5.c: Include "md5.h" first.
77296         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
77297         md5_buffer, md5_process_bytes, md5_process_block):
77298         Define with prototypes.
77299         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
77300         * lib/sha.c: Include "sha.h" first.
77301         Include <stdlib.h>, <string.h> unconditionally.
77302
77303         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
77304         * lib/memcmp.c (__ptr_t): Likewise.
77305         * lib/memrchr.c (__ptr_t): Likewise.
77306         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
77307         Include <string.h> unconditionally.
77308         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
77309         * lib/memchr.c: Include <stdlib.h> unconditionally.
77310         * lib/memchr.c (LONG_MAX): Remove.
77311         * lib/memrchr.c (LONG_MAX): Likewise.
77312         * lib/memchr.c (__memchr): Define via a prototype.
77313         * lib/memrchr.c (__memrchr): Likewise.
77314         * lib/memcmp.c (__P): Remove, and remove all uses.
77315         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
77316         Remove forward decls; no longer needed.
77317         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
77318         Use types required by C89 in prototype.
77319
77320         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
77321         * lib/savedir.c: Likewise.
77322         * lib/mkdir.c (free): Remove decl.
77323         * lib/rmdir.c (rmdir): Define with a prototype.
77324         * lib/savedir.c: Include savedir.h first, to test interface.
77325
77326         * lib/mktime.c (STDC_HEADERS): Remove.
77327         Include <stdlib.h>, <string.h> unconditionally.
77328
77329         * lib/modechange.c: Include <stdlib.h> unconditionally.
77330         (malloc): Remove decl.
77331
77332         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
77333         (free): Remove decl.
77334
77335         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
77336         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
77337         (This type really should be intptr_t, but that's a C99ism.)
77338         (_obstack_memcpy): Remove: all uses changed to memcpy.
77339         Include <string.h> unconditionally.
77340         (struct obstack): Assume __STDC__ for types of members
77341         chunkfun, freefun, extra_arg.
77342         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
77343         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
77344         obstack_begin, obstack_specify_allocation,
77345         obstack_specify_allocation_with_arg, obstack_chunkfun,
77346         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
77347         Remove unprototyped decls and the macros that use them.
77348         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
77349         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
77350         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
77351         (defined __STDC__ && __STDC__)]:
77352         Remove nonprototyped code.
77353         Include <stdlib.h> unconditionally.
77354         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
77355         _obstack_allocated_p, _obstack_free, obstack_free,
77356         _obstack_memory_used, print_and_abort):
77357         Define using prototypes.
77358         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
77359         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
77360         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
77361         obstack_next_free, obstack_object_size, obstack_room) [0]:
77362         Remove unused, unprototyped code.
77363
77364         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
77365
77366         * lib/physmem.c (physmem_total, physmem_available, main): Define
77367         with prototypes.
77368
77369         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
77370         (main): Define with a prototype.
77371
77372         * lib/posixver.c (getenv): Remove decl.
77373
77374         * lib/putenv.c (malloc): Returns void *, not char *.
77375         Include <string.h> unconditionally.
77376         (strchr, memcpy, NULL): Do not define.
77377
77378         * lib/readtokens.c: Include readtokens.h first, to test interface.
77379         Include <stdlib.h>, <string.h> unconditionally.
77380         (init_tokenbuffer): Define with a prototype.
77381
77382         * lib/regex.c (PARAMS): Remove.  All uses removed.
77383         All uses of _RE_ARGS removed, too.
77384         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
77385         unconditionally.
77386         (bzero): Assume memset exists.
77387         (memcmp, memcpy, NULL): Remove.
77388         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
77389         char, or assignments to local vars of type signed char.
77390         (init_syntax_once, PREFIX(extract_number_and_incr),
77391         PREFIX(print_partial_compiled_pattern),
77392         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
77393         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
77394         PREFIX(regex_grow_registers), PREFIX(regex_compile),
77395         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
77396         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
77397         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
77398         wcs_compile_range, byte_compile_range, truncate_wchar,
77399         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
77400         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
77401         count_mbs_length, wcs_re_match_2_internal,
77402         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
77403         PREFIX(alt_match_null_string_p),
77404         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
77405         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
77406         regfree, PREFIX(extract_number)): Define with prototype.  Remove
77407         now-unnecessary declaration, if any.
77408         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
77409         regcomp, regexec):
77410         Remove now-unnecessary casts among pointer types.
77411         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
77412
77413         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
77414         (free): Remove decl.
77415
77416         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
77417
77418         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
77419         (free): Remove decl.
77420
77421         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
77422         * lib/xgetcwd.c: Likewise.
77423
77424         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
77425         (free): Remove decl.
77426
77427         * lib/strchrnul.c (strchrnul): Define with a prototype.
77428         Fix bug: c_in was not converted to char before searching.
77429
77430         The following changes are not K&R related:
77431
77432         * lib/group-member.h: Include <sys/types.h>, so that this file is
77433         self-contained.
77434         * lib/makepath.h: Likewise.
77435
77436         * lib/getusershell.c (readname, default_index, line_size, readname):
77437         Use size_t, not int, for sizes.
77438         (readname): If the size overflows, report an error instead of
77439         looping forever.
77440
77441 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77442
77443         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
77444         libc.
77445
77446 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77447
77448         * README: New section: portability guidelines.
77449
77450 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
77451
77452         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
77453         C89 spec.
77454
77455 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
77456
77457         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
77458
77459 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77460
77461         Assume C89 or better; remove K&R cruft.
77462         A few of these changes were first proposed by Derek Robert Price
77463         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
77464
77465         * lib/addext.c: Include <string.h> unconditionally.
77466         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
77467         Don't declare getenv or malloc.
77468
77469         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
77470         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
77471         (NULL): Remove.
77472         (find_stack_direction, alloca): Use prototypes.
77473
77474         * lib/atexit.c (atexit): Define using a prototype.
77475
77476         * lib/basename.c, dirname.c, stripslash.c:
77477         Include <string.h> unconditionally.
77478
77479         * lib/bcopy.c: Include <stddef.h>.
77480         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
77481
77482         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
77483
77484         * lib/error.h (error, error_at_line, error_print_progname)
77485         [! (defined (__STDC__) && __STDC__)]: Remove decls.
77486         * lib/error.c: Include error.h first, to check interface.
77487         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
77488         (VA_START): Remove; all uses changeed to va_start.
77489         (exit, strerror): Remove decls.
77490         (error_print_progname): Prototype uncondionally.
77491         Don't include <errno.h>; no longer needed.
77492         (private_strerror): Remove.
77493         (error_tail): Always define.
77494         (error, error_at_line): Assume C89 or better; always use prototypes.
77495         * lib/fatal.c: Include "fatal.h" first, to test interface.
77496         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
77497         (VA_START): Remove; all uses changed to va_start.
77498         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
77499         this case.
77500         (exit): Remove decl.
77501         (fatal): Prototype unconditionally.  Assume va_start works.
77502         Abort at end, to pacify gcc.
77503
77504         * lib/euidaccess.c (main): Define with a prototype.
77505
77506         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
77507
77508         * lib/exitfail.c: Include <stdlib.h> unconditionally.
77509
77510         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
77511         prototypes.
77512         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
77513         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
77514         (getenv): Remove decl.
77515         (fnmatch): Define using a prototype.
77516         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
77517         (FCT): Define using a prototype.
77518
77519         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
77520
77521         * lib/gethostname.c: Include <stddef.h>.
77522         (gethostname): Define with prototype.  Length is size_t, not int.
77523
77524 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77525
77526         Assume C89 or better; remove K&R cruft.
77527         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
77528         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
77529         string.h, getenv, malloc.
77530         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
77531         headers.
77532         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
77533         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
77534         do not check for strerror.
77535         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
77536         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
77537         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
77538         do not check for doprnt or vprintf.
77539         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
77540         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
77541
77542 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77543
77544         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
77545         getversion.c should have been removed then, but was accidentally
77546         preserved.
77547
77548         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
77549         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
77550
77551 2003-09-08  Karl Berry  <karl@gnu.org>
77552
77553         * config/config.sub, config.guess, srclistvars.sh: update from savannah
77554                 config, forget about prep.
77555
77556         * config/depcomp, missing: update from automake.
77557
77558 2003-09-07  Paul Eggert  <eggert@twinsun.com>
77559
77560         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
77561         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
77562
77563 2003-09-07  Paul Eggert  <eggert@twinsun.com>
77564
77565         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
77566         copy_tm_result.  Bug reported by Simon Josefsson in
77567         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
77568
77569 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77570
77571         * m4/time_r.m4: New file.
77572         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
77573         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
77574         is. Check for timegm declaration.
77575         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
77576         Do not check for gmtime_r.
77577         Replace mktime if __mktime_internal does not exist and if mktime
77578         hasn't been replaced already.
77579
77580 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77581
77582         * lib/time_r.c, lib/time_r.h: New files.
77583
77584         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
77585         __localtime_r.
77586         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
77587         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
77588
77589         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
77590         __gmtime_r.
77591         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
77592         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
77593         Include <time_r.h>.
77594
77595         * lib/timegm.c: Switch to glibc implementation, with the following
77596         changes:
77597         [defined HAVE_CONFIG_H]: Include <config.h>.
77598         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
77599         (__mktime_internal) [!defined _LIBC]: New decl.
77600         (__gmtime_r) [!defined _LIBC]: New macro and function.
77601         (timegm): Use a prototype, since gnulib assumes C89.
77602         Do not bother declaring tmp to be const, as it's not really usefu.
77603         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
77604         (timegm): Declare only if HAVE_DECL_TIMEGM.
77605
77606 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77607
77608         * MODULES.html.sh (func_all_modules): Add time_r.
77609         * modules/time_r: New file.
77610         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
77611         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
77612
77613 2003-09-03  Paul Eggert  <eggert@twinsun.com>
77614
77615         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
77616         Bug reported by Lute Kamstra in
77617         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
77618
77619         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
77620         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
77621         course with correspondingly smaller numbers for tomorrow and
77622         yesterday.  From Tadayoshi Funaba.  Originally installed into
77623         sh-utils on 1999-08-07, but the patch got lost (I guess during the
77624         coreutils merge?).
77625
77626 2003-08-31  Simon Josefsson  <jas@extundo.com>
77627
77628         * modules/timegm: New file.
77629         * MODULES.html.sh (func_all_modules): Add timegm.
77630
77631 2003-08-31  Simon Josefsson  <jas@extundo.com>
77632
77633         * m4/timegm.m4: New file.
77634
77635 2003-08-31  Simon Josefsson  <jas@extundo.com>
77636
77637         * lib/timegm.h: New file.
77638         * lib/timegm.c: New file.  Based on
77639         wget-1.8.2/src/http.c:mktime_from_utc.
77640
77641 2003-08-31  Karl Berry  <karl@gnu.org>
77642
77643         * lib/argp.h: update from libc.
77644
77645 2003-08-28  Bruno Haible  <bruno@clisp.org>
77646
77647         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
77648         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
77649         followed by '#define fnmatch fnmatch_posix' gives an error.
77650
77651 2003-08-28  Bruno Haible  <bruno@clisp.org>
77652
77653         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
77654         warning on QNX, which defines O_BINARY to 000000.
77655
77656 2003-08-27  Jim Meyering  <jim@meyering.net>
77657
77658         * m4/mkstemp.m4: Require that the system mkstemp be able to create
77659         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
77660         would fail after 32.  Reported by Danny Levinson.  Details here:
77661         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
77662
77663 2003-08-24  Bruno Haible  <bruno@clisp.org>
77664
77665         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
77666         MSVC7 <stdio.h> is included later.
77667
77668 2003-08-22  Simon Josefsson  <jas@extundo.com>
77669
77670         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
77671
77672 2003-08-20  Karl Berry  <karl@gnu.org>
77673
77674         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
77675
77676 2003-08-20  Bruno Haible  <bruno@clisp.org>
77677
77678         * modules/progname: New file.
77679         * MODULES.html.sh (func_all_modules): Add progname.
77680
77681 2003-08-20  Bruno Haible  <bruno@clisp.org>
77682
77683         * lib/progname.h: New file, from GNU gettext.
77684         * lib/progname.c: New file, from GNU gettext.
77685         * lib/progreloc.c: New file, from GNU gettext.
77686
77687 2003-08-19  Jim Meyering  <jim@meyering.net>
77688
77689         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
77690         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
77691
77692 2003-08-19  Bruno Haible  <bruno@clisp.org>
77693
77694         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
77695         more.
77696
77697 2003-08-19  Bruno Haible  <bruno@clisp.org>
77698
77699         * lib/xstrdup.c: Assume <string.h> exists.
77700
77701 2003-08-18  Paul Eggert  <eggert@twinsun.com>
77702
77703         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
77704         in makefile rules.
77705
77706 2003-08-18  Jim Meyering  <jim@meyering.net>
77707
77708         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
77709         * m4/lib-ld.m4: Likewise.
77710
77711 2003-08-18  Jim Meyering  <jim@meyering.net>
77712
77713         * lib/setenv.h: Indent nested cpp directive.
77714         * lib/vasnprintf.c: Remove trailing blanks.
77715
77716 2003-08-17  Simon Josefsson  <jas@extundo.com>
77717
77718         * modules/xstrndup: New file.
77719         * MODULES.html.sh (func_all_modules): Add xstrndup.
77720
77721 2003-08-17  Simon Josefsson  <jas@extundo.com>
77722
77723         * modules/argp: Fix autoconf macro name. Add more dependencies.
77724
77725 2003-08-17  Simon Josefsson  <jas@extundo.com>
77726
77727         * m4/xstrndup.m4: New file.
77728
77729 2003-08-17  Simon Josefsson  <jas@extundo.com>
77730
77731         * m4/argp.m4: New file.
77732
77733 2003-08-17  Simon Josefsson  <jas@extundo.com>
77734             Bruno Haible  <bruno@clisp.org>
77735
77736         * lib/xstrndup.h: New file.
77737         * lib/xstrndup.c: New file.
77738
77739 2003-08-17  Bruno Haible  <bruno@clisp.org>
77740
77741         * modules/strndup (Files, Include): Add lib/strndup.h.
77742
77743 2003-08-17  Bruno Haible  <bruno@clisp.org>
77744
77745         * modules/euidaccess (Files): Add lib/euidaccess.h.
77746
77747 2003-08-17  Bruno Haible  <bruno@clisp.org>
77748
77749         * lib/strndup.h: New file.
77750
77751 2003-08-17  Bruno Haible  <bruno@clisp.org>
77752
77753         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
77754         like AC_GNU_SOURCE.
77755         * modules/extensions (configure.ac): Comment out the invocation of
77756         gl_USE_SYSTEM_EXTENSIONS.
77757
77758 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77759
77760         Merges from coreutils, etc.
77761         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
77762         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
77763         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
77764         fixing a typo.
77765         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
77766         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
77767
77768 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77769
77770         Document merge from coreutils.
77771         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
77772         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
77773         * modules/utime: Add m4/utimes-null.m4.
77774
77775 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77776
77777         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
77778         space, undoing this 2003-08-12 change:
77779         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
77780
77781 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77782
77783         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
77784         strtoul.c from libc, undoing this 2003-08-12 change:
77785         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
77786
77787 2003-08-16  Jim Meyering  <jim@meyering.net>
77788
77789         Merges from coreutils.
77790         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
77791         prefix.  Adjust cache variables similarly.  Create 500 rather than
77792         just 300 files, to exercise bug on Darwin6.5, too.
77793         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
77794         $missing_dir.
77795         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
77796         AM_SYS_POSIX_TERMIOS.
77797         Reported by mkc@mathdogs.com.
77798         Also change use of $am_cv_sys_posix_termios
77799         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
77800         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
77801         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
77802         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
77803         in /proc/mounts until it finds one with matching device number.  This
77804         is unnecessary when the FILE argument *is* a mount point.  No stat call
77805         is necessary in that case.  So, disable the statvfs-testing code on
77806         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
77807         as RedHat bug# 84846.
77808         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
77809         to 1MB, so as not to render systems with no stack size limit (e.g.,
77810         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
77811         Include <unistd.h>.  On some systems,
77812         it is required for the definition of _SC_PAGESIZE.
77813
77814 2003-08-16  Jim Meyering  <jim@meyering.net>
77815
77816         Merge from coreutils.
77817         * lib/xstrtoimax.c: #else #if -> #elif.
77818         * lib/xstrtoumax.c: Likewise.
77819
77820 2003-08-16  Jim Meyering  <jim@meyering.net>
77821
77822         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
77823         * m4/utimes.m4: Removed.
77824         * m4/utimes-null.m4: Renamed from utimes.m4.
77825
77826         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
77827         to 1MB, so as not to render systems with no stack size limit (e.g.,
77828         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
77829         Include <unistd.h>.  On some systems,
77830         it is required for the definition of _SC_PAGESIZE.
77831
77832 2003-08-16  Jim Meyering  <jim@meyering.net>
77833         and Paul Eggert  <eggert@cs.ucla.edu>
77834
77835         Merges from coreutils, etc.
77836
77837         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
77838         using the latest version from cvs.  This avoids problems with #line
77839         directives using a vendor (Sun) compiler.
77840         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
77841         Don't set GETGROUPS_LIB here; now it's
77842         done via getgroups.m4's wrapper function.
77843         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
77844         rather than just in sh-util/configure.in, so that the
77845         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
77846         same.
77847         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
77848         AC_FUNC_GETLOADAVG where to find getloadavg.c.
77849         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
77850         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
77851         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
77852         Remove code that is now done by the newly-required macros.
77853         Append $(EXEEXT) to DF_PROG.
77854         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
77855         Do not invoke or require the following here,
77856         since prereq.m4 or some gnulib .m4 now does this for us:
77857         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
77858         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
77859         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
77860         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
77861         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
77862         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
77863         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
77864         AC_FUNC_OBSTACK.
77865         Do not replace the following functions, as this is now the job
77866         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
77867         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
77868         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
77869         atexit getpass, strdup, getpagesize.
77870         Replace 'raise'.
77871         Do not check for the following functions, as this is now the job
77872         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
77873         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
77874         setregid.
77875         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
77876         Check for sys/sysctl.h.
77877         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
77878         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
77879         of checking for ssize_t ourselves.
77880
77881         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
77882         Require every macro that gnulib/modules/* suggests for us.
77883         (jm_PREREQ_ADDEXT): New macro.
77884         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
77885         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
77886
77887         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
77888         (gl_PHYSMEM): Use it.
77889         Also check for `table' function.
77890         Check for new headers and functions.
77891         Add check for sys/sysmp.h.
77892         With suggestions from Kaveh Ghazi.
77893         Ignore headers that are present but cannot be compiled.  This
77894         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
77895         C 5.4.
77896
77897 2003-08-15  Paul Eggert  <eggert@twinsun.com>
77898
77899         Document merge from coreutils.
77900         * modules/userspec: Depend on posixver.
77901         * modules/strftime: Depend on tzset.
77902
77903 2003-08-15  Paul Eggert  <eggert@twinsun.com>
77904
77905         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
77906         rather than tab, after '#' in shell-script copyright notices.
77907         Suggested by Bruno Haible.
77908
77909 2003-08-15  Paul Eggert  <eggert@twinsun.com>
77910
77911         * config/srclist-update: Use three spaces, rather than tab, after '#'
77912         in shell-script copyright notices.  Suggested by Bruno Haible.
77913         Remove unnecessary parenthesization in regular expression.
77914
77915 2003-08-15  Jim Meyering  <jim@meyering.net>
77916
77917         Merge from coreutils.
77918         * lib/xgethostname.c: Include <stdlib.h>.
77919         (xghostname): Don't exit for anything other than memory-related
77920         failure; just return NULL.
77921         * lib/userspec.c: Include "posixver.h".
77922         (parse_user_spec): Accept `.' as a separator only
77923         in pre-POSIX-200112 mode.
77924         * lib/strtoimax.c: Use #elif rather than #else #if.
77925         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
77926         Remove function, now that we can rely on a working tzset function.
77927         [!_LIBC]: Ensure that the required autoconf test has been run.
77928         [!defined _NL_CURRENT && HAVE_STRFTIME]:
77929         Use underlying_strftime for %r.
77930         * lib/sha.c: Merge in some clean-up and optimization changes from
77931         glibc.
77932         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
77933         Ensure that it is a multiple of 64.
77934         Rearrange loop exit tests so as to avoid performing an
77935         additional fread after encountering an error or EOF.
77936         * lib/realloc.c: Update copyright date.
77937
77938 2003-08-15  Jim Meyering  <jim@meyering.net>
77939         and Paul Eggert  <eggert@twinsun.com>
77940
77941         Merge from coreutils.
77942         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
77943         member but strut utmpx does not.  Needed for AIX 4.3.3.
77944         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
77945
77946 2003-08-15  Jim Meyering  <jim@meyering.net>
77947         and Paul Eggert  <eggert@cs.ucla.edu>
77948
77949         Merges from coreutils, etc.
77950         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
77951         Require gl_FUNC_TZSET_CLOBBER.
77952         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
77953         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
77954         members.
77955
77956 2003-08-14  Paul Eggert  <eggert@twinsun.com>
77957
77958         Help the merge from coreutils.
77959         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
77960         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
77961         * m4/tzset.m4: Use it too.
77962
77963 2003-08-14  Paul Eggert  <eggert@twinsun.com>
77964
77965         * modules/tzset: New file.
77966
77967 2003-08-14  Jim Meyering  <jim@meyering.net>
77968
77969         Merges from coreutils.
77970         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
77971         variable names, rather than @FNMATCH_H@.
77972         * modules/alloca: Likewise for $(ALLOCA_H).
77973
77974         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
77975         the three copies of the literal target, `fnmatch.h'.
77976         * modules/alloca (alloca.h): Likewise.
77977
77978 2003-08-14  Jim Meyering  <jim@meyering.net>
77979
77980         Merge from coreutils.
77981         * m4/tzset.m4: New file.
77982         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
77983         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
77984         otherwise, AIX 5.1 systems would end up using the latter.
77985         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
77986         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
77987         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
77988         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
77989
77990 2003-08-14  Jim Meyering  <jim@meyering.net>
77991
77992         Merge from coreutils.
77993         * lib/obstack.h: Whitespace changes.
77994         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
77995         and xcalloc return values.
77996         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
77997         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
77998         hang on OSF/1 5.1 for DIR on both local and remote file systems.
77999         Reported by (and fix confirmed by) Nelson H. F. Beebe.
78000         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
78001         error from mntctl.
78002         Use mntctl's return value to drive the entry-processing loop, since
78003         we can't rely on the value of the vmt_length member in the last
78004         entry.  On some systems doing so could result in exhausting
78005         virtual memory.  Based in part on a patch from Mike Jetzer.
78006
78007 2003-08-14  Jim Meyering  <jim@meyering.net>
78008         and Paul Eggert  <eggert@twinsun.com>
78009
78010         Merges from coreutils, plus other fixes.
78011         * lib/physmem.c: Merge in portability changes from gcc/libiberty
78012         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
78013         for credits and details.  Thanks to Kaveh Ghazi for helping
78014         to keep these files in sync.
78015         (ARRAY_SIZE): Define it.
78016         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
78017         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
78018         (memcasecmp): Don't assume size_t fits in unsigned int.
78019         Remove casts and duplicate code.
78020         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
78021         (memcpy): Remove definition.
78022         Merge in some clean-up and optimization changes from glibc.
78023         [BLOCKSIZE]: Move definition to top of file.
78024         Ensure that it is a multiple of 64.
78025         Rearrange loop exit tests so as to avoid performing an
78026         additional fread after encountering an error or EOF.
78027         * lib/md5.h (md5_uintptr): Define.
78028         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
78029         return to the initial working directory.  Preserve errno
78030         for caller.
78031         * lib/idcache.c: Include "xalloc.h".
78032         (xmalloc, xrealloc): Remove decls.
78033         (getuser): Remove casts no longer required in C89.
78034         * lib/human.c: Include stdio.h, for sprintf.
78035         * lib/group-member.c: Include "xalloc.h".
78036         (xmalloc, xrealloc): Remove decls.
78037         (get_group_info): Remove casts no longer required in C89.
78038         * lib/getusershell.c (readname): Remove casts no longer required in
78039         C89.
78040         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
78041         * lib/getline.c: Whitespace fix, from coreutils.
78042
78043 2003-08-13  Paul Eggert  <eggert@twinsun.com>
78044
78045         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
78046         Check for isascii.
78047
78048         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
78049         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
78050         Undo previous (whitespace-only) change.
78051
78052 2003-08-13  Paul Eggert  <eggert@twinsun.com>
78053
78054         * lib/exclude.c: Include <ctype.h>
78055         (IN_CTYPE_DOMAIN): New macro.
78056         (is_space): New fn.
78057         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
78058         and empty lines.
78059
78060         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
78061         Undo previous (whitespace-only) change.
78062
78063 2003-08-13  Paul Eggert  <eggert@twinsun.com>
78064
78065         * config/srclist-update: Change update back to the old behavior,
78066         leaving whitespace alone.  Use one 'sed' command rather than a
78067         pipeline.
78068         (fixlicense): Now a variable, not a function.
78069         (remove_trailing_blanks): Remove.
78070         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
78071         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
78072         Undo previous (whitespace-only) change.
78073
78074 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78075
78076         Merge from coreutils.
78077         * modules/euidaccess: Add lib_SOURCES, include for new
78078         file euidaccess.h
78079
78080 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78081
78082         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
78083         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
78084         Normalize leading white space and remove trailing white space.
78085
78086         Merge from coreutils
78087         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
78088
78089         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
78090         0.12.1.  These files are now being upgraded automatically by
78091         ../config/srclist-update.
78092
78093 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78094
78095         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
78096         Normalize leading white space and remove trailing white space.
78097         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
78098         notice, as per ../config/srclist-update.
78099
78100         Merge from coreutils.
78101         * lib/euidaccess.h: New file.
78102         * lib/euidaccess.c: Include it.
78103         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
78104         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
78105         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
78106
78107 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78108
78109         * config/srclist-update: Add copyright notice.
78110         (remove_id_lines, remove_trailing_blanks): New constants.
78111         (fixfile): Use them to normalize spacing a bit in copied files.
78112         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
78113         Normalize leading white space and remove trailing white space.
78114
78115         * config/texinfo.tex: Sync with texinfo.
78116
78117         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
78118         strtoul.c from libc, to merge coreutils whitespace changes.
78119
78120         * config/srclist.txt: Get the following m4 files from gettext:
78121         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
78122         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
78123         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
78124         wint_t.m4.
78125
78126 2003-08-12  Karl Berry  <karl@gnu.org>
78127
78128         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
78129         been made.
78130
78131 2003-08-11  Paul Eggert  <eggert@twinsun.com>
78132
78133         * modules/gnu-source, m4/gnu-source.m4:
78134         Remove; we're assuming Autoconf 2.54 or later now.
78135         Suggested by Bruno Haible.
78136         * MODULES.html.sh (func_all_modules): Remove gnu-source.
78137
78138 2003-08-11  Bruno Haible  <bruno@clisp.org>
78139
78140         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
78141
78142 2003-08-11  Bruno Haible  <bruno@clisp.org>
78143
78144         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
78145         (vasnprintf): Use it instead of wcslen.
78146
78147 2003-08-11  Bruno Haible  <bruno@clisp.org>
78148
78149         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
78150         value to ensure that _Bool promotes to int. Use #define for _Bool when
78151         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
78152
78153 2003-08-10  Karl Berry  <karl@gnu.org>
78154
78155         * lib/regex.h: update from libc (whitespace fix).
78156
78157 2003-08-09  Paul Eggert  <eggert@twinsun.com>
78158
78159         Merge some files from coreutils.  These changes were
78160         originally made by Jim Meyering.
78161         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
78162         many older Unixes require this.
78163         * lib/alloca.c (alloca): Remove cast to argument of free;
78164         no longer needed in C89.
78165         * lib/alloca_.h, regex.h: Fix white space to match
78166         what GNU indent does.
78167
78168 2003-08-09  Paul Eggert  <eggert@twinsun.com>
78169
78170         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
78171         apparently Emacs's Unicode mode got confused before my 2003-08-05
78172         checkin.
78173
78174 2003-08-08  Paul Eggert  <eggert@twinsun.com>
78175
78176         * m4/extensions.m4: New file.
78177         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
78178         Require gl_USE_SYSTEM_EXTENSIONS.
78179         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
78180         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
78181
78182 2003-08-08  Paul Eggert  <eggert@twinsun.com>
78183
78184         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
78185         * modules/extensions, modules/gnu-source: New files.
78186         * modules/timespec, modules/unlocked-io: Depend on extensions.
78187
78188 2003-08-07  Paul Eggert  <eggert@twinsun.com>
78189
78190         * modules/restrict: New file.
78191         * MODULES.html.sh (func_all_modules): Add restrict.
78192         * modules/regex: Depend on restrict.
78193
78194 2003-08-07  Paul Eggert  <eggert@twinsun.com>
78195
78196         * m4/restrict.m4: New file.
78197         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
78198
78199 2003-08-07  Bruno Haible  <bruno@clisp.org>
78200
78201         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
78202         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
78203
78204 2003-08-07  Bruno Haible  <bruno@clisp.org>
78205
78206         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
78207         makes the module 'getndelim2' compatible with the module 'getline'.
78208
78209 2003-08-05  Paul Eggert  <eggert@twinsun.com>
78210
78211         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
78212         byte with "\201" to avoid glitches when editing that source file
78213         with multi-gnome-terminal.
78214
78215 2003-08-05  Paul Eggert  <eggert@twinsun.com>
78216
78217         * lib/bumpalloc.h: Remove.
78218
78219 2003-08-05  Paul Eggert  <eggert@twinsun.com>
78220
78221         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
78222         * modules/bumpalloc: Remove.
78223
78224 2003-08-04  Paul Eggert  <eggert@twinsun.com>
78225
78226         * lib/getloadavg.c: Change copyright notice and spacing to conform to
78227         GNU coding style.
78228
78229         Merge from coreutils.
78230         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
78231         1. From glibc.
78232         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
78233         from Karl Berry, implemented by Jim Meyering.
78234         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
78235         from Dmitry V. Levin.
78236         Remove anachronistic cast of xrealloc.
78237         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
78238         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
78239         type. Otherwise, it wouldn't compile with at least /bin/cc on
78240         ymp-cray-unicos9.0.2.X.
78241         Combine two mostly-identical uses of alloca into one.
78242         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
78243
78244 2003-08-04  Dave Love  <d.love@dl.ac.uk>
78245
78246         [From Emacs.]
78247
78248         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
78249         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
78250         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
78251         obsolete NLIST_NAME_UNION.
78252         [__GNU__]: Undef BSD and FSCALE.
78253         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
78254
78255 2003-08-03  Paul Eggert  <eggert@twinsun.com>
78256
78257         * lib/stdbool_.h (_Bool): Make it signed char, instead of
78258         an enum type, so that it's guaranteed to promote to int.  See:
78259         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
78260
78261 2003-08-03  Karl Berry  <karl@gnu.org>
78262
78263         * config/depcomp: update from automake.
78264
78265 2003-07-31  Paul Eggert  <eggert@twinsun.com>
78266
78267         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
78268         (strerror): Don't assume that a printable int fits in 14 bytes.
78269
78270 2003-07-31  Bruno Haible  <bruno@clisp.org>
78271
78272         * modules/getpass-gnu: New file.
78273         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
78274
78275 2003-07-31  Bruno Haible  <bruno@clisp.org>
78276
78277         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
78278
78279 2003-07-24  Karl Berry  <karl@gnu.org>
78280
78281         * config/missing: update from automake.
78282
78283 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
78284             Bruno Haible  <bruno@clisp.org>
78285
78286         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
78287         * lib/getline.c (getline, getdelim): Likewise.
78288         Remove _GNU_SOURCE define; now it's defined in config.h through
78289         m4/getline.m4.
78290
78291 2003-07-23  Karl Berry  <karl@gnu.org>
78292
78293         * config/config.sub: update from prep.
78294
78295 2003-07-22  Paul Eggert  <eggert@twinsun.com>
78296
78297         * modules/xalloc (Depends-on): Add exitfail.
78298         * modules/xmemcoll: Likewise.
78299
78300 2003-07-22  Paul Eggert  <eggert@twinsun.com>
78301
78302         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
78303         over-parenthesization in macros.
78304
78305         Sync with coreutils.
78306
78307         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
78308         required by C99.
78309
78310         Use `exit_failure' for xalloc and xmemcoll instead of their own
78311         private exit-failure variables.
78312         * lib/xalloc.h (xalloc_exit_failure): Remove.
78313         * lib/xmalloc.c: Likewise.  Include exitfail.h.
78314         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
78315         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
78316         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
78317         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
78318
78319 2003-07-20  Jim Meyering  <jim@meyering.net>
78320
78321         * modules/closeout (Depends-on): Add exitfail.
78322         Suggestion from Bruno Haible.
78323
78324 2003-07-19  Karl Berry  <karl@gnu.org>
78325
78326         * config/config.sub: update from prep.
78327
78328 2003-07-18  Paul Eggert  <eggert@twinsun.com>
78329
78330         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
78331         Remove.
78332         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
78333         to test that it can stand by itself.  Include "exitfail.h".
78334         Clients should set exit_failure instead.
78335         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
78336
78337 2003-07-18  Bruno Haible  <bruno@clisp.org>
78338
78339         * modules/getndelim2: New file.
78340         * modules/getline: Share files with module getndelim2.
78341         * modules/getnline: Depend on getndelim2 instead of sharing files with
78342         it. Add getnline.c to lib_SOURCES.
78343         * MODULES.html.sh (func_all_modules): Add getndelim2.
78344
78345 2003-07-18  Bruno Haible  <bruno@clisp.org>
78346
78347         * m4/getndelim2.m4: New file.
78348         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
78349         invoke gl_PREREQ_GETNDELIM2.
78350         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
78351         gl_PREREQ_GETNDELIM2.
78352         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
78353         gl_GETNDELIM2.
78354
78355 2003-07-18  Bruno Haible  <bruno@clisp.org>
78356
78357         * lib/getndelim2.h: New file.
78358         * lib/getndelim2.c: Make into a module of its own. Include config.h,
78359         getndelim2.h.
78360         (getndelim2): Make non-static. Change return type to ssize_t.
78361         * lib/getline.h: Change argument names.
78362         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
78363         * lib/getnline.c: Include getndelim2.h.
78364
78365 2003-07-18  Andreas Schwab  <schwab@suse.de>
78366
78367         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
78368
78369 2003-07-17  Karl Berry  <karl@gnu.org>
78370
78371         * config/config.sub: update from prep.
78372
78373 2003-07-17  Bruno Haible  <bruno@clisp.org>
78374
78375         * modules/getnline: New file.
78376         * modules/getline: Add lib/getndelim2.c to source file list.
78377         * MODULES.html.sh (func_all_modules): Add getnline.
78378
78379 2003-07-17  Bruno Haible  <bruno@clisp.org>
78380
78381         * m4/getnline.m4: New file.
78382
78383 2003-07-17  Bruno Haible  <bruno@clisp.org>
78384
78385         * m4/Makefile.am.in: Remove file.
78386         * m4/Makefile.am: Remove file.
78387         * m4/Makefile.in: Remove file.
78388
78389 2003-07-17  Bruno Haible  <bruno@clisp.org>
78390
78391         * lib/getnline.h: New file.
78392         * lib/getnline.c: New file.
78393         * lib/getndelim2.c: New file, extracted from getline.c.
78394         (getndelim2): Renamed from getdelim2, with added nmax argument.
78395         * lib/getline.c: Include getndelim2.c.
78396         (getdelim2): Moved out to getndelim2.c.
78397         (getline, getdelim): Update.
78398
78399 2003-07-17  Bruno Haible  <bruno@clisp.org>
78400
78401         * lib/Makefile.am: Remove file.
78402         * lib/Makefile.in: Remove file.
78403
78404 2003-07-17  Bruno Haible  <bruno@clisp.org>
78405
78406         * configure.in: Remove file.
78407         * Makefile.in: Remove file.
78408
78409 2003-07-17  Bruno Haible  <bruno@clisp.org>
78410
78411         * MODULES.html.sh: Put the </BODY> right before </HTML>.
78412
78413 2003-07-16  Karl Berry  <karl@gnu.org>
78414
78415         * config/srclist-update: was running fixlicense twice, which caused
78416                 texinfo.tex to be nullified for some reason.  Simplify,
78417                 $gplsrc is no longer needed as far as I can see?
78418
78419 2003-07-16  Jim Meyering  <jim@meyering.net>
78420
78421         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
78422
78423 2003-07-15  Paul Eggert  <eggert@twinsun.com>
78424
78425         * config/srclist.txt: Get the following files from gettext-runtime/intl
78426         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
78427         ref-del.sin.  From Bruno Haible.
78428         * config/srclist-update (fixfile): Change grep pattern again, since the
78429         previous fix didn't work (there was another trailing $).  Use
78430         '[$]' to escape the $s.
78431
78432 2003-07-15  Karl Berry  <karl@gnu.org>
78433
78434         * lib/vasnprintf.c: update from gettext.
78435
78436 2003-07-15  Karl Berry  <karl@gnu.org>
78437
78438         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
78439         gets expanded when surrounded by '$'.
78440
78441 2003-07-15  Jim Meyering  <jim@meyering.net>
78442
78443         * modules/save-cwd: Don't depend on error.  From Derek Price.
78444
78445 2003-07-15  Jim Meyering  <jim@meyering.net>
78446
78447         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
78448
78449 2003-07-14  Simon Josefsson  <jas@extundo.com>
78450
78451         * modules/mempcpy: New file.
78452         * MODULES.html.sh (func_all_modules): Add mempcpy.
78453
78454 2003-07-14  Simon Josefsson  <jas@extundo.com>
78455
78456         * m4/mempcpy.m4: New file.
78457
78458 2003-07-14  Simon Josefsson  <jas@extundo.com>
78459
78460         * lib/mempcpy.h: New file.
78461         * lib/mempcpy.c: New file.
78462
78463 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78464
78465         * modules/getdate, modules/posixtm: Depend on mktime.
78466
78467 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78468
78469         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
78470         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
78471         unicodeio.c, unicodeio.h, unlocked-io.h:
78472         Switch from LGPL to GPL.
78473
78474 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78475
78476         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
78477         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
78478         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
78479         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
78480         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
78481         updated automatically by ../config/srclist-update.  This changes
78482         their license from LPGL to GPL.
78483
78484 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78485
78486         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
78487         assumed to refer to the root of the most recent stable gettext version.
78488         * config/srclistvars.sh: Add defaults for eggert.
78489         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
78490         Match "This program" as well as "The program".  This is needed
78491         for gettext.
78492
78493 2003-07-14  Jim Meyering  <jim@meyering.net>
78494
78495         Don't emit diagnostics.  Let callers do that.
78496         * lib/save-cwd.c: Don't include "error.h".
78497         (save_cwd): Don't call error.  Ensure that errno is valid
78498         when returning nonzero.
78499
78500         * lib/save-cwd.h (restore_cwd): Update prototype.
78501         * lib/save-cwd.c (restore_cwd): Remove two parameters.
78502         Simplify.  Don't call error upon failure.  Let callers do that.
78503         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
78504         when auditing is enabled.  But don't bother updating the #if.
78505
78506 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
78507
78508         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
78509         it breaks C++ compilation.
78510         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
78511
78512 2003-07-10  Simon Josefsson  <jas@extundo.com>
78513
78514         * modules/strchrnul (Makefile.am): Add strchrnul.h.
78515
78516 2003-07-10  Jim Meyering  <jim@meyering.net>
78517
78518         * m4/clock_time.m4: Remove trailing blank.
78519         * m4/intmax_t.m4: Likewise.
78520
78521 2003-07-10  Jim Meyering  <jim@meyering.net>
78522
78523         * lib/vasnprintf.c: Remove trailing blanks.
78524         Make cpp indentation consistent.
78525
78526 2003-07-09  Paul Eggert  <eggert@twinsun.com>
78527
78528         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
78529         posixver.c, strftime.c, strnlen.c, strverscmp.c:
78530         Switch from LGPL to GPL.
78531
78532 2003-07-09  Paul Eggert  <eggert@twinsun.com>
78533
78534         * config/srclist.txt: Sort sublists.  Add
78535         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
78536         that differ from gnulib for one reason or another; we'd like this list
78537         to be smaller but for now let's document what we have.
78538
78539 2003-07-08  Paul Eggert  <eggert@twinsun.com>
78540
78541         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
78542         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
78543         and sweeter "eval x=$x".
78544         * config/srclist.txt: Get lib/argp* from glibc.
78545
78546 2003-07-07  Paul Eggert  <eggert@twinsun.com>
78547
78548         * lib/mktime.c: Fix some boundary cases and remove need for floating
78549         point.
78550
78551         Issue a compile-time diagnostic if time_t is floating point, or if
78552         two's complement arithmetic is not in effect, or if arithmetic
78553         right shift does not propagate the sign.  These assumptions were
78554         all in the original code but they weren't checked.
78555
78556         (TIME_T_MIDPOINT, verify): New macros.
78557         (__isleap): Remove; it has integer overflow problems.
78558         (leapyear): New function, without those problems.
78559         (ydhms_tm_diff): Remove; splitting into two parts.
78560         (ydhms_diff): New function, containing the arithmetic part of
78561         the old ydhms_tm_diff function.  Issue a compile-time
78562         diagnostic if we are not using C99 integer division.
78563         Avoid casts when possible.
78564         (guess_time_tm): New function, containing the checking part of
78565         the old ydhms_tm_diff function.  Return the new value, rather than
78566         the difference between it and the old.  Accept a new argument T
78567         so that *T specifies the old value.  Check for overflow in the result.
78568
78569         (__mktime_internal): Use a time_t offset, not a long int offset.
78570         This undoes the 2003-06-04 change, which is no longer needed now
78571         that we have better overflow checking.
78572         (localtime_offset): Likewise.
78573
78574         (__mktime_internal): Avoid harmful overflow on hosts where time_t
78575         and long are 64-bit but int is only 32-bit.
78576         (ydhms_diff): Use long int to store year1 and yday1.
78577         Issue a compile-time diagnostic if long int is not wide enough.
78578
78579         (__mktime_internal): Use long int to store adjusted year and yday.
78580         Use plain C rather than preprocessor commands, if that doesn't
78581         affect efficiency.
78582         Check for overflow (and try to repair) after each probe
78583         rather than checking only at the very end.  This avoids some bugs
78584         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
78585         does not equal GMT offset at maximum time).
78586         Use integer to check for overflow rather than floating point; this
78587         is more portable to non-IEEE hosts, and is a tad faster.
78588         When we detect that we are oscillating between two values,
78589         don't check whether tm_isdst has the requested value, since
78590         we already know the answer.  When tm_isdst has the wrong value,
78591         use a different heuristic to find the right one, based on the
78592         extreme values actually observed in practice in tz2003a,
78593         rather than the (overly optimistic) "previous 3 calendar quarters".
78594
78595         (not_equal_tm, print_tm, check_result): Use "const T" rather than
78596         "T const" to accommodate glibc style.
78597         (check_result): Use less-confusing report format.  "long" -> "long int.
78598         (main): Likewise.
78599         Don't loop if the iteration overflows time_t.
78600         Allow a negative step in the iteration.
78601
78602 2003-07-06  Karl Berry  <karl@gnu.org>
78603
78604         * config/depcomp: update from automake.
78605         * config/config.sub: update from prep.
78606
78607 2003-07-03  Karl Berry  <karl@gnu.org>
78608
78609         * config/config.guess: update from prep.
78610
78611 2003-07-01  Paul Eggert  <eggert@twinsun.com>
78612
78613         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
78614         xreadlink.c now includes it unconditionally.
78615
78616 2003-07-01  Paul Eggert  <eggert@twinsun.com>
78617
78618         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
78619         having it depend on HAVE_SYS_TYPES_H.
78620
78621 2003-07-01  Bruno Haible  <bruno@clisp.org>
78622
78623         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
78624         <sys/types.h> should be sufficient.
78625         Reported by Paul Eggert.
78626
78627 2003-06-26  Karl Berry  <karl@gnu.org>
78628
78629         * config/depcomp: update from automake.
78630
78631 2003-06-26  Bruno Haible  <bruno@clisp.org>
78632
78633         * modules/human: Depend on module stdbool.
78634
78635 2003-06-25  Bruno Haible  <bruno@clisp.org>
78636
78637         * modules/readlink: New file.
78638         * modules/xreadlink: Depend on it.
78639         * MODULES.html.sh (func_all_modules): Add readlink.
78640
78641 2003-06-25  Bruno Haible  <bruno@clisp.org>
78642
78643         * m4/readlink.m4: New file.
78644
78645 2003-06-25  Bruno Haible  <bruno@clisp.org>
78646
78647         * lib/readlink.c: New file.
78648
78649 2003-06-22  Karl Berry  <karl@gnu.org>
78650
78651         * config/srclist.txt: update mkinstalldirs from automake.
78652         * config/mkinstalldirs: update.
78653
78654 2003-06-22  Bruno Haible  <bruno@clisp.org>
78655
78656         Portability to mingw32.
78657         * m4/ssize_t.m4: New file, from GNU gettext.
78658         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
78659         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
78660
78661 2003-06-22  Bruno Haible  <bruno@clisp.org>
78662
78663         * modules/safe-read: Add m4/ssize_t.m4.
78664         * modules/xreadlink: Add m4/ssize_t.m4.
78665
78666 2003-06-20  Bruno Haible  <bruno@clisp.org>
78667
78668         Assume C89, so PARAMS isn't needed.
78669         * lib/unicodeio.h (PARAMS): Remove.
78670         * lib/unicodeio.c: Don't use PARAMS.
78671
78672 2003-06-18  Karl Berry  <karl@gnu.org>
78673
78674         * config/config.{guess,sub}: update from prep.
78675
78676 2003-06-18  Jim Meyering  <jim@meyering.net>
78677
78678         Merge changes from coreutils.
78679         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
78680         Remove explicit declarations of xmalloc and realloc.
78681         Include xalloc.h.
78682         (read_utmp): Remove anachronistic cast of xmalloc.
78683
78684 2003-06-17  Paul Eggert  <eggert@twinsun.com>
78685
78686         Assume C89, so PARAMS isn't needed.
78687         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
78688         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
78689         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
78690         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
78691         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
78692         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
78693         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
78694         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
78695         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
78696         lib/xstrtod.h, lib/xstrtol.h: Likewise.
78697         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
78698         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
78699         no longer needed. Anyway, config.h should always be included before any
78700         other file.
78701
78702 2003-06-11  Simon Josefsson  <jas@extundo.com>
78703
78704         * modules/sysexits: New file.
78705         * MODULES.html.sh (func_all_modules): Add sysexits.
78706
78707 2003-06-11  Simon Josefsson  <jas@extundo.com>
78708
78709         * lib/sysexit_.h: New file.
78710
78711 2003-06-11  Derek Price  <derek@ximbiot.com>
78712
78713         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
78714         necessary.
78715
78716 2003-06-11  Bruno Haible  <bruno@clisp.org>
78717
78718         * m4/sysexits.m4: New file.
78719
78720 2003-06-10  Simon Josefsson  <jas@extundo.com>
78721
78722         * lib/argp.h: New file, from glibc.
78723         * lib/argp-ba.c: New file, from glibc.
78724         * lib/argp-eexst.c: New file, from glibc.
78725         * lib/argp-fmtstream.c: New file, from glibc.
78726         * lib/argp-fmtstream.h: New file, from glibc.
78727         * lib/argp-fs-xinl.c: New file, from glibc.
78728         * lib/argp-help.c: New file, from glibc.
78729         * lib/argp-namefrob.h: New file, from glibc.
78730         * lib/argp-parse.c: New file, from glibc.
78731         * lib/argp-pv.c: New file, from glibc.
78732         * lib/argp-pvh.c: New file, from glibc.
78733         * lib/argp-xinl.c: New file, from glibc.
78734
78735 2003-06-10  Simon Josefsson  <jas@extundo.com>
78736
78737         * modules/strchrnul: New file.
78738
78739 2003-06-10  Simon Josefsson  <jas@extundo.com>
78740
78741         * modules/argp: New file.
78742
78743 2003-06-10  Simon Josefsson  <jas@extundo.com>
78744
78745         * m4/strchrnul.m4: New file.
78746
78747 2003-06-10  Simon Josefsson  <jas@extundo.com>
78748
78749         * lib/strchrnul.h: New file.
78750         * lib/strchrnul.c: New file.
78751
78752 2003-06-10  Bruno Haible  <bruno@clisp.org>
78753
78754         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
78755
78756 2003-06-07  Karl Berry  <karl@gnu.org>
78757
78758         * config/config.{guess,sub}: update from prep.
78759
78760 2003-06-07  Jim Meyering  <jim@meyering.net>
78761
78762         * modules/strtod: Use $(...) notation, not @...@ for
78763         AC_REPLACE'd variables.
78764         * modules/localcharset: Likewise.
78765
78766 2003-06-07  Jim Meyering  <jim@meyering.net>
78767
78768         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
78769         in place of my name in the copyright comment.
78770         Remove definition and uses of __P.
78771
78772         From coreutils.
78773         * lib/stat.c: Don't declare xmalloc explicitly.
78774         Instead, include "xalloc.h".
78775         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
78776         xrealloc, and xcalloc return values.
78777         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
78778         Improve comment.
78779         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
78780
78781 2003-06-07  Bruno Haible  <bruno@clisp.org>
78782
78783         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
78784         avoid AC_CONFIG_LINKS.
78785         * modules/fnmatch (Makefile.am): Use explicit creation rule for
78786         fnmatch.h, to avoid AC_CONFIG_LINKS.
78787         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
78788
78789 2003-06-07  Bruno Haible  <bruno@clisp.org>
78790
78791         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
78792         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
78793         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
78794         directory.
78795         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
78796         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
78797         directory.
78798
78799 2003-06-06  Jim Meyering  <jim@meyering.net>
78800
78801         Merge from coreutils.
78802         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
78803         Consolidate declarations and initializations of *_base* locals.
78804
78805         Merge from coreutils.
78806         This avoids a core dump on systems without GNU putenv,
78807         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
78808         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
78809         (unsetenv): New static function, from GNU libc.
78810         (rpl_putenv): Use it.
78811
78812         * lib/modechange.c: Remove trailing blanks.
78813
78814         Merge from coreutils.
78815         * lib/fsusage.c: Remove declaration of statfs.
78816         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
78817
78818         * lib/posixtm.c: Include <stdbool.h> unconditionally.
78819
78820 2003-06-06  Jim Meyering  <jim@meyering.net>
78821
78822         * lib/stdbool_.h: Renamed from stdbool.h.in.
78823
78824 2003-06-06  Jim Meyering  <jim@meyering.net>
78825             Bruno Haible  <bruno@clisp.org>
78826
78827         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
78828         Adjust Makefile.am snippet not to redirect directly to target.
78829         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
78830
78831 2003-06-05  Paul Eggert  <eggert@twinsun.com>
78832
78833         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
78834         mismatch, look in future quarters as well as past.  This fixes a
78835         bug when processing fall-backwards gaps immediately after a long
78836         period of daylight-saving time.
78837
78838         * lib/mktime.c: Assume freestanding C89 or better.
78839         (HAVE_LIMITS_H): Remove.  Assume it's 1.
78840         (__P): Remove; not used.
78841         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
78842         (mktime, not_equal_tm, print_tm, check_result,
78843         main): Use prototypes.  Use const * where appropriate.
78844         (main): Fix typo in testing code that uncovered by above changes.
78845         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
78846
78847 2003-06-04  Paul Eggert  <eggert@twinsun.com>
78848
78849         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
78850         locale.h, localeconv.  This merges changes from coreutils.
78851
78852         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
78853         It can be removed after the next Autoconf is released.
78854         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
78855         needed.
78856
78857 2003-06-04  Paul Eggert  <eggert@twinsun.com>
78858
78859         * lib/mktime.c: Fix Debian bug 177940
78860         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
78861         (localtime_offset): Now long int, not time_t, because we want it
78862         to be guaranteed to be signed.  All uses changed.
78863         (__mktime_internal): If overflow would occur when adding offset,
78864         don't add it.
78865
78866         Merge 'human' changes from coreutils.  Rewrite to support
78867         locale-specific notations like thousands separators.
78868         * lib/human.c: Simplify authorship notice.
78869         Include human.h immediately after config.h.
78870         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
78871         <limits.h>: Do not include, since human.h does.
78872         (SIZE_MAX, UINTMAX_MAX): New macros.
78873         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
78874         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
78875         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
78876         (power_letter): Renamed from suffixes.
78877         (generate_suffix_backwards): Remove.
78878         (adjust_value): Now takes int style (because of human.h changes)
78879         and long double value (for greater precision on some platforms).
78880         (group_number): New function.
78881         (human_readable): Use it.  Use integer options, not enum.
78882         Put the options before the sizes in the arg list.
78883         Support all the new options.
78884         The old human_readable function has been removed;
78885         use inttostr.h instead.
78886         (human_readable, default_block_size, humblock):
78887         Use uintmax_t, not int, for block sizes.
78888         (human_readable_inexact, block_size_types): Remove.
78889         (block_size_opts): New constant.
78890         (human_options): Renamed from human_block_size, with new signature
78891         that allows block sizes up to UINTMAX_MAX.  All callers changed.
78892         * lib/human.h: Add copyright and authorship notice.
78893         Include <limits.h> and <stdbool.h> unconditionally.
78894         (PARAMS): Remove.  All uses removed.
78895         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
78896         (enum human_inexact_style): Remove tag; now a nameless enum.
78897         (human_floor, human_ceiling, human_round_to_even): Now have
78898         values 2, 0, 1 rather than -1, 1, 0.
78899         (human_group_digits, human_suppress_point_zero, human_autoscale,
78900         human_base_1024, human_SI, human_B): New constants.
78901         (human_readable_inexact, human_block_size): Remove.
78902         (human_readable): Size args are now uintmax_t, not int.
78903         (human_options): New decl.
78904
78905         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
78906         unnecessary now that we assume C89 or better.  This change
78907         imported from coreutils.
78908
78909         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
78910         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
78911         in the 2003-05-30 sync from glibc.
78912
78913         .h files should stand alone, but we shouldn't include <sys/types.h>
78914         if we can get away with just <stddef.h>.
78915
78916         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
78917         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
78918         rather than <sys/types.h>, as we merely need size_t.
78919         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
78920         to get size_t.
78921         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
78922         Include <stdio.h>, to get FILE.
78923         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
78924         memcasecmp.h has included <stddef.h> and all we need is size_t.
78925         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
78926         our interface, instead of including <sys/types.h>
78927
78928 2003-06-04  Paul Eggert  <eggert@twinsun.com>
78929
78930         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
78931         now, as glibc mktime is buggy on non-glibc systems.
78932
78933 2003-06-03  Karl Berry  <karl@gnu.org>
78934
78935         * config/config.sub: update from prep.
78936
78937 2003-06-02  Paul Eggert  <eggert@twinsun.com>
78938
78939         [from coreutils]
78940         Fix some minor time-related bugs with POSIX time arguments.
78941         Some valid time stamps were being rejected (notably -1, and
78942         time stamps before 1900 on 64-bit hosts).  And some invalid
78943         time stamps were being accepted, e.g. September 31.
78944
78945         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
78946         that we can return (time_t) -1 successfully.
78947         * lib/posixtm.c: Likewise.
78948         [HAVE_STDBOOL_H]: Include <stdbool.h>.
78949         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
78950         (t): Remove static var.
78951         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
78952         of static var.  All uses changed.
78953         (year): Do not reject years before 1900; they can occur with
78954         64-bit time_t.
78955         (posix_time_parse): Do not check for out-of-range components;
78956         that is now the caller's responsibility, since our checks were
78957         only approximations.
78958         (posixtime): Use mktime to check for out-of-range components,
78959         since it knows them exactly.
78960         If mktime returns (time_t) -1, check whether an error actually occurred
78961         by invoking localtime on -1.
78962         (main) [TEST_POSIXTIME]: Check for input data errors, and report
78963         posixtime failures better.
78964         Improve the test data (in comments only).
78965
78966 2003-06-02  Karl Berry  <karl@gnu.org>
78967
78968         * config/mkinstalldirs (version): new variable.
78969         (--version): new option.
78970         (usage): improve message.
78971
78972 2003-05-30  Karl Berry  <karl@gnu.org>
78973
78974         * lib/mktime.c: update from libc.
78975
78976 2003-05-30  Bruno Haible  <bruno@clisp.org>
78977
78978         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
78979         * config/config.rpath: Upgrade to gettext-0.12.1.
78980
78981 2003-05-30  Bruno Haible  <bruno@clisp.org>
78982
78983         * m4/gettext.m4: Upgrade to gettext-0.12.1.
78984         * m4/nls.m4: New file, from gettext-0.12.1.
78985         * m4/po.m4: New file, from gettext-0.12.1.
78986         * m4/progtest.m4: Upgrade to gettext-0.12.1.
78987
78988 2003-05-30  Bruno Haible  <bruno@clisp.org>
78989
78990         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
78991         * lib/localcharset.h: Likewise.
78992         * lib/localcharset.c: Likewise.
78993
78994 2003-05-29  Karl Berry  <karl@gnu.org>
78995
78996         * config/config.rpath: update from gettext.
78997
78998 2003-05-28  Paul Eggert  <eggert@twinsun.com>
78999
79000         Assume the headers required for C89 freestanding compilers.
79001         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
79002         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
79003         * m4/human.m4 (gl_HUMAN): Likewise.
79004         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
79005         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
79006         * m4/userspec.m4 (gl_USERSPEC): Likewise.
79007         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
79008         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
79009         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
79010
79011 2003-05-28  Paul Eggert  <eggert@twinsun.com>
79012
79013         Assume the headers required for C89 freestanding compilers.
79014         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
79015         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
79016         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
79017         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
79018         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
79019         define, since <limits.h> is guaranteed to do that.
79020         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
79021         * lib/exclude.c: Include <stdbool.h> unconditionally.
79022         * lib/tempname.c: Include <stddef.h> unconditionally.
79023         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
79024         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
79025         <stddef.h> does that.
79026         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
79027         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
79028         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
79029         needed.
79030         * lib/xstrtol.c: Likewise.
79031         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
79032         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
79033
79034         * lib/addext.c (addext): Use assignment rather than cast, to avoid
79035         warnings on some platforms.
79036
79037         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
79038         arbitrarily.
79039
79040 2003-05-26  Jim Meyering  <jim@meyering.net>
79041
79042         Merge in a change from coreutils:
79043         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
79044         that is guaranteed to be `no'.  Use `no_such_member' to indicate
79045         that condition, rather than `-1' which is slightly misleading.
79046         Change the name of the cache variable to have the gl_ prefix.
79047         Prompted by a patch from Richard Dawe for DJGPP.
79048
79049 2003-05-24  Karl Berry  <karl@gnu.org>
79050
79051         * config/config.guess: update from prep.
79052
79053 2003-05-22  Karl Berry  <karl@gnu.org>
79054
79055         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
79056
79057 2003-05-20  Karl Berry  <karl@gnu.org>
79058
79059         * config/config.guess: update from prep.
79060
79061 2003-05-18  Karl Berry  <karl@gnu.org>
79062
79063         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
79064         might actually be set by the user.
79065
79066         * config/depcomp, install-sh, mdate-sh: update from automake.
79067
79068 2003-05-17  Bruno Haible  <bruno@clisp.org>
79069
79070         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
79071         invalid expansion for AC_EGREP_CPP.
79072         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
79073         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
79074         Suggested by Akim Demaille <akim@epita.fr> in
79075         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
79076
79077 2003-05-12  Jim Meyering  <jim@meyering.net>
79078
79079         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
79080         the space-padded-by-default conversion specifiers, %e, %k, %l.
79081
79082 2003-05-12  Bruno Haible  <bruno@clisp.org>
79083
79084         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
79085         the string is longer than 4 KB.
79086
79087 2003-05-11  Karl Berry  <karl@gnu.org>
79088
79089         * config/config.{guess,sub}: update from prep.
79090
79091 2003-05-09  Bruno Haible  <bruno@clisp.org>
79092
79093         * modules/error: Add m4/strerror_r.m4 to file list.
79094
79095 2003-05-03  Bruno Haible  <bruno@clisp.org>
79096
79097         Upgrade to Unicode-4.0.
79098         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
79099         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
79100         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
79101         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
79102         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
79103         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
79104         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
79105         Change width of U+E0100..U+E01EF from 1 to 0.
79106
79107 2003-04-25  Jim Meyering  <jim@meyering.net>
79108
79109         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
79110         of type size_t, not int.
79111
79112 2003-04-25  Bruno Haible  <bruno@clisp.org>
79113
79114         * lib/copy-file.c: Include <stddef.h>, for size_t.
79115
79116 2003-04-21  Paul Eggert  <eggert@twinsun.com>
79117
79118         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
79119         code which expansion is under static control.  Patch imported from
79120         Akim Demaille's patch to Bison; see
79121         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
79122
79123 2003-04-14  Bruno Haible  <bruno@clisp.org>
79124
79125         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
79126
79127 2003-04-11  Jim Meyering  <jim@meyering.net>
79128
79129         Merge changes from Coreutils.
79130
79131         2003-03-22  Jim Meyering  <jim@meyering.net>
79132
79133         * lib/strftime.c (widen): Cast alloca return value to proper type.
79134
79135         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
79136
79137         From GNU libc.
79138         * lib/strftime.c (my_strftime): Handle very large width
79139         specifications for numeric values correctly.  Improve checks for
79140         overflow.
79141
79142         2003-01-19  Jim Meyering  <jim@meyering.net>
79143
79144         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
79145         definitions.
79146         (nl_get_alt_digit) [! defined my_strftime]: Define.
79147         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
79148         _nl_get_alt_digit and _nl_get_walt_digit.
79149
79150         * lib/strftime.c (my_strftime): Merge in locale-related changes from
79151         libc. These changes have no effect outside of _LIBC.
79152
79153 2003-04-10  Bruno Haible  <bruno@clisp.org>
79154
79155         * modules/findprog: New file.
79156         * MODULES.html.sh (func_all_modules): Add it.
79157
79158 2003-04-10  Bruno Haible  <bruno@clisp.org>
79159
79160         * m4/findprog.m4: New file.
79161         * m4/eaccess.m4: New file.
79162
79163 2003-04-10  Bruno Haible  <bruno@clisp.org>
79164
79165         * lib/findprog.h: New file, from GNU gettext.
79166         * lib/findprog.c: New file, from GNU gettext.
79167
79168 2003-04-05  Jim Meyering  <jim@meyering.net>
79169
79170         Merge changes from Coreutils.
79171
79172         * lib/exclude.h (PARAMS): Remove definition and uses.
79173         * lib/exclude.c: Remove uses of `PARAMS'.
79174
79175         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
79176         Add test-cases for DOS filenames. Declare program_name.
79177         (main): Set up program_name.  Patch by Rich Dawe.
79178
79179         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
79180         error from mntctl.
79181         Use mntctl's return value to drive the entry-processing loop, since
79182         we can't rely on the value of the vmt_length member in the last
79183         entry.  On some systems doing so could result in exhausting
79184         virtual memory.  Based in part on a patch from Mike Jetzer.
79185
79186 2003-04-04  Bruno Haible  <bruno@clisp.org>
79187
79188         * modules/linebreak: New file.
79189         * MODULES.html.sh (func_all_modules): Add it.
79190
79191 2003-04-04  Bruno Haible  <bruno@clisp.org>
79192
79193         * m4/linebreak.m4: New file.
79194
79195 2003-04-04  Bruno Haible  <bruno@clisp.org>
79196
79197         * lib/linebreak.h: New file, from GNU gettext.
79198         * lib/linebreak.c: New file, from GNU gettext with slight
79199         modifications.
79200         * lib/lbrkprop.h: New file, from GNU gettext.
79201
79202 2003-04-03  Bruno Haible  <bruno@clisp.org>
79203
79204         * modules/utf8-ucs4: New file.
79205         * modules/utf16-ucs4: New file.
79206         * modules/ucs4-utf8: New file.
79207         * modules/ucs4-utf16: New file.
79208         * MODULES.html.sh (func_all_modules): Add them.
79209
79210 2003-04-03  Bruno Haible  <bruno@clisp.org>
79211
79212         * m4/utf-ucs4.m4: New file.
79213         * m4/ucs4-utf.m4: New file.
79214
79215 2003-04-03  Bruno Haible  <bruno@clisp.org>
79216
79217         * lib/utf8-ucs4.h: New file, from GNU gettext.
79218         * lib/utf16-ucs4.h: New file, from GNU gettext.
79219         * lib/ucs4-utf8.h: New file, from GNU gettext.
79220         * lib/ucs4-utf16.h: New file, from GNU gettext.
79221
79222 2003-04-02  Bruno Haible  <bruno@clisp.org>
79223
79224         * modules/binary-io: New file.
79225         * MODULES.html.sh (func_all_modules): Add it.
79226
79227 2003-04-02  Bruno Haible  <bruno@clisp.org>
79228
79229         * lib/binary-io.h: New file, from GNU gettext.
79230
79231 2003-04-01  Bruno Haible  <bruno@clisp.org>
79232
79233         * modules/pathname: New file.
79234         * MODULES.html.sh (func_all_modules): Add it.
79235
79236 2003-04-01  Bruno Haible  <bruno@clisp.org>
79237
79238         * lib/pathname.h: New file, from GNU gettext.
79239         * lib/concatpath.c: New file, from GNU gettext.
79240
79241 2003-03-30  Bruno Haible  <bruno@clisp.org>
79242
79243         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
79244
79245 2003-03-30  Bruno Haible  <bruno@clisp.org>
79246
79247         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
79248         function chown() doesn't exist.
79249
79250 2003-03-28  Bruno Haible  <bruno@clisp.org>
79251
79252         * modules/copy-file: New file.
79253         * MODULES.html.sh (func_all_modules): Add it.
79254
79255 2003-03-28  Bruno Haible  <bruno@clisp.org>
79256
79257         * m4/copy-file.m4: New file.
79258
79259 2003-03-28  Bruno Haible  <bruno@clisp.org>
79260
79261         * lib/copy-file.h: New file, from GNU gettext.
79262         * lib/copy-file.c: New file, from GNU gettext.
79263
79264 2003-03-18  Jim Meyering  <jim@meyering.net>
79265
79266         * lib/quote.c (quote_n): Fix typo in comment.
79267
79268 2003-03-18  Bruno Haible  <bruno@clisp.org>
79269
79270         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
79271         checking.
79272         * m4/onceonly_2_57.m4: Likewise.
79273
79274 2003-03-17  Bruno Haible  <bruno@clisp.org>
79275
79276         * m4/onceonly.m4: Require autoconf 2.54 or newer.
79277         (m4_quote): Remove macro.
79278         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
79279
79280 2003-03-14  Jim Meyering  <jim@meyering.net>
79281
79282         Merge changes from Coreutils.
79283         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
79284         to be const, in order to avoid warnings.
79285         (obstack_room): Likewise.
79286         (obstack_empty_p): Likewise.
79287
79288 2003-03-14  Bruno Haible  <bruno@clisp.org>
79289
79290         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
79291         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
79292
79293 2003-03-13  Paul Eggert  <eggert@twinsun.com>
79294
79295         Merge changes from Bison.
79296         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
79297         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
79298         when compiling Bison 1.875's `bitset bset = obstack_alloc
79299         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
79300         * lib/hash.c: Include <stdbool.h> unconditionally.
79301
79302 2003-03-13  Paul Eggert  <eggert@twinsun.com>
79303
79304         * m4/onceonly.m4 (m4_quote): New macro.
79305         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
79306         Quote AC_FOREACH variable-expansions properly.
79307
79308 2003-03-13  Paul Eggert  <eggert@twinsun.com>
79309
79310         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
79311
79312 2003-03-09  Paul Eggert  <eggert@twinsun.com>
79313
79314         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
79315         Reported by Bruce Becker; see:
79316         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
79317
79318 2003-03-03  Paul Eggert  <eggert@twinsun.com>
79319             Bruno Haible  <bruno@clisp.org>
79320
79321         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
79322         Reported by John Hughes, see
79323         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
79324
79325 2003-02-20  Bruno Haible  <bruno@clisp.org>
79326
79327         * MODULES.html.sh (func_all_modules): Add poll.
79328
79329 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79330
79331         * modules/poll: New file.
79332
79333 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79334
79335         * lib/poll_.h: New file.
79336         * lib/poll.c: New file.
79337
79338 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79339
79340         * m4/poll.m4: New file.
79341
79342 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79343
79344         * modules/mathl: New file.
79345
79346 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79347
79348         * lib/mathl.h: New file.
79349         * lib/acosl.c: New file.
79350         * lib/asinl.c: New file.
79351         * lib/atanl.c: New file.
79352         * lib/ceill.c: New file.
79353         * lib/cosl.c: New file.
79354         * lib/expl.c: New file.
79355         * lib/floorl.c: New file.
79356         * lib/frexpl.c: New file.
79357         * lib/ldexpl.c: New file.
79358         * lib/logl.c: New file.
79359         * lib/sincosl.c: New file.
79360         * lib/sinl.c: New file.
79361         * lib/sqrtl.c: New file.
79362         * lib/tanl.c: New file.
79363         * lib/trigl.c: New file.
79364         * lib/trigl.h: New file.
79365
79366 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79367
79368         * m4/mathl.m4: New file.
79369
79370 2003-02-18  Bruno Haible  <bruno@clisp.org>
79371
79372         * MODULES.html.sh (func_all_modules): Add mathl.
79373
79374 2003-02-17  Bruno Haible  <bruno@clisp.org>
79375
79376         * modules/mkdtemp: New module.
79377         * MODULES.html.sh (func_all_modules): Add it.
79378
79379 2003-02-17  Bruno Haible  <bruno@clisp.org>
79380
79381         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
79382
79383 2003-02-17  Bruno Haible  <bruno@clisp.org>
79384
79385         * lib/mkdtemp.h: New file, from GNU gettext.
79386         * lib/mkdtemp.c: New file, from GNU gettext.
79387
79388 2003-02-02  Jim Meyering  <jim@meyering.net>
79389
79390         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
79391         e.g. glibc-2.2.93.
79392
79393 2003-01-31  Bruno Haible  <bruno@clisp.org>
79394
79395         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
79396         'rpl_rename'.
79397         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
79398         'rpl_strnlen'.
79399         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
79400         'rpl_strtod'.
79401         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
79402         'rpl_utime'.
79403
79404 2003-01-31  Bruno Haible  <bruno@clisp.org>
79405
79406         * lib/rename.c: #undef rename before defining rpl_rename.
79407         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
79408
79409 2003-01-30  Bruno Haible  <bruno@clisp.org>
79410
79411         * modules/vasnprintf, modules/vasprintf: New modules.
79412         * MODULES.html.sh (func_all_modules): Add them.
79413
79414 2003-01-30  Bruno Haible  <bruno@clisp.org>
79415
79416         * m4/signed.m4: New file, from GNU gettext.
79417         * m4/longdouble.m4: New file, from GNU gettext.
79418         * m4/wchar_t.m4: New file, from GNU gettext.
79419         * m4/wint_t.m4: New file, from GNU gettext.
79420         * m4/vasnprintf.m4: New file.
79421         * m4/vasprintf.m4: New file.
79422
79423 2003-01-30  Bruno Haible  <bruno@clisp.org>
79424
79425         * lib/printf-args.h: New file, from GNU gettext.
79426         * lib/printf-args.c: New file, from GNU gettext.
79427         * lib/printf-parse.h: New file, from GNU gettext.
79428         * lib/printf-parse.c: New file, from GNU gettext.
79429         * lib/vasnprintf.h: New file, from GNU gettext.
79430         * lib/vasnprintf.c: New file, from GNU gettext.
79431         * lib/asnprintf.c: New file, from GNU gettext.
79432         * lib/vasprintf.h: New file, from GNU gettext with modifications.
79433         * lib/vasprintf.c: New file, from GNU gettext.
79434         * lib/asprintf.c: New file, from GNU gettext.
79435
79436 2003-01-29  Bruno Haible  <bruno@clisp.org>
79437
79438         * modules/stpncpy: New module.
79439         * MODULES.html.sh (func_all_modules): Add it.
79440
79441 2003-01-29  Bruno Haible  <bruno@clisp.org>
79442
79443         * m4/stpncpy.m4: New file.
79444
79445 2003-01-29  Bruno Haible  <bruno@clisp.org>
79446
79447         * lib/stpncpy.h: New file, from GNU gettext with modifications.
79448         * lib/stpncpy.c: New file, from GNU gettext with modifications.
79449
79450 2003-01-28  Bruno Haible  <bruno@clisp.org>
79451
79452         * modules/c-ctype: New module.
79453         * MODULES.html.sh (func_all_modules): Add it.
79454
79455 2003-01-28  Bruno Haible  <bruno@clisp.org>
79456
79457         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
79458         Paul Eggert.
79459         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
79460         Paul Eggert.
79461
79462 2003-01-27  Bruno Haible  <bruno@clisp.org>
79463
79464         * modules/xsetenv: New module.
79465         * MODULES.html.sh (func_all_modules): Add it.
79466
79467 2003-01-27  Bruno Haible  <bruno@clisp.org>
79468
79469         * lib/xsetenv.h: New file, from GNU gettext.
79470         * lib/xsetenv.c: New file, from GNU gettext.
79471
79472 2003-01-23  Jim Meyering  <jim@meyering.net>
79473
79474         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
79475         from working on systems without dirfd (at least Irix and OSF1/Tru64).
79476
79477 2003-01-23  Bruno Haible  <bruno@clisp.org>
79478
79479         * modules/minmax: New module.
79480         * MODULES.html.sh (func_all_modules): Add it.
79481
79482 2003-01-23  Bruno Haible  <bruno@clisp.org>
79483
79484         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
79485         Eggert.
79486
79487 2003-01-22  Bruno Haible  <bruno@clisp.org>
79488
79489         * modules/exit: New module.
79490         * MODULES.html.sh (func_all_modules): Add it.
79491
79492 2003-01-22  Bruno Haible  <bruno@clisp.org>
79493
79494         * lib/exit.h: New file, from GNU gettext.
79495
79496 2003-01-19  Bruno Haible  <bruno@clisp.org>
79497
79498         * gnulib-tool: Recognize option --extract-maintainer.
79499         (func_get_maintainer): New function.
79500         * modules/*: Add Maintainer entry.
79501
79502 2003-01-16  Jim Meyering  <jim@meyering.net>
79503
79504         * m4/regex.m4: The `regex' struct is both input and output.
79505         Initialize it before each use.  Patch by Tim Waugh.
79506
79507 2003-01-16  Bruno Haible  <bruno@clisp.org>
79508
79509         * MODULES.html.sh: Add a table of contents. Add the module name as
79510         leftmost column. Add hyperlinks.
79511
79512 2003-01-15  Bruno Haible  <bruno@clisp.org>
79513
79514         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
79515
79516 2003-01-15  Bruno Haible  <bruno@clisp.org>
79517
79518         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
79519         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
79520         suffix.
79521
79522 2003-01-15  Bruno Haible  <bruno@clisp.org>
79523
79524         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
79525
79526 2003-01-15  Bruno Haible  <bruno@clisp.org>
79527
79528         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
79529         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
79530
79531 2003-01-14  Jim Meyering  <jim@meyering.net>
79532
79533         * lib/same.c (same_name): Tweak a comment.
79534
79535 2003-01-14  Bruno Haible  <bruno@clisp.org>
79536
79537         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
79538         when a string comparison is sufficient.
79539
79540 2003-01-14  Bruno Haible  <bruno@clisp.org>
79541
79542         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
79543         'unsigned int'.
79544
79545 2003-01-14  Bruno Haible  <bruno@clisp.org>
79546
79547         * lib/hash-pjw.c: Add comment about low quality of this function.
79548
79549 2003-01-13  Bruno Haible  <bruno@clisp.org>
79550
79551         * modules/stpcpy: Distribute lib/stpcpy.h.
79552         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
79553
79554 2003-01-13  Bruno Haible  <bruno@clisp.org>
79555
79556         * modules/*: Add a description.
79557         * modules/strpbrk: Fix Makefile.am snippet.
79558         * modules/strtoimax: Fix dependencies.
79559         * modules/strtoumax: Likewise.
79560
79561 2003-01-13  Bruno Haible  <bruno@clisp.org>
79562
79563         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
79564         * modules/alloca (Makefile.am): All object files depend on alloca.h.
79565         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
79566
79567 2003-01-13  Bruno Haible  <bruno@clisp.org>
79568
79569         * gnulib-tool (func_create_testdir): Store config/* files in the main
79570         directory.
79571         * config.rpath: Move to ...
79572         * config/config.rpath: ... here.
79573         * modules/gettext: Contains config/config.rpath, not config.rpath.
79574         * modules/iconv: Likewise.
79575
79576 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79577
79578         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79579         to avoid collisions with libcurses and libreadline.
79580
79581         * m4/getstr.m4: Remove.
79582         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
79583
79584 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79585
79586         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79587         to avoid collisions with libcurses and libreadline.
79588
79589         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
79590         * lib/getstr.h, getstr.c: Remove.
79591         * lib/getline.c: Include "getline.h", to check interface.
79592         Move body of old getstr.c here: this defines MIN_CHUNK and
79593         declares getdelim2, which is renamed from getstr.
79594         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
79595
79596         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
79597         All uses changed.
79598         * lib/linebuffer.h: Likewise.
79599         (readline): Remove backward-compatibility macro.
79600
79601 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79602
79603         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79604         to avoid collisions with libcurses and libreadline.
79605         * getstr: Remove.
79606         * MODULES.html.sh: Remove getstr.
79607         * modules/getline: Depend on unlocked-io, not getstr.
79608
79609 2003-01-12  Jim Meyering  <jim@meyering.net>
79610
79611         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
79612
79613 2003-01-10  Bruno Haible  <bruno@clisp.org>
79614
79615         * modules/alloca: Change Makefile.am requirements. Simplify Include
79616         requirements. Add lib/alloca_.h to file list.
79617
79618 2003-01-10  Bruno Haible  <bruno@clisp.org>
79619
79620         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
79621
79622 2003-01-10  Bruno Haible  <bruno@clisp.org>
79623
79624         * lib/alloca_.h: New file.
79625         * lib/getdate.y: Unconditionally include alloca.h.
79626         * lib/makepath.c: Likewise.
79627         * lib/setenv.c: Likewise.
79628         * lib/userspec.c: Likewise.
79629
79630 2003-01-09  Karl Berry  <karl@gnu.org>
79631
79632         * MODULES.html.sh: include `dirname $0` in PATH, to find
79633         gnulib-tool.
79634
79635 2003-01-09  Bruno Haible  <bruno@clisp.org>
79636
79637         * modules/stdbool: Change configure.ac, Makefile.am requirements.
79638         Simplify Include requirements. Add lib/stdbool.h.in to file list.
79639
79640 2003-01-09  Bruno Haible  <bruno@clisp.org>
79641
79642         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
79643
79644 2003-01-09  Bruno Haible  <bruno@clisp.org>
79645
79646         * lib/stdbool.h.in: New file.
79647
79648 2003-01-09  Bruno Haible  <bruno@clisp.org>
79649
79650         * gnulib-tool (func_all_modules): Ignore files ending in ~.
79651         * MODULES.html.sh: Likewise.
79652
79653 2003-01-08  Jim Meyering  <jim@meyering.net>
79654
79655         * lib/full-write.c: Undefine and define-away `const' after inclusion
79656         of errno.h, not before.  Suggestion from Bruno Haible.
79657
79658 2003-01-08  Bruno Haible  <bruno@clisp.org>
79659
79660         * modules/full-read: Depend on full-write.
79661
79662 2003-01-08  Bruno Haible  <bruno@clisp.org>
79663
79664         * lib/safe-read.c: Include specification header first, to ensure its
79665         selfcontainedness.
79666         * lib/full-write.c: Likewise.
79667
79668 2003-01-07  Jim Meyering  <jim@meyering.net>
79669
79670         * lib/full-write.c: Rework so that it may serve to define full_read,
79671         too.
79672         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
79673
79674 2003-01-07  Bruno Haible  <bruno@clisp.org>
79675
79676         * lib/strtoimax.c: Include <stdint.h> as an alternative to
79677         <inttypes.h>.
79678         * lib/xstrtol.h: Likewise.
79679         * lib/xstrtoimax.c: Likewise.
79680         * lib/xstrtoumax.c: Likewise.
79681         * lib/human.h: Likewise.
79682
79683         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
79684         on systems that have <inttypes.h> but not <stdint.h>.
79685
79686 2003-01-07  Bruno Haible  <bruno@clisp.org>
79687
79688         * MODULES.html.sh: Add copyright notice.
79689         (missed_files): Omit CVS directory entries.
79690         (func_module): Make it work with sed-3.02.
79691         * MODULES.txt: Remove file.
79692
79693 2003-01-06  Jim Meyering  <jim@meyering.net>
79694
79695         * lib/version-etc.c: Update year in translatable copyright string.
79696
79697 2003-01-03  Karl Berry  <karl@gnu.org>
79698
79699         * config/config.{guess,sub}: update from prep.
79700
79701 2003-01-02  Karl Berry  <karl@gnu.org>
79702
79703         * doc/COPYING.DOC: belatedly updated to 1.2.
79704
79705 2003-01-01  Karl Berry  <karl@gnu.org>
79706
79707         * gnulib-tool (func_verify_module): report module name $module in
79708         error message, not $1.
79709         * gnulib-tool (create-testdir): don't complain if destdir couldn't
79710         be created, only if it doesn't exist.
79711         * gnulib-tool (last_checkin_date): don't expand the $Date here.
79712
79713 2002-12-31  Paul Eggert  <eggert@twinsun.com>
79714
79715         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
79716
79717 2002-12-31  Paul Eggert  <eggert@twinsun.com>
79718
79719         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
79720         memcmp if strcoll doesn't work.
79721
79722 2002-12-31  Bruno Haible  <bruno@clisp.org>
79723
79724         * lib/utime.c (utime_null): No need to call ftruncate if the file was
79725         nonempty.
79726
79727 2002-12-31  Bruno Haible  <bruno@clisp.org>
79728
79729         * lib/memcoll.c (STRCOLL): New macro.
79730         (memcoll): Use it.
79731
79732 2002-12-31  Bruno Haible  <bruno@clisp.org>
79733
79734         * lib/localcharset.h: New file.
79735         * lib/localcharset.c: Include it.
79736         * lib/unicodeio.c: Likewise.
79737
79738 2002-12-31  Bruno Haible  <bruno@clisp.org>
79739
79740         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
79741         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
79742
79743 2002-12-31  Bruno Haible  <bruno@clisp.org>
79744
79745         * lib/getline.h: Include <stddef.h>, for size_t.
79746
79747         * lib/unicodeio.h: Include <stddef.h>, for size_t.
79748         * lib/unicodeio.c: Don't include <stddef.h>.
79749
79750 2002-12-31  Bruno Haible  <bruno@clisp.org>
79751
79752         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
79753         HAVE_TM_ZONE.
79754
79755 2002-12-24  Karl Berry  <karl@gnu.org>
79756
79757         * config/config.guess: update from prep.
79758
79759 2002-12-24  Bruno Haible  <bruno@clisp.org>
79760
79761         General infrasructure.
79762         * m4/README: Rewritten.
79763         * m4/onceonly.m4: New file.
79764         * m4/onceonly_2_57.m4: New file.
79765
79766         Module atexit.
79767         * m4/atexit.m4: New file.
79768
79769         Module strtod.
79770         * m4/strtod.m4: New file.
79771
79772         Module strtol.
79773         * m4/strtol.m4: New file.
79774
79775         Module strtoul.
79776         * m4/strtoul.m4: New file.
79777
79778         Module memchr.
79779         * m4/memchr.m4: New file.
79780
79781         Module memcmp.
79782         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
79783         (jm_FUNC_MEMCMP): Invoke it.
79784
79785         Module memcpy.
79786         * m4/memcpy.m4: New file.
79787
79788         Module memmove.
79789         * m4/memmove.m4: New file.
79790
79791         Module memset.
79792         * m4/memset.m4: New file.
79793
79794         Module strcspn.
79795         * m4/strcspn.m4: New file.
79796
79797         Module strpbrk.
79798         * m4/strpbrk.m4: New file.
79799
79800         Module strstr.
79801         * m4/strstr.m4: New file.
79802
79803         Module strerror.
79804         * m4/strerror.m4: New file.
79805
79806         Module mktime.
79807         * m4/mktime.m4: Renamed from jm-mktime.m4.
79808         (gl_PREREQ_MKTIME): New macro.
79809         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
79810
79811         Module malloc.
79812         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
79813         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
79814         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
79815
79816         Module realloc.
79817         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
79818         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
79819         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
79820
79821         Module strftime.
79822         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
79823         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
79824         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
79825         gl_TM_GMTOFF.
79826         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
79827
79828         Module xalloc.
79829         * m4/xalloc.m4: New file.
79830
79831         Module alloca.
79832         * m4/alloca.m4: New file.
79833
79834         Module putenv.
79835         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
79836         (jm_FUNC_PUTENV): Invoke it.
79837
79838         Module setenv.
79839         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
79840         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
79841         when invoked twice.
79842         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
79843         gt_FUNC_SETENV.
79844
79845         Module memrchr.
79846         * m4/memrchr.m4: New file.
79847
79848         Module stpcpy.
79849         * m4/stpcpy.m4: New file.
79850
79851         Module strcase.
79852         * m4/strcase.m4: New file.
79853
79854         Module strdup.
79855         * m4/strdup.m4: New file.
79856
79857         Module strnlen.
79858         * m4/strnlen.m4: New file.
79859
79860         Module strndup.
79861         * m4/strndup.m4: New file.
79862
79863         Module xstrtod.
79864         * m4/xstrtod.m4: New file.
79865
79866         Module xstrtol.
79867         * m4/xstrtol.m4: New file.
79868
79869         Module getdate.
79870         * m4/getdate.m4: New file.
79871
79872         Module unlocked-io.
79873         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
79874         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
79875         * m4/jm-glibc-io.m4n: Remove file.
79876
79877         Module long-options.
79878         * m4/long-options.m4: New file.
79879
79880         Module md5.
79881         * m4/md5.m4: New file.
79882
79883         Module sha.
79884         * m4/sha.m4: New file.
79885
79886         Module getstr.
79887         * m4/getstr.m4: New file.
79888
79889         Module getline.
79890         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
79891         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
79892         <sys/types.h>, for size_t. Use the function name gnu_getline, not
79893         simply getline. Infoke gl_PREREQ_GETLINE.
79894
79895         Module obstack.
79896         * m4/obstack.m4: New file.
79897
79898         Module hash.
79899         * m4/hash.m4: New file.
79900
79901         Module readtokens.
79902         * m4/readtokens.m4: New file.
79903
79904         Module strverscmp.
79905         * m4/strverscmp.m4: New file.
79906
79907         Module stdbool.
79908         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
79909         OSF/1.
79910
79911         Module strtoll.
79912         * m4/strtoll.m4: New file.
79913
79914         Module strtoull.
79915         * m4/strtoull.m4: New file.
79916
79917         Module strtoimax.
79918         * m4/strtoimax.m4: New file.
79919
79920         Module strtoumax.
79921         * m4/strtoumax.m4: New file.
79922
79923         Module xstrtoimax.
79924         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
79925         jm_AC_PREREQ_XSTRTOIMAX.
79926         Moved the strtol prerequisites to strtol.m4.
79927         Moved the strtoll prerequisites to strtoll.m4.
79928         Moved the strtoimax prerequisites to strtoimax.m4.
79929
79930         Module xstrtoumax.
79931         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
79932         jm_AC_PREREQ_XSTRTOUMAX.
79933         Moved the strtoul prerequisites to strtoul.m4.
79934         Moved the strtoull prerequisites to strtoull.m4.
79935         Moved the strtoumax prerequisites to strtoumax.m4.
79936
79937         Module chown.
79938         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
79939         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
79940
79941         Module dup2.
79942         * m4/dup2.m4: New file.
79943
79944         Module ftruncate.
79945         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
79946         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
79947
79948         Module getgroups.
79949         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
79950         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
79951
79952         Module gettimeofday.
79953         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
79954         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
79955         gl_PREREQ_GETTIMEOFDAY.
79956
79957         Module mkdir.
79958         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
79959         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
79960
79961         Module mkstemp.
79962         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
79963         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
79964         jm_AC_TYPE_UINTMAX_T.
79965         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
79966
79967         Module stat.
79968         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
79969         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
79970
79971         Module lstat.
79972         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
79973         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
79974
79975         Module timespec.
79976         * m4/timespec.m4 (gl_TIMESPEC): New macro.
79977         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
79978         * m4/st_mtim.m4: Indentation.
79979
79980         Module nanosleep.
79981         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
79982         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
79983         gl_PREREQ_NANOSLEEP.
79984
79985         Module regex.
79986         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
79987         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
79988         (gl_REGEX): New macro.
79989
79990         Module rename.
79991         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
79992         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
79993
79994         Module rmdir.
79995         * m4/rmdir.m4: New file.
79996
79997         Module utime.
79998         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
79999         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
80000         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
80001
80002         Module dirname.
80003         * m4/dirname.m4: New file.
80004
80005         Module getopt.
80006         * m4/getopt.m4: New file.
80007
80008         Module unistd-safer.
80009         * m4/unistd-safer.m4: New file.
80010
80011         Module fnmatch.
80012         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
80013         declaration.
80014         (gl_PREREQ_FNMATCH_EXTRA): New macro.
80015         (gl_FUNC_FNMATCH_POSIX): New macro.
80016         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
80017         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
80018         simply fnmatch.
80019
80020         Module exclude.
80021         * m4/exclude.m4: New file.
80022
80023         Module human.
80024         * m4/human.m4: New file.
80025
80026         Module acl.
80027         * m4/acl.m4: Nop.
80028
80029         Module backupfile.
80030         * m4/backupfile.m4: New file.
80031         * m4/d-ino.m4: Indentation.
80032
80033         Module fsusage.
80034         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
80035         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
80036         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
80037
80038         Module dirfd.
80039         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
80040         requirements.
80041
80042         Module euidaccess.
80043         * m4/euidaccess.m4: New file.
80044
80045         Module file-type.
80046         * m4/file-type.m4: New file.
80047
80048         Module fileblocks.
80049         * m4/fileblocks.m4: New file.
80050
80051         Module filemode.
80052         * m4/filemode.m4: New file.
80053
80054         Module isdir.
80055         * m4/isdir.m4: New file.
80056
80057         Module lchown.
80058         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
80059         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
80060
80061         Module makepath.
80062         * m4/makepath.m4: New file.
80063
80064         Module modechange.
80065         * m4/modechange.m4: New file.
80066
80067         Module mountlist.
80068         * m4/mountlist.m4: New file.
80069         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
80070         Indentation.
80071
80072         Module path-concat.
80073         * m4/path-concat.m4: New file.
80074
80075         Module pathmax.
80076         * m4/pathmax.m4: New file.
80077
80078         Module same.
80079         * m4/same.m4: New file.
80080
80081         Module save-cwd.
80082         * m4/save-cwd.m4: New file.
80083
80084         Module savedir.
80085         * m4/savedir.m4: New file.
80086
80087         Module xgetcwd.
80088         * m4/xgetcwd.m4: New file.
80089         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
80090
80091         Module xreadlink.
80092         * m4/xreadlink.m4: New file.
80093
80094         Module safe-read.
80095         * m4/safe-read.m4: New file.
80096
80097         Module safe-write.
80098         * m4/safe-write.m4: New file.
80099
80100         Module closeout.
80101         * m4/closeout.m4: New file.
80102
80103         Module stdio-safer.
80104         * m4/stdio-safer.m4: New file.
80105
80106         Module getpass.
80107         * m4/getpass.m4: New file.
80108
80109         Module getugroups.
80110         * m4/getugroups.m4: New file.
80111
80112         Module group-member.
80113         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
80114         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
80115
80116         Module idcache.
80117         * m4/idcache.m4: New file.
80118
80119         Module userspec.
80120         * m4/userspec.m4: New file.
80121
80122         Module gettime.
80123         * m4/clock_time.m4: New file.
80124         * m4/gettime.m4: New file.
80125
80126         Module settime.
80127         * m4/settime.m4: New file.
80128
80129         Module posixtm.
80130         * m4/posixtm.m4: New file.
80131
80132         Module gethostname.
80133         * m4/gethostname.m4: New file.
80134
80135         Module canon-host.
80136         * m4/canon-host.m4: New file.
80137
80138         Module gettext.
80139         * m4/codeset.m4: New file, from gettext-0.11.5.
80140         * m4/gettext.m4: New file, from gettext-0.11.5.
80141         * m4/glibc21.m4: New file, from gettext-0.11.5.
80142         * m4/iconv.m4: New file, from gettext-0.11.5.
80143         * m4/intdiv0.m4: New file, from gettext-0.11.5.
80144         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
80145         * m4/inttypes.m4: New file, from gettext-0.11.5.
80146         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
80147         * m4/isc-posix.m4: New file, from gettext-0.11.5.
80148         * m4/lcmessage.m4: New file, from gettext-0.11.5.
80149         * m4/lib-ld.m4: New file, from gettext-0.11.5.
80150         * m4/lib-link.m4: New file, from gettext-0.11.5.
80151         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
80152         * m4/progtest.m4: New file, from gettext-0.11.5.
80153         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
80154         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
80155         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
80156
80157         Module localcharset.
80158         * m4/localcharset.m4: New file.
80159
80160         Module hard-locale.
80161         * m4/hard-locale.m4: New file.
80162
80163         Module mbswidth.
80164         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
80165         onceonly macros.
80166         * m4/mbrtowc.m4: Add comment.
80167
80168         Module memcasecmp.
80169         * m4/memcasecmp.m4: New file.
80170
80171         Module memcoll.
80172         * m4/memcoll.m4: New file.
80173
80174         Module unicodeio.
80175         * m4/unicodeio.m4: New file.
80176
80177         Module rpmatch.
80178         * m4/rpmatch.m4: New file.
80179
80180         Module yesno.
80181         * m4/yesno.m4: New file.
80182
80183         Module exitfail.
80184         * m4/exitfail.m4: New file.
80185
80186         Module c-stack.
80187         * m4/c-stack.m4 (gl_C_STACK): New macro.
80188         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
80189
80190         Module error.
80191         * m4/error.m4 (gl_ERROR): New macro.
80192         (jm_PREREQ_ERROR): Use onceonly macros.
80193
80194         Module fatal.
80195         * m4/fatal.m4: New file.
80196
80197         Module getloadavg.
80198         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
80199         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
80200
80201         Module getpagesize.
80202         * m4/getpagesize.m4: New file.
80203
80204         Module getusershell.
80205         * m4/getusershell.m4: New file.
80206
80207         Module physmem.
80208         * m4/physmem.m4: New file.
80209
80210         Module posixver.
80211         * m4/posixver.m4: New file.
80212
80213         Module quotearg.
80214         * m4/quotearg.m4: New file.
80215
80216         Module quote.
80217         * m4/quote.m4: New file.
80218
80219         Module readutmp.
80220         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
80221
80222         Module sig2str.
80223         * m4/sig2str.m4: New file.
80224
80225         Other.
80226         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
80227         ulonglong.m4.
80228         * m4/intmax_t.m4: New file.
80229         * m4/d-type.m4: Indentation.
80230         * m4/jm-macros.m4: Update.
80231         * m4/prereq.m4 (jm_PREREQ): Update.
80232         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
80233         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
80234         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
80235         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
80236         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
80237         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
80238         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
80239         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
80240         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
80241         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
80242         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
80243         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
80244         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
80245         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
80246         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
80247         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
80248         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
80249         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
80250         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
80251
80252 2002-12-24  Bruno Haible  <bruno@clisp.org>
80253
80254         * MODULES.txt: Update according to m4/ changes.
80255
80256         Module gettext.
80257         * config.rpath: New file, from gettext-0.11.5.
80258
80259         * modules/*: New module descriptions.
80260         * gnulib-tool: New file.
80261         * MODULES.html.sh: New file.
80262
80263 2002-12-21  Karl Berry  <karl@gnu.org>
80264
80265         * doc/fdl.texi: update to version 1.2.
80266
80267 2002-12-19  Karl Berry  <karl@gnu.org>
80268
80269         * config/config.guess: update from prep.
80270
80271 2002-12-18  Bruno Haible  <bruno@clisp.org>
80272
80273         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
80274         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
80275
80276 2002-12-17  Bruno Haible  <bruno@clisp.org>
80277
80278         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
80279         stdlib.h, string.h.
80280
80281 2002-12-17  Bruno Haible  <bruno@clisp.org>
80282
80283         * lib/canon-host.c (strdup): Remove unused declaration.
80284
80285         * lib/fsusage.c: Include full_read.h.
80286         (get_fs_usage): Use full_read instead of safe_read.
80287
80288         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
80289
80290 2002-12-12  Karl Berry  <karl@gnu.org>
80291
80292         * config/config.guess: update from prep.
80293
80294 2002-12-11  Bruno Haible  <bruno@clisp.org>
80295
80296         * m4/setenv.m4: New file, from gettext-0.11.5.
80297
80298 2002-12-11  Bruno Haible  <bruno@clisp.org>
80299
80300         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
80301         not unsetenv().
80302         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
80303         modifications:
80304
80305         2002-12-11  Bruno Haible  <bruno@clisp.org>
80306
80307                 * setenv.c (alloca): Fall back to malloc.
80308                 (freea): New macro.
80309                 (setenv): Use freea() to free memory allocated with alloca().
80310
80311         2002-11-13  Bruno Haible  <bruno@clisp.org>
80312
80313                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
80314                 function declarations.
80315                 * unsetenv.c (unsetenv): Likewise.
80316
80317         2002-03-04  Bruno Haible  <bruno@clisp.org>
80318
80319                 Portability to AIX 4.3.3.
80320                 * unsetenv.c: New file, extracted from setenv.c.
80321                 * setenv.c: Move the unsetenv() function to unsetenv.c.
80322
80323         2001-12-20  Bruno Haible  <bruno@clisp.org>
80324
80325                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
80326                 use malloc instead. For SunOS 4.
80327
80328         2001-12-11  Bruno Haible  <bruno@clisp.org>
80329
80330                 * setenv.c: Declare alloca.
80331                 (compar_fn_t): New typedef.
80332                 (KNOWN_VALUE, STORE_VALUE): Use it.
80333
80334         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
80335         setenv.h.
80336
80337 2002-12-10  Paul Eggert  <eggert@twinsun.com>
80338
80339         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
80340         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
80341         Choose values that are less likely to collide with system fnmatch
80342         options.
80343         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
80344         defined (e.g., a pure POSIX system).
80345         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
80346         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
80347
80348 2002-12-06  Paul Eggert  <eggert@twinsun.com>
80349
80350         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
80351         a pain in practice to deal with generated m4 files.  This change
80352         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
80353
80354         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
80355         and jm-glibc-io.m4, as they are no longer a special case.
80356         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
80357         kludge and the auto-generation stuff.  Check only whether the
80358         functions are declared, not whether they exist, since older hosts
80359         that don't declare the functions can't use the optimization anyway.
80360
80361 2002-12-06  Jim Meyering  <jim@meyering.net>
80362
80363         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
80364
80365         Merge in changes from libc's misc/error.c, in preparation
80366         for the merge of gnulib's changes back into libc.
80367
80368         * lib/error.c (_): Define only if not already defined.
80369         Move definition to follow all #include directives.
80370         Include unlocked-io.h only if !_LIBC.
80371         [_LIBC]: Include <libio/libioP.h>.
80372         [USE_IN_LIBIO]: Include <libio/iolibio.h>
80373         (fflush): Tweak definition to use INTUSE.
80374         (putc): Define.
80375
80376 2002-12-05  Paul Eggert  <eggert@twinsun.com>
80377
80378         * lib/alloca.c [defined emacs]: Include "lisp.h".
80379         (xalloc_die) [defined emacs]: New macro.
80380         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
80381         [! defined emacs]: Include <xalloc.h>.
80382         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
80383         (pointer): Typedef to POINTER_TYPE *.
80384         (malloc): Remove decl; we now always use xmalloc.
80385         (alloca): Use old-style definition, since Emacs needs this.
80386         Check for arithmetic overflow when computing combined size.
80387
80388 2002-12-04  Paul Eggert  <eggert@twinsun.com>
80389
80390         Do not generate unlocked-io.h automatically, since it's easier to
80391         maintain it by hand.
80392
80393         * lib/unlocked-io.h: New file, from GNU diffutils,
80394         but with proper copyright notice and attribution.
80395         * lib/gen-uio: Remove.
80396         * lib/Makefile.am: Add copyright notice.
80397         (libfetish_a_SOURCES): Add unlocked-io.h.
80398         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
80399         (DISTCLEANFILES, io_functions): Remove macros.
80400         (EXTRA_DIST): Remove gen_uio.
80401         (unlocked-io.h): Remove rule.
80402
80403 2002-12-04  Jim Meyering  <jim@meyering.net>
80404
80405         Reflect the fact that stat.c and lstat.c are no longer generated.
80406         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
80407         (DISTCLEANFILES): Likewise.
80408         (EXTRA_DIST): Likewise.
80409         (all_local): Don't depend on stat.c or lstat.c.
80410         (stat.c, lstat.c): Remove rules.
80411         (EXTRA_DIST): Remove xstat.in.
80412
80413         * lib/xstat.in: Remove file.  Contents moved into stat.c.
80414         * lib/stat.c: New file.  Contents mostly from xstat.in.
80415         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
80416         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
80417
80418         * lib/safe-read.c: Rework so that it may serve to define safe_write,
80419         too.
80420         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
80421
80422 2002-12-03  Jim Meyering  <jim@meyering.net>
80423
80424         * lib/safe-read.c, safe-write.c: Change variable names and comments,
80425         but not semantics, to minimize the differences between these two files.
80426         (safe_read): Change comment to mention SAFE_READ_ERROR.
80427
80428         * lib/safe-read.c (IS_EINTR): Define.
80429         (safe_read): Use IS_EINTR in place of in-function cpp directives.
80430
80431 2002-12-02  Jim Meyering  <jim@meyering.net>
80432
80433         * lib/safe-read.c (EINTR): Define.
80434         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
80435         (INT_MAX): Provide fallback.
80436         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
80437
80438         * lib/safe-read.h (SAFE_READ_ERROR): Define.
80439
80440 2002-12-02  Bruno Haible  <bruno@clisp.org>
80441
80442         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
80443         Define, taken from safe-read.c.
80444         (INT_MAX): Provide fallback.
80445         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
80446         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
80447
80448         * lib/safe-read.c (EINTR): Remove definition.
80449         (safe_read): Don't use EINTR if it is absent.
80450
80451 2002-12-01  Jim Meyering  <jim@meyering.net>
80452
80453         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
80454         zero.
80455         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
80456
80457 2002-11-27  Paul Eggert  <eggert@twinsun.com>
80458
80459         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
80460         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
80461         with `if (! (value < limit)) abort ();', for readability.
80462
80463 2002-11-26  Karl Berry  <karl@gnu.org>
80464
80465         * lib/strdup.c: copy from libc again, with jim's ok.
80466         * lib/.cppi-disable: re-add strdup.c
80467
80468 2002-11-25  Karl Berry  <karl@gnu.org>
80469
80470         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
80471         instead of "strtol.c".
80472
80473 2002-11-25  Karl Berry  <karl@gnu.org>
80474
80475         * config/install-sh: update from automake for variable quoting, $0 in
80476         error msgs, etc.
80477
80478         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
80479         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
80480         entry.
80481
80482 2002-11-25  Jim Meyering  <jim@meyering.net>
80483
80484         * lib/mktime.c: Sync from libc, now that it has the latest fix.
80485
80486 2002-11-24  Karl Berry  <karl@gnu.org>
80487
80488         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
80489         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
80490
80491 2002-11-24  Jim Meyering  <jim@meyering.net>
80492
80493         Update from coreutils:
80494
80495         * lib/mktime.c: Merge in changes from libc.
80496
80497         Avoid a link-time failure on some Linux systems.
80498         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
80499         (otherwise).
80500         (__mon_yday): Declare with the STATIC attribute.
80501         (__mktime_internal): Likewise.
80502         Based on a report from Greg Schafer.
80503
80504 2002-11-23  Jim Meyering  <jim@meyering.net>
80505
80506         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
80507         Use `unsigned', not `int', as type of index.
80508
80509         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
80510
80511         * lib/fsusage.c: Remove unneeded parentheses around operands of
80512         `defined'.
80513
80514 2002-11-22  Paul Eggert  <eggert@twinsun.com>
80515
80516         * lib/quotearg.h: Allow multiple inclusion by surrounding with
80517         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
80518         so that we can be included first.
80519         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
80520         * lib/quotearg.c: Include quotearg.h immediately after config.h.
80521         No need to include stddef.h or sys/types.h any more.
80522         Surround local include files with "", not "<>".
80523         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
80524         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
80525         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
80526         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
80527         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
80528         (ISPRINT): Remove; no longer needed now that we assume C89.
80529
80530         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
80531         Preserve errno.
80532
80533         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
80534         quotearg_char): Use SIZE_MAX rather than
80535         (size_t) -1 when we are talking about "infinity".
80536
80537         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
80538
80539 2002-11-22  Paul Eggert  <eggert@twinsun.com>
80540
80541         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
80542         hint that one should use `if (! x) abort ();' rather than `assert
80543         (x);', and anyway it's one less thing to worry about configuring.
80544         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
80545         hash_rehash, hash_insert): Use abort rather than assert.
80546
80547 2002-11-22  Bruno Haible  <bruno@clisp.org>
80548
80549         * lib/safe-read.h: Assume C89. Add comments.
80550         (safe_read): Change return type to size_t.
80551         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
80552         byte counts > SSIZE_MAX correctly.
80553         * lib/safe-write.h: New file.
80554         * lib/safe-write.c: New file.
80555         * lib/full-read.h: New file.
80556         * lib/full-read.c: New file.
80557         * lib/full-write.h: Assume C89. Add comments.
80558         * lib/full-write.c: Include safe-write.h.
80559         (full_write): Rewritten to use safe_write.
80560         Suggested by Jim Meyering and Paul Eggert.
80561
80562 2002-11-21  Jim Meyering  <jim@meyering.net>
80563
80564         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
80565
80566         Merge in changes from the coreutils.
80567
80568         2002-09-25  Paul Eggert  <eggert@twinsun.com>
80569         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
80570         <stdint.h>.
80571         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
80572         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
80573         int.  Work more efficiently if X is the same width as uintmax_t.
80574         Do not compare X to -1, to avoid bogus compiler warning.
80575         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
80576         Don't assume that f_frsize and f_bsize are the same type.
80577
80578         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
80579         warning on FreeBSD.
80580
80581         * lib/makepath.c (make_path): Restore umask *before* creating the final
80582         component.
80583         (make_path): Minor reformatting.
80584
80585         * lib/xmalloc.c: Adjust to work with new autoconf macros,
80586         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
80587         HAVE_MALLOC/HAVE_REALLOC.
80588
80589         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
80590         dummy ones.  At least on GNU/Linux systems, `auto' means something
80591         else.
80592         From Michael Stone.
80593
80594 2002-11-21  Bruno Haible  <bruno@clisp.org>
80595
80596         Remove case insensitive option matching.
80597         * lib/argmatch.h (argcasematch): Remove declaration.
80598         (ARGCASEMATCH): Remove macro.
80599         (__xargmatch_internal): Remove case_sensitive argument.
80600         (XARGMATCH): Update.
80601         (XARGCASEMATCH): Remove macro.
80602         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
80603         case_sensitive argument.
80604         (argcasematch): Remove function.
80605         (__xargmatch_internal): Remove case_sensitive argument.
80606         (main): Use XARGMATCH instead of XARGCASEMATCH.
80607
80608         * lib/xmalloc.c: Change compile-time error message. Add comment about
80609         required autoconf version.
80610
80611 2002-11-20  Paul Eggert  <eggert@twinsun.com>
80612
80613         Merge argmatch cleanups from Bison.  Assume C89.
80614
80615         * lib/argmatch.c: Include config.h here, not in argmatch.h.
80616         Include stdlib.h, for EXIT_FAILURE.
80617         Always include <string.h>, since we assume C89.
80618         (EXIT_FAILURE): Remove pre-C89 bug workaround.
80619         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
80620         Include <stddef.h> instead, since it's all we need for size_t.
80621         (PARAMS): Remove.  All uses removed.
80622         (ARRAY_CARDINALITY): Do not bother to #undef.
80623         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
80624         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
80625         Remove unnecessary parentheses.
80626         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
80627         Insert necessary parentheses.
80628         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
80629         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
80630
80631 2002-11-19  Bruno Haible  <bruno@clisp.org>
80632
80633         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
80634         * lib/mbswidth.h: Include <stddef.h>, for size_t.
80635
80636         * lib/mbswidth.h (PARAMS): Remove macro.
80637         (mbswidth, mbsnwidth): Use ANSI C function declarations.
80638         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
80639
80640         * lib/gcd.h (PARAMS): Remove macro.
80641         (gcd): Use ANSI C function declarations.
80642         * lib/gcd.c (gcd): Likewise.
80643
80644 2002-11-15  Bruno Haible  <bruno@clisp.org>
80645
80646         * lib/strcspn.c: Include <stddef.h>.
80647         (strcspn): Use ANSI C function declaration. Change return type to
80648         size_t. Use NULL.
80649         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
80650         (strpbrk): Use NULL.
80651         * lib/strpbrk.h (PARAMS): Remove macro.
80652         (strpbrk): Use ANSI C function declaration.
80653         * lib/strstr.c: Don't include <sys/types.h>.
80654         * lib/strstr.h (PARAMS): Remove macro.
80655         (strstr): Use ANSI C function declarations.
80656
80657 2002-11-14  Karl Berry  <karl@gnu.org>
80658
80659         * config/mkinstalldirs: `do' on separate line, instead of
80660         `for var; do'.
80661
80662 2002-11-06  Bruno Haible  <bruno@clisp.org>
80663
80664         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
80665         * lib/gcd.c (gcd): Likewise.
80666
80667 2002-11-05  Bruno Haible  <bruno@clisp.org>
80668
80669         * lib/gcd.h: New file, from gettext-0.11.5.
80670         * lib/gcd.c: New file, from gettext-0.11.5.
80671
80672 2002-11-05  Bruno Haible  <bruno@clisp.org>
80673
80674         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80675         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80676         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80677         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80678
80679         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
80680         <libintl.h>.
80681         * lib/makepath.c: Include gettext.h instead of <locale.h> and
80682         <libintl.h>.
80683
80684         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
80685         * lib/human.c: Include gettext.h instead of <libintl.h>.
80686         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
80687         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
80688         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
80689         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
80690         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
80691         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
80692         (textdomain): Remove definition.
80693         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
80694
80695         * lib/long-options.c: Remove include of <libintl.h> and definition of
80696         _.
80697         * lib/same.c: Remove include of <libintl.h> and definition of _.
80698
80699 2002-11-04  Owen Taylor  <otaylor@redhat.com>
80700
80701         * lib/config.charset: A few additions for Solaris.
80702
80703 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
80704
80705         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
80706         * lib/localcharset.c (locale_charset): Declare as extern "C".
80707
80708 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
80709
80710         * lib/config.charset: msdos in uk_UA uses CP1125.
80711
80712 2002-11-04  Bruno Haible  <bruno@clisp.org>
80713
80714         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
80715         * lib/strcase.h: New file, from GNU gettext-0.11.5.
80716         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
80717         * lib/strstr.h: New file, from GNU gettext-0.11.5.
80718         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
80719
80720 2002-11-04  Bruno Haible  <bruno@clisp.org>
80721
80722         * lib/localcharset.c (locale_charset): Don't return an empty string.
80723
80724 2002-11-04  Bruno Haible  <bruno@clisp.org>
80725
80726         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
80727         aliases.
80728
80729 2002-11-04  Bruno Haible  <bruno@clisp.org>
80730
80731         * lib/config.charset: Update for newest glibc. Add canonical names
80732         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
80733
80734 2002-11-04  Bruno Haible  <bruno@clisp.org>
80735
80736         * lib/config.charset: Add support for NetBSD.
80737
80738 2002-11-04  Bruno Haible  <bruno@clisp.org>
80739
80740         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
80741
80742 2002-11-01  Bruno Haible  <bruno@clisp.org>
80743
80744         * configure.in: Add AC_CONFIG_AUX_DIR call.
80745         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
80746         test/Makefile.
80747         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
80748
80749 2002-09-28  Karl Berry  <karl@gnu.org>
80750
80751         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
80752         installed automake until the next release, since changes have been
80753         made.
80754
80755 2002-09-25  Karl Berry  <karl@gnu.org>
80756
80757         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
80758         * lib/getopt*: copy from libc/posix.
80759         * lib/gettext.h: copy from gettext.
80760         * lib/.cppi-disable: add strdup.c, gettext.h.
80761
80762 2002-09-25  Karl Berry  <karl@gnu.org>
80763
80764         * config/srclist.txt: enable gettext.h check.
80765         * config/config.{guess,sub}: update from prep.
80766         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
80767                 from automake 1.6.3.
80768         See srclist*.
80769
80770 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
80771
80772         * regex.c (PATFETCH): Remove the translating fetch.
80773         (PATFETCH_RAW): Rename to PATFETCH.
80774         (set_image_of_range): New fun.
80775         (SET_RANGE_TABLE_WORK_AREA): Use it.
80776         (regex_compile): Don't translate the pattern chars so eagerly.
80777         Only do it when inserting an `exactn' bytecode or when handling
80778         a char-range.
80779         (mutually_exclusive_p): Avoid empty statement.
80780
80781 2002-07-06  Jim Meyering  <meyering@lucent.com>
80782
80783         * m4/README: Don't mention Makefile.am.in.
80784         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
80785
80786 2002-07-01  Jim Meyering  <meyering@lucent.com>
80787
80788         * lib/c-stack.c: Include sys/time.h.
80789         From Volker Borchert.
80790
80791 2002-06-26  Paul Eggert  <eggert@twinsun.com>
80792
80793         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
80794
80795 2002-06-26  Paul Eggert  <eggert@twinsun.com>
80796
80797         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
80798         New macro.  Use it uniformly instead of
80799         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
80800         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
80801         reported by Vin Shelton.
80802
80803 2002-06-22  Paul Eggert  <eggert@twinsun.com>
80804
80805         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
80806         Do not assume SA_SIGINFO behavior.
80807         Bug reported by Jim Meyering on NetBSD 1.5.2.
80808
80809 2002-06-22  Jim Meyering  <meyering@lucent.com>
80810
80811         * m4/c-stack.m4: New file, from diffutils-2.8.2.
80812         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
80813
80814         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
80815         now that configure.ac uses AC_GNU_SOURCE.
80816         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
80817         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
80818
80819         Update to latest tools.  Suggestions from Paul Eggert.
80820         * m4/stdbool.m4: New file, from diffutils-2.8.2.
80821         * m4/gnu-source.m4: Update from diffutils-2.8.2.
80822         * m4/fnmatch.m4: Likewise.
80823         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
80824         to AC_HEADER_STDBOOL
80825
80826 2002-06-22  Jim Meyering  <meyering@lucent.com>
80827
80828         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
80829         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
80830
80831 2002-06-22  Jim Meyering  <meyering@lucent.com>
80832
80833         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
80834
80835         * lib/exitfail.c, exitfail.h: Likewise.
80836         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
80837
80838         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
80839         of fnmatch.h.
80840         (EXTRA_DIST): Add fnmatch_loop.c.
80841         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
80842
80843         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
80844         * lib/fnmatch.c: Update from diffutils-2.8.2.
80845         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
80846         * lib/fnmatch.h: Remove file.
80847
80848 2002-06-21  Jim Meyering  <meyering@lucent.com>
80849
80850         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
80851         * m4/mbrtowc.m4: Likewise.
80852
80853         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
80854         * m4/mbswidth.m4: Reflect name change:
80855         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
80856         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
80857
80858         * m4/lib-link.m4: Update from gettext-0.11.2.
80859         * m4/gettext.m4: Likewise.
80860
80861         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
80862         From Alfred M. Szmidt.
80863
80864 2002-06-18  Paul Eggert  <eggert@twinsun.com>
80865
80866         * lib/file-type.h: Report an error if neither S_ISREG nor
80867         S_IFREG is defined, instead of using a test specific to glibc
80868         2.2.  This should be safe, since POSIX requires S_ISREG and
80869         Unix Version 7 had S_IFREG.  We don't need to check for
80870         <sys/types.h> since we don't use any symbols that it defines.
80871
80872 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
80873
80874         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
80875         $@-t, so that each temporary file name is unique and valid in the first
80876         8 characters, for operation under DOS.
80877
80878 2002-06-15  Paul Eggert  <eggert@twinsun.com>
80879
80880         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
80881
80882 2002-06-15  Jim Meyering  <meyering@lucent.com>
80883
80884         Work even with DJGPP 2.03, which lacks support for symlinks.
80885         From Richard Dawe.
80886         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
80887         is defined.
80888         * lib/lchown.c (S_ISLNK): Likewise.
80889
80890 2002-06-15  Jim Meyering  <meyering@lucent.com>
80891
80892         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
80893         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
80894         have been included before this file.
80895
80896 2002-06-14  Jim Meyering  <meyering@lucent.com>
80897
80898         * lib/file-type.h: Use the version from diffutils-2.8.2.
80899         * lib/file-type.c: Likewise.
80900
80901 2002-06-07  Jim Meyering  <meyering@lucent.com>
80902
80903         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
80904         They're needed at least for NetBSD 1.5.2.
80905         ($statxfs_includes): Include those same headers.
80906         ($statxfs_includes): Include sys/vfs.h if available.
80907         ($statxfs_includes): Likewise for sys/statvfs.h.
80908         Check for the following members in both structs statfs and statvfs:
80909         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
80910
80911 2002-06-01  Jim Meyering  <meyering@lucent.com>
80912
80913         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
80914         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
80915
80916 2002-05-28  Jim Meyering  <meyering@lucent.com>
80917
80918         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
80919         Reported by Volker Borchert.
80920
80921 2002-05-27  Jim Meyering  <meyering@lucent.com>
80922
80923         Fix a problem seen only on nonconforming systems whereby ls.c's
80924         use of localtime, and then of gettimeofday would cause trouble:
80925         the localtime call used to initialize rpl_gettimeofday's save
80926         mechanism would clobber ls's current local time information so
80927         that in any long listing the first file would always be listed
80928         with date 1970-01-01.  Analysis by Volker Borchert.
80929
80930         * lib/gettimeofday.c (localtime): Undefine.
80931         (rpl_localtime): New function.
80932
80933 2002-05-27  Jim Meyering  <meyering@lucent.com>
80934
80935         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
80936         localtime.
80937
80938         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
80939         use the replacement function; it wouldn't resolve at link time.
80940         Reported by Volker Borchert.
80941
80942 2002-05-22  Jim Meyering  <meyering@lucent.com>
80943
80944         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
80945         file-type.h.
80946         * lib/file-type.h: New file.
80947         * lib/file-type.c (file_type): New file/function.  Extracted from
80948         diffutils.
80949
80950 2002-04-30  Jim Meyering  <meyering@lucent.com>
80951
80952         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
80953
80954 2002-04-29  Paul Eggert  <eggert@twinsun.com>
80955
80956         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
80957
80958 2002-04-29  Paul Eggert  <eggert@twinsun.com>
80959
80960         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
80961         Do not check for alloca.h (no longer used) or stdbool.h (was never
80962         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
80963
80964 2002-04-29  Paul Eggert  <eggert@twinsun.com>
80965
80966         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
80967
80968 2002-04-29  Jim Meyering  <meyering@lucent.com>
80969
80970         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
80971         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
80972         Use AC_FUNC_STRNLEN here instead.
80973
80974         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
80975         With autoconf-2.53a, it's part of AC_PROG_CC.
80976
80977 2002-04-28  Paul Eggert  <eggert@twinsun.com>
80978
80979         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
80980         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
80981
80982 2002-04-28  Paul Eggert  <eggert@twinsun.com>
80983
80984         * lib/sig2str.h, lib/sig2str.c: New files.
80985         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
80986
80987 2002-04-28  Paul Eggert  <eggert@twinsun.com>
80988
80989         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
80990         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
80991         of 127, since 64 is the largest conceivable number for ancient
80992         nonstandard hosts.
80993         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
80994
80995 2002-04-28  Jim Meyering  <meyering@lucent.com>
80996
80997         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
80998
80999 2002-04-24  Jim Meyering  <meyering@lucent.com>
81000
81001         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
81002         (jm_PREREQ): Use it.
81003
81004         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
81005         mach/mach.h fcntl.h.
81006         Check for this function: setlocale.
81007
81008 2002-04-24  Jim Meyering  <meyering@lucent.com>
81009
81010         * lib/gettext.h: New file, from Gettext.
81011         * lib/Makefile.am (INCLUDES): Remove -I../intl.
81012         (libfetish_a_SOURCES): Add gettext.h.
81013
81014 2002-04-16  Jim Meyering  <meyering@lucent.com>
81015
81016         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
81017         ut_pid, ut_id, ut_exit.
81018
81019 2002-04-16  Jim Meyering  <meyering@lucent.com>
81020
81021         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
81022         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
81023         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
81024
81025 2002-04-12  Jim Meyering  <meyering@lucent.com>
81026
81027         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
81028         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
81029         existence of the getmntinfo function.  Needed for Darwin 5.3.
81030
81031         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
81032         This is necessary at least on Darwin 5.3.
81033
81034         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
81035         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
81036         strnlen.o in the library, and that makes some versions of ranlib
81037         object.
81038
81039 2002-04-12  Jim Meyering  <meyering@lucent.com>
81040
81041         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
81042
81043 2002-04-09  Jim Meyering  <meyering@lucent.com>
81044
81045         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
81046         to be more precise.  Rather than saying we're checking whether the
81047         function `works', say what we're testing.
81048         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
81049         Reported by Bruno Haible.
81050
81051 2002-03-10  Jim Meyering  <meyering@lucent.com>
81052
81053         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
81054         Suggestion from Santiago Vila.
81055
81056 2002-03-08  Jim Meyering  <meyering@lucent.com>
81057
81058         * lib/rename.c: Mention that this wrapper is needed also on
81059         mips-dec-ultrix4.4 systems.
81060
81061 2002-03-02  Jim Meyering  <meyering@lucent.com>
81062
81063         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
81064         not HAVE_CLOCK_SETTIME.
81065
81066 2002-02-27  Paul Eggert  <eggert@twinsun.com>
81067
81068         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
81069         Check for clock_settime.
81070
81071 2002-02-27  Paul Eggert  <eggert@twinsun.com>
81072
81073         * lib/nanosleep.h: Rename to....
81074         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
81075
81076         * lib/gettime.c: New file.
81077         * lib/settime.c: New file.
81078         * lib/stime.c: Remove.
81079
81080         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
81081         timespec.h.  Remove nanosleep.h.
81082
81083 2002-02-25  Paul Eggert  <eggert@twinsun.com>
81084
81085         * m4/acl.m4: New file.
81086         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
81087         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
81088
81089 2002-02-25  Paul Eggert  <eggert@twinsun.com>
81090
81091         * lib/acl.c, lib/acl.h: New files.
81092         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
81093
81094 2002-02-24  Jim Meyering  <meyering@lucent.com>
81095
81096         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
81097         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
81098         cause trouble.  Reported by Nelson Beebe.
81099
81100 2002-02-23  Paul Eggert  <eggert@twinsun.com>
81101
81102         * lib/path-concat.c (xpath_concat): Reorder code to pacify
81103         compilers that don't know that xalloc_die never returns.
81104
81105 2002-02-20  Jim Meyering  <meyering@lucent.com>
81106
81107         * lib/getdate.c: Regenerate using bison-1.33.
81108
81109 2002-02-17  Jim Meyering  <meyering@lucent.com>
81110
81111         * config/config.guess (main): Don't use `head -1'; it's no longer
81112         portable. Use `sed 1q' instead.
81113
81114 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
81115
81116         * m4/codeset.m4: Upgrade to gettext-0.11.
81117         * m4/gettext.m4: Upgrade to gettext-0.11.
81118         * m4/glibc21.m4: Upgrade to gettext-0.11.
81119         * m4/iconv.m4: Upgrade to gettext-0.11.
81120         * m4/isc-posix.m4: Upgrade to gettext-0.11.
81121         * m4/lcmessage.m4: Upgrade to gettext-0.11.
81122         * m4/lib-ld.m4: New file, from gettext-0.11.
81123         * m4/lib-link.m4: New file, from gettext-0.11.
81124         * m4/lib-prefix.m4: New file, from gettext-0.11.
81125         * m4/progtest.m4: Upgrade to gettext-0.11.
81126
81127 2002-02-15  Paul Eggert  <eggert@twinsun.com>
81128
81129         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
81130         (jm_PREREQ): Use it.
81131
81132 2002-02-15  Paul Eggert  <eggert@twinsun.com>
81133
81134         * lib/posixver.c, lib/posixver.h: New files.
81135         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
81136
81137 2002-02-02  Paul Eggert  <eggert@twinsun.com>
81138             Bruno Haible  <bruno@clisp.org>
81139
81140         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
81141         (fwrite_success_callback): New declaration.
81142         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
81143         print_unicode_char. Call failure callback instead of error.
81144         (fwrite_success_callback): New function.
81145         (exit_failure_callback): New function.
81146         (fallback_failure_callback): New function.
81147         (print_unicode_char): Call unicode_to_mb.
81148
81149 2002-01-26  Jim Meyering  <meyering@lucent.com>
81150
81151         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
81152         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
81153
81154 2002-01-26  Jim Meyering  <meyering@lucent.com>
81155
81156         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
81157
81158 2002-01-22  Paul Eggert  <eggert@twinsun.com>
81159
81160         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
81161
81162 2002-01-22  Jim Meyering  <meyering@lucent.com>
81163
81164         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
81165         Otherwise, some versions of automake would omit the rule that makes
81166         Makefile from Makefile.in.
81167
81168 2002-01-21  Paul Eggert  <eggert@twinsun.com>
81169
81170         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
81171         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
81172         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
81173         (memcoll): Set errno to zero if there is no error.
81174
81175         * lib/quotearg.c (quotearg_buffer_restyled):
81176         Fix bug with quoting buffers containing NUL when backslashing escapes.
81177         This bug was exposed by the other changes in this patch.
81178         (quotearg_n_options): New arg ARGSIZE.
81179         All callers changed.
81180         (quoting_options_from_style): New function.
81181         (quotearg_n_style): Use it.
81182         (quotearg_n_style_mem): New function.
81183
81184         * lib/quotearg.h (quotearg_n_style_mem): New function.
81185
81186 2002-01-19  Jim Meyering  <meyering@lucent.com>
81187
81188         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
81189         Remove useless quotes: DF_PROG="df".
81190         * m4/strnlen.m4: New file.
81191
81192 2002-01-16  Paul Eggert  <eggert@twinsun.com>
81193
81194         * lib/backupfile.c (ISDIGIT): Comment fix.
81195         * lib/getdate.y (ISDIGIT): Likewise.
81196         * lib/posixtm.c (ISDIGIT, year): Likewise.
81197         * lib/strverscmp.c (ISDIGIT): Likewise.
81198         * lib/userspec.c (ISDIGIT): Likewise.
81199
81200 2002-01-16  Jim Meyering  <meyering@lucent.com>
81201
81202         * lib/getdate.y: Add three semicolons, each just before a closing
81203         brace. Bison (as of version 1.31) no longer papers over that mistake.
81204
81205 2002-01-05  Jim Meyering  <meyering@lucent.com>
81206
81207         * lib/version-etc.c (version_etc_copyright): Update copyright year.
81208
81209 2001-12-19  Paul Eggert  <eggert@twinsun.com>
81210
81211         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
81212         not silently exit merely because the output buffer happens to
81213         have nothing pending.
81214
81215 2001-12-18  Paul Eggert  <eggert@twinsun.com>
81216
81217         See the big note in ../ChangeLog.
81218         * lib/human.c (suffixes): Prefer K to k for 1024.
81219         (generate_suffix_backwards): New function.
81220         (human_readable_inexact): Use it.
81221         * lib/xstrtol.c (__xstrtol): If there is no number but there
81222         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
81223         Accept 'K' as well as 'k'.
81224
81225 2001-12-15  Jim Meyering  <meyering@lucent.com>
81226
81227         * lib/regex.h (__restrict_arr): Update from libc.
81228
81229         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
81230         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
81231         (STREQ): Define.
81232
81233 2001-12-14  Jim Meyering  <meyering@lucent.com>
81234
81235         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
81236         Suggestion from Bruno Haible.
81237
81238 2001-12-10  Jim Meyering  <meyering@lucent.com>
81239
81240         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
81241         xrealloc, Instead, include "xalloc.h".
81242         (initbuffer): Don't cast xmalloc return value to char*.
81243         (readline): Reword comment.
81244         Don't cast xrealloc return value to char*
81245         Return NULL, not 0.
81246
81247 2001-12-09  Jim Meyering  <meyering@lucent.com>
81248
81249         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
81250         about `signed and unsigned type in conditional expression'.
81251         * lib/posixtm.c (posix_time_parse): Likewise.
81252
81253         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
81254
81255         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
81256         to avoid a pedantic warning.
81257
81258         * lib/getstr.c: Don't include assert.h.
81259         (getstr): Remove warning-evoking assertions.
81260         Return -1 if offset parameter is out of bounds.
81261         Change the type of a local from int to size_t.
81262
81263         * lib/strftime.c (my_strftime_localtime_r): Include this function
81264         definition in the `#if ! HAVE_TM_GMTOFF' block.
81265
81266         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
81267         Include xalloc.h instead.
81268
81269 2001-12-02  Jim Meyering  <meyering@lucent.com>
81270
81271         * lib/tempname.c: Don't declare getenv, thus reverting the change of
81272         2001-11-18.  It's no longer necessary, now that stdlib.h is always
81273         included.
81274
81275         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
81276         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
81277
81278 2001-11-30  Akim Demaille  <akim@epita.fr>
81279
81280         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
81281         before being defined.
81282
81283 2001-11-27  Paul Eggert  <eggert@twinsun.com>
81284
81285         * lib/quotearg.h (quotearg_n, quotearg_n_style):
81286         First arg is int, not unsigned.
81287         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
81288         (SIZE_MAX, UINT_MAX): New macros.
81289         (quotearg_n_options): Abort if N is negative.
81290         Avoid overflow check on hosts where size_t is 64 bits and int
81291         is 32 bits, as overflow is impossible there.
81292         Fix off-by-one typo that caused unnecessary reallocation.
81293
81294 2001-11-27  Jim Meyering  <meyering@lucent.com>
81295
81296         * lib/tempname.c: Merge with version from libc.
81297         * lib/regex.c: Likewise.
81298
81299         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
81300         systems for which STDC_HEADERS is 0, it was not included, resulting in
81301         a warning about an integer-to-pointer conversion problem with getenv.
81302         Reported by Volker Borchert.
81303
81304 2001-11-26  Jim Meyering  <meyering@lucent.com>
81305
81306         * lib/gtod.h: Remove file.
81307         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
81308         * lib/gettimeofday.c: Don't include gtod.h.
81309         (GTOD_init): Remove function.
81310         (rpl_gettimeofday): Do its job here instead, rather than aborting.
81311         Suggestion from Volker Borchert.
81312
81313 2001-11-23  Jim Meyering  <meyering@lucent.com>
81314
81315         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
81316         it.
81317         * lib/hash.c (struct hash_table): Define it here instead.
81318
81319 2001-11-22  Jim Meyering  <meyering@lucent.com>
81320
81321         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
81322
81323 2001-11-20  Jim Meyering  <meyering@lucent.com>
81324
81325         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
81326         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
81327
81328 2001-11-19  Jim Meyering  <meyering@lucent.com>
81329
81330         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
81331         directory.  Use "conftestXXXXXX" as the template.
81332         Suggestion from Paul Eggert.
81333
81334         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
81335         immediately, so the test doesn't mistakenly hit the max-open-files
81336         limit.
81337
81338 2001-11-18  Paul Eggert  <eggert@twinsun.com>
81339
81340         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
81341         (TEMPORARIES): New macro.
81342         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
81343         removes an artificial limitation (e.g. HP-UX 10.20, where
81344         TMP_MAX is 17576).
81345
81346 2001-11-18  Jim Meyering  <meyering@lucent.com>
81347
81348         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
81349
81350 2001-11-18  Jim Meyering  <meyering@lucent.com>
81351
81352         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
81353         on SunOS 4.
81354
81355         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
81356         files will be created before anything else.
81357
81358 2001-11-17  Paul Eggert  <eggert@twinsun.com>
81359
81360         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
81361         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
81362
81363 2001-11-17  Jim Meyering  <meyering@lucent.com>
81364
81365         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
81366         Prompted by a report from Bob Proulx.
81367
81368         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
81369         Instead, require UTILS_FUNC_MKSTEMP.
81370
81371 2001-11-17  Jim Meyering  <meyering@lucent.com>
81372
81373         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
81374         Now, that's done as part of AC_FUNC_STRTOD.
81375
81376 2001-11-17  Jim Meyering  <meyering@lucent.com>
81377
81378         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
81379         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
81380         rather than group writable.  Patch by Juan F. Codagnone.
81381
81382         * lib/readtokens.c: Remove explicit declarations of xmalloc and
81383         xrealloc, Instead, include "xalloc.h".
81384
81385         * lib/mountlist.c: Include unlocked-io.h after all system headers.
81386         Remove explicit declarations of xmalloc, xrealloc,
81387         and xstrdup.  Instead, include "xalloc.h".
81388
81389         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
81390         unlocked-io.h.
81391         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
81392         Likewise.
81393         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
81394
81395         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
81396         Reported by Padraig Brady.
81397
81398         * lib/mkstemp.c: #undef mkstemp.
81399         Include config.h.
81400         (rpl_mkstemp): Rename from mkstemp.
81401         Protoize.
81402
81403 2001-11-16  Jim Meyering  <meyering@lucent.com>
81404
81405         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
81406         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
81407         determine the amount of total physical memory, use pstat_getstatic.
81408         HPUX-11 doesn't define _SC_PHYS_PAGES.
81409         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
81410         If sysconf couldn't be used to determine the amount of available
81411         physical memory, use both pstat_getstatic and pstat_getdynamic.
81412         Based on a patch from Bob Proulx.
81413
81414 2001-11-10  Jim Meyering  <meyering@lucent.com>
81415
81416         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
81417         (jm_PREREQ): Use it.
81418
81419 2001-11-09  Jim Meyering  <meyering@lucent.com>
81420
81421         * m4/jm-macros.m4: Require autoconf-2.52f.
81422         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
81423         Use these AC_-prefixed names, not the AM_-prefixed ones.
81424
81425         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
81426
81427 2001-11-05  Jim Meyering  <meyering@lucent.com>
81428
81429         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
81430
81431 2001-11-04  Jim Meyering  <meyering@lucent.com>
81432
81433         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
81434         $DEFS.
81435
81436 2001-11-03  Jim Meyering  <meyering@lucent.com>
81437
81438         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
81439         of AC_DEFUN.
81440
81441         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
81442         know the name of the variable in the macro definition.
81443
81444 2001-11-03  Jim Meyering  <meyering@lucent.com>
81445
81446         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
81447         in argmatch_to_argument call.
81448
81449         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
81450         argument.
81451
81452         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
81453         e.g., a fault due to an attempt to free a NULL pointer.
81454
81455 2001-11-01  Jim Meyering  <meyering@lucent.com>
81456
81457         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
81458         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
81459
81460 2001-11-01  Jim Meyering  <meyering@lucent.com>
81461
81462         * lib/dirfd.c, lib/dirfd.h: New files.
81463         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
81464
81465         * lib/hash.c (hash_print) [TESTING]: Clean up.
81466
81467 2001-10-22  Paul Eggert  <eggert@twinsun.com>
81468
81469         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
81470         to avoid a warning if -Wall.
81471
81472 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
81473
81474         * README: New file
81475         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
81476         (per RMS's instructions, this is now the canonical source)
81477         * lgpl/, gpl/: New directories.
81478
81479 2001-10-21  Paul Eggert  <eggert@twinsun.com>
81480
81481         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
81482
81483 2001-10-21  Jim Meyering  <meyering@lucent.com>
81484
81485         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
81486         this code would end up calling gettext even in packages built
81487         with --disable-nls.
81488         * lib/getopt.c (_): Likewise.
81489         * lib/regex.c (_): Likewise.
81490
81491 2001-10-20  Paul Eggert  <eggert@twinsun.com>
81492
81493         * m4/error.m4 (jm_PREREQ_ERROR):
81494         Do not invoke AC_CHECK_FUNCS with strerror_r, as
81495         AC_FUNC_STRERROR_R does that.
81496         Check for strerror declaration.
81497
81498         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
81499         are supposed to have them these days.
81500         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
81501         Merge changes from latest Autoconf CVS.
81502         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
81503         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
81504         POSIX decided to standardize on the int flavor of strerror_r.
81505
81506 2001-10-20  Paul Eggert  <eggert@twinsun.com>
81507
81508         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
81509         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
81510         Use strerror_r that is only a macro, even if it is not a function.
81511         (strerror): Check for HAVE_DECL_STRERROR before declaring.
81512         (private_strerror): Use prototypes, not old-style function definition.
81513         (print_errno_message): New function.
81514         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
81515         char*-flavored one.
81516         (error_tail, error, error_at_line): Use it.
81517
81518 2001-10-11  Jim Meyering  <meyering@lucent.com>
81519
81520         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
81521         and quote_n (1, ... to avoid clobbering a buffer.
81522
81523 2001-10-05  Jim Meyering  <meyering@lucent.com>
81524
81525         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
81526         hash-pjw.h.
81527         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
81528         * lib/hash-pjw.h: New file.
81529
81530 2001-09-30  Jim Meyering  <meyering@lucent.com>
81531
81532         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
81533         `struct fsstat' has the `f_fstypename' member.
81534         Use that to define FS_TYPE, which is now used to make
81535         the getfsstat link test tighter.
81536
81537 2001-09-30  Jim Meyering  <meyering@lucent.com>
81538
81539         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
81540         Include <sys/ucred.h>, for Apple Darwin.
81541         Include sys/mount.h and sys/fs_types.h only if available.
81542         (FS_TYPE): Define.
81543         (read_filesystem_list): Use FS_TYPE.
81544
81545 2001-09-29  Paul Eggert  <eggert@twinsun.com>
81546
81547         * lib/exclude.c (excluded_filename): 0 -> false, since it's
81548         a boolean context.
81549
81550 2001-09-29  Jim Meyering  <meyering@lucent.com>
81551
81552         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
81553         [one-argument getmntent function]): Include stdio.h before mntent.h.
81554         SunOS 4.1.x needs it for the declaration of `FILE'.
81555         Patch by Volker Borchert.
81556
81557         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
81558         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
81559         sys/fs_types.h, and make the link-test for getfsstat guard #include
81560         directives with appropriate #if HAVE_*_H tests so that we can
81561         detect getfsstat on Apple Darwin1.3.7 systems.
81562         Reported by Nelson Beebe.
81563         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
81564
81565 2001-09-28  Paul Eggert  <eggert@twinsun.com>
81566
81567         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
81568         #defines strtoimax.  Also treat the other strto* functions
81569         like strtoimax.
81570
81571         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
81572         Check for strtoul and strtoumax,
81573         as those declarations are made even in the signed case.
81574         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
81575         Likewise, for strtol and strtoimax.
81576
81577 2001-09-28  Paul Eggert  <eggert@twinsun.com>
81578
81579         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
81580         #defines strtoimax.  Also treat the other strto* functions
81581         like strtoimax.
81582
81583         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
81584         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
81585         (strtoimax, strtoumax): Do not declare if already defined as a macro.
81586
81587 2001-09-26  Jim Meyering  <meyering@lucent.com>
81588
81589         Most macros in unlocked-io.h had the wrong number of arguments.
81590         * lib/gen-uio: New script.
81591         (USE_UNLOCKED_IO): Define to 1 if not already defined.
81592         * lib/unlocked-io.hin: Remove file.
81593         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
81594         rather than trying to embed it here.
81595         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
81596         Reported by Padraig Brady.
81597
81598 2001-09-25  Volker Borchert  <bt@teknon.de>
81599
81600         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
81601         `result'.
81602
81603 2001-09-24  Jim Meyering  <meyering@lucent.com>
81604
81605         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
81606
81607 2001-09-23  Jim Meyering  <meyering@lucent.com>
81608
81609         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
81610         instead of the mere test for existence of mntent.h.  The latter
81611         would get a false-positive on AIX 3.4 systems.
81612         In the outer getmntent if-block, don't die if neither of the getmntent
81613         tests succeeds.  Instead, just fall through and continue with the
81614         remaining tests.
81615
81616 2001-09-23  Jim Meyering  <meyering@lucent.com>
81617
81618         * lib/mountlist.c: Remove useless parentheses in #if directives.
81619         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
81620         the deprecated MOUNTED symbol is no longer defined in mntent.h.
81621
81622 2001-09-22  Jim Meyering  <meyering@lucent.com>
81623
81624         * m4/gettext.m4: New file.  From gettext.
81625         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
81626         * m4/progtest.m4: Likewise
81627         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
81628         * m4/glibc21.m4: Likewise.
81629
81630         * m4/libintl.m4: Remove.  No longer used.
81631
81632 2001-09-22  Jim Meyering  <meyering@lucent.com>
81633
81634         * lib/localcharset.c: Update from latest gettext.
81635         * lib/config.charset: Likewise.
81636
81637 2001-09-20  Jim Meyering  <meyering@lucent.com>
81638
81639         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
81640         strtoimax.
81641         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
81642         strtoumax.
81643
81644 2001-09-20  Jim Meyering  <meyering@lucent.com>
81645
81646         * lib/xstrtol.c (strtoimax): Guard declaration with
81647         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
81648         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
81649         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
81650         (strtoumax): Likewise, for completeness (it wasn't necessary).
81651
81652 2001-09-17  Paul Eggert  <eggert@twinsun.com>
81653
81654         * lib/strtoimax.c (HAVE_LONG_LONG):
81655         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
81656         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
81657         to work around bug in IBM C compiler.
81658
81659 2001-09-17  Jim Meyering  <meyering@lucent.com>
81660
81661         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
81662         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
81663         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
81664         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
81665         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
81666         whenever the right hand side need not be expanded by the shell.
81667
81668 2001-09-16  Paul Eggert  <eggert@twinsun.com>
81669
81670         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
81671         library.  It's not correct, as some older glibcs are buggy.
81672         fnmatch wasn't fixed until glibc 2.2.
81673
81674         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
81675         special shell magic here.
81676
81677 2001-09-16  Jim Meyering  <meyering@lucent.com>
81678
81679         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
81680         * m4/jm-macros.m4: Require it.
81681
81682 2001-09-16  Jim Meyering  <meyering@lucent.com>
81683
81684         * lib/mkdir.c: New file.
81685
81686 2001-09-15  Jim Meyering  <meyering@lucent.com>
81687
81688         * m4/jm-macros.m4: Check for help2man.
81689
81690 2001-09-11  Jim Meyering  <meyering@lucent.com>
81691
81692         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
81693         The body, by Paul Eggert, was moved here from configure.in.
81694         * m4/jm-macros.m4: Require UTILS_HOST_OS.
81695
81696 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81697
81698         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
81699         (jm_PREREQ): Use it.
81700
81701 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81702
81703         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
81704         Use ssize_t, not int, to store result of readlink.
81705         Check for ssize_t overflow as well as size_t overflow,
81706         as POSIX says the result of readlink is implementation-defined
81707         when ssize_t overflows.
81708         Remove unnecessary cast to char*.
81709         Use free+malloc instead of realloc, as the storage doesn't need
81710         to be preserved and it's clearer and can be more efficient that way.
81711         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
81712         * lib/xreadlink.h (xreadlink): Update prototype.
81713
81714 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81715
81716         * lib/xgetcwd.c: Revert some of the previous change; intead,
81717         fix the HAVE_GETCWD_NULL code to behave more like the
81718         !HAVE_GETCWD_NULL code used to.
81719
81720         Include "xalloc.h".
81721         (xgetcwd): Do not return NULL when memory is exhausted; instead,
81722         invoke xalloc_die.
81723
81724 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81725
81726         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
81727         sys/param.h, as pathmax.h includes them.
81728
81729 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81730
81731         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
81732         (jm_PREREQ_XGETCWD): New macro.
81733
81734         * m4/getcwd.m4: New file.
81735
81736 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81737
81738         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
81739         like the HAVE_GETCWD_NULL code.
81740         Include pathmax.h if not HAVE_GETCWD.
81741         Do not include xalloc.h.
81742         (INITIAL_BUFFER_SIZE): New symbol.
81743         Do not use xmalloc / xrealloc, since the caller is responsible for
81744         handling errors.  Preserve errno around `free' during failure.
81745         Do not overrun buffer when using getwd.
81746
81747 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81748
81749         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
81750         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
81751         getcwd (NULL, 0).
81752
81753 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81754
81755         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
81756         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
81757         spotted by Jim Meyering.
81758
81759 2001-09-03  Jim Meyering  <meyering@lucent.com>
81760
81761         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
81762         failure.
81763
81764 2001-09-02  Jim Meyering  <meyering@lucent.com>
81765
81766         * lib/error.c: Update from GNU libc.
81767
81768 2001-09-01  Jim Meyering  <meyering@lucent.com>
81769
81770         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
81771         Used by df.
81772
81773 2001-09-01  Jim Meyering  <meyering@lucent.com>
81774
81775         * lib/xreadlink.c: New file.
81776         * lib/xreadlink.h: New file.
81777         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
81778         xreadlink.h.
81779
81780         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
81781         doesn't conflict with sparc Solaris 7's definition in
81782         /usr/include/sys/int_types.h.
81783
81784         * lib/exclude.c: Use `""', not `<>' to #include non-system header
81785         files.
81786         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
81787         and strncasecmp as r-values.  Unixware didn't have declarations.
81788
81789 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81790
81791         * lib/xstrtol.h: Add copyright notice.
81792         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
81793         LONGINT_INVALID_SUFFIX_CHAR.
81794
81795 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81796
81797         * lib/xstrtol.c (strtoimax): New decl.
81798
81799 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81800
81801         * lib/xgetcwd.c: Don't include pathmax.h.
81802         Include stdlib.h and unistd.h if available.
81803         Include xalloc.h.
81804         (xmalloc, xstrdup, free): Remove decls.
81805         (xgetcwd): Don't assume sizes fit in unsigned.
81806         Check for overflow when computing sizes.
81807         Simplify reallocation code.
81808
81809 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81810
81811         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
81812         a directory's st_size can have an arbitrary value, so the old
81813         usage could waste an arbitrary amount of memory.  All uses
81814         changed.
81815         * lib/savedir.h: Update prototype.
81816
81817 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81818
81819         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
81820
81821         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
81822         old strtoimax.c.
81823
81824         Also, make the following further changes to make this file's
81825         configuration more similar to that of strtol.c:
81826         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
81827         (strtoumax, uintmax_t, strtoull, strtol): Remove.
81828         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
81829         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
81830         changed to signed values.
81831
81832         And make the following changes as well:
81833         Fix copyright notice, as 1999 was missing.
81834         (verify): New macro.
81835         (strtoimax): Check sizes at compile-time, not run-time.
81836         Prefer strtol to strtoll if both work.
81837         (main): Remove; it was not that useful and was a pain to maintain.
81838
81839         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
81840
81841 2001-08-31  Jim Meyering  <meyering@lucent.com>
81842
81843         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
81844         Use an initial, malloc'd, buffer of length 128 rather than
81845         a statically allocated one of length 1024.
81846
81847 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81848
81849         Simplify code, partly by assuming autoconf 2.52 semantics.
81850
81851         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
81852
81853         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
81854         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
81855         All uses removed.
81856         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
81857         Move AC_REQUIRE to next-to-top level, to avoid confusion.
81858         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
81859         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
81860         jm_AC_HEADER_INTTYPES_H.
81861         * m4/jm-macros.m4 (jm_MACROS): Likewise.
81862
81863         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
81864
81865         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
81866         Quote first arg of AC_DEFUN.
81867         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
81868         since they are needed to parse the include file even if we need
81869         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
81870         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
81871         but with opposite signedness.
81872
81873 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81874
81875         Merge 'exclude' changes from tar 1.13.22.
81876         This fixes one or two unlikely storage allocation overflow bugs,
81877         but doesn't change user-visible behavior otherwise.
81878
81879 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81880
81881         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
81882         (jm_PREREQ_EXCLUDE): New macro.
81883
81884 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81885
81886         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
81887         tm to be declared.
81888
81889 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81890
81891         * lib/hash.c: Remove '2001' from copyright notice.
81892
81893 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81894
81895         * lib/full-write.h: New file.
81896         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
81897         * lib/full-write.c: Correct credits, as cccp.c no longer
81898         exists and anyway it was so heavily changed from the old cccp
81899         code as to be unrecognizable.  Include full-write.h.
81900         (full_write): Return size_t, with short writes meaning failure.
81901         All callers changed.  This fixes a bug with large buffers
81902         on 64-bit hosts.
81903         * lib/utime.c: Include full-write.h.
81904
81905 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81906
81907         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
81908         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
81909         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
81910         Include if available.
81911         (<xalloc.h>): Include
81912         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
81913         (verify): New macro.  Use it to verify that EXCLUDE macros do not
81914         collide with FNM macros.
81915         (struct patopts): New struct.
81916         (struct exclude): Use it, as exclude patterns now come with options.
81917         (new_exclude): Support above changes.
81918         (new_exclude, add_exclude_file):
81919         Initial size must now be a power of two to simplify overflow checking.
81920         (free_exclude, fnmatch_no_wildcards): New function.
81921         (excluded_filename): No longer requires options arg, as the options
81922         are determined by add_exclude.  Now returns bool, not int.
81923         (excluded_filename, add_exclude):
81924         Add support for the fancy new exclusion options.
81925         (add_exclude, add_exclude_file): Now takes int options arg.
81926         Check for arithmetic overflow when computing sizes.
81927         (add_exclude_file): xrealloc might modify errno, so don't
81928         realloc until after errno might be used.
81929
81930         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
81931         New macros.
81932         (free_exclude): New decl.
81933         (add_exclude, add_exclude_file): Now takes int options arg.
81934         (excluded_filename): No longer requires options arg, as the options
81935         are determined by add_exclude.  Now returns bool, not int.
81936
81937 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81938
81939         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
81940
81941 2001-08-27  Jim Meyering  <meyering@lucent.com>
81942
81943         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
81944
81945         * lib/version-etc.c (N_): Remove definition.
81946         Revert most of last change.
81947         Instead, simply don't mark the `Copyright...' string for translation.
81948         Based on advice from Paul Eggert.
81949
81950         * lib/strtoxmax.c: Tweak comment.
81951
81952 2001-08-26  Jim Meyering  <meyering@lucent.com>
81953
81954         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
81955
81956         * m4/xstrtoimax.m4: New file.
81957         * m4/xstrtoumax.m4: Add comments explaining why we
81958         AC_REPLACE_FUNCS(strtol).
81959
81960 2001-08-26  Jim Meyering  <meyering@lucent.com>
81961
81962         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
81963         of copyright with `%s' so translators don't get an untranslated
81964         message in 2002.
81965         (COPYRIGHT_YEAR): Define.
81966         (version_etc): Use fprintf rather than fputs.
81967         Suggestion from Ulrich Drepper.
81968
81969         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
81970
81971         * lib/strtoll.c: New file, from GNU libc.
81972         * lib/xstrtoimax.c: New file.
81973
81974         * lib/xstrtol.h: Add xstrtoimax.
81975         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
81976         * lib/strtoimax.c: New file.  Likewise, but first define
81977         STRTOUXMAX_SIGNED.
81978
81979         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
81980         ...
81981         * lib/strtoxmax.c: ... then renamed to this.
81982
81983 2001-08-18  Paul Eggert  <eggert@twinsun.com>
81984
81985         * m4/inttypes.m4: Add AC_PREREQ(2.13).
81986         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
81987         (jm_AC_TYPE_INTMAX_T): New macro.
81988         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
81989
81990         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
81991
81992         * m4/longlong.m4: Renamed from ulonglong.m4.
81993         * m4/inttypes.m4: Renamed from inttypes_h.m4.
81994         * m4/uintmax_t.m4: Removed.
81995
81996 2001-08-13  Paul Eggert  <eggert@twinsun.com>
81997
81998         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
81999         Port to Solaris 8, where 'sed' requires a space after the 'r'
82000         command, and where sh dislikes "$/".  Clean up the spacing a bit.
82001         Redirect output to $tmp just once.
82002
82003 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
82004
82005         * lib/addext.c (<errno.h>): Include.
82006         (errno): Declare if not defined.
82007         (addext): Work correctly when pathconf returns -1 and leaves
82008         errno alone because there is no limit.  Also, work even if
82009         pathconf returns a value greater than SIZE_MAX.
82010
82011 2001-08-12  Jim Meyering  <meyering@lucent.com>
82012
82013         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
82014         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
82015         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
82016         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
82017         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
82018         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
82019         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
82020         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
82021         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
82022         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
82023         utime.m4, utimes.m4, xstrtoumax.m4:
82024         Quote the first argument in each use of AC_DEFUN.
82025
82026 2001-08-12  Jim Meyering  <meyering@lucent.com>
82027
82028         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
82029         Simply `return getcwd (NULL, 0);'.
82030         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
82031         Use 1300 as initial value for length, not PATH_MAX.
82032
82033         * lib/pathmax.h: Clean up cpp syntax.
82034
82035 2001-08-12  Jim Meyering  <meyering@lucent.com>
82036
82037         * lib/gettimeofday.c: New file.
82038         * lib/gtod.h: New file.
82039         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
82040
82041 2001-08-05  Jim Meyering  <meyering@lucent.com>
82042
82043         * m4/jm-macros.m4: Require autoconf-2.52.
82044
82045 2001-08-04  Jim Meyering  <meyering@lucent.com>
82046
82047         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
82048         stmt, to get in sync with glibc.
82049
82050 2001-08-03  Paul Eggert  <eggert@twinsun.com>
82051
82052         The following changes are from gettext 0.10.39 as maintained by
82053         Bruno Haible.
82054
82055         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
82056         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
82057         with inverted sense.  All uses changed.
82058
82059         * lib/mbswidth.c: Don't include <limits.h>.
82060         Include <stdlib.h> and <string.h> unconditionally.
82061         (iswcntrl, mbsinit, ISCNTRL): New macros.
82062         (mbsnwidth): Use K&R style function declarations.
82063         Don't bother checking for MB_LEN_MAX == 1, since the compiler
82064         can optimize it when MB_CUR_MAX == 1.
82065         The width of control characters is zero, not 1.
82066
82067 2001-08-03  Paul Eggert  <eggert@twinsun.com>
82068
82069         The following changes are from gettext 0.10.39 as maintained by
82070         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
82071
82072         * m4/codeset.m4: Upgrade to serial AM1.
82073         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
82074         all uses changed.  Quote first arg of AC_DEFUN.
82075         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
82076
82077         * m4/iconv.m4: Upgrade to serial AM2.
82078         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
82079         Add --with-libconv-prefix.
82080         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
82081         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
82082         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
82083         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
82084         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
82085
82086         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
82087         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
82088         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
82089         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
82090         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
82091         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
82092         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
82093         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
82094         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
82095
82096         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
82097         string.h any more.
82098
82099         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
82100         not the default value.
82101
82102         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
82103         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
82104         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
82105         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
82106         Also check for iswcntrl, used for wcwidth fallback.
82107         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
82108         to Autoconf 2.13.
82109
82110 2001-08-03  Jim Meyering  <meyering@lucent.com>
82111
82112         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
82113         as it was in the original.  Reported by Paul Eggert.
82114
82115 2001-07-16  Jim Meyering  <meyering@lucent.com>
82116
82117         * m4/gettimeofday.m4: New file.
82118         Prompted by a report from Bernhard Baehr.
82119
82120 2001-07-15  Jim Meyering  <meyering@lucent.com>
82121
82122         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
82123         stuff. Now it's in ../Makefile.cfg.
82124
82125 2001-07-15  Jim Meyering  <meyering@lucent.com>
82126
82127         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
82128         (BUILT_SOURCES): Add unlocked-io.h.
82129         (io_functions): Define.
82130         (unlocked-io.h): New rule.
82131         (DISTCLEANFILES): Add unlocked-io.h.
82132         (all-local): Depend on unlocked-io.h, to ensure it is created.
82133
82134         * lib/unlocked-io.hin: New file
82135
82136         * lib/regex.c: Update from glibc.
82137
82138 2001-07-05  Jim Meyering  <meyering@lucent.com>
82139
82140         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
82141         recommendation.
82142         (libfetish_a_SOURCES): Put all .h files here instead.
82143         Remove a thus-exposed (better checks in automake) duplicate and
82144         two unnecessary .h files.
82145
82146 2001-07-04  Jim Meyering  <meyering@lucent.com>
82147
82148         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
82149         that generates jm-glibc-io.m4 so that it doesn't trigger any make
82150         distcheck failure.
82151
82152 2001-07-02  Jim Meyering  <meyering@lucent.com>
82153
82154         The following changes were prompted by suggestions from Bruno Haible.
82155
82156         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
82157         is now generated.
82158         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
82159         definition of EXTRA_DIST.
82160         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
82161         ensure that the generated file is created/updated whenever the list
82162         of $(unlocked_functions) is changed.
82163         (jm-glibc-io.m4): New rule.
82164         (unlocked-io.h): New rule -- currently unused.
82165
82166 2001-06-24  Jim Meyering  <meyering@lucent.com>
82167
82168         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
82169         unmatched right bracket, rather than kludging it with an extra,
82170         falsely-matching quote in a comment.  Patch by Akim Demaille.
82171
82172 2001-06-11  Jim Meyering  <meyering@lucent.com>
82173
82174         * lib/regex.c: Update from GNU libc.
82175
82176 2001-05-27  Jim Meyering  <meyering@lucent.com>
82177
82178         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
82179         Check for ut_type in struct utmp.
82180
82181 2001-05-27  Jim Meyering  <meyering@lucent.com>
82182
82183         * lib/readutmp.h (UT_TYPE): Define.
82184
82185 2001-05-24  Jim Meyering  <meyering@lucent.com>
82186
82187         * lib/argmatch.c: Include "quote.h".
82188         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
82189         quote function.  Reported by Göran Uddeborg.
82190
82191 2001-05-22  Jim Meyering  <meyering@lucent.com>
82192
82193         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
82194         now that we use the package-supplied version unconditionally.
82195         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
82196
82197 2001-05-21  Jim Meyering  <meyering@lucent.com>
82198
82199         * m4/regex.m4: Change a couple backticks to single quotes to avoid
82200         shell syntax errors.
82201
82202 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
82203
82204         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
82205
82206 2001-05-20  Paul Eggert  <eggert@twinsun.com>
82207
82208         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
82209         Don't bother to check library strftime, since
82210         we'll be using our own my_strftime function anyway.
82211         Define my_strftime instead of strftime.
82212
82213 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
82214
82215         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
82216         which is not yet declared.
82217
82218 2001-05-15  Jim Meyering  <meyering@lucent.com>
82219
82220         * m4/regex.m4: Use proper quoting so brackets appear in the test
82221         program.
82222         Reported by, and with help from, Bruno Haible.
82223
82224 2001-05-13  Jim Meyering  <meyering@lucent.com>
82225
82226         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
82227         undefined.
82228
82229 2001-05-11  Paul Eggert  <eggert@twinsun.com>
82230
82231         dirname code cleanup.  base_name now behaves more compatibly
82232         with POSIX basename when given file names that have trailing
82233         slashes, and similarly for dir_name.  Add new primitives
82234         base_len and dir_len.  Put the directory-name-related decls
82235         into dirname.h.
82236
82237         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
82238         * lib/backupfile.c (base_name): Likewise.
82239         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
82240         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
82241         * lib/makepath.c (strip_trailing_slashes): Likewise.
82242         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
82243         ISSLASH): Likewise.
82244         * lib/rename.c (strip_trailing_slashes): Likewise.
82245         * lib/same.c (base_name): Likewise.
82246         * lib/stripslash.c (ISSLASH): Likewise.
82247
82248         * lib/addext.c: Include <dirname.h> after size_t is defined.
82249         * lib/backupfile.c: Likewise.
82250
82251         * lib/addext.c (addext): Use base_len to trim redundant
82252         trailing slashes instead of doing it ourselves.
82253         But do not trim the last slash if it is not redundant.
82254
82255         * lib/backupfile.c (find_backup_file_name,
82256         max_backup_version): Use base_len instead of rolling it ourselves.
82257         Handle the case of "" and (on DOS) "C:" correctly.
82258
82259         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
82260         needed. Include <string.h>, <dirname.h>.
82261         (base_name): Allow file names ending in slashes, other than names
82262         that are all slashes.  In this case, return the basename followed
82263         by the slashes.  This is more general, and can be used in places
82264         where the original base_name purposely had an assertion failure.
82265         (base_len): New function.
82266
82267         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
82268         Do not include <assert.h>; no longer needed.
82269         Include xalloc.h.
82270         (memrchr): Remove decl.
82271         (dir_name_r): Remove.
82272         (dir_len): Renamed from dirlen.  All callers changed.
82273         Rewrite in terms of base_name, for simplicity and consistency.
82274         (dir_name): Never return NULL.  All callers changed.
82275         Do not include <stdlib.h> in test program; no longer needed.
82276         return 0; is fine for test program.
82277
82278         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
82279         New macros.
82280         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
82281
82282         * lib/path-concat.c (path_concat): Use base_len to compute
82283         base length, not strlen; this means we cannot rely on memcpy
82284         to null-terminate.
82285
82286         * lib/same.c (STREQ): Remove.
82287         (same_name): Handle the case where the basename ends in trailing '/'.
82288
82289         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
82290         a slash was stripped.  Do not strip the last slash after a
82291         file system prefix.
82292
82293 2001-05-11  Paul Eggert  <eggert@twinsun.com>
82294
82295         * lib/Makefile.am (libfetish_a_SOURCES):
82296         Add strftime.c, since we now compile it on all hosts.
82297
82298         * lib/strftime.c (my_strftime):
82299         Define to nstrftime if emacs, but only if my_strftime is not defined.
82300         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
82301         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
82302         Add one more extra argument: a nanoseconds value.
82303         All uses changed.
82304         (ns): New macro.
82305         (my_strftime function): Add %N format.
82306         (emacs_strftimeu): Renamed from emacs_strftime,
82307         with extra ut argument.
82308
82309 2001-05-09  Paul Eggert  <eggert@twinsun.com>
82310
82311         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
82312
82313 2001-04-21  Jim Meyering  <meyering@lucent.com>
82314
82315         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
82316         doesn't interfere.
82317
82318 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
82319
82320         * m4/ftruncate.m4: Check for chsize.
82321         Link with ftruncate.o unconditionally if ftruncate is missing.
82322         This was required when cross-compiling to i586-mingw32msvc.
82323
82324 2001-04-08  Jim Meyering  <meyering@lucent.com>
82325
82326         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
82327         recomputed; that's necessary when the offset spans a DST transition.
82328         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
82329
82330 2001-04-02  Jim Meyering  <meyering@lucent.com>
82331
82332         * lib/regex.h, regex.c: Update from GNU libc.
82333
82334 2001-03-24  Jim Meyering  <meyering@lucent.com>
82335
82336         * m4/jm-macros.m4: Require autoconf-2.49d.
82337
82338 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
82339
82340         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
82341
82342 2001-03-19  Paul Eggert  <eggert@twinsun.com>
82343
82344         * lib/version-etc.c (version_etc_copyright): Update to 2001.
82345
82346 2001-03-17  Jim Meyering  <meyering@lucent.com>
82347
82348         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
82349         now that the version in autoconf is equivalent.
82350         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
82351
82352         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
82353         Suggestion from Akim Demaille.
82354
82355         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
82356         (jm_PREREQ_TEMPNAME): New function.
82357
82358 2001-03-16  Paul Eggert  <eggert@twinsun.com>
82359
82360         * lib/tempname.c (uint64_t): Define to uintmax_t if
82361         not defined, and if UINT64_MAX is not defined.
82362         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
82363         Reported by John David Anglin.
82364
82365 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
82366
82367         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
82368         resolve alias if codeset is empty.
82369         * lib/config.charset (BeOS): Use wildcard syntax.
82370
82371 2001-03-13  Jim Meyering  <meyering@lucent.com>
82372
82373         * lib/path-concat.c (path_concat)
82374         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
82375         concatenating e.g., `C:' and `foo'.
82376         From Bruno Haible.
82377
82378 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
82379
82380         * lib/localcharset.c (locale_charset): Don't use
82381         setlocale(LC_CTYPE,NULL). Don't return NULL.
82382         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
82383
82384 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
82385
82386         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
82387         support for DOS/DJGPP.
82388
82389 2001-03-01  Paul Eggert  <eggert@twinsun.com>
82390
82391         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
82392         lacks mkstemp.  Compile our own tempname.c if we compile our own
82393         mkstemp.c, as mkstemp relies on tempname.
82394
82395 2001-03-01  Jim Meyering  <meyering@lucent.com>
82396
82397         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
82398         AH_VERBATIM really does output its argument verbatim.
82399
82400 2001-02-28  Paul Eggert  <eggert@twinsun.com>
82401
82402         * lib/Makefile.am (libfetish_a_SOURCES):
82403         Add dup-safer.c, fopen-safer.c.
82404         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
82405
82406         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
82407         * lib/unistd-safer.h: New files.
82408
82409 2001-02-25  Paul Eggert  <eggert@twinsun.com>
82410
82411         The mkstemp replacement is taken from glibc 2.2.2, with some
82412         portability fixes for use outside glibc, as follows:
82413
82414         * lib/tempname.c (struct_stat64): New macro.
82415         (direxists, __gen_tempname): Use it.
82416         This avoids a portability problem with Solaris 8.
82417
82418         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
82419         (<stddef.h>, <stdint.h>, <string.h>):
82420         Include only if STDC_HEADERS || _LIBC.
82421         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
82422         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
82423         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
82424         (__set_errno): Define this macro if <errno.h> doesn't.
82425         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
82426         Define these macros if <stdio.h> doesn't.
82427         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
82428         Define these macros if <sys/stat.h>
82429         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
82430         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
82431         __xstat64): Define if not _LIBC.
82432         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
82433         (__gen_tempname): Invoke gettimeofday only if
82434         HAVE_GETTIMEOFDAY || _LIBC;
82435         otherwise, fall back on plain "time".
82436         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
82437
82438         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
82439
82440         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
82441
82442 2001-02-18  Paul Eggert  <eggert@twinsun.com>
82443
82444         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
82445
82446 2001-02-17  Paul Eggert  <eggert@twinsun.com>
82447
82448         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
82449         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
82450         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
82451         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
82452
82453 2001-02-17  Paul Eggert  <eggert@twinsun.com>
82454
82455         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
82456         Remove workaround macros for hosts that have mbrtowc but not
82457         mbstate_t, as we now insist on proper declarations for both
82458         before using mbrtowc.
82459
82460 2001-02-17  Jim Meyering  <meyering@lucent.com>
82461
82462         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
82463         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
82464         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
82465         UnixWare 7.1.1.
82466
82467         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
82468         rather than AC_CACHE_VAL.
82469
82470 2001-02-17  Jim Meyering  <meyering@lucent.com>
82471
82472         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
82473         around included file name.
82474
82475         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
82476
82477         * lib/strftime.c: Update from GNU libc (the only changes were to
82478         comments).
82479
82480 2001-02-17  Jim Meyering  <meyering@lucent.com>
82481
82482         * lib/regex.c: Update from libc.
82483
82484 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
82485
82486         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
82487         clash.
82488
82489 2001-02-16  Paul Eggert  <eggert@twinsun.com>
82490
82491         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
82492         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
82493         Reported by Mark Hounschell via Paul Eggert.
82494
82495 2001-02-07  Jim Meyering  <meyering@lucent.com>
82496
82497         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
82498
82499 2001-02-05  Jim Meyering  <meyering@lucent.com>
82500
82501         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
82502         it includes the patch required for `large file' support with at least
82503         HP-UX's 10.20 /bin/cc.
82504
82505 2001-02-03  Jim Meyering  <meyering@lucent.com>
82506
82507         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
82508         AS_IF, now that it works once again (mysteriously).
82509         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
82510
82511 2001-01-30  Jim Meyering  <meyering@lucent.com>
82512
82513         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
82514         * m4/chown.m4: Rename conftestchown to conftest.chown.
82515         * m4/rename.m4: s/conftestdir/conftest.d1/ and
82516         s/conftestdir2/conftest.d2/.
82517         * m4/utimes.m4: s/conftestdata/conftest.data/
82518         Inspired by Pavel Roskin's change in autoconf.
82519
82520 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
82521
82522         * lib/config.charset: Update for FreeBSD 4.2.
82523
82524 2001-01-27  Jim Meyering  <meyering@lucent.com>
82525
82526         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
82527         a use of AS_IF.
82528         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
82529
82530 2001-01-26  Jim Meyering  <meyering@lucent.com>
82531
82532         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
82533         quotearg.c includes it.
82534
82535 2001-01-26  Jim Meyering  <meyering@lucent.com>
82536
82537         * lib/quotearg.c: Include stddef.h.
82538         * lib/quote.c: Include stddef.h.
82539         Reported by Axel Kittenberger.
82540
82541         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
82542         line in double quotes so that it evokes a better diagnostic.
82543         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
82544         Reported by Axel Kittenberger.
82545
82546 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
82547
82548         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
82549         as if it was a `charset'.
82550
82551 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
82552
82553         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
82554         has const.
82555
82556 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
82557
82558         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
82559         to avoid a warning.  Add back 'const' to inptr.
82560
82561 2001-01-20  Jim Meyering  <meyering@lucent.com>
82562
82563         Be sure that headers are checked before used in code compiled
82564         for the type checks.
82565         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
82566         In place of that, invoke jm_CHECK_ALL_TYPES.
82567         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
82568         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
82569         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
82570         The check for ssize_t was mistakenly run before the test for unistd.h.
82571
82572         The configure-time check for stdbool.h was missing.
82573         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
82574         (jm_PREREQ_HASH): New function.
82575
82576 2001-01-17  Jim Meyering  <meyering@lucent.com>
82577
82578         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
82579         for autoconf-2.49c.
82580         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
82581
82582 2001-01-16  Jim Meyering  <meyering@lucent.com>
82583
82584         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
82585         From Bruno Haible.
82586
82587 2001-01-14  Jim Meyering  <meyering@lucent.com>
82588
82589         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
82590         foo and bar.  Create conftestdir/ in the script, not in the C code.
82591         Remove directories in the script, not in the C code.
82592         Remove conftestdir{,2} before trying to create the directory.
82593         Make the entire configure script fail if the mkdir fails.
82594
82595 2001-01-14  Jim Meyering  <meyering@lucent.com>
82596
82597         * lib/rename.c: New file.  From Volker Borchert.
82598         Include stdlib.h, string.h or strings.h, and xalloc.h.
82599         Use strip_trailing_slashes rather than open-coding it.
82600
82601 2001-01-03  Paul Eggert  <eggert@twinsun.com>
82602
82603         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
82604
82605 2001-01-03  Jim Meyering  <meyering@lucent.com>
82606
82607         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
82608         of local `inptr' to avoid warning with some system declarations of
82609         iconv.
82610
82611 2001-01-02  Volker Borchert  <bt@teknon.de>
82612
82613         * m4/rename.m4: New file.
82614         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
82615
82616 2001-01-01  Jim Meyering  <meyering@lucent.com>
82617
82618         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
82619         even on systems with utmpx.h.  It's necessary for the declaration of
82620         utmp's ut_user member.  Reported by Andreas Jaeger.
82621
82622         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
82623         available. They are required for the declarations of getgrgid and
82624         getpwuid resp.
82625         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
82626         Reported by Andreas Jaeger.
82627
82628 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
82629
82630         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
82631         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
82632         so `make install' also works in VPATH builds.
82633
82634 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
82635
82636         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
82637         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
82638         can be used in subdirectories.
82639
82640 2000-12-29  Paul Eggert  <eggert@twinsun.com>
82641
82642         * lib/modechange.c: Do not assume that mode_t uses the
82643         traditional octal encoding.  E.g. "chmod 1 FOO" should set
82644         the other-execute bit of FOO even if S_IXOTH != 1.
82645
82646         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
82647         WOTH, XOTH, ALLM): New macros.
82648         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
82649          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
82650         Use them.
82651         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
82652         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
82653         (mode_compile):
82654         No need to use uintmax_t; unsigned long is long enough.
82655         Don't bother to get suffix since we don't use it.
82656
82657 2000-12-26  Jim Meyering  <meyering@lucent.com>
82658
82659         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
82660         better with autoheader.
82661
82662 2000-12-24  Jim Meyering  <meyering@lucent.com>
82663
82664         * lib/hash.c (is_prime): Return explicit boolean values.
82665         (hash_get_first): Return NULL to appease Irix5.6's 89.
82666         Reported by Nelson Beebe.
82667
82668 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
82669
82670         * lib/localcharset.c (locale_charset): Add support for Win32.
82671
82672 2000-12-18  Paul Eggert  <eggert@twinsun.com>
82673
82674         * lib/physmem.h, lib/physmem.c: New files.
82675
82676         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
82677         (noinst_HEADERS): Add physmem.h.
82678
82679         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
82680         't' for compatibility with Solaris 8 sort.
82681
82682 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
82683
82684         * lib/config.charset: Add support for BeOS.
82685
82686 2000-12-17  Jim Meyering  <meyering@lucent.com>
82687
82688         * m4/dos.m4 (jm_AC_DOS): New file and macro.
82689         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
82690
82691 2000-12-16  Jim Meyering  <meyering@lucent.com>
82692
82693         This bug had a serious impact on chown: `chown N:M FILE' (for integer
82694         N and M) would have treated it like `chown N:N FILE'.
82695
82696         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
82697
82698 2000-12-16  Jim Meyering  <meyering@lucent.com>
82699
82700         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
82701         SHELLS_FILE to a file name that's useful on djgpp systems.
82702         Include stdlib.h.
82703         (ADDITIONAL_DEFAULT_SHELLS): Define.
82704         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
82705         Based mostly on a patch from Prashant TR.
82706
82707 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
82708
82709         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
82710         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
82711         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
82712
82713 2000-12-08  Andreas Schwab  <schwab@suse.de>
82714
82715         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
82716         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
82717
82718 2000-12-07  Jim Meyering  <meyering@lucent.com>
82719
82720         * lib/stripslash.c (ISSLASH): Define.
82721         (strip_trailing_slashes): Use ISSLASH rather than comparing against
82722         `/'.
82723         From Prashant TR.
82724
82725         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
82726         (dir_name_r): Declare this function as static.
82727         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
82728         manifest itself on a name containing a mix of slashes and
82729         backslashes.
82730         Make this function work with names starting with a DOS-style
82731         drive letter and colon prefix.
82732         (dir_name): Append `.' if necessary.
82733         Based mostly on patches from Prashant TR and Eli Zaretskii.
82734
82735         * lib/dirname.h (dir_name_r): Remove prototype.
82736
82737 2000-12-06  Paul Eggert  <eggert@twinsun.com>
82738
82739         * m4/off_t-format.m4: Remove this file.
82740         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
82741
82742 2000-12-06  Jim Meyering  <meyering@lucent.com>
82743
82744         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
82745         replacement strtoull, we may well need the replacement strtoul, too.
82746         Check for declarations of strtoul and strtoull.
82747         Check for strtol.  Mainly as a cue to cause automake to include
82748         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
82749         Check for limits.h -- strtol.c needs it.
82750
82751 2000-12-05  Jim Meyering  <meyering@lucent.com>
82752
82753         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
82754
82755 2000-12-04  Jim Meyering  <meyering@lucent.com>
82756
82757         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
82758         Also include memory.h, stdlib.h, unistd.h if appropriate.
82759         Reported by Andreas Jaeger (conflicting declaration of malloc).
82760
82761 2000-12-02  Jim Meyering  <meyering@lucent.com>
82762
82763         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
82764         * m4/jm-macros.m4 (jm_MACROS): require it.
82765
82766 2000-12-02  Jim Meyering  <meyering@lucent.com>
82767
82768         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
82769
82770 2000-12-01  Paul Eggert  <eggert@twinsun.com>
82771
82772         * lib/memrchr.c: Include <config.h> before any system include file.
82773
82774 2000-11-30  Jim Meyering  <meyering@lucent.com>
82775
82776         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
82777
82778 2000-11-30  Jim Meyering  <meyering@lucent.com>
82779
82780         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
82781
82782 2000-11-29  Paul Eggert  <eggert@twinsun.com>
82783
82784         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
82785
82786 2000-11-26  Jim Meyering  <meyering@lucent.com>
82787
82788         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
82789
82790 2000-11-22  Paul Eggert  <eggert@twinsun.com>
82791
82792         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
82793         size of (size_t) -1; it's not portable.
82794
82795 2000-11-17  Jim Meyering  <meyering@lucent.com>
82796
82797         * lib/strstr.c: Update from GNU libc.
82798
82799 2000-11-17  Akim Demaille  <akim@epita.fr>
82800
82801         * lib/obstack.h: Formatting changes.
82802         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
82803         prevent type checking.
82804         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
82805         cast the value to (void *): assigning a `foo *' to a `void *'
82806         variable is valid.
82807         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
82808
82809 2000-11-16  Jim Meyering  <meyering@lucent.com>
82810
82811         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
82812
82813 2000-11-11  Jim Meyering  <meyering@lucent.com>
82814
82815         * lib/error.c: Add a couple #includes, merging from GNU libc version.
82816
82817 2000-11-10  Jim Meyering  <meyering@lucent.com>
82818
82819         * lib/obstack.h: Update from GNU libc.
82820         * lib/obstack.c: Likewise.
82821
82822 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
82823
82824         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
82825
82826 2000-11-06  Paul Eggert  <eggert@twinsun.com>
82827
82828         * lib/getusershell.c (setusershell): Use rewind rather than
82829         fseek/fseeko, to avoid configuration hassles with fseeko.
82830         Don't bother opening SHELLS_FILE if shellstream is NULL;
82831         it's not necessary.
82832
82833 2000-11-05  Jim Meyering  <meyering@lucent.com>
82834
82835         * lib/makepath.h (make_dir): Declare.
82836         * lib/makepath.c (make_dir): Remove `static' attribute.
82837         Tweak a comment.
82838
82839 2000-11-04  Jim Meyering  <meyering@lucent.com>
82840
82841         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
82842
82843 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
82844
82845         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
82846         last one in a bucket, advance to the next bucket.
82847
82848 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
82849
82850         * lib/fnmatch.c: Do not comment out all the code if we are using
82851         the GNU C library, because in some cases we are replacing buggy
82852         code in the GNU C library itself.
82853
82854 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
82855
82856         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
82857         (regex_compile): Catch bogus \(\1\).
82858
82859 2000-10-30  Paul Eggert  <eggert@twinsun.com>
82860
82861         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
82862         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
82863         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
82864
82865 2000-10-30  Paul Eggert  <eggert@twinsun.com>
82866
82867         * lib/error.h, getline.h, modechange.h:
82868         Remove "2000" from Copyright line, as the file hasn't been
82869         changed this year other than in the copyright notice.
82870
82871         * lib/xalloc.h: Add "2000" to Copyright line, as this file
82872         was changed this year.
82873
82874 2000-10-29  Jim Meyering  <meyering@lucent.com>
82875
82876         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
82877         renaming.
82878         * m4/ls-mntd-fs.m4: Likewise
82879
82880 2000-10-29  Jim Meyering  <meyering@lucent.com>
82881
82882         * lib/xstat.in: Fix grammar in comment.
82883
82884 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
82885
82886         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
82887         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
82888         doesn't define __restrict_arr.
82889
82890 2000-10-28  Jim Meyering  <meyering@lucent.com>
82891
82892         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
82893         (jm_PREREQ_MEMCHR): New function.
82894
82895 2000-10-28  Jim Meyering  <meyering@lucent.com>
82896
82897         * lib/memchr.c: Update from libc.
82898         Adjust for portability:
82899         [HAVE_STDLIB_H]: Include stdlib.h.
82900         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
82901         Undef __memchr, too.
82902         [!weak_alias]: Define __memchr to memchr.
82903
82904         * lib/regex.c: Update from libc.
82905         * lib/regex.h: Likewise.
82906         * lib/getopt1.c: Likewise.
82907         * lib/memcmp.c: Likewise.
82908
82909         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
82910         Avoid using fseek, when possible -- it's broken by design.
82911         Patch by Ulrich Drepper.
82912
82913 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
82914
82915         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
82916         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
82917         Giving in to popular pressure to shut up the compiler with casts.
82918
82919 2000-10-26  Jim Meyering  <meyering@lucent.com>
82920
82921         * lib/strftime.c: Update from libc.
82922
82923 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
82924
82925         * regex.c: More `unsigned char' -> `re_char' changes.
82926         Also change several `int' into `re_wchar_t'.
82927         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
82928         (PUSH_FAILURE_POINTER): Don't cast any more.
82929         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
82930         We want GCC to complain, since this piece of code makes
82931         re_match non-reentrant, which *should* be fixed.
82932         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
82933         (EXTEND_BUFFER): Use RETALLOC.
82934         (SET_LIST_BIT): Don't cast.
82935         (re_wchar_t): New type.
82936         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
82937         that those two functions will always properly return.
82938         (IMMEDIATE_QUIT_CHECK): Cast to void.
82939         (analyse_first): Use recursion rather than an explicit stack.
82940         (re_compile_fastmap): Can't fail anymore.
82941         (re_search_2): Don't check re_compile_fastmap for failure.
82942         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
82943         Now also sets the new value (passed in a new argument).
82944         (re_match_2_internal): Use it.
82945         Also, use a new var `reg' of type size_t when looping through regs
82946         rather than reuse the inappropriate `mcnt'.
82947
82948 2000-10-25  Jim Meyering  <meyering@lucent.com>
82949
82950         * lib/obstack.c: Update from libc.
82951
82952 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
82953
82954         * regex.c (regex_compile): Change the way of handling a range from
82955         a char less than 256 to a char not less than 256.
82956
82957 2000-10-24  Andrew Innes  <andrewi@gnu.org>
82958
82959         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
82960         NT-Emacs only.
82961         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
82962         so that re_search functions only quit when callers expect them to.
82963
82964 2000-10-23  Jim Meyering  <meyering@lucent.com>
82965
82966         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
82967         wrong.  That set_locale call must not have any side effects.
82968         From Paul Eggert.
82969
82970 2000-10-22  Jim Meyering  <meyering@lucent.com>
82971
82972         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
82973         [CYCLIC]: Remove now-unused definition.
82974
82975         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
82976         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
82977         Suggestion from Ulrich Drepper.
82978
82979 2000-10-21  Jim Meyering  <meyering@lucent.com>
82980
82981         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
82982         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
82983         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
82984
82985 2000-10-21  Jim Meyering  <meyering@lucent.com>
82986
82987         * lib/dirname.c (memrchr): Declare if necessary.
82988         (dir_name): Remove the restriction that there be no
82989         trailing slashes.  Now, this code skips past them, effectively
82990         ignoring them.
82991         [TEST_DIRNAME] (main): New unit tests.
82992
82993         * lib/memrchr.c: New file from GNU libc.
82994         Undef __memrchr, too.
82995         [!weak_alias]: Define __memrchr to memrchr.
82996         Guard weak_alias use with `#ifdef weak_alias'.
82997
82998 2000-10-21  Jim Meyering  <meyering@lucent.com>
82999
83000         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
83001         (dir_name): Use dir_name_r.
83002         * lib/dirname.h (dir_name_r): Declare it.
83003
83004 2000-10-17  Jim Meyering  <meyering@lucent.com>
83005
83006         * lib/quote.h (PARAMS): Define and use.
83007         Reported by Akim Demaille.
83008
83009         * lib/getopt.c: Update from libc.
83010
83011 2000-10-16  Jim Meyering  <meyering@lucent.com>
83012
83013         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
83014         setlocale.
83015         From Jan Fedak.
83016
83017 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
83018
83019         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
83020
83021 2000-09-25  Jim Meyering  <meyering@lucent.com>
83022
83023         * lib/md5.h (rol): Define (from GnuPG).
83024
83025         * lib/sha.c: Give credit (GnuPG) where due.
83026         (M): Use rol rather than open-coding it.
83027         Add a FIXME comment.
83028
83029 2000-09-21  Jim Meyering  <meyering@lucent.com>
83030
83031         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
83032         Reported by Michael Stone.
83033
83034 2000-09-20  Jim Meyering  <meyering@lucent.com>
83035
83036         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
83037         (noinst_HEADERS): Add sha.h.
83038         Based on code from Scott G. Miller and from GnuPG.
83039
83040 2000-09-18  Jim Meyering  <meyering@lucent.com>
83041
83042         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
83043         LIBS. Otherwise, everyone ends up linking with -lelf for some
83044         configurations.
83045         Reported by Mike Stone.
83046
83047 2000-09-15  Jim Meyering  <meyering@lucent.com>
83048
83049         * lib/regex.c: Update from libc.
83050
83051 2000-09-10  Jim Meyering  <meyering@lucent.com>
83052
83053         * lib/getopt.c (_getopt_internal): Update from glibc.
83054
83055 2000-09-09  Jim Meyering  <meyering@lucent.com>
83056
83057         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
83058         think it should be used as a general replacement for isascii.
83059         * lib/fnmatch.c: Likewise.
83060         * lib/mbswidth.c: Likewise
83061         * lib/regex.c: Likewise.
83062
83063         Don't use atoi.
83064         * lib/userspec.c: Include sys/param.h and limits.h.
83065         Include xstrtol.h.
83066         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
83067         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
83068         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
83069         UID, GID.  Check range.
83070
83071 2000-09-06  Jim Meyering  <meyering@lucent.com>
83072
83073         * lib/getopt.c (_getopt_internal): Update from glibc.
83074
83075 2000-08-30  Jim Meyering  <meyering@lucent.com>
83076
83077         * lib/strftime.c: Merge in changes from GNU libc.
83078
83079 2000-08-26  Jim Meyering  <meyering@lucent.com>
83080
83081         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
83082         * m4/fpending.m4: New file.
83083
83084 2000-08-26  Jim Meyering  <meyering@lucent.com>
83085
83086         * lib/closeout.c: Include "__fpending.h".
83087         (close_stdout_status): Return right away if there's nothing to flush.
83088
83089         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
83090         * lib/__fpending.c: New file.
83091         * lib/__fpending.h: New file.
83092
83093 2000-08-20  Jim Meyering  <meyering@lucent.com>
83094
83095         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
83096         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
83097         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
83098
83099 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
83100
83101         Improve fileutils installation on systems where running
83102         programs (like install) can't be unlinked.
83103         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
83104         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
83105
83106 2000-08-07  Paul Eggert  <eggert@twinsun.com>
83107
83108         Standardize on "memory exhausted" instead of "Memory exhausted"
83109         or "virtual memory exhausted".
83110         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
83111         "virtual memory exhausted".
83112         * lib/same.c (same_name): Invoke xalloc_die instead of printing
83113         our own message.
83114         * lib/userspec.c (parse_user_spec): Likewise.
83115         * lib/bumpalloc.h: comment fix
83116         * lib/same.c, userspec.c: Include xalloc.h.
83117
83118         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
83119         not char *const and pointing to a constant array.
83120         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
83121         (xrealloc): Comment fix.
83122
83123         * lib/userspec.c (parse_user_spec):
83124         Don't translate a message until just before returning,
83125         to avoid unnecessary translation.
83126
83127 2000-08-07  Jim Meyering  <meyering@lucent.com>
83128
83129         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
83130         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
83131         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
83132         getgroups.c, gethostname.c, getopt.h, group-member.c,
83133         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
83134         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
83135         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
83136         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
83137         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
83138         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
83139         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
83140         yesno.c: Back out Copyright date changes for each file with no change
83141         this year.  This eases coordination with other programs using the same
83142         source code modules.  From Paul Eggert.
83143
83144 2000-08-06  Paul Eggert  <eggert@twinsun.com>
83145
83146         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
83147         not char, for compatibility with glibc 2.1.3 strftime.c.
83148
83149 2000-08-03  Greg McGary  <greg@mcgary.org>
83150
83151         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
83152         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
83153         (EXTEND_BUFFER): Use them.
83154
83155 2000-08-01  Jim Meyering  <meyering@lucent.com>
83156
83157         * lib/dirname.c (ISSLASH): Define.
83158         (BACKSLASH_IS_PATH_SEPARATOR): Define.
83159         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
83160         both `\' and `/' may be use as path separators.
83161         Based on a patch from Prashant TR.
83162
83163 2000-07-31  Paul Eggert  <eggert@twinsun.com>
83164
83165         * lib/quotearg.c (quotearg_n_options): Don't make the initial
83166         slot vector a constant, since it might get modified.
83167
83168 2000-07-31  Jim Meyering  <meyering@lucent.com>
83169
83170         * lib/xmalloc.c: Use `virtual memory exhausted', not
83171         `Memory exhausted'.
83172         * lib/obstack.c (print_and_abort): Likewise.
83173
83174 2000-07-30  Paul Eggert  <eggert@twinsun.com>
83175
83176         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
83177         buffer, so that the caller can always quote one small
83178         component of a "memory exhausted" message in slot 0.
83179         From a suggestion by Jim Meyering.
83180
83181 2000-07-30  Jim Meyering  <meyering@lucent.com>
83182
83183         * lib/makepath.c (make_path): Quote the other instance, too.
83184
83185         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
83186         (STATIC_BUF_SIZE): Define.
83187         (quotearg_n_options): Use only statically allocated storage when
83188         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
83189         than STATIC_BUF_SIZE.
83190
83191 2000-07-29  Jim Meyering  <meyering@lucent.com>
83192
83193         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
83194         * lib/dirname.c (dir_name): Likewise.
83195
83196         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
83197         `/'.
83198
83199         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
83200         (dir_name): Assert that there are no trailing slashes.
83201
83202 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
83203
83204         * lib/mbswidth.h (mbswidth): Add a flags argument.
83205         (mbswidth): New declaration.
83206         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
83207         * lib/mbswidth.c (mbswidth): Add a flags argument.
83208         (mbsnwidth): New function.
83209
83210 2000-07-24  Jim Meyering  <meyering@lucent.com>
83211
83212         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
83213
83214 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83215
83216         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
83217
83218 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83219
83220         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
83221         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
83222         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
83223         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
83224         invoke multibyte primitives.
83225
83226 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83227
83228         * lib/quotearg.c:
83229         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
83230         so that mbstate_t is always defined.
83231
83232         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
83233         be 1 in at least one GCC installation, and this configuration
83234         error is likely to be common.  Ignoring MB_LEN_MAX hurts
83235         performance on hosts that have mbrtowc but have only unibyte
83236         locales, but I assume these hosts are rare.
83237
83238 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83239
83240         * lib/mbswidth.c (_XOPEN_SOURCE):
83241         Don't define; this causes problems on Solaris 7.
83242         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
83243
83244 2000-07-23  Jim Meyering  <meyering@lucent.com>
83245
83246         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
83247         too: getgrgid, getpwuid, getuid.
83248
83249 2000-07-23  Jim Meyering  <meyering@lucent.com>
83250
83251         * lib/basename.c (base_name): Add an assertion.
83252
83253 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
83254
83255         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
83256         shadow its mbsinit function.
83257
83258 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
83259
83260         * lib/mbswidth.h: New file.
83261         * lib/mbswidth.c: New file.
83262         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
83263         (noinst_HEADERS): Add mbswidth.h.
83264
83265 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
83266
83267         * lib/config.charset: Add support for FreeBSD. Improve support for
83268         HP-UX and IRIX 6.
83269
83270 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
83271
83272         * m4/mbswidth.m4: New file.
83273         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
83274
83275 2000-07-15  Jim Meyering  <meyering@lucent.com>
83276
83277         * lib/makepath.c: Include quote.h.
83278         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
83279         corresponding argument in a `quote (...)' call.
83280         Give better diagnostics.
83281
83282         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
83283         (noinst_HEADERS): Add quote.h.
83284
83285         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
83286         from tar's src/misc.c.
83287         * lib/quote.h: New file.  Prototypes for same.
83288
83289 2000-07-14  Paul Eggert  <eggert@twinsun.com>
83290
83291         From a suggestion by Bruno Haible.
83292         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
83293         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
83294         to decide whether to define the BeOS workaround macro;
83295         this adjusts to the change to AC_MBSTATE_T.
83296
83297 2000-07-14  Jim Meyering  <meyering@lucent.com>
83298
83299         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
83300         jm_AC_TYPE_UINTMAX_T.
83301
83302 2000-07-13  Paul Eggert  <eggert@twinsun.com>
83303
83304         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
83305
83306         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
83307         quotearg_buffer_restyled): Add support for
83308         clocale_quoting_style.  Undo previous change to
83309         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
83310         and "{RIGHT QUOTATION MARK}" msgids.
83311
83312 2000-07-10  Paul Eggert  <eggert@twinsun.com>
83313
83314         From a suggestion by Bruno Haible.
83315         * m4/mbstate_t.m4 (AC_MBSTATE_T):
83316         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
83317         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
83318         and mbstate_t, to a single-part test that simply defines mbstate_t.
83319         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
83320         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
83321
83322 2000-07-10  Jim Meyering  <meyering@lucent.com>
83323
83324         * m4/strerror_r.m4: Mirror the correction made in autoconf.
83325
83326         * m4/gnu-source.m4: Output to confdefs.h directly.
83327         Suggestion from Akim Demaille.
83328
83329 2000-07-09  Paul Eggert  <eggert@twinsun.com>
83330
83331         The old behavior of quoting `like this' doesn't look good with
83332         newer, ISO-style fonts.  See:
83333         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
83334
83335         Instead, quote "like this" by default.  Let the translator
83336         tailor the locale-specific quoting behavior by providing
83337         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
83338
83339         * lib/quotearg.c (N_): New macro.
83340         (gettext_default): New function.
83341         (quotearg_buffer_restyled): Use
83342         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
83343         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
83344
83345 2000-07-09  Jim Meyering  <meyering@lucent.com>
83346
83347         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
83348         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
83349
83350         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
83351         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
83352
83353 2000-07-09  Jim Meyering  <meyering@lucent.com>
83354
83355         * lib/Most files: Update copyright dates to include 2000.
83356
83357 2000-07-08  Jim Meyering  <meyering@lucent.com>
83358
83359         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
83360         if not defined.
83361         (xgethostname): Remove now-unnecessary #ifdef.
83362         Move declaration of `err' into loop where it's used.
83363
83364 2000-07-05  Paul Eggert  <eggert@twinsun.com>
83365         and Bruno Haible  <haible@clisp.cons.org>
83366
83367         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
83368         only if the test for an object-type mbstate_t fails.  This
83369         prevents us from mistakenly reporting that mbstate_t is a
83370         system object type after we "#define mbstate_t int" to work
83371         around its lack.
83372
83373 2000-07-05  Paul Eggert  <eggert@twinsun.com>
83374         and Bruno Haible  <haible@clisp.cons.org>
83375
83376         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
83377
83378 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83379
83380         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
83381         to strerror_r.
83382         Include <ctype.h> for use of isalpha.
83383
83384 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83385
83386         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
83387         by allocating a larger buffer. Test the gethostname return value for
83388         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
83389         returns an error and ENAMETOOLONG isn't defined.
83390
83391 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83392
83393         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
83394         dimension.
83395
83396 2000-07-04  Jim Meyering  <meyering@lucent.com>
83397
83398         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
83399         of the deprecated AC_CHECKING.
83400
83401 2000-07-04  Jim Meyering  <meyering@lucent.com>
83402
83403         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
83404         Reported by Bruno Haible.
83405
83406 2000-07-04  Jim Meyering  <meyering@lucent.com>
83407
83408         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
83409         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
83410         lacks mbrtowc.
83411
83412 2000-07-03  Paul Eggert  <eggert@twinsun.com>
83413
83414         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
83415         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
83416
83417 2000-07-03  Paul Eggert  <eggert@twinsun.com>
83418         and Bruno Haible  <haible@clisp.cons.org>
83419
83420         * lib/quotearg.c (mbrtowc):
83421         Assign to *pwc, and return 1 only if result is nonzero.
83422         (iswprint): Use ISPRINT when substituting our own mbrtowc.
83423
83424 2000-07-03  Jim Meyering  <meyering@lucent.com>
83425
83426         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
83427
83428 2000-07-03  Jim Meyering  <meyering@lucent.com>
83429
83430         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
83431         This is necessary to get a definition of e.g., UTMP_FILE on
83432         HP-UX 10.20.
83433         From Bob Proulx.
83434
83435 2000-07-02  Jim Meyering  <meyering@lucent.com>
83436
83437         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
83438
83439         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
83440         AC_LIBOBJ(function_name).
83441         * m4/chown.m4: Likewise.
83442         * m4/fnmatch.m4: Likewise.
83443         * m4/ftruncate.m4: Likewise.
83444         * m4/getgroups.m4: Likewise.
83445         * m4/getline.m4: Likewise.
83446         * m4/group-member.m4: Likewise.
83447         * m4/jm-macros.m4: Likewise.
83448         * m4/lstat.m4: Likewise.
83449         * m4/malloc.m4: Likewise.
83450         * m4/memcmp.m4: Likewise.
83451         * m4/nanosleep.m4: Likewise.
83452         * m4/putenv.m4: Likewise.
83453         * m4/realloc.m4: Likewise.
83454         * m4/regex.m4: Likewise.
83455         * m4/stat.m4: Likewise.
83456         * m4/strftime.m4: Likewise.
83457
83458 2000-07-02  Jim Meyering  <meyering@lucent.com>
83459
83460         * lib/quotearg.c (mbstate_t): Don't define here.
83461
83462 2000-07-02  Jim Meyering  <meyering@lucent.com>
83463
83464         * lib/nanosleep.c (SIGCONT): Define if not already defined.
83465
83466 2000-07-01  Jim Meyering  <meyering@lucent.com>
83467
83468         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
83469
83470 2000-07-01  Jim Meyering  <meyering@lucent.com>
83471
83472         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
83473         problem.
83474
83475 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
83476
83477         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
83478         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
83479
83480 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
83481
83482         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
83483         per change in ../m4/ls-mntd-fs.m4.
83484         (read_filesystem_list): Ignore symbolic links.
83485
83486 2000-06-29  Jim Meyering  <meyering@lucent.com>
83487
83488         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
83489         for declaration of strcmp.
83490
83491         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
83492
83493         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
83494         Avoid warning by casting result to `char *' to remove `const'.
83495
83496 2000-06-28  Jim Meyering  <meyering@lucent.com>
83497
83498         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
83499         included by quotearg.c, for which we perform this test.  From
83500         Bruno Haible.
83501
83502 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
83503
83504         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
83505         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
83506         <utmpx.h> exists, put readutmp.o into LIBOBJS.
83507
83508 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
83509
83510         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
83511
83512 2000-06-26  Paul Eggert  <eggert@twinsun.com>
83513
83514         savedir now sets errno on failure and invokes xmalloc to get memory.
83515         Fix a couple of other minor bugs while we're at it.
83516
83517         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
83518         (NAMLEN): Remove macro.
83519         (malloc, realloc): Remove decls.
83520         (stpcpy): Likewise.
83521         ("xalloc.h"): Include.
83522         (NAME_SIZE_DEFAULT): New macro.
83523         (savedir): Use xmalloc / xrealloc to allocate memory.
83524         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
83525         Skip "" directory entries.
83526         Use strlen to calculate directory entry length, since the old method
83527         is rarely used these days and isn't worth supporting.
83528         Don't use a pointer after freeing it.
83529         Check for integer overflow when calculating allocation size.
83530         Use memcpy to copy entries, instead of stpcpy.
83531         Set errno properly when returning NULL.
83532         Check for readdir error.
83533
83534 2000-06-26  Jim Meyering  <meyering@lucent.com>
83535
83536         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
83537
83538 2000-06-25  Jim Meyering  <meyering@lucent.com>
83539
83540         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
83541         Linux header bug when _XOPEN_SOURCE is defined to 500.
83542
83543 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
83544
83545         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
83546         deficiency.
83547
83548 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
83549
83550         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
83551         Include xalloc.h.
83552         Don't include <stdlib.h>.  Don't declare malloc, realloc.
83553
83554 2000-06-24  Jim Meyering  <meyering@lucent.com>
83555
83556         * m4/strerror_r.m4: Revive this file -- to try out an experimental
83557         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
83558         for which strerror does return char*, but which lacks a conveniently
83559         accessible declaration of the function.  If the compile-test says
83560         strerror_r doesn't work, then resort to a `run'-test that works on
83561         BeOS and segfaults on DEC Unix.
83562
83563 2000-06-24  Jim Meyering  <meyering@lucent.com>
83564
83565         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
83566
83567 2000-06-23  Paul Eggert  <eggert@twinsun.com>
83568
83569         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
83570         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
83571
83572 2000-06-23  Paul Eggert  <eggert@twinsun.com>
83573
83574         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
83575         (mbrtowc, mbstate_t): Define substitutes if
83576         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
83577         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
83578         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
83579
83580 2000-06-23  Jim Meyering  <meyering@lucent.com>
83581
83582         * m4/afs.m4: Add missing AC_MSG_RESULT.
83583         Reported by Bruno Haible.
83584
83585         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
83586         Suggestion from Bruno Haible.
83587
83588 2000-06-23  Jim Meyering  <meyering@lucent.com>
83589
83590         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
83591
83592 2000-06-21  Jim Meyering  <meyering@lucent.com>
83593
83594         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
83595
83596 2000-06-21  Jim Meyering  <meyering@lucent.com>
83597
83598         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
83599         (noinst_HEADERS): Add getstr.h.
83600
83601         * lib/getline.c (getstr): Move into a separate file.
83602         * lib/getstr.c (getstr): New file, extracted from getline.c, with
83603         the following changes: new parameter, delim2; both delim[12]
83604         parameters have type `int', not `char'.  The latter would lose
83605         with 8-bit delimiters.
83606         * lib/getstr.h: New file.
83607
83608 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83609
83610         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
83611         than 1024, return a memory chunk of least possible size, instead
83612         of size PATH_MAX + 2. In the loop, increment the size proportionally.
83613         Use free/xmalloc instead of xrealloc to avoid copying for very long
83614         paths.
83615
83616 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83617
83618         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
83619         the empty string.
83620
83621 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83622
83623         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
83624         address, not strdup.  Include <stdlib.h> and don't declare free().
83625
83626 2000-06-19  Jim Meyering  <meyering@lucent.com>
83627
83628         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
83629
83630 2000-06-18  Jim Meyering  <meyering@lucent.com>
83631
83632         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
83633
83634         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
83635         `checking whether...' message to be consistent with that of the
83636         lstat test.
83637
83638 2000-06-18  Jim Meyering  <meyering@lucent.com>
83639
83640         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
83641         Besides, these days every porting target provides a mkdir function.
83642
83643         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
83644         needed. (this snippet comes from src/system.h).
83645
83646 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
83647
83648         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
83649
83650 2000-06-15  Paul Eggert  <eggert@twinsun.com>
83651
83652         * lib/human.c (adjust_value): New function.
83653         (human_readable_inexact): Apply rounding style even when
83654         printing approximate values.
83655
83656 2000-06-14  Paul Eggert  <eggert@twinsun.com>
83657
83658         * lib/human.c (human_readable_inexact): Allow an input block
83659         size that is not a multiple of the output block size, and vice versa.
83660         Reported by Piergiorgio Sartor.
83661
83662 2000-06-14  Paul Eggert  <eggert@twinsun.com>
83663
83664         * lib/getdate.y (get_date): Apply relative times after time
83665         zone indicator, not before.  Reported by Todd A. Jacobs.
83666
83667 2000-06-13  Jim Meyering  <meyering@lucent.com>
83668
83669         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
83670
83671         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
83672
83673 2000-06-12  Paul Eggert  <eggert@twinsun.com>
83674
83675         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
83676
83677 2000-06-12  Jim Meyering  <meyering@lucent.com>
83678
83679         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
83680         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
83681         optional argument.
83682         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
83683         the optional argument, `lib'.
83684
83685 2000-06-08  Jim Meyering  <meyering@lucent.com>
83686
83687         * m4/largefile.m4: Remove file (now that it's part of autoconf).
83688
83689 2000-06-04  Paul Eggert  <eggert@twinsun.com>
83690
83691         Rewrite largefile configuration so that we don't need to run
83692         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
83693         AC_CANONICAL_HOST in configure.in -- jmm]
83694
83695         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
83696         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
83697         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
83698         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
83699         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
83700         All uses changed.
83701         Instead of inspecting the output of getconf, try to compile the
83702         test program without and with the macro definition.
83703         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
83704         for getconf.  Instead, check for the needed flags by compiling
83705         test programs.
83706
83707 2000-06-04  Paul Eggert  <eggert@twinsun.com>
83708
83709         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
83710
83711 2000-06-04  Jim Meyering  <meyering@lucent.com>
83712
83713         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
83714         SunOS 4.1.4 for which gid_t is an unsigned type.
83715
83716 2000-06-03  Jim Meyering  <meyering@lucent.com>
83717
83718         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
83719         now that autoconf requires that.
83720
83721         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
83722         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
83723         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
83724
83725 2000-06-03  Jim Meyering  <meyering@lucent.com>
83726
83727         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
83728
83729 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
83730
83731         * m4/glibc21.m4: New file.
83732         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
83733
83734 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
83735
83736         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
83737         newer, don't install charset.alias.
83738         * lib/config.charset: Change the Linux/glibc rules so they become empty
83739         on glibc-2.1 or newer.
83740
83741 2000-06-02  Jim Meyering  <meyering@lucent.com>
83742
83743         * lib/mountlist.c: Back out last change.  Instead, do this...
83744         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
83745         me_dummy member using the same `ignore'-testing code.
83746         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
83747         fs_type strings.
83748         From Mark D. Roth.
83749
83750 2000-05-29  Jim Meyering  <meyering@lucent.com>
83751
83752         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
83753         mounts with the `ignore' attribute.  Based on a patch from
83754         Mark D. Roth.
83755
83756 2000-05-28  Jim Meyering  <meyering@lucent.com>
83757
83758         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
83759         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83760         * m4/stat.m4: Likewise.
83761         * m4/lstat.m4: Likewise.
83762         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
83763
83764         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
83765         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
83766
83767 2000-05-26  Jim Meyering  <meyering@lucent.com>
83768
83769         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
83770
83771 2000-05-24  Jim Meyering  <meyering@lucent.com>
83772
83773         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
83774         autoconf requires that.
83775         * m4/lib-check.m4: Likewise.
83776         * m4/jm-macros.m4: Likewise.
83777         * m4/strftime.m4: Likewise.
83778
83779         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
83780         AC_CHECK_DECLS, now that autoconf requires that.
83781
83782 2000-05-22  Jim Meyering  <meyering@lucent.com>
83783
83784         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83785         * m4/lstat.m4: Likewise.
83786
83787 2000-05-22  Jim Meyering  <meyering@lucent.com>
83788
83789         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
83790
83791 2000-05-20  Jim Meyering  <meyering@lucent.com>
83792
83793         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
83794         (jm_PREREQ): Use it.
83795
83796 2000-05-18  Jim Meyering  <meyering@lucent.com>
83797
83798         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
83799         back, too, since it may have been modified by allocate_entry.
83800         (hash_delete): Rewrite to use neither the assignment operator
83801         nor the comma operator in an if-expression.
83802
83803 2000-05-15  Paul Eggert  <eggert@twinsun.com>
83804
83805         * lib/closeout.c:
83806         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
83807         Remove; no longer needed.
83808         "quotearg.h": Add include.
83809         (file_name): Do not bother to explicitly initialize to NULL; it's less
83810         efficient on some hosts.
83811         (close_stdout_status): Remove test as to whether stdout was already
83812         closed; it breaks for the case "echo x | sort >&-".
83813         Quote file name colons.
83814         Do not assume that _("write error") lacks format strings.
83815
83816 2000-05-15  Jim Meyering  <meyering@lucent.com>
83817
83818         * lib/version-etc.c (version_etc_copyright): Update the copyright
83819         string used in all --version output.
83820
83821 2000-05-14  Jim Meyering  <meyering@lucent.com>
83822
83823         * lib/closeout.c (close_stdout_set_file_name): New function.
83824         (close_stdout_status): Use new file-scoped global.
83825         Return right away if fstat says the stdout file descriptor is invalid.
83826         * lib/closeout.h (close_stdout_set_file_name): Declare.
83827
83828 2000-05-10  Jim Meyering  <meyering@lucent.com>
83829
83830         * lib/closeout.c [default_exit_status]: New file-scoped variable.
83831         (close_stdout_set_status): New function.
83832         * lib/closeout.h (close_stdout_set_status): Declare.
83833
83834 2000-05-09  Jim Meyering  <meyering@lucent.com>
83835
83836         * m4/gettext.m4: Rename this...
83837         * m4/libintl.m4: ...to this.
83838
83839 2000-05-08  Jim Meyering  <meyering@lucent.com>
83840
83841         * lib/long-options.c: Don't include closeout.h.
83842         (parse_long_options): Don't call close_stdout for --version.
83843
83844 2000-05-06  Paul Eggert  <eggert@twinsun.com>
83845
83846         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
83847         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
83848         2.1.3 bug.  This avoids a clash when files like regex.c define
83849         _GNU_SOURCE.
83850
83851 2000-05-06  Jim Meyering  <meyering@lucent.com>
83852
83853         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
83854         (AC_REPLACE_FUNCS): Add strnlen.
83855
83856         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
83857         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
83858
83859         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
83860         AC_SEARCH_LIBS call for nanosleep.
83861         (LIB_NANOSLEEP): Set and AC_SUBST.
83862
83863 2000-05-06  Jim Meyering  <meyering@lucent.com>
83864
83865         * lib/strnlen.c: Undefine __strnlen and strnlen.
83866         [!weak_alias]: Define __strnlen to strnlen.
83867
83868         * lib/atexit.c: New file, from libiberty.
83869
83870 2000-05-06  Jim Meyering  <meyering@lucent.com>
83871
83872         * lib/closeout.c (close_stdout_status): Also check for errors on the
83873         stderr stream.
83874
83875 2000-05-05  Jim Meyering  <meyering@lucent.com>
83876
83877         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
83878         AC_SEARCH_LIBS call for clock_gettime.
83879         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
83880
83881         * m4/search-libs.m4: Update from autoconf.
83882
83883         su doesn't work on Solaris 2.6.
83884         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
83885         <shadow.h>.  Reported by Dragos Harabor.
83886
83887 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
83888
83889         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
83890         memcpy instead of xmalloc, xrealloc, path_concat.
83891         (locale_charset): Treat empty environment variables as absent.
83892         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
83893
83894 2000-05-04  Jim Meyering  <meyering@lucent.com>
83895
83896         * lib/getopt.c: Update from glibc.
83897         * lib/obstack.c: Likewise.
83898         * lib/obstack.h: Likewise.
83899         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
83900         file
83901
83902         * lib/regex.h: Likewise.
83903         * lib/strndup.c: Likewise.
83904         * lib/strnlen.c: New file, from glibc.
83905
83906 2000-05-03  Jim Meyering  <meyering@lucent.com>
83907
83908         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
83909
83910 2000-05-02  Paul Eggert  <eggert@twinsun.com>
83911
83912         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
83913         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
83914         compile-time test, rather than inspecting host and OS, to
83915         decide whether to define _LARGEFILE_SOURCE.
83916
83917 2000-05-01  Jim Meyering  <meyering@lucent.com>
83918
83919         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
83920
83921         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
83922         Based on a patch from Bruno Haible.
83923
83924 2000-05-01  Jim Meyering  <meyering@lucent.com>
83925
83926         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
83927
83928 2000-04-29  Jim Meyering  <meyering@lucent.com>
83929
83930         * lib/path-concat.c: Declare strdup only if it's not defined.
83931         * lib/canon-host.c: Likewise.
83932
83933 2000-04-28  Jim Meyering  <meyering@lucent.com>
83934
83935         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
83936         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
83937         is included first, then limits.h is included by locale.h by libintl.h.
83938         From John David Anglin.
83939
83940 2000-04-25  Jim Meyering  <meyering@lucent.com>
83941
83942         * lib/makepath.c (S_IRWXUGO): Define.
83943         (make_path): Always perform explicit chmod if MODE specifies any
83944         of the `special' permission bits.  Prompted by a bug report against
83945         install from Mate Wierdl and Joost van Baal.
83946
83947 2000-04-18  Jim Meyering  <meyering@lucent.com>
83948
83949         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
83950         (jm_PREREQ): Use it.
83951
83952 2000-04-18  Jim Meyering  <meyering@lucent.com>
83953
83954         * lib/README: New file.
83955
83956         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
83957         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
83958
83959 2000-04-17  Jim Meyering  <meyering@lucent.com>
83960
83961         Get it right :-)
83962         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
83963         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
83964         Suggestion from Akim Demaille.
83965
83966 2000-04-17  Jim Meyering  <meyering@lucent.com>
83967
83968         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
83969         the definition of it to rpl_strftime also defined-away the system's
83970         declaration.
83971
83972 2000-04-15  Jim Meyering  <meyering@lucent.com>
83973
83974         Use `C' to denote so-called `contiguous' files, the same way
83975         that tar does.
83976         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
83977         (ftypelet): Use S_ISCTG.
83978         From Michael Deutschmann.
83979
83980 2000-04-14  Jim Meyering  <meyering@lucent.com>
83981
83982         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
83983         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
83984         clobbered.
83985
83986 2000-04-14  Jim Meyering  <meyering@lucent.com>
83987
83988         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
83989
83990 2000-04-13  Jim Meyering  <meyering@lucent.com>
83991
83992         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
83993         AH_VERBATIM to insert required #ifndef into config.h.in.
83994         Suggestion from Akim Demaille.
83995
83996 2000-04-12  Jim Meyering  <meyering@lucent.com>
83997
83998         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
83999         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
84000         Christian Krackowizer.
84001
84002         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
84003         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
84004         (AC_SYS_LARGEFILE): Require.
84005         (AM_C_PROTOTYPES): Require.
84006
84007 2000-04-08  Jim Meyering  <meyering@lucent.com>
84008
84009         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
84010         names don't conflict.  Reported by Eli Zaretskii.
84011
84012 2000-04-07  Jim Meyering  <meyering@lucent.com>
84013
84014         * lib/putenv.c: Move inclusion of errno.h so it follows that of
84015         sys/types.h, to work around system header problems on AIX 3.2.5.
84016         From Bruno Haible.
84017
84018 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
84019
84020         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
84021         bug.  Deal with the different error behavior of Irix iconv.
84022
84023 2000-04-05  Paul Eggert  <eggert@twinsun.com>
84024
84025         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
84026         IRIX if the installer said otherwise.
84027
84028 2000-04-05  Jim Meyering  <meyering@lucent.com>
84029
84030         Portability tweaks required for ultrix4.3.
84031         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
84032         (jm_CHECK_DECLS): Add getutent to the list of functions.
84033         (_jm_DECL_HEADERS): Add utmpx.h.
84034         From John David Anglin.
84035
84036         * m4/strftime.m4: Back out the 2000-04-02 change.
84037         Instead of that change, simply undefine putenv in the test program.
84038
84039 2000-04-05  Jim Meyering  <meyering@lucent.com>
84040
84041         Portability tweaks required for ultrix4.3.
84042         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
84043         getutent.
84044         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
84045         * lib/canon-host.c: Declare strdup.
84046         * lib/path-concat.c: Likewise.
84047         From John David Anglin.
84048
84049 2000-04-04  Jim Meyering  <meyering@lucent.com>
84050
84051         Be more DOS 8.3-friendly.
84052         * lib/ref-add.sin: Renamed from ref-add.sed.in.
84053         * lib/ref-del.sin: Renamed from ref-del.sed.in.
84054         * lib/Makefile.am: Reflect renaming.
84055         Reported by Eli Zaretskii.
84056
84057         Use a temporary file name that won't clash with `charset.alias'
84058         in the DOS 8.3 name space.
84059         * lib/Makefile.am (charset_tmp): Define.
84060         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
84061         (uninstall-local): Likewise.
84062         Reported by Eli Zaretskii.
84063
84064 2000-04-03  Jim Meyering  <meyering@lucent.com>
84065
84066         * m4/gettext.m4: Fix typo in comment.
84067
84068         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
84069         textutils/configure.in).  Suggestion from Paul Eggert.
84070         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
84071
84072 2000-04-02  Paul Eggert  <eggert@twinsun.com>
84073
84074         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
84075         variable in the shell rather than using putenv, which isn't
84076         portable.  This avoids the configure-time inter-test dependency
84077         on the potentially-renamed putenv function.
84078
84079 2000-03-30  Paul Eggert  <eggert@twinsun.com>
84080
84081         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
84082         before checking struct stat.st_blksize, so that
84083         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
84084
84085 2000-03-29  Paul Eggert  <eggert@twinsun.com>
84086
84087         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
84088         since strftime.c uses HAVE_STRFTIME to decide whether to use
84089         the underlying strftime.
84090
84091 2000-03-29  Paul Eggert  <eggert@twinsun.com>
84092
84093         * lib/time/strftime.c (my_strftime): Make sure we call the system
84094         strftime, not ourselves, when invoking the underlying strftime.
84095
84096 2000-03-24  Jim Meyering  <meyering@lucent.com>
84097
84098         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
84099         (charset_alias): Define.
84100         (install-exec-local): Factor out common code.
84101         (uninstall-local): Split lines longer than 80.
84102         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
84103         (SUFFIXES): Define.
84104         (.sed.in.sed): New rule.  Don't redirect directly to $@.
84105         (CLEANFILES): Add ref-add.sed and ref-del.sed.
84106
84107 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
84108
84109         * lib/config.charset: Output a line containing "Packages using this
84110         file".
84111         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
84112         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
84113         ref-del.sed): New rules.
84114
84115 2000-03-17  Jim Meyering  <meyering@lucent.com>
84116
84117         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
84118         Otherwise, include <strings.h>
84119
84120 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
84121
84122         * lib/unicodeio.c (utf8_wctomb): New function.
84123         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
84124         format instead of in UCS-4 with platform dependent endianness.
84125
84126 2000-03-10  Jim Meyering  <meyering@lucent.com>
84127
84128         * m4/lib-check.m4: Look for getspnam in -lgen, too.
84129         From Marco Franzen.
84130
84131 2000-03-07  Paul Eggert  <eggert@twinsun.com>
84132
84133         * lib/savedir.c (savedir): Work even if directory size is
84134         negative; this can happen with some screwy NFS configurations.
84135
84136 2000-03-06  Jim Meyering  <meyering@lucent.com>
84137
84138         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
84139         if it's NULL (because we ran out of memory).  From Bruno Haible.
84140
84141 2000-03-05  Jim Meyering  <meyering@lucent.com>
84142
84143         * lib/localcharset.c ("path-concat.h"): Include.
84144         (get_charset_aliases): Use path_concat instead of ANSI string
84145         concatenation.
84146
84147         * lib/unicodeio.h (PARAMS): Define.
84148         Use it to guard prototype.
84149
84150 2000-03-04  Jim Meyering  <meyering@lucent.com>
84151
84152         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
84153         for lib/localcharset.c.
84154
84155 2000-03-04  Jim Meyering  <meyering@lucent.com>
84156
84157         * lib/Makefile.am (install-exec-local): Create $(libdir) before
84158         installing into it.
84159         (uninstall-local): Uncomment this rule so `make distcheck' works
84160         once again.
84161
84162         * lib/unicodeio.c (<errno.h>): Include it.
84163         (errno): Declare if not defined.
84164
84165         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
84166
84167         * lib/config.charset: New version, incorporating remarks from a linux
84168         i18n mailing list.  From Bruno Haible.
84169
84170 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
84171
84172         * m4/codeset.m4: New file.
84173         * m4/iconv.m4: New file.
84174         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
84175
84176 2000-03-03  Jim Meyering  <meyering@lucent.com>
84177
84178         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
84179
84180 2000-03-02  Jim Meyering  <meyering@lucent.com>
84181
84182         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
84183         the messages come out on separate lines.
84184
84185         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
84186         rather than jm_CHECK_DECLARATIONS.
84187         * m4/decl.m4: Remove now-unused file.
84188
84189         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
84190         geteuid.
84191
84192 2000-03-02  Jim Meyering  <meyering@lucent.com>
84193
84194         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
84195
84196 2000-03-01  Jim Meyering  <meyering@lucent.com>
84197
84198         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
84199         * lib/unicodeio.c: Likewise.
84200
84201 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
84202
84203         * lib/config.charset: New file.
84204         * lib/localcharset.c: New file.
84205         * lib/unicodeio.h, lib/unicodeio.c: New files.
84206         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
84207         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
84208         (noinst_HEADERS): Add unicodeio.h.
84209         (all-local, install-exec-local, charset.alias): New targets.
84210
84211 2000-02-28  Paul Eggert  <eggert@twinsun.com>
84212
84213         * lib/quotearg.c (ALERT_CHAR): New macro.
84214         (quotearg_buffer_restyled): Use it.
84215
84216 2000-02-27  Jim Meyering  <meyering@lucent.com>
84217
84218         * m4/check-decl.m4: Add getenv to the list.
84219
84220 2000-02-27  Jim Meyering  <meyering@lucent.com>
84221
84222         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
84223         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
84224
84225         * lib/backupfile.c: Guard inclusion of stdlib.h with
84226         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
84227         Declare malloc if needed.
84228
84229         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
84230         `#ifndef HAVE_DECL..'
84231         now that autoconf always defines the HAVE_DECL_ symbols.
84232         * lib/human.c: Likewise.
84233         * lib/same.c: Likewise.
84234         * lib/strtoumax.c: Likewise.
84235
84236         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
84237         declaration check was not run.
84238         * lib/hash.c: Likewise.
84239         * lib/human.c: Likewise.
84240         * lib/same.c: Likewise.
84241         * lib/strtoumax.c: Likewise.
84242
84243         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
84244         `.', then first look up the entire `.'-containing string as a login
84245         name.
84246
84247 2000-02-23  Jim Meyering  <meyering@lucent.com>
84248
84249         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
84250         in place of my hack.
84251
84252 2000-02-18  Paul Eggert  <eggert@twinsun.com>
84253
84254         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
84255         (textint): New typedef.
84256         (parser_control): Member year changed from int to textint.
84257         All uses changed.
84258         (YYSTYPE): Removed; replaced by %union with int and textint members.
84259         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
84260         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
84261         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
84262         (tSNUMBER, tUNUMBER): Now of type <textintval>.
84263         (date, number, to_year): Use width of number in digits, not its value,
84264         to determine whether it's a 2-digit year, or a 2-digit time.
84265         (yylex): Store number of digits of numeric tokens.
84266         Reported by John Kendall.
84267
84268         (parser_control): Changed from struct parser_control to typedef (for
84269         consistency).  All uses changed.
84270
84271         (tID): Removed; not used.
84272         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
84273
84274 2000-02-14  Paul Eggert  <eggert@twinsun.com>
84275
84276         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
84277         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
84278
84279 2000-02-12  Jim Meyering  <meyering@lucent.com>
84280
84281         * lib/userspec.c (ISDIGIT): Define it.
84282         (isdigit): Remove definition.
84283         (is_number): Use ISDIGIT, not isdigit.
84284         <libintl.h>: Include.
84285         (_ and N_): Define.
84286         (parse_user_spec): Mark translatable strings.
84287
84288 2000-02-10  Jim Meyering  <meyering@lucent.com>
84289
84290         With these changes, nanosleep.[ch] are finally enough like the other
84291         lib/* replacement files to compile on a few more losing systems.
84292
84293         * lib/nanosleep.h: Don't include config.h.
84294         Remove prototype from declaration of nanosleep.
84295         (PARAMS): Remove now-unneeded definition.
84296         * lib/nanosleep.c: #undef nanosleep.
84297         (rpl_nanosleep): Rename from nanosleep.
84298
84299 2000-02-10  Jim Meyering  <meyering@lucent.com>
84300
84301         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
84302         gnu_nanosleep to rpl_nanosleep.
84303
84304 2000-02-09  Jim Meyering  <meyering@lucent.com>
84305
84306         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
84307         struct spwd, rather than in struct passwd.  Reported by GaĂ«l QuĂ©ri.
84308
84309 2000-02-08  Akim Demaille  <akim@epita.fr>
84310
84311         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
84312         `[' and `]' and remove uses of `changequote'.
84313         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
84314         (AC_SYS_LARGEFILE): Likewise.
84315         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
84316         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
84317         of changequote.
84318         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
84319         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
84320         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
84321         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
84322
84323 2000-02-05  Jim Meyering  <meyering@lucent.com>
84324
84325         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
84326         Remove explicit use of AC_HEADER_TIME.  It is required by
84327         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
84328         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
84329         in autoconf whereby the expansion of the latter ended up preceding
84330         the expansion of its prerequisite, AC_HEADER_TIME.
84331         Reported by Volker Borchert.
84332
84333 2000-02-03  Jim Meyering  <meyering@lucent.com>
84334
84335         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
84336
84337 2000-02-03  Jim Meyering  <meyering@lucent.com>
84338
84339         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
84340         rather than with `#if HAVE_UTMPNAME'.
84341
84342 2000-02-02  Jim Meyering  <meyering@lucent.com>
84343
84344         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
84345         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
84346         Reported by Eli Zaretskii.
84347
84348 2000-02-01  Jim Meyering  <meyering@lucent.com>
84349
84350         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
84351
84352 2000-01-31  Jim Meyering  <meyering@lucent.com>
84353
84354         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
84355         functions.  Add the time.h and sys/time.h headers along with the
84356         AC_REQUIRE'ment of AC_HEADER_TIME.
84357
84358 2000-01-31  Jim Meyering  <meyering@lucent.com>
84359
84360         * lib/nanosleep.h (nanosleep): Guard declaration with
84361         `#if ! HAVE_DECL_NANOSLEEP'.
84362         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
84363         the declaration in that vendor's sys/timers.h.
84364         Reported by Christian Krackowizer.
84365
84366         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
84367         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
84368         (ISPRINT): Likewise.
84369         Reported by Tom Tromey.
84370
84371 2000-01-30  Jim Meyering  <meyering@lucent.com>
84372
84373         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
84374
84375         * m4/prereq.m4 (utmp_includes): Define.
84376         Check for ut_user and ut_name members in both struct utmpx
84377         and struct utmp.
84378
84379 2000-01-30  Jim Meyering  <meyering@lucent.com>
84380
84381         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
84382         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
84383         header files where only utmpx.ut_user is declared.
84384
84385         * lib/readutmp.h (UT_USER): Define.
84386
84387 2000-01-29  Jim Meyering  <meyering@lucent.com>
84388
84389         * m4/lib-check.m4: New file containing library-related checks from
84390         fileutils and sh-utils (textutils had none).
84391
84392 2000-01-28  Jim Meyering  <meyering@lucent.com>
84393
84394         * m4/perl.m4: Change format of warning message to look more like that
84395         from the missing script.  Suggestion from François Pinard.
84396
84397 2000-01-25  Jim Meyering  <meyering@lucent.com>
84398
84399         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
84400         well as time.h in the compile check.
84401         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
84402         Fix typo in cross-compiling case: s/yes/no/.
84403
84404 2000-01-23  Jim Meyering  <meyering@lucent.com>
84405
84406         * m4/jm-macros.m4: Move df-related tests here from
84407         fileutils/configure.in
84408
84409         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
84410         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
84411
84412         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
84413         s/space/ac_fsusage_space/.
84414         (jm_FILE_SYSTEM_USAGE): Take two parameters.
84415
84416         * m4/ftruncate.m4: New file (derived from part of
84417         fileutils/configure.in).
84418         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
84419         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
84420
84421         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
84422         AC_SUBST these here, rather than just in sh-util/configure.in, so
84423         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
84424         all the same.
84425         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
84426         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
84427         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
84428         (AC_SUBST(POW_LIBM)): Likewise.
84429         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
84430
84431 2000-01-23  Jim Meyering  <meyering@lucent.com>
84432
84433         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
84434         obstack.c.
84435
84436 2000-01-22  Jim Meyering  <meyering@lucent.com>
84437
84438         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
84439
84440         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
84441
84442         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
84443         configure.in
84444         (AC_CHECK_HEADERS): Likewise for sh-utils.
84445         (AC_CHECK_HEADERS): Likewise for textutils.
84446         Merge the three lists of headers.
84447
84448         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
84449         from fileutils' configure.in.
84450
84451         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
84452         code. Moved tests into their own function (_jm_DECL_HEADERS) in
84453         check-decl.m4.
84454
84455         * m4/check-decl.m4: Use #if rather than #ifdef.
84456         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
84457         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
84458         (_jm_DECL_HEADERS): Define new function.
84459         (jm_CHECK_DECLARATIONS): Require it.
84460
84461 2000-01-22  Jim Meyering  <meyering@lucent.com>
84462
84463         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
84464         [! HAVE_DECL_STRTOULL]: Declare strtoull.
84465         Required for some AIX systems.  Reported by Christian Krackowizer.
84466         [TESTING] (main): New function.
84467
84468         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
84469         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
84470         letters.
84471
84472         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
84473         iswprint.
84474
84475         * lib/strverscmp.c (ISDIGIT): Define.
84476         (strverscmp): Use ISDIGIT, not isdigit.
84477
84478 2000-01-19  Jim Meyering  <meyering@lucent.com>
84479
84480         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
84481         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
84482         defines `struct timespec' in <sys/time.h>
84483
84484         * m4/c-bs-a.m4: Remove uses of changequote altogether.
84485         Thanks to Akim for explaining.
84486
84487 2000-01-17  Paul Eggert  <eggert@twinsun.com>
84488
84489         * lib/nanosleep.c (nanosleep):
84490         Don't use SA_INTERRUPT to decide whether to call sigaction, as
84491         POSIX.1 doesn't require SA_INTERRUPT and some systems
84492         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
84493         it's been part of POSIX.1 since day 1 (in 1988).
84494
84495 2000-01-17  Jim Meyering  <meyering@lucent.com>
84496
84497         * lib/interlock: Remove unused file.  Reported by François Pinard.
84498
84499 2000-01-16  Paul Eggert  <eggert@twinsun.com>
84500
84501         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
84502         alert, backslash, formfeed, and vertical tab unnecessarily in
84503         shell quoting style.
84504
84505 2000-01-16  Jim Meyering  <meyering@lucent.com>
84506
84507         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
84508         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
84509         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
84510         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
84511
84512 2000-01-16  Jim Meyering  <meyering@lucent.com>
84513
84514         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
84515         because the latter didn't work.
84516
84517 2000-01-15  Jim Meyering  <meyering@lucent.com>
84518
84519         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
84520         (AC_REPLACE_FUNCS): Add memcpy and memset.
84521         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
84522         Add strpbrk.
84523         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
84524
84525 2000-01-12  Jim Meyering  <meyering@lucent.com>
84526
84527         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
84528         (jm_PREREQ): Use it.
84529         (jm_PREREQ_READUTMP): New macro.
84530         (jm_PREREQ): Use it.
84531
84532 2000-01-11  Paul Eggert  <eggert@twinsun.com>
84533
84534         Quote multibyte characters correctly.
84535         * m4/c-bs-a.m4: New file.
84536         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
84537         (jm_PREREQ): Use it.
84538
84539 2000-01-11  Paul Eggert  <eggert@twinsun.com>
84540
84541         * m4/uintmax_t.m4: Port to autoconf 2.13.
84542
84543 2000-01-08  Jim Meyering  <meyering@ascend.com>
84544
84545         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
84546         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
84547
84548 2000-01-04  Jim Meyering  <meyering@ascend.com>
84549
84550         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
84551         jm_STRUCT_DIRENT_D_TYPE.
84552         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
84553         jm_STRUCT_DIRENT_D_INO.
84554         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
84555         jm_STRUCT_UTIMBUF.
84556         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
84557         renamings.
84558         * m4/utime.m4: Likewise.
84559
84560         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
84561         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
84562
84563 2000-01-03  Paul Eggert  <eggert@twinsun.com>
84564
84565         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
84566         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
84567
84568 2000-01-02  Jim Meyering  <meyering@ascend.com>
84569
84570         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
84571         remember if this is necessary.
84572
84573 1999-12-26  Jim Meyering  <meyering@ascend.com>
84574
84575         * m4/jm-macros.m4: Use it here.
84576         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
84577
84578 1999-12-23  Jim Meyering  <meyering@ascend.com>
84579
84580         * m4/jm-macros.m4: Check for clock_gettime (moved from
84581         fileutils/configure.in)
84582         Check for gettimeofday.
84583
84584 1999-12-20  Jim Meyering  <meyering@ascend.com>
84585
84586         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
84587         autoconf-2.14a-1999-12-20.
84588
84589 1999-12-19  Jim Meyering  <meyering@ascend.com>
84590
84591         * m4/lstat-slash.m4: New file.
84592         * m4/jm-macros.m4: Use the new macro:
84593         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84594
84595 1999-12-07  Jim Meyering  <meyering@ascend.com>
84596
84597         * m4/perl.m4: Require that File::Compare be available, too.
84598         Too many systems seem to lack it.
84599
84600         * m4/strftime.m4: Add checks for most of the cpp macros tested in
84601         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
84602
84603 1999-11-18  Paul Eggert  <eggert@twinsun.com>
84604
84605         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
84606         problem with the QNX 4.25 shell, which doesn't propagate exit
84607         status of failed commands inside shell assignments.
84608
84609 1999-11-17  Jim Meyering  <meyering@ascend.com>
84610
84611         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
84612
84613 1999-11-07  Jim Meyering  <meyering@ascend.com>
84614
84615         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
84616
84617 1999-11-06  Jim Meyering  <meyering@ascend.com>
84618
84619         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
84620         * m4/jm-macros.m4 (jm_MACROS): Use it here.
84621
84622 1999-11-05  Jim Meyering  <meyering@ascend.com>
84623
84624         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
84625         configure.in of textutils, fileutils, and sh-utils into this one
84626         (shared between those packages) file.
84627         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
84628         AC_STRUCT_ST_BLKSIZE.
84629
84630 1999-11-03  Jim Meyering  <meyering@ascend.com>
84631
84632         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
84633         of AC_CHECK_TYPE checks includes unistd.h.
84634         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
84635         Suggestion from Akim Demaille.
84636
84637 1999-10-30  Jim Meyering  <meyering@ascend.com>
84638
84639         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
84640         m4-quoted string.
84641         * m4/ls-mntd-fs.m4: Likewise.
84642         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
84643         * m4/jm-winsz1.m4: Likewise.
84644
84645         * m4/const.m4: Remove file, since the fix made it into the experimental
84646         version of autoconf.
84647         * m4/mktime.m4: Likewise.
84648
84649         * m4/check-type.m4: Remove file, now that the latest version of
84650         AC_CHECK_TYPE takes a third arg to specify additional #includes.
84651
84652         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
84653         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
84654         AC_CHECK_TYPE.
84655
84656 1999-10-04  Jim Meyering  <meyering@ascend.com>
84657
84658         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
84659
84660 1999-09-22  Paul Eggert  <eggert@twinsun.com>
84661
84662         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
84663         2.95.1 bug with HP-UX 10.20.
84664
84665 1999-09-17  Jim Meyering  <meyering@ascend.com>
84666
84667         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
84668         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
84669         due to missing strdup (against sh-utils-2.0).
84670
84671 1999-08-29  Jim Meyering  <meyering@ascend.com>
84672
84673         * m4/jm-macros.m4: Require jm_BISON.
84674         * m4/bison.m4: New file.
84675
84676 1999-08-17  Paul Eggert  <eggert@twinsun.com>
84677
84678         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
84679         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
84680
84681 1999-08-05  Jim Meyering  <meyering@ascend.com>
84682
84683         * m4/getline.m4: Rename test file from conftestdata to conftest.data
84684         to avoid conflicts with `conftest' on 8+3 filesystems.
84685         Suggestion from Eli Zaretskii.
84686
84687 1999-08-04  Jim Meyering  <meyering@ascend.com>
84688
84689         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
84690         fileutils and sh-utils (textutils's getline test was inadequate).
84691         (AM_FUNC_GETLINE): Run this test.
84692         (AC_CHECK_FUNCS): Check for getdelim.
84693         Reported by Bob Proulx.
84694
84695 1999-08-02  Jim Meyering  <meyering@ascend.com>
84696
84697         * m4/jm-macros.m4: Add a comment.
84698
84699 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84700
84701         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
84702         <inttypes.h> defines strtoumax as a macro (and not as a
84703         function).
84704
84705 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84706
84707         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
84708         that we can shift, multiply and divide unsigned long long
84709         values; Ultrix cc can't do it.
84710
84711 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84712
84713         * m4/mktime.m4: New file, which is a preview of what should appear
84714         in the next public autoconf release.
84715
84716 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84717
84718         * m4/lfs.m4: Remove this file.
84719         * m4/largefile.m4: New file.  It contains the old contents of
84720         lfs.m4, except that all names with prefix AC_LFS have been
84721         changed to use the prefix AC_SYS_LARGEFILE instead, to be
84722         compatible with future autoconf versions.  Also, some minor m4
84723         quoting problems have been fixed.
84724
84725 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84726
84727         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
84728         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
84729         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
84730         and simplify the shell code.
84731
84732 1999-08-01  Jim Meyering  <meyering@ascend.com>
84733
84734         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
84735         m4.
84736
84737 1999-07-20  Jim Meyering  <meyering@ascend.com>
84738
84739         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
84740
84741 1999-07-15  Jim Meyering  <meyering@ascend.com>
84742
84743         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
84744
84745 1999-05-22  Jim Meyering  <meyering@ascend.com>
84746
84747         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
84748
84749 1999-05-20  Jim Meyering  <meyering@ascend.com>
84750
84751         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
84752         Add a colon after each `then' in case $4 is empty.
84753
84754 1999-05-16  Jim Meyering  <meyering@ascend.com>
84755
84756         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
84757
84758 1999-05-10  Jim Meyering  <meyering@ascend.com>
84759
84760         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
84761
84762         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
84763         AC_FUNC_MKTIME.
84764
84765 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
84766
84767         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
84768
84769 1999-05-04  Paul Eggert  <eggert@twinsun.com>
84770
84771         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
84772         not CPPFLAGS, so that linking works correctly in IRIX.
84773
84774 1999-04-30  Paul Eggert  <eggert@twinsun.com>
84775
84776         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
84777
84778 1999-04-20  Paul Eggert  <eggert@twinsun.com>
84779
84780         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
84781         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
84782         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
84783         jm_AC_TYPE_UNSIGNED_LONG_LONG.
84784         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
84785
84786         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
84787
84788 1999-04-20  Jim Meyering  <meyering@ascend.com>
84789
84790         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
84791         AC_REPLACE xstroull if necessary.  From Paul Eggert.
84792         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
84793
84794 1999-04-18  Jim Meyering  <meyering@ascend.com>
84795
84796         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
84797         * m4/jm-macros.m4: Use it.
84798
84799 1999-04-06  Jim Meyering  <meyering@ascend.com>
84800
84801         * m4/strftime.m4: Remove test for %f.
84802
84803 1999-03-29  Jim Meyering  <meyering@ascend.com>
84804
84805         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
84806         superset of the AC_TYPE_* checks in the textutils, fileutils,
84807         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
84808         AC_TYPE_PID_T.
84809
84810 1999-03-28  Jim Meyering  <meyering@ascend.com>
84811
84812         * m4/jm-macros.m4: Define GNU_PACKAGE here.
84813         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
84814         replaced e.g., in the *.sh files of the sh-utils.
84815
84816 1999-03-20  Jim Meyering  <meyering@ascend.com>
84817
84818         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
84819         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
84820         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
84821
84822 1999-03-19  Jim Meyering  <meyering@ascend.com>
84823
84824         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
84825
84826 1999-03-12  Jim Meyering  <meyering@ascend.com>
84827
84828         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
84829
84830 1999-03-07  Jim Meyering  <meyering@ascend.com>
84831
84832         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
84833         declared.
84834
84835 1999-02-17  Jim Meyering  <meyering@ascend.com>
84836
84837         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
84838         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
84839
84840 1999-02-07  Jim Meyering  <meyering@ascend.com>
84841
84842         * m4/group-member.m4: New file -- extracted from sh-utils'
84843         configure.in.
84844
84845         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
84846         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
84847
84848 1999-02-06  Jim Meyering  <meyering@ascend.com>
84849
84850         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
84851         * m4/fnmatch.m4: Likewise.
84852         * m4/getgroups.m4: Likewise.
84853         * m4/lstat.m4: Likewise.
84854         * m4/malloc.m4: Likewise.
84855         * m4/putenv.m4: Likewise.
84856         * m4/realloc.m4: Likewise.
84857         * m4/regex.m4: Likewise.
84858         * m4/stat.m4: Likewise.
84859         * m4/strftime.m4: Likewise.
84860         Suggestion from Alain Magloire.
84861
84862         * m4/chown.m4: Use `.$ac_objext', not `.o'.
84863         * m4/fnmatch.m4: Likewise.
84864         * m4/getgroups.m4: Likewise.
84865         * m4/getline.m4: Likewise.
84866         * m4/lstat.m4: Likewise.
84867         * m4/malloc.m4: Likewise.
84868         * m4/memcmp.m4: Likewise.
84869         * m4/putenv.m4: Likewise.
84870         * m4/realloc.m4: Likewise.
84871         * m4/regex.m4: Likewise.
84872         * m4/stat.m4: Likewise.
84873         * m4/strftime.m4: Likewise.
84874         Suggestion from Alain Magloire.
84875
84876         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
84877         an argument.
84878
84879         * m4/regex.m4: Add a run-time Test for proper operation of
84880         re_compile_pattern.
84881
84882 1999-01-31  Jim Meyering  <meyering@ascend.com>
84883
84884         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
84885
84886 1999-01-30  Jim Meyering  <meyering@ascend.com>
84887
84888         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
84889
84890         * m4/jm-mktime.m4: Make this a wrapper around the official
84891         AM_FUNC_MKTIME rather than my private copy, now that the official one
84892         is up to date.
84893         * m4/mktime.m4: Remove file.
84894
84895         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
84896         * m4/uptime.m4: Likewise.
84897         * m4/uintmax_t.m4: Likewise.
84898
84899 1999-01-28  Jim Meyering  <meyering@ascend.com>
84900
84901         * m4/jm-macros.m4: Use jm_AFS.
84902         * m4/afs.m4: New file (from fileutils' configure.in).
84903
84904         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
84905         * m4/chown.m4: Likewise.
84906         * m4/d-ino.m4: Likewise.
84907         * m4/d-type.m4: Likewise.
84908         * m4/fnmatch.m4: Likewise.
84909         * m4/getgroups.m4: Likewise.
84910         * m4/gettext.m4: Likewise.
84911         * m4/jm-mktime.m4: Likewise.
84912         * m4/jm-winsz2.m4: Likewise.
84913         * m4/lcmessage.m4: Likewise.
84914         * m4/ls-mntd-fs.m4: Likewise.
84915         * m4/malloc.m4: Likewise.
84916         * m4/memcmp.m4: Likewise.
84917         * m4/putenv.m4: Likewise.
84918         * m4/realloc.m4: Likewise.
84919         * m4/st_mtim.m4: Likewise.
84920         * m4/strftime.m4: Likewise.
84921
84922 1999-01-16  Jim Meyering  <meyering@ascend.com>
84923
84924         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
84925         (ARGMATCH_DIE_DECL): Define.
84926
84927 1999-01-12  Jim Meyering  <meyering@ascend.com>
84928
84929         * m4/Makefile.am.in: Rewrite to avoid using fmt.
84930         Reported by Lars Hecking.
84931
84932 1999-01-10  Jim Meyering  <meyering@ascend.com>
84933
84934         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
84935         gross kludge.
84936         * m4/inttypes_h.m4: Likewise.
84937         * m4/lstat.m4: Likewise.
84938         * m4/malloc.m4: Likewise.
84939         * m4/readdir.m4: Likewise.
84940         * m4/realloc.m4: Likewise.
84941         * m4/st_dm_mode.m4: Likewise.
84942         * m4/stat.m4: Likewise.
84943         * m4/utimbuf.m4: Likewise.
84944         * m4/utimes.m4: Likewise.
84945
84946         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
84947         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
84948         comments in config.h.in are meaningful.
84949
84950         * m4/jm-macros.m4: Require autoconf-2.13 here.
84951
84952         * m4/regex.m4: By default, don't use the included regex.c on systems
84953         with glibc 2.  Suggestion from Uli Drepper.
84954
84955 1999-01-02  Jim Meyering  <meyering@ascend.com>
84956
84957         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
84958
84959 1998-12-18  Jim Meyering  <meyering@ascend.com>
84960
84961         * m4/Makefile.am.in (Makefile.am): Simplify rule.
84962         Based on a suggestion from Lars Hecking.
84963
84964 1998-11-16  Paul Eggert  <eggert@twinsun.com>
84965
84966         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
84967
84968 1998-11-16  Jim Meyering  <meyering@ascend.com>
84969
84970         * m4/lfs.m4: Double-quote the `uname...` expression.
84971
84972 1998-11-14  Jim Meyering  <meyering@ascend.com>
84973
84974         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
84975         * m4/stat.m4: Likewise.
84976
84977 1998-11-03  Jim Meyering  <meyering@ascend.com>
84978
84979         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
84980         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
84981
84982 1998-10-18  Jim Meyering  <meyering@ascend.com>
84983
84984         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
84985
84986 1998-10-17  Jim Meyering  <meyering@ascend.com>
84987
84988         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
84989         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
84990         calls for those previously hard-coded headers.  Instead, take a new
84991         parameter.
84992         (jm_CHECK_DECLARATIONS): Reflect interface change.
84993         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
84994         (jm_CHECK_DECL_LOCALTIME_R): New macro.
84995
84996         * m4/mktime.m4: Test for spring-forward gap before long-running test.
84997
84998 1998-10-14  Jim Meyering  <meyering@ascend.com>
84999
85000         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
85001         instead of "TZ=America/Vancouver".  From Paul Eggert.
85002
85003 1998-10-11  Jim Meyering  <meyering@ascend.com>
85004
85005         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
85006         This adds a test for a recently added compatibility fix for mktime.c.
85007         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
85008
85009 1998-09-27  Jim Meyering  <meyering@ascend.com>
85010
85011         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
85012
85013         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
85014         ../configure.in, including a change from Gordon Matzigkeit to allow
85015         cross-compiling for the Hurd.
85016
85017         * m4/glibc.m4: New file/macro to test for the GNU C Library
85018         versions 1 and 2.  From Gordon Matzigkeit.
85019         Indent.
85020
85021 1998-09-21  Jim Meyering  <meyering@ascend.com>
85022
85023         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
85024
85025 1998-08-18  Paul Eggert  <eggert@twinsun.com>
85026
85027         Port nanosecond-resolution times to UnixWare 2.1.2 and
85028         pedantic Solaris 2.6.
85029
85030         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
85031         AC_STRUCT_ST_MTIM.
85032         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
85033         Generate name of ns member, instead of just 1 or undef.
85034         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
85035
85036 1998-08-15  Jim Meyering  <meyering@ascend.com>
85037
85038         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
85039         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
85040         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
85041         instead of jm_TYPE_SSIZE_T.
85042
85043 1998-08-12  Jim Meyering  <meyering@ascend.com>
85044
85045         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
85046
85047 1998-08-02  Jim Meyering  <meyering@ascend.com>
85048
85049         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
85050         in acconfig.h manually.
85051
85052 1998-07-31  Paul Eggert  <eggert@twinsun.com>
85053
85054         * m4/st_mtim.m4: New file.
85055
85056 1998-07-28  Jim Meyering  <meyering@ascend.com>
85057
85058         * m4/utimes.m4: Undef stat.
85059
85060 1998-07-25  Jim Meyering  <meyering@ascend.com>
85061
85062         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
85063         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
85064
85065 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
85066
85067         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
85068         uid and gid actually remain unchanged.
85069
85070 1998-07-07  Jim Meyering  <meyering@ascend.com>
85071
85072         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
85073
85074 1998-07-04  Jim Meyering  <meyering@ascend.com>
85075
85076         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
85077         to prove that this macro can be used in packages without regex.c.
85078
85079 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
85080
85081         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
85082         is to be used.
85083
85084 1998-07-03  Jim Meyering  <meyering@ascend.com>
85085
85086         * m4/gettext.m4: Add -lintl if it's found to be necessary.
85087
85088         * m4/gettext.m4: New file -- from gettext-0.10.35.
85089         * m4/lcmessage.m4: Likewise.
85090         * m4/progtest.m4: Likewise.
85091
85092         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
85093         * m4/jm-macros.m4: Require the new macro.
85094
85095 1998-06-29  Jim Meyering  <meyering@ascend.com>
85096
85097         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
85098         for the definition of NGROUPS (used in a system header included
85099         by sys/mount.h).
85100
85101 1998-06-28  Jim Meyering  <meyering@ascend.com>
85102
85103         * m4/ls-mntd-fs.m4: New file.
85104         * m4/fstypename.m4: New file.
85105
85106         * m4/jm-macros.m4: Require the new macro.
85107         * m4/jm-glibc-io.m4: New file.
85108
85109 1998-05-19  Jim Meyering  <meyering@ascend.com>
85110
85111         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
85112         * m4/lchown.m4: New file.
85113
85114         * m4/Makefile.am.in: New file.
85115         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
85116
85117 1998-05-14  Jim Meyering  <meyering@ascend.com>
85118
85119         * m4/Makefile.am (EXTRA_DIST): Add them.
85120         * m4/jm-macros.m4: New file.
85121         * m4/utimbuf.m4: New file.
85122
85123 1998-05-12  Jim Meyering  <meyering@ascend.com>
85124
85125         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
85126
85127 1998-05-11  Jim Meyering  <meyering@ascend.com>
85128
85129         * m4/isc-posix.m4: New file.
85130
85131 1998-05-10  Jim Meyering  <meyering@ascend.com>
85132
85133         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
85134
85135 1998-05-09  Jim Meyering  <meyering@ascend.com>
85136
85137         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
85138         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
85139         with automake.
85140
85141         * m4/ssize_t.m4: New file.
85142         * m4/mktime.m4: Remove file -- the new automake has this now.
85143
85144 1998-04-26  Jim Meyering  <meyering@ascend.com>
85145
85146         * m4/assert.m4: New file.
85147         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
85148
85149 1998-04-05  Jim Meyering  <meyering@ascend.com>
85150
85151         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
85152         (jm_PREREQ): Use it here.
85153
85154 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
85155
85156         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
85157         in acconfig.h.
85158
85159 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
85160
85161         * m4/prereq.m4: New file.
85162         * m4/error.m4: New file.
85163         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
85164
85165 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
85166
85167         * m4/getline.m4: Don't set am_cv_func_working_getline before the
85168         cache-check for the same variable -- that defeated the purpose of
85169         the test; the test program was never run.  This was a problem only
85170         on systems with losing getline functions -- HP-UX 10.20 is one.
85171         Reported by Bjorn Helgaas.
85172
85173 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
85174
85175         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
85176
85177 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
85178
85179         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
85180
85181         * m4/const.m4: New file.  Use an initializer in this declaration
85182         typedef int charset[2]; const charset x;
85183         Reported by Bob Glickstein.
85184
85185 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
85186
85187         * m4/chown.m4: Fix reversed types on -1 args to chown.
85188         From Kaveh Ghazi.
85189
85190 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
85191
85192         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
85193         Add lseek and memchr.
85194
85195         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
85196         T.E.Dickey <dickey@clark.net> said that some older preprocessors
85197         have a 20-character limit on names.
85198
85199 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
85200
85201         * m4/inttypes_h.m4: New file.
85202         * m4/uintmax_t.m4: New file.
85203         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
85204
85205
85206         -----
85207
85208         Local Variables:
85209         coding: utf-8
85210         End:
85211
85212         Copyright (C) 1997-2011 Free Software Foundation, Inc.
85213
85214         Copying and distribution of this file, with or without
85215         modification, are permitted provided the copyright notice
85216         and this notice are preserved.