nonblocking-socket tests: Fix a NULL program name in a diagnostic.
[gnulib.git] / ChangeLog
1 2012-02-04  Bruno Haible  <bruno@clisp.org>
2
3         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
4         * tests/test-nonblocking-socket-main.c: Include progname.h.
5         (main): Invoke set_program_name.
6         * modules/nonblocking-socket-tests (Depends-on): Add progname.
7
8         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
9         * tests/test-nonblocking-pipe-main.c: Include progname.h.
10         (main): Invoke set_program_name.
11         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
12
13 2012-02-04  Eric Blake  <eblake@redhat.com>
14
15         canonicalize-lgpl: fix // handling
16         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
17
18         canonicalize: fix // handling
19         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
20         /// to //, since only // is special.
21
22 2012-02-04  Bruno Haible  <bruno@clisp.org>
23
24         ioctl: Fix test failure on native Windows.
25         * lib/ioctl.c: Include msvc-nothrow.h.
26         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
27
28 2012-02-04  Bruno Haible  <bruno@clisp.org>
29
30         fsync: Avoid test failure on native Windows.
31         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
32         read-only.
33
34 2012-02-04  Bruno Haible  <bruno@clisp.org>
35
36         sys_select: Avoid syntax error on OpenBSD 5.0.
37         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
38         currently being included, just include the system's <sys/select.h>.
39
40 2012-02-04  Bruno Haible  <bruno@clisp.org>
41
42         sys_select: Avoid syntax error on OpenBSD 5.0.
43         * lib/sys_select.in.h: Include <signal.h> only after the include_next
44         <sys/select.h>, not before.
45         Reported by Jiri B <jirib@devio.us>.
46
47 2012-02-04  Bruno Haible  <bruno@clisp.org>
48
49         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
50         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
51         global variables.
52         * tests/test-get-rusage-data.c (main): Likewise.
53         Reported by Jim Meyering.
54
55 2012-02-04  Bruno Haible  <bruno@clisp.org>
56
57         stdioext: Fix last commit.
58         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
59
60 2012-02-03  Bruno Haible  <bruno@clisp.org>
61
62         stdioext: Add tentative support for Plan9.
63         * lib/stdio-impl.h: Include <errno.h>.
64         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
65         * lib/freadable.c (freadable): Likewise.
66         * lib/fwritable.c (fwritable): Likewise.
67         * lib/fbufmode.c (fbufmode): Likewise.
68         * lib/freading.c (freading): Likewise.
69         * lib/fwriting.c (fwriting): Likewise.
70         * lib/freadptr.c (freadptr): Likewise.
71         * lib/freadseek.c (freadptrinc): Likewise.
72         * lib/freadahead.c (freadahead): Likewise.
73         * lib/fpurge.c (fpurge): Likewise.
74         * lib/fseeko.c (rpl_fseeko): Likewise.
75         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
76         Reported by Jens Staal <staal1978@gmail.com>.
77
78 2012-02-02  Jim Meyering  <meyering@redhat.com>
79
80         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
81         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
82         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
83         not even to try to add the attribute.  Instead, add a pragma to suppress
84         the suggestion/warning.
85
86 2012-01-31  Karl Berry  <karl@gnu.org>
87
88         setstate doc: typo.
89         * doc/posix-functions/setstate.texi (setstate): { not (.
90
91 2012-01-31  Bruno Haible  <bruno@clisp.org>
92
93         popen: Make more robust on Windows.
94         * lib/popen.c: On native Windows, use the _popen based code even if
95         HAVE_POPEN is set.
96         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
97         environment variable on native Windows.
98
99 2012-01-30  Bruno Haible  <bruno@clisp.org>
100
101         pclose: Fix typo.
102         * lib/stdio.in.h (pclose): Fix typo in warning message.
103
104 2012-01-30  Bruno Haible  <bruno@clisp.org>
105
106         doc about getlogin_r, setstate.
107         * doc/posix-functions/getlogin_r.texi: List the incompatible
108         declaration problem under "not fixed by gnulib".
109         * doc/posix-functions/setstate.texi: Mention incompatible declaration
110         problem on Solaris 11 and other platforms.
111
112 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
113             Bruno Haible  <bruno@clisp.org>
114
115         poll tests: Make test more robust.
116         * tests/test-poll.c: Include macros.h.
117         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
118         return value of various I/O operations.
119         * modules/poll-tests (Files): Add tests/macros.h.
120
121 2012-01-30  Bruno Haible  <bruno@clisp.org>
122
123         sys_stat: Fix support for mingw64 and MSVC.
124         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
125         header files already do it.
126         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
127         stat itself.
128         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
129
130 2012-01-30  Bruno Haible  <bruno@clisp.org>
131
132         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
133         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
134         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
135
136 2012-01-29  Bruno Haible  <bruno@clisp.org>
137
138         quotearg: Fix test failure on MacOS X 10.5.
139         * tests/test-quotearg-simple.c: Include localcharset.h.
140         (main): If the locale encoding is not ASCII, bypass the tests of
141         locale_quoting_style and clocale_quoting_style.
142         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
143
144 2012-01-29  Jim Meyering  <meyering@redhat.com>
145
146         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
147         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
148         detect uses of canonicalize_file_name.
149
150 2012-01-28  Bruno Haible  <bruno@clisp.org>
151
152         test-framework-sh: Fix test failure with AIX 7.1 diff.
153         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
154         in column 1, like 'diff -c' does.
155         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
156         whether 'diff -u' is used. Instead, test whether the output contains
157         some '@' character.
158
159 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
160
161         strtoimax: eliminate need for stdint.h, inttypes.h checks
162         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
163         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
164         the prerequisites for a recently-introduced strtoimax test.
165         I guess this might cause strtoimax to be replaced when not
166         strictly necessary on older hosts, but this shouldn't introduce
167         any bugs and it should make Emacs 'configure' faster on typical
168         modern hosts.  Problem discovered when importing the latest gnulib
169         to an Emacs test version.
170         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
171
172 2012-01-28  Bruno Haible  <bruno@clisp.org>
173
174         sys_time: Override 'struct timeval' on some native Windows platforms.
175         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
176         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
177         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
178         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
179         needs to be overridden.
180         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
181         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
182         * tests/test-sys_select.c: Check that the tv_sec member has the same
183         size as a 'time_t'.
184         * tests/test-sys_time.c: Likewise.
185         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
186         is set, set also REPLACE_GETTIMEOFDAY.
187         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
188         convert the resulting 'struct timeval' before returning.
189         * lib/select.c: Include <sys/time.h>.
190         (select, timeval): Undefine at the right place.
191         * modules/select (Depends-on): Add sys_time.
192         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
193         some Windows platforms.
194         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
195
196 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
197
198         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
199         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
200         an integer.
201         * lib/fcntl.c (dupfd): Likewise.
202         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
203
204 2012-01-28  Bruno Haible  <bruno@clisp.org>
205
206         fcntl: Avoid compilation error on native Windows.
207         * modules/fcntl (Depends-on): Add 'close'.
208
209 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
210
211         select, poll, isatty: Avoid warnings on x86_64 mingw64.
212         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
213         pointer to an integer.
214         * lib/poll.c (IsConsoleHandle): Likewise.
215         * lib/isatty.c (IsConsoleHandle): Likewise.
216
217 2012-01-28  Jim Meyering  <meyering@redhat.com>
218
219         doc: clarify README-release
220         * top/README-release: Clarify: you should make a point to have
221         the latest stable versions of build tools in your PATH, and the
222         reference to buildreq is solely for its list of tool names, not
223         for its minimal-functional version numbers.
224         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
225
226         maint.mk: use more readable (yet functionally equivalent) quoting
227         It is common to quote a single quote in a single quoted string like
228         this:  '...'\''...'.  Unless you know the idiom, that looks like
229         gibberish, so prefer to double-quote the string when possible.
230         Then you can use a more readable, lone single quote: "...'..."
231         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
232         "don't" is more readable than the equivalent 'don'\''t'.
233         (sc_cast_of_x_alloc_return_value): Likewise.
234         (sc_cast_of_alloca_return_value): Likewise.
235         (sc_makefile_path_separator_check): Similar: use ":" in '...',
236         rather than '\'':'\''.
237
238 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
239
240         stdalign: relax _Alignof and tighten _Alignas test
241         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
242         as it was too strict: alignof must divide offsetof, but it need
243         not equal offsetof.  Inspired by Joseph S. Myers's comment
244         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
245         Conversely, tighten the _Alignas test a bit, as the resulting
246         alignment must be exactly 8.
247
248 2012-01-27  Bruno Haible  <bruno@clisp.org>
249
250         stdalign: Document the last change.
251         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
252
253 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
254
255         stdalign: check that alignof and offsetof are consistent
256         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
257         Problem reported for gnulib by Richard W.M. Jones in
258         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
259
260 2012-01-27  Jim Meyering  <meyering@redhat.com>
261
262         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
263         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
264         convert a sequence with gaps to the minimal containing range.
265         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
266         * tests/test-update-copyright.sh: Test for this.
267         The FSF confirmed it is ok to do this, assuming there is at
268         least one significant change per year in the affected range:
269         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
270
271 2012-01-26  Bruno Haible  <bruno@clisp.org>
272
273         pipe2: refine doc about thread-safety
274         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
275         multithread-safety problem.
276         * doc/glibc-functions/accept4.texi: Likewise.
277
278 2012-01-26  Bruno Haible  <bruno@clisp.org>
279
280         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
281         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
282         In the test program, include <fcntl.h>, for O_RDONLY.
283
284 2012-01-26  Eric Blake  <eblake@redhat.com>
285
286         pipe2: document lack of thread-safety in replacement
287         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
288         issue in replacement.
289         * doc/glibc-functions/accept4.texi (accept4): Likewise.
290         Based on a report by Eric Wong.
291
292 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
293             Bruno Haible  <bruno@clisp.org>
294
295         malloca: Avoid warnings on x86_64 mingw64.
296         * lib/malloca.c: Include <stdint.h>.
297         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
298         * modules/malloca (Depends-on): Add stdint.
299         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
300
301 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
302
303         obstack: remove __STDC__ conditionals
304         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
305         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
306         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
307         m4/include_next.m4 as the only gnulib-maintained places that still
308         refer to __STDC__.
309
310 2012-01-24  Bruno Haible  <bruno@clisp.org>
311
312         havelib: Modern quoting.
313         * build-aux/config.rpath: Quote 'like this', not `like this', as per
314         the recent change to the GNU coding standards.
315
316 2012-01-24  Bruno Haible  <bruno@clisp.org>
317
318         stdint: Improve support for Android.
319         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
320         Reported by Simon Josefsson <simon@josefsson.org>.
321
322 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
323
324         doc: omit trailing empty lines from INSTALL etc.
325         * doc/Makefile (INSTALL): Omit trailing empty lines.
326         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
327         omit trailing empty lines.  This simplifies the build procedure.
328
329 2012-01-23  Jim Meyering  <meyering@redhat.com>
330
331         tests: avoid spurious warnings about gl_sockets_startup
332         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
333         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
334         reporting a "statement with no effect".
335         * tests/test-accept.c (main): Mark as "(void)".
336         * tests/test-accept4.c (main): Likewise.
337         * tests/test-bind.c (main): Likewise.
338         * tests/test-connect.c (main): Likewise.
339         * tests/test-getpeername.c (main): Likewise.
340         * tests/test-getsockname.c (main): Likewise.
341         * tests/test-getsockopt.c (main): Likewise.
342         * tests/test-listen.c (main): Likewise.
343         * tests/test-recv.c (main): Likewise.
344         * tests/test-recvfrom.c (main): Likewise.
345         * tests/test-send.c (main): Likewise.
346         * tests/test-sendto.c (main): Likewise.
347         * tests/test-setsockopt.c (main): Likewise.
348         * tests/test-shutdown.c (main): Likewise.
349
350 2012-01-21  Bruno Haible  <bruno@clisp.org>
351
352         locale-fr.m4: Fix for Android.
353         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
354         failure of the test program on Bionic libc.
355
356 2012-01-21  Jim Meyering  <meyering@redhat.com>
357
358         bootstrap: fail when bootstrap_post_import_hook fails
359         Otherwise, it's far too easy to miss diagnostics emitted
360         between gnulib-tool's output and that of running configure.
361         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
362
363 2012-01-17  Jim Meyering  <meyering@redhat.com>
364
365         maint: enable sc_trailing_blank
366         * build-aux/pmccabe.css: Remove trailing blanks.
367         * doc/acl-cygwin.txt: Likewise.
368         * doc/gnu-oids.texi: Likewise
369         * cfg.mk: Enable sc_trailing_blank.
370         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
371
372 2012-01-17  Jim Meyering  <meyering@redhat.com>
373
374         maint: enable sc_prohibit_openat_without_use
375         * cfg.mk: Enable sc_prohibit_openat_without_use.
376         Exempt lib/selinux-at.c.
377
378 2012-01-17  Jim Meyering  <meyering@redhat.com>
379
380         maint: enable sc_prohibit_cloexec_without_use
381         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
382         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
383
384 2012-01-17  Jim Meyering  <meyering@redhat.com>
385
386         maint: enable sc_prohibit_intprops_without_use
387         * cfg.mk: Enable sc_prohibit_intprops_without_use
388         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
389
390 2012-01-17  Jim Meyering  <meyering@redhat.com>
391
392         maint: enable sc_prohibit_hash_pjw_without_use
393         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
394         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
395         to match any use of \<hash_pjw\>, i.e., not necessarily with a
396         following " (".
397
398 2012-01-17  Jim Meyering  <meyering@redhat.com>
399
400         maint: enable double-word-prohibiting rule
401         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
402         Exempt three files.
403
404 2012-01-17  Jim Meyering  <meyering@redhat.com>
405
406         maint: remove empty lines at EOF, but excluding modules/*
407         Apply syntax rules at home as well as abroad.  Most changes
408         were induced by running this:
409           make srcdir=. _build-aux=build-aux -f top/maint.mk \
410             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
411             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
412         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
413         Exempt modules/* and two binary files.
414         Also exempt doc/INSTALL*, per request from Bruno Haible.
415         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
416         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
417         * doc/Copyright/request-assign.future: Likewise.
418         * doc/Copyright/request-disclaim.changes: Likewise.
419         * doc/INSTALL: Likewise.
420         * doc/INSTALL.ISO: Likewise.
421         * doc/INSTALL.UTF-8: Likewise.
422         * doc/acl-cygwin.txt: Likewise.
423         * doc/acl-resources.txt: Likewise.
424         * doc/fdl-1.2.texi: Likewise.
425         * doc/fdl-1.3.texi: Likewise.
426         * doc/fdl.texi: Likewise.
427         * lib/argp-pin.c: Likewise.
428         * lib/round.c: Likewise.
429         * lib/unicase/u16-totitle.c: Likewise.
430         * lib/unictype/block_test.c: Likewise.
431         * lib/uninorm/canonical-decomposition.c: Likewise.
432         * m4/README: Likewise.
433         * m4/relocatable-lib.m4: Likewise.
434         * tests/test-isnand-nolibm.c: Likewise.
435         * tests/test-isnand.c: Likewise.
436         * tests/uninorm/NormalizationTest.txt: Likewise.
437
438 2012-01-17  Jim Meyering  <meyering@redhat.com>
439
440         maint: add framework to run syntax-check rules against gnulib sources
441         * cfg.mk: New file, to disable all currently-failing tests.
442         We'll enable them one by one, as they are made to pass.
443         * Makefile (sc_maint): New rule.
444
445 2012-01-21  Bruno Haible  <bruno@clisp.org>
446
447         stdint: Add support for Android.
448         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
449         include the system's <stdint.h>.
450         Reported by Simon Josefsson <simon@josefsson.org>.
451
452 2012-01-19  Jim Meyering  <meyering@redhat.com>
453
454         bootstrap: add bootstrap_post_import_hook
455         Bison does still need something like the gnulib_mk_hook whose
456         invocation I had to remove along with slurp in commit 767ccd40.
457         Technically, we could get along without it, but doing so would
458         have required living with a warning and a mandatory post-bootstrap
459         automake rerun.
460         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
461         (bootstrap_post_import_hook): New function.
462         Invoke it after gnulib-tool --import and before autoreconf.
463
464 2012-01-18  Jim Meyering  <meyering@redhat.com>
465
466         gitlog-to-changelog: don't use "no_"-prefixed variable name
467         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
468         to enable both --cluster and --no-cluster.  Change variable name,
469         s/\$no_cluster/$cluster/, and reverse usage to match.
470
471         gitlog-to-changelog: use "||", not "or" in expressions
472         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
473         expressions.
474
475 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
476
477         gitlog-to-changelog: new option --no-cluster
478         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
479         clustering of adjacent commit messages.
480
481 2012-01-17  Jim Meyering  <meyering@redhat.com>
482
483         maint: spell file systems with two words, not one
484         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
485         two words, not one.
486
487 2012-01-16  Jim Meyering  <meyering@redhat.com>
488
489         bootstrap: add a FIXME comment to ensure we eventually remove the hack
490         * build-aux/bootstrap (gnulib_tool_options): Add comment.
491
492 2012-01-16  Eric Blake  <eblake@redhat.com>
493
494         bootstrap: cater to autoconf 2.59
495         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
496         is not available.
497
498         bootstrap: properly check for libtool
499         * build-aux/bootstrap (libtoolize): Also run libtool when older
500         usage is detected.
501
502 2012-01-15  Bruno Haible  <bruno@clisp.org>
503
504         Improve support for MSVC 9.
505         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
506         clashes on MSVC.
507         * lib/fcntl.in.h: Likewise.
508         * lib/stdlib.in.h: Likewise.
509         * lib/sys_stat.in.h: Likewise.
510
511 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
512
513         gnupload: we hold the master copy of this script now
514         For motivation and more information, see:
515         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
516         * build-aux/gnupload: Make it clear in the heading comments that the
517         master copy of this file is maintained by gnulib.  Since we are at
518         it, bump its copyright year and ...
519         ($scriptversion): ... the date in its version.
520         ($usage): Patches and bug reports should be sent to the gnulib list,
521         not the automake one.
522         * config/srclist.txt: Don't try to sync 'gnupload' from automake
523         anymore.
524
525 2012-01-15  Bruno Haible  <bruno@clisp.org>
526
527         Fix module 'random'.
528         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
529         initstate, setstate are declared.
530
531 2012-01-14  Bruno Haible  <bruno@clisp.org>
532
533         Tests for module 'random'.
534         * modules/random-tests: New file.
535         * tests/test-random.c: New file, based on tests/test-random_r.c.
536
537         New module 'random'.
538         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
539         declarations.
540         * lib/random.c: New file, based on glibc/stdlib/random.c.
541         * m4/random.m4: New file.
542         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
543         HAVE_RANDOM.
544         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
545         * modules/random: New file.
546         * config/srclist.txt: Add an entry for random.c.
547         * doc/posix-functions/random.texi: Mention the 'random' module.
548         * doc/posix-functions/initstate.texi: Likewise.
549         * doc/posix-functions/setstate.texi: Likewise.
550         * doc/posix-functions/srandom.texi: Likewise.
551
552 2012-01-12  Bruno Haible  <bruno@clisp.org>
553
554         random_r: Use common idioms.
555         * lib/random_r.c: Include <stdlib.h> first.
556
557         random_r: Override incompatible API on AIX, OSF/1.
558         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
559         Override the system function if REPLACE_RANDOM_R is 1.
560         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
561         and OSF/1, set REPLACE_RANDOM_R.
562         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
563         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
564         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
565         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
566         * doc/glibc-functions/random_r.texi: Likewise.
567         * doc/glibc-functions/setstate_r.texi: Likewise.
568
569         random_r: Support for MSVC 9.
570         * lib/random_r.c: Include stdint.h, not inttypes.h.
571
572 2012-01-12  Eric Blake  <eblake@redhat.com>
573
574         inet_ntop: guard extra work by IF_LINT
575         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
576         better code generation when not checking for warnings.
577         Suggested by Paul Eggert and Jim Meyering.
578
579         strptime: fix regression on mingw
580         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
581         Fix regression.  Reported by Bruno Haible.
582
583 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
584             Bruno Haible  <bruno@clisp.org>
585
586         copy-file: add error-code-returning variant.
587         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
588         (qcopy_file_preserving): New declaration.
589         * lib/copy-file.c (qcopy_file_preserving): Renamed from
590         copy_file_preserving. Change return type to 'int'. Don't emit an error
591         message here.
592         (copy_file_preserving): New function.
593         * tests/test-copy-file.c: Include <stdlib.h>.
594         (main): Test qcopy_file_preserving if the environment variable
595         NO_STDERR_OUTPUT is set.
596         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
597         with NO_STDERR_OUTPUT
598         * tests/test-copy-file-2.sh: Likewise.
599
600 2012-01-10  Bruno Haible  <bruno@clisp.org>
601
602         copy-file: Use 'quote' module consistently.
603         * lib/copy-file.c (copy_file_preserving): Use quote().
604
605         copy-file: Refactor.
606         * lib/copy-file.c: Include quote.h.
607         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
608         message here.
609         * modules/copy-file (Depends-on): Add quote.
610
611         acl: Export qcopy_acl.
612         * lib/acl.h (qcopy_acl): New declaration.
613         * lib/copy-acl.c (qcopy_acl): Make non-static.
614
615         acl: Rename a local variable.
616         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
617
618         acl: Align return values of copy_acl and qcopy_acl.
619         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
620         maybe < -1.
621
622 2012-01-11  Eric Blake  <eblake@redhat.com>
623
624         strptime: silence gcc warnings
625         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
626         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
627         Reported by Daniel P. Berrange.
628
629         inet_ntop: silence gcc warning
630         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
631         Reported by Daniel P. Berrange.
632
633 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
634
635         getloadavg test: skip the test on GNU/Linux without /proc mounted
636         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
637         file.  When /proc is not mounted, it always fails with ENOENT.
638         * tests/test-getloadavg.c (main): Treat ENOENT return code from
639         getloadavg(3) the same way as ENOSYS and ENOTSUP.
640
641 2012-01-10  Bruno Haible  <bruno@clisp.org>
642
643         regex: Avoid link error on MSVC 9.
644         * modules/regex (Depends-on): Add wctype.
645
646 2012-01-10  Bruno Haible  <bruno@clisp.org>
647
648         doc: Mention --with-tests option.
649         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
650         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
651         --with-tests.
652         Reported by Reuben Thomas.
653
654 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
655
656         users.txt: order package names lexicographically.
657         * users.txt: Order package names lexicographically.
658
659 2012-01-10  Jim Meyering  <meyering@redhat.com>
660
661         maint.mk: fix description in comment
662         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
663
664         ignore-value: remove deprecated ignore_ptr function
665         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
666         * NEWS: Note this.
667
668 2012-01-09  Jim Meyering  <meyering@redhat.com>
669
670         test-init.sh: avoid a subshell
671         * tests/test-init.sh: Remove protective subshell.
672         Suggested by Bernhard Voelker.  While a subshell is normally
673         required to protect against older shells (Solaris, FreeBSD) that
674         warn about a missing program before performing redirection, the
675         shell-selection tests performed by init.sh probably exclude any
676         offending shell.
677
678 2012-01-08  Bruno Haible  <bruno@clisp.org>
679
680         setlocale tests: Avoid test failure on Solaris 11 2011-11.
681         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
682         variable.
683
684 2012-01-08  Bruno Haible  <bruno@clisp.org>
685
686         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
687         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
688         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
689         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
690         macro.
691         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
692         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
693         * lib/spawn_faction_addopen.c: Add workaround implementation if
694         HAVE_WORKING_POSIX_SPAWN.
695         * modules/spawn (Makefile): Substitute
696         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
697         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
698         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
699         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
700         (Depends-on): Update conditions.
701         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
702         the Solaris 11 bug.
703
704 2012-01-08  Bruno Haible  <bruno@clisp.org>
705
706         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
707         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
708         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
709         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
710         macro.
711         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
712         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
713         * lib/spawn_faction_adddup2.c: Add workaround implementation if
714         HAVE_WORKING_POSIX_SPAWN.
715         * modules/spawn (Makefile): Substitute
716         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
717         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
718         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
719         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
720         (Depends-on): Update conditions.
721         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
722         the Solaris 11 bug.
723
724 2012-01-08  Bruno Haible  <bruno@clisp.org>
725
726         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
727         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
728         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
729         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
730         HAVE_WORKING_POSIX_SPAWN.
731         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
732         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
733         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
734         * lib/spawn_faction_addclose.c: Add workaround implementation if
735         HAVE_WORKING_POSIX_SPAWN.
736         * modules/spawn (Makefile): Substitute
737         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
738         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
739         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
740         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
741         (Depends-on): Update conditions.
742         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
743         the Solaris 11 bug.
744
745 2012-01-08  Bruno Haible  <bruno@clisp.org>
746
747         doc: Update for Solaris 11 2011-11.
748         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
749         * m4/printf.m4: Update comments.
750
751 2012-01-08  Bruno Haible  <bruno@clisp.org>
752
753         mktime: Avoid compilation error on Solaris 11.
754         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
755
756 2012-01-08  Bruno Haible  <bruno@clisp.org>
757
758         doc: Small fix.
759         * doc/posix-headers/nl_types.texi: Correct platforms list.
760
761 2012-01-08  Simon Josefsson  <simon@josefsson.org>
762
763         Add lgpl-3.0 module.
764         * MODULES.html.sh (Support for building documentation): Add
765         lgpl-3.0.
766         * modules/lgpl-3.0: New file.
767
768 2012-01-08  Jim Meyering  <meyering@redhat.com>
769
770         select.c: indent with spaces, not TABs
771         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
772
773 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
774
775         quotearg: do not use grave accent for left quote
776         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
777         locale_quoting_style.
778         (quotearg_buffer_restyled): Fix example.
779         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
780
781 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
782
783         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
784         Most programs do not have translation catalogs for English and much
785         less separate catalogs for British and American English.  Drop the
786         suggestion to translators about these two, and provide it
787         automatically for Unicode locales.  Like most programs, even those
788         using American English, we use single quotation marks.  This conflicts
789         with the American typographic convention, but works better when you
790         cite the entire error message within double quotes.  It also tries not
791         to clash with established practice and with what non-gnulib programs
792         will usually do.
793         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
794         using an UTF-8 or GB-18030 locale.  The list of other locales with
795         quotes was provided by Bruno Haible.
796         (quotearg_buffer_restyled): Adjust instructions to translators.
797         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
798         text, since this would be wrong when using Unicode.
799         * modules/quotearg: Depend on c-strcaseeq.
800
801 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
802
803         quotearg: fix Wikipedia link
804         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
805
806 2012-01-07  Simon Josefsson  <simon@josefsson.org>
807
808         Fix for mingw with MSVC9.
809         * m4/ld-version-script.m4: Check that compiler rejects version
810         scripts with syntax errors.  Reported by Bruno Haible
811         <bruno@clisp.org>.
812
813 2012-01-06  Bruno Haible  <bruno@clisp.org>
814
815         Talk about "native Windows API", not "Woe32".
816         * lib/accept4.c: Update comments to mention native Windows.
817         * lib/execute.c: Likewise.
818         * lib/fatal-signal.c: Likewise.
819         * lib/localcharset.c: Likewise.
820         * lib/nanosleep.c: Likewise.
821         * lib/nl_langinfo.c: Likewise.
822         * lib/pclose.c: Likewise.
823         * lib/pipe-filter-gi.c: Likewise.
824         * lib/pipe-filter-ii.c: Likewise.
825         * lib/pipe.c: Likewise.
826         * lib/pipe2.c: Likewise.
827         * lib/popen.c: Likewise.
828         * lib/progreloc.c: Likewise.
829         * lib/relocatable.c: Likewise.
830         * lib/sigaction.c: Likewise.
831         * lib/sigprocmask.c: Likewise.
832         * lib/spawn-pipe.h: Likewise.
833         * lib/spawn-pipe.c: Likewise.
834         * lib/spawni.c: Likewise.
835         * lib/stat-time.h: Likewise.
836         * lib/w32spawn.h: Likewise.
837         * tests/test-isatty.c: Likewise.
838         * lib/config.charset: More comments.
839         * doc/gnulib-intro.texi: Mention native Windows.
840         * doc/posix-functions/_Exit_C99.texi: Likewise.
841         * doc/posix-headers/fcntl.texi: Likewise.
842
843 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
844
845         argp: Avoid crash if translator uses % characters in a translation.
846         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
847         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
848
849 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
850
851         doc: C11 and C++11 are now official
852         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
853         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
854         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
855         * modules/stdalign:
856         Replace references to draft C1X to C11, and to draft C++0X to C++11.
857
858 2012-01-06  Bruno Haible  <bruno@clisp.org>
859
860         uc-is-grapheme-break tests: Tweak.
861         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
862         message.
863
864 2012-01-06  Bruno Haible  <bruno@clisp.org>
865
866         test-init.sh: correct the test for diff -u
867         * tests/test-init.sh: Also redirect stdout to /dev/null.
868
869 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
870
871         Use ', not `, for quoting output.
872         * build-aux/announce-gen (usage, sizes, print_news_deltas)
873         (print_changelog_deltas, get_tool_versions, main program):
874         * build-aux/git-version-gen:
875         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
876         * build-aux/move-if-change (help):
877         * build-aux/useless-if-before-free (usage, main program):
878         * check-module (parse_module_file, usage)
879         (find_included_lib_files, check_module):
880         * lib/argmatch.c (main) [TEST]:
881         * lib/argp-help.c (_help):
882         * lib/getopt1.c (main) [TEST]:
883         * lib/git-merge-changelog.c (usage):
884         * lib/xstrtol-error.c (xstrtol_error):
885         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
886         * m4/argz.m4 (gl_FUNC_ARGZ):
887         * m4/bison.m4 (gl_BISON):
888         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
889         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
890         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
891         * m4/fpending.m4 (gl_PREREQ_FPENDING):
892         * m4/gc-random.m4 (gl_GC_RANDOM):
893         * m4/intl.m4 (gt_CHECK_DECL):
894         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
895         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
896         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
897         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
898         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
899         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
900         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
901         * tests/test-dirname.c (main):
902         * tests/test-getpass.c (main):
903         * tests/test-iconvme.c (main):
904         * tests/test-parse-datetime.c (LOG):
905         * tests/test-xstrtoimax.sh:
906         * tests/test-xstrtol.sh:
907         * tests/test-xstrtoll.sh:
908         * tests/test-xstrtoumax.sh:
909         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
910         * top/GNUmakefile (abort-due-to-no-makefile):
911         Quote 'like this', not `like this', as per the recent change to
912         the GNU coding standards.
913
914 2012-01-05  Bruno Haible  <bruno@clisp.org>
915
916         strtoimax: Don't force a replacement on systems where intmax_t is int.
917         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
918         'intmax_t' is not larger than 'int'.
919         Reported by Pádraig Brady <P@draigBrady.com>.
920
921 2012-01-05  Bruno Haible  <bruno@clisp.org>
922
923         doc: Mention NetBSD bugs.
924         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
925         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
926
927 2012-01-05  Bruno Haible  <bruno@clisp.org>
928
929         strtoumax tests: Enhance tests.
930         * tests/test-strtoumax.c (main): Add tests for large values.
931
932 2012-01-05  Bruno Haible  <bruno@clisp.org>
933
934         strtoimax: Work around AIX 5.1 bug.
935         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
936         definition.
937         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
938         Set HAVE_STRTOIMAX.
939         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
940         REPLACE_STRTOIMAX.
941         * modules/inttypes-incomplete (Makefile.am): Substitute
942         REPLACE_STRTOIMAX.
943         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
944         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
945         (Depends-on): Update conditions.
946         * tests/test-strtoimax.c (main): Add tests for large values.
947         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
948
949 2012-01-05  Bruno Haible  <bruno@clisp.org>
950
951         inttypes: Modernize.
952         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
953         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
954         (Makefile.am): Update inttypes.h rule.
955
956 2012-01-05  Jim Meyering  <meyering@redhat.com>
957
958         init.sh: don't waste a subshell just to redirect stderr
959         * tests/init.sh: In testing for diff -u and diff -c, use a
960         stderr-redirecting exec inside `...` rather than a subshell.
961
962         test-init.sh: avoid failure on HP-UX 11.00
963         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
964         resolves to diff -c or cmp.  Reported by Bruno Haible.
965
966 2012-01-05  Bruno Haible  <bruno@clisp.org>
967
968         Tests for module 'strtoull'.
969         * modules/strtoull-tests: New file.
970         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
971
972 2012-01-05  Bruno Haible  <bruno@clisp.org>
973
974         Tests for module 'strtoll'.
975         * modules/strtoll-tests: New file.
976         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
977
978 2012-01-05  Bruno Haible  <bruno@clisp.org>
979
980         Tests for module 'strtoul'.
981         * modules/strtoul-tests: New file.
982         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
983
984 2012-01-05  Bruno Haible  <bruno@clisp.org>
985
986         Tests for module 'strtol'.
987         * modules/strtol-tests: New file.
988         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
989
990 2012-01-04  Jim Meyering  <meyering@redhat.com>
991
992         test-init.sh: accommodate Solaris 5.10's different diff -u output
993         * tests/test-init.sh: Also exempt @@ lines from the comparison
994         of diff output, since Solaris 5.10 and GNU diff formats differ.
995         Reported by Stefano Lattarini.
996
997 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
998
999         test-posixtm: don't assume signed integer wraparound
1000         * tests/test-posixtm.c (main): Don't assume wraparound semantics
1001         after signed integer overflow.  Inspired by (though it may not
1002         fix) Bruno Haible's bug report in
1003         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
1004
1005         Spell out "Windows 9x" and "Windows XP".
1006         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
1007         "Windows 9x" and "WinXP" with "Windows XP".
1008
1009 2012-01-04  Jim Meyering  <meyering@redhat.com>
1010
1011         test-vc-list-files-cvs.sh: remove obsolete comment
1012         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
1013         double exit.  Now that's all encapsulated via skip_ and Exit.
1014
1015 2012-01-04  Bruno Haible  <bruno@clisp.org>
1016
1017         Talk about "native Windows API", not "Win32".
1018         * lib/classpath.c: Update comments to mention native Windows.
1019         * lib/csharpexec.c: Likewise.
1020         * lib/dup2.c: Likewise.
1021         * lib/error.c: Likewise.
1022         * lib/fcntl.c: Likewise.
1023         * lib/filename.h: Likewise.
1024         * lib/findprog.c: Likewise.
1025         * lib/get-rusage-as.c: Likewise.
1026         * lib/get-rusage-data.c: Likewise.
1027         * lib/getpagesize.c: Likewise.
1028         * lib/javaexec.c: Likewise.
1029         * lib/msvc-inval.c: Likewise.
1030         * lib/msvc-nothrow.c: Likewise.
1031         * lib/nanosleep.c: Likewise.
1032         * lib/nonblocking.c: Likewise.
1033         * lib/printf-parse.c: Likewise.
1034         * lib/setlocale.c: Likewise.
1035         * lib/sigaction.c: Likewise.
1036         * lib/strerror_r.c: Likewise.
1037         * lib/tmpdir.c: Likewise.
1038         * lib/vasnprintf.c: Likewise.
1039         * lib/w32spawn.h: Likewise.
1040         * lib/waitpid.c: Likewise.
1041         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
1042         * m4/locale-ar.m4: Likewise.
1043         * m4/locale-fr.m4: Likewise.
1044         * m4/locale-ja.m4: Likewise.
1045         * m4/locale-tr.m4: Likewise.
1046         * m4/locale-zh.m4: Likewise.
1047         * m4/printf.m4: Likewise.
1048         * tests/test-cloexec.c: Likewise.
1049         * tests/test-copy-acl.sh: Likewise.
1050         * tests/test-copy-file.sh: Likewise.
1051         * tests/test-file-has-acl.sh: Likewise.
1052         * tests/test-set-mode-acl.sh: Likewise.
1053         * tests/test-dup-safer.c: Likewise.
1054         * tests/test-dup2.c: Likewise.
1055         * tests/test-dup3.c: Likewise.
1056         * tests/test-fcntl.c: Likewise.
1057         * tests/test-nonblocking-pipe.h: Likewise.
1058         * tests/test-nonblocking-socket.h: Likewise.
1059         * tests/test-pipe.c: Likewise.
1060         * tests/test-pipe2.c: Likewise.
1061         * tests/test-spawn-pipe-child.c: Likewise.
1062         * doc/acl-resources.txt: Likewise.
1063         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1064         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
1065         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
1066         * lib/localcharset.c: Update comments to mention native Windows.
1067         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1068         * lib/localename.c: Likewise.
1069         * lib/progreloc.c: Likewise.
1070         * lib/relocatable.c: Likewise.
1071         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1072         (windows_compute_revents): Renamed from win32_compute_revents.
1073         (windows_compute_revents_socket): Renamed from
1074         win32_compute_revents_socket.
1075         * lib/select.c: Update comments to mention native Windows.
1076         (windows_poll_handle): Renamed from win32_poll_handle.
1077         * m4/threadlib.m4: Update comments to mention native Windows.
1078         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
1079         --enable-threads=windows instead of --enable-threads=win32. Set
1080         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
1081         * lib/glthread/lock.h: Update comments to mention native Windows.
1082         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
1083         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
1084         USE_WIN32_THREADS.
1085         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
1086         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
1087         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
1088         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
1089         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
1090         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
1091         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
1092         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
1093         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
1094         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
1095         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
1096         * tests/test-tls.c: Likewise.
1097         Rationale:
1098         Microsoft renamed the "Win32 API" to "Windows API", as it is available
1099         on both 32-bit and 64-bit Windows systems.
1100         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
1101         line of distinction is between "native Windows" on one side and Unix/
1102         POSIX systems on the other side. More details in
1103         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
1104         Suggested by Paul Eggert.
1105
1106 2012-01-03  Bruno Haible  <bruno@clisp.org>
1107
1108         isatty: Support for MSVC 9.
1109         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
1110         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
1111         (_isatty_nothrow): New function.
1112         (isatty): Use it instead of _isatty.
1113         (IsConsoleHandle): Add comment, from Paolo Bonzini.
1114         * lib/poll.c (IsConsoleHandle): Likewise.
1115         * lib/select.c (IsConsoleHandle): Likewise.
1116         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
1117         (gl_PREREQ_ISATTY): New macro.
1118         * modules/isatty (Depends-on): Add msvc-inval.
1119         (configure.ac): Invoke gl_PREREQ_ISATTY.
1120
1121 2012-01-03  Jim Meyering  <meyering@redhat.com>
1122
1123         maint.mk: remove temporary transition aid from over 1.5 years ago
1124         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
1125         purpose was to aid in the transition (avoiding silent malfunction)
1126         from that old name to the new _sc_search_regexp.  This shim was
1127         added by commit 219c504b.
1128
1129         init.sh: do not try to accommodate compare arguments starting with "-"
1130         * tests/init.sh (compare_dev_null_): Do not try to accommodate
1131         compare arguments that start with "-".  Besides, we do not worry
1132         about this when invoking diff or cmp; why start now with sed?
1133         Using "--" to separate options from argument would trigger sed
1134         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
1135         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
1136
1137 2012-01-02  Bruno Haible  <bruno@clisp.org>
1138
1139         Enhance tests for module 'isatty'.
1140         * modules/isatty-tests (Depends-on): Add pipe-posix.
1141         * tests/test-isatty.c: Include <fcntl.h>.
1142         (DEV_NULL): New macro.
1143         (main): Test the resut of isatty() also on regular files, pipes, and
1144         /dev/null.
1145
1146         New module 'isatty'.
1147         * lib/unistd.in.h (isatty): New declaration.
1148         * lib/isatty.c: New file, based on an idea of
1149         Bastien Roucariès <roucaries.bastien@gmail.com>.
1150         * m4/isatty.m4: New file.
1151         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
1152         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
1153         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
1154         REPLACE_ISATTY.
1155         * modules/isatty: New file.
1156         * doc/posix-functions/isatty.texi: Mention the new module.
1157         Suggested by Paolo Bonzini.
1158
1159 2012-01-02  Bruno Haible  <bruno@clisp.org>
1160
1161         canonicalize: Tweak 2011-12-29 commit.
1162         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
1163         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
1164
1165 2012-01-02  Jim Meyering  <meyering@redhat.com>
1166
1167         gitlog-to-changelog: describe input syntax in --help output
1168         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
1169
1170         gitlog-to-changelog: fix typo in --help: show backslash before email @
1171         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
1172         in sources, but not in actual output.
1173
1174 2011-12-30  Jim Meyering  <meyering@redhat.com>
1175
1176         gitlog-to-changelog: don't malfunction when name contains %-directive
1177         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
1178         in a name string cause trouble.  E.g., with a user name of "%s",
1179         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
1180
1181 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
1182
1183         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
1184         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
1185         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
1186         the "  (tiny change)" notation that is appended to the standard
1187         ChangeLog "date  name  email" header line.
1188
1189 2012-01-01  Jim Meyering  <meyering@redhat.com>
1190
1191         test-framework-sh: init.sh: fix "make dist" failure
1192         When using gnulib-tool's --with-tests option and any module that
1193         depends on test-framework-sh, "make dist" would fail due to the
1194         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
1195         in the gltests directory, and not in the gllib/ directory.
1196         One way to work around that is to move the EXTRA_DIST += init.sh
1197         from the primary module to the -tests one:
1198         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
1199         * modules/test-framework-sh (Makefile.am): ...not here.
1200         Reported by Tom G. Christensen in
1201         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
1202
1203         version-etc: update copyright year reported by --version
1204         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
1205
1206 2011-12-31  Pádraig Brady  <P@draigBrady.com>
1207
1208         canonicalize: only stat() if required
1209         * lib/canonicalize.c (canonicalize_filename_mode):
1210         Avoid calling l?stat() when both CAN_MISSING,
1211         and CAN_NOLINKS are set, as we neither need
1212         to resolve symlinks or test component existence.
1213
1214 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
1215
1216         doc: cover st_ino issues once; add OpenVMS etc.
1217         * doc/posix-functions/stat.texi (stat):
1218         * doc/posix-functions/lstat.texi (lstat):
1219         * doc/posix-functions/fstatat.texi (fstatat):
1220         * doc/posix-functions/fstat.texi (fstat):
1221         Move general 'struct stat' stuff to sys_stat.texi,
1222         leaving behind a pointer.
1223         * doc/posix-headers/sys_stat.texi (sys/stat.h):
1224         Merge duplicate info about 'struct stat' problems into here.
1225         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
1226         and suggest partial workarounds.
1227
1228         same-inode: port to OpenVMS
1229         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
1230         three st_ino values.
1231
1232 2011-12-30  Pádraig Brady  <P@draigBrady.com>
1233
1234         canonicalize: fix references to stat() and lstat()
1235         * lib/canonicalize.c (canonicalize_filename_mode):
1236         Ensure references always resolve to a replacement
1237         function if required (even via a macro).
1238
1239 2011-12-30  Jim Meyering  <meyering@redhat.com>
1240
1241         gitlog-to-changelog: remove a little duplication
1242         * build-aux/gitlog-to-changelog (main): Grep @lines once,
1243         rather than twice.
1244
1245 2011-12-29  Pádraig Brady  <P@draigBrady.com>
1246
1247         canonicalize: add support for not resolving symlinks
1248         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
1249         indicate we don't want to follow symlinks.  Also
1250         provide CAN_MODE_MASK to aid setting these existing
1251         mutually exclusive values.
1252         * lib/canonicalize.c (canonicalize_filename_mode):
1253         Extract the flags from can_mode parameter, which
1254         are currently just used to select between stat()
1255         and lstat().  Also ensure that mutually exclusive
1256         values are flagged immediately as invalid.
1257         * tests/test-canonicalize.c: Verify symlinks are
1258         not followed, and that invalid flag combinations
1259         are diagnosed.
1260
1261 2011-12-25  Jim Meyering  <meyering@redhat.com>
1262
1263         gitlog-to-changelog: do not clump multi-paragraph entries
1264         Identical header lines (date,name,email+coauthors) are suppressed,
1265         thus putting all entries with those same characteristics under
1266         a single header.  However, when a log entry consists of two or
1267         more paragraphs, it may not be clear where it starts and ends.
1268         This change makes it so that such an entry is always separated
1269         from others by a header line, even when that header would
1270         otherwise be suppressed.
1271         * build-aux/gitlog-to-changelog: Implement the above.
1272         Inspired by a related request from Stefano Lattarini in
1273         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
1274
1275 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1276
1277         announce-gen: fix `cmd' typo in diagnostic
1278         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
1279         diagnostic: a missing '$' meant that the command was not output.
1280
1281 2011-12-23  Jim Meyering  <meyering@redhat.com>
1282
1283         test-framework-sh: distribute init.sh
1284         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
1285         Otherwise, "make -C gnulib-tests check" (at least in grep) would
1286         fail due to the lack of init.sh.
1287
1288         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
1289         * modules/atexit-tests: Rather than listing tests/init.sh,
1290         now that there's a module for it, simply depend on that new module.
1291         * modules/closein-tests: Likewise.
1292         * modules/exclude-tests: Likewise.
1293         * modules/getcwd-tests: Likewise.
1294         * modules/perror-tests: Likewise.
1295         * modules/pread-tests: Likewise.
1296         * modules/pwrite-tests: Likewise.
1297         * modules/vc-list-files-tests: Likewise.
1298         * modules/verify-tests: Likewise.
1299         * modules/xalloc-die-tests: Likewise.
1300         * modules/xstrtoimax-tests: Likewise.
1301         * modules/xstrtol-tests: Likewise.
1302         * modules/xstrtoll-tests: Likewise.
1303         * modules/xstrtoumax-tests: Likewise.
1304         * modules/yesno-tests: Likewise.
1305
1306 2011-12-22  Jim Meyering  <meyering@redhat.com>
1307
1308         test-framework-sh: add minimal tests of init.sh's compare function
1309         * modules/test-framework-sh-tests: New file.
1310         * tests/test-init.sh: New file.
1311
1312         test-framework-sh: new module
1313         * modules/test-framework-sh: New file.
1314         * MODULES.html.sh (Support for maintaining and releasing projects):
1315         List it.
1316
1317         init.sh: do not emit simulated diff output to stderr
1318         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
1319
1320 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
1321
1322         .gitignore: ignore gnulib.dvi and regex.info
1323         * doc/.gitignore:add gnulib.dvi and regex.info
1324
1325 2011-12-22  Jim Meyering  <meyering@redhat.com>
1326
1327         init.sh: correct previous change
1328         * tests/init.sh (compare): My previous change was wrong.
1329         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
1330
1331         init.sh: avoid unwarranted test failure when using "set -e"
1332         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
1333         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
1334         a use like "compare exp out" would get evoke an unconditional failure.
1335
1336 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
1337
1338         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
1339         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
1340         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
1341         autoreconf that did not.
1342         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
1343         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1344
1345 2011-12-17  Jim Meyering  <meyering@redhat.com>
1346
1347         bootstrap: remove some now-unneeded code
1348         This script arose back when gnulib-tool was young.
1349         Since then, it has seen improvements that render much of this
1350         script unnecessary.  In particular, it can now make symlinks
1351         to the files it uses.  Also, I no longer see as much value in
1352         marking files as read-only via comments.
1353         If you relied on the symlink-creation feature of the preceding
1354         version of this script, you can get most of that functionality
1355         by adding the --symlink option to the definition of
1356         gnulib_tool_option_extras in your bootstrap.conf file.
1357         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
1358         Run autopoint and libtoolize *before* gnulib-tool.
1359         After it, run an abbreviated autoreconf, rather than a loop around
1360         all tools.
1361         (slirp, bt_mark_as_generated): Remove functions.
1362
1363 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1364
1365         ftoastr: fix typo
1366         * lib/ftoastr.h: Fix misspelling in comment.
1367
1368 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
1369
1370         * top/README-release: fix punctuation.
1371
1372 2011-12-17  Jim Meyering  <meyering@redhat.com>
1373
1374         bootstrap: correct the recent buildreq change
1375         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
1376         had no effect.
1377         * build-aux/bootstrap (buildreq): Bracket each search term with
1378         "*...*", so that the shell "case" statement works as intended.
1379         Add comments.
1380
1381 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
1382
1383         build: let bootstrap resort to wget when downloading .po files
1384         * build-aux/bootstrap (download_po_files): Fallback to wget when
1385         downloading the .po files via rsync fails.  This is necessary to
1386         bootstrap from behind a strict firewall.
1387
1388 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
1389
1390         stdint: don't assume C++11 when compiling with g++
1391         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
1392         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
1393         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
1394         work also in C++ before C++11, as that improperly inhibits
1395         generating a substitute stdint.h for that case.
1396
1397 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
1398
1399         alloca: protect comment from gnulib-tool
1400         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
1401         that gnulib-tool doesn't think it's a license, and munge it to
1402         say "GCC version 3".
1403
1404 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
1405
1406         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
1407         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
1408         $(abs_top_builddir) instead of $(top_builddir).
1409
1410 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
1411
1412         strftime-tests: also test nanoseconds
1413         * tests/test-strftime.c (T): Add a test of %N.
1414
1415 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
1416
1417         inttypes, stdint: add C++11 support
1418         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
1419         when including inttypes.h and stdint.h.  Support this change to
1420         the standard.
1421         * doc/posix-headers/inttypes.texi (inttypes.h):
1422         * doc/posix-headers/stdint.texi (stdint.h): Document this.
1423         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
1424         Define if not defined already, for the benefit of pre-C++11 hosts.
1425         Define the standard format macros (e.g., PRId8) always.
1426         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
1427         Likewise, if __cpluspus.  Define the standard constant and limit
1428         macros (e.g., INT8_C, INT8_MAX) always.
1429         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
1430         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
1431         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
1432         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
1433         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
1434         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
1435         Likewise.
1436
1437 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
1438
1439         nonblocking tests: Fix test failure on Linux/PPC.
1440         Suggested by Prerna Saxena in
1441         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
1442         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
1443         Set to 1100000.
1444
1445 2011-12-12  Jim Meyering  <meyering@redhat.com>
1446
1447         argmatch: don't hard-code `' when listing valid option arguments
1448         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
1449         use the quote function to add quotes.  Use fputs rather than
1450         fprintf for the format string with no format directive.
1451
1452 2011-12-07  Eric Blake  <eblake@redhat.com>
1453
1454         bootstrap: detect tools required by gnulib-tool
1455         * build-aux/bootstrap (buildreq): Provide minimum implicit
1456         dependencies.
1457         * DEPENDENCIES: Mention patch as a prereq.
1458
1459 2011-12-04  Bruno Haible  <bruno@clisp.org>
1460
1461         sethostname: Port to Windows platforms.
1462         * lib/sethostname.c: Provide an alternate implementation for Windows
1463         platforms.
1464         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
1465         (main): Skip the test if sethostname() fails with EPERM. On Windows
1466         platforms, don't check the result of gethostname().
1467
1468 2011-12-04  Bruno Haible  <bruno@clisp.org>
1469             Jim Meyering  <meyering@redhat.com>
1470
1471         tests: Avoid spurious error message on platforms without mktemp program.
1472         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
1473
1474 2011-12-04  Bruno Haible  <bruno@clisp.org>
1475
1476         sethostname: Fix documentation.
1477         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
1478         "not fixed" section.
1479
1480 2011-12-03  Bruno Haible  <bruno@clisp.org>
1481
1482         gnulib-tool: Verify that the License field is present and non-empty.
1483         * gnulib-tool (func_get_license_raw): New function, extracted from
1484         func_get_license.
1485         (func_get_license): Use it. Warn if the module is not a test module and
1486         has no license.
1487         Suggested by Jim Meyering.
1488
1489 2011-12-03  Bruno Haible  <bruno@clisp.org>
1490
1491         sethostname tests: Fix link error on mingw.
1492         * tests/test-sethostname1.c: New file, extracted from
1493         tests/test-sethostname.c.
1494         * tests/test-sethostname2.c: New file, extracted from
1495         tests/test-sethostname.c.
1496         * tests/test-sethostname.c: Remove file.
1497         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
1498         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
1499         (Depends-on): Add gethostname.
1500         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
1501         Link the latter with $(GETHOSTNAME_LIB).
1502
1503         sethostname tests: Fix compilation error on mingw.
1504         * tests/test-sethostname.c: Don't include <sys/types.h>.
1505         (geteuid): Use a dummy value without uid_t.
1506         * modules/sethostname-tests (Depends-on): Remove sys_types.
1507
1508         sethostname tests: Avoid a gcc warning.
1509         * tests/test-sethostname.c (main): Remove an unused variable.
1510
1511         Tweak last commit.
1512         * modules/sethostname-tests (Files): Sort by decreasing importance.
1513         (configure.ac): Check for geteuid.
1514         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
1515         the test when there's nothing to test. Drop an unnecessary cast.
1516         Improve an error message. Verify that the final sethostname() call
1517         succeeds.
1518
1519 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1520
1521         Add a test suite for the sethostname module.
1522         * modules/sethostname-tests: New file.  A test program
1523         for the sethostname module.
1524         * tests/test-sethostname.c: Likewise.
1525
1526 2011-12-03  Bruno Haible  <bruno@clisp.org>
1527
1528         Tweak last commit.
1529         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
1530         Fix preprocessor directives indentation. Fix typos.
1531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
1532         * modules/unistd (Makefile): Likewise.
1533
1534 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1535
1536         Integrate the sethostname module into unistd.
1537         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
1538         into the unistd.h header.
1539         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
1540         preprocessor directives.
1541         * modules/unistd: Setup the Makefile substitutions of the
1542         SETHOSTNAME preprocessor directives.
1543
1544 2011-12-03  Bruno Haible  <bruno@clisp.org>
1545
1546         Tweak last commit.
1547         * lib/sethostname.c: Don't include <string.h>.
1548         (sethostname): No need to copy the argument string to the stack. Don't
1549         call clearerr. Preserve errno when fprintf failed.
1550         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
1551         Don't invoke AC_REPLACE_FUNCS.
1552         * modules/sethostname (Link): Remove empty section.
1553         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
1554         failure problem.
1555
1556 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1557
1558         New module 'sethostname'.
1559         * lib/sethostname.c (sethostname): New file.  Provide sethostname
1560         for systems that lack it.
1561         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
1562         sethostname declaration and function.
1563         * modules/sethostname: New file.  Define the sethostname module.
1564
1565 2011-12-03  Bruno Haible  <bruno@clisp.org>
1566
1567         Tweak last commit.
1568         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
1569
1570 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1571
1572         Split the HOST_NAME_MAX detection into a separate m4 macro.
1573         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
1574         macro so it can be used by the pending sethostname module.
1575
1576 2011-12-03  Bruno Haible  <bruno@clisp.org>
1577
1578         Fix module descriptions syntax.
1579         * modules/argv-iter (License): Fix syntax.
1580         * modules/di-set (License): Likewise.
1581         * modules/ino-map (License): Likewise.
1582         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
1583
1584 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
1585
1586         stdalign: port to Clang 3.0
1587         Problem reported by Simon Josefsson in
1588         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
1589         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
1590         which has <stdalign.h> but which does not define alignof.
1591         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
1592
1593 2011-12-01  Eric Blake  <eblake@redhat.com>
1594
1595         mktempd: silence dd usage
1596         * build-aux/mktempd (rand_bytes): Silence dd.
1597
1598 2011-11-30  Simon Josefsson  <simon@josefsson.org>
1599
1600         manywarnings: Don't mention gcc version in docstring.
1601         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
1602         Jim Meyering <meyering@redhat.com>.
1603
1604 2011-11-30  Jim Meyering  <meyering@redhat.com>
1605
1606         hash: mark a few floating point constants with "f" suffix
1607         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
1608         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
1609         floating point constants with "f", since they're destined to be
1610         saved/used as "float"s.
1611
1612 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
1613
1614         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
1615         * tests/test-float.c (test_long_double): Correct and re-enable the
1616         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
1617
1618 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
1619
1620         Avoid subtracting two pointers that don't point into the same block.
1621         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
1622         only pointers into the same memory block are subtracted. We cannot
1623         assume that sizeof (ptrdiff_t) == sizeof (void *).
1624
1625 2011-11-29  Eric Blake  <eblake@redhat.com>
1626
1627         maint.mk: add syntax check for use of compare from init.sh
1628         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
1629         moved here from coreutils.
1630
1631         manywarnings: drop -Wunsuffixed-float-constants
1632         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
1633         '1.0D', which is the only way to silence this warning for 'double'.
1634
1635 2011-11-29  Jim Meyering  <meyering@redhat.com>
1636
1637         hash: mark compute_bucket_size with the pure attribute
1638         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
1639
1640         quotearg, propername: correct pragma guard expression
1641         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
1642         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
1643
1644 2011-11-28  Jim Meyering  <meyering@redhat.com>
1645
1646         propername: do not mark proper_name with the const attribute
1647         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
1648         since it examines data pointed to by its parameter.
1649         * lib/propername.c (proper_name): Instead, add a pragma to suppress
1650         the suggestion from -Wsuggest-attribute=const.
1651
1652         propername: mark one more function as const
1653         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
1654
1655 2011-11-27  Jim Meyering  <meyering@redhat.com>
1656
1657         mark functions with const and pure attributes
1658
1659         Mark functions per suggestions from gcc-4.6 when using these options:
1660         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
1661         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
1662         Follow these guidelines: when possible, apply the attribute to
1663         an extern declaration, not to its definition.  Apply it to the
1664         definition only when the definition is static.
1665         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
1666         * lib/argv-iter.h (argv_iter_n_args): Likewise.
1667         * lib/base64.h (isbase64): Likewise.
1668         * lib/basename-lgpl.c (last_component, base_len): Likewise.
1669         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
1670         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
1671         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
1672         (c_tolower, c_toupper): Likewise.
1673         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
1674         * lib/chdir-long.c (find_non_slash): Likewise.
1675         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
1676         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
1677         * lib/file-type.h (file_type): Likewise.
1678         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
1679         * lib/filevercmp.c (verrevcmp): Likewise.
1680         * lib/freadahead.h (freadahead): Likewise.
1681         * lib/fts.c (fts_maxarglen): Likewise.
1682         * lib/hash-pjw.h (hash_pjw): Likewise.
1683         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
1684         * lib/hash.c (is_prime, next_prime): Likewise.
1685         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
1686         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
1687         (hash_table_ok, hash_get_first, hash_string): Likewise.
1688         (compute_bucket_size): Likewise.
1689         * lib/i-ring.h (i_ring_empty): Likewise.
1690         * lib/isnan.c (isnanl): Likewise.
1691         * lib/math.h (isnanl, rpl_isnanl): Likewise.
1692         * lib/memcasecmp.h (memcasecmp): Likewise.
1693         * lib/memchr2.h (memchr2): Likewise.
1694         * lib/memcmp2.h (memcmp2): Likewise.
1695         * lib/parse-datetime.y (lookup_zone): Likewise.
1696         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
1697         [!WINDOWS_SOCKETS]: Likewise.
1698         * lib/strnlen1.h (strnlen1): Likewise.
1699         * lib/uniwidth.in.h (uc_width): Likewise.
1700         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
1701         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
1702         (quoting_options_from_style): Add a comment.
1703         * lib/propername.h (proper_name): Add a comment.
1704
1705 2011-11-27  Bruno Haible  <bruno@clisp.org>
1706
1707         Remove unused macros from !_LIBC code in glibc-borrowed files.
1708         * lib/fnmatch.c (STRCOLL): Remove macro.
1709         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
1710         * lib/glob.c (__stat, __readdir64): Remove macros.
1711         * lib/tempname.c (__open64, __xstat64): Remove macros.
1712         Suggested by Paul Eggert.
1713
1714 2011-11-27  Bruno Haible  <bruno@clisp.org>
1715
1716         getcwd: Fix link error on MSVC 9.
1717         * modules/getcwd (Depends-on): Add readdir, rewinddir.
1718
1719 2011-11-27  Bruno Haible  <bruno@clisp.org>
1720
1721         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
1722         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
1723         HAVE_OPENDIR is 0.
1724         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
1725         HAVE_CLOSEDIR is 0.
1726         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
1727         is 0.
1728         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
1729
1730 2011-11-27  Bruno Haible  <bruno@clisp.org>
1731
1732         getcwd: Fix bug from 2011-08-17.
1733         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
1734         platforms that need it.
1735         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
1736         code of 4 to be a failure, not a success. This ensures that
1737         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
1738
1739 2011-11-27  Bruno Haible  <bruno@clisp.org>
1740
1741         binary-io tests: Avoid test failure on mingw when libtool is used.
1742         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
1743         Don't verify the size of t-bin-out1.tmp here.
1744         * tests/test-binary-io.sh: Verify it here.
1745         Reported by Simon Josefsson.
1746
1747 2011-11-26  Bruno Haible  <bruno@clisp.org>
1748
1749         Fix conflict between two instantiations of module 'unistd'.
1750         * gnulib-tool (func_emit_autoconf_snippet): Substitute
1751         ${include_guard_prefix} also in the autoconf snippet.
1752         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
1753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
1754         GNULIB_UNISTD_H_GETOPT.
1755         * modules/getopt-posix (configure.ac): Set the
1756         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
1757         * modules/getopt-gnu (configure.ac): Likewise.
1758         * modules/unistd (Makefile.am): Change the substitution value of
1759         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
1760         Reported by Simon Josefsson.
1761
1762 2011-11-25  Bruno Haible  <bruno@clisp.org>
1763
1764         pagealign_alloc: Doc and comments.
1765         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
1766         module.
1767         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
1768
1769 2011-11-25  Jim Meyering  <meyering@redhat.com>
1770
1771         test-update-copyright.sh: avoid false-positive failure
1772         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
1773         around false positive failure on Cygwin/Windows.  The latter was
1774         matching erroneously-created files with names like
1775         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
1776
1777 2011-11-25  Simon Josefsson  <simon@josefsson.org>
1778
1779         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
1780         * m4/valgrind-tests.m4: Check that the parameters that will be
1781         used works, not just a subset of them.  Reported by Bruno Haible
1782         <bruno@clisp.org>.
1783
1784 2011-11-24  Jim Meyering  <meyering@redhat.com>
1785
1786         test-stdalign.c: comment out long double tests
1787         * tests/test-stdalign.c: Don't try to reduce alignment of long double
1788         variables.  That provokes errors like this from gcc-4.7.0 20111124:
1789         error: '_Alignas' specifiers cannot reduce alignment of \
1790         'static_longdouble_alignas'.
1791
1792 2011-11-22  Jim Meyering  <meyering@redhat.com>
1793
1794         init.sh: make "compare /dev/null FILE" output more readable
1795         * tests/init.sh (compare_): Document the preferred order of arguments.
1796         (emit_diff_u_header_): New function.
1797         (compare_dev_null_): Emit a simulated diff, rather than just the
1798         contents of the unexpected file.  Suggestion from Bruno Haible.
1799
1800 2011-11-21  Jim Meyering  <meyering@redhat.com>
1801             Eric Blake  <eblake@redhat.com>
1802
1803         init.sh: work around OSF/1 5.1's mishandling of /dev/null
1804         * tests/init.sh: Make our compare function slightly more portable.
1805         Reported by Bruno Haible in
1806         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
1807
1808 2011-11-21  Simon Josefsson  <simon@josefsson.org>
1809
1810         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
1811         before using it, in code that ends up in config.h.
1812
1813 2011-11-20  Bruno Haible  <bruno@clisp.org>
1814
1815         getcwd: Work around getcwd bug on AIX 5..7.
1816         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
1817         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
1818         Use a different value for gl_cv_func_getcwd_path_max. Move the
1819         definition of HAVE_PARTLY_WORKING_GETCWD from here...
1820         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
1821         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
1822         Define HAVE_MINIMALLY_WORKING_GETCWD.
1823         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
1824         where it is not even minimally working, that is, on AIX.
1825         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
1826         m4/getcwd-path-max.m4.
1827         (main): Update exit code computation.
1828         * doc/posix-functions/getcwd.texi: Mention list of platforms where
1829         getcwd does not handle long file names.
1830
1831 2011-11-20  Bruno Haible  <bruno@clisp.org>
1832
1833         getcwd: Fix bug from 2009-09-10.
1834         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
1835         like "no".
1836
1837 2011-11-20  Simon Josefsson  <simon@josefsson.org>
1838
1839         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
1840
1841 2011-11-20  Bruno Haible  <bruno@clisp.org>
1842
1843         fma tests: Avoid shadowing local variables.
1844         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
1845         expected.
1846
1847 2011-11-20  Bruno Haible  <bruno@clisp.org>
1848
1849         copysignf tests: Fix.
1850         * tests/test-copysignf.c: Fix signature check.
1851
1852 2011-11-20  Bruno Haible  <bruno@clisp.org>
1853
1854         fma: Remove unused code.
1855         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
1856         unused macros.
1857
1858 2011-11-20  Bruno Haible  <bruno@clisp.org>
1859
1860         sethostname: Fix doc about AIX.
1861         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
1862         sethostname; it has it.
1863
1864         sethostname: Mention more portability problems.
1865         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
1866         problem.
1867         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
1868
1869 2011-11-19  Bruno Haible  <bruno@clisp.org>
1870
1871         Depend on module fcntl-h when AT_FDCWD is used.
1872         * modules/utimens (Depends-on): Add fcntl-h.
1873         * modules/areadlinkat (Depends-on): Likewise.
1874         * modules/areadlinkat-with-size (Depends-on): Likewise.
1875         * modules/faccessat (Depends-on): Likewise.
1876         * modules/fchmodat (Depends-on): Likewise.
1877         * modules/fchownat (Depends-on): Likewise.
1878         * modules/getcwd (Depends-on): Likewise.
1879         * modules/mkdirat (Depends-on): Likewise.
1880         * modules/mkfifoat (Depends-on): Likewise.
1881         * modules/readlinkat (Depends-on): Likewise.
1882         * modules/symlinkat (Depends-on): Likewise.
1883         * modules/dup2-tests (Depends-on): Likewise.
1884         * modules/fdutimensat-tests (Depends-on): Likewise.
1885         * modules/futimens-tests (Depends-on): Likewise.
1886
1887 2011-11-19  Bruno Haible  <bruno@clisp.org>
1888
1889         euidaccess: Update a comment.
1890         * lib/euidaccess.c: Update comment about platforms with faccessat.
1891
1892 2011-11-19  Bruno Haible  <bruno@clisp.org>
1893
1894         openat: Fix file list.
1895         * modules/openat (Files): Remove lib/at-func.c.
1896
1897 2011-11-19  Bruno Haible  <bruno@clisp.org>
1898
1899         fstatat: Simplify.
1900         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
1901         gnulib should define rpl_fstatat, there is a
1902         "#define fstatat rpl_fstatat" in <sys/stat.h>.
1903
1904 2011-11-19  Bruno Haible  <bruno@clisp.org>
1905
1906         Ensure 'inline' can be used in tests/test-utimens-common.h.
1907         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
1908         * modules/futimens-tests (configure.ac): Likewise.
1909         * modules/utimens-tests (configure.ac): Likewise.
1910         * modules/utimensat-tests (configure.ac): Likewise.
1911
1912 2011-11-19  Simon Josefsson  <simon@josefsson.org>
1913
1914         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
1915         not hash_insert0.
1916         (hash_insert_if_absent): Doc fix.
1917
1918 2011-11-19  Simon Josefsson  <simon@josefsson.org>
1919
1920         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
1921
1922 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
1923
1924         test-getcwd: disambiguate exit status
1925         * tests/test-getcwd.c (test_long_name): Return 0..7.
1926         (main): Exit with an unambiguous exit status.  The old
1927         code yielded a mysterious mixture of two failure codes.
1928
1929         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
1930         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
1931         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
1932         rpl_fstatat or fstatat.  This should fix the other problem
1933         reported by Kai Habel in
1934         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
1935         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
1936         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
1937         and I reproduced it on a Solaris 8 host we still have in production.
1938
1939 2011-11-18  Jim Meyering  <meyering@redhat.com>
1940
1941         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
1942         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
1943         Add a sentence to the comment.
1944         (hash_insert0): New function that simply calls hash_insert_if_absent.
1945         * lib/hash.h (hash_insert_if_absent): Declare it.
1946         (hash_insert0): Add deprecation attribute.
1947         (_GL_ATTRIBUTE_DEPRECATED): Define.
1948         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
1949         not hash_insert0.
1950         * NEWS: Mention it, even though it's not really an incompatible change.
1951
1952 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
1953
1954         openat: avoid compilation failure due to lack of <errno.h> inclusion
1955         * lib/openat.c: Include <errno.h>.
1956
1957 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
1958
1959         * modules/getcwd (Depends-on): Add fdopendir.
1960         This fixes one of the two problems reported by Kai Habel in
1961         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
1962
1963         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
1964         stdalign problem reported by Ian Beckwith in
1965         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
1966         * modules/crypto/gc-arcfour (Depends-on):
1967         Depend conditionally on crypto/arcfour.
1968         * modules/crypto/gc-arctwo (Depends-on):
1969         Depend conditionally on crypto/arctwo.
1970         * modules/crypto/gc-des (Depends-on):
1971         Depend conditionally on crypto/des.
1972         * modules/crypto/gc-hmac-md5 (Depends-on):
1973         Depend conditionally on crypto/hmac-md5.
1974         * modules/crypto/gc-hmac-sha1 (Depends-on):
1975         Depend conditionally on crypto/hmac-sha1.
1976         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
1977         * modules/crypto/gc-md4 (Depends-on):
1978         Depend conditionally on crypto/md4.
1979         * modules/crypto/gc-md5 (Depends-on):
1980         Depend conditionally on crypto/md5.
1981         * modules/crypto/gc-rijndael (Depends-on):
1982         Depend conditionally on crypto/rijndael.
1983         * modules/crypto/gc-sha1 (Depends-on):
1984         Depend conditionally on crypto/sha1.
1985         * modules/crypto/gc-arcfour:
1986         * modules/crypto/gc-arctwo:
1987         * modules/crypto/gc-des:
1988         * modules/crypto/gc-hmac-md5:
1989         * modules/crypto/gc-hmac-sha1:
1990         * modules/crypto/gc-md2:
1991         * modules/crypto/gc-md4:
1992         * modules/crypto/gc-md5:
1993         * modules/crypto/gc-rijndael:
1994         * modules/crypto/gc-sha1:
1995         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
1996         now that the conditional dependencies do the work for us.
1997
1998 2011-11-17  Jim Meyering  <meyering@redhat.com>
1999
2000         tests: factor st_ctime-comparison out of two headers
2001         * tests/test-utimens-common.h (ctime_compare): Define.
2002         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
2003         * tests/test-lutimens.h (test_lutimens): Likewise.
2004         * tests/test-utimens.h (test_utimens): Likewise.
2005
2006         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
2007         Invoke the test program via an init.sh-using wrapper.
2008         * tests/test-getcwd.sh: New file.
2009         * modules/getcwd-tests (Files): Add it.
2010         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
2011
2012 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
2013
2014         gitlog-to-changelog: support multi-author commits.
2015         The FSF cares about keeping track of all authors of patches to its
2016         projects, but Git doesn't provide obvious support for multi-author
2017         changesets. Consensus seems to be forming around the use of extra
2018         Signed-off-by inspired lines in the log message formatted as
2019         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
2020         multi-author commits between version control systems.
2021         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
2022         log message and output in standard ChangeLog multi-author format.
2023         Reported by Peter Rosin <peda@lysator.liu.se>
2024
2025 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
2026             Bruno Haible  <bruno@clisp.org>
2027
2028         Fix some modules' file list.
2029         * modules/fstatat (Files): Add m4/lstat.m4.
2030         * modules/openat (Files): Likewise.
2031         * modules/unlinkat (Files): Likewise.
2032
2033 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
2034
2035         maint.mk: fix tight-scope.mk generation in VPATH builds.
2036         * top/maint.mk (tight-scope.mk): Make sure to prefix file
2037         reference with $(srcdir) so that the file is found correctly even
2038         when running `make syntax-check' in a VPATH build.
2039
2040 2011-11-13  Bruno Haible  <bruno@clisp.org>
2041             Jim Meyering  <meyering@redhat.com>
2042
2043         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
2044         * tests/init.sh (compare): Remove "No differences encountered" or
2045         synonymous output from the 'diff' program.
2046
2047 2011-11-13  Bruno Haible  <bruno@clisp.org>
2048
2049         Makefile: Tweak indentation.
2050         * Makefile: Use tab as first character in every line that contains rule
2051         commands.
2052
2053 2011-11-13  Bruno Haible  <bruno@clisp.org>
2054
2055         Syntax check for copyright statements.
2056         * check-copyright: New file.
2057         * Makefile (sc_check_copyright): New rule.
2058
2059 2011-11-13  Simon Josefsson  <simon@josefsson.org>
2060
2061         * build-aux/git-version-gen: Add --prefix to configure the tag
2062         match string.
2063
2064 2011-11-13  Simon Josefsson  <simon@josefsson.org>
2065
2066         * build-aux/git-version-gen: Add --help and --version.
2067
2068 2011-11-12  Jim Meyering  <meyering@redhat.com>
2069
2070         revamp the other test-exclude?.sh scripts to use init.sh, too
2071         * tests/test-exclude1.sh: Use init.sh.
2072         * tests/test-exclude2.sh: Likewise.
2073         * tests/test-exclude3.sh: Likewise.
2074         * tests/test-exclude4.sh: Likewise.
2075         * tests/test-exclude5.sh: Likewise.
2076         * tests/test-exclude6.sh: Likewise.
2077         * tests/test-exclude7.sh: Likewise.
2078         * tests/test-exclude8.sh: Likewise.
2079         * modules/exclude-tests (Files): List init.sh.
2080
2081         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
2082         These shell scripts ignored failure of the binary test-exclude,
2083         so making the latter return 77 didn't cause them to be skipped.
2084         * tests/test-exclude5.sh: Exit with test-exclude's error status
2085         when that program fails.  Revamp to use init.sh.
2086         * tests/test-exclude2.sh: Likewise.
2087
2088         test-exclude: fix a typo
2089         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
2090
2091 2011-11-11  Bruno Haible  <bruno@clisp.org>
2092
2093         obstack: Fix compilation error on MSVC 9.
2094         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
2095
2096 2011-11-11  Jim Meyering  <meyering@redhat.com>
2097
2098         test-exclude: skip tests rather than failing on deficient systems
2099         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
2100         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
2101         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
2102         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
2103
2104 2011-11-10  Bruno Haible  <bruno@clisp.org>
2105
2106         ptsname_r test: Avoid gcc warning on glibc systems.
2107         * tests/test-ptsname_r.c (null_ptr): New function.
2108         (test_errors): Use it.
2109
2110 2011-11-10  Bruno Haible  <bruno@clisp.org>
2111
2112         ptsname_r: Avoid compilation error on OSF/1 5.1.
2113         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
2114         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
2115         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
2116         function is not declared or incompatibly declared.
2117         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
2118         * modules/ptsname_r (Depends-on, configure.ac): Update.
2119         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
2120
2121 2011-11-10  Bruno Haible  <bruno@clisp.org>
2122
2123         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
2124         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
2125         When cross-compiling, guess yes on all platforms except AIX.
2126         Reported by Ludovic Courtès <ludo@gnu.org>.
2127
2128 2011-11-09  Bruno Haible  <bruno@clisp.org>
2129
2130         ptsname_r tests: Fix bugs.
2131         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
2132         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
2133
2134 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2135
2136         fstatat: work with cross-compilation
2137         Problem reported by Ludovic Courtès in
2138         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
2139         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
2140         "cross-compiling" and assume the bug is present.  Replace
2141         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
2142         an inverted sense, to be more conservative about our assumptions.
2143         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
2144
2145 2011-11-09  Bruno Haible  <bruno@clisp.org>
2146
2147         Improve MODULES.html output.
2148         * modules/mkfifoat (Description): Use the word "function".
2149         * modules/readlinkat (Description): Likewise.
2150         * modules/symlinkat (Description): Likewise.
2151
2152 2011-11-09  Eric Blake  <eblake@redhat.com>
2153
2154         ptsname_r-tests: new test module
2155         * modules/ptsname_r-tests: New module.
2156         * tests/test-ptsname_r.c: New file.
2157
2158         ptsname_r: new module
2159         * modules/ptsname_r: New module.
2160         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
2161         * lib/ptsname.c (__ptsname_r): Split...
2162         * lib/ptsname_r.c: ...into new file.
2163         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
2164         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
2165         * modules/stdlib (Makefile.am): Substitute witnesses.
2166         * lib/stdlib.in.h (ptsname_r): Declare it.
2167         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
2168         * MODULES.html.sh (Misc): Likewise.
2169         * modules/ptsname (Depends-on): Alter dependency.
2170         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
2171
2172 2011-11-09  Jim Meyering  <meyering@redhat.com>
2173
2174         announce-gen: be more concise when there's only one URL+tarball
2175         * build-aux/announce-gen (get_tool_versions): When you distribute
2176         only one type of tarball, combine the first two "Here are..."
2177         sections and make the key-checking grammar independent of
2178         how many tarballs there are.
2179
2180 2011-11-09  Eric Blake  <eblake@redhat.com>
2181
2182         openpty: provide a stub on mingw
2183         * lib/pty.in.h (includes): Provide forward declarations.
2184         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
2185
2186         raise: fix mingw handling of SIGPIPE
2187         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
2188
2189 2011-11-08  Bruno Haible  <bruno@clisp.org>
2190
2191         More conditional dependencies.
2192         * modules/faccessat (Depends-on): Add conditions.
2193         * modules/fchmodat (Depends-on): Likewise.
2194         * modules/fchownat (Depends-on): Likewise.
2195         * modules/fstatat (Depends-on): Likewise.
2196         * modules/mkfifoat (Depends-on): Likewise.
2197         * modules/readlinkat (Depends-on): Likewise.
2198         * modules/symlinkat (Depends-on): Likewise.
2199         * modules/unlinkat (Depends-on): Likewise.
2200         * modules/utimensat (Depends-on): Likewise.
2201         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
2202         * modules/linkat (Depends-on): Refine the conditions.
2203         * modules/renameat (Depends-on): Likewise.
2204
2205 2011-11-08  Bruno Haible  <bruno@clisp.org>
2206
2207         faccessat: Move AC_LIBOBJ invocation to module description.
2208         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
2209         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
2210         invocation from here...
2211         * modules/faccessat (configure.ac): ... to here. Invoke
2212         gl_PREREQ_FACCESSAT.
2213
2214 2011-11-08  Bruno Haible  <bruno@clisp.org>
2215
2216         faccessat: Simplify autoconf macro.
2217         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
2218         gl_FUNC_EUIDACCESS.
2219
2220 2011-11-08  Bruno Haible  <bruno@clisp.org>
2221
2222         renameat: Fix dependencies.
2223         * modules/renameat (Depends-on): Add stdbool.
2224
2225 2011-11-08  Bruno Haible  <bruno@clisp.org>
2226
2227         mkfifoat: Fix module description.
2228         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
2229         not gl_UNISTD_MODULE_INDICATOR.
2230
2231 2011-11-08  Bruno Haible  <bruno@clisp.org>
2232
2233         fstatat: Remove unused dependency.
2234         * modules/fstatat (Depends-on): Remove fstat.
2235
2236 2011-11-08  Simon Josefsson  <simon@josefsson.org>
2237
2238         GNUmakefile: behave when Makefile is missing.
2239         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
2240
2241 2011-11-08  Bruno Haible  <bruno@clisp.org>
2242
2243         openat: Conditionalize dependencies.
2244         * lib/openat.c: Reduce the scope of some #includes.
2245         * modules/openat (Depends-on): Add conditions.
2246
2247 2011-11-07  Jim Meyering  <meyering@redhat.com>
2248
2249         maint.mk: extract GPG key ID without using a temporary file
2250         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
2251         without using a temporary file.  Based on a suggestion from Werner Koch
2252         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
2253
2254 2011-11-07  Eric Blake  <eblake@redhat.com>
2255
2256         grantpt: fix typo
2257         * lib/stdlib.in.h (grantpt): Check correct function.
2258
2259         maint.mk: silence new syntax check
2260         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
2261
2262 2011-11-06  Bruno Haible  <bruno@clisp.org>
2263
2264         Doc about floating-point and math API.
2265         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
2266         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
2267
2268 2011-11-06  Bruno Haible  <bruno@clisp.org>
2269
2270         stdalign tests: Skip the test when compiled by Sun C.
2271         * tests/test-stdalign.c (main): Skip the test on Sun C.
2272
2273 2011-11-06  Bruno Haible  <bruno@clisp.org>
2274
2275         ansi-c++-opt: Complete the 2011-06-05 change.
2276         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
2277         does not support namespaces, set the variable to "no", not to ":".
2278
2279 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2280
2281         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
2282
2283 2011-11-06  Bruno Haible  <bruno@clisp.org>
2284
2285         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
2286         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
2287         (minus_zerol) [HP-UX]: New macro.
2288         (unary_minus) [HP-UX]: New function.
2289         (copysignl) [HP-UX]: Use unary_minus function.
2290
2291 2011-11-06  Bruno Haible  <bruno@clisp.org>
2292
2293         ldexp, ldexpf, ldexpl: Enhance tests.
2294         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
2295         and tests/test-ldexpl.c.
2296         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
2297         LDEXP, MIN_EXP, MAX_EXP): New macros.
2298         Include test-ldexp.h.
2299         (main): Just call test_function.
2300         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
2301         infinity.h, nan.h.
2302         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
2303         MAX_EXP): New macros.
2304         Include test-ldexp.h.
2305         (x, y): Remove variables.
2306         (main): Just call test_function.
2307         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
2308         infinity.h, nan.h.
2309         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
2310         MAX_EXP): New macros.
2311         Include test-ldexp.h.
2312         (x, y): Remove variables.
2313         (main): Just call test_function.
2314         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
2315         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
2316         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
2317         (Depends-on): Add isnand-nolibm, signbit, float.
2318         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
2319         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
2320         (Depends-on): Add isnanf-nolibm, signbit, float.
2321
2322 2011-11-06  Bruno Haible  <bruno@clisp.org>
2323
2324         math tests: Cosmetics.
2325         * tests/test-math-c++.cc: Reorder declarations.
2326
2327 2011-11-05  Bruno Haible  <bruno@clisp.org>
2328
2329         fma*: Simplify test.
2330         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
2331         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
2332
2333         Tests for module 'fmal'.
2334         * modules/fmal-tests: New file.
2335         * tests/test-fmal1.c: New file.
2336         * tests/test-fmal2.c: New file.
2337
2338         New module 'fmal'.
2339         * lib/math.in.h (fmal): New declaration.
2340         * lib/fmal.c: New file.
2341         * m4/fmal.m4: New file.
2342         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
2343         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
2344         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
2345         REPLACE_FMAL.
2346         * modules/fmal: New file.
2347         * doc/posix-functions/fmal.texi: Mention the new module and the various
2348         bugs.
2349
2350         Tests for module 'fmaf'.
2351         * modules/fmaf-tests: New file.
2352         * tests/test-fmaf1.c: New file.
2353         * tests/test-fmaf2.c: New file.
2354
2355         New module 'fmaf'.
2356         * lib/math.in.h (fmaf): New declaration.
2357         * lib/fmaf.c: New file.
2358         * m4/fmaf.m4: New file.
2359         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
2360         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
2361         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
2362         REPLACE_FMAF.
2363         * modules/fmaf: New file.
2364         * doc/posix-functions/fmaf.texi: Mention the new module and the various
2365         bugs.
2366
2367         Tests for module 'fma'.
2368         * modules/fma-tests: New file.
2369         * tests/test-fma1.c: New file.
2370         * tests/test-fma1.h: New file.
2371         * tests/test-fma2.c: New file.
2372         * tests/test-fma2.h: New file.
2373
2374         New module 'fma'.
2375         * lib/math.in.h (fma): New declaration.
2376         * lib/fma.c: New file.
2377         * m4/fma.m4: New file.
2378         * m4/fegetround.m4: New file.
2379         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
2380         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
2381         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
2382         REPLACE_FMA.
2383         * modules/fma: New file.
2384         * doc/posix-functions/fma.texi: Mention the new module and the various
2385         bugs.
2386
2387         Extend gl_MATHFUNC.
2388         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
2389         Support 'void' as argument type.
2390         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
2391
2392 2011-11-05  Jim Meyering  <meyering@redhat.com>
2393
2394         maint.mk: also prohibit inclusion of dirent.h without use
2395         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
2396
2397 2011-11-05  Bruno Haible  <bruno@clisp.org>
2398
2399         ldexpl tests: Avoid test failure on MSVC 9.
2400         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
2401         value. Needed in order to enforce the conversion from a value greater
2402         than LDBL_MAX to Infinity.
2403
2404 2011-11-05  Bruno Haible  <bruno@clisp.org>
2405
2406         New modules 'at-internal', 'openat-h', split off from module 'openat'.
2407         * modules/at-internal: New file, extracted from modules/openat.
2408         * modules/openat-h: New file.
2409         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
2410         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
2411         * modules/openat (Description): Add reference to POSIX function.
2412         (Files): Remove lib/openat.h, lib/openat-proc.c.
2413         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
2414         intprops, unistd.
2415         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
2416         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
2417         gl_FCNTL_MODULE_INDICATOR.
2418         (Include): Remove unistd.h, openat.h.
2419         * modules/areadlinkat (Files): Add lib/at-func.c.
2420         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
2421         openat-die, openat-h, save-cwd.
2422         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
2423         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
2424         openat-die, openat-h, save-cwd, unistd.
2425         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
2426         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2427         openat-h, save-cwd. Remove fcntl-h, openat.
2428         * modules/fchmodat (Files): Remove lib/openat.h.
2429         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
2430         openat, stdbool, unistd.
2431         * modules/fchownat (Files): Remove lib/openat.h.
2432         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
2433         openat, stdbool, sys_stat.
2434         * modules/fdopendir (Files): Remove lib/openat-priv.h,
2435         lib/openat-proc.c.
2436         (Depends-on): Add at-internal.
2437         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
2438         * modules/fstatat (Files): Remove lib/openat.h.
2439         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
2440         stdbool, unistd.
2441         * modules/fts (Depends-on): Add openat-h.
2442         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
2443         openat.
2444         * modules/mkdirat (Files): Remove lib/openat.h.
2445         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
2446         openat, stdbool, sys_stat.
2447         * modules/mkfifoat (Files): Add lib/at-func.c.
2448         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2449         openat-h, save-cwd. Remove fcntl-h, openat.
2450         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
2451         * modules/readlinkat (Files): Add lib/at-func.c.
2452         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2453         openat-h, save-cwd. Remove fcntl-h, openat.
2454         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
2455         openat.
2456         * modules/selinux-at (Files): Add lib/at-func.c.
2457         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
2458         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
2459         * modules/symlinkat (Files): Add lib/at-func.c.
2460         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2461         openat-h, save-cwd. Remove fcntl-h, openat.
2462         * modules/unlinkat (Files): Remove lib/openat.h.
2463         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
2464         stdbool.
2465         * modules/utimensat (Files): Add lib/at-func.c.
2466         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
2467         openat-die, openat-h, save-cwd.
2468         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
2469         * modules/fdutimensat-tests (Depends-on): Add openat.
2470         * modules/fstatat-tests (Depends-on): Add openat-h.
2471         * modules/readlinkat-tests (Depends-on): Add openat.
2472         * modules/symlinkat-tests (Depends-on): Add openat.
2473
2474 2011-11-05  Bruno Haible  <bruno@clisp.org>
2475
2476         openat: Include <stdbool.h>.
2477         * lib/openat.c: Include <stdbool.h>.
2478
2479 2011-11-04  Bruno Haible  <bruno@clisp.org>
2480
2481         fchownat, renameat, unlinkat: Fix dependencies.
2482         * modules/fchownat (Depends-on): Add fstatat.
2483         * modules/renameat (Depends-on): Likewise.
2484         * modules/unlinkat (Depends-on): Likewise.
2485
2486 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
2487
2488         openat: remove direct dependency on dirent
2489         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
2490         and hasn't been needed ever since fdopendir was split into its own
2491         module on 2009-08-31.
2492         * modules/openat (Depends-on): Remove dirent.
2493
2494 2011-11-04  Bruno Haible  <bruno@clisp.org>
2495
2496         renameat: Optimize code size.
2497         * modules/renameat (configure.ac): Don't compile at-func2.c if
2498         REPLACE_RENAMEAT is 1.
2499
2500 2011-11-04  Bruno Haible  <bruno@clisp.org>
2501
2502         openat tests: Fix file list.
2503         * modules/openat-tests (Files): Add tests/test-open.h.
2504
2505 2011-11-04  Bruno Haible  <bruno@clisp.org>
2506
2507         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
2508         * modules/fchmodat (Depends-on): Add openat-die.
2509         * modules/fchownat (Depends-on): Likewise.
2510         * modules/linkat (Depends-on): Likewise.
2511         * modules/renameat (Depends-on): Likewise.
2512         * modules/openat (Depends-on): Add dirent.
2513
2514 2011-11-04  Jim Meyering  <meyering@redhat.com>
2515
2516         at-func*.c: fix comments
2517         * lib/at-func2.c: Correct/improve first-line comment.
2518         * lib/at-func.c: Correct grammar in first-line comment.
2519
2520 2011-11-04  Bruno Haible  <bruno@clisp.org>
2521
2522         New module 'mkdirat', split off from module 'openat'.
2523         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
2524         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
2525         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
2526         * modules/mkdirat: New file, extracted from modules/openat.
2527         * modules/openat (Files): Remove lib/mkdirat.c.
2528         (Depends-on): Remove mkdir.
2529         (configure.ac): Remove AC_LIBOBJ of mkdirat.
2530         (Include): Remove <sys/stat.h>.
2531         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
2532         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
2533         tests/test-mkdir.h.
2534         (Depends-on): Remove ignore-value.
2535         (Makefile.am): Remove rules for test-mkdirat.
2536         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
2537         of module 'openat'.
2538         * NEWS: Mention the change.
2539
2540 2011-11-04  Bruno Haible  <bruno@clisp.org>
2541
2542         closedir: Avoid warning on mingw.
2543         * lib/closedir.c: Include <unistd.h>.
2544
2545 2011-11-04  Bruno Haible  <bruno@clisp.org>
2546
2547         New module 'fstatat', split off from module 'openat'.
2548         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
2549         defined.
2550         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
2551         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
2552         gl_FUNC_FSTATAT.
2553         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
2554         * modules/fstatat: New file, extracted from modules/openat.
2555         * modules/openat (Files): Remove lib/fstatat.c.
2556         (Depends-on): Remove lstat.
2557         (configure.ac): Remove AC_LIBOBJ of fstatat.
2558         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
2559         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
2560         tests/test-lstat.h, tests/test-stat.h.
2561         (Depends-on): Remove getcwd-lgpl.
2562         (Makefile.am): Remove rules for test-fstatat.
2563         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
2564         of module 'openat'.
2565         * NEWS: Mention the change.
2566         * modules/getcwd (Depends-on): Add fstatat.
2567         * modules/linkat (Depends-on): Likewise.
2568         * modules/mkfifoat-tests (Depends-on): Likewise.
2569         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
2570
2571 2011-11-03  Bruno Haible  <bruno@clisp.org>
2572
2573         New module 'unlinkat', split off from module 'openat'.
2574         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
2575         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
2576         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
2577         * modules/unlinkat: New file, extracted from modules/openat. Correct
2578         the dependency conditions.
2579         * modules/openat (Files): Remove lib/unlinkat.c.
2580         (Depends-on): Remove rmdir, unlink.
2581         (configure.ac): Remove AC_LIBOBJ of unlinkat.
2582         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
2583         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
2584         tests/test-rmdir.h, tests/test-unlink.h.
2585         (Depends-on): Remove unlinkdir.
2586         (Makefile.am): Remove rules for test-unlinkat.
2587         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
2588         of module 'openat'.
2589         * NEWS: Mention the change.
2590         * modules/linkat-tests (Depends-on): Add unlinkat.
2591         * modules/mkfifoat-tests (Depends-on): Likewise.
2592         * modules/readlinkat-tests (Depends-on): Likewise.
2593
2594 2011-11-02  Bruno Haible  <bruno@clisp.org>
2595
2596         New module 'fchmodat', split off from module 'openat'.
2597         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
2598         defined.
2599         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
2600         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
2601         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
2602         * modules/fchmodat: New file, extracted from modules/openat.
2603         * modules/openat (Files): Remove lib/fchmodat.c.
2604         (configure.ac): Remove AC_LIBOBJ of fchmodat.
2605         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
2606         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
2607         (Makefile.am): Remove rules for test-fchmodat.
2608         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
2609         of module 'openat'.
2610         * NEWS: Mention the change.
2611
2612 2011-11-02  Jim Meyering  <meyering@redhat.com>
2613
2614         putenv: indent #definition of "environ" to placate cppi
2615         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
2616
2617         gitlog-to-changelog: provide a ChangeLog-repair mechanism
2618         Git logs are often treated as immutable, because editing them
2619         changes the SHA1 checksums of all descendants.  Thus, errors in
2620         git logs tend to stay there forever.  However, when we generate
2621         a ChangeLog file -- typically for distribution -- from that git log,
2622         we can actually make corrections in the generated file.  The key
2623         lies in recording in machine-readable/applicable form the desired
2624         corrections.  See --help for description and an example.
2625         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
2626         (usage): Describe it; alphabetize option descriptions.
2627         (main): Honor the new option, carefully.
2628
2629 2011-11-01  Jim Meyering  <meyering@redhat.com>
2630
2631         gitlog-to-changelog: avoid an infloop
2632         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
2633         that ends up being empty.
2634
2635 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
2636
2637         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
2638         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
2639         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
2640         contains (possibly-quoted) backslashes.  This should avoid
2641         all-too-common shell bugs if COMPLICATED contains backslashes in
2642         the "wrong" places.  Reported by David Evans in
2643         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
2644         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
2645         because we want ASCII ranges.  Is there some reason we don't use
2646         the C locale everywhere in this script?
2647         (func_module, top level): Avoid unwanted pathname expansion when
2648         $repo_url_prefix or $repo_url_suffix_repl contain shell
2649         metacharacters like '?' and '*'.
2650
2651 2011-11-01  Bruno Haible  <bruno@clisp.org>
2652
2653         fchownat: Improve description.
2654         * modules/fchownat (Description): Add link to function.
2655
2656 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
2657
2658         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
2659         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
2660         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
2661         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
2662
2663 2011-11-01  Bruno Haible  <bruno@clisp.org>
2664
2665         alignof: Avoid collision with stdalign module.
2666         * lib/alignof.h (alignof): Remove macro.
2667         * NEWS: Mention the change.
2668         Reported by Paul Eggert.
2669
2670 2011-11-01  Bruno Haible  <bruno@clisp.org>
2671
2672         New module 'fchownat', split off from module 'openat'.
2673         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
2674         defined.
2675         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
2676         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
2677         invoke gl_FUNC_FCHOWNAT.
2678         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
2679         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
2680         * modules/fchownat: New file, extracted from modules/openat.
2681         * modules/openat (Files): Remove lib/fchownat.c.
2682         (Depends-on): Remove lchown.
2683         (configure.ac): Remove AC_LIBOBJ of fchownat.
2684         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
2685         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
2686         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
2687         (Depends-on): Remove mgetgroups, usleep, stat-time.
2688         (configure.ac): Remove test for getegid.
2689         (Makefile.am): Remove rules for test-fchownat.
2690         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
2691         of module 'openat'.
2692         * NEWS: Mention the change.
2693
2694 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
2695
2696         stdalign: port better to MSVC and to Sun C 5.11
2697         This fixes some of the problems reported by Bruno Haible in
2698         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
2699         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
2700         shortcomings of MSVC and of Sun C 5.11.
2701         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
2702         around __declspec arg.
2703         * modules/stdalign-tests (Files): Add tests/macros.h.
2704         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
2705         Include macros.h, for ASSERT.
2706         (DECLARE_ALIGNED): Remove.
2707         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
2708         to catch bug), and to 1 if not (simplifies the rest of the code).
2709         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
2710         (CHECK_AUTO): Remove.
2711         (CHECK_ALIGNED): Check only the alignment of the static vars,
2712         since auto var alignment isn't supported by Sun C 5.11.
2713         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
2714         ASSERT failures are easier to diagnose.
2715
2716 2011-10-31  Bruno Haible  <bruno@clisp.org>
2717
2718         doc about some IRIX 5.3 problems.
2719         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
2720         on IRIX 5.3.
2721         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
2722         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
2723         5.3.
2724         * doc/posix-functions/grantpt.texi: Likewise.
2725         * doc/posix-functions/unlockpt.texi: Likewise.
2726         * doc/posix-functions/lgamma.texi: Likewise.
2727         * doc/posix-functions/nextafter.texi: Likewise.
2728         * doc/posix-functions/remainder.texi: Likewise.
2729         * doc/posix-functions/select.texi: Mention misplaced declaration on
2730         IRIX 5.3.
2731         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2732
2733 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
2734
2735         gitlog-to-changelog: fix git-log invocation.
2736         git-log mishandles date strings before 1970-01-01 UTC, and there is
2737         no use to specify --since=1970-01-01 by default anyway.
2738         * build-aux/gitlog-to-changelog: By default, when no --since option
2739         was given, do not specify explicit --since option to git-log.
2740
2741 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
2742
2743         gitlog-to-changelog: new option --append-dot.
2744         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
2745         first non-blank line of each commit message terminated with a dot.
2746
2747 2011-10-30  Bruno Haible  <bruno@clisp.org>
2748
2749         ffsl, ffsll: Avoid compilation error due to 'restrict'.
2750         * lib/ffsl.h: Include <config.h>.
2751         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
2752
2753 2011-10-30  Jim Meyering  <meyering@redhat.com>
2754
2755         GNUmakefile: reenable "make syntax-check" for most projects
2756         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
2757         build-aux variable", "syntax-check" would do nothing but succeed with
2758         the "No version control files detected..." diagnostic (unless you
2759         happened to override _build-aux via cfg.mk).
2760         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
2761         to precede inclusion of maint.mk.  Otherwise, these variables would
2762         be used undefined in any project that does not override the default.
2763
2764 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
2765
2766         gitlog-to-changelog: treat a message with only blank lines as empty.
2767         * build-aux/gitlog-to-changelog: Move the code that removes leading and
2768         trailing blank lines before the code that issues a warning about an
2769         empty commit message.
2770
2771 2011-10-30  Jim Meyering  <meyering@redhat.com>
2772
2773         test-parse-datetime.c: avoid new DST-related false positive test failure
2774         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
2775         based on the time/date we'll convert, not the current time.
2776         Otherwise, the moment we cross a DST boundary like today's in
2777         Europe, (CEST to CET), that offset ends up being one hour off.
2778
2779 2011-10-27  Bruno Haible  <bruno@clisp.org>
2780
2781         fstat: Tweak documentation.
2782         * modules/fstat (Description): More precise description.
2783
2784 2011-10-27  Bruno Haible  <bruno@clisp.org>
2785
2786         Update documentation regarding 'largefile' module.
2787         * doc/posix-functions/fstat.texi: Tweak wording.
2788         * doc/posix-functions/opendir.texi: Mention that the module fixes the
2789         problems with huge directories and/or small ino_t types.
2790         * doc/posix-functions/readdir.texi: Likewise.
2791         * doc/posix-functions/rewinddir.texi: Likewise.
2792
2793 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
2794
2795         maint.mk: don't maintain a second build-aux variable.
2796         * maint.mk (build_aux): Removed.  The maintainer-makefile module
2797         depends on GNUmakefile, which already maintains a cfg.mk
2798         overridable $(_build-aux) for projects with a non-standard
2799         build-aux directory location, although without the $(srcdir)
2800         prefix.  Use that variable consistently instead of introducing a
2801         second one.  Adjust all call sites.
2802
2803 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
2804
2805         Add stdalign module and use it in other modules.
2806         This is based on a previous proposal by Bruno Haible
2807         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
2808
2809         stdalign: new module
2810         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
2811         * modules/stdalign: New files.
2812         * MODULES.html.sh (c1x_core_properties): Add stdalign.
2813         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
2814
2815         stdalign-tests: new module
2816         * modules/stdalign-tests, tests/test-stdalign.c: New files.
2817
2818         argp: use stdalign
2819         * lib/argp-parse.c: Include <stdalign.h>.
2820         (alignof): Remove.
2821         * modules/argp (Depends-on): Add stdalign.
2822
2823         crypto libraries: use stdalign
2824         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
2825         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
2826         Do not include <stdlib.h> twice, in md4.c.
2827         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
2828         because we are accessing a pointer's bit-pattern, not a size.
2829         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
2830         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
2831         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2832         * modules/crypto/sha512: Likewise.
2833
2834         sys_socket: use stdalign, not alignof
2835         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
2836         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
2837
2838 2011-10-27  Bruno Haible  <bruno@clisp.org>
2839
2840         raise test: Avoid a test failure on Linux/MIPS.
2841         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
2842         because 99 is a valid signal on Linux/MIPS.
2843
2844 2011-10-27  Bruno Haible  <bruno@clisp.org>
2845
2846         nonblocking tests: Fix test failure on Linux/MIPS.
2847         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
2848         Set to 270000.
2849
2850 2011-10-27  Bruno Haible  <bruno@clisp.org>
2851
2852         utimensat: Work around problem on Linux/hppa.
2853         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
2854         values.
2855         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
2856
2857 2011-10-25  Jim Meyering  <meyering@redhat.com>
2858
2859         maint.mk: fix a bug in sc_prohibit_stddef_without_use
2860         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
2861         after symbols like NULL, size_t, etc.
2862         Reported by Alfred M. Szmidt.
2863
2864         maint.mk: exempt ENODATA from a syntax-check rule
2865         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
2866         from the sc_prohibit_always-defined_macros syntax-check rule.
2867         Add a comment.  See this for more details:
2868         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
2869
2870 2011-10-23  Jim Meyering  <meyering@redhat.com>
2871
2872         fts: close parent dir FD before returning from post-traversal fts_read
2873         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
2874         unlink A, even though an FD open on A remained.  This is suboptimal
2875         (holding a file descriptor open longer than needed), but otherwise not
2876         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
2877         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
2878         that represents a real problem: it causes the removal of A to fail
2879         with e.g., "rm: cannot remove `A': Device or resource busy"
2880
2881         fts visits each directory twice and keeps a cache (fts_fd_ring) of
2882         directory file descriptors.  After completing the final, FTS_DP,
2883         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
2884         cache, but then proceeded to add a new FD to it via the subsequent
2885         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
2886         final file descriptor would be closed only via fts_close's call to
2887         fd_ring_clear.  Now, it is usually closed earlier, via the final
2888         FTS_DP-returning fts_read call.
2889         * lib/fts.c (restore_initial_cwd): New function, converted from
2890         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
2891         Update callers.
2892         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
2893         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
2894
2895 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
2896             Bruno Haible  <bruno@clisp.org>
2897             Jim Meyering  <jim@meyering.net>
2898
2899         readme-release: improve safety of release prep instructions.
2900         * README-release: Don't git pull all branches when only master
2901         is needed for the release process.
2902         Run make maintainer-clean before changing trees and merging.
2903         Don't try to run ./configure right after git pull in case files
2904         that influence the bootstrap process have changed, move the
2905         ./configure step to after running ./bootstrap.
2906         Don't bootstrap "one last time"... it's the first time!
2907
2908 2011-10-22  Bruno Haible  <bruno@clisp.org>
2909
2910         errno, strerror-override: Support for MSVC 10.
2911         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
2912         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
2913         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
2914         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
2915         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
2916         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
2917         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
2918         Assign values compatible with MSVC 10.
2919         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
2920         New macros.
2921         (GNULIB_defined_EWINSOCK): New macro.
2922         * lib/strerror-override.c (strerror_override): Update accordingly.
2923         * lib/strerror-override.h: Likewise.
2924         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
2925         longer equal to the corresponding errno value.
2926         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2927
2928 2011-10-22  Bruno Haible  <bruno@clisp.org>
2929
2930         perror: Recognize when test program crashes.
2931         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
2932         strerror, set gl_cv_func_perror_works to no.
2933         Reported by Daniel Richard G. <skunk@iskunk.org>.
2934
2935         perror: Fix indentation.
2936         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
2937
2938 2011-10-22  Bruno Haible  <bruno@clisp.org>
2939
2940         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
2941         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
2942         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
2943         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
2944         functions, not as a macro.
2945         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
2946         macros.
2947         (isfinite, isinf, isnan, signbit): Check overloaded functions and
2948         absence of macro.
2949         Suggested by Eric Blake.
2950         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2951
2952 2011-10-21  Bruno Haible  <bruno@clisp.org>
2953
2954         relocatable-prog-wrapper: Don't leave object files behind.
2955         * build-aux/install-reloc: Re-synchronize list of .o files to be
2956         removed with list of compilation units.
2957
2958 2011-10-20  Bruno Haible  <bruno@clisp.org>
2959
2960         openpty, posix_openpt: Remove code duplication.
2961         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
2962         * lib/openpty.c: Include <stdlib.h>.
2963         (openpty): Use posix_openpt on all platforms except IRIX.
2964         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
2965
2966 2011-10-20  Bruno Haible  <bruno@clisp.org>
2967
2968         unlockpt: Detect invalid argument.
2969         * lib/unlockpt.c: Include <fcntl.h>.
2970         (unlockpt): Check whether fd is valid, using fcntl().
2971         * modules/unlockpt (Depends-on): Add fcntl-h.
2972
2973 2011-10-20  Bruno Haible  <bruno@clisp.org>
2974
2975         openpty: Avoid compilation error on AIX 6.1.
2976         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
2977
2978 2011-10-20  Bruno Haible  <bruno@clisp.org>
2979
2980         posix_openpt: Support for OpenBSD.
2981         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
2982         (posix_openpt) [OpenBSD]: New code.
2983         * lib/grantpt.c: Include <fcntl.h>.
2984         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
2985         * modules/grantpt (Depends-on): Add fcntl-h.
2986
2987 2011-10-20  Bruno Haible  <bruno@clisp.org>
2988
2989         posix_openpt test: Coding style.
2990         * tests/test-posix_openpt.c: Use GNU coding style.
2991
2992 2011-10-20  Bruno Haible  <bruno@clisp.org>
2993
2994         grantpt: Support --avoid=pt_chown.
2995         * modules/grantpt (Files): Add lib/pty-private.h.
2996
2997 2011-10-20  Bruno Haible  <bruno@clisp.org>
2998
2999         posix_openpt: Fix autoconf macro.
3000         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
3001         unneeded check for _getpty.
3002
3003 2011-10-20  Bruno Haible  <bruno@clisp.org>
3004
3005         openpty: Update comments.
3006         * lib/openpty.c: Add comments about Minix.
3007
3008 2011-10-19  Eric Blake  <eblake@redhat.com>
3009
3010         openpty: relax license
3011         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
3012
3013         pt_chown: use configmake to simplify build
3014         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
3015
3016         ptsname and others: relax license
3017         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
3018         * modules/unlockpt (License): Likewise.
3019         * modules/pt_chown (License): Likewise.
3020         * modules/ptsname (License): Likewise.
3021         * modules/ttyname_r (License): Likewise.
3022
3023 2011-10-19  Jim Meyering  <meyering@redhat.com>
3024
3025         posix_openpt: remove spurious #endif
3026         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
3027
3028 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
3029
3030         maint.mk: Respect $(build_aux) in web-manual rule.
3031         * top/maint.mk (web-manual): Find gen-announce script in user's
3032         $(build_aux) directory instead of hard-coding 'build-aux'.
3033
3034 2011-10-19  Bruno Haible  <bruno@clisp.org>
3035
3036         posix_openpt: Fix compilation error.
3037         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
3038         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
3039         Mention the openpty module as an alternative.
3040
3041 2011-10-19  Bruno Haible  <bruno@clisp.org>
3042
3043         Support for old NeXTstep 3.3 frexp().
3044         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
3045         execution time of the test to 5 seconds.
3046         Reported by Daniel Richard G. <skunk@iskunk.org>.
3047
3048 2011-10-19  Bruno Haible  <bruno@clisp.org>
3049
3050         Support for old NeXTstep 3.3 sed.
3051         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
3052         part, use /.../, not \|...|. Escape periods in the header file name.
3053         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3054         Reported by Daniel Richard G. <skunk@iskunk.org>.
3055
3056 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3057
3058         Support for old NeXTstep 3.3 gcc.
3059         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
3060         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
3061         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
3062         * lib/spawn.in.h (_Restrict_arr_): Likewise.
3063         * lib/regex.h (_Restrict_arr_): Likewise.
3064         * lib/regex_internal.h (re_token_t): Likewise.
3065         * lib/regexec.c (check_node_accept_bytes): Likewise.
3066         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
3067
3068 2011-10-18  Eric Blake  <eblake@redhat.com>
3069
3070         posix_openpt: new module
3071         * modules/posix_openpt: New module.
3072         * m4/posix_openpt.m4: New file.
3073         * lib/posix_openpt.c: Likewise.
3074         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
3075         (gl_STDLIB_H_DEFAULTS): Set defaults.
3076         * modules/stdlib (Makefile.am): Substitute macros.
3077         * lib/stdlib.in.h (posix_openpt): Declare.
3078         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
3079         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
3080         * modules/posix_openpt-tests: New test module.
3081         * tests/test-posix_openpt.c: New test.
3082
3083 2011-10-15  Bruno Haible  <bruno@clisp.org>
3084
3085         xstrtoll: Fix compilation failure.
3086         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
3087         from lib/strtol.c.
3088         * doc/posix-headers/limits.texi: Mention missing numerical limits on
3089         some platforms.
3090         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3091
3092 2011-10-15  Bruno Haible  <bruno@clisp.org>
3093
3094         vasnprintf: Optimize bit search operation.
3095         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
3096         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
3097         gl_DOUBLE_EXPONENT_LOCATION.
3098         * modules/vasnprintf (Files): Add m4/exponentd.m4.
3099         * modules/unistdio/u8-vasnprintf (Files): Likewise.
3100         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
3101         * modules/unistdio/u16-vasnprintf (Files): Likewise.
3102         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
3103         * modules/unistdio/u32-vasnprintf (Files): Likewise.
3104         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
3105         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
3106         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
3107
3108 2011-10-15  Bruno Haible  <bruno@clisp.org>
3109
3110         vasnprintf: Fix comments.
3111         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
3112
3113 2011-10-14  Bruno Haible  <bruno@clisp.org>
3114
3115         Tests for module 'integer_length_ll'.
3116         * modules/integer_length_ll-tests: New file.
3117         * tests/test-integer_length_ll.c: New file.
3118
3119         New module 'integer_length_ll'.
3120         * lib/integer_length_ll.c: New file.
3121         * modules/integer_length_ll: New file.
3122
3123 2011-10-14  Bruno Haible  <bruno@clisp.org>
3124
3125         Tests for module 'integer_length_l'.
3126         * modules/integer_length_l-tests: New file.
3127         * tests/test-integer_length_l.c: New file.
3128
3129         New module 'integer_length_l'.
3130         * lib/integer_length_l.c: New file.
3131         * modules/integer_length_l: New file.
3132
3133 2011-10-14  Bruno Haible  <bruno@clisp.org>
3134
3135         Tests for module 'integer_length'.
3136         * modules/integer_length-tests: New file.
3137         * tests/test-integer_length.c: New file.
3138
3139         New module 'integer_length'.
3140         * lib/integer_length.h: New file.
3141         * lib/integer_length.c: New file.
3142         * modules/integer_length: New file.
3143
3144 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3145
3146         popen: Fix dependency conditions.
3147         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
3148
3149 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3150
3151         perror: Fix autoconf test.
3152         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
3153         <stdlib.h> and <string.h>.
3154
3155 2011-10-14  Bruno Haible  <bruno@clisp.org>
3156
3157         ffsl: Optimize on 64-bit platforms.
3158         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
3159         unrolling.
3160
3161 2011-10-13  Bruno Haible  <bruno@clisp.org>
3162
3163         ffsl: Optimize on 32-bit platforms.
3164         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
3165         use ffs() without a loop.
3166
3167         ffsl, ffsll: Optimize for GCC.
3168         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
3169         * lib/ffsl.c (GCC_BUILTIN): New macro.
3170         * lib/ffsll.c (GCC_BUILTIN): Likewise.
3171
3172 2011-10-13  Bruno Haible  <bruno@clisp.org>
3173
3174         ffs, bcopy, memset: Support symbol renaming via config.h.
3175         * lib/ffs.c: Include <config.h>.
3176         * lib/bcopy.c: Likewise.
3177         * lib/memset.c: Likewise.
3178
3179 2011-10-10  Bruno Haible  <bruno@clisp.org>
3180
3181         atanl: Simplify for platforms where 'long double' == 'double'.
3182         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3183         alternative implementation.
3184         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3185         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3186         * modules/atanl (Depends-on): Add atan. Update conditions.
3187
3188 2011-10-10  Bruno Haible  <bruno@clisp.org>
3189
3190         acosl: Simplify for platforms where 'long double' == 'double'.
3191         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3192         alternative implementation.
3193         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3194         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3195         * modules/acosl (Depends-on): Add acos. Update conditions.
3196
3197 2011-10-10  Bruno Haible  <bruno@clisp.org>
3198
3199         asinl: Simplify for platforms where 'long double' == 'double'.
3200         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3201         alternative implementation.
3202         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3203         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3204         * modules/asinl (Depends-on): Add asin. Update conditions.
3205
3206 2011-10-10  Bruno Haible  <bruno@clisp.org>
3207
3208         tanl: Simplify for platforms where 'long double' == 'double'.
3209         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3210         implementation.
3211         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3212         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3213         * modules/tanl (Depends-on): Add tan. Update conditions.
3214         (configure.ac): Don't compile trigl.c if
3215         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3216
3217 2011-10-10  Bruno Haible  <bruno@clisp.org>
3218
3219         cosl: Simplify for platforms where 'long double' == 'double'.
3220         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3221         implementation.
3222         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3223         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3224         * modules/cosl (Depends-on): Add cos. Update conditions.
3225         (configure.ac): Don't compile sincosl.c and trigl.c if
3226         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3227
3228 2011-10-10  Bruno Haible  <bruno@clisp.org>
3229
3230         sinl: Simplify for platforms where 'long double' == 'double'.
3231         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3232         implementation.
3233         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3234         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3235         * modules/sinl (Depends-on): Add sin. Update conditions.
3236         (configure.ac): Don't compile sincosl.c and trigl.c if
3237         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3238
3239 2011-10-10  Bruno Haible  <bruno@clisp.org>
3240
3241         logl: Simplify for platforms where 'long double' == 'double'.
3242         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3243         implementation.
3244         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3245         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3246         * modules/logl (Depends-on): Add log. Update conditions.
3247
3248 2011-10-10  Bruno Haible  <bruno@clisp.org>
3249
3250         expl: Simplify for platforms where 'long double' == 'double'.
3251         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3252         implementation.
3253         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3254         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3255         * modules/expl (Depends-on): Add exp. Update conditions.
3256
3257 2011-10-10  Bruno Haible  <bruno@clisp.org>
3258
3259         sqrtl: Simplify for platforms where 'long double' == 'double'.
3260         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3261         alternative implementation.
3262         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3263         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3264         * modules/sqrtl (Depends-on): Update conditions.
3265
3266 2011-10-10  Bruno Haible  <bruno@clisp.org>
3267
3268         ldexpl: Simplify for platforms where 'long double' == 'double'.
3269         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3270         alternative implementation.
3271         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3272         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3273         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
3274
3275 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
3276
3277         ffsll: set correct witness
3278         * modules/ffsll (configure.ac): Fix typo.
3279
3280 2011-10-10  Bruno Haible  <bruno@clisp.org>
3281
3282         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
3283         * lib/printf-frexpl.c: Include <config.h>.
3284         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3285         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
3286         second time.
3287         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
3288         gl_LONG_DOUBLE_VS_DOUBLE.
3289         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
3290         conditions.
3291
3292 2011-10-10  Bruno Haible  <bruno@clisp.org>
3293
3294         frexpl: Simplify for platforms where 'long double' == 'double'.
3295         * lib/frexpl.c: Include <config.h>.
3296         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3297         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3298         time.
3299         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3300         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3301         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
3302         * modules/frexpl (Depends-on): Add frexp. Update conditions.
3303         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
3304         conditions.
3305
3306 2011-10-10  Jim Meyering  <meyering@redhat.com>
3307
3308         test-renameat: don't leave behind a temporary file
3309         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
3310           ERROR: files left in build directory after distclean:
3311           ./gltests/test-renameat.too
3312           make[1]: *** [distcleancheck] Error 1
3313         Reported by Tom G. Christensen.
3314
3315 2011-10-09  Bruno Haible  <bruno@clisp.org>
3316
3317         rint: Determine RINT_LIBM correctly on AIX 7.
3318         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
3319         directly, not only through a function pointer. Also accept an optional
3320         4th argument with extra code.
3321         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
3322         rintf() call by gcc when optimizing.
3323
3324         mathfunc.m4: Refactor.
3325         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
3326         m4 variable.
3327
3328 2011-10-09  Bruno Haible  <bruno@clisp.org>
3329
3330         rintl: Simplify for platforms where 'long double' == 'double'.
3331         * lib/rintl.c: Include <config.h>.
3332         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3333         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3334         time.
3335         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3336         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3337         * modules/rintl (Depends-on): Add rint. Update conditions.
3338
3339 2011-10-09  Bruno Haible  <bruno@clisp.org>
3340
3341         roundl: Simplify for platforms where 'long double' == 'double'.
3342         * lib/roundl.c: Include <config.h>.
3343         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3344         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3345         time.
3346         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3347         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3348         * modules/roundl (Depends-on): Add round. Update conditions.
3349
3350 2011-10-09  Bruno Haible  <bruno@clisp.org>
3351
3352         truncl: Simplify for platforms where 'long double' == 'double'.
3353         * lib/truncl.c: Include <config.h>.
3354         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3355         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3356         time.
3357         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3358         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3359         * modules/truncl (Depends-on): Add trunc. Update conditions.
3360
3361 2011-10-09  Bruno Haible  <bruno@clisp.org>
3362
3363         ceill: Simplify for platforms where 'long double' == 'double'.
3364         * lib/ceill.c: Include <config.h>.
3365         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3366         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3367         time.
3368         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3369         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3370         * modules/ceill (Depends-on): Add ceil. Update conditions.
3371
3372 2011-10-09  Bruno Haible  <bruno@clisp.org>
3373
3374         floorl: Simplify for platforms where 'long double' == 'double'.
3375         * lib/floorl.c: Include <config.h>.
3376         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3377         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3378         time.
3379         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3380         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3381         * modules/floorl (Depends-on): Add floor. Update conditions.
3382
3383 2011-10-09  Bruno Haible  <bruno@clisp.org>
3384
3385         rint: Fix ordering constraints.
3386         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
3387         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3388         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3389
3390 2011-10-09  Bruno Haible  <bruno@clisp.org>
3391
3392         copysignl: Simplify for platforms where 'long double' == 'double'.
3393         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3394         alternative.
3395         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3396         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3397         * modules/copysignl (Depends-on): Add copysign. Update conditions.
3398
3399 2011-10-09  Bruno Haible  <bruno@clisp.org>
3400
3401         Tests for module 'rintl'.
3402         * modules/rintl-tests: New file.
3403         * tests/test-rintl.c: New file.
3404
3405         New module 'rintl'.
3406         * lib/math.in.h (rintl): New declaration.
3407         * lib/rintl.c: New file.
3408         * m4/rintl.m4: New file.
3409         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
3410         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
3411         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
3412         * modules/rintl: New file.
3413         * tests/test-math-c++.cc: Check the declaration of rintl.
3414         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
3415         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
3416         * doc/posix-functions/rintl.texi: Mention the new module.
3417
3418 2011-10-09  Bruno Haible  <bruno@clisp.org>
3419
3420         Tests for module 'rintf'.
3421         * modules/rintf-tests: New file.
3422         * tests/test-rintf.c: New file.
3423
3424         New module 'rintf'.
3425         * lib/math.in.h (rintf): New declaration.
3426         * lib/rintf.c: New file.
3427         * m4/rintf.m4: New file.
3428         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
3429         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
3430         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
3431         * modules/rintf: New file.
3432         * tests/test-math-c++.cc: Check the declaration of rintf.
3433         * doc/posix-functions/rintf.texi: Mention the new module.
3434
3435 2011-10-09  Bruno Haible  <bruno@clisp.org>
3436
3437         rint: Support for MSVC.
3438         * lib/math.in.h (rint): New declaration.
3439         * lib/rint.c: New file.
3440         * m4/rint.m4: New file.
3441         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
3442         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
3443         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
3444         * modules/rint (Description): Fix.
3445         (Files): Add lib/rint.c, m4/rint.m4.
3446         (Depends-on): Add math.
3447         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
3448         gl_MATH_MODULE_INDICATOR.
3449         * tests/test-math-c++.cc: Check the declaration of rint.
3450         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
3451         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
3452         * doc/posix-functions/rint.texi: Mention the replacement provided by
3453         the module.
3454
3455         rint tests: More tests.
3456         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
3457         minus-zero.h, infinity.h, nan.h.
3458         (main): Skip the test if the current rounding mode is not standard. Add
3459         tests for negative numbers, minus zero, infinity, NaN.
3460         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
3461         tests/nan.h.
3462         (Depends-on): Add isnand-nolibm.
3463
3464 2011-10-09  Bruno Haible  <bruno@clisp.org>
3465
3466         Tests for module 'copysignl'.
3467         * modules/copysignl-tests: New file.
3468         * tests/test-copysignl.c: New file.
3469
3470         New module 'copysignl'.
3471         * lib/math.in.h (copysignl): New declaration.
3472         * lib/copysignl.c: New file.
3473         * m4/copysignl.m4: New file.
3474         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
3475         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
3476         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
3477         HAVE_COPYSIGNL.
3478         * modules/copysignl: New file.
3479         * tests/test-math-c++.cc: Check the declaration of copysignl.
3480         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
3481         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
3482         * doc/posix-functions/copysignl.texi: Mention the new module.
3483
3484 2011-10-09  Bruno Haible  <bruno@clisp.org>
3485
3486         Tests for module 'copysignf'.
3487         * modules/copysignf-tests: New file.
3488         * tests/test-copysignf.c: New file.
3489
3490         New module 'copysignf'.
3491         * lib/math.in.h (copysignf): New declaration.
3492         * lib/copysignf.c: New file.
3493         * m4/copysignf.m4: New file.
3494         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
3495         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
3496         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
3497         HAVE_COPYSIGNF.
3498         * modules/copysignf: New file.
3499         * tests/test-math-c++.cc: Check the declaration of copysignf.
3500         * doc/posix-functions/copysignf.texi: Mention the new module.
3501
3502 2011-10-09  Bruno Haible  <bruno@clisp.org>
3503
3504         Ensure that HAVE_* variables are set to 1 before they are set to 0.
3505         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
3506         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
3507         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3508         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
3509         gl_SIGNAL_H_DEFAULTS.
3510
3511 2011-10-09  Bruno Haible  <bruno@clisp.org>
3512
3513         poll: Make macro safer.
3514         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
3515         ac_cv_header_poll_h is not set.
3516
3517 2011-10-09  Bruno Haible  <bruno@clisp.org>
3518
3519         copysign: Provide replacement.
3520         * lib/math.in.h (copysign): New declaration.
3521         * lib/copysign.c: New file.
3522         * m4/copysign.m4: New file.
3523         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
3524         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
3525         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
3526         HAVE_COPYSIGN.
3527         * modules/copysign (Description): Clarify.
3528         (Files): Add lib/copysign.c, m4/copysign.m4.
3529         (Depends-on): Add math, signbit.
3530         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
3531         gl_MATH_MODULE_INDICATOR.
3532         * tests/test-math-c++.cc: Check the declaration of copysign.
3533         * doc/posix-functions/copysign.texi: Mention the effects of the module
3534         on Minix and MSVC.
3535
3536 2011-10-09  Bruno Haible  <bruno@clisp.org>
3537
3538         isinf: Ensure macro on AIX 5.1.
3539         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
3540         macro.
3541         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
3542
3543 2011-10-09  Bruno Haible  <bruno@clisp.org>
3544
3545         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
3546         * modules/snprintf-posix-tests (configure.ac): Require
3547         gl_LONG_DOUBLE_VS_DOUBLE.
3548         * modules/sprintf-posix-tests (configure.ac): Likewise.
3549         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
3550         * modules/vasprintf-posix-tests (configure.ac): Likewise.
3551         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
3552         * modules/vsprintf-posix-tests (configure.ac): Likewise.
3553         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
3554         tests on platforms where 'long double' is the same as 'double'.
3555         * tests/test-sprintf-posix.h (test_function): Likewise.
3556         * tests/test-vasnprintf-posix.c (test_function): Likewise.
3557         * tests/test-vasprintf-posix.c (test_function): Likewise.
3558
3559         *printf: Fix for platforms where 'long double' == 'double'.
3560         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
3561         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
3562         * modules/dprintf-posix (Files): Add m4/math_h.m4.
3563         * modules/fprintf-posix (Files): Likewise.
3564         * modules/obstack-printf-posix (Files): Likewise.
3565         * modules/snprintf-posix (Files): Likewise.
3566         * modules/sprintf-posix (Files): Likewise.
3567         * modules/vasnprintf (Files): Likewise.
3568         * modules/vasnprintf-posix (Files): Likewise.
3569         * modules/vasprintf-posix (Files): Likewise.
3570         * modules/vdprintf-posix (Files): Likewise.
3571         * modules/vfprintf-posix (Files): Likewise.
3572         * modules/vsnprintf-posix (Files): Likewise.
3573         * modules/vsprintf-posix (Files): Likewise.
3574         * modules/unistdio/u8-vasnprintf (Files): Likewise.
3575         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
3576         * modules/unistdio/u16-vasnprintf (Files): Likewise.
3577         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
3578         * modules/unistdio/u32-vasnprintf (Files): Likewise.
3579         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
3580         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
3581
3582         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
3583         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
3584         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3585         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
3586         'long double'.
3587         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
3588
3589         isinf: Fix for platforms where 'long double' == 'double'.
3590         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
3591         Don't blindly assume 80-bit 'long double'.
3592
3593         isfinite: Fix for platforms where 'long double' == 'double'.
3594         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
3595         Don't blindly assume 80-bit 'long double'.
3596
3597         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
3598         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
3599         * modules/isfinite-tests (configure.ac): Require
3600         gl_LONG_DOUBLE_VS_DOUBLE.
3601         * modules/isinf-tests (configure.ac): Likewise.
3602         * modules/isnan-tests (configure.ac): Likewise.
3603         * modules/isnanl-tests (configure.ac): Likewise.
3604         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
3605         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
3606         tests on platforms where 'long double' is the same as 'double'.
3607         * tests/test-isinf.c (test_isinfl): Likewise.
3608         * tests/test-isnan.c (test_long_double): Likewise.
3609         * tests/test-isnanl.h (main): Likewise.
3610
3611 2011-10-08  Bruno Haible  <bruno@clisp.org>
3612
3613         Tests for module 'tanhf'.
3614         * modules/tanhf-tests: New file.
3615         * tests/test-tanhf.c: New file.
3616
3617         New module 'tanhf'.
3618         * lib/math.in.h (tanhf): New declaration.
3619         * lib/tanhf.c: New file.
3620         * m4/tanhf.m4: New file.
3621         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
3622         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
3623         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
3624         * modules/tanhf: New file.
3625         * tests/test-math-c++.cc: Check the declaration of tanhf.
3626         * doc/posix-functions/tanhf.texi: Mention the new module.
3627
3628         tanh: Use a .m4 file.
3629         * m4/tanh.m4: New file.
3630         * modules/tanh (Files): Add it.
3631         (configure.ac): Just invoke gl_FUNC_TANH.
3632
3633 2011-10-08  Bruno Haible  <bruno@clisp.org>
3634
3635         Tests for module 'coshf'.
3636         * modules/coshf-tests: New file.
3637         * tests/test-coshf.c: New file.
3638
3639         New module 'coshf'.
3640         * lib/math.in.h (coshf): New declaration.
3641         * lib/coshf.c: New file.
3642         * m4/coshf.m4: New file.
3643         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
3644         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
3645         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
3646         * modules/coshf: New file.
3647         * tests/test-math-c++.cc: Check the declaration of coshf.
3648         * doc/posix-functions/coshf.texi: Mention the new module.
3649
3650         cosh: Use a .m4 file.
3651         * m4/cosh.m4: New file.
3652         * modules/cosh (Files): Add it.
3653         (configure.ac): Just invoke gl_FUNC_COSH.
3654
3655 2011-10-08  Bruno Haible  <bruno@clisp.org>
3656
3657         Tests for module 'sinhf'.
3658         * modules/sinhf-tests: New file.
3659         * tests/test-sinhf.c: New file.
3660
3661         New module 'sinhf'.
3662         * lib/math.in.h (sinhf): New declaration.
3663         * lib/sinhf.c: New file.
3664         * m4/sinhf.m4: New file.
3665         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
3666         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
3667         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
3668         * modules/sinhf: New file.
3669         * tests/test-math-c++.cc: Check the declaration of sinhf.
3670         * doc/posix-functions/sinhf.texi: Mention the new module.
3671
3672         sinh: Use a .m4 file.
3673         * m4/sinh.m4: New file.
3674         * modules/sinh (Files): Add it.
3675         (configure.ac): Just invoke gl_FUNC_SINH.
3676
3677 2011-10-08  Bruno Haible  <bruno@clisp.org>
3678
3679         Tests for module 'atan2f'.
3680         * modules/atan2f-tests: New file.
3681         * tests/test-atan2f.c: New file.
3682
3683         New module 'atan2f'.
3684         * lib/math.in.h (atan2f): New declaration.
3685         * lib/atan2f.c: New file.
3686         * m4/atan2f.m4: New file.
3687         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
3688         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
3689         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
3690         * modules/atan2f: New file.
3691         * tests/test-math-c++.cc: Check the declaration of atan2f.
3692         * doc/posix-functions/atan2f.texi: Mention the new module.
3693
3694         atan2: Use a .m4 file.
3695         * m4/atan2.m4: New file.
3696         * modules/atan2 (Files): Add it.
3697         (configure.ac): Just invoke gl_FUNC_ATAN2.
3698
3699 2011-10-08  Bruno Haible  <bruno@clisp.org>
3700
3701         Tests for module 'atanf'.
3702         * modules/atanf-tests: New file.
3703         * tests/test-atanf.c: New file.
3704
3705         New module 'atanf'.
3706         * lib/math.in.h (atanf): New declaration.
3707         * lib/atanf.c: New file.
3708         * m4/atanf.m4: New file.
3709         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
3710         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
3711         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
3712         * modules/atanf: New file.
3713         * tests/test-math-c++.cc: Check the declaration of atanf.
3714         * doc/posix-functions/atanf.texi: Mention the new module.
3715
3716         atan: Use a .m4 file.
3717         * m4/atan.m4: New file.
3718         * modules/atan (Files): Add it.
3719         (configure.ac): Just invoke gl_FUNC_ATAN.
3720
3721 2011-10-08  Bruno Haible  <bruno@clisp.org>
3722
3723         Tests for module 'acosf'.
3724         * modules/acosf-tests: New file.
3725         * tests/test-acosf.c: New file.
3726
3727         New module 'acosf'.
3728         * lib/math.in.h (acosf): New declaration.
3729         * lib/acosf.c: New file.
3730         * m4/acosf.m4: New file.
3731         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
3732         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
3733         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
3734         * modules/acosf: New file.
3735         * tests/test-math-c++.cc: Check the declaration of acosf.
3736         * doc/posix-functions/acosf.texi: Mention the new module.
3737
3738         acos: Use a .m4 file.
3739         * m4/acos.m4: New file.
3740         * modules/acos (Files): Add it.
3741         (configure.ac): Just invoke gl_FUNC_ACOS.
3742
3743 2011-10-08  Bruno Haible  <bruno@clisp.org>
3744
3745         Tests for module 'asinf'.
3746         * modules/asinf-tests: New file.
3747         * tests/test-asinf.c: New file.
3748
3749         New module 'asinf'.
3750         * lib/math.in.h (asinf): New declaration.
3751         * lib/asinf.c: New file.
3752         * m4/asinf.m4: New file.
3753         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
3754         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
3755         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
3756         * modules/asinf: New file.
3757         * tests/test-math-c++.cc: Check the declaration of asinf.
3758         * doc/posix-functions/asinf.texi: Mention the new module.
3759
3760         asin: Use a .m4 file.
3761         * m4/asin.m4: New file.
3762         * modules/asin (Files): Add it.
3763         (configure.ac): Just invoke gl_FUNC_ASIN.
3764
3765 2011-10-08  Bruno Haible  <bruno@clisp.org>
3766
3767         Tests for module 'tanf'.
3768         * modules/tanf-tests: New file.
3769         * tests/test-tanf.c: New file.
3770
3771         New module 'tanf'.
3772         * lib/math.in.h (tanf): New declaration.
3773         * lib/tanf.c: New file.
3774         * m4/tanf.m4: New file.
3775         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
3776         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
3777         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
3778         * modules/tanf: New file.
3779         * tests/test-math-c++.cc: Check the declaration of tanf.
3780         * doc/posix-functions/tanf.texi: Mention the new module.
3781
3782         tan: Use a .m4 file.
3783         * m4/tan.m4: New file.
3784         * modules/tan (Files): Add it.
3785         (configure.ac): Just invoke gl_FUNC_TAN.
3786
3787 2011-10-08  Bruno Haible  <bruno@clisp.org>
3788
3789         Tests for module 'cosf'.
3790         * modules/cosf-tests: New file.
3791         * tests/test-cosf.c: New file.
3792
3793         New module 'cosf'.
3794         * lib/math.in.h (cosf): New declaration.
3795         * lib/cosf.c: New file.
3796         * m4/cosf.m4: New file.
3797         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
3798         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
3799         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
3800         * modules/cosf: New file.
3801         * tests/test-math-c++.cc: Check the declaration of cosf.
3802         * doc/posix-functions/cosf.texi: Mention the new module.
3803
3804         cos: Use a .m4 file.
3805         * m4/cos.m4: New file.
3806         * modules/cos (Files): Add it.
3807         (configure.ac): Just invoke gl_FUNC_COS.
3808
3809 2011-10-08  Bruno Haible  <bruno@clisp.org>
3810
3811         Tests for module 'sinf'.
3812         * modules/sinf-tests: New file.
3813         * tests/test-sinf.c: New file.
3814
3815         New module 'sinf'.
3816         * lib/math.in.h (sinf): New declaration.
3817         * lib/sinf.c: New file.
3818         * m4/sinf.m4: New file.
3819         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
3820         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
3821         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
3822         * modules/sinf: New file.
3823         * tests/test-math-c++.cc: Check the declaration of sinf.
3824         * doc/posix-functions/sinf.texi: Mention the new module.
3825
3826         sin: Use a .m4 file.
3827         * m4/sin.m4: New file.
3828         * modules/sin (Files): Add it.
3829         (configure.ac): Just invoke gl_FUNC_SIN.
3830
3831 2011-10-08  Bruno Haible  <bruno@clisp.org>
3832
3833         Tests for module 'powf'.
3834         * modules/powf-tests: New file.
3835         * tests/test-powf.c: New file.
3836
3837         New module 'powf'.
3838         * lib/math.in.h (powf): New declaration.
3839         * lib/powf.c: New file.
3840         * m4/powf.m4: New file.
3841         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
3842         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
3843         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
3844         * modules/powf: New file.
3845         * tests/test-math-c++.cc: Check the declaration of powf.
3846         * doc/posix-functions/powf.texi: Mention the new module.
3847
3848         pow: Use a .m4 file.
3849         * m4/pow.m4: New file.
3850         * modules/pow (Files): Add it.
3851         (configure.ac): Just invoke gl_FUNC_POW.
3852
3853 2011-10-08  Bruno Haible  <bruno@clisp.org>
3854
3855         Tests for module 'log10f'.
3856         * modules/log10f-tests: New file.
3857         * tests/test-log10f.c: New file.
3858
3859         New module 'log10f'.
3860         * lib/math.in.h (log10f): New declaration.
3861         * lib/log10f.c: New file.
3862         * m4/log10f.m4: New file.
3863         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
3864         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
3865         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
3866         * modules/log10f: New file.
3867         * tests/test-math-c++.cc: Check the declaration of log10f.
3868         * doc/posix-functions/log10f.texi: Mention the new module.
3869
3870         log10: Use a .m4 file.
3871         * m4/log10.m4: New file.
3872         * modules/log10 (Files): Add it.
3873         (configure.ac): Just invoke gl_FUNC_LOG10.
3874
3875 2011-10-08  Bruno Haible  <bruno@clisp.org>
3876
3877         Tests for module 'logf'.
3878         * modules/logf-tests: New file.
3879         * tests/test-logf.c: New file.
3880
3881         New module 'logf'.
3882         * lib/math.in.h (logf): New declaration.
3883         * lib/logf.c: New file.
3884         * m4/logf.m4: New file.
3885         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
3886         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
3887         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
3888         * modules/logf: New file.
3889         * tests/test-math-c++.cc: Check the declaration of logf.
3890         * doc/posix-functions/logf.texi: Mention the new module.
3891
3892         log: Use a .m4 file.
3893         * m4/log.m4: New file.
3894         * modules/log (Files): Add it.
3895         (configure.ac): Just invoke gl_FUNC_LOG.
3896
3897 2011-10-08  Bruno Haible  <bruno@clisp.org>
3898
3899         Tests for module 'expf'.
3900         * modules/expf-tests: New file.
3901         * tests/test-expf.c: New file.
3902
3903         New module 'expf'.
3904         * lib/math.in.h (expf): New declaration.
3905         * lib/expf.c: New file.
3906         * m4/expf.m4: New file.
3907         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
3908         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
3909         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
3910         * modules/expf: New file.
3911         * tests/test-math-c++.cc: Check the declaration of expf.
3912         * doc/posix-functions/expf.texi: Mention the new module.
3913
3914         exp: Use a .m4 file.
3915         * m4/exp.m4: New file.
3916         * modules/exp (Files): Add it.
3917         (configure.ac): Just invoke gl_FUNC_EXP.
3918
3919 2011-10-08  Bruno Haible  <bruno@clisp.org>
3920
3921         Tests for module 'sqrtf'.
3922         * modules/sqrtf-tests: New file.
3923         * tests/test-sqrtf.c: New file.
3924
3925         New module 'sqrtf'.
3926         * lib/math.in.h (sqrtf): New declaration.
3927         * lib/sqrtf.c: New file.
3928         * m4/sqrtf.m4: New file.
3929         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
3930         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
3931         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
3932         * modules/sqrtf: New file.
3933         * tests/test-math-c++.cc: Check the declaration of sqrtf.
3934         * doc/posix-functions/sqrtf.texi: Mention the new module.
3935
3936 2011-10-08  Bruno Haible  <bruno@clisp.org>
3937
3938         Tests: Avoid link failures w.r.t. libintl.
3939         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
3940         $(LIBINTL).
3941         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
3942         $(LIBINTL).
3943         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
3944         against $(LIBINTL).
3945         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
3946         $(LIBINTL).
3947         * modules/openat-tests (Makefile.am): Link test-fchmodat against
3948         $(LIBINTL).
3949         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
3950
3951 2011-10-08  Bruno Haible  <bruno@clisp.org>
3952
3953         pow tests: Defeat compiler optimizations.
3954         * tests/test-pow.c (main): Assign arguments to x and y before use.
3955
3956 2011-10-08  Bruno Haible  <bruno@clisp.org>
3957
3958         gnulib-tool: Improve last commit.
3959         * gnulib-tool (func_modules_transitive_closure): Simplify code.
3960         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
3961         ignore dependencies that are not among the modules list.
3962
3963 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
3964
3965         gnulib-tool: don't follow dependencies to avoided modules
3966         This fixes a bug that is related to the previous one.
3967         * gnulib-tool (func_modules_transitive_closure)
3968         (func_emit_autoconf_snippets):
3969         Check whether a dependency is acceptable before using it.
3970         (--extract-dependencies): Report an error if --avoid is also used,
3971         since this combination of options is not yet supported.
3972
3973         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
3974         Problem reported by Peter Dyballa in
3975         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
3976         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
3977         when echoing "$condition".
3978
3979 2011-10-07  Bruno Haible  <bruno@clisp.org>
3980
3981         Fix documentation about math functions on MacOS X.
3982         * doc/posix-functions/exp2.texi: Don't say the function is missing on
3983         MacOS X 10.5.
3984         * doc/posix-functions/fdim.texi: Likewise.
3985         * doc/posix-functions/feclearexcept.texi: Likewise.
3986         * doc/posix-functions/fegetenv.texi: Likewise.
3987         * doc/posix-functions/fegetround.texi: Likewise.
3988         * doc/posix-functions/feholdexcept.texi: Likewise.
3989         * doc/posix-functions/feraiseexcept.texi: Likewise.
3990         * doc/posix-functions/fesetenv.texi: Likewise.
3991         * doc/posix-functions/fesetround.texi: Likewise.
3992         * doc/posix-functions/fetestexcept.texi: Likewise.
3993         * doc/posix-functions/feupdateenv.texi: Likewise.
3994         * doc/posix-functions/fmax.texi: Likewise.
3995         * doc/posix-functions/fmin.texi: Likewise.
3996         * doc/posix-functions/log2.texi: Likewise.
3997         * doc/posix-functions/modff.texi: Likewise.
3998         * doc/posix-functions/nan.texi: Likewise.
3999         * doc/posix-functions/nanf.texi: Likewise.
4000         * doc/posix-functions/nextafterf.texi: Likewise.
4001         * doc/posix-functions/remquo.texi: Likewise.
4002
4003 2011-10-07  Bruno Haible  <bruno@clisp.org>
4004
4005         modff: Drop assumption about library that defines modff.
4006         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
4007         AC_CHECK_FUNCS.
4008         * modules/modff (Files): Add m4/mathfunc.m4.
4009
4010 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
4011
4012         raise tests: Avoid a GCC warning.
4013         * tests/test-raise.c (handler): Use _Noreturn.
4014
4015 2011-10-07  Bruno Haible  <bruno@clisp.org>
4016
4017         Tests for module 'ldexpf'.
4018         * modules/ldexpf-tests: New file.
4019         * tests/test-ldexpf.c: New file.
4020
4021         New module 'ldexpf'.
4022         * lib/math.in.h (ldexpf): New declaration.
4023         * lib/ldexpf.c: New file.
4024         * m4/ldexpf.m4: New file.
4025         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
4026         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
4027         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
4028         * modules/ldexpf: New file.
4029         * tests/test-math-c++.cc: Check the declaration of ldexpf.
4030         * doc/posix-functions/ldexpf.texi: Mention the new module.
4031
4032 2011-10-06  Bruno Haible  <bruno@clisp.org>
4033
4034         frexpf: Work around problems on IRIX and mingw.
4035         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
4036         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
4037         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
4038         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
4039         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
4040         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
4041         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
4042
4043 2011-10-06  Bruno Haible  <bruno@clisp.org>
4044
4045         fabsf: Drop assumption about library that defines fabsf.
4046         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
4047         AC_CHECK_FUNCS.
4048         * modules/fabsf (Files): Add m4/mathfunc.m4.
4049
4050 2011-10-06  Bruno Haible  <bruno@clisp.org>
4051
4052         frexpf: Drop assumption about library that defines frexpf.
4053         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
4054         'int *', 'float *', 'long double *', 'float', 'long double'.
4055         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
4056         AC_CHECK_FUNCS.
4057         * modules/frexpf (Files): Add m4/mathfunc.m4.
4058
4059         Tests for module 'frexpf'.
4060         * modules/frexpf-tests: New file.
4061         * tests/test-frexpf.c: New file.
4062
4063         New module 'frexpf'.
4064         * lib/math.in.h (frexpf): New declaration.
4065         * lib/frexpf.c: New file.
4066         * m4/frexpf.m4: New file.
4067         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
4068         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
4069         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
4070         * modules/frexpf: New file.
4071         * tests/test-math-c++.cc: Check the declaration of frexpf.
4072         * doc/posix-functions/frexpf.texi: Mention the new module.
4073
4074 2011-10-06  Bruno Haible  <bruno@clisp.org>
4075
4076         math: Sort function declarations of math.in.h.
4077         * lib/math.in.h (frexp, logb): Move declarations.
4078
4079 2011-10-05  Bruno Haible  <bruno@clisp.org>
4080
4081         Tests for module 'modff'.
4082         * modules/modff-tests: New file.
4083         * tests/test-modff.c: New file.
4084
4085         New module 'modff'.
4086         * lib/math.in.h (modff): New declaration.
4087         * lib/modff.c: New file.
4088         * m4/modff.m4: New file.
4089         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
4090         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
4091         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
4092         * modules/modff: New file.
4093         * tests/test-math-c++.cc: Check the declaration of modff.
4094         * doc/posix-functions/modff.texi: Mention the new module.
4095
4096         modf tests: Make test sharper.
4097         * tests/test-modf.c (main): Strengthen upper bound.
4098
4099         modf: Use a .m4 file.
4100         * m4/modf.m4: New file.
4101         * modules/modf (Files): Add it.
4102         (configure.ac): Just invoke gl_FUNC_MODF.
4103
4104 2011-10-05  Bruno Haible  <bruno@clisp.org>
4105
4106         Tests for module 'fmodf'.
4107         * modules/fmodf-tests: New file.
4108         * tests/test-fmodf.c: New file.
4109
4110         New module 'fmodf'.
4111         * lib/math.in.h (fmodf): New declaration.
4112         * lib/fmodf.c: New file.
4113         * m4/fmodf.m4: New file.
4114         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
4115         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
4116         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
4117         * modules/fmodf: New file.
4118         * tests/test-math-c++.cc: Check the declaration of fmodf.
4119         * doc/posix-functions/fmodf.texi: Mention the new module.
4120
4121         fmod: Use a .m4 file.
4122         * m4/fmod.m4: New file.
4123         * modules/fmod (Files): Add it.
4124         (configure.ac): Just invoke gl_FUNC_FMOD.
4125
4126 2011-10-05  Bruno Haible  <bruno@clisp.org>
4127
4128         Tests for module 'fabsf'.
4129         * modules/fabsf-tests: New file.
4130         * tests/test-fabsf.c: New file.
4131
4132         New module 'fabsf'.
4133         * lib/math.in.h (fabsf): New declaration.
4134         * lib/fabsf.c: New file.
4135         * m4/fabsf.m4: New file.
4136         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
4137         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
4138         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
4139         * modules/fabsf: New file.
4140         * tests/test-math-c++.cc: Check the declaration of fabsf.
4141         * doc/posix-functions/fabsf.texi: Mention the new module.
4142
4143         fabs: Use a .m4 file.
4144         * m4/fabs.m4: New file.
4145         * modules/fabs (Files): Add it.
4146         (configure.ac): Just invoke gl_FUNC_FABS.
4147
4148 2011-10-05  Jim Meyering  <meyering@redhat.com>
4149
4150         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
4151         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
4152         ls -lL regression introduced in coreutils-8.12, it does so at the
4153         cost of an additional stat call in the common case.  Besides, now
4154         that the kernel change that prompted commit 95f7c57f has been reverted
4155         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
4156         we have no use for commit 95f7c57f, "file-has-acl: use
4157         acl_extended_file_nofollow if available".
4158
4159 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
4160
4161         file-has-acl: revert unintended change in behavior of ls -L
4162         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
4163         derived from...
4164         (file_has_acl): ...code here.  Call it.
4165         This problem was introduced with 2011-07-22 commit 95f7c57f,
4166         "file-has-acl: use acl_extended_file_nofollow if available".
4167         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
4168
4169 2011-10-03  Bruno Haible  <bruno@clisp.org>
4170
4171         poll: Avoid link errors on MSVC.
4172         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
4173         * modules/poll (Depends-on): Add sockets.
4174         (Link): New section.
4175         * NEWS: Mention the change.
4176         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
4177         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
4178         $(LIB_POLL) instead of $(LIBSOCKET).
4179
4180 2011-10-03  Bruno Haible  <bruno@clisp.org>
4181
4182         sys_select tests: Fix link error on MSVC 9.
4183         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
4184         with $(LIB_SELECT) instead of $(LIBSOCKET).
4185
4186 2011-10-03  Bruno Haible  <bruno@clisp.org>
4187
4188         sys_select: Fix compilation error on mingw.
4189         * lib/sys_select.in.h: On native Windows, include <io.h>.
4190
4191 2011-10-03  Bruno Haible  <bruno@clisp.org>
4192
4193         wmemset: Support for MSVC.
4194         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
4195         whether wmemset() exists.
4196
4197 2011-10-03  Bruno Haible  <bruno@clisp.org>
4198
4199         wmemmove: Support for MSVC.
4200         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
4201         whether wmemmove() exists.
4202
4203 2011-10-03  Bruno Haible  <bruno@clisp.org>
4204
4205         wmemcpy: Support for MSVC.
4206         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
4207         whether wmemcpy() exists.
4208
4209 2011-10-03  Bruno Haible  <bruno@clisp.org>
4210
4211         wmemcmp: Support for MSVC.
4212         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
4213         whether wmemcmp() exists.
4214
4215 2011-10-03  Bruno Haible  <bruno@clisp.org>
4216
4217         wmemchr: Support for MSVC.
4218         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
4219         whether wmemchr() exists.
4220
4221 2011-10-03  Bruno Haible  <bruno@clisp.org>
4222
4223         glthread/*, strsignal: Support for MSVC.
4224         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
4225         including <winsock.h> on MSVC 9.
4226         * lib/glthread/lock.h: Likewise.
4227         * lib/glthread/thread.h: Likewise.
4228         * lib/glthread/tls.h: Likewise.
4229         * lib/glthread/yield.h: Likewise.
4230         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
4231         if HAVE_UNISTD_H is false.
4232         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
4233
4234 2011-10-03  Bruno Haible  <bruno@clisp.org>
4235
4236         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
4237         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
4238         Set to 100000.
4239
4240 2011-10-03  Bruno Haible  <bruno@clisp.org>
4241
4242         acl: Fix specification.
4243         * lib/file-has-acl.c (file_has_acl): Fix specification.
4244
4245 2011-10-03  Bruno Haible  <bruno@clisp.org>
4246
4247         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
4248         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
4249         (compute_curr_prefix, shared_library_fullname,
4250         find_shared_library_fullname, get_shared_library_fullname, relocate):
4251         Use it together with PIC && INSTALLDIR.
4252         Reported by <jojelino@gmail.com>
4253         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
4254
4255 2011-10-01  Jim Meyering  <meyering@redhat.com>
4256
4257         maint.mk: adjust a release-related rule not to require use of gzip
4258         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
4259         Instead, check each file in $(DIST_ARCHIVES).  This is better for
4260         projects that build only .tar.xz files.  Also fix an erroneous test.
4261
4262         test-linkat: don't leave behind a temporary file
4263         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
4264         Otherwise, coreutils' "make distcheck" would fail with this:
4265           Only in /c/cu/tests/torture/coreutils/test/\
4266             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
4267           make[2]: *** [my-distcheck] Error 1
4268
4269         float, math: add omitted file
4270         * lib/itold.c: Add file, required for yesterday's float change.
4271
4272 2011-10-01  Bruno Haible  <bruno@clisp.org>
4273
4274         isinf: Fix for OpenBSD/x86.
4275         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
4276         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
4277         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
4278
4279 2011-10-01  Bruno Haible  <bruno@clisp.org>
4280
4281         isfinite: Fix syntax error in configure test.
4282         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
4283
4284         isfinite: Fix typo.
4285         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
4286         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
4287
4288 2011-10-01  Bruno Haible  <bruno@clisp.org>
4289
4290         nonblocking tests: Fix test failure on Linux/IA-64.
4291         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
4292         Set to 270000.
4293
4294 2011-10-01  Bruno Haible  <bruno@clisp.org>
4295
4296         mkfifoat tests: Fix a test failure on mingw.
4297         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
4298         with error ENOSYS.
4299
4300 2011-09-30  Bruno Haible  <bruno@clisp.org>
4301
4302         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
4303         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
4304         'long double'. Set REPLACE_ITOLD.
4305         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
4306         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
4307         * lib/itold.c: New file.
4308         * modules/float (Files): Add lib/itold.c.
4309         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
4310         (Makefile.am): Substitute REPLACE_ITOLD.
4311         * modules/math (Depends-on): Add float.
4312         (Makefile.am): Substitute REPLACE_ITOLD.
4313         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
4314         * doc/posix-headers/math.texi: Likewise.
4315         * doc/posix-functions/logl.texi: Likewise.
4316
4317 2011-09-30  Bruno Haible  <bruno@clisp.org>
4318
4319         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
4320         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
4321         Set to 140000.
4322
4323 2011-09-30  Bruno Haible  <bruno@clisp.org>
4324
4325         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
4326         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
4327         invocation, say "right after AC_PROG_CC_STDC", not "right after
4328         AC_PROG_CC".
4329         Reported by Gary V. Vaughan <gary@gnu.org>.
4330
4331 2011-09-30  Bruno Haible  <bruno@clisp.org>
4332
4333         Centralize C99 requirement.
4334         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
4335         * modules/stdarg (configure.ac-early): Invoke it instead of
4336         AC_PROG_CC_STDC.
4337         Reported by Gary V. Vaughan and Paul Eggert.
4338
4339 2011-09-29  Bruno Haible  <bruno@clisp.org>
4340
4341         float: Fix LDBL_MAX value on Linux/PowerPC.
4342         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
4343         on Linux/PowerPC.
4344         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
4345         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
4346         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
4347         platform.
4348         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
4349
4350 2011-09-29  Bruno Haible  <bruno@clisp.org>
4351
4352         doc: Improve doc about gl_EARLY.
4353         * doc/gnulib-tool.texi (Initial import): Mention where to place an
4354         AC_PROG_CC_STDC invocation.
4355         Reported by Gary V. Vaughan <gary@gnu.org>.
4356
4357 2011-09-28  Bruno Haible  <bruno@clisp.org>
4358
4359         fgetc, fputc, fread, fwrite tests: Fix link error.
4360         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
4361         on non-MSVC platforms.
4362         * tests/test-fputc.c (main): Likewise.
4363         * tests/test-fread.c (main): Likewise.
4364         * tests/test-fwrite.c (main): Likewise.
4365         Reported by Jim Meyering.
4366
4367 2011-09-27  Bruno Haible  <bruno@clisp.org>
4368
4369         fputc, fwrite tests: Avoid test failure on MSVC.
4370         * tests/test-fgetc.c: Include msvc-inval.h.
4371         (main): Invoke gl_msvc_inval_ensure_handler.
4372         * tests/test-fputc.c: Include msvc-inval.h.
4373         (main): Invoke gl_msvc_inval_ensure_handler.
4374         * tests/test-fread.c: Include msvc-inval.h.
4375         (main): Invoke gl_msvc_inval_ensure_handler.
4376         * tests/test-fwrite.c: Include msvc-inval.h.
4377         (main): Invoke gl_msvc_inval_ensure_handler.
4378         * modules/fgetc-tests (Depends-on): Add msvc-inval.
4379         * modules/fputc-tests (Depends-on): Likewise.
4380         * modules/fread-tests (Depends-on): Likewise.
4381         * modules/fwrite-tests (Depends-on): Likewise.
4382
4383 2011-09-27  Bruno Haible  <bruno@clisp.org>
4384
4385         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
4386         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
4387         (raise): Remove older, duplicated declaration.
4388         (_gl_raise_SIGPIPE): New declaration.
4389         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
4390         (rpl_raise): Remove function.
4391         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
4392         a gnulib-defined SIGPIPE here.
4393         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
4394         'sigprocmask' has detected missing signal-blocking and the module
4395         'sigpipe' is enabled.
4396         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
4397
4398 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
4399
4400         base64-tests: avoid memory leak
4401         * tests/test-base64.c (main): Plug memory leak.
4402
4403         base32: new module
4404         * modules/base32: New module.
4405         * lib/base32.c: New file.
4406         * lib/base32.h: Likewise.
4407         * m4/base32.m4: Likewise.
4408         * modules/base32-tests: New test.
4409         * tests/test-base32.c: Likewise.
4410         * MODULES.html.sh (Misc): Mention it.
4411
4412 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4413
4414         gnulib: use more-standard license notice wording
4415         * gnulib-tool (func_emit_copyright_notice): When emitting a
4416         license notice into a file, use the standard wording as suggested
4417         by the current information for GNU maintainers, except say "file"
4418         rather than "program".  The new wording gives a license version
4419         number, which addresses an issue raised by Glenn Morris in
4420         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
4421         * m4/onceonly.m4: Use that same wording here, too.
4422
4423         dup2: minor simplification
4424         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
4425         as lib/dup2.c no longer uses 'inline'.
4426
4427 2011-09-25  Bruno Haible  <bruno@clisp.org>
4428
4429         strings: Fix compilation error on MSVC.
4430         * lib/strings.in.h: Include <stddef.h> for size_t.
4431
4432 2011-09-25  Bruno Haible  <bruno@clisp.org>
4433
4434         fflush et al.: Document limitation on MSVC.
4435         * doc/posix-functions/fflush.texi: Document possible crash in handling
4436         mode other than DEFAULT_HANDLING.
4437         * doc/posix-functions/fgetc.texi: Likewise.
4438         * doc/posix-functions/fputc.texi: Likewise.
4439         * doc/posix-functions/fread.texi: Likewise.
4440         * doc/posix-functions/fwrite.texi: Likewise.
4441
4442 2011-09-25  Bruno Haible  <bruno@clisp.org>
4443
4444         msvc-inval: Allow three invalid parameter handling modes.
4445         * lib/msvc-inval.h: Don't include <stdlib.h> here.
4446         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
4447         macros.
4448         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
4449         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
4450         SANE_LIBRARY_HANDLING as a no-op.
4451         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
4452         <stdlib.h>.
4453         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
4454
4455 2011-09-25  Bruno Haible  <bruno@clisp.org>
4456
4457         msvc-inval: Make handler multithread-safe.
4458         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
4459         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
4460         declarations.
4461         (gl_msvc_inval_current): New declaration.
4462         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
4463         Operate on the structure returned by gl_msvc_inval_current().
4464         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
4465         Remove varaiables.
4466         (tls_index, tls_initialized): New variables.
4467         (not_per_thread): New variable.
4468         (gl_msvc_inval_current): New function.
4469         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
4470         returned by gl_msvc_inval_current().
4471
4472 2011-09-25  Bruno Haible  <bruno@clisp.org>
4473
4474         msvc-inval: Install handler globally.
4475         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
4476         !_MSC_VER.
4477         (gl_msvc_invalid_parameter_handler): Remove declaration.
4478         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
4479         declarations.
4480         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
4481         Install the handler globally, don't uninstall it.
4482         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
4483         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
4484         currently valid, call RaiseException instead.
4485         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
4486         for !_MSC_VER.
4487
4488 2011-09-25  Bruno Haible  <bruno@clisp.org>
4489
4490         strerror_r-posix: Fix for MSVC 9.
4491         * lib/strerror_r.c (local_snprintf): New function.
4492         (snprintf): Define to local_snprintf, not to _snprintf.
4493
4494 2011-09-25  Bruno Haible  <bruno@clisp.org>
4495
4496         ftruncate: Support for MSVC 9.
4497         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
4498         (chsize_nothrow): New function.
4499         (chsize): Redefine as a macro.
4500         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
4501         * modules/ftruncate (Depends-on): Add msvc-inval.
4502
4503 2011-09-25  Bruno Haible  <bruno@clisp.org>
4504
4505         New module 'fstat'.
4506         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
4507         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
4508         * lib/fchdir.c (rpl_fstat): Remove function.
4509         * m4/fstat.m4: New file.
4510         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
4511         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
4512         declared.
4513         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
4514         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
4515         * modules/fstat: New file.
4516         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
4517         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
4518         is set.
4519         * doc/posix-functions/fstat.texi: Mention the new module and the
4520         problem on MSVC.
4521         * NEWS: Mention the change.
4522         * modules/acl (Depends-on): Add fstat.
4523         * modules/chdir-safer (Depends-on): Likewise.
4524         * modules/chown (Depends-on): Likewise.
4525         * modules/copy-file (Depends-on): Likewise.
4526         * modules/fchdir (Depends-on): Likewise.
4527         * modules/fdopendir (Depends-on): Likewise.
4528         * modules/fopen (Depends-on): Likewise.
4529         * modules/fts (Depends-on): Likewise.
4530         * modules/getcwd (Depends-on): Likewise.
4531         * modules/isapipe (Depends-on): Likewise.
4532         * modules/linkat (Depends-on): Likewise.
4533         * modules/lseek (Depends-on): Likewise.
4534         * modules/mkdir-p (Depends-on): Likewise.
4535         * modules/open (Depends-on): Likewise.
4536         * modules/openat (Depends-on): Likewise.
4537         * modules/read-file (Depends-on): Likewise.
4538         * modules/renameat (Depends-on): Likewise.
4539         * modules/utimens (Depends-on): Likewise.
4540
4541 2011-09-25  Bruno Haible  <bruno@clisp.org>
4542
4543         linkat: Fix compilation on MSVC 9.
4544         * lib/linkat.c: Don't include <stdint.h>.
4545
4546 2011-09-25  Bruno Haible  <bruno@clisp.org>
4547
4548         fclose: Support for MSVC 9.
4549         * lib/fclose.c: Include msvc-inval.h.
4550         (fclose_nothrow): New function.
4551         (rpl_fclose): Use it.
4552         * modules/fclose (Depends-on): Add msvc-inval.
4553         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
4554
4555 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
4556
4557         dup2: minor simplifications
4558         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
4559         that it's a performance win.
4560         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
4561         ! defined __CYGWIN__)" to "ifdef F_GETFL".
4562
4563 2011-09-24  Jim Meyering  <meyering@redhat.com>
4564
4565         test-futimens: avoid a warning from gcc -Wshadow
4566         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
4567         to avoid a shadowing warning.
4568
4569 2011-09-24  Bruno Haible  <bruno@clisp.org>
4570
4571         fdopen: Support for MSVC 9.
4572         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
4573         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
4574         * lib/fdopen.c: Include msvc-inval.h.
4575         (fdopen_nothrow): New function.
4576         (rpl_fdopen): Use it.
4577         * modules/fdopen (Depends-on): Add msvc-inval.
4578         * modules/fclose-tests (Depends-on): Add fdopen.
4579         * modules/fflush-tests (Depends-on): Likewise.
4580         * modules/fgetc-tests (Depends-on): Likewise.
4581         * modules/fputc-tests (Depends-on): Likewise.
4582         * modules/fread-tests (Depends-on): Likewise.
4583         * modules/freopen-tests (Depends-on): Likewise.
4584         * modules/fseeko-tests (Depends-on): Likewise.
4585         * modules/ftello-tests (Depends-on): Likewise.
4586         * modules/fwrite-tests  (Depends-on): Likewise.
4587         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
4588
4589 2011-09-24  Bruno Haible  <bruno@clisp.org>
4590
4591         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
4592         * modules/fgetc-tests (Depends-on): Add unistd.
4593         * modules/fputc-tests (Depends-on): Likewise.
4594         * modules/fread-tests (Depends-on): Likewise.
4595         * modules/fwrite-tests (Depends-on): Likewise.
4596
4597 2011-09-24  Bruno Haible  <bruno@clisp.org>
4598
4599         dup: Simplify autoconf test.
4600         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
4601         on gl_MSVC_INVAL's result.
4602
4603 2011-09-24  Bruno Haible  <bruno@clisp.org>
4604
4605         Tests for function fwrite().
4606         * modules/fwrite-tests: New file.
4607         * tests/test-fwrite.c: New file.
4608         * modules/stdio-tests (Depends-on): Add fwrite-tests.
4609
4610         Tests for function fread().
4611         * modules/fread-tests: New file.
4612         * tests/test-fread.c: New file.
4613         * modules/stdio-tests (Depends-on): Add fread-tests.
4614
4615         Activate fputc tests.
4616         * modules/stdio-tests (Depends-on): Add fputc-tests.
4617
4618         Enhance fgetc, fputc tests.
4619         * tests/test-fgetc.c (main): Also test the stream's error indicator.
4620         * tests/test-fputc.c (main): Likewise.
4621
4622 2011-09-24  Bruno Haible  <bruno@clisp.org>
4623
4624         write: Support for MSVC 9.
4625         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
4626         is not 1.
4627         * lib/write.c (write_nothrow): New function.
4628         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
4629         not 1. Use write_nothrow.
4630         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
4631         invalid parameter handler.
4632         (gl_PREREQ_WRITE): New macro.
4633         * modules/write (Depends-on): Add msvc-inval.
4634         (configure.ac): Invoke gl_PREREQ_WRITE.
4635         * doc/posix-functions/write.texi: Mention the problem on MSVC.
4636
4637 2011-09-24  Bruno Haible  <bruno@clisp.org>
4638
4639         read: Fix last commit.
4640         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
4641
4642 2011-09-24  Bruno Haible  <bruno@clisp.org>
4643
4644         dup2: Fix last commit.
4645         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
4646         (rpl_dup2): Disable fcntl workaround on native Windows.
4647
4648         sigprocmask: Make code safer.
4649         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
4650         section that changes macro definitions for this compilation unit.
4651
4652 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
4653
4654         dup2: clarify by coalescing Windows-specific material
4655         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
4656         "msvc-nothrow.h"' to the Windows-specific section, so that the
4657         Emacs source need not contain these include files.
4658         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
4659         Windows-specific fixes into this function rather than just the
4660         nothrow fix, as this shortens and clarifies the code.  Always
4661         define as a function, as that's a bit cleaner than having it be
4662         sometimes a function and sometimes a macro.
4663         (rpl_dup2): Move the Windows-specific stuff out of here and into
4664         ms_windows_dup2.  Don't protect the Haiku-related fix with
4665         "#if !defined __linux__", as the same code also works around
4666         a Linux kernel bug, and it doesn't add any system calls on any
4667         platform.  Add comment about FreeBSD 6.1.
4668
4669         sigprocmask: move #include directive
4670         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
4671         Windows-specific section, so that the Emacs source need not
4672         contain msvc-inval.h.
4673
4674 2011-09-23  Bruno Haible  <bruno@clisp.org>
4675
4676         read: Support for MSVC 9.
4677         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
4678         is not 1.
4679         * lib/read.c (read_nothrow): New function.
4680         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
4681         read_nothrow.
4682         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
4683         invalid parameter handler.
4684         (gl_PREREQ_READ): New macro.
4685         * modules/read (Depends-on): Add msvc-inval.
4686         (configure.ac): Invoke gl_PREREQ_READ.
4687         * doc/posix-functions/read.texi: Mention the problem on MSVC.
4688
4689 2011-09-23  Bruno Haible  <bruno@clisp.org>
4690
4691         close: Support for MSVC 9.
4692         * lib/close.c: Include <errno.h>, msvc-inval.h.
4693         (close_nothrow): New function.
4694         (rpl_close): Use it.
4695         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
4696         invalid parameter handler.
4697         * modules/close (Depends-on): Add msvc-inval.
4698         * modules/dup2-tests (Depends-on): Add close.
4699         * modules/dup3-tests (Depends-on): Likewise.
4700         * modules/fcntl-tests (Depends-on): Likewise.
4701         * modules/spawn-pipe-tests (Depends-on): Likewise.
4702         * modules/unistd-safer-tests (Depends-on): Likewise.
4703         * doc/posix-functions/close.texi: Mention the problem on MSVC.
4704
4705 2011-09-23  Bruno Haible  <bruno@clisp.org>
4706
4707         New module 'dup'.
4708         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
4709         Allow replacement.
4710         * lib/dup.c: New file.
4711         * lib/fchdir.c (rpl_dup): Remove function.
4712         * m4/dup.m4: New file.
4713         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
4714         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
4715         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
4716         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
4717         * modules/dup: New file.
4718         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
4719         'dup' module is in use.
4720         * modules/fdopendir (Depends-on): Add dup.
4721         * modules/fdutimensat-tests (Depends-on): Likewise.
4722         * modules/fts (Depends-on): Likewise.
4723         * modules/futimens-tests (Depends-on): Likewise.
4724         * modules/posix_spawnp-tests (Depends-on): Likewise.
4725         * modules/unistd-safer-tests (Depends-on): Likewise.
4726         * modules/utimens-tests (Depends-on): Likewise.
4727         * doc/posix-functions/dup.texi: Mention the new module and the problem
4728         on MSVC.
4729
4730 2011-09-23  Bruno Haible  <bruno@clisp.org>
4731
4732         getdtablesize: Support for MSVC 9.
4733         * lib/getdtablesize.c: Include msvc-inval.h.
4734         (_setmaxstdio_nothrow): New function.
4735         (_setmaxstdio): Redefine it.
4736         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
4737         * modules/getdtablesize (Depends-on): Add msvc-inval.
4738         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
4739
4740 2011-09-23  Bruno Haible  <bruno@clisp.org>
4741
4742         signal-h: Rename from signal.
4743         * modules/signal-h: Renamed from modules/signal.
4744         * modules/pthread_sigmask (Depends-on): Update.
4745         * modules/raise (Depends-on): Likewise.
4746         * modules/sigaction (Depends-on): Likewise.
4747         * modules/sigpipe (Depends-on): Likewise.
4748         * modules/sigprocmask (Depends-on): Likewise.
4749         * modules/sys_select (Depends-on): Likewise.
4750         * modules/signal-h-tests: Renamed from modules/signal-tests.
4751         (Files, Depends-on, Makefile.am): Update.
4752         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
4753         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
4754         (Files, Makefile.am): Update.
4755         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
4756         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
4757         * modules/signal: New placeholder file.
4758         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
4759         * doc/posix-headers/signal.texi: Update.
4760         * NEWS: Mention the change.
4761
4762 2011-09-23  Bruno Haible  <bruno@clisp.org>
4763
4764         sigprocmask: Avoid crashes through signal() on MSVC 9.
4765         * lib/sigprocmask.c: Include msvc-inval.h.
4766         (signal_nothrow): New function.
4767         (signal): Redefine it.
4768         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
4769         * modules/sigprocmask (Depends-on): Add msvc-inval.
4770         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
4771
4772 2011-09-23  Bruno Haible  <bruno@clisp.org>
4773
4774         Tests for module 'raise'.
4775         * modules/raise-tests: New file.
4776         * tests/test-raise.c: New file.
4777
4778         raise: Support for MSVC.
4779         * lib/signal.in.h (raise): New declaration.
4780         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
4781         for native Windows platforms.
4782         * m4/raise.m4: New file.
4783         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
4784         HAVE_RAISE, REPLACE_RAISE.
4785         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
4786         REPLACE_RAISE.
4787         * modules/raise (Status, Notice): Remove fields.
4788         (Files): Add m4/raise.m4.
4789         (Depends-on): Add signal, msvc-inval.
4790         (configure.ac): Use the common idioms.
4791         (Maintainer): Add me.
4792         * tests/test-signal-c++.cc: Check the signature of raise.
4793         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
4794
4795 2011-09-23  Bruno Haible  <bruno@clisp.org>
4796
4797         pipe2: Fix compilation on pre-C99 compilers.
4798         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
4799
4800 2011-09-23  Bruno Haible  <bruno@clisp.org>
4801
4802         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
4803         * lib/msvc-nothrow.h: New file.
4804         * lib/msvc-nothrow.c: New file.
4805         * m4/msvc-nothrow.m4: New file.
4806         * modules/msvc-nothrow: New file.
4807         * lib/dup2.c: Include msvc-nothrow.h.
4808         (rpl_dup2): No need to protect _get_osfhandle call here.
4809         * lib/accept4.c: Include msvc-nothrow.h.
4810         * lib/error.c: Likewise.
4811         * lib/fcntl.c: Likewise.
4812         * lib/lseek.c: Likewise.
4813         * lib/nonblocking.c: Likewise.
4814         * lib/poll.c: Likewise.
4815         * lib/read.c: Likewise.
4816         * lib/select.c: Likewise.
4817         * lib/sockets.h: Likewise.
4818         * lib/sockets.c: Likewise.
4819         * lib/stdio-read.c: Likewise.
4820         * lib/stdio-write.c: Likewise.
4821         * lib/write.c: Likewise.
4822         * lib/w32sock.h: Likewise.
4823         * lib/w32spawn.h: Likewise.
4824         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
4825         * lib/fsync.c: Likewise.
4826         * lib/isapipe.c: Likewise.
4827         * modules/dup2 (Depends-on): Add msvc-nothrow.
4828         * modules/accept4 (Depends-on): Likewise.
4829         * modules/error (Depends-on): Likewise.
4830         * modules/fcntl (Depends-on): Likewise.
4831         * modules/lseek (Depends-on): Likewise.
4832         * modules/nonblocking (Depends-on): Likewise.
4833         * modules/poll (Depends-on): Likewise.
4834         * modules/read (Depends-on): Likewise.
4835         * modules/select (Depends-on): Likewise.
4836         * modules/sockets (Depends-on): Likewise.
4837         * modules/sigpipe (Depends-on): Likewise.
4838         * modules/write (Depends-on): Likewise.
4839         * modules/accept (Depends-on): Likewise.
4840         * modules/bind (Depends-on): Likewise.
4841         * modules/connect (Depends-on): Likewise.
4842         * modules/gethostname (Depends-on): Likewise.
4843         * modules/getpeername (Depends-on): Likewise.
4844         * modules/getsockname (Depends-on): Likewise.
4845         * modules/getsockopt (Depends-on): Likewise.
4846         * modules/ioctl (Depends-on): Likewise.
4847         * modules/listen (Depends-on): Likewise.
4848         * modules/recv (Depends-on): Likewise.
4849         * modules/recvfrom (Depends-on): Likewise.
4850         * modules/send (Depends-on): Likewise.
4851         * modules/sendto (Depends-on): Likewise.
4852         * modules/setsockopt (Depends-on): Likewise.
4853         * modules/shutdown (Depends-on): Likewise.
4854         * modules/socket (Depends-on): Likewise.
4855         * modules/execute (Depends-on): Likewise.
4856         * modules/spawn-pipe (Depends-on): Likewise.
4857         * modules/flock (Depends-on): Likewise.
4858         * modules/fsync (Depends-on): Likewise.
4859         * modules/isapipe (Depends-on): Likewise.
4860         * tests/test-cloexec.c: Include msvc-nothrow.h.
4861         * tests/test-dup-safer.c: Likewise.
4862         * tests/test-dup2.c: Likewise.
4863         * tests/test-dup3.c: Likewise.
4864         * tests/test-fcntl.c: Likewise.
4865         * tests/test-pipe.c: Likewise.
4866         * tests/test-pipe2.c: Likewise.
4867         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
4868         * modules/unistd-safer-tests (Depends-on): Likewise.
4869         * modules/dup2-tests (Depends-on): Likewise.
4870         * modules/dup3-tests (Depends-on): Likewise.
4871         * modules/fcntl-tests (Depends-on): Likewise.
4872         * modules/pipe-posix-tests (Depends-on): Likewise.
4873         * modules/pipe2-tests (Depends-on): Likewise.
4874
4875 2011-09-23  Bruno Haible  <bruno@clisp.org>
4876
4877         dup2: Make code more maintainable.
4878         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
4879         (rpl_dup2): Use it.
4880         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
4881         * modules/dup2 (configure.ac): Invoke it.
4882         Reported by Paul Eggert.
4883
4884 2011-09-23  Bruno Haible  <bruno@clisp.org>
4885
4886         msvc-inval: Fix compilation error.
4887         * lib/msvc-inval.h: Include <excpt.h>.
4888
4889 2011-09-23  Bruno Haible  <bruno@clisp.org>
4890
4891         mkdir: Tweak for MSVC 9.
4892         * lib/sys_stat.in.h: Update comments.
4893         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
4894
4895         Tests for module 'chdir'.
4896         * modules/chdir-tests: New file.
4897         * tests/test-chdir.c: New file.
4898
4899         New module 'chdir'.
4900         * modules/chdir: New file.
4901         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
4902         (chdir): New declaration.
4903         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
4904         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
4905         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
4906         * tests/test-unistd-c++.cc: Check signature of chdir.
4907         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
4908         * modules/chdir-long (Depends-on): Add chdir.
4909         * modules/fchdir (Depends-on): Likewise.
4910         * modules/rename (Depends-on): Likewise.
4911         * modules/savewd (Depends-on): Likewise.
4912
4913         rmdir: Support for mingw, MSVC 9.
4914         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
4915         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
4916
4917         getcwd: Tweak for MSVC 9.
4918         * lib/unistd.in.h: Update comments.
4919         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
4920
4921 2011-09-22  Bruno Haible  <bruno@clisp.org>
4922
4923         strerror_r-posix: Avoid a link error on MSVC.
4924         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
4925         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
4926
4927 2011-09-22  Bruno Haible  <bruno@clisp.org>
4928
4929         select: Avoid link errors on MSVC.
4930         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
4931         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
4932         * modules/pselect (Link): Likewise.
4933         * NEWS: Mention the change.
4934         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
4935         test-select-stdin against $(LIB_SELECT).
4936         * modules/pselect-tests (Makefile.am): Link test-pselect against
4937         $(LIB_SELECT).
4938
4939 2011-09-22  Bruno Haible  <bruno@clisp.org>
4940
4941         select: Avoid compilation error on MSVC.
4942         * lib/select.c: Don't include <stdbool.h>.
4943
4944 2011-09-21  Bruno Haible  <bruno@clisp.org>
4945
4946         Consolidate all uses of PATH_MAX in *.m4 files.
4947         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
4948         macros.
4949         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
4950         and gl_PATHMAX_SNIPPET.
4951         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
4952         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4953         * modules/chdir-long (Files): Add m4/pathmax.m4.
4954         * modules/getcwd (Files): Likewise.
4955
4956 2011-09-21  Bruno Haible  <bruno@clisp.org>
4957
4958         ftruncate: Un-deprecate, concentrate on Win32 support.
4959         * modules/ftruncate (Status, Notice): Remove sections.
4960         (Depends-on): Add largefile.
4961         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
4962         non-mingw platforms.
4963         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
4964         include <io.h>.
4965         * modules/perror-tests (Depends-on): Add ftruncate.
4966         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
4967         'ftruncate' module.
4968
4969 2011-09-21  Bruno Haible  <bruno@clisp.org>
4970
4971         Add dependencies to new dirent related modules.
4972         * modules/opendir (Depends-on): Add closedir.
4973         * modules/getcwd (Depends-on): Add opendir, closedir.
4974         * modules/dirent-safer-tests (Depends-on): Likewise.
4975         * modules/fdopendir-tests (Depends-on): Likewise.
4976         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
4977         * modules/renameat-tests (Depends-on): Likewise.
4978
4979 2011-09-21  Bruno Haible  <bruno@clisp.org>
4980
4981         opendir: Avoid compilation error on mingw.
4982         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
4983         * modules/opendir (Depends-on): Add unistd.
4984
4985 2011-09-21  Bruno Haible  <bruno@clisp.org>
4986
4987         ftruncate tests: Avoid a test failure on mingw.
4988         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
4989
4990 2011-09-21  Bruno Haible  <bruno@clisp.org>
4991
4992         select tests: Avoid test failures on OSF/1 5.1 and mingw.
4993         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
4994         native Windows.
4995
4996 2011-09-21  Bruno Haible  <bruno@clisp.org>
4997
4998         New module 'fdopen'.
4999         * lib/stdio.in.h (fdopen): New declaration.
5000         * lib/fdopen.c: New file.
5001         * m4/fdopen.m4: New file.
5002         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
5003         REPLACE_FDOPEN.
5004         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
5005         REPLACE_FDOPEN.
5006         * modules/fdopen: New file.
5007         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
5008         * tests/test-stdio-c++.cc: Check signature of fdopen.
5009         * doc/posix-functions/fdopen.texi: Mention the new module.
5010
5011 2011-09-21  Bruno Haible  <bruno@clisp.org>
5012
5013         unlockpt tests: Avoid test failure on NetBSD 5.1.
5014         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
5015         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
5016
5017 2011-09-21  Bruno Haible  <bruno@clisp.org>
5018
5019         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
5020         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
5021         * tests/test-getlogin_r.c (main): Likewise.
5022
5023 2011-09-20  Bruno Haible  <bruno@clisp.org>
5024
5025         time tests: Don't require pid_t.
5026         * doc/posix-headers/time.texi: Revert last change.
5027         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
5028         * tests/test-time.c: Comment out the check for pid_t.
5029
5030 2011-09-20  Bruno Haible  <bruno@clisp.org>
5031
5032         fsync tests: Avoid a test failure on mingw.
5033         * tests/test-fsync.c (main): Allow a failure with EIO.
5034
5035 2011-09-20  Bruno Haible  <bruno@clisp.org>
5036
5037         euidaccess: Update comments.
5038         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
5039
5040 2011-09-20  Bruno Haible  <bruno@clisp.org>
5041
5042         Ensure EBADF returns for socket functions on mingw.
5043         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
5044         descriptor is invalid.
5045         * lib/bind.c (rpl_bind): Likewise.
5046         * lib/connect.c (rpl_connect): Likewise.
5047         * lib/getpeername.c (rpl_getpeername): Likewise.
5048         * lib/getsockname.c (rpl_getsockname): Likewise.
5049         * lib/getsockopt.c (rpl_getsockopt): Likewise.
5050         * lib/listen.c (rpl_listen): Likewise.
5051         * lib/recv.c (rpl_recv): Likewise.
5052         * lib/recvfrom.c (rpl_recvfrom): Likewise.
5053         * lib/send.c (rpl_send): Likewise.
5054         * lib/sendto.c (rpl_sendto): Likewise.
5055         * lib/setsockopt.c (rpl_setsockopt): Likewise.
5056         * lib/shutdown.c (rpl_shutdown): Likewise.
5057
5058 2011-09-20  Bruno Haible  <bruno@clisp.org>
5059
5060         select tests: EBADF tests.
5061         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
5062         test_bad_fd): New functions.
5063         (test_function): Invoke also test_bad_fd.
5064
5065 2011-09-20  Bruno Haible  <bruno@clisp.org>
5066
5067         Tests for module 'posix_spawn_file_actions_addopen.
5068         * modules/posix_spawn_file_actions_addopen-tests: New file.
5069         * tests/test-posix_spawn_file_actions_addopen.c: New file.
5070
5071         Tests for module 'posix_spawn_file_actions_adddup2'.
5072         * modules/posix_spawn_file_actions_adddup2-tests: New file.
5073         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
5074
5075         Tests for module 'posix_spawn_file_actions_addclose'.
5076         * modules/posix_spawn_file_actions_addclose-tests: New file.
5077         * tests/test-posix_spawn_file_actions_addclose.c: New file.
5078
5079 2011-09-20  Bruno Haible  <bruno@clisp.org>
5080
5081         Tests for module 'unlockpt'.
5082         * modules/unlockpt-tests: New file.
5083         * tests/test-unlockpt.c: New file.
5084         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
5085
5086         Tests for module 'grantpt'.
5087         * modules/grantpt-tests: New file.
5088         * tests/test-grantpt.c: New file.
5089         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
5090
5091 2011-09-20  Bruno Haible  <bruno@clisp.org>
5092
5093         freopen tests: EBADF tests.
5094         * tests/test-freopen.c: Include errno.h, unistd.h.
5095         (main): Add tests for EBADF, commented out for the moment.
5096
5097         fclose tests: EBADF tests.
5098         * tests/test-fclose.c (main): Add tests for EBADF.
5099
5100         fflush tests: EBADF tests.
5101         * tests/test-fflush.c: Include errno.h, macros.h.
5102         (main): Add tests for EBADF.
5103
5104         ftello tests: EBADF tests.
5105         * tests/test-ftello4.sh: New file.
5106         * tests/test-ftello4.c: New file.
5107         * modules/ftello-tests (Files): Add them.
5108         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
5109
5110         fseeko tests: EBADF tests.
5111         * tests/test-fseeko4.sh: New file.
5112         * tests/test-fseeko4.c: New file.
5113         * modules/fseeko-tests (Files): Add them.
5114         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
5115
5116         Tests for function fputc().
5117         * modules/fputc-tests: New file.
5118         * tests/test-fputc.c: New file.
5119         * modules/stdio-tests (Depends-on): Add fputc-tests.
5120
5121         Tests for function fgetc().
5122         * modules/fgetc-tests: New file.
5123         * tests/test-fgetc.c: New file.
5124         * modules/stdio-tests (Depends-on): Add fgetc-tests.
5125
5126         Tests for function fdopen().
5127         * modules/fdopen-tests: New file.
5128         * tests/test-fdopen.c: New file.
5129         * modules/stdio-tests (Depends-on): Add fdopen-tests.
5130
5131         Tests for module 'vdprintf'.
5132         * modules/vdprintf-tests: New file.
5133         * tests/test-vdprintf.c: New file.
5134
5135         Tests for module 'dprintf'.
5136         * modules/dprintf-tests: New file.
5137         * tests/test-dprintf.c: New file.
5138
5139 2011-09-20  Bruno Haible  <bruno@clisp.org>
5140
5141         Tests for module 'ioctl'.
5142         * modules/ioctl-tests: New file.
5143         * tests/test-ioctl.c: New file.
5144
5145 2011-09-20  Bruno Haible  <bruno@clisp.org>
5146
5147         fcntl tests: EBADF tests.
5148         * tests/test-fcntl.c (main): Add more tests for EBADF.
5149
5150 2011-09-20  Bruno Haible  <bruno@clisp.org>
5151
5152         utimensat tests: EBADF tests.
5153         * tests/test-utimensat.c (main): Add tests for EBADF.
5154
5155         renameat tests: EBADF tests.
5156         * tests/test-renameat.c (main): Add tests for EBADF.
5157
5158         mkfifoat tests: EBADF tests.
5159         * tests/test-mkfifoat.c (main): Add tests for EBADF.
5160
5161         readlinkat tests: EBADF tests.
5162         * tests/test-readlinkat.c (main): Add tests for EBADF.
5163
5164         symlinkat tests: EBADF tests.
5165         * tests/test-symlinkat.c (main): Add tests for EBADF.
5166
5167         linkat tests: EBADF tests.
5168         * tests/test-linkat.c (main): Add tests for EBADF.
5169
5170         Tests for module 'faccessat'.
5171         * modules/faccessat-tests: New file.
5172         * tests/test-faccessat.c: New file.
5173
5174         fdopendir tests: EBADF tests.
5175         * tests/test-fdopendir.c (main): Add more tests for EBADF.
5176
5177         openat tests: EBADF tests.
5178         * tests/test-fchownat.c (main): Add tests for EBADF.
5179         * tests/test-fstatat.c (main): Likewise.
5180         * tests/test-mkdirat.c (main): Likewise.
5181         * tests/test-openat.c (main): Likewise.
5182         * tests/test-unlinkat.c (main): Likewise.
5183         * tests/test-fchmodat.c: New file.
5184         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
5185         (Makefile.am): Also run 'test-fchmodat'.
5186
5187 2011-09-20  Bruno Haible  <bruno@clisp.org>
5188
5189         utimens, futimens, fdutimensat tests: EBADF tests.
5190         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
5191
5192         Tests for function fstat().
5193         * modules/fstat-tests: New file.
5194         * tests/test-fstat.c: New file.
5195         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
5196
5197 2011-09-20  Bruno Haible  <bruno@clisp.org>
5198
5199         test-ttyname_r tests: EBADF tests.
5200         * tests/test-ttyname_r.c (main): Add tests for EBADF.
5201
5202         Tests for module 'isatty'.
5203         * modules/isatty-tests: New file.
5204         * tests/test-isatty.c: New file.
5205
5206         Tests for module 'write'.
5207         * modules/write-tests: New file.
5208         * tests/test-write.c: New file.
5209
5210         Tests for module 'read'.
5211         * modules/read-tests: New file.
5212         * tests/test-read.c: New file.
5213
5214         pwrite tests: EBADF tests.
5215         * tests/test-pwrite.c (main): Add tests for EBADF.
5216
5217         pread tests: EBADF tests.
5218         * tests/test-pread.c (main): Add tests for EBADF.
5219
5220         lseek tests: EBADF tests.
5221         * tests/test-lseek.c (main): Add more tests for EBADF.
5222
5223         Tests for module 'ftruncate'.
5224         * modules/ftruncate-tests: New file.
5225         * tests/test-ftruncate.sh: New file.
5226         * tests/test-ftruncate.c: New file.
5227
5228         fsync tests: EBADF tests.
5229         * tests/test-fsync.c (main): Add more tests for EBADF.
5230
5231         fdatasync tests: EBADF tests.
5232         * tests/test-fdatasync.c (main): Add more tests for EBADF.
5233
5234         Tests for module 'fchown'.
5235         * modules/fchown-tests: New file.
5236         * tests/test-fchown.c: New file.
5237
5238         Tests for module 'fchmod'.
5239         * modules/fchmod-tests: New file.
5240         * tests/test-fchmod.c: New file.
5241
5242         fchdir tests: EBADF tests.
5243         * tests/test-fchdir.c (main): Add more tests for EBADF.
5244
5245         dup2 tests: EBADF tests.
5246         * tests/test-dup2.c (main): Add more tests for EBADF.
5247
5248         Tests for module 'dup'.
5249         * modules/dup-tests: New file.
5250         * tests/test-dup.c: New file.
5251
5252         Tests for module 'close'.
5253         * modules/close-tests: New file.
5254         * tests/test-close.c: New file.
5255
5256 2011-09-20  Bruno Haible  <bruno@clisp.org>
5257
5258         Tests for module 'shutdown'.
5259         * modules/shutdown-tests: New file.
5260         * tests/test-shutdown.c: New file.
5261
5262         Tests for module 'setsockopt'.
5263         * modules/setsockopt-tests: New file.
5264         * tests/test-setsockopt.c: New file.
5265
5266         Tests for module 'sendto'.
5267         * modules/sendto-tests: New file.
5268         * tests/test-sendto.c: New file.
5269
5270         Tests for module 'send'.
5271         * modules/send-tests: New file.
5272         * tests/test-send.c: New file.
5273
5274         Tests for module 'recvfrom'.
5275         * modules/recvfrom-tests: New file.
5276         * tests/test-recvfrom.c: New file.
5277
5278         Tests for module 'recv'.
5279         * modules/recv-tests: New file.
5280         * tests/test-recv.c: New file.
5281
5282         Tests for module 'listen'.
5283         * modules/listen-tests: New file.
5284         * tests/test-listen.c: New file.
5285
5286         Tests for module 'getsockopt'.
5287         * modules/getsockopt-tests: New file.
5288         * tests/test-getsockopt.c: New file.
5289
5290         Tests for module 'getsockname'.
5291         * modules/getsockname-tests: New file.
5292         * tests/test-getsockname.c: New file.
5293
5294         Tests for module 'getpeername'.
5295         * modules/getpeername-tests: New file.
5296         * tests/test-getpeername.c: New file.
5297
5298         Tests for module 'connect'.
5299         * modules/connect-tests: New file.
5300         * tests/test-connect.c: New file.
5301
5302         Tests for module 'bind'.
5303         * modules/bind-tests: New file.
5304         * tests/test-bind.c: New file.
5305
5306         accept4 tests: Fix for native Windows.
5307         * tests/test-accept4.c: Include sockets.h.
5308         (main): Invoke gl_sockets_startup.
5309         * modules/accept4-tests (Depends-on): Add sockets.
5310
5311         accept tests: Fix for native Windows.
5312         * tests/test-accept.c: Include sockets.h.
5313         (main): Invoke gl_sockets_startup.
5314         * modules/accept-tests (Depends-on): Add sockets.
5315
5316 2011-09-19  Bruno Haible  <bruno@clisp.org>
5317
5318         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
5319         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
5320         do...while(0).
5321         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
5322         Suggested by Paul Eggert.
5323
5324 2011-09-19  Bruno Haible  <bruno@clisp.org>
5325
5326         sched: Ensure pid_t is defined.
5327         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
5328         not define pid_t.
5329         * lib/sched.in.h: Include <sys/types.h>.
5330         * doc/posix-headers/sched.texi: Mention the pid_t problem.
5331         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5332
5333 2011-09-19  Bruno Haible  <bruno@clisp.org>
5334
5335         msvc-inval: Ensure the entire expansion is a single statement.
5336         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
5337         of braces.
5338
5339 2011-09-19  Jim Meyering  <meyering@redhat.com>
5340
5341         tests: use printf, not echo in init.sh's warn_ function
5342         * tests/init.sh (warn_): Use printf, not echo.  The latter would
5343         misbehave when given strings containing a backslash or starting
5344         with e.g., -n.  James Youngman suggested setting IFS.
5345
5346 2011-09-19  Eric Blake  <eblake@redhat.com>
5347
5348         futimens: enhance test
5349         * tests/test-futimens.h (test_futimens): Also check for EBADF on
5350         closed non-negative fd.
5351
5352         date: accept 'hence' as opposite of 'ago'
5353         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
5354         * tests/test-parse-datetime.c (main): Enhance test.
5355         Suggested by Jesse Wilson.
5356
5357 2011-09-19  Jim Meyering  <meyering@redhat.com>
5358
5359         getcwd: don't fail in a deep directory on a system without openat
5360         Before this change, getcwd would fail when called from a directory
5361         of depth PATH_MAX / 3 or greater.  That was due to the fact that
5362         the non-openat implementation used "..", "../..", "../../..", etc.
5363         to access ancestor directories.  With too many, that string would
5364         be longer than PATH_MAX.
5365         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
5366         using gnulib's openat replacement.
5367         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
5368         we're using the replacement function.
5369
5370 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
5371
5372         maint.mk: avoid warnings from perl about missing files
5373         * top/maint.mk (def_sym_regex): Ignore files listed in
5374         $(gl_other_headers_) that do not exist, say because a project
5375         does not use a corresponding module.
5376
5377 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5378
5379         stat: use pathmax.h only if needed
5380         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
5381         This is better for Emacs, which does not have a mingw port and
5382         therefore can avoid the pathmax module.
5383
5384         utimens: remove dependency on dup2
5385         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
5386         to work around the Linux kernel bug.
5387         * modules/utimens (Depends-on): Remove dup2.
5388
5389 2011-09-18  Bruno Haible  <bruno@clisp.org>
5390
5391         inet_ntop, inet_pton: Look for it also in libresolv.
5392         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
5393         libnsl, search for it in libresolv.
5394         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5395         Needed on Solaris 7.
5396
5397 2011-09-18  Bruno Haible  <bruno@clisp.org>
5398
5399         accept, accept4 tests: Avoid link error on Solaris.
5400         * modules/accept-tests (Makefile.am): Link test-accept against
5401         $(LIBSOCKET).
5402         * modules/accept4-tests (Makefile.am): Link test-accept4 against
5403         $(LIBSOCKET).
5404
5405         accept4: Avoid link error on Solaris.
5406         * modules/accept4 (Link): New section.
5407
5408         socket functions: Avoid link errors on Solaris.
5409         * modules/accept (Depends-on): Add socketlib.
5410         (Link): New section.
5411         * modules/bind (Depends-on): Add socketlib.
5412         (Link): New section.
5413         * modules/connect (Depends-on): Add socketlib.
5414         (Link): New section.
5415         * modules/getpeername (Depends-on): Add socketlib.
5416         (Link): New section.
5417         * modules/getsockname (Depends-on): Add socketlib.
5418         (Link): New section.
5419         * modules/getsockopt (Depends-on): Add socketlib.
5420         (Link): New section.
5421         * modules/listen (Depends-on): Add socketlib.
5422         (Link): New section.
5423         * modules/recv (Depends-on): Add socketlib.
5424         (Link): New section.
5425         * modules/recvfrom (Depends-on): Add socketlib.
5426         (Link): New section.
5427         * modules/send (Depends-on): Add socketlib.
5428         (Link): New section.
5429         * modules/sendto (Depends-on): Add socketlib.
5430         (Link): New section.
5431         * modules/setsockopt (Depends-on): Add socketlib.
5432         (Link): New section.
5433         * modules/shutdown (Depends-on): Add socketlib.
5434         (Link): New section.
5435         * modules/socket (Depends-on): Add socketlib.
5436         (Link): New section.
5437
5438 2011-09-18  Bruno Haible  <bruno@clisp.org>
5439
5440         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
5441         * tests/test-ptsname.c (main): Terminate the test if it takes longer
5442         than 5 seconds.
5443         * modules/ptsname-tests (configure.ac): Test for alarm.
5444
5445 2011-09-18  Bruno Haible  <bruno@clisp.org>
5446
5447         posix_spawn_file_actions_add*: Fix module dependencies.
5448         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
5449         posix_spawn_file_actions_init.
5450         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
5451         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
5452
5453 2011-09-18  Bruno Haible  <bruno@clisp.org>
5454
5455         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
5456         * tests/test-rename.h (test_rename): Allow error code EEXIST.
5457         * tests/test-renameat.c (main): Likewise.
5458
5459 2011-09-18  Bruno Haible  <bruno@clisp.org>
5460
5461         Tests for module 'accept4'.
5462         * modules/accept4-tests: New file.
5463         * tests/test-accept4.c: New file.
5464
5465 2011-09-18  Bruno Haible  <bruno@clisp.org>
5466
5467         Tests for module 'accept'.
5468         * modules/accept-tests: New file.
5469         * tests/test-accept.c: New file.
5470
5471 2011-09-18  Bruno Haible  <bruno@clisp.org>
5472
5473         dup2: Support for MSVC.
5474         * lib/dup2.c: Include msvc-inval.h.
5475         (rpl_dup2): Handle invalid parameter notifications during dup2 and
5476         _get_osfhandle calls.
5477         * modules/dup2 (Depends-on): Add msvc-inval.
5478         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
5479
5480         New module 'msvc-inval'.
5481         * lib/msvc-inval.h: New file.
5482         * lib/msvc-inval.c: New file.
5483         * m4/msvc-inval.m4: New file.
5484         * modules/msvc-inval: New file.
5485
5486 2011-09-17  Bruno Haible  <bruno@clisp.org>
5487
5488         Tests for module 'pclose'.
5489         * modules/pclose-tests: New file.
5490
5491         New module 'pclose'.
5492         * lib/stdio.in.h (pclose): New declaration.
5493         * lib/pclose.c: New file.
5494         * m4/pclose.m4: New file.
5495         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
5496         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
5497         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
5498         * modules/pclose: New file.
5499         * modules/popen-tests (Depends-on): Add pclose.
5500         * modules/popen-safer-tests (Depends-on): Likewise.
5501         * doc/posix-functions/pclose.texi: Mention the new module.
5502
5503 2011-09-17  Bruno Haible  <bruno@clisp.org>
5504
5505         popen: Support for MSVC.
5506         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
5507         * lib/popen.c (popen): Provide alternate definition for native Windows.
5508         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
5509         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
5510         * modules/popen (Depends-on, configure.ac): Update condition.
5511         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
5512         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
5513         fixed.
5514
5515 2011-09-17  Bruno Haible  <bruno@clisp.org>
5516
5517         isnanl, isnand, isnanf: Work around MSVC bug.
5518         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
5519
5520 2011-09-17  Bruno Haible  <bruno@clisp.org>
5521
5522         sys_socket tests: Fix recent mistake.
5523         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
5524
5525 2011-09-17  Bruno Haible  <bruno@clisp.org>
5526
5527         putenv: Support for MSVC.
5528         * modules/putenv (Depends-on): Add environ.
5529         * lib/putenv.c (environ): Disable declaration.
5530         * lib/unistd.in.h: Update comment.
5531
5532 2011-09-17  Bruno Haible  <bruno@clisp.org>
5533
5534         math: Avoid macro redefinition warnings on MSVC.
5535         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
5536         Undefine before redefining.
5537
5538 2011-09-17  Bruno Haible  <bruno@clisp.org>
5539
5540         doc: Mention functions which are declared as macros.
5541         * doc/posix-functions/*[fl].texi: Mention that some functions are
5542         defined as macros with arguments only.
5543
5544 2011-09-17  Bruno Haible  <bruno@clisp.org>
5545
5546         Add dependencies to new dirent related modules.
5547         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
5548         * modules/fts (Depends-on): Likewise.
5549         * modules/glob (Depends-on): Likewise.
5550         * modules/savedir (Depends-on): Likewise.
5551         * modules/scandir (Depends-on): Likewise.
5552         * modules/dirent-safer (Depends-on): Add opendir, closedir.
5553         * modules/fdopendir (Depends-on): Add opendir.
5554
5555 2011-09-17  Bruno Haible  <bruno@clisp.org>
5556
5557         inet_pton: Support for MSVC on Windows Vista or newer.
5558         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
5559         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
5560         HAVE_DECL_INET_PTON is defined.
5561         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
5562         On platforms with <winsock2.h>, test whether inet_pton is declared in
5563         <ws2tcpip.h>. If so, arrange to replace it.
5564         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
5565         REPLACE_INET_PTON.
5566         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
5567         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
5568         (Depends-on, configure.ac): Update condition.
5569         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
5570
5571 2011-09-17  Bruno Haible  <bruno@clisp.org>
5572
5573         inet_ntop: Support for MSVC on Windows Vista or newer.
5574         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
5575         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
5576         HAVE_DECL_INET_NTOP is defined.
5577         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
5578         On platforms with <winsock2.h>, test whether inet_ntop is declared in
5579         <ws2tcpip.h>. If so, arrange to replace it.
5580         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
5581         REPLACE_INET_NTOP.
5582         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
5583         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
5584         (Depends-on, configure.ac): Update condition.
5585         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
5586
5587 2011-09-16  Eric Blake  <eblake@redhat.com>
5588
5589         test-fsync: yet another enhancement
5590         * tests/test-fsync.c (main): Also test behavior on read-only text
5591         file.
5592
5593 2011-09-16  Bruno Haible  <bruno@clisp.org>
5594
5595         Enhance fsync, fdatasync tests.
5596         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
5597         * tests/test-fdatasync.c (main): Likewise.
5598
5599 2011-09-16  Bruno Haible  <bruno@clisp.org>
5600
5601         Support for MSVC compiler: Ensure mode_t gets defined.
5602         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
5603         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
5604         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
5605         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
5606         * tests/test-fcntl-h.c: Check that mode_t is defined.
5607         * tests/test-sys_stat.c: Likewise.
5608         * tests/test-sys_types.c: Likewise.
5609         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
5610         * doc/posix-headers/sys_stat.texi: Likewise.
5611         * doc/posix-headers/sys_types.texi: Likewise.
5612
5613 2011-09-16  Bruno Haible  <bruno@clisp.org>
5614
5615         sys_stat: Support for MSVC.
5616         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
5617         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
5618         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
5619         MSVC.
5620
5621 2011-09-16  Bruno Haible  <bruno@clisp.org>
5622
5623         Support for MSVC compiler: Ensure off_t gets defined.
5624         * lib/unistd.in.h: Include <sys/types.h>.
5625         * tests/test-fcntl-h.c: Check that off_t is defined.
5626         * tests/test-sys_stat.c: Likewise.
5627         * tests/test-sys_types.c: Likewise.
5628
5629 2011-09-16  Eric Blake  <eblake@redhat.com>
5630
5631         fdatasync: port to Solaris
5632         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
5633         * modules/fdatasync (Link): Document it.
5634         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
5635
5636         fdatasync: port to MacOS X 10.7
5637         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
5638         declared.
5639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
5640         * modules/unistd (Makefile.am): Substitute it.
5641         * lib/unistd.in.h (fdatasync): Declare on MacOS.
5642         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
5643
5644         fdatasync: minor improvements
5645         * modules/fdatasync (Depends-on): Add condition for fsync.
5646         * lib/fdatasync.c (fdatasync): Add comment.
5647         * tests/test-unistd-c++.cc: Test fdatasync.
5648
5649         unistd: update refs to newer POSIX
5650         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
5651         Suggested by Bruno Haible.
5652
5653         fdatasync: new module
5654         * modules/fsync (Description): Document difference to fdatasync.
5655         * modules/fdatasync: New module.
5656         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
5657         * lib/fdatasync.c (fdatasync): Likewise.
5658         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
5659         defaults.
5660         * modules/unistd (Makefile.am): Set witnesses.
5661         * lib/unistd.in.h (fdatasync): Declare.
5662         * MODULES.html.sh: Document it.
5663         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
5664         * modules/fdatasync-tests: New test.
5665         * tests/test-fdatasync.c: Likewise.
5666
5667 2011-09-16  Eric Blake  <eblake@redhat.com>
5668
5669         test-fsync: enhance tests
5670         * modules/fsync-tests (Depends-on): Add errno, for mingw.
5671         * tests/test-fsync.c (main): Enhance test.
5672
5673 2011-09-15  Bruno Haible  <bruno@clisp.org>
5674
5675         Support for MSVC compiler: Ensure ssize_t gets defined.
5676         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
5677         * doc/posix-headers/stdio.texi: Likewise.
5678         * modules/stdio (Depends-on): Add ssize_t.
5679         * modules/sys_socket (Depends-on): Likewise.
5680         * modules/sys_types (Depends-on): Likewise.
5681         * modules/sys_uio (Depends-on): Likewise.
5682         * modules/unistd (Depends-on): Likewise.
5683         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
5684         * tests/test-sys_types.c: Check that ssize_t is defined.
5685
5686 2011-09-14  Bruno Haible  <bruno@clisp.org>
5687
5688         Avoid using #, the m4 comment starter character, near brackets.
5689         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
5690         delimiter character in sed expressions.
5691         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5692         Suggested by Eric Blake.
5693
5694         Properly quote AC_CHECK_DECLS' 4th argument.
5695         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
5696         argument.
5697         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5698         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5699         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5700         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5701         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
5702         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
5703         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
5704         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
5705         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
5706         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
5707         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
5708         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5709         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
5710         * m4/isinf.m4 (gl_ISINF): Likewise.
5711         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
5712         * m4/readutmp.m4 (gl_READUTMP): Likewise.
5713         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5714         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5715         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5716         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5717         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
5718         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5719         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
5720         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5721         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5722         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5723         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
5724         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5725         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5726         Reported by Eric Blake.
5727
5728         Properly quote AC_CHECK_DECL's 4th argument.
5729         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
5730         argument.
5731         * m4/argp.m4 (gl_ARGP): Likewise.
5732         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
5733         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
5734         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
5735         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5736         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
5737         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
5738         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
5739         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
5740         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
5741         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
5742         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
5743         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
5744         Reported by Eric Blake.
5745
5746 2011-09-14  Eric Blake  <eblake@redhat.com>
5747
5748         opendir: avoid compile warning
5749         * lib/opendir.c (includes): Always include errno.h.
5750         Reported by Tatsuro MATSUOKA.
5751
5752 2011-09-14  Jim Meyering  <meyering@redhat.com>
5753
5754         maint.mk: sc_tight_scope: propagate failure from sub-make
5755         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
5756         Reported by Martin von Gagern.
5757
5758 2011-09-13  Bruno Haible  <bruno@clisp.org>
5759
5760         tempname: Support for MSVC.
5761         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
5762         MSVC.
5763         * modules/tempname (Depends-on): Add fcntl-h.
5764
5765 2011-09-13  Bruno Haible  <bruno@clisp.org>
5766
5767         sys_time: Support for MSVC.
5768         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
5769         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
5770         include <winsock2.h>.
5771         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
5772         function declarations that collide with POSIX.
5773         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
5774         (Makefile.am): Substitute HAVE_WINSOCK2_H.
5775
5776 2011-09-13  Bruno Haible  <bruno@clisp.org>
5777
5778         stat: Support for MSVC.
5779         * lib/stat.c: Include pathmax.h.
5780         * modules/stat (Depends-on): Add pathmax.
5781
5782         pathmax: Support for native Windows.
5783         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
5784
5785 2011-09-12  Bruno Haible  <bruno@clisp.org>
5786
5787         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
5788         * lib/dirent.in.h (struct dirent): New type.
5789         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
5790         DT_WHT): New macros.
5791         (DIR): New type.
5792         (opendir, closedir): Declare only if the module 'opendir' is enabled.
5793         (readdir, rewinddir): New declarations.
5794         * lib/dirent-private.h: New file.
5795         * lib/opendir.c: New file.
5796         * lib/readdir.c: New file.
5797         * lib/rewinddir.c: New file.
5798         * lib/closedir.c: New file.
5799         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
5800         * m4/opendir.m4: New file.
5801         * m4/readdir.m4: New file.
5802         * m4/rewinddir.m4: New file.
5803         * m4/closedir.m4: New file.
5804         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
5805         REPLACE_CLOSEDIR here.
5806         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
5807         readdir, rewinddir are declared.
5808         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
5809         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
5810         HAVE_REWINDDIR, HAVE_CLOSEDIR.
5811         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
5812         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
5813         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
5814         * modules/opendir: New file.
5815         * modules/readdir: New file.
5816         * modules/rewinddir: New file.
5817         * modules/closedir: New file.
5818         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
5819         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
5820         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
5821         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
5822         * NEWS: Mention the 'fchdir' change.
5823
5824 2011-09-11  Bruno Haible  <bruno@clisp.org>
5825
5826         asm-underscore.m4: Support for MSVC.
5827         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
5828         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
5829
5830 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
5831
5832         Doc about crypt functions.
5833         * doc/posix-functions/crypt.texi: Expand range of glibc versions
5834         needing for _GNU_SOURCE to get crypt.
5835         * doc/posix-functions/encrypt.texi: Likewise.
5836         * doc/posix-functions/setkey.texi: Likewise.
5837
5838 2011-09-11  Bruno Haible  <bruno@clisp.org>
5839
5840         doc: Update regarding MSVC 9.
5841         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
5842         tested".
5843         * doc/posix-functions/*.texi: Update with info about MSVC 9.
5844         * doc/posix-headers/*.texi: Likewise.
5845         * doc/pastposix-functions/*.texi: Likewise.
5846         * doc/glibc-functions/*.texi: Likewise.
5847         * doc/glibc-headers/*.texi: Likewise.
5848
5849 2011-09-11  Bruno Haible  <bruno@clisp.org>
5850
5851         unistd et al.: Don't assume <unistd.h> exists.
5852         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
5853         does not exist.
5854         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
5855         exist. But include <stdlib.h>.
5856         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
5857         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
5858         symlink() does not exist.
5859         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
5860         include <io.h> instead.
5861         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
5862         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
5863         include <direct.h> instead.
5864         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5865         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5866         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
5867         <io.h> instead.
5868         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
5869         correctly if the system does not have hard links.
5870         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
5871         <direct.h> instead.
5872         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
5873         it when looking for function declarations.
5874         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
5875         <direct.h> and <io.h> instead.
5876         * doc/posix-headers/unistd.texi: More details about MSVC problem.
5877
5878 2011-09-11  Bruno Haible  <bruno@clisp.org>
5879
5880         strcase: Support for MSVC.
5881         * modules/strcase (Status, Notice): Remove obsoletion mark.
5882         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
5883         * doc/posix-functions/strncasecmp.texi: Likewise.
5884
5885         strings: Don't assume <strings.h> exists.
5886         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
5887         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
5888         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
5889         * doc/posix-headers/strings.texi: Mention the MSVC problem.
5890
5891 2011-09-11  Bruno Haible  <bruno@clisp.org>
5892
5893         dirent: Don't assume <dirent.h> exists.
5894         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
5895         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
5896         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
5897         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
5898
5899 2011-09-11  Bruno Haible  <bruno@clisp.org>
5900
5901         Fix wint_t on MSVC.
5902         * lib/wchar.in.h (wint_t): On MSVC, override it.
5903         * lib/wctype.in.h (wint_t): Likewise.
5904         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
5905         MSVC.
5906         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
5907         * doc/posix-headers/wctype.texi: Likewise.
5908
5909 2011-09-11  Bruno Haible  <bruno@clisp.org>
5910
5911         sys_types: Fix typo.
5912         * lib/sys_types.in.h: Fix typo in comment.
5913         Reported by Paul Eggert.
5914
5915         Support for MSVC compiler: Ensure size_t gets defined.
5916         * modules/strings (Depends-on): Add 'sys_types'.
5917         * modules/sys_uio (Depends-on): Likewise.
5918         * lib/sys_uio.in.h: Update comment.
5919
5920         C++ tests for module 'sys_types'.
5921         * modules/sys_types-c++-tests: New file.
5922         * tests/test-sys_types-c++.cc: New file.
5923
5924         Tests for module 'sys_types'.
5925         * modules/sys_types-tests: New file.
5926         * tests/test-sys_types.c: New file.
5927
5928         New module 'sys_types'.
5929         * lib/sys_types.in.h: New file.
5930         * m4/sys_types_h.m4: New file.
5931         * modules/sys_types: New file.
5932         * doc/posix-headers/sys_types.texi: Mention the new module and the
5933         size_t problem on MSVC 9.
5934
5935 2011-09-11  Bruno Haible  <bruno@clisp.org>
5936
5937         Support for MSVC compiler: Avoid division by a literal 0.
5938         * lib/math.in.h (NAN): Define through a function call also on MSVC.
5939         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
5940         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
5941         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
5942         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
5943         * tests/infinity.h: New file.
5944         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
5945         on MSVC.
5946         * tests/test-ceilf1.c: Include infinity.h.
5947         (main): Use Infinityf.
5948         * tests/test-ceil1.c: Include infinity.h.
5949         (main): Use Infinityd.
5950         * tests/test-ceill.c: Include infinity.h.
5951         (main): Use Infinityl.
5952         * tests/test-dprintf-posix.c: Include infinity.h.
5953         (test_function): Use Infinityd.
5954         * tests/test-floorf1.c: Include infinity.h.
5955         (main): Use Infinityf.
5956         * tests/test-floor1.c: Include infinity.h.
5957         (main): Use Infinityd.
5958         * tests/test-floorl.c: Include infinity.h.
5959         (main): Use Infinityl.
5960         * tests/test-fprintf-posix.c: Include infinity.h.
5961         (test_function): Use Infinityd.
5962         * tests/test-frexp.c: Include infinity.h.
5963         (main): Use Infinityd.
5964         * tests/test-frexpl.c: Include infinity.h.
5965         (main): Use Infinityl.
5966         * tests/test-isfinite.c: Include infinity.h.
5967         (test_isfinitef): Use Infinityf.
5968         (test_isfinited): Use Infinityd.
5969         (test_isfinitel): Use Infinityl.
5970         * tests/test-isinf.c: Include infinity.h.
5971         (test_isinff): Use Infinityf.
5972         (test_isinfd): Use Infinityd.
5973         (test_isinfl): Use Infinityl.
5974         * tests/test-isnan.c: Include infinity.h.
5975         (test_float): Use Infinityf.
5976         (test_double): Use Infinityd.
5977         (test_long_double): Use Infinityl.
5978         * tests/test-isnanf.h: Include infinity.h.
5979         (main): Use Infinityf.
5980         * tests/test-isnand.h: Include infinity.h.
5981         (main): Use Infinityd.
5982         * tests/test-isnanl.h: Include infinity.h.
5983         (main): Use Infinityl.
5984         * tests/test-ldexpl.c: Include infinity.h.
5985         (main): Use Infinityl.
5986         * tests/test-printf-posix.h: Include infinity.h.
5987         (test_function): Use Infinityd.
5988         * tests/test-roundf1.c: Include infinity.h.
5989         (main): Use Infinityf.
5990         * tests/test-round1.c: Include infinity.h.
5991         (main): Use Infinityd.
5992         * tests/test-roundl.c: Include infinity.h.
5993         (main): Use Infinityl.
5994         * tests/test-signbit.c: Include infinity.h.
5995         (test_signbitf): Use Infinityf.
5996         (test_signbitd): Use Infinityd.
5997         (test_signbitl): Use Infinityl.
5998         * tests/test-snprintf-posix.h: Include infinity.h.
5999         (test_function): Use Infinityd, Infinityl.
6000         * tests/test-sprintf-posix.h: Include infinity.h.
6001         (test_function): Use Infinityd, Infinityl.
6002         * tests/test-truncf1.c: Include infinity.h.
6003         (main): Use Infinityf.
6004         * tests/test-trunc1.c: Include infinity.h.
6005         (main): Use Infinityd.
6006         * tests/test-truncl.c: Include infinity.h.
6007         (main): Use Infinityl.
6008         * tests/test-vasnprintf-posix.c: Include infinity.h.
6009         (test_function): Use Infinityd, Infinityl.
6010         * tests/test-vasprintf-posix.c: Include infinity.h.
6011         (test_function): Use Infinityd, Infinityl.
6012         * modules/ceilf-tests (Files): Add tests/infinity.h.
6013         * modules/ceil-tests (Files): Likewise.
6014         * modules/ceill-tests (Files): Likewise.
6015         * modules/dprintf-posix-tests (Files): Likewise.
6016         * modules/floorf-tests (Files): Likewise.
6017         * modules/floor-tests (Files): Likewise.
6018         * modules/floorl-tests (Files): Likewise.
6019         * modules/fprintf-posix-tests (Files): Likewise.
6020         * modules/frexp-tests (Files): Likewise.
6021         * modules/frexp-nolibm-tests (Files): Likewise.
6022         * modules/frexpl-tests (Files): Likewise.
6023         * modules/frexpl-nolibm-tests (Files): Likewise.
6024         * modules/isfinite-tests (Files): Likewise.
6025         * modules/isinf-tests (Files): Likewise.
6026         * modules/isnan-tests (Files): Likewise.
6027         * modules/isnanf-tests (Files): Likewise.
6028         * modules/isnanf-nolibm-tests (Files): Likewise.
6029         * modules/isnand-tests (Files): Likewise.
6030         * modules/isnand-nolibm-tests (Files): Likewise.
6031         * modules/isnanl-tests (Files): Likewise.
6032         * modules/isnanl-nolibm-tests (Files): Likewise.
6033         * modules/ldexpl-tests (Files): Likewise.
6034         * modules/printf-posix-tests (Files): Likewise.
6035         * modules/roundf-tests (Files): Likewise.
6036         * modules/round-tests (Files): Likewise.
6037         * modules/roundl-tests (Files): Likewise.
6038         * modules/signbit-tests (Files): Likewise.
6039         * modules/snprintf-posix-tests (Files): Likewise.
6040         * modules/sprintf-posix-tests (Files): Likewise.
6041         * modules/truncf-tests (Files): Likewise.
6042         * modules/trunc-tests (Files): Likewise.
6043         * modules/truncl-tests (Files): Likewise.
6044         * modules/vasnprintf-posix-tests (Files): Likewise.
6045         * modules/vasprintf-posix-tests (Files): Likewise.
6046         * modules/vdprintf-posix-tests (Files): Likewise.
6047         * modules/vfprintf-posix-tests (Files): Likewise.
6048         * modules/vprintf-posix-tests (Files): Likewise.
6049         * modules/vsnprintf-posix-tests (Files): Likewise.
6050         * modules/vsprintf-posix-tests (Files): Likewise.
6051         * modules/xprintf-posix-tests (Files): Likewise.
6052
6053 2011-09-11  Bruno Haible  <bruno@clisp.org>
6054
6055         Ensure pid_t gets defined.
6056         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
6057         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
6058         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
6059         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6060         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
6061         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
6062         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
6063         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6064         * tests/test-fcntl-h.c: Check that pid_t is defined.
6065         * tests/test-sched.c: Likewise.
6066         * tests/test-termios.c: Likewise.
6067         * tests/test-time.c: Likewise.
6068         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
6069         * doc/posix-headers/signal.texi: Likewise.
6070         * doc/posix-headers/sys_types.texi: Likewise.
6071         * doc/posix-headers/time.texi: Likewise.
6072
6073 2011-09-11  Bruno Haible  <bruno@clisp.org>
6074
6075         acl: Fix compilation on Solaris 10 (older version).
6076         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
6077         of ACE_EVERYONE.
6078         * lib/set-mode-acl.c (qset_acl): Likewise.
6079         Reported by Christian Jullien <eligis@orange.fr>.
6080
6081 2011-09-10  Bruno Haible  <bruno@clisp.org>
6082
6083         iconv, unsetenv: Add support for MSVC compiler.
6084         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
6085         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
6086
6087 2011-09-10  Bruno Haible  <bruno@clisp.org>
6088
6089         *printf: Add support for MSVC compiler.
6090         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
6091         handles the exception caused by the %n directive. When cross-compiling,
6092         guess no on native Windows.
6093         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
6094         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
6095         emulate it through vsnprintf.
6096         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
6097         * doc/posix-functions/dprintf.texi: Update documentation regarding
6098         MSVC 9.
6099         * doc/posix-functions/fprintf.texi: Likewise.
6100         * doc/posix-functions/printf.texi: Likewise.
6101         * doc/posix-functions/snprintf.texi: Likewise.
6102         * doc/posix-functions/sprintf.texi: Likewise.
6103         * doc/posix-functions/swprintf.texi: Likewise.
6104         * doc/posix-functions/vdprintf.texi: Likewise.
6105         * doc/posix-functions/vfprintf.texi: Likewise.
6106         * doc/posix-functions/vprintf.texi: Likewise.
6107         * doc/posix-functions/vsnprintf.texi: Likewise.
6108         * doc/posix-functions/vsprintf.texi: Likewise.
6109         * doc/glibc-functions/asprintf.texi: Likewise.
6110         * doc/glibc-functions/obstack_printf.texi: Likewise.
6111         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6112         * doc/glibc-functions/vasprintf.texi: Likewise.
6113
6114 2011-09-10  Bruno Haible  <bruno@clisp.org>
6115
6116         nocrash: Add support for native Windows.
6117         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
6118
6119 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
6120             Bruno Haible  <bruno@clisp.org>
6121
6122         absolute-header, include-next: Add support for MSVC compiler.
6123         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
6124         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
6125         directory separator in #line directives.
6126         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
6127         recognize also backslash as directory separator in #line directives.
6128
6129 2011-09-08  Jim Meyering  <meyering@redhat.com>
6130
6131         maint.mk: mark the post-release commit log with "maint: " prefix
6132         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
6133         one-line commit-log summary.
6134
6135 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
6136             Bruno Haible  <bruno@clisp.org>
6137
6138         Doc about crypt functions.
6139         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
6140         systems.
6141         * doc/posix-functions/encrypt.texi: Likewise.
6142         * doc/posix-functions/setkey.texi: Likewise.
6143
6144 2011-09-08  Simon Josefsson  <simon@josefsson.org>
6145
6146         * lib/gc.h: Fix copyright header.
6147
6148 2011-09-07  Bruno Haible  <bruno@clisp.org>
6149
6150         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
6151         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
6152         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
6153
6154 2011-09-07  Bruno Haible  <bruno@clisp.org>
6155
6156         openat: Work around compilation error with OSF/1 5.1 DTK cc.
6157         * lib/fopen.c: Use different syntax for include of <stdio.h>.
6158         * lib/freopen.c: Likewise.
6159         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
6160         * lib/lstat.c: Likewise.
6161         * lib/stat.c: Likewise.
6162         * lib/open.c: Use different syntax for include of <fcntl.h>.
6163         * lib/openat.c: Include fcntl.h again, explicitly.
6164
6165 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
6166
6167         parse-datetime: document the newly accepted format
6168         * doc/parse-datetime.texi (Combined date and time of day items):
6169         New section.
6170
6171 2011-09-06  Bruno Haible  <bruno@clisp.org>
6172
6173         acl: Fix a test failure on newer Solaris 10 with ZFS.
6174         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
6175         ENOSYS as no ACL.
6176         Reported by Jim Meyering.
6177
6178 2011-09-06  Bruno Haible  <bruno@clisp.org>
6179
6180         acl: Update for AIX >= 5.3 with NFS.
6181         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
6182         ENOSYS as no ACL.
6183
6184         acl: Fix a test failure on AIX >= 5.3 with NFS.
6185         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
6186         as no ACL.
6187
6188 2011-09-06  Bruno Haible  <bruno@clisp.org>
6189
6190         acl: Fix a test failure on IRIX 6.5 with NFS.
6191         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
6192         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
6193         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
6194         * lib/copy-acl.c (qcopy_acl): Likewise.
6195
6196 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
6197
6198         openat: port to AIX 7.1 with large files
6199         AIX 7.1 does a "#define openat open64at" if large files are in use,
6200         so we can't simply #undef openat.  Use the orig_openat trick (similar
6201         to orig_open in lib/open.c) to work around the problem.  Problem
6202         reported by Kevin Brott for GNU tar, in the thread containing
6203         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
6204         * lib/openat.c (__need_system_fcntl_h): Define first.
6205         Include <fcntl.h> and <sys/types.h> before undefining.
6206         (orig_openat) [HAVE_OPENAT]: New inline function.
6207         (openat) [HAVE_OPENAT]: Do not undef.
6208         (rpl_openat): Use orig_openat, not openat.
6209
6210 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
6211             Bruno Haible  <bruno@clisp.org>
6212
6213         acl: Avoid errors on NonStop Kernel.
6214         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
6215         ENOTSUP errors.
6216
6217 2011-09-05  Bruno Haible  <bruno@clisp.org>
6218
6219         acl: Clean up Solaris code.
6220         * lib/acl-internal.h: Remove no-op #if.
6221         * lib/file-has-acl.c: Likewise.
6222         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
6223         * lib/copy-acl.c (qcopy_acl): Likewise.
6224
6225 2011-09-05  Bruno Haible  <bruno@clisp.org>
6226
6227         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
6228         binaries built on the original Solaris 10.
6229         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
6230         trivial.
6231
6232 2011-09-05  Bruno Haible  <bruno@clisp.org>
6233
6234         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
6235         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
6236         10.
6237         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
6238         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
6239         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
6240         instead of acl_get, facl_get, acl_set, facl_set.
6241
6242 2011-09-05  Bruno Haible  <bruno@clisp.org>
6243
6244         copy-file: Try unit tests on more file systems.
6245         * tests/test-copy-file-1.sh: New file.
6246         * tests/test-copy-file-2.sh: New file.
6247         * modules/copy-file-tests (Files): Add them.
6248         (Makefile.am): Add them to TESTS.
6249
6250         acl: Try unit tests on more file systems.
6251         * tests/test-file-has-acl-1.sh: New file.
6252         * tests/test-file-has-acl-2.sh: New file.
6253         * tests/test-set-mode-acl-1.sh: New file.
6254         * tests/test-set-mode-acl-2.sh: New file.
6255         * tests/test-copy-acl-1.sh: New file.
6256         * tests/test-copy-acl-2.sh: New file.
6257         * modules/acl-tests (Files): Add them.
6258         (Makefile.am): Add them to TESTS.
6259
6260 2011-09-04  Bruno Haible  <bruno@clisp.org>
6261
6262         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
6263         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
6264         10.
6265         (OLD_ALLOW, OLD_DENY): New macros.
6266         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
6267         ACE_ACCESS_ALLOWED_ACE_TYPE.
6268         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
6269         ACE_ACCESS_DENIED_ACE_TYPE.
6270         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
6271         (NEW_ACE_EXECUTE): Fix value.
6272         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
6273         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
6274         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
6275         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
6276         NEW_ACE_SYNCHRONIZE): New macros.
6277         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
6278         instead of acl_fromtext, acl_set, facl_set.
6279         Fixes a coreutils/tests/cp/perm failure.
6280
6281 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
6282
6283         openat: test for fstatat (..., 0) bug
6284         Further testing with tar suggests that fstatat (..., 0)
6285         does not work in general, on AIX 7.1; see
6286         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
6287         So, give up entirely on AIX 7.1's fstatat, and fall back on our
6288         replacement fstatat (which is what older AIX releases were using
6289         anyway).
6290         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
6291         use is now changed to orig_fstatat.  This was probably the right
6292         thing to do anyway.
6293         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
6294         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
6295         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
6296         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
6297         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
6298         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
6299         if the bug is found.
6300
6301         openat: test for fstatat (AT_FDCWD, ..., 0) bug
6302         This tests for another fstatat bug on AIX 7.1:
6303         fstatat (AT_FDCWD, ..., 0) does not work.  See
6304         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
6305         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
6306         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
6307         (rpl_fstatat): Adjust so that it works around either (or both)
6308         bugs if present.
6309         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
6310
6311 2011-09-03  Karl Berry  <karl@gnu.org>
6312
6313         * doc/regex.texi (Character Class Operators): Avoid literal ":"
6314         in index entries.
6315
6316 2011-09-02  Bruno Haible  <bruno@clisp.org>
6317
6318         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
6319         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
6320         values of AR, ARFLAGS, RANLIB.
6321         Reported by John W. Eaton <jwe@gnu.org> for Octave.
6322
6323 2011-09-02  Bruno Haible  <bruno@clisp.org>
6324
6325         Find 'ar' program that fits with --host argument.
6326         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
6327
6328 2011-09-02  Bruno Haible  <bruno@clisp.org>
6329
6330         tests: init.sh: Support any non-GNU diff.
6331         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
6332         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
6333         Solaris 8.
6334
6335 2011-09-02  Bruno Haible  <bruno@clisp.org>
6336
6337         tests: init.sh: work also with any non-GNU diff that supports -u
6338         * tests/init.sh: Relax check for diff -u support.
6339         Rather than checking for GNU diff via --version, simply check
6340         for support for -u itself.  Useful at least on OpenBSD 4.9,
6341         AIX 7.1, IRIX 6.5, and Solaris 10.
6342
6343 2011-09-01  Bruno Haible  <bruno@clisp.org>
6344
6345         strtoimax, strtoumax: Document problem on HP-UX 11.
6346         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
6347         * doc/posix-functions/strtoumax.texi: Likewise.
6348
6349 2011-09-01  Bruno Haible  <bruno@clisp.org>
6350
6351         strtoumax: Avoid link error on OSF/1 with DTK cc.
6352         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
6353         defined as a function.
6354         * modules/strtoumax (Depends-on, configure.ac): Test only whether
6355         strtoumax is defined, not whether it is declared.
6356
6357 2011-09-01  Bruno Haible  <bruno@clisp.org>
6358
6359         strtoimax: Avoid link error on OSF/1 with DTK cc.
6360         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
6361         defined as a function.
6362         * modules/strtoimax (Depends-on, configure.ac): Test only whether
6363         strtoimax is defined, not whether it is declared.
6364
6365 2011-09-01  Bruno Haible  <bruno@clisp.org>
6366
6367         imaxdiv: Avoid link error on OSF/1 with DTK cc.
6368         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
6369         as a function.
6370         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
6371         whether it is declared.
6372
6373 2011-09-01  Bruno Haible  <bruno@clisp.org>
6374
6375         imaxabs: Avoid link error on OSF/1 with DTK cc.
6376         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
6377         as a function.
6378         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
6379         whether it is declared.
6380
6381 2011-09-01  Bruno Haible  <bruno@clisp.org>
6382
6383         Tests for module 'strtoumax'.
6384         * modules/strtoumax-tests: New file.
6385         * tests/test-strtoumax.c: New file.
6386
6387         Tests for module 'strtoimax'.
6388         * modules/strtoimax-tests: New file.
6389         * tests/test-strtoimax.c: New file.
6390
6391         Tests for module 'imaxdiv'.
6392         * modules/imaxdiv-tests: New file.
6393         * tests/test-imaxdiv.c: New file.
6394
6395         Tests for module 'imaxabs'.
6396         * modules/imaxabs-tests: New file.
6397         * tests/test-imaxabs.c: New file.
6398
6399 2011-09-01  Bruno Haible  <bruno@clisp.org>
6400
6401         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
6402         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
6403         pthread_create.
6404
6405 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6406
6407         openat: work around AIX 7.1 fstatat issue
6408         This should fix the problem that was not properly fixed
6409         in the previous change, dated 2011-08-30.
6410         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
6411         __need_system_stat_h defined.
6412         (orig_fstatat) [HAVE_FSTATAT]: New function.
6413         (rpl_fstatat): Go back to the old way of doing things,
6414         except call orig_fstatat instead of fstatat.
6415         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
6416         Remove unnecessary check whether fstatat fills in st_size etc.
6417
6418 2011-09-01  Bruno Haible  <bruno@clisp.org>
6419
6420         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
6421         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
6422         just include the system's header.
6423
6424 2011-08-31  Jim Meyering  <meyering@redhat.com>
6425
6426         tests: avoid spurious assertion failure in test-float.c on ppc64
6427         * tests/test-float.c (test_long_double): Comment out an assertion,
6428         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
6429         with gcc-4.4.4.
6430
6431         maint: indent with spaces, not TABs
6432         I need to get in the habit of running gnulib's "make check".
6433         Both of these would have been caught.
6434         * m4/largefile.m4: Indent with spaces, not TABs.
6435         * lib/parse-datetime.y (iso_8601_time): Likewise.
6436         Spotted by Pádraig Brady.
6437
6438         test-parse-datetime.c: accommodate a relatively strict gcc warning
6439         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
6440         to avoid a warning from gcc's -Werror=missing-declarations.
6441         Insert a few spaces-before-funcall-parenthesis.
6442
6443 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
6444
6445         parse-datetime: accept ISO 8601 date and time rep with "T" separator
6446         The parser now accepts ISO 8601 date-time strings with "T" as the
6447         separator.  It has long parsed dates like "2004-02-29 16:21:42"
6448         with a space between the date and time strings.  Now it also parses
6449         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
6450         variants like "2004-02-29T16:21:42.333-07:00"
6451         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
6452         of day representation using the 'T' separator character.
6453         * doc/parse-datetime.texi (General date syntax): replace use of
6454         deprecated --iso-8601 option with --rfc-3339 in example of date
6455         command output formats that can be parsed.
6456         * tests/test-parse-datetime.c (tm_diff): New function, taken from
6457         lib/parse-datetime.y.
6458         (gmt_offset): New function.
6459         (main): Add additional test cases to validate ISO8601 extended
6460         date and time of day parsing.
6461
6462 2011-08-31  Bruno Haible  <bruno@clisp.org>
6463
6464         freopen: Documentation.
6465         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
6466         name.
6467         Reported by Claudio Bley <claudio.bley@gmail.com>.
6468
6469 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
6470
6471         freopen: Don't crash if the filename argument is NULL.
6472         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
6473         NULL.
6474
6475 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6476
6477         openat: work around AIX 7.1 fstatat bug
6478         Problem reported by Kevin Brott for GNU tar, in the thread containing
6479         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
6480         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
6481         FSTATAT_ST_SIZE_ETC_BROKEN.
6482         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
6483         rpl_fstatat.
6484         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
6485         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
6486         AC_CHECK_FUNCS_ONCE for fstatat.
6487         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
6488         fchmodat, mkdirat, openat and unlinkat.
6489
6490 2011-08-30  Bruno Haible  <bruno@clisp.org>
6491
6492         Avoid endless recursions if config.h includes some header files.
6493         * lib/fopen.c (__need_FILE): Define already before including config.h.
6494         * lib/freopen.c (__need_FILE): Likewise.
6495         * lib/open.c (__need_system_fcntl_h): Likewise.
6496         * lib/stat.c (__need_system_sys_stat_h): Likewise.
6497         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
6498         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6499
6500 2011-08-25  Karl Berry  <karl@gnu.org>
6501
6502         * config/srclist.txt (ylwrap): new try.
6503         * build-aux/ylwrap: new file.
6504
6505 2011-08-23  Bruno Haible  <bruno@clisp.org>
6506
6507         tmpdir: Use a good default directory on native Windows.
6508         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
6509         (P_tmpdir): Default to _P_tmpdir on native Windows.
6510         (path_search): On native Windows, try the value returned by GetTempPath
6511         before trying P_tmpdir.
6512         * modules/tmpdir (Depends-on): Add pathmax.
6513         Suggested by John Darrington <john@darrington.wattle.id.au>.
6514
6515 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
6516
6517         doc: fix typo in README-release
6518         * top/README-release: Capitalize first word of a sentence.
6519
6520 2011-08-19  Jim Meyering  <meyering@redhat.com>
6521
6522         fts: do not exhaust memory when processing million-entry directories
6523         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
6524         directory would require about 256*N bytes of memory.  Thus, it was
6525         easy to construct a directory too large to be processed by any of
6526         those tools.  With this change, fts' maximum memory utilization is
6527         now limited to around 30MB.
6528         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
6529         (fts_read): When we've processed the final entry (i.e., when
6530         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
6531         using the parent entry to read any remaining entries.  Dispatch
6532         depending on what fts_build returns:
6533         - NULL+stop, aka failure: stop
6534         - NULL otherwise: move up in the dir hierarchy
6535         - non-NULL: handle this new entry
6536         (fts_build): Declare and use new local, continue_readdir.
6537         Prepare to be called from fts_read, when the entries
6538         from a partially-read directory have just been exhausted.
6539         In that case, we'll skip the opendir and instead use the parent's
6540         fts_dirp and derive dir_fd from that.
6541         Finally, in the readdir loop, if we read max_entries entries,
6542         exit the loop ensuring *not* to call closedir.  This is required
6543         so that fts_dirp can be reused on a subsequent call.
6544         Prompted by Ben England's report of memory exhaustion in find
6545         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
6546
6547         maint: fts: move decl of `dp' down into while loop; split a long line
6548         * lib/fts.c (fts_build): No semantic change.
6549
6550         fts: add/use new struct member, fts_dirp
6551         We are about to use this to manage any directory with
6552         too many entries to read all of them into memory at once.
6553         To do that, we'll need to save the DIR* pointer in each
6554         affected FTSENT struct.
6555         * lib/fts_.h: Include <dirent.h>.
6556         (struct FTSENT) [fts_dirp]: New member.
6557         * lib/fts.c (closedir_and_clear): Define.
6558         Use it in place of closedir so that we are sure to
6559         clear the new fts_dirp member when done with it.
6560         (fts_alloc): Initialize the new member.
6561         (fts_lfree): Free, if needed.
6562
6563         maint: fts: give __opendir2 a new parameter and rename
6564         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
6565         than surreptitiously using sole caller's "dir_fd".
6566         (fts_opendir): Rename from __opendir2.
6567
6568         maint: fts.c: remove __opendir2's now-unused parameter, oflag
6569         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
6570
6571         maint: fts.c: correct off-by-one indentation
6572         * lib/fts.c (fts_build): Correct indentation, change style
6573         of a couple of block comments, and bracing style.
6574
6575         maint: fts.c: move __opendir2 #define "up" out of function body
6576         * lib/fts.c (__opendir2): Move "up".  No semantic change.
6577
6578         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
6579         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
6580         out for a long time and besides was useful only on BSD systems.
6581
6582 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
6583
6584         regex: port to Stratus OpenVOS
6585         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
6586         define to empty, rather than attempting nonportable optimizations.
6587         Problem reported by Paul Green in:
6588         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
6589         and fix suggested by Eric Blake in:
6590         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
6591
6592 2011-08-17  Eric Blake  <eblake@redhat.com>
6593
6594         getcwd: fix test failures on mingw
6595         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
6596         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
6597         test if long directory cannot be created, and allow mingw errno.
6598
6599         getcwd-lgpl: fix m4 to match relaxed test for BSD
6600         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
6601         (gl_FUNC_GETCWD_SIGNATURE): New macro.
6602         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
6603         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
6604         signature problem.
6605
6606         getcwd: fix compilation on mingw64
6607         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
6608         getcwd.
6609         Reported by Marc-André Lureau.
6610
6611         pipe2: silence compiler warning
6612         * lib/pipe2.c (pipe2): Hide label if it is not used.
6613
6614 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
6615
6616         relocatable-prog: fix link error
6617         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
6618         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
6619         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
6620         into modules/relocatable-lib without noticing that
6621         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
6622         also needs to build relocatable.c.
6623
6624 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
6625
6626         getaddrinfo: fix sh typo in gai_strerrorA decl checking
6627         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
6628         shell code: it contained a 'break' that was not in a loop.
6629         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
6630         via a shell-language loop; this may have been true in old Autoconf
6631         versions, but it's not true in Autoconf 2.68.  I found this bug
6632         when testing coreutils git on Solaris 8, whose shell complains
6633         about the syntax error.
6634
6635 2011-08-12  Simon Josefsson  <simon@josefsson.org>
6636
6637         * lib/base64.c: Fix comment to reference RFC 4648.
6638         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
6639         <gvtulder@gmail.com>.
6640
6641 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
6642
6643         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
6644
6645         po/Makefile.in.in: fix make -q problem
6646         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
6647         rule, since there's no file named 'check-macro-version' and its
6648         use as a file breaks make -q.
6649         (all): Don't depend on check-macro-version.
6650         (CHECK_MACRO_VERSION): New macro.
6651         (stamp-po): Use it.
6652
6653         configmake: fix make -q problem
6654         * modules/configmake (configmake.h): Update configmake.h's time stamp
6655         even if the file does not change.  Otherwise, 'make -q' fails.
6656         Problem reported by Simon Josefsson in
6657         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
6658
6659 2011-08-11  Jim Meyering  <meyering@redhat.com>
6660
6661         git-version-gen: correct the advice in a comment
6662         * build-aux/git-version-gen: Correct comment.
6663         Don't recommend to list .tarball-version in .gitignore.
6664
6665 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
6666
6667         base64: fix off-by-one buffer size bug
6668         Problem and (trivial) fix reported by Gijs van Tulder in
6669         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
6670         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
6671         * tests/test-base64.c (main): Catch the bug.
6672
6673 2011-08-10  Eric Blake  <eblake@redhat.com>
6674
6675         closein: correct comments
6676         * lib/closein.c (close_stdin): Improve comments.
6677
6678 2011-08-09  Bruno Haible  <bruno@clisp.org>
6679
6680         More tests for 'fseeko'.
6681         * tests/test-fseeko3.c: New file, from Eric Blake.
6682         * tests/test-fseeko3.sh: New file.
6683         * modules/fseeko-tests (Files): Add them.
6684         (TESTS): Add test-fseeko3.sh.
6685         (check_PROGRAMS): Add test-fseeko3.
6686
6687 2011-08-09  Eric Blake  <eblake@redhat.com>
6688
6689         fseeko: remove unneeded hack
6690         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
6691
6692         fseeko: fix bug on glibc
6693         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
6694         Reported by John W. Eaton.
6695
6696 2011-08-08  Bruno Haible  <bruno@clisp.org>
6697
6698         unictype/base: Fix interoperability with preinstalled libunistring.
6699         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
6700         Reported by Simon Josefsson.
6701
6702 2011-08-08  Bruno Haible  <bruno@clisp.org>
6703
6704         iswblank: Detect declaration correctly.
6705         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
6706         AC_CHECK_DECLS invocation.
6707
6708 2011-08-08  Bruno Haible  <bruno@clisp.org>
6709
6710         tcgetsid: Detect declaration correctly.
6711         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
6712         AC_CHECK_DECLS invocation.
6713         Reported by Simon Josefsson.
6714
6715 2011-08-08  Eric Blake  <eblake@redhat.com>
6716
6717         largefile: fix typo that regressed large file support
6718         * modules/largefile (configure.ac-early): Fix section name.
6719
6720 2011-08-06  Karl Berry  <karl@gnu.org>
6721
6722         * MODULES.html.sh (func_all_files): _Noreturn is no longer
6723         a separate module.
6724
6725 2011-08-05  Simon Josefsson  <simon@josefsson.org>
6726
6727         openat: Fix warnings and commens when building unlinkat.c on Hurd.
6728         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
6729         get prototype for free.
6730
6731 2011-08-04  Bruno Haible  <bruno@clisp.org>
6732
6733         Tests for module 'pathmax'.
6734         * modules/pathmax-tests: New file.
6735         * tests/test-pathmax.c: New file.
6736
6737         canonicalize-lgpl: Support larger filenames on the Hurd.
6738         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
6739         Reported by Paul Eggert.
6740
6741         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
6742         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
6743         * lib/chdir-long.h: Include pathmax.h.
6744         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
6745         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
6746         (PATH_MAX): Remove code that is done by pathmax.h.
6747         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
6748         * lib/tmpfile.c: Add a comment.
6749         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
6750         * modules/chdir-long (Depends-on): Add pathmax.
6751         * modules/getcwd (Depends-on): Add pathmax.
6752         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
6753         is not defined.
6754         * doc/posix-headers/limits.texi: Mention the pathmax module.
6755         * NEWS: Mention the change.
6756
6757 2011-08-02  Bruno Haible  <bruno@clisp.org>
6758
6759         pthread_sigmask: Actually use results of gl_THREADLIB.
6760         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
6761         gl_THREADLIB, not gl_[]THREADLIB.
6762         Reported by Eric Blake.
6763
6764 2011-08-02  Jim Meyering  <meyering@redhat.com>
6765
6766         maint.mk: relax the default _gl_TS_function_match regexp
6767         * top/maint.mk (_gl_TS_function_match): Don't require at least one
6768         space between function name and "(" in an "extern" declaration.
6769         That would fail to match a decl with no space there: extern void foo();
6770
6771 2011-07-31  Iain Nicol  <iain@thenicols.net>
6772
6773         git-version-gen: document that EXTRA_DIST must include .version
6774         * build-aux/git-version-gen: In the how-to-use comment, document
6775         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
6776         will fail when run from an unpacked distribution tarball.
6777
6778 2011-08-01  Bruno Haible  <bruno@clisp.org>
6779
6780         wctype-h: Fix last change.
6781         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
6782         REPLACE_TOWLOWER to 0.
6783         Reported by Sam Steingold <sds@gnu.org>.
6784
6785 2011-07-31  Bruno Haible  <bruno@clisp.org>
6786
6787         frexpl: Update autoconf test.
6788         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
6789         according to changes of 2011-06-20.
6790
6791 2011-07-31  Bruno Haible  <bruno@clisp.org>
6792
6793         sys_utsname: Add support for Minix.
6794         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
6795         <sys/utsname.h>.
6796         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6797         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
6798
6799 2011-07-31  Bruno Haible  <bruno@clisp.org>
6800
6801         strings: Add support for Minix.
6802         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
6803         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
6804         * doc/posix-headers/strings.texi: Document the Minix problem.
6805
6806 2011-07-31  Bruno Haible  <bruno@clisp.org>
6807
6808         wctype-h: Add support for Minix.
6809         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
6810         REPLACE_TOWLOWER.
6811         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
6812         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
6813         REPLACE_ISWCNTRL.
6814
6815 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
6816
6817         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
6818         This is a performance improvement for 64-bit hosts: it causes the
6819         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
6820
6821 2011-07-31  Bruno Haible  <bruno@clisp.org>
6822
6823         stdioext: Add support for Minix.
6824         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
6825         * lib/fpurge.c (fpurge): Likewise.
6826         * lib/freadahead.c (freadahead): Likewise.
6827         * lib/freadable.c (freadable): Likewise.
6828         * lib/freading.c (freading): Likewise.
6829         * lib/freadptr.c (freadptr): Likewise.
6830         * lib/freadseek.c (freadptrinc): Likewise.
6831         * lib/fseeko.c (rpl_fseeko): Likewise.
6832         * lib/fseterr.c (fseterr): Likewise.
6833         * lib/fwritable.c (fwritable): Likewise.
6834         * lib/fwriting.c (fwriting): Likewise.
6835         * lib/fflush.c (clear_ungetc_buffer): Update comment.
6836         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
6837
6838 2011-07-31  Bruno Haible  <bruno@clisp.org>
6839
6840         errno: Port to Minix.
6841         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
6842         ECONNABORTED are defined.
6843         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
6844         GNULIB_defined_ECONNABORTED): New macros.
6845         * lib/strerror-override.h (strerror_override): Test also
6846         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
6847         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
6848         ECONNABORTED.
6849         * doc/posix-headers/errno.texi: Mention the Minix problem.
6850
6851 2011-07-31  Bruno Haible  <bruno@clisp.org>
6852
6853         Work around declaration collisions on Minix.
6854         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
6855         defined, set REPLACE_MBSINIT.
6856         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
6857         defined, set REPLACE_MBRTOWC.
6858         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
6859         set REPLACE_MBRLEN.
6860         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
6861         defined, set REPLACE_MBSRTOWCS.
6862         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
6863         defined, set REPLACE_WCRTOMB.
6864         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
6865         defined, set REPLACE_WCSRTOMBS.
6866
6867 2011-07-31  Bruno Haible  <bruno@clisp.org>
6868
6869         Add support for Minix with ACK compiler.
6870         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
6871         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
6872         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
6873
6874 2011-07-31  Bruno Haible  <bruno@clisp.org>
6875
6876         Documentation about Minix.
6877         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
6878         * doc/glibc-headers/*.texi: Likewise.
6879         * doc/posix-functions/*.texi: Likewise.
6880         * doc/glibc-functions/*.texi: Likewise.
6881
6882 2011-07-31  Bruno Haible  <bruno@clisp.org>
6883
6884         snippet/warn-on-use: Fix indentation.
6885         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
6886
6887 2011-07-25  Jim Meyering  <meyering@redhat.com>
6888
6889         tests: test-update-copyright.sh: remove unnecessary "rm" commands
6890         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
6891         commands.
6892
6893 2011-07-27  Jim Meyering  <meyering@redhat.com>
6894
6895         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
6896         * top/maint.mk (gl_extract_significant_defines_): Now that
6897         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
6898         gnulib/lib/signal.in.h, and now that we recommend to
6899         define-if-undefined those two symbols in application code,
6900         we must filter them out of the "significant" list.
6901         This avoids a "make syntax-check" failure in coreutils.
6902
6903 2011-07-26  Eric Blake  <eblake@redhat.com>
6904
6905         warnings: add comments about previous patch
6906         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
6907         * m4/include_next.m4: Likewise.
6908         * m4/warn-on-use.m4: Likewise.
6909         * m4/warnings.m4: Likewise, and simplify use.
6910         Suggested by Stefano Lattarini.
6911
6912         include-next, warnings: support older autoconf
6913         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
6914         AS_VAR_PUSHDEF in a way that works with older autoconf.
6915         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
6916         Reported by Daniel P. Berrange.
6917
6918 2011-07-25  Bruno Haible  <bruno@clisp.org>
6919
6920         fseek, ftell: Fix doc.
6921         * doc/posix-functions/fseek.texi: Reword statement about
6922         AC_SYS_LARGEFILE.
6923         * doc/posix-functions/ftell.texi: Likewise.
6924
6925 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
6926             Bruno Haible  <bruno@clisp.org>
6927
6928         Add dependencies to the 'largefile' module.
6929         * modules/fopen (Depends-on): Add 'largefile'.
6930         * modules/freopen (Depends-on): Likewise.
6931         * modules/fseeko (Depends-on): Likewise.
6932         * modules/ftello (Depends-on): Likewise.
6933         * modules/glob (Depends-on): Likewise.
6934         * modules/lseek (Depends-on): Likewise.
6935         * modules/lstat (Depends-on): Likewise.
6936         * modules/mkostemp (Depends-on): Likewise.
6937         * modules/mkostemps (Depends-on): Likewise.
6938         * modules/mkstemp (Depends-on): Likewise.
6939         * modules/mkstemps (Depends-on): Likewise.
6940         * modules/open (Depends-on): Likewise.
6941         * modules/openat (Depends-on): Likewise.
6942         * modules/pread (Depends-on): Likewise.
6943         * modules/pwrite (Depends-on): Likewise.
6944         * modules/scandir (Depends-on): Likewise.
6945         * modules/stat (Depends-on): Likewise.
6946         * modules/tmpfile (Depends-on): Likewise.
6947         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
6948         since the containing module now depends on the largefile module.
6949         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
6950         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
6951         off_t is fixed by gnulib.
6952         * doc/posix-functions/freopen.texi: Likewise.
6953         * doc/posix-functions/fseeko.texi: Likewise.
6954         * doc/posix-functions/fstatat.texi: Likewise.
6955         * doc/posix-functions/ftello.texi: Likewise.
6956         * doc/posix-functions/glob.texi: Likewise.
6957         * doc/posix-functions/lseek.texi: Likewise.
6958         * doc/posix-functions/lstat.texi: Likewise.
6959         * doc/posix-functions/mkstemp.texi: Likewise.
6960         * doc/posix-functions/open.texi: Likewise.
6961         * doc/posix-functions/openat.texi: Likewise.
6962         * doc/posix-functions/pread.texi: Likewise.
6963         * doc/posix-functions/pwrite.texi: Likewise.
6964         * doc/posix-functions/scandir.texi: Likewise.
6965         * doc/posix-functions/stat.texi: Likewise.
6966         * doc/posix-functions/tmpfile.texi: Likewise.
6967         * doc/glibc-functions/mkostemp.texi: Likewise.
6968         * doc/glibc-functions/mkostemps.texi: Likewise.
6969         * doc/glibc-functions/mkstemps.texi: Likewise.
6970
6971 2011-07-25  Bruno Haible  <bruno@clisp.org>
6972
6973         fcntl: Move AC_LIBOBJ invocation to module description.
6974         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
6975         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
6976
6977         fcntl: Remove call-in from fchdir.m4.
6978         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
6979         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
6980
6981         dup3: Remove potential call-in from fchdir.m4.
6982         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
6983         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
6984
6985         dup2: Move AC_LIBOBJ invocation to module description.
6986         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
6987         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
6988         Don't invoke AC_LIBOBJ.
6989         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
6990
6991         dup2: Remove call-in from fchdir.m4.
6992         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
6993         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
6994
6995         fclose: Move AC_LIBOBJ invocation to module description.
6996         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
6997         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
6998         to 1.
6999         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
7000
7001         fclose: Remove call-in from close.m4.
7002         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
7003         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
7004
7005         close: Move AC_LIBOBJ invocation to module description.
7006         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
7007         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
7008         1.
7009         * modules/close (configure.ac): Invoke AC_LIBOBJ.
7010
7011         close: Remove call-in from fchdir.m4.
7012         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
7013         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
7014
7015         open: Move AC_LIBOBJ invocation to module description.
7016         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
7017         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
7018         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
7019
7020         open: Remove call-in from fchdir.m4.
7021         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
7022         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
7023
7024         fchdir: Start to remove gl_REPLACE_* idiom.
7025         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
7026         (gl_FUNC_FCHDIR): Invoke it.
7027
7028 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7029
7030         * lib/ftell.c (ftell): Comment out cast.
7031
7032         close: use gl_REPLACE_FCLOSE only if defined
7033         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
7034         is defined.  The close module doesn't depend on the fclose module
7035         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
7036         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
7037         I reproduced the problem with "./gnulib-tool --test close sys_socket".
7038
7039 2011-07-24  Jim Meyering  <meyering@redhat.com>
7040
7041         test-select.h: avoid warning when using gcc's -Wmissing-declarations
7042         * tests/test-select.h (test_function): Declare as "static".
7043
7044 2011-07-24  Bruno Haible  <bruno@clisp.org>
7045
7046         doc: Mention the effects of AC_SYS_LARGEFILE.
7047         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
7048         on this function.
7049         * doc/posix-functions/aio_error.texi: Likewise.
7050         * doc/posix-functions/aio_fsync.texi: Likewise.
7051         * doc/posix-functions/aio_read.texi: Likewise.
7052         * doc/posix-functions/aio_return.texi: Likewise.
7053         * doc/posix-functions/aio_suspend.texi: Likewise.
7054         * doc/posix-functions/aio_write.texi: Likewise.
7055         * doc/posix-functions/fgetpos.texi: Likewise.
7056         * doc/posix-functions/fopen.texi: Likewise.
7057         * doc/posix-functions/freopen.texi: Likewise.
7058         * doc/posix-functions/fsetpos.texi: Likewise.
7059         * doc/posix-functions/fstatvfs.texi: Likewise.
7060         * doc/posix-functions/ftruncate.texi: Likewise.
7061         * doc/posix-functions/ftw.texi: Likewise.
7062         * doc/posix-functions/getrlimit.texi: Likewise.
7063         * doc/posix-functions/glob.texi: Likewise.
7064         * doc/posix-functions/lio_listio.texi: Likewise.
7065         * doc/posix-functions/lockf.texi: Likewise.
7066         * doc/posix-functions/mkstemp.texi: Likewise.
7067         * doc/posix-functions/mmap.texi: Likewise.
7068         * doc/posix-functions/nftw.texi: Likewise.
7069         * doc/posix-functions/openat.texi: Likewise.
7070         * doc/posix-functions/opendir.texi: Likewise.
7071         * doc/posix-functions/posix_fadvise.texi: Likewise.
7072         * doc/posix-functions/posix_fallocate.texi: Likewise.
7073         * doc/posix-functions/pread.texi: Likewise.
7074         * doc/posix-functions/pwrite.texi: Likewise.
7075         * doc/posix-functions/readdir.texi: Likewise.
7076         * doc/posix-functions/readdir_r.texi: Likewise.
7077         * doc/posix-functions/rewinddir.texi: Likewise.
7078         * doc/posix-functions/scandir.texi: Likewise.
7079         * doc/posix-functions/seekdir.texi: Likewise.
7080         * doc/posix-functions/setrlimit.texi: Likewise.
7081         * doc/posix-functions/statvfs.texi: Likewise.
7082         * doc/posix-functions/telldir.texi: Likewise.
7083         * doc/posix-functions/tmpfile.texi: Likewise.
7084         * doc/posix-functions/truncate.texi: Likewise.
7085         * doc/glibc-functions/fallocate.texi: Likewise.
7086         * doc/glibc-functions/fstatfs.texi: Likewise.
7087         * doc/glibc-functions/fts_children.texi: Likewise.
7088         * doc/glibc-functions/fts_read.texi: Likewise.
7089         * doc/glibc-functions/getdirentries.texi: Likewise.
7090         * doc/glibc-functions/mkostemp.texi: Likewise.
7091         * doc/glibc-functions/mkostemps.texi: Likewise.
7092         * doc/glibc-functions/mkstemps.texi: Likewise.
7093         * doc/glibc-functions/preadv.texi: Likewise.
7094         * doc/glibc-functions/pwritev.texi: Likewise.
7095         * doc/glibc-functions/sendfile.texi: Likewise.
7096         * doc/glibc-functions/statfs.texi: Likewise.
7097
7098 2011-07-24  Bruno Haible  <bruno@clisp.org>
7099
7100         doc: Fix typo.
7101         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
7102
7103 2011-07-24  Bruno Haible  <bruno@clisp.org>
7104
7105         doc: Mention fsusage.
7106         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
7107
7108 2011-07-24  Bruno Haible  <bruno@clisp.org>
7109
7110         doc: Mention new glibc headers and functions.
7111         * doc/glibc-headers/gshadow.texi: New file.
7112         * doc/glibc-functions/endsgent.texi: New file.
7113         * doc/glibc-functions/fgetsgent.texi: New file.
7114         * doc/glibc-functions/fgetsgent_r.texi: New file.
7115         * doc/glibc-functions/getsgent.texi: New file.
7116         * doc/glibc-functions/getsgent_r.texi: New file.
7117         * doc/glibc-functions/getsgnam.texi: New file.
7118         * doc/glibc-functions/getsgnam_r.texi: New file.
7119         * doc/glibc-functions/putsgent.texi: New file.
7120         * doc/glibc-functions/setsgent.texi: New file.
7121         * doc/glibc-functions/sgetsgent.texi: New file.
7122         * doc/glibc-functions/sgetsgent_r.texi: New file.
7123         * doc/glibc-functions/malloc_info.texi: New file.
7124         * doc/glibc-functions/preadv.texi: New file.
7125         * doc/glibc-functions/pwritev.texi: New file.
7126         * doc/glibc-functions/register_printf_modifier.texi: New file.
7127         * doc/glibc-functions/register_printf_specifier.texi: New file.
7128         * doc/glibc-functions/register_printf_type.texi: New file.
7129         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
7130         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
7131         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
7132         * doc/glibc-functions/pthread_getname_np.texi: New file.
7133         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
7134         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
7135         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
7136         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
7137         * doc/glibc-functions/pthread_setname_np.texi: New file.
7138         * doc/glibc-functions/pthread_sigqueue.texi: New file.
7139         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
7140         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
7141         * doc/glibc-functions/qsort_r.texi: New file.
7142         * doc/glibc-functions/quick_exit.texi: New file.
7143         * doc/glibc-functions/syncfs.texi: New file.
7144         * doc/gnulib.texi: Include them.
7145         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
7146         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
7147         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
7148         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
7149         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
7150         * doc/glibc-functions/execvpe.texi: Likewise.
7151
7152 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7153
7154         ftell: don't include <unistd.h>
7155         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
7156         guaranteed to define off_t, and the ftell module depends on the
7157         stdio module.
7158
7159         ftell: do not assume wraparound signed arithmetic
7160         * lib/ftell.c: Include <limits.h>.
7161         (ftell): Don't assume wraparound signed arithmetic.
7162
7163 2011-07-24  Bruno Haible  <bruno@clisp.org>
7164
7165         close: No longer depend on module 'fclose'.
7166         * modules/close (Depends-on): Remove fclose.
7167         * NEWS: Mention the change.
7168         Suggested by Sam Steingold <sds@gnu.org>.
7169
7170 2011-07-24  Bruno Haible  <bruno@clisp.org>
7171
7172         fsusage: Enable large volume support on AIX >= 5.2.
7173         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
7174         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
7175         instead of STAT_STATVFS.
7176         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
7177
7178         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
7179         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
7180         f_blocks field only on MacOS X.
7181
7182         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
7183         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
7184         * modules/fsusage (Depends-on): Add largefile.
7185
7186 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7187
7188         * README: Modernize discussion of signed integers.
7189         Assuming overflow wraparound is no longer safe.
7190         Mention ones' complement and signed magnitude.
7191
7192 2011-07-22  Bruno Haible  <bruno@clisp.org>
7193
7194         select tests, pselect tests: Refactor.
7195         * tests/test-select.h: New file, extracted from tests/test-select.c.
7196         (select_fn): New type.
7197         (test, do_select, do_select_nowait, do_select_wait, test_tty,
7198         test_connect_first, test_accept_first, test_pair, test_socket_pair,
7199         test_pipe): Add my_select argument.
7200         (test_function): Renamed from main. Add my_select argument.
7201         * tests/test-select.c: Move most code to tests/test-select.h. Include
7202         test-select.h.
7203         * modules/select-tests (Files): Add tests/test-select.h.
7204         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
7205         (my_select, main): New functions.
7206         * modules/pselect-tests (Files): Add tests/test-select.h,
7207         tests/macros.h, tests/signature.h.
7208         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
7209         (configure.ac): Check for <sys/wait.h>.
7210
7211 2011-07-22  Bruno Haible  <bruno@clisp.org>
7212
7213         sys_select tests: Check the signature of FD_*.
7214         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
7215         signature tests from here...
7216         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
7217         here.
7218         * modules/sys_select-tests (Files): Add tests/signature.h.
7219
7220 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7221
7222         largefile: new module, replacing large-inode
7223         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
7224         * MODULES.html.sh: Add largefile, remove large-inode.
7225         * modules/largefile, m4/largefile.m4: New files.
7226         * modules/large-inode, m4/large-inode.m4: Remove.
7227
7228         fsusage: port to MacOS X 10.7 with 4 TiB file systems
7229         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
7230         implementations that use only 32 bits to count blocks.
7231         On typical hosts with 1024-byte blocks, this fails with file
7232         systems as small as 4 TiB.  Problem reported by Herb Wartens
7233         <http://debbugs.gnu.org/9140> and this should also fix a similar
7234         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
7235
7236         large-inode: New module
7237         * MODULES.html.sh: Add it.
7238         * modules/large-inode, m4/large-inode.m4: New files.
7239
7240         extensions: Enable extensions on MacOS X 10.5 and later.
7241         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
7242
7243 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
7244
7245         file-has-acl: use acl_extended_file_nofollow if available
7246         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
7247         (acl_extended_file): New macro.
7248         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
7249         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
7250
7251 2011-07-21  Bruno Haible  <bruno@clisp.org>
7252
7253         Declare system functions in a way that works with C++.
7254         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
7255         declare fdopendir as extern "C".
7256         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
7257         declare frexpl as extern "C".
7258         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
7259         declare gai_strerror as extern "C".
7260         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
7261         programs, declare gai_strerror as extern "C".
7262         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
7263         declare getlogin_r as extern "C".
7264         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
7265         as extern "C".
7266         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
7267         declare ldexpl as extern "C".
7268         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
7269         as extern "C".
7270         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
7271         program, declare getmntinfo as extern "C".
7272         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
7273         stpncpy as extern "C".
7274         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
7275         program, declare __xpg_strerror_r as extern "C".
7276         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
7277         strndup as extern "C".
7278         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
7279         declare memset and bzero as extern "C".
7280         Reported by Sam Steingold <sds@gnu.org>.
7281
7282 2011-07-12  Jim Meyering  <meyering@redhat.com>
7283
7284         maint.mk: prohibit inclusion of "verify.h" without use
7285         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
7286
7287 2011-07-19  Pádraig Brady  <P@draigBrady.com>
7288
7289         timer-time: A new module to check for timer_settime()
7290         * m4/timer_time.m4: Check for the posix function.
7291         * modules/timer-time: Add the new module.
7292         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
7293         Mention it.
7294
7295 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
7296             Bruno Haible  <bruno@clisp.org>
7297
7298         pthread_sigmask: assume POSIX threads if --avoid=threadlib
7299         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
7300         not defined, assume POSIX threads and look for pthread_sigmask in
7301         $LIBS, without changing $CPPFLAGS.
7302
7303 2011-07-19  Bruno Haible  <bruno@clisp.org>
7304
7305         strstr: Update cross-compilation guess.
7306         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
7307         CPUs, guess no, in view of glibc
7308         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
7309         Suggested by Eric Blake. Reported by Reuben Thomas.
7310
7311 2011-07-19  Pádraig Brady  <P@draigBrady.com>
7312
7313         getopt-gnu: suppress core dumps from detection code
7314         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
7315         to suppress core dumps that may well occur on glibc systems.
7316         * modules/getopt-gnu: Depend on nocrash.
7317
7318 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7319
7320         pthread_sigmask: ensure usleep is declared
7321         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
7322         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
7323
7324 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
7325
7326         doc: Document NonStop portability issues.
7327         * doc/posix-functions/sigaction.texi (sigaction):
7328         * doc/posix-headers/signal.texi (signal.h):
7329         Document NonStop.  See Joachim Schmitz in
7330         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
7331
7332 2011-07-15  Bruno Haible  <bruno@clisp.org>
7333
7334         ffsl, ffsll: Avoid unportable behaviour.
7335         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
7336
7337 2011-07-15  Bruno Haible  <bruno@clisp.org>
7338
7339         ffs: More tests.
7340         * tests/test-ffs.c (NBITS): New macro.
7341         (main): Add more tests.
7342         * tests/test-ffsl.c (NBITS): New macro.
7343         (main): Add more tests.
7344         * tests/test-ffsll.c (NBITS): New macro.
7345         (main): Add more tests.
7346
7347 2011-07-15  Eric Blake  <eblake@redhat.com>
7348
7349         ffsl, ffsll: new modules
7350         * modules/ffsl: New file.
7351         * modules/ffsll: Likewise.
7352         * m4/ffsl.m4: Likewise.
7353         * m4/ffsll.m4: Likewise.
7354         * lib/ffsl.c: Likewise.
7355         * lib/ffsl.h: Likewise.
7356         * lib/ffsll.c: Likewise.
7357         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
7358         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
7359         * modules/string (Makefile.am): Substitute witnesses.
7360         * lib/strings.in.h (ffsl, ffsll): Declare.
7361         * modules/ffsl-tests: New test file.
7362         * modules/ffsll-tests: Likewise.
7363         * tests/test-ffsl.c: Likewise.
7364         * tests/test-ffsll.c: Likewise.
7365         * MODULES.html.sh (Integer arithmetic functions): Mention it.
7366         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
7367         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
7368
7369         ffs: fix m4 prerequisite
7370         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
7371
7372         ffs: avoid undefined behavior
7373         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
7374         * tests/test-ffs.c (naive, main): Avoid signed shifts.
7375         Reported by Bruno Haible.
7376
7377 2011-07-12  Bruno Haible  <bruno@clisp.org>
7378
7379         pthread_sigmask: Rely on module 'threadlib'.
7380         * modules/pthread_sigmask (Depends-on): Add threadlib.
7381         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
7382         is defined.
7383
7384 2011-07-12  Bruno Haible  <bruno@clisp.org>
7385
7386         regex: Depend on module 'strcase'.
7387         * modules/regex (Depends-on): Add strcase, for strcasecmp().
7388
7389 2011-07-12  Jim Meyering  <meyering@redhat.com>
7390
7391         warn-on-use: fix typo in file name
7392         * modules/snippet/warn-on-use (Files): Correct file name:
7393         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
7394
7395 2011-07-12  Bruno Haible  <bruno@clisp.org>
7396
7397         strings: Document module.
7398         * doc/posix-headers/strings.texi: Mention module 'strings'.
7399
7400 2011-07-12  Bruno Haible  <bruno@clisp.org>
7401
7402         Rename module '_Noreturn' to 'snippet/_Noreturn'.
7403         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
7404         (Files, Makefile.am): Update.
7405         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
7406         * modules/stdlib (Depends-on): Update.
7407
7408 2011-07-12  Bruno Haible  <bruno@clisp.org>
7409
7410         * NEWS: Mention the changes.
7411
7412         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
7413         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
7414         (Files, Makefile.am): Update.
7415         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
7416         * modules/arpa_inet (Depends-on): Update.
7417         * modules/ctype (Depends-on): Update.
7418         * modules/dirent (Depends-on): Update.
7419         * modules/fcntl-h (Depends-on): Update.
7420         * modules/glob (Depends-on): Update.
7421         * modules/iconv-h (Depends-on): Update.
7422         * modules/inttypes-incomplete (Depends-on): Update.
7423         * modules/langinfo (Depends-on): Update.
7424         * modules/locale (Depends-on): Update.
7425         * modules/math (Depends-on): Update.
7426         * modules/netdb (Depends-on): Update.
7427         * modules/poll-h (Depends-on): Update.
7428         * modules/pty (Depends-on): Update.
7429         * modules/search (Depends-on): Update.
7430         * modules/signal (Depends-on): Update.
7431         * modules/spawn (Depends-on): Update.
7432         * modules/stdio (Depends-on): Update.
7433         * modules/stdlib (Depends-on): Update.
7434         * modules/string (Depends-on): Update.
7435         * modules/strings (Depends-on): Update.
7436         * modules/sys_file (Depends-on): Update.
7437         * modules/sys_ioctl (Depends-on): Update.
7438         * modules/sys_select (Depends-on): Update.
7439         * modules/sys_socket (Depends-on): Update.
7440         * modules/sys_stat (Depends-on): Update.
7441         * modules/sys_time (Depends-on): Update.
7442         * modules/sys_times (Depends-on): Update.
7443         * modules/sys_utsname (Depends-on): Update.
7444         * modules/sys_wait (Depends-on): Update.
7445         * modules/termios (Depends-on): Update.
7446         * modules/time (Depends-on): Update.
7447         * modules/unistd (Depends-on): Update.
7448         * modules/wchar (Depends-on): Update.
7449         * modules/wctype-h (Depends-on): Update.
7450         * MODULES.html.sh (Support for building libraries and executables):
7451         Update.
7452
7453         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
7454         * modules/snippet/unused-parameter: Renamed from
7455         modules/unused-parameter.
7456         (Files, Makefile.am): Update.
7457         * build-aux/snippet/unused-parameter.h: Renamed from
7458         build-aux/unused-parameter.h.
7459         * modules/selinux-h (Depends-on): Update.
7460         * modules/unistr/base (Depends-on): Update.
7461         * MODULES.html.sh (Core language properties): Update.
7462
7463         Rename module 'link-warning' to 'snippet/link-warning'.
7464         * modules/snippet/link-warning: Renamed from modules/link-warning.
7465         (Files, Makefile.am): Update.
7466         * build-aux/snippet/link-warning.h: Renamed from
7467         build-aux/link-warning.h.
7468         * MODULES.html.sh (Support for building libraries and executables):
7469         Update.
7470
7471         Rename module 'c++defs' to 'snippet/c++defs'.
7472         * modules/snippet/c++defs: Renamed from modules/c++defs.
7473         (Files, Makefile.am): Update.
7474         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
7475         * modules/arpa_inet (Depends-on): Update.
7476         * modules/ctype (Depends-on): Update.
7477         * modules/dirent (Depends-on): Update.
7478         * modules/fcntl-h (Depends-on): Update.
7479         * modules/glob (Depends-on): Update.
7480         * modules/iconv-h (Depends-on): Update.
7481         * modules/langinfo (Depends-on): Update.
7482         * modules/locale (Depends-on): Update.
7483         * modules/math (Depends-on): Update.
7484         * modules/netdb (Depends-on): Update.
7485         * modules/poll-h (Depends-on): Update.
7486         * modules/pty (Depends-on): Update.
7487         * modules/search (Depends-on): Update.
7488         * modules/signal (Depends-on): Update.
7489         * modules/spawn (Depends-on): Update.
7490         * modules/stdio (Depends-on): Update.
7491         * modules/stdlib (Depends-on): Update.
7492         * modules/string (Depends-on): Update.
7493         * modules/strings (Depends-on): Update.
7494         * modules/sys_ioctl (Depends-on): Update.
7495         * modules/sys_select (Depends-on): Update.
7496         * modules/sys_socket (Depends-on): Update.
7497         * modules/sys_stat (Depends-on): Update.
7498         * modules/sys_time (Depends-on): Update.
7499         * modules/sys_wait (Depends-on): Update.
7500         * modules/termios (Depends-on): Update.
7501         * modules/time (Depends-on): Update.
7502         * modules/unistd (Depends-on): Update.
7503         * modules/wchar (Depends-on): Update.
7504         * modules/wctype-h (Depends-on): Update.
7505
7506         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
7507         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
7508         (Files, Makefile.am): Update.
7509         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
7510         * modules/argv-iter (Depends-on): Update.
7511         * modules/arpa_inet (Depends-on): Update.
7512         * modules/dirent (Depends-on): Update.
7513         * modules/fcntl-h (Depends-on): Update.
7514         * modules/fnmatch (Depends-on): Update.
7515         * modules/getopt-posix (Depends-on): Update.
7516         * modules/glob (Depends-on): Update.
7517         * modules/iconv-h (Depends-on): Update.
7518         * modules/inttypes-incomplete (Depends-on): Update.
7519         * modules/locale (Depends-on): Update.
7520         * modules/math (Depends-on): Update.
7521         * modules/netdb (Depends-on): Update.
7522         * modules/search (Depends-on): Update.
7523         * modules/signal (Depends-on): Update.
7524         * modules/spawn (Depends-on): Update.
7525         * modules/stdio (Depends-on): Update.
7526         * modules/stdlib (Depends-on): Update.
7527         * modules/string (Depends-on): Update.
7528         * modules/strings (Depends-on): Update.
7529         * modules/sys_socket (Depends-on): Update.
7530         * modules/sys_stat (Depends-on): Update.
7531         * modules/sys_time (Depends-on): Update.
7532         * modules/sys_times (Depends-on): Update.
7533         * modules/sys_utsname (Depends-on): Update.
7534         * modules/time (Depends-on): Update.
7535         * modules/unistd (Depends-on): Update.
7536         * modules/wchar (Depends-on): Update.
7537         * MODULES.html.sh (Support for building libraries and executables):
7538         Update.
7539
7540 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
7541
7542         Improvements on _Noreturn and related modules.
7543
7544         modules/_Exit-tests: test _Noreturn too
7545         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
7546         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
7547         (main): Use them.
7548
7549         stdnoreturn, stdnoreturn-tests: remove modules
7550         They're not needed here and a bit premature for use elsewhere.  See
7551         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
7552         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7553         * tests/test-stdnoreturn.c: Remove files.
7554         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
7555         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
7556         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
7557         and using noreturn.
7558         * modules/openat, modules/sigpipe-die, modules/xalloc:
7559         * modules/xmemdup0, modules/xstrtol:
7560         Remove dependency on stdnoreturn.
7561
7562         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
7563         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
7564         Reparenthesize to avoid GCC warning.
7565         Support Microsoft's syntax.
7566         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
7567
7568         _Noreturn-tests: remove module
7569         * modules/_Noreturn-tests: Remove.
7570         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
7571         * tests/test-_Noreturn.c: Remove.
7572         * tests/test-stdnoreturn.c: Merge from the old
7573         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
7574
7575 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
7576
7577         _Noreturn, stdnoreturn, and related modules.
7578
7579         * top/maint.mk: Adjust to new noreturn support.
7580         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
7581         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
7582
7583         xalloc: use stdnoreturn.h
7584         * lib/xalloc.h: Include <stdnoreturn.h>.
7585         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7586         * modules/xalloc (Depends-on): Add stdnoreturn.
7587
7588         xstrtol: use stdnoreturn.h
7589         * lib/xstrtol.h: Include <stdnoreturn.h>.
7590         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7591         * modules/xstrtol (Depends-on): Add stdnoreturn.
7592
7593         xmemdup0: use stdnoreturn.h
7594         * lib/xmemdup0.h: Include <stdnoreturn.h>.
7595         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7596         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
7597
7598         sigpipe-die: use stdnoreturn.h
7599         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
7600         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7601         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
7602
7603         openat: use stdnoreturn.h
7604         * lib/openat.h: Include <stdnoreturn.h>.
7605         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7606         * modules/openat (Depends-on): Add stdnoreturn.
7607
7608         * lib/openat-die.c (openat_save_fail): Modernize comment.
7609
7610         * lib/xalloc-die.c (xalloc_die): Modernize comment.
7611
7612         * lib/glthread/thread.h: Modernize comment.
7613
7614         obstack: use _Noreturn
7615         * lib/obstack.c (__attribute__): Remove macro.
7616         (print_and_abort): Use _Noreturn.
7617
7618         c-stack: use _Noreturn
7619         * lib/c-stack.c (die, overflow_handler, segv_handler):
7620         Use _Noreturn rather than __attribute__((noreturn)).
7621
7622         argmatch-tests, exclude_tests: use _Noreturn
7623         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
7624         Remove.
7625         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
7626
7627         stdlib: use _Noreturn
7628         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
7629         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
7630         * modules/stdlib (Depends-on): Add _Noreturn.
7631         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
7632
7633         stdnoreturn-tests: new module
7634         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
7635
7636         stdnoreturn: new module
7637         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
7638         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
7639
7640         _Noreturn-tests: new module
7641         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
7642
7643         _Noreturn: new module
7644         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
7645         New section, mentioning it.
7646         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
7647
7648         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
7649
7650 2011-07-11  Eric Blake  <eblake@redhat.com>
7651
7652         ffs: new module
7653         * modules/ffs: New file.
7654         * m4/ffs.m4: Likewise.
7655         * lib/ffs.c: Likewise.
7656         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
7657         * modules/strings (Makefile.am): Substitute witness.
7658         (Depends-on): Add c++defs.
7659         * lib/strings.in.h (ffs): Declare.
7660         * modules/ffs-tests: New test file.
7661         * tests/test-ffs.c: Test new module.
7662         * MODULES.html.sh (Integer arithmetic functions): Mention it.
7663         * doc/posix-functions/ffs.texi (ffs): Likewise.
7664
7665         regex: avoid compiler warning
7666         * lib/regex.c (includes): Include <strings.h>, for use of
7667         strcasecmp in regcomp.c.
7668         Reported by Joachim Schmitz.
7669
7670 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
7671
7672         stdint: respect system's intmax_t if INTMAX_MAX
7673         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
7674         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
7675         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
7676         long but int64_t is long long, and where we will clash with the
7677         system intmax_t if we override it.  See
7678         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
7679         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
7680         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
7681         similarly for UINTMAX_C.
7682
7683 2011-07-08  Bruno Haible  <bruno@clisp.org>
7684
7685         pthread_sigmask tests: Avoid a compiler warning.
7686         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
7687         non-zero.
7688
7689         sigprocmask tests: A better way to avoid a compiler warning.
7690         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
7691         (main): Complain if system() returns non-zero.
7692         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
7693
7694 2011-07-08  Bruno Haible  <bruno@clisp.org>
7695
7696         pthread_sigmask: Work around IRIX bug.
7697         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
7698         bug.
7699         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
7700         there may be unblocked pending signals.
7701         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
7702
7703 2011-07-08  Bruno Haible  <bruno@clisp.org>
7704
7705         pthread_sigmask: Work around Cygwin bug.
7706         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
7707         bug.
7708         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
7709         the system's pthread_sigmask function.
7710         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
7711
7712 2011-07-08  Bruno Haible  <bruno@clisp.org>
7713
7714         pthread_sigmask: Work around bug in single-threaded implementation.
7715         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
7716         FreeBSD, HP-UX, Solaris bug.
7717         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
7718         * lib/pthread_sigmask.c: Include <stddef.h>.
7719         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
7720         the system's pthread_sigmask function.
7721         * modules/pthread_sigmask (configure.ac): Invoke
7722         gl_PREREQ_PTHREAD_SIGMASK.
7723         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
7724         HP-UX, Solaris.
7725
7726 2011-07-08  Eric Blake  <eblake@redhat.com>
7727
7728         test-sigprocmask: avoid compiler warning
7729         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
7730         * tests/test-sigprocmask.c (main): Use it to silence warning.
7731         Reported by Jim Meyering.
7732
7733         test-snprintf: avoid compiler warning
7734         * tests/test-snprintf.c (main): Avoid shadowed declaration.
7735         * tests/test-vsnprintf.c (main): Likewise.
7736         Reported by Jim Meyering.
7737
7738 2011-07-08  Bruno Haible  <bruno@clisp.org>
7739
7740         Tests for module 'pthread_sigmask'.
7741         * modules/pthread_sigmask-tests: New file.
7742         * tests/test-pthread_sigmask1.c: New file, based on
7743         tests/test-sigprocmask.c.
7744         * tests/test-pthread_sigmask2.c: New file.
7745
7746 2011-07-08  Jim Meyering  <meyering@redhat.com>
7747
7748         test-getopt.h: avoid warning about an unused variable
7749         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
7750
7751 2011-07-07  Jim Meyering  <meyering@redhat.com>
7752
7753         maint: reduce list of files exempt from sc_prohibit_leading_TABs
7754         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
7755         now that it no longer contains leading TABs.
7756         Remove unused "url=FIXME" statement.
7757
7758 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
7759
7760         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
7761         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
7762         When gl_THREADLIB is not in use, assume that the POSIX sematics
7763         are desired.  This is better for Emacs, which uses POSIX semantics
7764         on GNUish and/or POSIXish platforms, and does not use threads at
7765         all otherwise.
7766
7767         pthread_sigmask: fix typo when testing for libraries
7768         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
7769         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
7770
7771 2011-07-08  Eric Blake  <eblake@redhat.com>
7772
7773         fts: introduce FTS_NOATIME
7774         * lib/fts_.h (FTS_NOATIME): New bit flag.
7775         (FTS_OPTIONMASK): Adjust.
7776         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
7777         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
7778
7779 2011-07-08  Bruno Haible  <bruno@clisp.org>
7780
7781         Tests for module 'thread'.
7782         * modules/thread-tests: New file.
7783         * tests/test-thread_self.c: New file.
7784         * tests/test-thread_create.cc: New file.
7785
7786 2011-07-08  Bruno Haible  <bruno@clisp.org>
7787
7788         thread: Avoid gcc warnings when using gl_thread_self().
7789         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
7790         'void *'.
7791         (gl_thread_self_pointer): Update.
7792
7793 2011-07-07  Bruno Haible  <bruno@clisp.org>
7794
7795         signal-c++-tests: Check declaration of pthread_sigmask.
7796         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
7797         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
7798         $(LIB_PTHREAD_SIGMASK).
7799
7800 2011-07-07  Bruno Haible  <bruno@clisp.org>
7801
7802         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
7803         * lib/signal.in.h (pthread_sigmask): Override if
7804         REPLACE_PTHREAD_SIGMASK is 1.
7805         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
7806         REPLACE_PTHREAD_SIGMASK.
7807         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
7808         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
7809         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
7810         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
7811         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
7812
7813 2011-07-07  Bruno Haible  <bruno@clisp.org>
7814
7815         pthread_sigmask: Ensure declaration in <signal.h>.
7816         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
7817         include <pthread.h>.
7818         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
7819         problem.
7820
7821 2011-07-07  Bruno Haible  <bruno@clisp.org>
7822
7823         pthread_sigmask: Document the module.
7824         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
7825
7826 2011-07-07  Bruno Haible  <bruno@clisp.org>
7827
7828         pthread_sigmask: Follow gnulib conventions.
7829         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
7830         gl_PTHREAD_SIGMASK.
7831         * modules/pthread_sigmask (configure.ac): Update.
7832
7833 2011-07-07  Bruno Haible  <bruno@clisp.org>
7834
7835         pthread_sigmask: Make declaration C++ safe.
7836         * lib/signal.in.h: In two special conditions, just do an #include_next.
7837         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
7838         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
7839         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
7840         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
7841         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
7842         not REPLACE_PTHREAD_MASK.
7843         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
7844         not REPLACE_PTHREAD_MASK.
7845         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
7846
7847 2011-07-07  Bruno Haible  <bruno@clisp.org>
7848
7849         pthread_sigmask: Fix return value.
7850         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
7851         * lib/pthread_sigmask.c: New file.
7852         * modules/pthread_sigmask (Files): Add it.
7853         (configure.ac): Invoke AC_LIBOBJ.
7854
7855 2011-07-07  Eric Blake  <eblake@redhat.com>
7856
7857         getopt: more portable argv creation
7858         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
7859         const, use char arrays rather than strings.
7860         Suggested by Paul Eggert.
7861
7862 2011-07-07  Bruno Haible  <bruno@clisp.org>
7863
7864         Tests for module 'sigprocmask'.
7865         * modules/sigprocmask-tests: New file.
7866         * tests/test-sigprocmask.c: New file.
7867
7868 2011-07-07  Bruno Haible  <bruno@clisp.org>
7869
7870         float tests: Tweak.
7871         * tests/test-float.c (main): Tweak skip message.
7872
7873 2011-07-07  Eric Blake  <eblake@redhat.com>
7874
7875         getopt: avoid compiler warning during configure
7876         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
7877         assigning string literals to non-const pointer.
7878
7879         getopt-gnu: avoid crash in glibc getopt
7880         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
7881         * tests/test-getopt.h (test_getopt): Enhance test.
7882         * tests/test-getopt_long.h (test_getopt_long): Likewise.
7883         * doc/posix-functions/getopt.texi (getopt): Document it.
7884         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
7885         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7886         Likewise.
7887
7888 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
7889
7890         getopt: handle W; without long options in getopt [BZ #12922]
7891         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
7892         but no long options are defined, just return 'W'.
7893
7894 2011-07-07  Bruno Haible  <bruno@clisp.org>
7895
7896         Avoid literal tabs.
7897         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
7898         variable containing a tab instead of a literal tab.
7899         Reported by Jim Meyering.
7900
7901 2011-07-07  Bruno Haible  <bruno@clisp.org>
7902
7903         Comments.
7904         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
7905
7906 2011-07-06  Bruno Haible  <bruno@clisp.org>
7907
7908         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
7909         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
7910         <winsock2.h>.
7911         (rpl_fd_isset, FD_ISSET): New definitions, copied from
7912         lib/sys_socket.in.h.
7913         (close, gethostname): Hide declarations from <winsock2.h>.
7914         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
7915         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
7916         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
7917         (select): Don't override if gnulib's <sys/select.h> was already
7918         included.
7919         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
7920         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
7921         setsockopt, shutdown, select): Tweak indentation.
7922
7923 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
7924
7925         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
7926         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
7927         in an application that does not use the sys_select module.
7928
7929 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
7930
7931         poll: do not return 0 on timeout=-1
7932         * lib/poll.c: Loop with yield if no events occured
7933
7934 2011-07-06  Eric Blake  <eblake@redhat.com>
7935
7936         pthread_sigmask: always replace when not using pthread
7937         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
7938         replacement when using some threading other than pthread.  Fix
7939         logic bug.
7940
7941 2011-07-06  Bruno Haible  <bruno@clisp.org>
7942
7943         Comments.
7944         * m4/printf.m4: Update comments about mingw.
7945
7946 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
7947
7948         sys_select: define sigset_t more portably
7949         * lib/sys_select.in.h: Always include <sys/types.h>, since
7950         we now need sigset_t and mingw defines it there.
7951         Include <signal.h> before split inclusion guard, to avoid
7952         mishaps on Solaris, whose <signal.h> eventually includes us.
7953         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
7954         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
7955         which come from ...
7956         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
7957         gl_CHECK_TYPE_SIGSET_T.
7958         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
7959         does the real work.
7960         * modules/sys_select (Depends-on): Add 'signal'.
7961
7962         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
7963         Suggested by Bruno Haible.
7964
7965         pselect: Use pthread_sigmask, not sigprocmask.
7966         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
7967         multithreaded apps better than sigprocmask does.
7968         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
7969         sigprocmask directly.
7970
7971 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7972
7973         * lib/pselect.c (pselect): Use plain name, without "rpl_".
7974         Don't #undef,  since we don't need any underlying pselect.
7975         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
7976         (Depends-on): Add select.
7977         (Link): Add $(LIBSOCKET).
7978         These changes suggested by Bruno Haible.
7979
7980         pselect: document better
7981         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
7982         * doc/posix-functions/pselect.texi (pselect): Document new module.
7983
7984         pthread_sigmask: new module
7985         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
7986         * doc/posix-functions/pthread_sigmask.texi: Document new module.
7987         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
7988         This is done only as a macro; I don't know how well that'll
7989         work for C++.  Move <sys/types.h> include before the include_next,
7990         to avoid mishap on Solaris.
7991         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
7992         * modules/signal (Makefile.am): Substitute the check's results.
7993         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
7994
7995         test-pselect: new module
7996         * modules/pselect-tests, tests/test-pselect.c: New files.
7997         * tests/test-select.c, tests/test-sys_select-c++.cc:
7998         If TEST_PSELECT is defined, test pselect instead of testing select.
7999
8000         * tests/test-sys_select.c (sigset_t): Test for it, too.
8001         Suggested by Bruno Haible.
8002
8003 2011-07-05  Eric Blake  <eblake@redhat.com>
8004
8005         snprintf: guarantee %1$d, for libintl
8006         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
8007         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
8008         * doc/posix-functions/snprintf.texi (snprintf): Update.
8009         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8010         * tests/test-snprintf.c (main): Enhance test.
8011         * tests/test-vsnprintf.c (main): Likewise.
8012
8013 2011-07-05  Jim Meyering  <meyering@redhat.com>
8014
8015         maint: exempt stdio-read.c and stdio-write.c from the cppi check
8016         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
8017         per Bruno's request, to accommodate this idiom (no space after "#")
8018         even when the function is inside an #if block:
8019         char *
8020         gets (char *s)
8021         #undef gets
8022         {
8023           ...
8024         }
8025
8026 2011-07-04  Jim Meyering  <meyering@redhat.com>
8027
8028         maint: indent with spaces, not TABs, and add a rule to check this
8029         * tests/test-userspec.c: Indent with spaces, not TABs.
8030         * tests/test-argp.c: Likewise.
8031         * tests/test-c-stack2.sh: Likewise.
8032         * tests/test-parse-duration.sh: Likewise
8033         * m4/strtod.m4: Likewise.
8034         * m4/alloca.m4: Likewise.
8035         * m4/pselect.m4: Likewise.
8036         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
8037
8038 2011-07-03  Jim Meyering  <meyering@redhat.com>
8039
8040         maint.mk: correct omissions in prohibit_argmatch_without_use check
8041         This rule would mistakenly report that argmatch.h is included without
8042         use even when both the argmatch and invalid_arg macro were used.
8043         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
8044         of argmatch and invalid_arg.
8045
8046 2011-07-03  Bruno Haible  <bruno@clisp.org>
8047
8048         Comments about EINTR.
8049         * lib/safe-read.h: Explain the purpose of this module.
8050         * lib/safe-write.h: Likewise.
8051         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
8052         module.
8053         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
8054         module.
8055         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8056
8057 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8058
8059         xnanosleep: Rewrite to use new dtotimespec module.
8060         It has the conversion code that used to be in xnanosleep.
8061         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
8062         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
8063         (TIME_T_MAX): Remove.
8064         (xnanosleep): Rewrite in terms of dtotimespec.
8065         * modules/xnanosleep (Depends-on): Add dtotimespec.
8066         Remove intprops, stdbool.
8067
8068         timespec-add, timespec-sub: new modules
8069         * lib/timespec.h (timespec_add, timespec_sub): New decls.
8070         * lib/timespec-add.c, lib/timespec-sub.c:
8071         * modules/timespec-add, modules/timespec-sub: New files.
8072
8073         dtotimespec: new module
8074         * lib/timespec.h (dtotimespec): New decl.
8075         * lib/dtotimespec.c, modules/dtotimespec: New files.
8076
8077         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
8078
8079         pselect: new module
8080         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
8081         (pselect): New decls.
8082         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
8083         since the standard pselect decl uses 'restrict'.
8084         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
8085         HAVE_PSELECT, REPLACE_PSELECT.
8086         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
8087         HAVE_PSELECT, REPLACE_PSELECT.
8088         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
8089
8090         sys_select: don't depend on sys_socket
8091         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
8092         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
8093         This fix works on GNU and GNU-like platforms, but has not been tested
8094         on native Windows.
8095         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
8096         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
8097         gl_HEADER_SYS_SOCKET.
8098         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
8099         gl_PREREQ_SYS_H_WINSOCK2.
8100
8101 2011-06-29  Eric Blake  <eblake@redhat.com>
8102
8103         pipe2: fix C89 compile problem
8104         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
8105         Reported by Bruno Haible.
8106
8107         pipe, pipe2: don't corrupt fd on error
8108         * lib/pipe.c (pipe): Leave fd unchanged on error.
8109         * lib/pipe2.c (pipe2): Likewise.
8110         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
8111         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
8112
8113 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
8114
8115         mmap-anon: do not use regular expressions inadvertently
8116         * m4/mmap-anon.m4: Remove trailing period from strings sought
8117         in the output.
8118
8119 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
8120
8121         nanosleep: fix integer overflow problem
8122         * lib/nanosleep.c (my_usleep): Don't assume signed integer
8123         arithmetic wraps around on overflow.
8124
8125         nanosleep: simplify carrying
8126         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
8127         first call to the underyling nanosleep, not for the last one.
8128         This doesn't fix any bugs, but it simplifies the computation of
8129         the remaining delay.  Found while auditing integer overflow issues.
8130
8131         dup2: remove test for existence of fcntl
8132         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
8133         "#if HAVE_FCNTL", in the configure-time test program.
8134         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
8135         and therefore speeds up "configure" a bit.  Found while
8136         adding the dup2 module to Emacs.
8137
8138 2011-06-24  Eric Blake  <eblake@redhat.com>
8139
8140         maint.mk: enhance useless header checks
8141         * top/maint.mk (_sc_header_without_use): Check both include
8142         styles.
8143         (sc_prohibit_assert_without_use)
8144         (sc_prohibit_close_stream_without_use)
8145         (sc_prohibit_getopt_without_use)
8146         (sc_prohibit_quotearg_without_use)
8147         (sc_prohibit_quote_without_use)
8148         (sc_prohibit_long_options_without_use)
8149         (sc_prohibit_inttostr_without_use)
8150         (sc_prohibit_ignore_value_without_use)
8151         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
8152         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
8153         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
8154         (sc_prohibit_hash_pjw_without_use)
8155         (sc_prohibit_safe_read_without_use)
8156         (sc_prohibit_argmatch_without_use)
8157         (sc_prohibit_canonicalize_without_use)
8158         (sc_prohibit_root_dev_ino_without_use)
8159         (sc_prohibit_openat_without_use)
8160         (sc_prohibit_c_ctype_without_use)
8161         (sc_prohibit_signal_without_use)
8162         (sc_prohibit_stdio--_without_use)
8163         (sc_prohibit_stdio-safer_without_use)
8164         (sc_prohibit_strings_without_use)
8165         (sc_prohibit_intprops_without_use)
8166         (sc_prohibit_stddef_without_use)
8167         (sc_prohibit_xfreopen_without_use): Update clients.
8168
8169 2011-06-24  Jim Meyering  <meyering@redhat.com>
8170
8171         syntax-check: keep one maint.mk rule in sync with its header
8172         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
8173         of the bug Eric has just fixed, with today's commit 25e4c2ec.
8174         I prefer to avoid temporary files here, so use <(...), but that
8175         is not supported by /bin/sh, so...
8176         (SHELL): Define to /bin/bash.
8177
8178 2011-06-24  Eric Blake  <eblake@redhat.com>
8179
8180         maint.mk: update sc_prohibit_intprops_without_use
8181         * top/maint.mk (_intprops_names): Match recent changes.
8182
8183 2011-06-24  Bruno Haible  <bruno@clisp.org>
8184
8185         strerror-override: No-op tweak.
8186         * lib/strerror-override.h (strerror_override): Reorder conditions,
8187         for consistency with lib/strerror-override.c.
8188
8189 2011-06-23  Eric Blake  <eblake@redhat.com>
8190
8191         maint.mk: test further PATH_MAX issues
8192         * top/maint.mk (sc_prohibit_path_max_array): Rename...
8193         (sc_prohibit_path_max_allocation): ...and also test alloca.
8194         Suggested by Jim Meyering.
8195
8196 2011-06-22  Eric Blake  <eblake@redhat.com>
8197
8198         maint.mk: add syntax-check to avoid char[PATH_MAX]
8199         * top/maint.mk (sc_prohibit_path_max_array): New rule.
8200
8201         stat: be robust to PATH_MAX definition
8202         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
8203         * modules/stat (Depends-on): Add verify.
8204
8205         link: work around IRIX bug
8206         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
8207         * lib/link.c (rpl_link): Work around it.
8208         * tests/test-link.h (test_link): Enhance test.
8209         * doc/posix-functions/link.texi (link): Document the bug.
8210
8211         getopt: silence clang warning
8212         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
8213         dereference.
8214         Reported by Gustavo Martin Domato.
8215
8216 2011-06-22  Jim Meyering  <meyering@redhat.com>
8217
8218         bootstrap: do not insert a blank line into each .gitignore file
8219         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
8220
8221 2011-06-21  Eric Blake  <eblake@redhat.com>
8222
8223         perror: test for output mismatch
8224         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
8225         perror on IRIX.
8226
8227         strerror_r: fix OpenBSD behavior on out-of-range
8228         * lib/strerror_r.c (strerror_r): Always use maximal string.
8229         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
8230
8231         strerror_r: fix OpenBSD behavior on 0
8232         * lib/strerror-override.c (strerror_override): Also override 0
8233         when needed.
8234         * lib/strerror-override.h (strerror_override): Likewise.
8235         * lib/strerror.c (strerror): Simplify, now that 0 override is done
8236         earlier.
8237         * lib/strerror_r.c (strerror_r): Likewise.
8238         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
8239         behavior...
8240         (gl_FUNC_STRERROR_0): ...into new macro.
8241         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
8242         is overridden.
8243         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
8244         * modules/strerror-override (Files): Add strerror.m4.
8245         (configure.ac): Also provide override for 0 when needed.
8246         * doc/posix-functions/strerror.texi (strerror): Document this.
8247         * doc/posix-functions/perror.texi (perror): Likewise.
8248
8249         perror: adjust array size
8250         * modules/perror (Depends-on): Add strerror-override.
8251         * lib/perror.c (perror): Use it to avoid magic number.
8252
8253         strerror-override: reduce size
8254         * lib/strerror-override.c (strerror_override): Use fewer lines.
8255
8256 2011-06-20  Bruno Haible  <bruno@clisp.org>
8257
8258         pathmax: Ensure correct value for PATH_MAX on HP-UX.
8259         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
8260
8261 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
8262
8263         alloca: port to compilers that can optimize like GCC 4.6.0
8264         * lib/alloca.c (find_stack_direction): New signature, taken from
8265         Autoconf git.  This works with GCC 4.6.0.  This code should never
8266         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
8267         be used with other compilers that optimize as well as GCC 4.6.0 does.
8268         (alloca): Adjust to new signature.
8269         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
8270         New macro, which patches Autoconf in a similar way.
8271
8272         c-stack: stop worrying about stack direction
8273         * lib/c-stack.c (find_stack_direction): Remove.
8274         (segv_handler): Don't worry about stack direction growth, as it's
8275         too much of a pain to configure this correctly, given how compilers
8276         are optimizing-away our stack-growth detection code.  Instead, assume
8277         that any access to just before or just after the stack is OK.
8278         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
8279         Don't require AC_FUNC_ALLOCA; no longer needed.
8280
8281 2011-06-20  Eric Blake  <eblake@redhat.com>
8282
8283         test-stat: don't allocate PATH_MAX bytes
8284         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
8285         PATH_MAX-sized buffer.
8286         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
8287         * modules/stat-tests (Depends-on): Likewise.
8288         * tests/test-fstatat.c (includes): Drop pathmax.h.
8289         * tests/test-stat.c (includes): Likewise.
8290         Reported by Bruno Haible.
8291
8292 2011-06-20  Bruno Haible  <bruno@clisp.org>
8293
8294         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
8295         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
8296         * lib/float.c: New file.
8297         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
8298         REPLACE_FLOAT_LDBL.
8299         * modules/float (Files): Add lib/float.c.
8300         (configure.ac): Invoke AC_LIBOBJ.
8301         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
8302
8303 2011-06-20  Bruno Haible  <bruno@clisp.org>
8304
8305         Tests for module 'float'.
8306         * modules/float-tests: New file.
8307         * tests/test-float.c: New file.
8308
8309 2011-06-19  Bruno Haible  <bruno@clisp.org>
8310
8311         isinf: Coding style.
8312         * lib/isinf.c: Use GNU coding style.
8313
8314 2011-06-19  Bruno Haible  <bruno@clisp.org>
8315
8316         linkat test: Avoid test failure on AIX 7.1.
8317         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
8318         * tests/test-link.h (test_link): Likewise.
8319
8320 2011-06-19  Bruno Haible  <bruno@clisp.org>
8321
8322         pread test: Avoid test failure on OpenBSD 4.9.
8323         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
8324
8325 2011-06-19  Bruno Haible  <bruno@clisp.org>
8326
8327         sprintf-posix: Fix test failure on AIX 7.1.
8328         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
8329         * doc/posix-functions/dprintf.texi: Mention limited precision problem
8330         on AIX.
8331         * doc/posix-functions/fprintf.texi: Likewise.
8332         * doc/posix-functions/printf.texi: Likewise.
8333         * doc/posix-functions/snprintf.texi: Likewise.
8334         * doc/posix-functions/sprintf.texi: Likewise.
8335         * doc/posix-functions/vdprintf.texi: Likewise.
8336         * doc/posix-functions/vfprintf.texi: Likewise.
8337         * doc/posix-functions/vprintf.texi: Likewise.
8338         * doc/posix-functions/vsnprintf.texi: Likewise.
8339         * doc/posix-functions/vsprintf.texi: Likewise.
8340
8341 2011-06-19  Bruno Haible  <bruno@clisp.org>
8342
8343         roundl-ieee: Fix test failure on AIX 7.1.
8344         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
8345         * doc/posix-functions/roundl.texi: Mention problem with negative
8346         arguments.
8347
8348 2011-06-19  Bruno Haible  <bruno@clisp.org>
8349
8350         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
8351         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
8352         * doc/posix-functions/round.texi: Mention problem with negative
8353         arguments.
8354         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
8355
8356 2011-06-19  Bruno Haible  <bruno@clisp.org>
8357
8358         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
8359         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
8360         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
8361         * doc/posix-functions/roundf.texi: Mention problem with negative
8362         arguments.
8363         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
8364
8365 2011-06-19  Bruno Haible  <bruno@clisp.org>
8366
8367         ceilf-ieee: Work around bug on MacOS X 10.5.
8368         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
8369
8370         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
8371         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
8372         IEEE compliant, avoid compiler optimizations.
8373         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
8374         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8375         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
8376         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8377         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8378         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8379         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8380         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8381         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8382         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8383
8384 2011-06-19  Bruno Haible  <bruno@clisp.org>
8385
8386         ceilf-ieee: Work around bug on AIX 7.1.
8387         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
8388         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
8389
8390 2011-06-19  Bruno Haible  <bruno@clisp.org>
8391
8392         ceil-ieee: Work around bug on AIX 7.1.
8393         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
8394         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
8395
8396 2011-06-18  Bruno Haible  <bruno@clisp.org>
8397
8398         fsync test: Avoid test failure on MacOS X and AIX.
8399         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
8400         EINVAL.
8401
8402 2011-06-18  Bruno Haible  <bruno@clisp.org>
8403
8404         openat, fdopendir tests: Fix link errors.
8405         * modules/openat-tests (Depends-on): Add progname.
8406         * modules/fdopendir-tests (Depends-on): Likewise.
8407         * tests/test-fchownat.c: Include progname.h.
8408         (main): Call set_program_name.
8409         * tests/test-fstatat.c: Include progname.h.
8410         (main): Call set_program_name.
8411         * tests/test-mkdirat.c: Include progname.h.
8412         (main): Call set_program_name.
8413         * tests/test-openat.c: Include progname.h.
8414         (main): Call set_program_name.
8415         * tests/test-unlinkat.c: Include progname.h.
8416         (main): Call set_program_name.
8417         * tests/test-fdopendir.c: Include progname.h.
8418         (main): Call set_program_name.
8419
8420 2011-06-18  Bruno Haible  <bruno@clisp.org>
8421
8422         Doc update.
8423         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
8424         HP-UX.
8425         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
8426
8427 2011-06-18  Bruno Haible  <bruno@clisp.org>
8428
8429         getcwd tests: Avoid compilation error on HP-UX 11.31.
8430         * modules/getcwd-tests (Depends-on): Add pathmax.
8431         * tests/test-getcwd.c: Include pathmax.h.
8432
8433 2011-06-18  Bruno Haible  <bruno@clisp.org>
8434
8435         isfinite, isinf: Fix link error on AIX 6 and 7.
8436         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
8437         needed, also test the macro with a 'float' argument.
8438         * m4/isinf.m4 (gl_ISINF): Likewise.
8439
8440 2011-06-18  Bruno Haible  <bruno@clisp.org>
8441
8442         getloadavg: Don't clobber LIBS. Regression from previous commit.
8443         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
8444         AC_CHECK_LIB from here...
8445         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
8446         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
8447         gl_func_getloadavg_done.
8448         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8449
8450 2011-06-18  Bruno Haible  <bruno@clisp.org>
8451
8452         clean-temp: Improve documentation.
8453         * lib/clean-temp.h: Explain better how to use this module.
8454         Reported by John Darrington <john@darrington.wattle.id.au>.
8455
8456 2011-06-17  Bruno Haible  <bruno@clisp.org>
8457
8458         pread, pwrite: Avoid cc warning on AIX.
8459         * lib/unistd.in.h (pread): Undefine before defining as a macro.
8460         (pwrite): Likewise.
8461
8462 2011-06-17  Bruno Haible  <bruno@clisp.org>
8463
8464         spawn-pipe tests: Fix link error.
8465         * tests/test-spawn-pipe-child.c: Undefine fprintf.
8466         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8467
8468 2011-06-17  Bruno Haible  <bruno@clisp.org>
8469
8470         Tests: Remove unnecessary dependency.
8471         * modules/canonicalize-tests (Depends-on): Remove progname.
8472         * modules/chown-tests (Depends-on): Likewise.
8473         * modules/dirname-tests (Depends-on): Likewise.
8474         * modules/fdopendir-tests (Depends-on): Likewise.
8475         * modules/fdutimensat-tests (Depends-on): Likewise.
8476         * modules/hash-tests (Depends-on): Likewise.
8477         * modules/lchown-tests (Depends-on): Likewise.
8478         * modules/linkat-tests (Depends-on): Likewise.
8479         * modules/renameat-tests (Depends-on): Likewise.
8480         * modules/spawn-pipe-tests (Depends-on): Likewise.
8481         * modules/utimensat-tests (Depends-on): Likewise.
8482
8483 2011-06-17  Bruno Haible  <bruno@clisp.org>
8484
8485         spawn-pipe tests: Fix link error.
8486         * tests/test-spawn-pipe-child.c: Undefine fflush.
8487
8488 2011-06-17  Bruno Haible  <bruno@clisp.org>
8489
8490         Fix tests link errors.
8491         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
8492         * modules/chown-tests (Makefile.am): Don't link test-chown with
8493         LIBINTL.
8494         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
8495         LIBINTL.
8496         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
8497         LIBINTL.
8498         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
8499         LIBINTL.
8500
8501 2011-06-16  Bruno Haible  <bruno@clisp.org>
8502
8503         crypto/gc-sha1: Fix recent regression.
8504         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
8505         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
8506
8507         crypto/gc-md5: Fix recent regression.
8508         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
8509
8510         crypto/gc-md4: Fix recent regression.
8511         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
8512         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
8513
8514         crypto/gc-arctwo: Fix recent regression.
8515         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
8516         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
8517
8518         crypto/gc-rijndael: Fix recent regression.
8519         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
8520         (configure.ac): Invoke AC_LIBOBJ here.
8521         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
8522         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8523
8524         crypto/gc-hmac-sha1: Fix recent regression.
8525         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
8526         (configure.ac): Invoke AC_LIBOBJ here.
8527         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
8528         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8529
8530         crypto/gc-hmac-md5: Fix recent regression.
8531         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
8532         (configure.ac): Invoke AC_LIBOBJ here.
8533         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
8534         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8535
8536         crypto/gc-des: Fix recent regression.
8537         * modules/crypto/gc-des (Files): Remove m4/des.m4.
8538         (configure.ac): Invoke AC_LIBOBJ here.
8539         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
8540         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8541
8542         crypto/gc-arcfour: Fix recent regression.
8543         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
8544         (configure.ac): Invoke AC_LIBOBJ here.
8545         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
8546         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8547
8548 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
8549
8550         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
8551         After the 2011-05-21 change, this macro requires
8552         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
8553         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
8554
8555 2011-06-16  Bruno Haible  <bruno@clisp.org>
8556
8557         fprintftime: Move AC_LIBOBJ invocations to module description.
8558         * m4/fprintftime.m4: Remove file.
8559         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
8560         (configure.ac): Remove gl_FPRINTFTIME call.
8561         (Makefile.am): Augment lib_SOURCES.
8562         Reported by Jim Meyering.
8563
8564 2011-06-16  Bruno Haible  <bruno@clisp.org>
8565
8566         tmpfile-safer: Finish 2011-05-23 commit.
8567         * m4/stdio-safer.m4: Really remove file.
8568         Reported by Jim Meyering.
8569
8570 2011-06-16  Bruno Haible  <bruno@clisp.org>
8571
8572         syntax-check: Fix typo.
8573         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
8574         printf-posix.m4.
8575         Reported by Jim Meyering.
8576
8577 2011-06-13  Jim Meyering  <meyering@redhat.com>
8578
8579         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
8580         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
8581
8582 2011-05-23  Bruno Haible  <bruno@clisp.org>
8583
8584         yesno: Move AC_LIBOBJ invocations to module description.
8585         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
8586         * modules/yesno (Makefile.am): Augment lib_SOURCES.
8587
8588 2011-05-23  Bruno Haible  <bruno@clisp.org>
8589
8590         xstrtol: Move AC_LIBOBJ invocations to module description.
8591         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
8592         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
8593
8594 2011-05-23  Bruno Haible  <bruno@clisp.org>
8595
8596         xstrtold: Move AC_LIBOBJ invocations to module description.
8597         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
8598         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
8599
8600 2011-05-23  Bruno Haible  <bruno@clisp.org>
8601
8602         xstrtod: Move AC_LIBOBJ invocations to module description.
8603         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
8604         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
8605
8606 2011-05-23  Bruno Haible  <bruno@clisp.org>
8607
8608         xnanosleep: Move AC_LIBOBJ invocations to module description.
8609         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
8610         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
8611
8612 2011-05-23  Bruno Haible  <bruno@clisp.org>
8613
8614         xgetcwd: Move AC_LIBOBJ invocations to module description.
8615         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
8616         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
8617
8618 2011-05-23  Bruno Haible  <bruno@clisp.org>
8619
8620         xalloc: Move AC_LIBOBJ invocations to module description.
8621         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
8622         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
8623
8624 2011-05-23  Bruno Haible  <bruno@clisp.org>
8625
8626         write-any-file: Move AC_LIBOBJ invocations to module description.
8627         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
8628         invocation.
8629         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
8630
8631 2011-05-23  Bruno Haible  <bruno@clisp.org>
8632
8633         utimens: Move AC_LIBOBJ invocations to module description.
8634         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
8635         * modules/utimens (Makefile.am): Augment lib_SOURCES.
8636
8637 2011-05-23  Bruno Haible  <bruno@clisp.org>
8638
8639         utimecmp: Move AC_LIBOBJ invocations to module description.
8640         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
8641         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
8642
8643 2011-05-23  Bruno Haible  <bruno@clisp.org>
8644
8645         userspec: Move AC_LIBOBJ invocations to module description.
8646         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
8647         * modules/userspec (Makefile.am): Augment lib_SOURCES.
8648
8649 2011-05-23  Bruno Haible  <bruno@clisp.org>
8650
8651         unlinkdir: Move AC_LIBOBJ invocations to module description.
8652         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
8653         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
8654
8655 2011-05-23  Bruno Haible  <bruno@clisp.org>
8656
8657         unistd-safer: Move AC_LIBOBJ invocations to module description.
8658         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
8659         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
8660
8661 2011-05-23  Bruno Haible  <bruno@clisp.org>
8662
8663         tempname: Move AC_LIBOBJ invocations to module description.
8664         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
8665         * modules/tempname (Makefile.am): Augment lib_SOURCES.
8666
8667 2011-05-23  Bruno Haible  <bruno@clisp.org>
8668
8669         strftime: Move AC_LIBOBJ invocations to module description.
8670         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
8671         * modules/strftime (Makefile.am): Augment lib_SOURCES.
8672
8673 2011-05-23  Bruno Haible  <bruno@clisp.org>
8674
8675         stdlib-safer: Move AC_LIBOBJ invocations to module description.
8676         * m4/stdlib-safer.m4: Remove file.
8677         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
8678         (configure.ac): Remove gl_STDLIB_SAFER call.
8679         (Makefile.am): Augment lib_SOURCES.
8680
8681 2011-05-23  Bruno Haible  <bruno@clisp.org>
8682
8683         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
8684         * m4/stdio-safer.m4: Remove file.
8685         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
8686         (configure.ac): Remove gl_TMPFILE_SAFER call.
8687         (Makefile.am): Augment lib_SOURCES.
8688
8689 2011-05-23  Bruno Haible  <bruno@clisp.org>
8690
8691         popen-safer: Move AC_LIBOBJ invocations to module description.
8692         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
8693         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
8694         (configure.ac): Remove gl_POPEN_SAFER call.
8695         (Makefile.am): Augment lib_SOURCES.
8696
8697 2011-05-23  Bruno Haible  <bruno@clisp.org>
8698
8699         freopen-safer: Move AC_LIBOBJ invocations to module description.
8700         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
8701         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
8702         (configure.ac): Remove gl_FREOPEN_SAFER call.
8703         (Makefile.am): Augment lib_SOURCES.
8704
8705 2011-05-23  Bruno Haible  <bruno@clisp.org>
8706
8707         fopen-safer: Move AC_LIBOBJ invocations to module description.
8708         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
8709         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
8710         (configure.ac): Remove gl_FOPEN_SAFER call.
8711         (Makefile.am): Augment lib_SOURCES.
8712
8713 2011-05-23  Bruno Haible  <bruno@clisp.org>
8714
8715         crypto/sha512: Move AC_LIBOBJ invocations to module description.
8716         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
8717         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
8718
8719 2011-05-23  Bruno Haible  <bruno@clisp.org>
8720
8721         crypto/sha256: Move AC_LIBOBJ invocations to module description.
8722         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
8723         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
8724
8725 2011-05-23  Bruno Haible  <bruno@clisp.org>
8726
8727         crypto/sha1: Move AC_LIBOBJ invocations to module description.
8728         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
8729         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
8730
8731 2011-05-23  Bruno Haible  <bruno@clisp.org>
8732
8733         settime: Move AC_LIBOBJ invocations to module description.
8734         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
8735         * modules/settime (Makefile.am): Augment lib_SOURCES.
8736
8737 2011-05-23  Bruno Haible  <bruno@clisp.org>
8738
8739         savedir: Move AC_LIBOBJ invocations to module description.
8740         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
8741         * modules/savedir (Makefile.am): Augment lib_SOURCES.
8742
8743 2011-05-23  Bruno Haible  <bruno@clisp.org>
8744
8745         save-cwd: Move AC_LIBOBJ invocations to module description.
8746         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
8747         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
8748
8749 2011-05-23  Bruno Haible  <bruno@clisp.org>
8750
8751         same: Move AC_LIBOBJ invocations to module description.
8752         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
8753         * modules/same (Makefile.am): Augment lib_SOURCES.
8754
8755 2011-05-23  Bruno Haible  <bruno@clisp.org>
8756
8757         safe-write: Move AC_LIBOBJ invocations to module description.
8758         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
8759         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
8760         instead of gl_SAFE_WRITE.
8761         (Makefile.am): Augment lib_SOURCES.
8762
8763 2011-05-23  Bruno Haible  <bruno@clisp.org>
8764
8765         safe-read: Move AC_LIBOBJ invocations to module description.
8766         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
8767         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
8768         of gl_SAFE_READ.
8769         (Makefile.am): Augment lib_SOURCES.
8770
8771 2011-05-23  Bruno Haible  <bruno@clisp.org>
8772
8773         safe-alloc: Move AC_LIBOBJ invocations to module description.
8774         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
8775         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
8776
8777 2011-05-23  Bruno Haible  <bruno@clisp.org>
8778
8779         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
8780         * m4/rijndael.m4: Remove file.
8781         * modules/crypto/rijndael (Files): Remove it.
8782         (configure.ac): Remove gl_RIJNDAEL call.
8783         (Makefile.am): Augment lib_SOURCES.
8784
8785 2011-05-23  Bruno Haible  <bruno@clisp.org>
8786
8787         readtokens: Move AC_LIBOBJ invocations to module description.
8788         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
8789         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
8790
8791 2011-05-23  Bruno Haible  <bruno@clisp.org>
8792
8793         read-file: Move AC_LIBOBJ invocations to module description.
8794         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
8795         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
8796         of gl_FUNC_READ_FILE.
8797         (Makefile.am): Augment lib_SOURCES.
8798
8799 2011-05-23  Bruno Haible  <bruno@clisp.org>
8800
8801         quotearg: Move AC_LIBOBJ invocations to module description.
8802         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
8803         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
8804
8805 2011-05-23  Bruno Haible  <bruno@clisp.org>
8806
8807         quote: Move AC_LIBOBJ invocations to module description.
8808         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
8809         * modules/quote (Makefile.am): Augment lib_SOURCES.
8810
8811 2011-05-23  Bruno Haible  <bruno@clisp.org>
8812
8813         posixver: Move AC_LIBOBJ invocations to module description.
8814         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
8815         * modules/posixver (Makefile.am): Augment lib_SOURCES.
8816
8817 2011-05-23  Bruno Haible  <bruno@clisp.org>
8818
8819         posixtm: Move AC_LIBOBJ invocations to module description.
8820         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
8821         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
8822
8823 2011-05-23  Bruno Haible  <bruno@clisp.org>
8824
8825         physmem: Move AC_LIBOBJ invocations to module description.
8826         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
8827         * modules/physmem (Makefile.am): Augment lib_SOURCES.
8828
8829 2011-05-23  Bruno Haible  <bruno@clisp.org>
8830
8831         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
8832         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
8833         invocation.
8834         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
8835
8836 2011-05-23  Bruno Haible  <bruno@clisp.org>
8837
8838         mpsort: Move AC_LIBOBJ invocations to module description.
8839         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
8840         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
8841
8842 2011-05-23  Bruno Haible  <bruno@clisp.org>
8843
8844         modechange: Move AC_LIBOBJ invocations to module description.
8845         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
8846         * modules/modechange (Makefile.am): Augment lib_SOURCES.
8847
8848 2011-05-23  Bruno Haible  <bruno@clisp.org>
8849
8850         mkdir-p: Move AC_LIBOBJ invocations to module description.
8851         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
8852         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
8853
8854 2011-05-23  Bruno Haible  <bruno@clisp.org>
8855
8856         mkancesdirs: Move AC_LIBOBJ invocations to module description.
8857         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
8858         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
8859
8860 2011-05-23  Bruno Haible  <bruno@clisp.org>
8861
8862         mgetgroups: Move AC_LIBOBJ invocations to module description.
8863         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
8864         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
8865
8866 2011-05-23  Bruno Haible  <bruno@clisp.org>
8867
8868         memxor: Move AC_LIBOBJ invocations to module description.
8869         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
8870         * modules/memxor (Makefile.am): Augment lib_SOURCES.
8871
8872 2011-05-23  Bruno Haible  <bruno@clisp.org>
8873
8874         memcoll: Move AC_LIBOBJ invocations to module description.
8875         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
8876         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
8877
8878 2011-05-23  Bruno Haible  <bruno@clisp.org>
8879
8880         memcasecmp: Move AC_LIBOBJ invocations to module description.
8881         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
8882         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
8883
8884 2011-05-23  Bruno Haible  <bruno@clisp.org>
8885
8886         crypto/md5: Move AC_LIBOBJ invocations to module description.
8887         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
8888         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
8889
8890 2011-05-23  Bruno Haible  <bruno@clisp.org>
8891
8892         crypto/md4: Move AC_LIBOBJ invocations to module description.
8893         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
8894         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
8895
8896 2011-05-23  Bruno Haible  <bruno@clisp.org>
8897
8898         crypto/md2: Move AC_LIBOBJ invocations to module description.
8899         * m4/md2.m4: Remove file.
8900         * modules/crypto/md2 (Files): Remove it.
8901         (configure.ac): Remove gl_MD2 call.
8902         (Makefile.am): Augment lib_SOURCES.
8903
8904 2011-05-23  Bruno Haible  <bruno@clisp.org>
8905
8906         long-options: Move AC_LIBOBJ invocations to module description.
8907         * m4/long-options.m4: Remove file.
8908         * modules/long-options (Files): Remove it.
8909         (configure.ac): Remove gl_LONG_OPTIONS call.
8910         (Makefile.am): Augment lib_SOURCES.
8911
8912 2011-05-23  Bruno Haible  <bruno@clisp.org>
8913
8914         i-ring: Move AC_LIBOBJ invocations to module description.
8915         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
8916         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
8917
8918 2011-05-23  Bruno Haible  <bruno@clisp.org>
8919
8920         idcache: Move AC_LIBOBJ invocations to module description.
8921         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
8922         * modules/idcache (Makefile.am): Augment lib_SOURCES.
8923
8924 2011-05-23  Bruno Haible  <bruno@clisp.org>
8925
8926         human: Move AC_LIBOBJ invocations to module description.
8927         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
8928         * modules/human (Makefile.am): Augment lib_SOURCES.
8929
8930 2011-05-23  Bruno Haible  <bruno@clisp.org>
8931
8932         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
8933         * m4/hmac-sha1.m4: Remove file.
8934         * modules/crypto/hmac-sha1 (Files): Remove it.
8935         (configure.ac): Remove gl_HMAC_SHA1 call.
8936         (Makefile.am): Augment lib_SOURCES.
8937
8938 2011-05-23  Bruno Haible  <bruno@clisp.org>
8939
8940         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
8941         * m4/hmac-md5.m4: Remove file.
8942         * modules/crypto/hmac-md5 (Files): Remove it.
8943         (configure.ac): Remove gl_HMAC_MD5 call.
8944         (Makefile.am): Augment lib_SOURCES.
8945
8946 2011-05-23  Bruno Haible  <bruno@clisp.org>
8947
8948         hash: Move AC_LIBOBJ invocations to module description.
8949         * m4/hash.m4: Remove file.
8950         * modules/hash (Files): Remove it.
8951         (configure.ac): Remove gl_HASH call.
8952         (Makefile.am): Augment lib_SOURCES.
8953
8954 2011-05-23  Bruno Haible  <bruno@clisp.org>
8955
8956         hard-locale: Move AC_LIBOBJ invocations to module description.
8957         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
8958         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
8959
8960 2011-05-23  Bruno Haible  <bruno@clisp.org>
8961
8962         getugroups: Move AC_LIBOBJ invocations to module description.
8963         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
8964         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
8965
8966 2011-05-23  Bruno Haible  <bruno@clisp.org>
8967
8968         gettime: Move AC_LIBOBJ invocations to module description.
8969         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
8970         * modules/gettime (Makefile.am): Augment lib_SOURCES.
8971
8972 2011-05-23  Bruno Haible  <bruno@clisp.org>
8973
8974         getndelim2: Move AC_LIBOBJ invocations to module description.
8975         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
8976         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
8977
8978 2011-05-23  Bruno Haible  <bruno@clisp.org>
8979
8980         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
8981         * m4/gc-pbkdf2-sha1.m4: Remove file.
8982         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
8983         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
8984         (Makefile.am): Augment lib_SOURCES.
8985
8986 2011-05-23  Bruno Haible  <bruno@clisp.org>
8987
8988         fts: Move AC_LIBOBJ invocations to module description.
8989         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
8990         * modules/fts (configure.ac): ... to here.
8991
8992 2011-05-23  Bruno Haible  <bruno@clisp.org>
8993
8994         file-type: Move AC_LIBOBJ invocations to module description.
8995         * m4/file-type.m4: Remove file.
8996         * modules/file-type (Files): Remove it.
8997         (configure.ac): Remove gl_FILE_TYPE call.
8998         (Makefile.am): Augment lib_SOURCES.
8999
9000 2011-05-23  Bruno Haible  <bruno@clisp.org>
9001
9002         filenamecat*: Respect rules for use of AC_LIBOBJ.
9003         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
9004         Remove AC_LIBOBJ invocation.
9005         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
9006         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
9007
9008 2011-05-23  Bruno Haible  <bruno@clisp.org>
9009
9010         filemode: Move AC_LIBOBJ invocations to module description.
9011         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
9012         * modules/filemode (Makefile.am): Augment lib_SOURCES.
9013
9014 2011-05-23  Bruno Haible  <bruno@clisp.org>
9015
9016         openat-safer: Move AC_LIBOBJ invocations to module description.
9017         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
9018         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
9019
9020 2011-05-23  Bruno Haible  <bruno@clisp.org>
9021
9022         fcntl-safer: Move AC_LIBOBJ invocations to module description.
9023         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
9024         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
9025
9026 2011-05-23  Bruno Haible  <bruno@clisp.org>
9027
9028         exclude: Move AC_LIBOBJ invocations to module description.
9029         * m4/exclude.m4: Remove file.
9030         * modules/exclude (Files): Remove it.
9031         (configure.ac): Remove gl_EXCLUDE call.
9032         (Makefile.am): Augment lib_SOURCES.
9033
9034 2011-05-23  Bruno Haible  <bruno@clisp.org>
9035
9036         dirname*: Respect rules for use of AC_LIBOBJ.
9037         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
9038         invocations.
9039         * modules/dirname (Makefile.am): Augment lib_SOURCES.
9040         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
9041
9042 2011-05-23  Bruno Haible  <bruno@clisp.org>
9043
9044         dirent-safer: Move AC_LIBOBJ invocations to module description.
9045         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
9046         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
9047
9048 2011-05-23  Bruno Haible  <bruno@clisp.org>
9049
9050         crypto/des: Move AC_LIBOBJ invocations to module description.
9051         * m4/des.m4: Remove file.
9052         * modules/crypto/des (Files): Remove it.
9053         (configure.ac): Remove gl_DES call.
9054         (Makefile.am): Augment lib_SOURCES.
9055
9056 2011-05-23  Bruno Haible  <bruno@clisp.org>
9057
9058         cycle-check: Move AC_LIBOBJ invocations to module description.
9059         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
9060         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
9061
9062 2011-05-23  Bruno Haible  <bruno@clisp.org>
9063
9064         c-strtold: Move AC_LIBOBJ invocations to module description.
9065         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
9066         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
9067
9068 2011-05-23  Bruno Haible  <bruno@clisp.org>
9069
9070         c-strtod: Move AC_LIBOBJ invocations to module description.
9071         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
9072         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
9073
9074 2011-05-23  Bruno Haible  <bruno@clisp.org>
9075
9076         crc: Move AC_LIBOBJ invocations to module description.
9077         * m4/crc.m4: Remove file.
9078         * modules/crc (Files): Remove it.
9079         (configure.ac): Remove gl_CRC call.
9080         (Makefile.am): Augment lib_SOURCES.
9081
9082 2011-05-23  Bruno Haible  <bruno@clisp.org>
9083
9084         close-stream: Move AC_LIBOBJ invocations to module description.
9085         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
9086         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
9087
9088 2011-05-23  Bruno Haible  <bruno@clisp.org>
9089
9090         closeout: Move AC_LIBOBJ invocations to module description.
9091         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
9092         * modules/closeout (Makefile.am): Augment lib_SOURCES.
9093
9094 2011-05-23  Bruno Haible  <bruno@clisp.org>
9095
9096         closein: Move AC_LIBOBJ invocations to module description.
9097         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
9098         * modules/closein (Makefile.am): Augment lib_SOURCES.
9099
9100 2011-05-23  Bruno Haible  <bruno@clisp.org>
9101
9102         cloexec: Move AC_LIBOBJ invocations to module description.
9103         * m4/cloexec.m4: Remove file.
9104         * modules/cloexec (Files): Remove it.
9105         (configure.ac): Remove gl_CLOEXEC call.
9106         (Makefile.am): Augment lib_SOURCES.
9107
9108 2011-05-23  Bruno Haible  <bruno@clisp.org>
9109
9110         check-version: Move AC_LIBOBJ invocations to module description.
9111         * m4/check-version.m4: Remove file.
9112         * modules/check-version (Files): Remove it.
9113         (configure.ac): Remove gl_CHECK_VERSION call.
9114         (Makefile.am): Augment lib_SOURCES.
9115
9116 2011-05-23  Bruno Haible  <bruno@clisp.org>
9117
9118         chdir-safer: Move AC_LIBOBJ invocations to module description.
9119         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
9120         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
9121
9122 2011-05-23  Bruno Haible  <bruno@clisp.org>
9123
9124         canonicalize: Move AC_LIBOBJ invocations to module description.
9125         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
9126         AC_LIBOBJ invocation.
9127         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
9128
9129 2011-05-23  Bruno Haible  <bruno@clisp.org>
9130
9131         canon-host: Move AC_LIBOBJ invocations to module description.
9132         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
9133         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
9134         instead of gl_CANON_HOST.
9135         (Makefile.am): Augment lib_SOURCES.
9136
9137 2011-05-23  Bruno Haible  <bruno@clisp.org>
9138
9139         backupfile: Move AC_LIBOBJ invocations to module description.
9140         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
9141         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
9142
9143 2011-05-23  Bruno Haible  <bruno@clisp.org>
9144
9145         argmatch: Move AC_LIBOBJ invocations to module description.
9146         * m4/argmatch.m4: Remove file.
9147         * modules/argmatch (Files): Remove it.
9148         (configure.ac): Remove gl_ARGMATCH call.
9149         (Makefile.am): Augment lib_SOURCES.
9150
9151 2011-05-23  Bruno Haible  <bruno@clisp.org>
9152
9153         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
9154         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
9155         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
9156
9157 2011-05-23  Bruno Haible  <bruno@clisp.org>
9158
9159         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
9160         * m4/arcfour.m4: Remove file.
9161         * modules/crypto/arcfour (Files): Remove it.
9162         (configure.ac): Remove gl_ARCFOUR call.
9163         (Makefile.am): Augment lib_SOURCES.
9164
9165 2011-05-22  Bruno Haible  <bruno@clisp.org>
9166
9167         write: Move AC_LIBOBJ invocations to module description.
9168         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
9169         * modules/write (configure.ac): ... to here.
9170
9171 2011-05-22  Bruno Haible  <bruno@clisp.org>
9172
9173         wmemset: Move AC_LIBOBJ invocations to module description.
9174         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
9175         here...
9176         * modules/wmemset (configure.ac): ... to here.
9177
9178 2011-05-22  Bruno Haible  <bruno@clisp.org>
9179
9180         wmemmove: Move AC_LIBOBJ invocations to module description.
9181         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
9182         here...
9183         * modules/wmemmove (configure.ac): ... to here.
9184
9185 2011-05-22  Bruno Haible  <bruno@clisp.org>
9186
9187         wmemcpy: Move AC_LIBOBJ invocations to module description.
9188         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
9189         here...
9190         * modules/wmemcpy (configure.ac): ... to here.
9191
9192 2011-05-22  Bruno Haible  <bruno@clisp.org>
9193
9194         wmemcmp: Move AC_LIBOBJ invocations to module description.
9195         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
9196         here...
9197         * modules/wmemcmp (configure.ac): ... to here.
9198
9199 2011-05-22  Bruno Haible  <bruno@clisp.org>
9200
9201         wmemchr: Move AC_LIBOBJ invocations to module description.
9202         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
9203         here...
9204         * modules/wmemchr (configure.ac): ... to here.
9205
9206 2011-05-22  Bruno Haible  <bruno@clisp.org>
9207
9208         wcswidth: Move AC_LIBOBJ invocations to module description.
9209         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
9210         here...
9211         * modules/wcswidth (configure.ac): ... to here.
9212
9213 2011-05-22  Bruno Haible  <bruno@clisp.org>
9214
9215         wcwidth: Respect rules for use of AC_LIBOBJ.
9216         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
9217         invocation from here...
9218         * modules/wcwidth (configure.ac): ... to here.
9219         (Depends-on): Update conditions.
9220
9221 2011-05-22  Bruno Haible  <bruno@clisp.org>
9222
9223         wctype: Move AC_LIBOBJ invocations to module description.
9224         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
9225         invocation from here...
9226         * modules/wctype (configure.ac): ... to here.
9227         (Depends-on): Update conditions.
9228
9229 2011-05-22  Bruno Haible  <bruno@clisp.org>
9230
9231         wctrans: Move AC_LIBOBJ invocations to module description.
9232         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
9233         invocation from here...
9234         * modules/wctrans (configure.ac): ... to here.
9235
9236 2011-05-22  Bruno Haible  <bruno@clisp.org>
9237
9238         wctomb: Move AC_LIBOBJ invocations to module description.
9239         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
9240         invocations from here...
9241         * modules/wctomb (configure.ac): ... to here.
9242
9243 2011-05-22  Bruno Haible  <bruno@clisp.org>
9244
9245         wctob: Move AC_LIBOBJ invocations to module description.
9246         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
9247         gl_PREREQ_WCTOB invocations from here...
9248         * modules/wctob (configure.ac): ... to here.
9249         (Depends-on): Update conditions.
9250
9251 2011-05-22  Bruno Haible  <bruno@clisp.org>
9252
9253         wcsxfrm: Move AC_LIBOBJ invocations to module description.
9254         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
9255         here...
9256         * modules/wcsxfrm (configure.ac): ... to here.
9257
9258 2011-05-22  Bruno Haible  <bruno@clisp.org>
9259
9260         wcstok: Move AC_LIBOBJ invocations to module description.
9261         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
9262         * modules/wcstok (configure.ac): ... to here.
9263
9264 2011-05-22  Bruno Haible  <bruno@clisp.org>
9265
9266         wcsstr: Move AC_LIBOBJ invocations to module description.
9267         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
9268         * modules/wcsstr (configure.ac): ... to here.
9269
9270 2011-05-22  Bruno Haible  <bruno@clisp.org>
9271
9272         wcsspn: Move AC_LIBOBJ invocations to module description.
9273         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
9274         * modules/wcsspn (configure.ac): ... to here.
9275
9276 2011-05-22  Bruno Haible  <bruno@clisp.org>
9277
9278         wcsrtombs: Move AC_LIBOBJ invocations to module description.
9279         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
9280         gl_PREREQ_WCSRTOMBS invocations from here...
9281         * modules/wcsrtombs (configure.ac): ... to here.
9282
9283 2011-05-22  Bruno Haible  <bruno@clisp.org>
9284
9285         wcsrchr: Move AC_LIBOBJ invocations to module description.
9286         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
9287         here...
9288         * modules/wcsrchr (configure.ac): ... to here.
9289
9290 2011-05-22  Bruno Haible  <bruno@clisp.org>
9291
9292         wcspbrk: Move AC_LIBOBJ invocations to module description.
9293         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
9294         here...
9295         * modules/wcspbrk (configure.ac): ... to here.
9296
9297 2011-05-22  Bruno Haible  <bruno@clisp.org>
9298
9299         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
9300         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
9301         gl_PREREQ_WCSNRTOMBS invocations from here...
9302         * modules/wcsnrtombs (configure.ac): ... to here.
9303
9304 2011-05-22  Bruno Haible  <bruno@clisp.org>
9305
9306         wcsnlen: Move AC_LIBOBJ invocations to module description.
9307         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
9308         here...
9309         * modules/wcsnlen (configure.ac): ... to here.
9310
9311 2011-05-22  Bruno Haible  <bruno@clisp.org>
9312
9313         wcsncpy: Move AC_LIBOBJ invocations to module description.
9314         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
9315         here...
9316         * modules/wcsncpy (configure.ac): ... to here.
9317
9318 2011-05-22  Bruno Haible  <bruno@clisp.org>
9319
9320         wcsncmp: Move AC_LIBOBJ invocations to module description.
9321         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
9322         here...
9323         * modules/wcsncmp (configure.ac): ... to here.
9324
9325 2011-05-22  Bruno Haible  <bruno@clisp.org>
9326
9327         wcsncat: Move AC_LIBOBJ invocations to module description.
9328         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
9329         here...
9330         * modules/wcsncat (configure.ac): ... to here.
9331
9332 2011-05-22  Bruno Haible  <bruno@clisp.org>
9333
9334         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
9335         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
9336         from here...
9337         * modules/wcsncasecmp (configure.ac): ... to here.
9338
9339 2011-05-22  Bruno Haible  <bruno@clisp.org>
9340
9341         wcslen: Move AC_LIBOBJ invocations to module description.
9342         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
9343         * modules/wcslen (configure.ac): ... to here.
9344
9345 2011-05-22  Bruno Haible  <bruno@clisp.org>
9346
9347         wcsdup: Move AC_LIBOBJ invocations to module description.
9348         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
9349         * modules/wcsdup (configure.ac): ... to here.
9350
9351 2011-05-22  Bruno Haible  <bruno@clisp.org>
9352
9353         wcscspn: Move AC_LIBOBJ invocations to module description.
9354         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
9355         here...
9356         * modules/wcscspn (configure.ac): ... to here.
9357
9358 2011-05-22  Bruno Haible  <bruno@clisp.org>
9359
9360         wcscpy: Move AC_LIBOBJ invocations to module description.
9361         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
9362         * modules/wcscpy (configure.ac): ... to here.
9363
9364 2011-05-22  Bruno Haible  <bruno@clisp.org>
9365
9366         wcscoll: Move AC_LIBOBJ invocations to module description.
9367         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
9368         here...
9369         * modules/wcscoll (configure.ac): ... to here.
9370
9371 2011-05-22  Bruno Haible  <bruno@clisp.org>
9372
9373         wcscmp: Move AC_LIBOBJ invocations to module description.
9374         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
9375         * modules/wcscmp (configure.ac): ... to here.
9376
9377 2011-05-22  Bruno Haible  <bruno@clisp.org>
9378
9379         wcschr: Move AC_LIBOBJ invocations to module description.
9380         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
9381         * modules/wcschr (configure.ac): ... to here.
9382
9383 2011-05-22  Bruno Haible  <bruno@clisp.org>
9384
9385         wcscat: Move AC_LIBOBJ invocations to module description.
9386         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
9387         * modules/wcscat (configure.ac): ... to here.
9388
9389 2011-05-22  Bruno Haible  <bruno@clisp.org>
9390
9391         wcscasecmp: Move AC_LIBOBJ invocations to module description.
9392         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
9393         here...
9394         * modules/wcscasecmp (configure.ac): ... to here.
9395
9396 2011-05-22  Bruno Haible  <bruno@clisp.org>
9397
9398         wcrtomb: Move AC_LIBOBJ invocations to module description.
9399         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
9400         invocations from here...
9401         * modules/wcrtomb (configure.ac): ... to here.
9402
9403 2011-05-22  Bruno Haible  <bruno@clisp.org>
9404
9405         wcpncpy: Move AC_LIBOBJ invocations to module description.
9406         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
9407         here...
9408         * modules/wcpncpy (configure.ac): ... to here.
9409
9410 2011-05-22  Bruno Haible  <bruno@clisp.org>
9411
9412         wcpcpy: Move AC_LIBOBJ invocations to module description.
9413         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
9414         * modules/wcpcpy (configure.ac): ... to here.
9415
9416 2011-05-22  Bruno Haible  <bruno@clisp.org>
9417
9418         waitpid: Move AC_LIBOBJ invocations to module description.
9419         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
9420         invocation from here...
9421         * modules/waitpid (configure.ac): ... to here.
9422
9423 2011-05-22  Bruno Haible  <bruno@clisp.org>
9424
9425         utimensat: Move AC_LIBOBJ invocations to module description.
9426         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
9427         here...
9428         * modules/utimensat (configure.ac): ... to here.
9429
9430 2011-05-22  Bruno Haible  <bruno@clisp.org>
9431
9432         usleep: Move AC_LIBOBJ invocations to module description.
9433         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
9434         here...
9435         * modules/usleep (configure.ac): ... to here.
9436
9437 2011-05-22  Bruno Haible  <bruno@clisp.org>
9438
9439         unlockpt: Move AC_LIBOBJ invocations to module description.
9440         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
9441         gl_PREREQ_UNLOCKPT invocations from here...
9442         * modules/unlockpt (configure.ac): ... to here.
9443
9444 2011-05-22  Bruno Haible  <bruno@clisp.org>
9445
9446         unlink: Respect rules for use of AC_LIBOBJ.
9447         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
9448         * modules/unlink (configure.ac): ... to here.
9449
9450 2011-05-22  Bruno Haible  <bruno@clisp.org>
9451
9452         uname: Move AC_LIBOBJ invocations to module description.
9453         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
9454         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
9455         here...
9456         * modules/uname (configure.ac): ... to here.
9457
9458 2011-05-22  Bruno Haible  <bruno@clisp.org>
9459
9460         ttyname_r: Move AC_LIBOBJ invocations to module description.
9461         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
9462         gl_PREREQ_TTYNAME_R invocations from here...
9463         * modules/ttyname_r (configure.ac): ... to here.
9464
9465 2011-05-22  Bruno Haible  <bruno@clisp.org>
9466
9467         tsearch: Move AC_LIBOBJ invocations to module description.
9468         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
9469         invocations from here...
9470         * modules/tsearch (configure.ac): ... to here.
9471
9472 2011-05-22  Bruno Haible  <bruno@clisp.org>
9473
9474         towctrans: Move AC_LIBOBJ invocations to module description.
9475         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
9476         AC_LIBOBJ invocation from here...
9477         * modules/towctrans (configure.ac): ... to here.
9478
9479 2011-05-22  Bruno Haible  <bruno@clisp.org>
9480
9481         tmpfile: Move AC_LIBOBJ invocations to module description.
9482         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
9483         invocations from here...
9484         * modules/tmpfile (configure.ac): ... to here.
9485
9486 2011-05-22  Bruno Haible  <bruno@clisp.org>
9487
9488         times: Move AC_LIBOBJ invocations to module description.
9489         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
9490         * modules/times (configure.ac): ... to here.
9491
9492 2011-05-22  Bruno Haible  <bruno@clisp.org>
9493
9494         time_r: Move AC_LIBOBJ invocations to module description.
9495         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
9496         invocations from here...
9497         * modules/time_r (configure.ac): ... to here.
9498
9499 2011-05-22  Bruno Haible  <bruno@clisp.org>
9500
9501         timegm: Move AC_LIBOBJ invocations to module description.
9502         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
9503         invocations from here...
9504         * modules/timegm (configure.ac): ... to here.
9505
9506 2011-05-22  Bruno Haible  <bruno@clisp.org>
9507
9508         tcgetsid: Move AC_LIBOBJ invocations to module description.
9509         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
9510         and gl_PREREQ_TCGETSID invocations from here...
9511         * modules/tcgetsid (configure.ac): ... to here.
9512         (Depends-on): Update conditions.
9513
9514 2011-05-22  Bruno Haible  <bruno@clisp.org>
9515
9516         symlinkat: Move AC_LIBOBJ invocations to module description.
9517         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
9518         here...
9519         * modules/symlinkat (configure.ac): ... to here.
9520
9521 2011-05-22  Bruno Haible  <bruno@clisp.org>
9522
9523         symlink: Move AC_LIBOBJ invocations to module description.
9524         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
9525         here...
9526         * modules/symlink (configure.ac): ... to here.
9527
9528 2011-05-22  Bruno Haible  <bruno@clisp.org>
9529
9530         strverscmp: Move AC_LIBOBJ invocations to module description.
9531         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
9532         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
9533         from here...
9534         * modules/strverscmp (configure.ac): ... to here.
9535
9536 2011-05-22  Bruno Haible  <bruno@clisp.org>
9537
9538         strtok_r: Move AC_LIBOBJ invocations to module description.
9539         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
9540         and gl_PREREQ_STRTOK_R invocations from here...
9541         * modules/strtok_r (configure.ac): ... to here.
9542         (Depends-on): Update conditions.
9543
9544 2011-05-22  Bruno Haible  <bruno@clisp.org>
9545
9546         strtoumax: Move AC_LIBOBJ invocations to module description.
9547         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
9548         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
9549         from here...
9550         * modules/strtoumax (configure.ac): ... to here.
9551
9552 2011-05-22  Bruno Haible  <bruno@clisp.org>
9553
9554         strtoimax: Move AC_LIBOBJ invocations to module description.
9555         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
9556         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
9557         from here...
9558         * modules/strtoimax (configure.ac): ... to here.
9559
9560 2011-05-22  Bruno Haible  <bruno@clisp.org>
9561
9562         strtoull: Move AC_LIBOBJ invocations to module description.
9563         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
9564         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
9565         from here...
9566         * modules/strtoull (configure.ac): ... to here.
9567
9568 2011-05-22  Bruno Haible  <bruno@clisp.org>
9569
9570         strtoll: Move AC_LIBOBJ invocations to module description.
9571         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
9572         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
9573         here...
9574         * modules/strtoll (configure.ac): ... to here.
9575
9576 2011-05-22  Bruno Haible  <bruno@clisp.org>
9577
9578         strtoul: Move AC_LIBOBJ invocations to module description.
9579         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
9580         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
9581         * modules/strtoul (configure.ac): ... to here.
9582
9583 2011-05-22  Bruno Haible  <bruno@clisp.org>
9584
9585         strtol: Move AC_LIBOBJ invocations to module description.
9586         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
9587         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
9588         * modules/strtol (configure.ac): ... to here.
9589
9590 2011-05-22  Bruno Haible  <bruno@clisp.org>
9591
9592         strtod: Move AC_LIBOBJ invocations to module description.
9593         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
9594         invocations from here...
9595         * modules/strtod (configure.ac): ... to here.
9596
9597 2011-05-22  Bruno Haible  <bruno@clisp.org>
9598
9599         strstr*: Move AC_LIBOBJ invocations to module description.
9600         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
9601         invocations from here...
9602         * modules/strstr-simple (configure.ac): ... to here.
9603         * modules/strstr (configure.ac): ... and here.
9604
9605 2011-05-22  Bruno Haible  <bruno@clisp.org>
9606
9607         strsignal: Move AC_LIBOBJ invocations to module description.
9608         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
9609         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
9610         * modules/strsignal (configure.ac): ... to here.
9611         (Depends-on): Update conditions.
9612
9613 2011-05-22  Bruno Haible  <bruno@clisp.org>
9614
9615         strsep: Move AC_LIBOBJ invocations to module description.
9616         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
9617         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
9618         here...
9619         * modules/strsep (configure.ac): ... to here.
9620
9621 2011-05-22  Bruno Haible  <bruno@clisp.org>
9622
9623         strptime: Move AC_LIBOBJ invocations to module description.
9624         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
9625         gl_PREREQ_STRPTIME invocations from here...
9626         * modules/strptime (configure.ac): ... to here.
9627
9628 2011-05-22  Bruno Haible  <bruno@clisp.org>
9629
9630         strpbrk: Move AC_LIBOBJ invocations to module description.
9631         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
9632         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
9633         here...
9634         * modules/strpbrk (configure.ac): ... to here.
9635
9636 2011-05-22  Bruno Haible  <bruno@clisp.org>
9637
9638         strnlen: Move AC_LIBOBJ invocations to module description.
9639         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
9640         invocations from here...
9641         * modules/strnlen (configure.ac): ... to here.
9642
9643 2011-05-22  Bruno Haible  <bruno@clisp.org>
9644
9645         strndup: Move AC_LIBOBJ invocations to module description.
9646         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
9647         invocations from here...
9648         * modules/strndup (configure.ac): ... to here.
9649         (Depends-on): Update conditions.
9650
9651 2011-05-22  Bruno Haible  <bruno@clisp.org>
9652
9653         strncat: Move AC_LIBOBJ invocations to module description.
9654         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
9655         invocations from here...
9656         * modules/strncat (configure.ac): ... to here.
9657
9658 2011-05-22  Bruno Haible  <bruno@clisp.org>
9659
9660         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
9661         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
9662         invocations from here...
9663         * modules/strdup (configure.ac): ... to here.
9664         * modules/strdup-posix (configure.ac): ... and here.
9665
9666 2011-05-22  Bruno Haible  <bruno@clisp.org>
9667
9668         strcspn: Move AC_LIBOBJ invocations to module description.
9669         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
9670         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
9671         here...
9672         * modules/strcspn (configure.ac): ... to here.
9673
9674 2011-05-22  Bruno Haible  <bruno@clisp.org>
9675
9676         strchrnul: Move AC_LIBOBJ invocations to module description.
9677         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
9678         gl_PREREQ_STRCHRNUL invocations from here...
9679         * modules/strchrnul (configure.ac): ... to here.
9680
9681 2011-05-22  Bruno Haible  <bruno@clisp.org>
9682
9683         strcasestr*: Move AC_LIBOBJ invocations to module description.
9684         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
9685         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
9686         * modules/strcasestr-simple (configure.ac): ... to here.
9687         * modules/strcasestr (configure.ac): ... and here.
9688
9689 2011-05-22  Bruno Haible  <bruno@clisp.org>
9690
9691         strcase: Move AC_LIBOBJ invocations to module description.
9692         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
9693         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
9694         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
9695         gl_PREREQ_STRNCASECMP invocations from here...
9696         * modules/strcase (configure.ac): ... to here.
9697
9698 2011-05-22  Bruno Haible  <bruno@clisp.org>
9699
9700         stpncpy: Move AC_LIBOBJ invocations to module description.
9701         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
9702         here...
9703         * modules/stpncpy (configure.ac): ... to here.
9704
9705 2011-05-22  Bruno Haible  <bruno@clisp.org>
9706
9707         stpcpy: Move AC_LIBOBJ invocations to module description.
9708         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
9709         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
9710         here...
9711         * modules/stpcpy (configure.ac): ... to here.
9712
9713 2011-05-21  Bruno Haible  <bruno@clisp.org>
9714
9715         stat: Move AC_LIBOBJ invocations to module description.
9716         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
9717         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
9718         here...
9719         * modules/stat (configure.ac): ... to here.
9720
9721 2011-05-21  Bruno Haible  <bruno@clisp.org>
9722
9723         sleep: Move AC_LIBOBJ invocations to module description.
9724         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
9725         * modules/sleep (configure.ac): ... to here.
9726
9727 2011-05-21  Bruno Haible  <bruno@clisp.org>
9728
9729         signbit: Move AC_LIBOBJ invocations to module description.
9730         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
9731         * modules/signbit (configure.ac): ... to here.
9732
9733 2011-05-21  Bruno Haible  <bruno@clisp.org>
9734
9735         sigprocmask: Move AC_LIBOBJ invocations to module description.
9736         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
9737         gl_PREREQ_SIGPROMASK invocations from here...
9738         * modules/sigprocmask (configure.ac): ... to here.
9739
9740 2011-05-21  Bruno Haible  <bruno@clisp.org>
9741
9742         sigaction: Move AC_LIBOBJ invocations to module description.
9743         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
9744         gl_PREREQ_SIGACTION invocations from here...
9745         * modules/sigaction (configure.ac): ... to here.
9746
9747 2011-05-21  Bruno Haible  <bruno@clisp.org>
9748
9749         sig2str: Move AC_LIBOBJ invocations to module description.
9750         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
9751         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
9752         here...
9753         * modules/sig2str (configure.ac): ... to here.
9754
9755 2011-05-21  Bruno Haible  <bruno@clisp.org>
9756
9757         setlocale: Move AC_LIBOBJ invocations to module description.
9758         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
9759         gl_PREREQ_SETLOCALE invocations from here...
9760         * modules/setlocale (configure.ac): ... to here.
9761
9762 2011-05-21  Bruno Haible  <bruno@clisp.org>
9763
9764         unsetenv: Move AC_LIBOBJ invocations to module description.
9765         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
9766         and gl_PREREQ_UNSETENV invocations from here...
9767         * modules/unsetenv (configure.ac): ... to here.
9768         (Depends-on): Update.
9769
9770 2011-05-21  Bruno Haible  <bruno@clisp.org>
9771
9772         setenv: Move AC_LIBOBJ invocations to module description.
9773         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
9774         here...
9775         * modules/setenv (configure.ac): ... to here.
9776
9777 2011-05-21  Bruno Haible  <bruno@clisp.org>
9778
9779         selinux-h: Move AC_LIBOBJ invocations to module description.
9780         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
9781         AC_LIBOBJ invocation from here...
9782         * modules/selinux-h (configure.ac): ... to here.
9783
9784 2011-05-21  Bruno Haible  <bruno@clisp.org>
9785
9786         select: Respect rules for use of AC_LIBOBJ.
9787         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
9788         here...
9789         * modules/select (configure.ac): ... to here.
9790
9791 2011-05-21  Bruno Haible  <bruno@clisp.org>
9792
9793         scandir: Move AC_LIBOBJ invocations to module description.
9794         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
9795         invocations from here...
9796         * modules/scandir (configure.ac): ... to here.
9797
9798 2011-05-21  Bruno Haible  <bruno@clisp.org>
9799
9800         rpmatch: Move AC_LIBOBJ invocations to module description.
9801         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
9802         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
9803         here...
9804         * modules/rpmatch (configure.ac): ... to here.
9805
9806 2011-05-21  Bruno Haible  <bruno@clisp.org>
9807
9808         rmdir: Respect rules for use of AC_LIBOBJ.
9809         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
9810         * modules/rmdir (configure.ac): ... to here.
9811
9812 2011-05-21  Bruno Haible  <bruno@clisp.org>
9813
9814         renameat: Move AC_LIBOBJ invocations to module description.
9815         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
9816         here...
9817         * modules/renameat (configure.ac): ... to here.
9818
9819 2011-05-21  Bruno Haible  <bruno@clisp.org>
9820
9821         rename: Respect rules for use of AC_LIBOBJ.
9822         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
9823         here...
9824         * modules/rename (configure.ac): ... to here.
9825
9826 2011-05-21  Bruno Haible  <bruno@clisp.org>
9827
9828         remove: Move AC_LIBOBJ invocations to module description.
9829         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
9830         here...
9831         * modules/remove (configure.ac): ... to here.
9832
9833 2011-05-21  Bruno Haible  <bruno@clisp.org>
9834
9835         relocatable-lib: Move AC_LIBOBJ invocations to module description.
9836         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
9837         macro.
9838         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
9839         * modules/relocatable-lib (configure.ac): ... to here.
9840         * modules/relocatable-prog-wrapper (configure.ac): Invoke
9841         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
9842
9843 2011-05-21  Bruno Haible  <bruno@clisp.org>
9844
9845         relocatable-prog: Move AC_LIBOBJ invocations to module description.
9846         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
9847         here...
9848         * modules/relocatable-prog (configure.ac): ... to here.
9849
9850 2011-05-21  Bruno Haible  <bruno@clisp.org>
9851
9852         regex: Move AC_LIBOBJ invocations to module description.
9853         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
9854         invocations from here...
9855         * modules/regex (configure.ac): ... to here.
9856
9857 2011-05-21  Bruno Haible  <bruno@clisp.org>
9858
9859         realloc-*: Move AC_LIBOBJ invocations to module description.
9860         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
9861         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
9862         AC_LIBOBJ invocations from here...
9863         * modules/realloc-gnu (configure.ac): ... to here.
9864         * modules/realloc-posix (configure.ac): ... and here.
9865
9866 2011-05-21  Bruno Haible  <bruno@clisp.org>
9867
9868         readutmp: Move AC_LIBOBJ invocations to module description.
9869         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
9870         * modules/readutmp (configure.ac): ... to here.
9871
9872 2011-05-21  Bruno Haible  <bruno@clisp.org>
9873
9874         readlinkat: Move AC_LIBOBJ invocations to module description.
9875         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
9876         here...
9877         * modules/readlinkat (configure.ac): ... to here.
9878
9879 2011-05-21  Bruno Haible  <bruno@clisp.org>
9880
9881         readlink: Move AC_LIBOBJ invocations to module description.
9882         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
9883         gl_PREREQ_READLINK invocations from here...
9884         * modules/readlink (configure.ac): ... to here.
9885
9886 2011-05-21  Bruno Haible  <bruno@clisp.org>
9887
9888         readline: Move AC_LIBOBJ invocations to module description.
9889         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
9890         gl_PREREQ_READLINE invocations from here...
9891         * modules/readline (configure.ac): ... to here.
9892
9893 2011-05-21  Bruno Haible  <bruno@clisp.org>
9894
9895         read: Move AC_LIBOBJ invocations to module description.
9896         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
9897         * modules/read (configure.ac): ... to here.
9898
9899 2011-05-21  Bruno Haible  <bruno@clisp.org>
9900
9901         rawmemchr: Move AC_LIBOBJ invocations to module description.
9902         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
9903         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
9904         from here...
9905         * modules/rawmemchr (configure.ac): ... to here.
9906
9907 2011-05-21  Bruno Haible  <bruno@clisp.org>
9908
9909         random_r: Move AC_LIBOBJ invocations to module description.
9910         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
9911         gl_PREREQ_RANDOM_R invocations from here...
9912         * modules/random_r (configure.ac): ... to here.
9913
9914 2011-05-21  Bruno Haible  <bruno@clisp.org>
9915
9916         pwrite: Move AC_LIBOBJ invocations to module description.
9917         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
9918         * modules/pwrite (configure.ac): ... to here.
9919
9920 2011-05-21  Bruno Haible  <bruno@clisp.org>
9921
9922         putenv: Move AC_LIBOBJ invocations to module description.
9923         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
9924         * modules/putenv (configure.ac): ... to here.
9925
9926 2011-05-21  Bruno Haible  <bruno@clisp.org>
9927
9928         login_tty: Move AC_LIBOBJ invocations to module description.
9929         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
9930         * modules/login_tty (configure.ac): ... to here.
9931
9932 2011-05-21  Bruno Haible  <bruno@clisp.org>
9933
9934         openpty: Move AC_LIBOBJ invocations to module description.
9935         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
9936         * modules/openpty (configure.ac): ... to here.
9937
9938 2011-05-21  Bruno Haible  <bruno@clisp.org>
9939
9940         forkpty: Move AC_LIBOBJ invocations to module description.
9941         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
9942         * modules/forkpty (configure.ac): ... to here.
9943
9944 2011-05-21  Bruno Haible  <bruno@clisp.org>
9945
9946         ptsname: Move AC_LIBOBJ invocations to module description.
9947         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
9948         invocations from here...
9949         * modules/ptsname (configure.ac): ... to here.
9950
9951 2011-05-21  Bruno Haible  <bruno@clisp.org>
9952
9953         pread: Move AC_LIBOBJ invocations to module description.
9954         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
9955         * modules/pread (configure.ac): ... to here.
9956
9957 2011-05-21  Bruno Haible  <bruno@clisp.org>
9958
9959         posix_spawn*: Move AC_LIBOBJ invocations to module description.
9960         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
9961         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
9962         * modules/posix_spawn (configure.ac): ... to here.
9963         * modules/posix_spawnp (configure.ac): ... and here.
9964
9965 2011-05-21  Bruno Haible  <bruno@clisp.org>
9966
9967         popen: Move AC_LIBOBJ invocations to module description.
9968         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
9969         invocations from here...
9970         * modules/popen (configure.ac): ... to here.
9971
9972 2011-05-21  Bruno Haible  <bruno@clisp.org>
9973
9974         poll: Move AC_LIBOBJ invocations to module description.
9975         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
9976         invocations from here...
9977         * modules/poll (configure.ac): ... to here.
9978
9979 2011-05-21  Bruno Haible  <bruno@clisp.org>
9980
9981         pipe-posix: Move AC_LIBOBJ invocations to module description.
9982         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
9983         * modules/pipe-posix (configure.ac): ... to here.
9984
9985 2011-05-21  Bruno Haible  <bruno@clisp.org>
9986
9987         openat: Respect rules for use of AC_LIBOBJ.
9988         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
9989         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
9990         * modules/openat (configure.ac): ... to here.
9991
9992 2011-05-21  Bruno Haible  <bruno@clisp.org>
9993
9994         obstack-printf*: Move AC_LIBOBJ invocations to module description.
9995         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
9996         invocation from here...
9997         * modules/obstack-printf (configure.ac): ... to here.
9998         * modules/obstack-printf-posix (configure.ac): ... and here.
9999
10000 2011-05-21  Bruno Haible  <bruno@clisp.org>
10001
10002         nl_langinfo: Move AC_LIBOBJ invocations to module description.
10003         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
10004         from here...
10005         * modules/nl_langinfo (configure.ac): ... to here.
10006
10007 2011-05-21  Bruno Haible  <bruno@clisp.org>
10008
10009         nanosleep: Move AC_LIBOBJ invocations to module description.
10010         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
10011         gl_PREREQ_NANOSLEEP invocations from here...
10012         * modules/nanosleep (configure.ac): ... to here.
10013
10014 2011-05-21  Bruno Haible  <bruno@clisp.org>
10015
10016         mountlist: Move AC_LIBOBJ invocations to module description.
10017         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
10018         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
10019         * modules/mountlist (configure.ac): ... to here.
10020
10021 2011-05-21  Bruno Haible  <bruno@clisp.org>
10022
10023         mktime: Respect rules for use of AC_LIBOBJ.
10024         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
10025         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
10026         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
10027         (gl_FUNC_MKTIME_INTERNAL): ... and here...
10028         * modules/mktime (configure.ac): ... to here.
10029         * modules/mktime-internal (configure.ac): ... and here.
10030         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
10031
10032 2011-05-21  Bruno Haible  <bruno@clisp.org>
10033
10034         mkstemps: Move AC_LIBOBJ invocations to module description.
10035         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
10036         here...
10037         * modules/mkstemps (configure.ac): ... to here.
10038
10039 2011-05-21  Bruno Haible  <bruno@clisp.org>
10040
10041         mkstemp: Move AC_LIBOBJ invocations to module description.
10042         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
10043         gl_PREREQ_MKSTEMP invocations from here...
10044         * modules/mkstemp (configure.ac): ... to here.
10045
10046 2011-05-21  Bruno Haible  <bruno@clisp.org>
10047
10048         mkostemps: Move AC_LIBOBJ invocations to module description.
10049         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
10050         here...
10051         * modules/mkostemps (configure.ac): ... to here.
10052
10053 2011-05-21  Bruno Haible  <bruno@clisp.org>
10054
10055         mkostemp: Move AC_LIBOBJ invocations to module description.
10056         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
10057         gl_PREREQ_MKOSTEMP invocations from here...
10058         * modules/mkostemp (configure.ac): ... to here.
10059
10060 2011-05-21  Bruno Haible  <bruno@clisp.org>
10061
10062         mknod: Move AC_LIBOBJ invocations to module description.
10063         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
10064         * modules/mknod (configure.ac): ... to here.
10065
10066 2011-05-21  Bruno Haible  <bruno@clisp.org>
10067
10068         mkfifoat: Move AC_LIBOBJ invocations to module description.
10069         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
10070         here...
10071         * modules/mkfifoat (configure.ac): ... to here.
10072
10073 2011-05-21  Bruno Haible  <bruno@clisp.org>
10074
10075         mkfifo: Respect rules for use of AC_LIBOBJ.
10076         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
10077         here...
10078         * modules/mkfifo (configure.ac): ... to here.
10079
10080 2011-05-21  Bruno Haible  <bruno@clisp.org>
10081
10082         mkdtemp: Move AC_LIBOBJ invocations to module description.
10083         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
10084         invocations from here...
10085         * modules/mkdtemp (configure.ac): ... to here.
10086
10087 2011-05-21  Bruno Haible  <bruno@clisp.org>
10088
10089         mkdir: Move AC_LIBOBJ invocations to module description.
10090         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
10091         * modules/mkdir (configure.ac): ... to here.
10092
10093 2011-05-21  Bruno Haible  <bruno@clisp.org>
10094
10095         memset: Move AC_LIBOBJ invocations to module description.
10096         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
10097         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
10098         here...
10099         * modules/memset (configure.ac): ... to here.
10100
10101 2011-05-21  Bruno Haible  <bruno@clisp.org>
10102
10103         memrchr: Move AC_LIBOBJ invocations to module description.
10104         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
10105         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
10106         here...
10107         * modules/memrchr (configure.ac): ... to here.
10108
10109 2011-05-21  Bruno Haible  <bruno@clisp.org>
10110
10111         mempcpy: Move AC_LIBOBJ invocations to module description.
10112         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
10113         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
10114         here...
10115         * modules/mempcpy (configure.ac): ... to here.
10116
10117 2011-05-21  Bruno Haible  <bruno@clisp.org>
10118
10119         memmove: Move AC_LIBOBJ invocations to module description.
10120         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
10121         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
10122         here...
10123         * modules/memmove (configure.ac): ... to here.
10124
10125 2011-05-21  Bruno Haible  <bruno@clisp.org>
10126
10127         memmem*: Move AC_LIBOBJ invocations to module description.
10128         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
10129         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
10130         here...
10131         (gl_FUNC_MEMMEM): ... and here...
10132         * modules/memmem-simple (configure.ac): ... to here.
10133         * modules/memmem (configure.ac): ... and here.
10134
10135 2011-05-21  Bruno Haible  <bruno@clisp.org>
10136
10137         memcpy: Move AC_LIBOBJ invocations to module description.
10138         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
10139         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
10140         here...
10141         * modules/memcpy (configure.ac): ... to here.
10142
10143 2011-05-21  Bruno Haible  <bruno@clisp.org>
10144
10145         memcmp: Simplify autoconf macro.
10146         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
10147         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
10148         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
10149
10150 2011-05-21  Bruno Haible  <bruno@clisp.org>
10151
10152         memcmp: Move AC_LIBOBJ invocations to module description.
10153         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
10154         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
10155         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
10156         * modules/memcmp (configure.ac): ... to here.
10157         (Depends-on): Update conditions.
10158
10159 2011-05-21  Bruno Haible  <bruno@clisp.org>
10160
10161         memchr: Respect rules for use of AC_LIBOBJ.
10162         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
10163         invocations from here...
10164         * modules/memchr (configure.ac): ... to here.
10165
10166 2011-05-21  Bruno Haible  <bruno@clisp.org>
10167
10168         mbtowc: Move AC_LIBOBJ invocations to module description.
10169         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
10170         invocations from here...
10171         * modules/mbtowc (configure.ac): ... to here.
10172
10173 2011-05-21  Bruno Haible  <bruno@clisp.org>
10174
10175         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
10176         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
10177         gl_PREREQ_MBSRTOWCS invocations from here...
10178         * modules/mbsrtowcs (configure.ac): ... to here.
10179
10180 2011-05-21  Bruno Haible  <bruno@clisp.org>
10181
10182         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
10183         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
10184         gl_PREREQ_MBSNRTOWCS invocations from here...
10185         * modules/mbsnrtowcs (configure.ac): ... to here.
10186
10187 2011-05-21  Bruno Haible  <bruno@clisp.org>
10188
10189         mbsinit: Move AC_LIBOBJ invocations to module description.
10190         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
10191         invocations from here...
10192         * modules/mbsinit (configure.ac): ... to here.
10193
10194 2011-05-21  Bruno Haible  <bruno@clisp.org>
10195
10196         mbrlen: Move AC_LIBOBJ invocations to module description.
10197         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
10198         invocations from here...
10199         * modules/mbrlen (configure.ac): ... to here.
10200
10201 2011-05-21  Bruno Haible  <bruno@clisp.org>
10202
10203         mbrtowc: Respect rules for use of AC_LIBOBJ.
10204         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
10205         invocations from here...
10206         * modules/mbrtowc (configure.ac): ... to here.
10207
10208 2011-05-21  Bruno Haible  <bruno@clisp.org>
10209
10210         malloc-*: Move AC_LIBOBJ invocations to module description.
10211         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
10212         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
10213         AC_LIBOBJ invocations from here...
10214         * modules/malloc-gnu (configure.ac): ... to here.
10215         * modules/malloc-posix (configure.ac): ... and here.
10216
10217 2011-05-21  Bruno Haible  <bruno@clisp.org>
10218
10219         lstat, openat: Respect rules for use of AC_LIBOBJ.
10220         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
10221         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
10222         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
10223         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
10224         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
10225         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
10226         here.
10227         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
10228
10229 2011-05-21  Bruno Haible  <bruno@clisp.org>
10230
10231         lseek: Move AC_LIBOBJ invocations to module description.
10232         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
10233         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
10234         * modules/lseek (configure.ac): ... to here.
10235
10236 2011-05-21  Bruno Haible  <bruno@clisp.org>
10237
10238         linkat: Move AC_LIBOBJ invocations to module description.
10239         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
10240         here...
10241         * modules/linkat (configure.ac): ... to here.
10242
10243 2011-05-21  Bruno Haible  <bruno@clisp.org>
10244
10245         link: Respect rules for use of AC_LIBOBJ.
10246         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
10247         * modules/link (configure.ac): ... to here.
10248
10249 2011-05-21  Bruno Haible  <bruno@clisp.org>
10250
10251         lchown: Move AC_LIBOBJ invocations to module description.
10252         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
10253         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
10254         * modules/lchown (configure.ac): ... to here.
10255
10256 2011-05-21  Bruno Haible  <bruno@clisp.org>
10257
10258         iswctype: Move AC_LIBOBJ invocations to module description.
10259         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
10260         here...
10261         * modules/iswctype (configure.ac): ... to here.
10262
10263 2011-05-21  Bruno Haible  <bruno@clisp.org>
10264
10265         iswblank: Move AC_LIBOBJ invocations to module description.
10266         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
10267         here...
10268         * modules/iswblank (configure.ac): ... to here.
10269
10270 2011-05-21  Bruno Haible  <bruno@clisp.org>
10271
10272         atanl: Move AC_LIBOBJ invocations to module description.
10273         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
10274         * modules/atanl (configure.ac): ... to here.
10275
10276 2011-05-21  Bruno Haible  <bruno@clisp.org>
10277
10278         acosl: Move AC_LIBOBJ invocations to module description.
10279         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
10280         * modules/acosl (configure.ac): ... to here.
10281
10282 2011-05-21  Bruno Haible  <bruno@clisp.org>
10283
10284         asinl: Respect rules for use of AC_LIBOBJ.
10285         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
10286         * modules/asinl (configure.ac): ... to here.
10287
10288 2011-05-21  Bruno Haible  <bruno@clisp.org>
10289
10290         tanl: Move AC_LIBOBJ invocations to module description.
10291         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
10292         * modules/tanl (configure.ac): ... to here.
10293
10294 2011-05-21  Bruno Haible  <bruno@clisp.org>
10295
10296         cosl: Move AC_LIBOBJ invocations to module description.
10297         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
10298         * modules/cosl (configure.ac): ... to here.
10299
10300 2011-05-21  Bruno Haible  <bruno@clisp.org>
10301
10302         sinl: Move AC_LIBOBJ invocations to module description.
10303         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
10304         * modules/sinl (configure.ac): ... to here.
10305
10306 2011-05-21  Bruno Haible  <bruno@clisp.org>
10307
10308         logl: Move AC_LIBOBJ invocations to module description.
10309         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
10310         * modules/logl (configure.ac): ... to here.
10311
10312 2011-05-21  Bruno Haible  <bruno@clisp.org>
10313
10314         expl: Move AC_LIBOBJ invocations to module description.
10315         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
10316         * modules/expl (configure.ac): ... to here.
10317
10318 2011-05-21  Bruno Haible  <bruno@clisp.org>
10319
10320         roundl: Move AC_LIBOBJ invocations to module description.
10321         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
10322         * modules/roundl (configure.ac): ... to here.
10323
10324 2011-05-21  Bruno Haible  <bruno@clisp.org>
10325
10326         round: Move AC_LIBOBJ invocations to module description.
10327         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
10328         * modules/round (configure.ac): ... to here.
10329
10330 2011-05-21  Bruno Haible  <bruno@clisp.org>
10331
10332         roundf: Move AC_LIBOBJ invocations to module description.
10333         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
10334         * modules/roundf (configure.ac): ... to here.
10335
10336 2011-05-21  Bruno Haible  <bruno@clisp.org>
10337
10338         truncl: Move AC_LIBOBJ invocations to module description.
10339         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
10340         * modules/truncl (configure.ac): ... to here.
10341
10342 2011-05-21  Bruno Haible  <bruno@clisp.org>
10343
10344         trunc: Move AC_LIBOBJ invocations to module description.
10345         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
10346         * modules/trunc (configure.ac): ... to here.
10347
10348 2011-05-21  Bruno Haible  <bruno@clisp.org>
10349
10350         truncf: Move AC_LIBOBJ invocations to module description.
10351         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
10352         * modules/truncf (configure.ac): ... to here.
10353
10354 2011-05-21  Bruno Haible  <bruno@clisp.org>
10355
10356         ceill: Move AC_LIBOBJ invocations to module description.
10357         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
10358         * modules/ceill (configure.ac): ... to here.
10359
10360 2011-05-21  Bruno Haible  <bruno@clisp.org>
10361
10362         ceil: Move AC_LIBOBJ invocations to module description.
10363         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
10364         * modules/ceil (configure.ac): ... to here.
10365
10366 2011-05-21  Bruno Haible  <bruno@clisp.org>
10367
10368         ceilf: Move AC_LIBOBJ invocations to module description.
10369         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
10370         * modules/ceilf (configure.ac): ... to here.
10371
10372 2011-05-21  Bruno Haible  <bruno@clisp.org>
10373
10374         floorl: Respect rules for use of AC_LIBOBJ.
10375         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
10376         * modules/floorl (configure.ac): ... to here.
10377
10378 2011-05-21  Bruno Haible  <bruno@clisp.org>
10379
10380         floor: Respect rules for use of AC_LIBOBJ.
10381         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
10382         * modules/floor (configure.ac): ... to here.
10383
10384 2011-05-21  Bruno Haible  <bruno@clisp.org>
10385
10386         floorf: Move AC_LIBOBJ invocations to module description.
10387         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
10388         * modules/floorf (configure.ac): ... to here.
10389
10390 2011-05-20  Bruno Haible  <bruno@clisp.org>
10391
10392         sqrtl: Respect rules for use of AC_LIBOBJ.
10393         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
10394         * modules/sqrtl (configure.ac): ... to here.
10395
10396 2011-05-20  Bruno Haible  <bruno@clisp.org>
10397
10398         ldexpl: Respect rules for use of AC_LIBOBJ.
10399         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
10400         * modules/ldexpl (configure.ac): ... to here.
10401
10402 2011-05-20  Bruno Haible  <bruno@clisp.org>
10403
10404         frexpl*: Respect rules for use of AC_LIBOBJ.
10405         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
10406         invocation from here...
10407         * modules/frexpl (configure.ac): ... to here.
10408         * modules/frexpl-nolibm (configure.ac): ... and here.
10409
10410 2011-05-20  Bruno Haible  <bruno@clisp.org>
10411
10412         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
10413         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
10414         invocation from here...
10415         * modules/frexp (configure.ac): ... to here.
10416         * modules/frexp-nolibm (configure.ac): ... and here.
10417
10418 2011-05-20  Bruno Haible  <bruno@clisp.org>
10419
10420         isnan: Respect rules for use of AC_LIBOBJ.
10421         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
10422         invocations here.
10423         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
10424         REPLACE_ISNAN.
10425         * modules/isnand (configure.ac): Likewise.
10426         * modules/isnanl (configure.ac): Likewise.
10427
10428 2011-05-20  Bruno Haible  <bruno@clisp.org>
10429
10430         isnanl*: Respect rules for use of AC_LIBOBJ.
10431         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
10432         invocation from here...
10433         * modules/isnanl (configure.ac): ... to here.
10434         * modules/isnanl-nolibm (configure.ac): ... and here.
10435
10436 2011-05-20  Bruno Haible  <bruno@clisp.org>
10437
10438         isnand*: Move AC_LIBOBJ invocations to module description.
10439         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
10440         invocation from here...
10441         * modules/isnand (configure.ac): ... to here.
10442         * modules/isnand-nolibm (configure.ac): ... and here.
10443
10444 2011-05-20  Bruno Haible  <bruno@clisp.org>
10445
10446         isnanf*: Move AC_LIBOBJ invocations to module description.
10447         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
10448         invocation from here...
10449         * modules/isnanf (configure.ac): ... to here.
10450         * modules/isnanf-nolibm (configure.ac): ... and here.
10451
10452 2011-05-20  Bruno Haible  <bruno@clisp.org>
10453
10454         isnan*: Separate the AC_LIBOBJ invocations.
10455         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
10456         AC_LIBOBJ invocation.
10457         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
10458         here.
10459         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
10460         AC_LIBOBJ invocation.
10461         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
10462         here.
10463         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
10464         AC_LIBOBJ invocation.
10465         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
10466         here.
10467         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
10468
10469 2011-05-08  Bruno Haible  <bruno@clisp.org>
10470
10471         isinf: Move AC_LIBOBJ invocations to module description.
10472         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
10473         * modules/isinf (configure.ac): ... to here.
10474
10475 2011-05-08  Bruno Haible  <bruno@clisp.org>
10476
10477         isfinite: Move AC_LIBOBJ invocations to module description.
10478         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
10479         * modules/isfinite (configure.ac): ... to here.
10480
10481 2011-05-08  Bruno Haible  <bruno@clisp.org>
10482
10483         isblank: Move AC_LIBOBJ invocations to module description.
10484         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
10485         here...
10486         * modules/isblank (configure.ac): ... to here.
10487
10488 2011-05-08  Bruno Haible  <bruno@clisp.org>
10489
10490         isapipe: Move AC_LIBOBJ invocations to module description.
10491         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
10492         gl_PREREQ_ISAPIPE invocations from here...
10493         * modules/isapipe (configure.ac): ... to here.
10494         (Depends-on): Update condition.
10495
10496 2011-05-08  Bruno Haible  <bruno@clisp.org>
10497
10498         ioctl: Move AC_LIBOBJ invocations to module description.
10499         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
10500         invocations from here...
10501         * modules/ioctl (configure.ac): ... to here.
10502         (Depends-on): Update condition.
10503
10504 2011-05-08  Bruno Haible  <bruno@clisp.org>
10505
10506         imaxdiv: Move AC_LIBOBJ invocations to module description.
10507         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
10508         invocations from here...
10509         * modules/imaxdiv (configure.ac): ... to here.
10510
10511 2011-05-08  Bruno Haible  <bruno@clisp.org>
10512
10513         imaxabs: Move AC_LIBOBJ invocations to module description.
10514         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
10515         invocations from here...
10516         * modules/imaxabs (configure.ac): ... to here.
10517
10518 2011-05-08  Bruno Haible  <bruno@clisp.org>
10519
10520         getaddrinfo: Move AC_LIBOBJ invocations to module description.
10521         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
10522         AC_LIBOBJ invocations from here...
10523         * modules/getaddrinfo (configure.ac): ... to here.
10524         (Depends-on): Add conditions.
10525
10526 2011-05-08  Bruno Haible  <bruno@clisp.org>
10527
10528         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
10529         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
10530         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
10531         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
10532         (gl_PREREQ_INET_PTON): ... from here.
10533         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
10534         gl_PREREQ_INET_PTON here.
10535         (Depends-on): Update condition.
10536
10537 2011-05-08  Bruno Haible  <bruno@clisp.org>
10538
10539         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
10540         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
10541         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
10542         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
10543         (gl_PREREQ_INET_NTOP): ... from here.
10544         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
10545         gl_PREREQ_INET_NTOP here.
10546         (Depends-on): Update condition.
10547
10548 2011-05-08  Bruno Haible  <bruno@clisp.org>
10549
10550         iconv_open: Move AC_LIBOBJ invocations to module description.
10551         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
10552         AC_LIBOBJ invocations from here...
10553         * modules/iconv_open (configure.ac): ... to here.
10554
10555 2011-05-08  Bruno Haible  <bruno@clisp.org>
10556
10557         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
10558         If module 'iconv_open' is among the main modules and module
10559         'iconv_open-utf' is among the tests dependencies, then
10560         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
10561         return the special iconv_t values. Therefore iconv() and iconv_close()
10562         must support these special iconv_t values, already in lib, not only in
10563         tests.
10564         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
10565         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
10566         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
10567         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
10568         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
10569         (Depends-on): Add the dependencies of iconv_open-utf.
10570         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
10571         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
10572         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
10573
10574 2011-05-08  Bruno Haible  <bruno@clisp.org>
10575
10576         group-member: Move AC_LIBOBJ invocations to module description.
10577         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
10578         gl_PREREQ_GROUP_MEMBER invocations from here...
10579         * modules/group-member (configure.ac): ... to here.
10580
10581 2011-05-08  Bruno Haible  <bruno@clisp.org>
10582
10583         grantpt: Move AC_LIBOBJ invocations to module description.
10584         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
10585         invocations from here...
10586         * modules/grantpt (configure.ac): ... to here.
10587
10588 2011-05-08  Bruno Haible  <bruno@clisp.org>
10589
10590         glob: Move AC_LIBOBJ invocations to module description.
10591         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
10592         from here...
10593         * modules/glob (configure.ac): ... to here.
10594
10595 2011-05-08  Bruno Haible  <bruno@clisp.org>
10596
10597         getusershell: Move AC_LIBOBJ invocations to module description.
10598         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
10599         Move AC_LIBOBJ invocation from here...
10600         * modules/getusershell (configure.ac): ... to here.
10601         (Depends-on): Update condition.
10602
10603 2011-05-08  Bruno Haible  <bruno@clisp.org>
10604
10605         gettimeofday: Move AC_LIBOBJ invocations to module description.
10606         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
10607         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
10608         gl_PREREQ_GETTIMEOFDAY invocations from here...
10609         * modules/gettimeofday (configure.ac): ... to here.
10610
10611 2011-05-08  Bruno Haible  <bruno@clisp.org>
10612
10613         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
10614         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
10615         just gl_FUNC_TZSET.
10616         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
10617         (gl_FUNC_TZSET_CLOBBER): Remove actions.
10618         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
10619         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
10620
10621 2011-05-08  Bruno Haible  <bruno@clisp.org>
10622
10623         getsubopt: Move AC_LIBOBJ invocations to module description.
10624         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
10625         gl_PREREQ_GETSUBOPT invocations from here...
10626         * modules/getsubopt (configure.ac): ... to here.
10627
10628 2011-05-08  Bruno Haible  <bruno@clisp.org>
10629
10630         getpass-gnu: Move AC_LIBOBJ invocations to module description.
10631         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
10632         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
10633         * modules/getpass-gnu (configure.ac): ... to here.
10634
10635 2011-05-08  Bruno Haible  <bruno@clisp.org>
10636
10637         getpass: Move AC_LIBOBJ invocations to module description.
10638         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
10639         gl_PREREQ_GETPASS invocations from here...
10640         * modules/getpass (configure.ac): ... to here.
10641
10642 2011-05-08  Bruno Haible  <bruno@clisp.org>
10643
10644         getpagesize: Move AC_LIBOBJ invocations to module description.
10645         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
10646         from here...
10647         * modules/getpagesize (configure.ac): ... to here.
10648
10649 2011-05-08  Bruno Haible  <bruno@clisp.org>
10650
10651         getopt: Move AC_LIBOBJ invocations to module description.
10652         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
10653         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
10654         invocations from here...
10655         * modules/getopt-gnu (configure.ac): ... to here.
10656         * modules/getopt-posix (configure.ac): ... and here.
10657         (Depends-on): Update condition.
10658
10659 2011-05-08  Bruno Haible  <bruno@clisp.org>
10660
10661         getopt, argp: Respect rules for use of AC_LIBOBJ.
10662         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
10663         (gl_REPLACE_GETOPT_ALWAYS): New macro.
10664         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
10665         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
10666
10667 2011-05-08  Bruno Haible  <bruno@clisp.org>
10668
10669         getlogin_r: Move AC_LIBOBJ invocations to module description.
10670         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
10671         gl_PREREQ_GETLOGIN_R invocations from here...
10672         * modules/getlogin_r (configure.ac): ... to here.
10673
10674 2011-05-08  Bruno Haible  <bruno@clisp.org>
10675
10676         getlogin: Move AC_LIBOBJ invocations to module description.
10677         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
10678         here...
10679         * modules/getlogin (configure.ac): ... to here.
10680
10681 2011-05-08  Bruno Haible  <bruno@clisp.org>
10682
10683         getloadavg: Move AC_LIBOBJ invocations to module description.
10684         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
10685         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
10686         * modules/getloadavg (configure.ac): ... to here.
10687
10688 2011-05-08  Bruno Haible  <bruno@clisp.org>
10689
10690         gethrxtime: Move AC_LIBOBJ invocations to module description.
10691         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
10692         LIB_GETHRXTIME from here...
10693         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
10694         invocations from here...
10695         * modules/gethrxtime (configure.ac): ... to here.
10696
10697 2011-05-08  Bruno Haible  <bruno@clisp.org>
10698
10699         gethostname: Move AC_LIBOBJ invocations to module description.
10700         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
10701         gl_PREREQ_GETHOSTNAME invocations from here...
10702         * modules/gethostname (configure.ac): ... to here.
10703
10704 2011-05-08  Bruno Haible  <bruno@clisp.org>
10705
10706         getgroups: Move AC_LIBOBJ invocations to module description.
10707         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
10708         here...
10709         * modules/getgroups (configure.ac): ... to here.
10710
10711 2011-05-08  Bruno Haible  <bruno@clisp.org>
10712
10713         getdtablesize: Move AC_LIBOBJ invocations to module description.
10714         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
10715         invocation from here...
10716         * modules/getdtablesize (configure.ac): ... to here.
10717
10718 2011-05-08  Bruno Haible  <bruno@clisp.org>
10719
10720         getdomainname: Move AC_LIBOBJ invocations to module description.
10721         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
10722         gl_PREREQ_GETDOMAINNAME invocations from here...
10723         * modules/getdomainname (configure.ac): ... to here.
10724
10725 2011-05-08  Bruno Haible  <bruno@clisp.org>
10726
10727         getline: Move AC_LIBOBJ invocations to module description.
10728         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
10729         invocations from here...
10730         * modules/getline (configure.ac): ... to here.
10731
10732 2011-05-08  Bruno Haible  <bruno@clisp.org>
10733
10734         getline: Simplify.
10735         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
10736         It's already handled through the module dependency.
10737
10738 2011-05-08  Bruno Haible  <bruno@clisp.org>
10739
10740         getdelim: Move AC_LIBOBJ invocations to module description.
10741         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
10742         and gl_PREREQ_GETDELIM invocations from here...
10743         * modules/getdelim (configure.ac): ... to here.
10744         (Depends-on): Fix condition.
10745
10746 2011-05-08  Bruno Haible  <bruno@clisp.org>
10747
10748         getcwd: Move AC_LIBOBJ invocations to module description.
10749         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
10750         invocations from here...
10751         * modules/getcwd (configure.ac): ... to here.
10752
10753 2011-05-08  Bruno Haible  <bruno@clisp.org>
10754
10755         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
10756         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
10757         here...
10758         * modules/getcwd-lgpl (configure.ac): ... to here.
10759
10760 2011-05-07  Bruno Haible  <bruno@clisp.org>
10761
10762         crypto/gc: Move AC_LIBOBJ invocations to module description.
10763         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
10764         * modules/crypto/gc (configure.ac): ... to here.
10765
10766 2011-05-07  Bruno Haible  <bruno@clisp.org>
10767
10768         fwriting: Move AC_LIBOBJ invocations to module description.
10769         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
10770         here...
10771         * modules/fwriting (configure.ac): ... to here.
10772
10773 2011-05-07  Bruno Haible  <bruno@clisp.org>
10774
10775         fwritable: Move AC_LIBOBJ invocations to module description.
10776         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
10777         here...
10778         * modules/fwritable (configure.ac): ... to here.
10779
10780 2011-05-07  Bruno Haible  <bruno@clisp.org>
10781
10782         futimens: Move AC_LIBOBJ invocations to module description.
10783         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
10784         here...
10785         * modules/futimens (configure.ac): ... to here.
10786
10787 2011-05-07  Bruno Haible  <bruno@clisp.org>
10788
10789         ftruncate: Move AC_LIBOBJ invocations to module description.
10790         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
10791         gl_PREREQ_FTRUNCATE invocations from here...
10792         * modules/ftruncate (configure.ac): ... to here.
10793
10794 2011-05-07  Bruno Haible  <bruno@clisp.org>
10795
10796         fsync: Move AC_LIBOBJ invocations to module description.
10797         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
10798         invocations from here...
10799         * modules/fsync (configure.ac): ... to here.
10800
10801 2011-05-07  Bruno Haible  <bruno@clisp.org>
10802
10803         fsusage: Move AC_LIBOBJ invocations to module description.
10804         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
10805         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
10806         * modules/fsusage (configure.ac): ... to here.
10807
10808 2011-05-07  Bruno Haible  <bruno@clisp.org>
10809
10810         freopen: Move AC_LIBOBJ invocations to module description.
10811         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
10812         invocations from here...
10813         * modules/freopen (configure.ac): ... to here.
10814
10815 2011-05-07  Bruno Haible  <bruno@clisp.org>
10816
10817         free: Move AC_LIBOBJ invocations to module description.
10818         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
10819         invocations from here...
10820         * modules/free (configure.ac): ... to here.
10821
10822 2011-05-07  Bruno Haible  <bruno@clisp.org>
10823
10824         freadable: Move AC_LIBOBJ invocations to module description.
10825         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
10826         here...
10827         * modules/freadable (configure.ac): ... to here.
10828
10829 2011-05-07  Bruno Haible  <bruno@clisp.org>
10830
10831         fpurge: Move AC_LIBOBJ invocations to module description.
10832         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
10833         invocations from here...
10834         * modules/fpurge (configure.ac): ... to here.
10835
10836 2011-05-07  Bruno Haible  <bruno@clisp.org>
10837
10838         fpending: Move AC_LIBOBJ invocations to module description.
10839         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
10840         gl_FUNC_FPENDING.
10841         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
10842         invocations from here...
10843         * modules/fpending (configure.ac): ... to here.
10844
10845 2011-05-07  Bruno Haible  <bruno@clisp.org>
10846
10847         fopen: Move AC_LIBOBJ invocations to module description.
10848         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
10849         invocations from here...
10850         * modules/fopen (configure.ac): ... to here.
10851
10852 2011-05-07  Bruno Haible  <bruno@clisp.org>
10853
10854         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
10855         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
10856         gl_FUNC_FNMATCH_POSIX.
10857         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
10858         invocations from here...
10859         * modules/fnmatch (configure.ac): ... to here.
10860         * modules/fnmatch-gnu (configure.ac): ... and here.
10861
10862 2011-05-07  Bruno Haible  <bruno@clisp.org>
10863
10864         flock: Move AC_LIBOBJ invocations to module description.
10865         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
10866         invocations from here...
10867         * modules/flock (configure.ac): ... to here.
10868
10869 2011-05-07  Bruno Haible  <bruno@clisp.org>
10870
10871         fileblocks: Move AC_LIBOBJ invocations to module description.
10872         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
10873         gl_PREREQ_FILEBLOCKS invocations from here...
10874         * modules/fileblocks (configure.ac): ... to here.
10875
10876 2011-05-06  Bruno Haible  <bruno@clisp.org>
10877
10878         fflush: Move AC_LIBOBJ invocations to module description.
10879         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
10880         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
10881         invocations from here...
10882         * modules/fflush (configure.ac): ... to here.
10883
10884 2011-05-06  Bruno Haible  <bruno@clisp.org>
10885
10886         fdopendir: Move AC_LIBOBJ invocations to module description.
10887         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
10888         here...
10889         * modules/fdopendir (configure.ac): ... to here.
10890         (Depends-on): Improve conditions.
10891
10892 2011-05-06  Bruno Haible  <bruno@clisp.org>
10893
10894         _Exit: Move AC_LIBOBJ invocations to module description.
10895         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
10896         invocations from here...
10897         * modules/_Exit (configure.ac): ... to here.
10898
10899 2011-05-21  Bruno Haible  <bruno@clisp.org>
10900
10901         euidaccess: Respect rules for use of AC_LIBOBJ.
10902         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
10903         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
10904         from here...
10905         * modules/euidaccess (configure.ac): ... to here.
10906
10907 2011-05-06  Bruno Haible  <bruno@clisp.org>
10908
10909         error: Move AC_LIBOBJ invocations to module description.
10910         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
10911         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
10912         invocations from here...
10913         * modules/error (configure.ac): ... to here.
10914
10915 2011-05-06  Bruno Haible  <bruno@clisp.org>
10916
10917         duplocale: Move AC_LIBOBJ invocations to module description.
10918         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
10919         gl_PREREQ_DUPLOCALE invocations from here...
10920         * modules/duplocale (configure.ac): ... to here.
10921
10922 2011-05-05  Bruno Haible  <bruno@clisp.org>
10923
10924         dirfd: Move AC_LIBOBJ invocations to module description.
10925         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
10926         gl_FUNC_DIRFD.
10927         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
10928         here...
10929         * modules/dirfd (configure.ac): ... to here.
10930         (Depends-on): Fix condition.
10931
10932 2011-05-05  Bruno Haible  <bruno@clisp.org>
10933
10934         chown: Respect rules for use of AC_LIBOBJ.
10935         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
10936         * modules/chown (configure.ac): ... to here.
10937
10938 2011-05-05  Bruno Haible  <bruno@clisp.org>
10939
10940         chdir-long: Move AC_LIBOBJ invocations to module description.
10941         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
10942         gl_PREREQ_CHDIR_LONG invocations from here...
10943         * modules/chdir-long (configure.ac): ... to here.
10944
10945 2011-05-05  Bruno Haible  <bruno@clisp.org>
10946
10947         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
10948         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
10949         from here...
10950         * modules/canonicalize-lgpl (configure.ac): ... to here.
10951
10952 2011-05-05  Bruno Haible  <bruno@clisp.org>
10953
10954         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
10955         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
10956         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
10957         REPLACE_CALLOC.
10958         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
10959         * modules/calloc-gnu (configure.ac): Likewise.
10960
10961 2011-05-05  Bruno Haible  <bruno@clisp.org>
10962
10963         btowc: Move AC_LIBOBJ invocations to module description.
10964         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
10965         invocations from here...
10966         * modules/btowc (configure.ac): ... to here.
10967
10968 2011-05-21  Bruno Haible  <bruno@clisp.org>
10969
10970         atexit: Move AC_LIBOBJ invocations to module description.
10971         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
10972         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
10973         here...
10974         * modules/atexit (configure.ac): ... to here.
10975
10976 2011-05-05  Bruno Haible  <bruno@clisp.org>
10977
10978         atoll: Move AC_LIBOBJ invocations to module description.
10979         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
10980         invocations from here...
10981         * modules/atoll (configure.ac): ... to here.
10982
10983 2011-05-05  Bruno Haible  <bruno@clisp.org>
10984
10985         argz: Move AC_LIBOBJ invocations to module description.
10986         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
10987         * modules/argz (configure.ac): ... to here.
10988
10989 2011-05-05  Bruno Haible  <bruno@clisp.org>
10990
10991         alphasort: Move AC_LIBOBJ invocations to module description.
10992         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
10993         gl_PREREQ_ALPHASORT invocations from here...
10994         * modules/alphasort (configure.ac): ... to here.
10995
10996 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
10997
10998         verify: new macro verify_expr; verify_true deprecated
10999         * NEWS: Mention this.
11000         * doc/verify.texi (Compile-time Assertions): Document this.
11001         * lib/verify.h (verify_true): Deprecate.
11002         (verify_expr): New macro.
11003         * tests/test-verify.c (function): Test verify_expr.
11004
11005 2011-06-14  Jim Meyering  <meyering@redhat.com>
11006
11007         init.sh: give more portable redirection-related advice in a comment
11008         * tests/init.sh (stderr_fileno_): Update the advice in comments.
11009         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
11010         for lots of discussion.  Stefano Lattarini suggested the solution
11011         of putting "9>&2" after the command.  Reported by Bruno Haible.
11012
11013 2011-06-13  Bruno Haible  <bruno@clisp.org>
11014
11015         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
11016         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
11017         'none'.
11018
11019 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11020
11021         ftoastr: use strtof only if HAVE_STRTOF
11022         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
11023         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
11024         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
11025         * modules/ftoastr (configure.ac): Check for strtof.
11026
11027 2011-06-13  Bruno Haible  <bruno@clisp.org>
11028
11029         gnulib-tool: Addendum to 2011-06-08 commit.
11030         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
11031         and --witness-c-macro have been given, augment AM_CPPFLAGS.
11032
11033 2011-06-13  Bruno Haible  <bruno@clisp.org>
11034
11035         fseeko: Provide a non-inline replacement of fseek().
11036         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
11037         * modules/fseeko (Depends-on): Add fseek.
11038         * modules/fseek (License): Change to LGPLv2+.
11039
11040 2011-06-13  Bruno Haible  <bruno@clisp.org>
11041
11042         ftello: Provide a non-inline replacement of ftell().
11043         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
11044         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
11045         not have ftello() (such as on mingw).
11046         * modules/ftello (Depends-on): Add ftell.
11047         * modules/ftell (License): Change to LGPLv2+.
11048
11049 2011-05-07  Bruno Haible  <bruno@clisp.org>
11050
11051         ftell: Move AC_LIBOBJ invocations to module description.
11052         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
11053         * modules/ftell (configure.ac): ... to here.
11054
11055 2011-05-07  Bruno Haible  <bruno@clisp.org>
11056
11057         ftello: Respect rules for use of AC_LIBOBJ.
11058         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
11059         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
11060         here...
11061         * modules/ftello (configure.ac): ... to here.
11062
11063 2011-05-07  Bruno Haible  <bruno@clisp.org>
11064
11065         fseeko: Simplify.
11066         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
11067         (gl_FUNC_FSEEKO): Inline it here.
11068
11069 2011-05-07  Bruno Haible  <bruno@clisp.org>
11070
11071         fseek: Move AC_LIBOBJ invocations to module description.
11072         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
11073         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
11074         * modules/fseek (configure.ac): ... to here.
11075
11076 2011-05-07  Bruno Haible  <bruno@clisp.org>
11077
11078         fseek: Respect rules for use of AC_LIBOBJ.
11079         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
11080         here...
11081         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
11082
11083 2011-05-07  Bruno Haible  <bruno@clisp.org>
11084
11085         fseeko: Respect rules for use of AC_LIBOBJ.
11086         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
11087         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
11088         here...
11089         * modules/fseeko (configure.ac): ... to here.
11090
11091 2011-06-13  Bruno Haible  <bruno@clisp.org>
11092
11093         gnulib-tool: Allow comments in the 'Depends-on' section.
11094         * doc/gnulib.texi (Module description): Mention comment syntax in the
11095         Depends-on section.
11096         * gnulib-tool (func_get_dependencies): Filter out comment lines.
11097
11098 2011-06-13  Bruno Haible  <bruno@clisp.org>
11099
11100         file-set.h: guard __attibute__ use, now that it's not always defined
11101         * lib/file-set.h (record_file): Use __attribute__ only with compiler
11102         versions that support it.  This fixes a coreutils build failure with
11103         the vendor cc on HP-UX 11.31.
11104
11105 2011-06-12  Bruno Haible  <bruno@clisp.org>
11106
11107         acl: Add support for HP-UX >= 11.11 JFS ACLs.
11108         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
11109         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
11110         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
11111         (acl, aclsort): New declarations.
11112         (aclv_nontrivial): New declaration.
11113         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
11114         (file_has_acl): Read also the second kind of HP-UX ACLs.
11115         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
11116         kind of HP-UX ACLs if the first kind fails.
11117         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
11118         second kind of HP-UX ACLs.
11119         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
11120         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
11121         agree.
11122         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
11123         hpuxjfs.
11124         Handle hpuxjfs.
11125         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
11126         hpuxjfs.
11127         Handle hpuxjfs.
11128         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
11129         (func_test_same_acls): Use both lsacl and getacl.
11130         Handle hpuxjfs.
11131         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
11132         (func_test_same_acls): Use both lsacl and getacl.
11133         Handle hpuxjfs.
11134
11135 2011-06-12  Bruno Haible  <bruno@clisp.org>
11136
11137         acl: Complete the 2010-08-10 fix.
11138         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
11139         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
11140         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
11141         explicitly.
11142         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
11143         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
11144
11145 2011-06-12  Bruno Haible  <bruno@clisp.org>
11146
11147         spawn-pipe tests: Comments.
11148         * tests/test-spawn-pipe-child.c (main): Update comment.
11149         Reported by James Youngman <jay@gnu.org>.
11150
11151 2011-06-11  James Youngman  <jay@gnu.org>
11152
11153         New module 'stat-size'.
11154         * modules/stat-size: New module.  Provides macros for accessing
11155         file size information in instances of struct stat.  Depends on the
11156         fileblocks module because it calls st_blocks.
11157         * lib/stat-size.h: New file, adapted from coreutils' system.h.
11158         * doc/gnulib.texi: Include stat-size.texi.
11159         * doc/stat-size.texi: Documentation for this module.
11160         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
11161         * m4/fileblocks.m4: Mention that stat-size depends on the call to
11162         AC_STRUCT_ST_BLOCKS.
11163
11164 2011-06-09  Bruno Haible  <bruno@clisp.org>
11165
11166         thread: Support pthreads-win32.
11167         * lib/glthread/thread.h (gl_thread_self): Define differently on
11168         pthreads-win32.
11169         (gl_null_thread): New declaration.
11170         (gl_thread_self_pointer): New macro.
11171         * lib/glthread/thread.c (gl_null_thread): New constant.
11172         * tests/test-lock.c: Use gl_thread_self_pointer instead of
11173         gl_thread_self.
11174         * tests/test-tls.c: Likewise.
11175         Suggested by Paul Eggert. Reported by Eric Blake.
11176
11177 2011-06-09  Bruno Haible  <bruno@clisp.org>
11178
11179         thread: Fix confusion between NULL and 0.
11180         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
11181         Reported by Paul Eggert.
11182
11183 2011-06-09  Bruno Haible  <bruno@clisp.org>
11184
11185         spawn-pipe tests: Avoid test failure on HP-UX 11.
11186         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
11187         is closed.
11188
11189 2011-06-09  Bruno Haible  <bruno@clisp.org>
11190
11191         acl tests: Fix compilation error on HP-UX 11.
11192         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
11193
11194 2011-06-09  Bruno Haible  <bruno@clisp.org>
11195
11196         rmdir: Avoid test failure on HP-UX 10.20.
11197         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
11198         EEXIST.
11199
11200 2011-06-08  Eric Blake  <eblake@redhat.com>
11201
11202         perror: fix test on mingw
11203         * modules/perror-tests (Depends-on): Add dup2.
11204
11205         strerror_r-posix: fix on MacOS
11206         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
11207         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
11208         logic bug.
11209         * lib/strerror_r.c (strerror_r): Fix the bug.
11210         * lib/strerror.c (strerror): Likewise.
11211         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
11212         problem.
11213         * doc/posix-functions/strerror.texi (strerror): Likewise.
11214         * doc/posix-functions/perror.texi (perror): Likewise.
11215         * tests/test-strerror.c (main): Enhance test.
11216         * tests/test-strerror_r.c (main): Likewise.
11217
11218 2011-06-08  Bruno Haible  <bruno@clisp.org>
11219
11220         gnulib-tool: Better isolation between different gnulib-tool invocations.
11221         * gnulib-tool: New option --witness-c-macro.
11222         (witness_c_macro): New variable.
11223         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
11224         AM_CPPFLAGS define it as a C macro.
11225         (func_emit_tests_Makefile_am): Likewise.
11226         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
11227         read it from there.
11228         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
11229         m4_define, not AC_DEFUN.
11230         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
11231         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
11232         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
11233         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
11234         s|...|...|, to substitute the values of the GNULIB_* module indicator
11235         variables.
11236         * modules/dirent (Makefile.am): Likewise.
11237         * modules/fcntl-h (Makefile.am): Likewise.
11238         * modules/iconv-h (Makefile.am): Likewise.
11239         * modules/langinfo (Makefile.am): Likewise.
11240         * modules/locale (Makefile.am): Likewise.
11241         * modules/math (Makefile.am): Likewise.
11242         * modules/netdb (Makefile.am): Likewise.
11243         * modules/poll-h (Makefile.am): Likewise.
11244         * modules/pty (Makefile.am): Likewise.
11245         * modules/search (Makefile.am): Likewise.
11246         * modules/signal (Makefile.am): Likewise.
11247         * modules/spawn (Makefile.am): Likewise.
11248         * modules/stdio (Makefile.am): Likewise.
11249         * modules/stdlib (Makefile.am): Likewise.
11250         * modules/string (Makefile.am): Likewise.
11251         * modules/sys_ioctl (Makefile.am): Likewise.
11252         * modules/sys_select (Makefile.am): Likewise.
11253         * modules/sys_socket (Makefile.am): Likewise.
11254         * modules/sys_stat (Makefile.am): Likewise.
11255         * modules/sys_times (Makefile.am): Likewise.
11256         * modules/sys_utsname (Makefile.am): Likewise.
11257         * modules/sys_wait (Makefile.am): Likewise.
11258         * modules/termios (Makefile.am): Likewise.
11259         * modules/time (Makefile.am): Likewise.
11260         * modules/unistd (Makefile.am): Likewise.
11261         * modules/wchar (Makefile.am): Likewise.
11262
11263 2011-06-08  Eric Blake  <eblake@redhat.com>
11264
11265         strerror: simplify replacement
11266         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
11267         * modules/strerror (configure.ac): No prereqs needed here...
11268         * modules/strerror-override (configure.ac): ...but this needs it.
11269         (Files): Add file for needed prereq macro.
11270
11271 2011-06-08  Bruno Haible  <bruno@clisp.org>
11272
11273         strerror_r-posix: Tweaks.
11274         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
11275         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
11276         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
11277         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
11278         (gl_FUNC_STRERROR_R): ... to here.
11279         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
11280
11281 2011-06-07  Eric Blake  <eblake@redhat.com>
11282
11283         perror: document fixed bugs
11284         * doc/posix-functions/perror.texi (perror): Document recent
11285         patches.
11286
11287 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
11288
11289         stat-time: get_stat_birthtime failure is better-defined
11290         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
11291         return a timestamp whose tv_sec and tv_nsec values are both -1.
11292         Previously, the spec said only that the tv_nsec value was negative.
11293         This upward-compatible change simplifies GNU tar a bit.
11294
11295 2011-06-07  Eric Blake  <eblake@redhat.com>
11296
11297         strerror_r-posix: work around cygwin 1.7.9
11298         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
11299         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
11300         bug without replacing strerror_r.
11301         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
11302         strerror_r is buggy, but without requiring strerror_r compilation.
11303         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
11304
11305         test-perror: relax test to ignore cygwin bug
11306         * tests/test-perror2.c (main): Relax test on requiring detection
11307         of stream errors, and use unbuffered stream.
11308         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
11309         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
11310         * doc/posix-functions/fputc.texi (fputc): Likewise.
11311         * doc/posix-functions/fputs.texi (fputs): Likewise.
11312         * doc/posix-functions/fputws.texi (fputws): Likewise.
11313         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
11314         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
11315         * doc/posix-functions/getopt.texi (getopt): Likewise.
11316         * doc/posix-functions/perror.texi (perror): Likewise.
11317         * doc/posix-functions/printf.texi (printf): Likewise.
11318         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
11319         * doc/posix-functions/psignal.texi (psignal): Likewise.
11320         * doc/posix-functions/putc.texi (putc): Likewise.
11321         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
11322         Likewise.
11323         * doc/posix-functions/putchar.texi (putchar): Likewise.
11324         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
11325         Likewise.
11326         * doc/posix-functions/puts.texi (puts): Likewise.
11327         * doc/posix-functions/putwc.texi (putwc): Likewise.
11328         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
11329         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
11330         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
11331         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
11332         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
11333         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
11334         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
11335         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
11336
11337 2011-05-22  Bruno Haible  <bruno@clisp.org>
11338
11339         strerror: Move AC_LIBOBJ invocations to module description.
11340         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
11341         gl_PREREQ_STRERROR invocations from here...
11342         * modules/strerror (configure.ac): ... to here.
11343
11344 2011-05-21  Bruno Haible  <bruno@clisp.org>
11345
11346         perror: Use common idiom.
11347         * modules/perror (configure.ac): Reorder statements.
11348
11349 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
11350
11351         tests: fix usage message in 'mktempd_'
11352         * tests/init.sh (mktempd_): In the usage message, use literal
11353         'mktempd_', not '$ME' (which is even undefined), as the name of
11354         the subroutine.
11355
11356 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
11357
11358         tests init: new function 'fatal_', for hard errors
11359         Before this patch, the only way offered by tests/init.sh to
11360         properly signal a hard error was the `framework_failure_'
11361         function.  But the error message issued by that function,
11362         as its name would suggest, refers to a set-up failure in the
11363         testsuite, while hard errors can obviously also be due to
11364         other reasons.  The best way to fix this inconsistency is to
11365         introduce a new function with a more general error message.
11366         * tests/init.sh (fatal_): New function.
11367
11368 2011-06-06  Eric Blake  <eblake@redhat.com>
11369
11370         canonicalize-lgpl: use common idiom
11371         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
11372         over newer POSIX -Rf.
11373         Reported by Bruno Haible.
11374
11375         canonicalize-lgpl: work around AIX realpath bug
11376         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
11377         * doc/posix-functions/realpath.texi (realpath): Document it.
11378         Reported by Bruno Haible.
11379
11380         strerror: work around FreeBSD bug
11381         * lib/strerror.c (strerror): Special case 0.
11382         Reported by Bruno Haible.
11383
11384         strerror-override: avoid bloating errno module
11385         * modules/errno (Files, configure.ac): Move replacement strings...
11386         * modules/strerror-override: ...to new module.
11387         * modules/strerror (Depends-on): Add strerror-override.
11388         * modules/strerror_r-posix (Depends-on): Likewise.
11389         * MODULES.html.sh: Document new module.
11390         Reported by Bruno Haible.
11391
11392 2011-06-06  Bruno Haible  <bruno@clisp.org>
11393
11394         spawn-pipe tests: Rename program.
11395         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
11396         * tests/test-spawn-pipe-child.c: Update comment.
11397         * tests/test-spawn-pipe.sh: Update.
11398         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
11399
11400         spawn-pipe tests: Link the child program only against libc.
11401         * tests/test-spawn-pipe-child.c: New file, extracted from
11402         tests/test-spawn-pipe.c.
11403         (main): Expect only one argument.
11404         (is_open): New function, copied from tests/test-pipe.c.
11405         * tests/test-spawn-pipe.c: Don't include <errno.h>.
11406         (child_main): Remove function.
11407         (test_pipe): Pass only one argument to the child program.
11408         (main): Remove child process code. Expect the child program's name as
11409         first argument.
11410         * tests/test-spawn-pipe.sh: Pass the child program's name as first
11411         argument.
11412         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
11413         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
11414         test-spawn-pipe-child against no libraries.
11415
11416 2011-06-06  Bruno Haible  <bruno@clisp.org>
11417
11418         careadlinkat: Avoid mismatch between ssize_t and int.
11419         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
11420         * lib/careadlinkat.c (careadlinkatcwd): Define always.
11421
11422 2011-06-06  Jim Meyering  <meyering@redhat.com>
11423
11424         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
11425         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
11426         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
11427
11428 2011-06-05  Bruno Haible  <bruno@clisp.org>
11429
11430         ansi-c++-opt: Interoperability with libtool.
11431         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
11432         set the variable to "no", not to ":".
11433         * NEWS: Mention the change.
11434
11435 2011-06-05  Bruno Haible  <bruno@clisp.org>
11436
11437         acl: Fix test failure on AIX 7.
11438         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
11439         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
11440
11441 2011-06-05  Bruno Haible  <bruno@clisp.org>
11442
11443         pipe-filter-ii: Fix test failure on AIX and IRIX.
11444         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
11445         with EAGAIN, retry with a smaller buffer size.
11446
11447 2011-06-05  Bruno Haible  <bruno@clisp.org>
11448
11449         localename: Fix link dependencies.
11450         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
11451         * modules/localename-tests (Makefile.am): Link test-localename with
11452         $(LIBTHREAD).
11453
11454 2011-06-05  Bruno Haible  <bruno@clisp.org>
11455
11456         error: Avoid gcc warning.
11457         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
11458
11459 2011-06-05  Bruno Haible  <bruno@clisp.org>
11460
11461         unsetenv: Avoid gcc warning.
11462         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
11463
11464 2011-06-05  Bruno Haible  <bruno@clisp.org>
11465
11466         setenv: Avoid gcc warning.
11467         * lib/setenv.c (setenv): Provide declaration if system lacks it.
11468
11469 2011-06-05  Bruno Haible  <bruno@clisp.org>
11470
11471         sys_select: Ensure memset is declared also on AIX 7.
11472         * lib/sys_select.in.h: Include <string.h> also on AIX.
11473         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
11474         self-contained also on AIX 7.1.
11475
11476 2011-06-04  Jim Meyering  <meyering@redhat.com>
11477
11478         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
11479         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
11480         function name, "error".
11481         (_gl_translatable_diag_func_re): New configurable variable.
11482
11483 2011-06-04  Bruno Haible  <bruno@clisp.org>
11484
11485         getopt: Avoid gcc warning.
11486         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
11487
11488 2011-06-04  Bruno Haible  <bruno@clisp.org>
11489
11490         strerror_r: Fix comments.
11491         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
11492         commit.
11493
11494 2011-06-04  Bruno Haible  <bruno@clisp.org>
11495
11496         perror: Fix compilation error.
11497         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
11498         Undefine fprintf, not sprintf.
11499         * modules/perror (Depends-on): Remove intprops, verify.
11500
11501 2011-06-04  Bruno Haible  <bruno@clisp.org>
11502
11503         setlocale: Enable replacement on Cygwin 1.5.
11504         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
11505         Cygwin 1.5.x.
11506         * doc/posix-functions/setlocale.texi: Mention that the problem with the
11507         LC_CTYPE category also exists on Cygwin 1.5.x.
11508
11509 2011-06-04  Bruno Haible  <bruno@clisp.org>
11510
11511         strerror-override: Don't disable symbol renamings.
11512         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
11513         * lib/strerror-override.c: Include config.h.
11514         (strerror_override): Don't undefine.
11515
11516 2011-06-03  Bruno Haible  <bruno@clisp.org>
11517
11518         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
11519         * lib/localename.h: Update copyright header.
11520         * lib/localename.c: Likewise.
11521         * lib/relocatable.h: Likewise.
11522         * lib/relocatable.c: Likewise.
11523
11524 2011-06-02  Bruno Haible  <bruno@clisp.org>
11525
11526         doc: Fix a module name.
11527         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
11528
11529 2011-06-02  Bruno Haible  <bruno@clisp.org>
11530
11531         pipe2: Remove dependency on 'nonblocking' module.
11532         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
11533         O_NONBLOCK is defined by gnulib.
11534         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
11535         is zero.
11536         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
11537         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
11538         defined by gnulib.
11539         (get_nonblocking_flag): New function.
11540         (main): Test O_NONBLOCK flag only if it is nonzero.
11541         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
11542
11543 2011-06-03  Jim Meyering  <meyering@redhat.com>
11544
11545         maint: three new prohibit-header-without-use rules
11546         Prohibit use of cloexec.h, posixver.h, same.h without use.
11547         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
11548         (sc_prohibit_posixver_without_use): Likewise.
11549         (sc_prohibit_same_without_use): Likewise.
11550
11551 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11552
11553         allocator: 'die' routine is now given requested size
11554         * lib/allocator.h (struct allocator.die): New size arg.
11555         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
11556         If the actual problem is an ssize_t limitation, not a size_t or
11557         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
11558
11559 2011-06-01  Eric Blake  <eblake@redhat.com>
11560
11561         strerror: drop strerror_r dependency
11562         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
11563         * lib/strerror-override.c (strerror_override): ...to new file.
11564         * lib/strerror-override.h: Add prototype.
11565         * lib/strerror-impl.h: Delete.
11566         * lib/strerror.c (strerror): New implementation.
11567         * modules/errno (Files): Add new files.
11568         (configure.ac): Compile new file as appropriate.
11569         * modules/strerror (Files): Drop unused file.
11570         (Depends-on): Drop strerror_r-posix.
11571         * MODULES.html.sh: Document strerror_r-posix.
11572         Requested by Sam Steingold.
11573
11574         perror: call strerror_r directly
11575         * modules/perror (Files): Drop strerror-impl.h.
11576         * lib/perror.c (perror): Use our own stack buffer, rather than
11577         calling a wrapper that uses static storage.
11578         * doc/posix-functions/perror.texi (perror): Document a limitation
11579         of our replacement.
11580
11581         strerror_r: fix includes for FreeBSD
11582         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
11583         since we use abort on some platforms.
11584         Reported by Matthias Bolte.
11585
11586 2011-05-31  Bruno Haible  <bruno@clisp.org>
11587
11588         Fix link errors in tests: openat-die uses gettext-h.
11589         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
11590         against $(LIBINTL).
11591         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
11592         against $(LIBINTL).
11593         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
11594         $(LIBINTL).
11595         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
11596         against $(LIBINTL).
11597         * modules/linkat-tests (Makefile.am): Link test-linkat against
11598         $(LIBINTL).
11599         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
11600         $(LIBINTL).
11601         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
11602         against $(LIBINTL).
11603         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
11604         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
11605         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
11606         $(LIBINTL).
11607         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
11608         $(LIBINTL).
11609         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
11610         $(LIBINTL).
11611         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11612
11613 2011-05-31  Bruno Haible  <bruno@clisp.org>
11614
11615         Fix link errors in tests: wait-process uses gettext-h.
11616         * modules/nonblocking-pipe-tests (Makefile.am): Set
11617         test_nonblocking_pipe_main_LDADD.
11618         * modules/nonblocking-socket-tests (Makefile.am): Link
11619         test-nonblocking-socket-main against $(LIBINTL).
11620         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11621
11622 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
11623
11624         assert-h: work around 'verify' incompatibility
11625         * lib/verify.h: Use @...@ directives, not ifdef.
11626         * modules/assert-h (assert.h): Implement the directives.
11627         (assert.h): Substitute the symbol-prefix more consistently.
11628
11629 2011-05-29  Jim Meyering  <meyering@redhat.com>
11630
11631         trim: remove three superfluous assignments
11632         * lib/trim.c (trim2): Remove three superfluous assignments
11633         and correct brace positioning.
11634
11635 2011-05-29  Bruno Haible  <bruno@clisp.org>
11636
11637         wctype-h: Avoid namespace pollution on Solaris 2.6.
11638         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
11639         identifiers.
11640         * doc/posix-headers/wctype.texi: Mention the problem.
11641         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11642
11643 2011-05-28  Jim Meyering  <meyering@redhat.com>
11644
11645         parse-datetime.y: accommodate -Wstrict-overflow
11646         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
11647         placate -Wstrict-overflow.
11648
11649         trim: avoid a warning from -O2 -Wstrict-overflow
11650         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
11651
11652 2011-05-29  Bruno Haible  <bruno@clisp.org>
11653
11654         gnulib-tool: Fix bug in yesterday's commit.
11655         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
11656         twice.
11657
11658 2011-05-29  Bruno Haible  <bruno@clisp.org>
11659
11660         Allow multiple gnulib generated include files to be combined.
11661         * gnulib-tool (func_compute_include_guard_prefix): New function.
11662         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
11663         ${gl_include_guard_prefix} references.
11664         (func_import, func_create_testdir): Invoke
11665         func_compute_include_guard_prefix.
11666         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
11667         * lib/ctype.in.h: Likewise.
11668         * lib/dirent.in.h: Likewise.
11669         * lib/errno.in.h: Likewise.
11670         * lib/fcntl.in.h: Likewise.
11671         * lib/float.in.h: Likewise.
11672         * lib/getopt.in.h: Likewise.
11673         * lib/iconv.in.h: Likewise.
11674         * lib/langinfo.in.h: Likewise.
11675         * lib/locale.in.h: Likewise.
11676         * lib/math.in.h: Likewise.
11677         * lib/netdb.in.h: Likewise.
11678         * lib/netinet_in.in.h: Likewise.
11679         * lib/poll.in.h: Likewise.
11680         * lib/pthread.in.h: Likewise.
11681         * lib/pty.in.h: Likewise.
11682         * lib/sched.in.h: Likewise.
11683         * lib/se-selinux.in.h: Likewise.
11684         * lib/search.in.h: Likewise.
11685         * lib/signal.in.h: Likewise.
11686         * lib/spawn.in.h: Likewise.
11687         * lib/stdarg.in.h: Likewise.
11688         * lib/stddef.in.h: Likewise.
11689         * lib/stdint.in.h: Likewise.
11690         * lib/stdio.in.h: Likewise.
11691         * lib/stdlib.in.h: Likewise.
11692         * lib/string.in.h: Likewise.
11693         * lib/strings.in.h: Likewise.
11694         * lib/sys_file.in.h: Likewise.
11695         * lib/sys_ioctl.in.h: Likewise.
11696         * lib/sys_select.in.h: Likewise.
11697         * lib/sys_socket.in.h: Likewise.
11698         * lib/sys_stat.in.h: Likewise.
11699         * lib/sys_time.in.h: Likewise.
11700         * lib/sys_times.in.h: Likewise.
11701         * lib/sys_uio.in.h: Likewise.
11702         * lib/sys_utsname.in.h: Likewise.
11703         * lib/sys_wait.in.h: Likewise.
11704         * lib/sysexits.in.h: Likewise.
11705         * lib/termios.in.h: Likewise.
11706         * lib/time.in.h: Likewise.
11707         * lib/unistd.in.h: Likewise.
11708         * lib/wchar.in.h: Likewise.
11709         * lib/wctype.in.h: Likewise.
11710         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
11711         * modules/ctype (Makefile.am): Likewise.
11712         * modules/dirent (Makefile.am): Likewise.
11713         * modules/errno (Makefile.am): Likewise.
11714         * modules/fcntl-h (Makefile.am): Likewise.
11715         * modules/float (Makefile.am): Likewise.
11716         * modules/getopt-posix (Makefile.am): Likewise.
11717         * modules/iconv-h (Makefile.am): Likewise.
11718         * modules/langinfo (Makefile.am): Likewise.
11719         * modules/locale (Makefile.am): Likewise.
11720         * modules/math (Makefile.am): Likewise.
11721         * modules/netdb (Makefile.am): Likewise.
11722         * modules/netinet_in (Makefile.am): Likewise.
11723         * modules/poll-h (Makefile.am): Likewise.
11724         * modules/pthread (Makefile.am): Likewise.
11725         * modules/pty (Makefile.am): Likewise.
11726         * modules/sched (Makefile.am): Likewise.
11727         * modules/search (Makefile.am): Likewise.
11728         * modules/selinux-h (Makefile.am): Likewise.
11729         * modules/signal (Makefile.am): Likewise.
11730         * modules/spawn (Makefile.am): Likewise.
11731         * modules/stdarg (Makefile.am): Likewise.
11732         * modules/stddef (Makefile.am): Likewise.
11733         * modules/stdint (Makefile.am): Likewise.
11734         * modules/stdio (Makefile.am): Likewise.
11735         * modules/stdlib (Makefile.am): Likewise.
11736         * modules/string (Makefile.am): Likewise.
11737         * modules/strings (Makefile.am): Likewise.
11738         * modules/sys_file (Makefile.am): Likewise.
11739         * modules/sys_ioctl (Makefile.am): Likewise.
11740         * modules/sys_select (Makefile.am): Likewise.
11741         * modules/sys_socket (Makefile.am): Likewise.
11742         * modules/sys_stat (Makefile.am): Likewise.
11743         * modules/sys_time (Makefile.am): Likewise.
11744         * modules/sys_times (Makefile.am): Likewise.
11745         * modules/sys_uio (Makefile.am): Likewise.
11746         * modules/sys_utsname (Makefile.am): Likewise.
11747         * modules/sys_wait (Makefile.am): Likewise.
11748         * modules/sysexits (Makefile.am): Likewise.
11749         * modules/termios (Makefile.am): Likewise.
11750         * modules/time (Makefile.am): Likewise.
11751         * modules/unistd (Makefile.am): Likewise.
11752         * modules/wchar (Makefile.am): Likewise.
11753         * modules/wctype-h (Makefile.am): Likewise.
11754         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
11755
11756 2011-05-29  Bruno Haible  <bruno@clisp.org>
11757
11758         assert-h: Allow multiple gnulib generated replacements to coexist.
11759         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
11760
11761 2011-05-29  Bruno Haible  <bruno@clisp.org>
11762
11763         argp: Allow coexistence with strerror_r-posix module.
11764         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
11765         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
11766         by gnulib's <string.h> replacement), assume it has the POSIX signature,
11767         not the glibc signature.
11768
11769 2011-05-28  Bruno Haible  <bruno@clisp.org>
11770
11771         gnulib-tool: Alternative structure of testdirs, similar to --import.
11772         * gnulib-tool: New option --single-configure.
11773         (func_usage): Document it.
11774         (single_configure): New variable.
11775         (func_modules_transitive_closure_separately,
11776         func_modules_transitive_closure_separately,
11777         func_determine_use_libtests, func_modules_add_dummy_separately,
11778         func_modules_to_filelist_separately): New functions, extracted from
11779         func_import.
11780         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
11781         (func_import): Use the new functions.
11782         (func_create_testdir): Set final_modules. Handle $single_configure =
11783         true case.
11784
11785 2011-05-28  Bruno Haible  <bruno@clisp.org>
11786
11787         getloadavg: Remove an unreliable safety check.
11788         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
11789         getloadavg.c is in place.
11790         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
11791         Reported by Sam Steingold <sds@gnu.org>.
11792
11793 2011-05-28  Bruno Haible  <bruno@clisp.org>
11794
11795         doc: Cleanup yet another file produced by texinfo.tex.
11796         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
11797
11798 2011-05-28  Bruno Haible  <bruno@clisp.org>
11799
11800         Finish the conditional dependencies mechanism.
11801         * gnulib-tool: New option --no-conditional-dependencies.
11802         (func_usage): Document it. Don't mark --conditional-dependencies as
11803         experimental.
11804         (cond_dependencies): The possible values can now be true, false, empty.
11805         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
11806         (func_import): Store setting in gnulib-cache.m4 and read it from there.
11807         * doc/gnulib-tool.texi (Conditional dependencies): New section.
11808
11809 2011-05-28  Bruno Haible  <bruno@clisp.org>
11810
11811         doc: Use a recent texinfo.tex.
11812         * doc/Makefile (tex_opts): New variable.
11813         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
11814
11815 2011-05-28  Jim Meyering  <meyering@redhat.com>
11816
11817         intprops.h: adjust comment to match code change
11818         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
11819         only once, it *may* have side effects.  Also fix an unrelated typo.
11820         (_GL_INT_SIGNED): Likewise.
11821
11822 2011-05-26  Simon Josefsson  <simon@josefsson.org>
11823
11824         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
11825
11826 2011-05-26  Bruno Haible  <bruno@clisp.org>
11827
11828         mbsrchr: Avoid collision with system function on Interix.
11829         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
11830         Reported by Markus Duft <mduft@gentoo.org>.
11831
11832 2011-05-15  James Youngman  <jay@gnu.org>
11833
11834         getopt: for ambiguous options, enumerate the possibilities.
11835         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
11836         the ambiguous options when an ambiguous prefix is given. This was
11837         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
11838         glibc change was
11839         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
11840
11841 2011-05-25  Eric Blake  <eblake@redhat.com>
11842
11843         getcwd: work around mingw bug
11844         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
11845         * doc/posix-functions/getcwd.texi (getcwd): Document it.
11846         Reported by Matthias Bolte.
11847
11848 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
11849
11850         test-intprops: disable -Wtype-limits diagnostics
11851         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
11852         diagnostics.  Otherwise, the integer overflow macros generate many
11853         diagnostics.  Reported by Jim Meyering in
11854         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
11855
11856         intprops: shorten, to pacify gcc -Woverlength-strings
11857         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
11858         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
11859         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
11860         likely to run afoul of C compiler limits for string constant lengths.
11861         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
11862
11863 2011-05-24  Eric Blake  <eblake@redhat.com>
11864
11865         docs: document recently fixed glibc printf bug
11866         * doc/posix-functions/fprintf.texi (fprintf): Document it.
11867         * doc/posix-functions/printf.texi (printf): Likewise.
11868         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
11869         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
11870
11871         closein-tests: convert to init.sh
11872         * modules/closein-tests (Files): Add init.sh
11873         * tests/test-closein.sh Use it.
11874
11875         yesno-tests: convert to init.sh
11876         * modules/yesno-tests (Files): Add init.sh.
11877         * tests/test-yesno.sh: Use it.
11878
11879         atexit-tests: ensure reliable exit status
11880         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
11881         Reported by Bruno Haible.
11882
11883 2011-05-24  Bruno Haible  <bruno@clisp.org>
11884
11885         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
11886         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
11887         gl_PREREQ_STRERROR_R invocations from here...
11888         * modules/strerror_r-posix (configure.ac): ... to here.
11889
11890 2011-05-24  Eric Blake  <eblake@redhat.com>
11891
11892         strerror_r: fix missing header
11893         * lib/strerror_r.c: Avoid compiler warning about snprintf.
11894
11895         strerror_r: fix AIX test failures
11896         * lib/strerror_r.c (strerror_r): Convert silent truncation to
11897         ERANGE failure.
11898
11899         strerror_r: fix Solaris test failures
11900         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
11901         failures.
11902         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
11903
11904         strerror_r: enforce POSIX recommendations
11905         * lib/strerror_r.c (safe_copy): New helper method.
11906         (strerror_r): Guarantee a non-empty string.
11907         * tests/test-strerror_r.c (main): Enhance tests to incorporate
11908         recent POSIX rulings and to match our strerror guarantees.
11909         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
11910
11911 2011-05-24  Jim Meyering  <meyering@redhat.com>
11912
11913         test-perror2.c: avoid warning about unused variable
11914         * tests/test-perror2.c (main): Remove declaration of unused "fp".
11915
11916 2011-05-24  Eric Blake  <eblake@redhat.com>
11917
11918         perror: avoid spurious test failure on HP-UX
11919         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
11920
11921         tests: fix logic bug in init.sh
11922         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
11923         shell.
11924
11925 2011-05-24  Jim Meyering  <meyering@redhat.com>
11926
11927         utimensat: do not reference an out-of-scope buffer
11928         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
11929         declared in an inner scope, yet "times" would be dereferenced outside
11930         the scope in which "ts" was valid.
11931         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
11932         of ts[2] "out/up", so that the use of aliased "times" (via
11933         "times = ts;") does not end up referencing an out-of-scope "ts"
11934
11935         opendir-safer.c: don't clobber errno; don't close negative FD
11936         * lib/opendir-safer.c (opendir_safer):
11937         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
11938         file descriptor, and more importantly, don't clobber the
11939         offending errno value with EINVAL.  Before, upon failure
11940         of dup_safer, we would pass the negative file descriptor to
11941         fdopendir, which would clobber errno.
11942
11943 2011-05-23  Bruno Haible  <bruno@clisp.org>
11944
11945         idcache: Fix module description.
11946         * modules/idcache (Include): Set to "idcache.h".
11947
11948 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
11949
11950         gnulib-tool: fix portability problem with MacOS sed
11951         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
11952         before the "}".  Problem reported by Leo in
11953         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
11954         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
11955         sed_extract_condition1, sed_extract_condition2.
11956
11957 2011-05-23  Bruno Haible  <bruno@clisp.org>
11958
11959         hash: Simplify autoconf macro.
11960         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
11961
11962 2011-05-23  Bruno Haible  <bruno@clisp.org>
11963
11964         getugroups: Fix module description.
11965         * modules/getugroups (Include): Set to "getugroups.h".
11966
11967 2011-05-23  Bruno Haible  <bruno@clisp.org>
11968
11969         linkat: Simplify autoconf macro.
11970         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
11971
11972 2011-05-23  Bruno Haible  <bruno@clisp.org>
11973             Eric Blake  <eblake@redhat.com>
11974
11975         linkat, renameat: Update dependencies.
11976         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
11977         * modules/linkat (Depends-on): Likewise. Remove also readlink,
11978         symlinkat.
11979
11980 2011-05-23  Jim Meyering  <meyering@redhat.com>
11981
11982         maint.mk: more tight_scope improvements
11983         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
11984         (_gl_TS_headers): Define only in if-0'd block.
11985         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
11986         sometimes we must *not* use it.  Adjust uses accordingly.
11987         (sc_tight_scope): Use much simpler grep-based test to determine
11988         whether we skip this rule.
11989
11990         maint.mk: generalize/improve the tight-scope rule
11991         * top/maint.mk: Emit a warning when the test is skipped.
11992         (_gl_TS_dir): Add $(srcdir)/ prefix.
11993         (_gl_TS_function_match): Simplify, rather than trying
11994         to enumerate common types.  Otherwise, it would fail to match an
11995         "extern unsigned char const *" declaration in idutils.
11996         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
11997         a way to support use of that type of macro.
11998         (_gl_TS_var_match): Simplify regexp.
11999         (_gl_TS_obj_files): New configurable variable.
12000         (_gl_TS_headers): Likewise.
12001
12002 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
12003
12004         verify: fix bug when gnulib <assert.h> is also included
12005         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
12006         is defined, not if _GL_STATIC_ASSERT_H is not defined.
12007         Perhaps there's a better way, but this fixes the immediate problem.
12008         Problem reported by Bruno Haible in
12009         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
12010
12011 2011-05-22  Bruno Haible  <bruno@clisp.org>
12012
12013         xgetcwd: Simplify autoconf macro.
12014         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
12015
12016 2011-05-22  Bruno Haible  <bruno@clisp.org>
12017
12018         New module 'mktime-internal'.
12019         * modules/mktime-internal: New file.
12020         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
12021         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
12022         mktime_internal as a C macro if libc has __mktime_internal.
12023         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
12024         conditions.
12025         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
12026
12027 2011-05-22  Bruno Haible  <bruno@clisp.org>
12028
12029         timegm: Correct mktime replacement statements.
12030         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
12031         defining mktime as a C macro. This completes a 2009-07-28 commit.
12032
12033 2011-05-22  Bruno Haible  <bruno@clisp.org>
12034
12035         timegm: Simplify autoconf macro.
12036         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
12037
12038 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
12039
12040         clock-time: change to LGPLv2+.
12041         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
12042         BSD-like but we have no mark for that; this is good enough for now.
12043
12044 2011-05-21  Bruno Haible  <bruno@clisp.org>
12045
12046         strerror_r: Fix comments.
12047         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
12048
12049 2011-05-21  Bruno Haible  <bruno@clisp.org>
12050
12051         relocatable-prog-wrapper: Fix possible link error.
12052         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
12053         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
12054         (gl_FUNC_SETENV): ... to here.
12055         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
12056         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
12057
12058 2011-05-21  Bruno Haible  <bruno@clisp.org>
12059
12060         relocatable-prog-wrapper: Assume strerror() exists.
12061         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
12062         m4/strerror.m4.
12063         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
12064         * lib/relocwrapper.c: Remove mention of strerror module.
12065         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
12066         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
12067         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
12068         C macro.
12069
12070 2011-05-21  Bruno Haible  <bruno@clisp.org>
12071
12072         select: Simplify replacement idiom.
12073         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
12074         Win32 platforms.
12075         * lib/sys_select.in.h (select): Simplify accordingly.
12076         * modules/select (Depends-on): Likewise.
12077
12078 2011-05-21  Bruno Haible  <bruno@clisp.org>
12079
12080         mkdir-p: Simplify autoconf macro.
12081         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
12082         gl_FUNC_LCHOWN.
12083
12084 2011-05-21  Eric Blake  <eblake@redhat.com>
12085
12086         strerror_r: avoid clobbering strerror on cygwin
12087         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
12088         fall back instead to sys_errlist.
12089         * modules/strerror (configure.ac): Add witness.
12090         * tests/test-strerror_r.c (main): Enhance test.
12091         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12092         * tests/test-perror2.c (main): Free memory before exit.
12093
12094 2011-05-21  Bruno Haible  <bruno@clisp.org>
12095
12096         mkdtemp: Use gnulib naming conventions.
12097         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
12098         * modules/mkdtemp (configure.ac): Update.
12099
12100 2011-05-20  Eric Blake  <eblake@redhat.com>
12101
12102         strerror_r: avoid corrupting errno on Solaris
12103         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
12104         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12105
12106         strerror_r: avoid compiler warning
12107         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
12108
12109         strerror_r: simplify AIX code
12110         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
12111
12112         test-perror: avoid spurious failure on FreeBSD
12113         * modules/perror-tests (Depends-on): Add strerror, now that
12114         strerror_r no longer pulls it in.
12115
12116 2011-05-20  Bruno Haible  <bruno@clisp.org>
12117
12118         strerror_r-posix: Remove unused dependencies.
12119         * modules/strerror_r-posix (Depends-on): Remove strerror.
12120         Reported by Eric Blake.
12121
12122 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12123
12124         intprops: remove assumption about A|B representation
12125         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
12126         is a valid integer if both A and B are.  Although this is true for
12127         all known practical hosts, the C standard doesn't guarantee it,
12128         and the code need not assume it.  Also, this change may work around
12129         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
12130         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
12131
12132 2011-05-20  Eric Blake  <eblake@redhat.com>
12133
12134         perror: work around FreeBSD bug
12135         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
12136         is broken.  Move AC_LIBOBJ...
12137         * modules/perror (configure.ac): Here.
12138         * doc/posix-functions/perror.texi (perror): Document this.
12139         * tests/test-perror2.c (main): Enhance test.
12140
12141         test-perror: check for strerror interactions
12142         * tests/macros.h (STREQ): Add macro.
12143         * modules/perror-tests (Files): Add second test.
12144         * tests/test-perror2.c (main): New file.
12145         * doc/posix-functions/perror.texi (perror): Document glibc bug.
12146
12147         test-perror: rewrite to use init script
12148         * modules/perror-tests (Files): Add init.sh.
12149         * tests/test-perror.sh: Use temporary directory.
12150
12151 2011-05-20  Jim Meyering  <meyering@redhat.com>
12152
12153         maint: replace misused "a" with "an"
12154         * doc/intprops.texi: "a integer"
12155         * doc/regex.texi: "a explanation"
12156         * lib/alignof.h: "a object"
12157         * lib/argmatch.h: "a explanation"
12158         * lib/argp-help.c: "a option" and "a OPTION_DOC"
12159         * lib/stdint.in.h: "a integer"
12160         * lib/userspec.c: "a owner"
12161         * doc/gnulib.texi: Fix "a idea", and reword.
12162
12163 2011-05-19  Jim Meyering  <meyering@redhat.com>
12164
12165         maint: correct misuse of "a" and "an"
12166         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
12167         * lib/argp-help.c: "an docum...": s/an/a/
12168         * lib/argp-parse.c: "An vector": s/An/A/
12169         * lib/execute.c: "an native": s/an/a/
12170         * lib/spawn-pipe.c: Likewise.
12171         * lib/gc.h: "an Gc_rc": s/an/a/
12172         * lib/unigbrk.in.h: "an grapheme": s/an/a/
12173         * lib/fts.c: "an stat.st_dev": s/an/a/
12174
12175 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12176
12177         intprops-tests: work around HP-UX 11.23 cc bug with constants
12178         * tests/test-intprops.c (VERIFY): New macro.
12179         (main): Use it, instead of verify, to work around the compiler bug; see
12180         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12181
12182         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
12183         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
12184         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
12185         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
12186         (_GL_REMAINDER_OVERFLOW): Use it.
12187
12188         intprops-tests: revert unsigned part of previous change
12189         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
12190         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
12191         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
12192         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
12193
12194 2011-05-19  Bruno Haible  <bruno@clisp.org>
12195
12196         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
12197         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
12198         strerror_r() returned without filling the buffer.
12199         Reported by Eric Blake.
12200
12201 2011-05-19  Eric Blake  <eblake@redhat.com>
12202
12203         strerror_r: guarantee unchanged errno
12204         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
12205         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
12206         failure.
12207         * tests/test-strerror_r.c (main): Enhance test.
12208
12209 2011-05-19  Bruno Haible  <bruno@clisp.org>
12210
12211         strerror_r: Reorder #if blocks.
12212         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
12213         for consistency with the previous commit.
12214
12215 2011-05-19  Bruno Haible  <bruno@clisp.org>
12216
12217         perror: Avoid clobbering the strerror buffer when possible.
12218         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
12219         * lib/strerror.c: Include it.
12220         * modules/strerror (Files): Add lib/strerror-impl.h.
12221         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
12222         (my_strerror): New function, defined through lib/strerror-impl.h.
12223         (perror): Use it instead of strerror.
12224         * modules/perror (Files): Add lib/strerror-impl.h.
12225         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
12226
12227 2011-05-19  Eric Blake  <eblake@redhat.com>
12228
12229         strerror_r: fix on newer cygwin
12230         * lib/strerror_r.c (strerror_r): Cygwin now has
12231         __xpg_strerror_r, use it.
12232
12233 2011-05-19  Bruno Haible  <bruno@clisp.org>
12234
12235         strerror_r: Avoid clobbering the strerror buffer when possible.
12236         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
12237         (sys_nerr, sys_errlist): New declarations.
12238         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
12239         HP-UX, native Win32, IRIX, and 32-bit Solaris.
12240         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
12241
12242 2011-05-19  Bruno Haible  <bruno@clisp.org>
12243
12244         strerror_r: Fix test failure on mingw.
12245         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
12246         EXTEND_STRERROR_R.
12247         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
12248         macros from errno.in.h instead.
12249
12250 2011-05-19  Eric Blake  <eblake@redhat.com>
12251
12252         strerror: relax test for Solaris
12253         * tests/test-strerror.c (main): Permit Solaris behavior.
12254         * tests/test-strerror_r.c (main): Likewise.
12255
12256         strerror: enforce POSIX ruling on strerror(0)
12257         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
12258         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
12259         * lib/strerror_r.c (rpl_strerror_r): Work around it.
12260         * doc/posix-functions/strerror.texi (strerror): Document it.
12261         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
12262         * tests/test-strerror.c (main): Strengthen test.
12263         * tests/test-strerror_r.c (main): Likewise.
12264
12265 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12266
12267         intprop-tests: port to older and more-pedantic compilers
12268         * modules/intprops-tests (Files): Add tests/macros.h.
12269         * tests/test-intprops.c: Include macros.h.
12270         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
12271         it's no longer documented to expand to an integer constant expression.
12272         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
12273         argument is floating point, as it's no longer documented to expand
12274         to an integer constant expression in that case.
12275         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
12276         compiler bugs reported by Bruno Haible.  See
12277         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12278         (U0, U1): New constants, to work around the same bugs.  Also,
12279         in tests, use e.g., "(unsigned int) 39" rather than "39u".
12280
12281         intprops: work around C compiler bugs
12282         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
12283         bug in Sun C 5.11 2010/08/13 and other compilers; see
12284         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12285
12286         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
12287         * doc/intprops.texi (Integer Type Determination): Fix
12288         documentation for TYPE_IS_INTEGER: it returns an constant
12289         expression, not an integer constant expression.  Fix doc for
12290         TYPE_SIGNED: it returns an integer constant expression only if its
12291         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
12292         hardly worth documented that way....)
12293
12294 2011-05-18  Bruno Haible  <bruno@clisp.org>
12295
12296         strerror_r: Avoid clobbering the strerror buffer when possible.
12297         * lib/strerror_r.c (strerror_r): Merge the three implementations.
12298         Handle gnulib defined errno values here. When strerror() returns NULL
12299         or an empty string, return EINVAL.
12300         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
12301         gnulib defined errno values here.
12302         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
12303
12304 2011-05-18  Eric Blake  <eblake@redhat.com>
12305
12306         fnmatch: avoid compiler warning
12307         * lib/fnmatch_loop.c (FCT): Use correct type.
12308         Reported by Matthias Bolte.
12309
12310 2011-05-13  Jim Meyering  <meyering@redhat.com>
12311
12312         maint.mk: three new prohibit_<HDR>_without_use rules
12313         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
12314         (sc_prohibit_stdio-safer_without_use): Likewise.
12315         (sc_prohibit_xfreopen_without_use): Likewise.
12316
12317 2011-05-17  Jim Meyering  <meyering@redhat.com>
12318
12319         announce-gen: fail if the NEWS delta is empty
12320         If there's nothing noteworthy in NEWS, then either you forgot
12321         or you shouldn't be releasing.
12322         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
12323
12324 2011-05-17  Pádraig Brady <P@draigBrady.com>
12325
12326         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
12327         reserved symbols starting with double underscore from the check.
12328
12329 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
12330
12331         intprops: add doc
12332         * doc/intprops.texi: New file, documenting intprops.
12333         * doc/gnulib.texi (Particular Modules): Include it.
12334
12335         verify: add doc to gnulib manual and fix example
12336         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
12337         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
12338         (Compile-time Assertions): Fix example so it can't overflow.
12339
12340 2011-05-17  Jim Meyering  <meyering@redhat.com>
12341
12342         warnings.m4: don't usurp save_CPPFLAGS variable name
12343         * m4/warnings.m4: Prefix local temporary variable name with gl_.
12344
12345         doc: fix typo
12346         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
12347
12348 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12349             Bruno Haible  <bruno@clisp.org>
12350
12351         doc: Tweak recent change.
12352         * README (Portability guidelines): Tweak new text.
12353         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
12354         Interix 6.1.
12355
12356 2011-05-16  Eric Blake  <eblake@redhat.com>
12357
12358         inttypes: avoid autoconf warning
12359         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
12360         * m4/stdint.m4 (gl_STDINT_H): Likewise.
12361
12362 2011-05-16  Sam Steingold <sds@gnu.org>
12363         and Eric Blake  <eblake@redhat.com>
12364
12365         vc-list-files: accept multiple directory operands
12366         * build-aux/vc-list-files: Iterate over all remaining operands.
12367
12368 2011-05-16  Bruno Haible  <bruno@clisp.org>
12369
12370         Fix confusion regarding deprecated modules.
12371         * modules/calloc (Status, Notice): Mark module as deprecated, not
12372         obsolete.
12373         * modules/fnmatch-posix (Status, Notice): Likewise.
12374         * modules/getdate (Status, Notice): Likewise.
12375         * modules/getopt (Status, Notice): Likewise.
12376         * modules/malloc (Status, Notice): Likewise.
12377         * modules/pipe (Status, Notice): Likewise.
12378         * modules/realloc (Status, Notice): Likewise.
12379         * modules/rename-dest-slash (Status, Notice): Likewise.
12380         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
12381         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
12382         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
12383         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
12384         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
12385
12386 2011-05-16  Bruno Haible  <bruno@clisp.org>
12387
12388         doc: List the target platforms.
12389         * doc/gnulib-intro.texi (Target Platforms): New section.
12390         * doc/gnulib.texi (Introduction): Update menu.
12391         * README (Portability guidelines): Refer to the new section. Update
12392         statement about oldest supported environment. Remove rationale why
12393         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
12394         unportable C89 function.
12395         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
12396         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
12397
12398 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12399
12400         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
12401
12402 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12403
12404         intprops-tests: new module
12405         * modules/intprops-tests, tests/test-intprops.c: New files.
12406
12407         intprops: add safe, portable integer overflow checking
12408         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
12409         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
12410         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
12411         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
12412         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
12413         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
12414         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
12415         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
12416         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
12417         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
12418         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
12419
12420 2011-05-12  James Youngman  <jay@gnu.org>
12421
12422         Add a test for glibc's Bugzilla bug #12378.
12423         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
12424         doesn't allow the literal matching of a lone "[" (which is
12425         required by POSIX).
12426         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
12427
12428 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
12429
12430         Sync glibc change fixing Bugzilla bug #12378.
12431         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
12432         beginning and fall back to matching as normal character if the
12433         string ends before the matching ']' is found.  This is what POSIX
12434         requires.
12435
12436 2011-05-13  Eric Blake  <eblake@redhat.com>
12437
12438         getcwd-lgpl: relax test for FreeBSD
12439         * doc/posix-functions/getcwd.texi (getcwd): Document portability
12440         issue.
12441         * tests/test-getcwd-lgpl.c (main): Relax test.
12442         Reported by Matthias Bolte.
12443
12444 2011-05-11  Eric Blake  <eblake@redhat.com>
12445
12446         test-fflush: silence compiler warning
12447         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
12448
12449 2011-05-11  Bruno Haible  <bruno@clisp.org>
12450
12451         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
12452         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
12453         * modules/canonicalize (Depends-on): Add 'nocrash'.
12454         * modules/canonicalize-lgpl (Depends-on): Likewise.
12455         * doc/posix-functions/realpath.texi: Update platforms list.
12456         Reported by Ryan Schmidt <ryandesign@macports.org>.
12457
12458 2011-05-11  Bruno Haible  <bruno@clisp.org>
12459
12460         group-member: Declare function in <unistd.h>.
12461         * lib/unistd.in.h (group_member): New declaration.
12462         * lib/group-member.h: Remove file.
12463         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
12464         * tests/test-unistd-c++.cc: Check signature of group_member.
12465         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
12466         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
12467         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
12468         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
12469         HAVE_GROUP_MEMBER.
12470         * modules/group-member (Files): Remove lib/group-member.h.
12471         (Depends-on): Add unistd. Specify conditions.
12472         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12473         (Include): Change to <unistd.h>.
12474         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
12475         HAVE_GROUP_MEMBER.
12476         * NEWS: Mention the change.
12477         * lib/euidaccess.c: Don't include group-member.h.
12478
12479 2011-05-11  Bruno Haible  <bruno@clisp.org>
12480
12481         group-member: Document module.
12482         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
12483         module.
12484
12485 2011-05-11  Bruno Haible  <bruno@clisp.org>
12486
12487         fclose: Fix mistake earlier today.
12488         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
12489
12490 2011-05-11  Eric Blake  <eblake@redhat.com>
12491
12492         fclose: preserve fflush errors
12493         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
12494         Reported by Jim Meyering.
12495
12496         bootstrap: support a prereq of 'rpcgen -' on RHEL5
12497         * build-aux/bootstrap (check_versions): When no specific version
12498         is required, merely check that the app produces an exit status
12499         that indicates its existence.
12500
12501         maint.mk: drop redundant check
12502         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
12503         the same but better.
12504
12505 2011-05-11  Bruno Haible  <bruno@clisp.org>
12506
12507         fclose: Fix possible link error.
12508         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
12509         unregister_shadow_fd. Improve comments.
12510         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
12511         Eric Blake.
12512
12513 2011-05-11  Jim Meyering  <meyering@redhat.com>
12514
12515         maint.mk: improve "can not" detection and generalize rule name
12516         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
12517         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
12518         Use the same technique as in sc_prohibit_doubled_word, so that
12519         we recognize "can not" also when the words are separated by a newline.
12520         Suggested by Eric Blake.
12521         (perl_filename_lineno_text_): Define.  Factored out of...
12522         (prohibit_doubled_word_): ...here.  Use the new definition.
12523         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
12524         (prohibit_undesirable_word_seq_RE_): New overridable variable.
12525         (ignore_undesirable_word_sequence_RE_): New overridable variable.
12526
12527 2011-05-10  Eric Blake  <eblake@redhat.com>
12528
12529         fclose: avoid double close race when possible
12530         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
12531         all but WINDOWS_SOCKETS.
12532
12533 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
12534
12535         openat: correct new comment
12536         * lib/openat-proc.c (openat_proc_name): Correct the comment.
12537
12538 2011-05-10  Jim Meyering  <meyering@redhat.com>
12539
12540         openat: add comments
12541         * lib/openat-proc.c (openat_proc_name): Add comments,
12542         mostly from Eric Blake.
12543
12544 2011-05-09  Eric Blake  <eblake@redhat.com>
12545
12546         openat: reduce syscalls in first probe of /proc
12547         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
12548         be a directory.  Simplify the probe for .. bugs.
12549         * modules/openat (Depends-on): Drop same-inode.
12550         Reported by Bastien ROUCARIES.
12551
12552 2011-05-09  Jim Meyering  <meyering@redhat.com>
12553
12554         maint.mk: change semantics/name of tight_scope variables
12555         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
12556         Rename variables to align with semantics that make them more useful.
12557
12558         maint.mk: tweak new rule's name not to impinge
12559         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
12560         (sc_tight_scope): Use new rule name rather than $@-0.
12561
12562         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
12563         * top/maint.mk (sc_tight_scope): New rule.
12564         (sc_tight_scope-0): New rule, ifdef'd out.
12565         (_gl_TS_dir): Default.
12566         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
12567         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
12568
12569 2011-05-09  Simon Josefsson  <simon@josefsson.org>
12570
12571         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
12572         Haible <bruno@clisp.org>.
12573
12574 2011-05-08  Bruno Haible  <bruno@clisp.org>
12575
12576         Comments.
12577         * m4/isnanf.m4: Add comment.
12578         * m4/isnanl.m4: Likewise.
12579
12580 2011-05-08  Bruno Haible  <bruno@clisp.org>
12581
12582         glob: Remove obsolete macro.
12583         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
12584
12585 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
12586
12587         intprops: Sun C 5.11 supports __typeof__
12588         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
12589         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
12590         which is new.
12591         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
12592
12593         intprops: switch to usual gnulib indenting and naming
12594         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
12595         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
12596
12597         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
12598
12599 2011-05-08  Jim Meyering  <meyering@redhat.com>
12600
12601         maint.mk: suppress "Entering/Leaving directory" diag in announcement
12602         * top/maint.mk (release-prep): Use make's --no-print-directory
12603         option when generating the announcement.  This eliminates the
12604         pesky "make[2]: Entering/Leaving directory" diagnostics in the
12605         generated announcement template.
12606
12607 2011-05-08  Bruno Haible  <bruno@clisp.org>
12608
12609         tzset: Fix gettimeofday wrapper on Solaris 2.6.
12610         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
12611         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
12612
12613 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
12614
12615         ignore-value, verify: Omit include files from lib_SOURCES.
12616         * modules/ignore-value, modules/verify (Makefile.am):
12617         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
12618         that leads Automake to duplicate use of am__objects_... variables
12619         in Makefile.in.  See
12620         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
12621
12622 2011-05-07  Bruno Haible  <bruno@clisp.org>
12623
12624         fclose: Simplify autoconf macro.
12625         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
12626         defined.
12627
12628 2011-05-07  Bruno Haible  <bruno@clisp.org>
12629
12630         canonicalize-lgpl: Fix autoconf macro ordering bug.
12631         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
12632         gl_STDLIB_H_DEFAULTS.
12633
12634 2011-05-06  Eric Blake  <eblake@redhat.com>
12635
12636         maintainer-makefile: make sc_po_check easier to tune
12637         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
12638         to probe for strings, such as an alternate location for gnulib.
12639
12640         fclose: guarantee behavior on seekable stdin
12641         * modules/fclose (Depends-on): Add fflush.
12642         * doc/posix-functions/fclose.texi (fclose): Document this.
12643         * tests/test-fclose.c (main): Make test for this unconditional.
12644
12645 2011-05-06  Bruno Haible  <bruno@clisp.org>
12646
12647         fflush, fpurge: Relicense under LGPLv2+.
12648         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
12649         * modules/fpurge (License): Likewise.
12650         With permission from Eric Blake and Jim Meyering.
12651         Suggested by Eric Blake.
12652
12653 2011-05-06  Karl Berry  <karl@gnu.org>
12654
12655         * MODULES.html.sh (func_all_modules): remove exit.
12656
12657 2011-05-06  Jim Meyering  <meyering@redhat.com>
12658
12659         maint.mk: use info-gnu@ as the default only for a stable release
12660         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
12661         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
12662         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
12663         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
12664
12665 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
12666
12667         assert-h: new module, which supports C1X-style static_assert
12668         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
12669         * lib/verify.h: Revamp so that this can be copied into assert.h,
12670         while retaining the ability to use it standalone as before.
12671         Rename private identifiers so as not to encroach on the
12672         standard C namespace, since this is now used by assert.h.
12673         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
12674         the old verify_true.
12675         (_GL_VERIFY_TRUE): New macro, with much of the contents of
12676         the old verify_true.  Use _GL_VERIFY_TYPE.
12677         (_GL_VERIFY): New macro, with much of the contents of the old verify.
12678         (static_assert): New macro, if _GL_STATIC_ASSERT_H
12679         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
12680         defined when this file is copied into the replacement assert.h.
12681         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
12682         and _Static_assert is not built in.
12683         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
12684         defined, and use the new macros mentioned above.
12685         * doc/posix-headers/assert.texi: Document this.
12686
12687 2011-05-05  Bruno Haible  <bruno@clisp.org>
12688
12689         fclose, fflush: Respect rules for use of AC_LIBOBJ.
12690         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
12691         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
12692         gl_REPLACE_FCLOSE here.
12693         * modules/fflush (Depends-on): Remove fclose.
12694         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
12695         combination with module 'fclose'.
12696
12697 2011-05-05  Bruno Haible  <bruno@clisp.org>
12698
12699         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
12700         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
12701         gl_FUNC_FFLUSH.
12702         (gl_FUNC_FFLUSH): Use it.
12703         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
12704         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
12705         gl_REPLACE_FSEEKO here.
12706
12707 2011-05-05  Bruno Haible  <bruno@clisp.org>
12708
12709         tzset: Relicense under LGPL.
12710         * modules/tzset (License): Change to LGPL.
12711         No agreement needed; it's a no-op.
12712
12713         strtoimax, strtoumax: Relicense under LGPL.
12714         * modules/strtoimax (License): Change to LGPL.
12715         * modules/strtoumax (License): Likewise.
12716         With permission from Jim Meyering, Paul Eggert:
12717         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
12718         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
12719
12720         getgroups: Relicense under LGPL.
12721         * modules/getgroups (License): Change to LGPL.
12722         With permission from Jim Meyering, Paul Eggert, Eric Blake:
12723         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
12724         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
12725         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
12726
12727         nanosleep: Relicense under LGPL.
12728         * modules/nanosleep (License): Change to LGPL.
12729         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
12730         Haible:
12731         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
12732         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
12733         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
12734         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
12735
12736         futimens: Relicense under LGPL.
12737         * modules/futimens (License): Change to LGPL.
12738         With permission from Eric Blake:
12739         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
12740
12741         fflush: Relicense under LGPL.
12742         * modules/fflush (License): Change to LGPL.
12743         With permission from Eric Blake, Bruno Haible, Jim Meyering:
12744         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
12745         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
12746         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
12747
12748         tmpfile: Relicense under LGPL.
12749         * modules/tmpfile (License): Change to LGPL.
12750         With permission from Ben Pfaff:
12751         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
12752
12753         isfinite: Relicense under LGPL.
12754         * modules/isfinite (License): Change to LGPL.
12755         With permission from Ben Pfaff, Bruno Haible:
12756         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
12757         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
12758
12759         acosl..tanl: Relicense under LGPL.
12760         * modules/acosl (License): Change to LGPL.
12761         * modules/asinl (License): Likewise.
12762         * modules/atanl (License): Likewise.
12763         * modules/cosl (License): Likewise.
12764         * modules/expl (License): Likewise.
12765         * modules/logl (License): Likewise.
12766         * modules/sinl (License): Likewise.
12767         * modules/sqrtl (License): Likewise.
12768         * modules/tanl (License): Likewise.
12769         Source code originally from glibc and Paolo Bonzini. Agreements:
12770         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
12771         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
12772
12773 2011-05-05  Bruno Haible  <bruno@clisp.org>
12774
12775         signal: Define sighandler_t.
12776         * lib/signal.in.h (sighandler_t): New type.
12777         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
12778         whether sighandler_t is defined.
12779         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
12780         * modules/signal (Depends-on): Add extensions.
12781         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
12782         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
12783         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
12784
12785 2011-05-05  Eric Blake  <eblake@redhat.com>
12786
12787         maint: remove useless REPLACE_*_H macros
12788         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
12789         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
12790         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
12791         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
12792         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
12793         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
12794         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
12795         * m4/btowc.m4: Update callers.
12796         * m4/dirfd.m4: Likewise.
12797         * m4/duplocale.m4: Likewise.
12798         * m4/fchdir.m4: Likewise.
12799         * m4/fdopendir.m4: Likewise.
12800         * m4/inet_ntop.m4: Likewise.
12801         * m4/inet_pton.m4: Likewise.
12802         * m4/ioctl.m4: Likewise.
12803         * m4/mbrlen.m4: Likewise.
12804         * m4/mbrtowc.m4: Likewise.
12805         * m4/mbsinit.m4: Likewise.
12806         * m4/mbsnrtowcs.m4: Likewise.
12807         * m4/mbsrtowcs.m4: Likewise.
12808         * m4/poll.m4: Likewise.
12809         * m4/setlocale.m4: Likewise.
12810         * m4/wcrtomb.m4: Likewise.
12811         * m4/wcsnrtombs.m4: Likewise.
12812         * m4/wcsrtombs.m4: Likewise.
12813         * m4/wctob.m4: Likewise.
12814         * m4/wcwidth.m4: Likewise.
12815         * modules/posix_spawn: Likewise.
12816         * modules/posix_spawn_file_actions_addclose: Likewise.
12817         * modules/posix_spawn_file_actions_adddup2: Likewise.
12818         * modules/posix_spawn_file_actions_addopen: Likewise.
12819         * modules/posix_spawn_file_actions_destroy: Likewise.
12820         * modules/posix_spawn_file_actions_init: Likewise.
12821         * modules/posix_spawnattr_destroy: Likewise.
12822         * modules/posix_spawnattr_getflags: Likewise.
12823         * modules/posix_spawnattr_getpgroup: Likewise.
12824         * modules/posix_spawnattr_getschedparam: Likewise.
12825         * modules/posix_spawnattr_getschedpolicy: Likewise.
12826         * modules/posix_spawnattr_getsigdefault: Likewise.
12827         * modules/posix_spawnattr_getsigmask: Likewise.
12828         * modules/posix_spawnattr_init: Likewise.
12829         * modules/posix_spawnattr_setflags: Likewise.
12830         * modules/posix_spawnattr_setpgroup: Likewise.
12831         * modules/posix_spawnattr_setschedparam: Likewise.
12832         * modules/posix_spawnattr_setschedpolicy: Likewise.
12833         * modules/posix_spawnattr_setsigdefault: Likewise.
12834         * modules/posix_spawnattr_setsigmask: Likewise.
12835         * modules/posix_spawnp: Likewise.
12836
12837 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
12838
12839         Add option to do-release-commit-and-tag to specify branch.
12840         * build-aux/do-release-commit-and-tag: Add --branch.
12841
12842 2011-05-03  Bruno Haible  <bruno@clisp.org>
12843
12844         Avoid unnecessary compilation units, through conditional dependencies.
12845         * modules/accept (Depends-on): Add conditions to the dependencies.
12846         * modules/acosl (Depends-on): Likewise.
12847         * modules/argz (Depends-on): Likewise.
12848         * modules/asinl (Depends-on): Likewise.
12849         * modules/atanl (Depends-on): Likewise.
12850         * modules/atoll (Depends-on): Likewise.
12851         * modules/bind (Depends-on): Likewise.
12852         * modules/btowc (Depends-on): Likewise.
12853         * modules/canonicalize-lgpl (Depends-on): Likewise.
12854         * modules/ceil (Depends-on): Likewise.
12855         * modules/ceilf (Depends-on): Likewise.
12856         * modules/ceill (Depends-on): Likewise.
12857         * modules/chdir-long (Depends-on): Likewise.
12858         * modules/chown (Depends-on): Likewise.
12859         * modules/close (Depends-on): Likewise.
12860         * modules/connect (Depends-on): Likewise.
12861         * modules/cosl (Depends-on): Likewise.
12862         * modules/dirfd (Depends-on): Likewise.
12863         * modules/dprintf (Depends-on): Likewise.
12864         * modules/dprintf-posix (Depends-on): Likewise.
12865         * modules/error (Depends-on): Likewise.
12866         * modules/euidaccess (Depends-on): Likewise.
12867         * modules/expl (Depends-on): Likewise.
12868         * modules/faccessat (Depends-on): Likewise.
12869         * modules/fchdir (Depends-on): Likewise.
12870         * modules/fclose (Depends-on): Likewise.
12871         * modules/fcntl (Depends-on): Likewise.
12872         * modules/fdopendir (Depends-on): Likewise.
12873         * modules/fflush (Depends-on): Likewise.
12874         * modules/floor (Depends-on): Likewise.
12875         * modules/floorf (Depends-on): Likewise.
12876         * modules/floorl (Depends-on): Likewise.
12877         * modules/fnmatch (Depends-on): Likewise.
12878         * modules/fopen (Depends-on): Likewise.
12879         * modules/fprintf-posix (Depends-on): Likewise.
12880         * modules/frexp (Depends-on): Likewise.
12881         * modules/frexp-nolibm (Depends-on): Likewise.
12882         * modules/frexpl (Depends-on): Likewise.
12883         * modules/frexpl-nolibm (Depends-on): Likewise.
12884         * modules/fseek (Depends-on): Likewise.
12885         * modules/fsusage (Depends-on): Likewise.
12886         * modules/ftell (Depends-on): Likewise.
12887         * modules/ftello (Depends-on): Likewise.
12888         * modules/futimens (Depends-on): Likewise.
12889         * modules/getcwd (Depends-on): Likewise.
12890         * modules/getcwd-lgpl (Depends-on): Likewise.
12891         * modules/getdelim (Depends-on): Likewise.
12892         * modules/getdomainname (Depends-on): Likewise.
12893         * modules/getgroups (Depends-on): Likewise.
12894         * modules/gethostname (Depends-on): Likewise.
12895         * modules/getline (Depends-on): Likewise.
12896         * modules/getlogin_r (Depends-on): Likewise.
12897         * modules/getopt-posix (Depends-on): Likewise.
12898         * modules/getpeername (Depends-on): Likewise.
12899         * modules/getsockname (Depends-on): Likewise.
12900         * modules/getsockopt (Depends-on): Likewise.
12901         * modules/getsubopt (Depends-on): Likewise.
12902         * modules/getusershell (Depends-on): Likewise.
12903         * modules/glob (Depends-on): Likewise.
12904         * modules/grantpt (Depends-on): Likewise.
12905         * modules/iconv_open (Depends-on): Likewise.
12906         * modules/iconv_open-utf (Depends-on): Likewise.
12907         * modules/inet_ntop (Depends-on): Likewise.
12908         * modules/inet_pton (Depends-on): Likewise.
12909         * modules/ioctl (Depends-on): Likewise.
12910         * modules/isapipe (Depends-on): Likewise.
12911         * modules/isfinite (Depends-on): Likewise.
12912         * modules/isinf (Depends-on): Likewise.
12913         * modules/lchown (Depends-on): Likewise.
12914         * modules/ldexpl (Depends-on): Likewise.
12915         * modules/link (Depends-on): Likewise.
12916         * modules/linkat (Depends-on): Likewise.
12917         * modules/listen (Depends-on): Likewise.
12918         * modules/logl (Depends-on): Likewise.
12919         * modules/lstat (Depends-on): Likewise.
12920         * modules/mbrlen (Depends-on): Likewise.
12921         * modules/mbrtowc (Depends-on): Likewise.
12922         * modules/mbsinit (Depends-on): Likewise.
12923         * modules/mbsnrtowcs (Depends-on): Likewise.
12924         * modules/mbsrtowcs (Depends-on): Likewise.
12925         * modules/mbtowc (Depends-on): Likewise.
12926         * modules/memcmp (Depends-on): Likewise.
12927         * modules/mkdir (Depends-on): Likewise.
12928         * modules/mkdtemp (Depends-on): Likewise.
12929         * modules/mkfifo (Depends-on): Likewise.
12930         * modules/mkfifoat (Depends-on): Likewise.
12931         * modules/mknod (Depends-on): Likewise.
12932         * modules/mkostemp (Depends-on): Likewise.
12933         * modules/mkostemps (Depends-on): Likewise.
12934         * modules/mkstemp (Depends-on): Likewise.
12935         * modules/mkstemps (Depends-on): Likewise.
12936         * modules/mktime (Depends-on): Likewise.
12937         * modules/nanosleep (Depends-on): Likewise.
12938         * modules/open (Depends-on): Likewise.
12939         * modules/openat (Depends-on): Likewise.
12940         * modules/perror (Depends-on): Likewise.
12941         * modules/poll (Depends-on): Likewise.
12942         * modules/popen (Depends-on): Likewise.
12943         * modules/posix_spawn (Depends-on): Likewise.
12944         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
12945         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
12946         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
12947         * modules/posix_spawnp (Depends-on): Likewise.
12948         * modules/pread (Depends-on): Likewise.
12949         * modules/printf-posix (Depends-on): Likewise.
12950         * modules/ptsname (Depends-on): Likewise.
12951         * modules/putenv (Depends-on): Likewise.
12952         * modules/pwrite (Depends-on): Likewise.
12953         * modules/readline (Depends-on): Likewise.
12954         * modules/readlink (Depends-on): Likewise.
12955         * modules/readlinkat (Depends-on): Likewise.
12956         * modules/recv (Depends-on): Likewise.
12957         * modules/recvfrom (Depends-on): Likewise.
12958         * modules/regex (Depends-on): Likewise.
12959         * modules/remove (Depends-on): Likewise.
12960         * modules/rename (Depends-on): Likewise.
12961         * modules/renameat (Depends-on): Likewise.
12962         * modules/rmdir (Depends-on): Likewise.
12963         * modules/round (Depends-on): Likewise.
12964         * modules/roundf (Depends-on): Likewise.
12965         * modules/roundl (Depends-on): Likewise.
12966         * modules/rpmatch (Depends-on): Likewise.
12967         * modules/select (Depends-on): Likewise.
12968         * modules/send (Depends-on): Likewise.
12969         * modules/sendto (Depends-on): Likewise.
12970         * modules/setenv (Depends-on): Likewise.
12971         * modules/setlocale (Depends-on): Likewise.
12972         * modules/setsockopt (Depends-on): Likewise.
12973         * modules/shutdown (Depends-on): Likewise.
12974         * modules/sigaction (Depends-on): Likewise.
12975         * modules/signbit (Depends-on): Likewise.
12976         * modules/sigprocmask (Depends-on): Likewise.
12977         * modules/sinl (Depends-on): Likewise.
12978         * modules/sleep (Depends-on): Likewise.
12979         * modules/snprintf (Depends-on): Likewise.
12980         * modules/snprintf-posix (Depends-on): Likewise.
12981         * modules/socket (Depends-on): Likewise.
12982         * modules/sprintf-posix (Depends-on): Likewise.
12983         * modules/sqrtl (Depends-on): Likewise.
12984         * modules/stat (Depends-on): Likewise.
12985         * modules/strchrnul (Depends-on): Likewise.
12986         * modules/strdup-posix (Depends-on): Likewise.
12987         * modules/strerror (Depends-on): Likewise.
12988         * modules/strerror_r-posix (Depends-on): Likewise.
12989         * modules/strndup (Depends-on): Likewise.
12990         * modules/strnlen (Depends-on): Likewise.
12991         * modules/strptime (Depends-on): Likewise.
12992         * modules/strsep (Depends-on): Likewise.
12993         * modules/strsignal (Depends-on): Likewise.
12994         * modules/strstr-simple (Depends-on): Likewise.
12995         * modules/strtod (Depends-on): Likewise.
12996         * modules/strtoimax (Depends-on): Likewise.
12997         * modules/strtok_r (Depends-on): Likewise.
12998         * modules/strtoumax (Depends-on): Likewise.
12999         * modules/symlink (Depends-on): Likewise.
13000         * modules/symlinkat (Depends-on): Likewise.
13001         * modules/tanl (Depends-on): Likewise.
13002         * modules/tcgetsid (Depends-on): Likewise.
13003         * modules/tmpfile (Depends-on): Likewise.
13004         * modules/trunc (Depends-on): Likewise.
13005         * modules/truncf (Depends-on): Likewise.
13006         * modules/truncl (Depends-on): Likewise.
13007         * modules/uname (Depends-on): Likewise.
13008         * modules/unlink (Depends-on): Likewise.
13009         * modules/unlockpt (Depends-on): Likewise.
13010         * modules/unsetenv (Depends-on): Likewise.
13011         * modules/usleep (Depends-on): Likewise.
13012         * modules/utimensat (Depends-on): Likewise.
13013         * modules/vasprintf (Depends-on): Likewise.
13014         * modules/vdprintf (Depends-on): Likewise.
13015         * modules/vdprintf-posix (Depends-on): Likewise.
13016         * modules/vfprintf-posix (Depends-on): Likewise.
13017         * modules/vprintf-posix (Depends-on): Likewise.
13018         * modules/vsnprintf (Depends-on): Likewise.
13019         * modules/vsnprintf-posix (Depends-on): Likewise.
13020         * modules/vsprintf-posix (Depends-on): Likewise.
13021         * modules/wcrtomb (Depends-on): Likewise.
13022         * modules/wcscasecmp (Depends-on): Likewise.
13023         * modules/wcscspn (Depends-on): Likewise.
13024         * modules/wcsdup (Depends-on): Likewise.
13025         * modules/wcsncasecmp (Depends-on): Likewise.
13026         * modules/wcsnrtombs (Depends-on): Likewise.
13027         * modules/wcspbrk (Depends-on): Likewise.
13028         * modules/wcsrtombs (Depends-on): Likewise.
13029         * modules/wcsspn (Depends-on): Likewise.
13030         * modules/wcsstr (Depends-on): Likewise.
13031         * modules/wcstok (Depends-on): Likewise.
13032         * modules/wcswidth (Depends-on): Likewise.
13033         * modules/wctob (Depends-on): Likewise.
13034         * modules/wctomb (Depends-on): Likewise.
13035         * modules/wctype (Depends-on): Likewise.
13036         * modules/wcwidth (Depends-on): Likewise.
13037         * modules/write (Depends-on): Likewise.
13038
13039 2011-05-03  Bruno Haible  <bruno@clisp.org>
13040
13041         Support for conditional dependencies.
13042         * doc/gnulib.texi (Module description): Document the syntax of
13043         conditional dependencies.
13044         * gnulib-tool: New option --conditional-dependencies.
13045         (func_usage): Document it.
13046         (cond_dependencies): New variable.
13047         (func_get_automake_snippet_conditional,
13048         func_get_automake_snippet_unconditional): New functions, extracted from
13049         func_get_automake_snippet.
13050         (func_get_automake_snippet): Use them.
13051         (sed_first_32_chars): New variable.
13052         (func_module_shellfunc_name): New function.
13053         (func_module_shellvar_name): New function.
13054         (func_module_conditional_name): New function.
13055         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
13056         func_cond_module_condition): New functions.
13057         (func_modules_transitive_closure): Add support for conditional
13058         dependencies.
13059         (func_emit_lib_Makefile_am): For a conditional module, enclose the
13060         conditional automake snippet in an automake conditional.
13061         (func_emit_autoconf_snippets): Emit shell functions that contain the
13062         code for conditional modules.
13063         (func_import, func_create_testdir): Update specification.
13064
13065 2011-05-03  Eric Blake  <eblake@redhat.com>
13066
13067         test-getaddrinfo: report error information
13068         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
13069
13070 2011-05-03  Jim Meyering  <meyering@redhat.com>
13071
13072         bootstrap: avoid build failure when $GZIP is set
13073         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
13074         program name.  If defined at all, it is supposed to list gzip options.
13075         Reported by Alan Curry in http://debbugs.gnu.org/8609
13076
13077 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
13078
13079         readme-release: new module with release instructions
13080         * modules/readme-release: New module.
13081         * top/README-release: New file, from coreutils, grep, diffutils.
13082         * MODULES.html.sh (Support for maintaining and releasing): Add it.
13083
13084 2011-05-02  Eric Blake  <eblake@redhat.com>
13085
13086         fflush: also replace fclose when fixing fflush
13087         * modules/fflush (Depends-on): Add fclose.
13088         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
13089         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
13090         memstreams with no backing fd.
13091         * doc/posix-functions/fclose.texi (fclose): Document the use of
13092         fflush module to fix the bug.
13093         * tests/test-fclose.c (main): Relax test when fclose is used in
13094         isolation.
13095
13096         fclose: add some tests
13097         * modules/fclose-tests: New test module.
13098         * tests/test-fclose.c: New file.
13099         * doc/posix-functions/fclose.texi (fclose): Document the bug.
13100
13101         fclose: reduced dependencies
13102         * modules/fclose (Depends-on): Switch from fflush/fseeko to
13103         simpler lseek.
13104         * lib/fclose.c (rpl_fclose): Likewise.
13105         Reported by Simon Josefsson.
13106
13107         exit: drop remaining clients
13108         * modules/argmatch (Depends-on): Replace exit with stdlib.
13109         * modules/copy-file (Depends-on): Likewise.
13110         * modules/execute (Depends-on): Likewise.
13111         * modules/exitfail (Depends-on): Likewise.
13112         * modules/obstack (Depends-on): Likewise.
13113         * modules/pagealign_alloc (Depends-on): Likewise.
13114         * modules/pipe-filter-gi (Depends-on): Likewise.
13115         * modules/pipe-filter-ii (Depends-on): Likewise.
13116         * modules/savewd (Depends-on): Likewise.
13117         * modules/spawn-pipe (Depends-on): Likewise.
13118         * modules/wait-process (Depends-on): Likewise.
13119         * modules/xsetenv (Depends-on): Likewise.
13120         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
13121         * modules/git-merge-changelog (Depends-on): Likewise.
13122         * modules/long-options (Depends-on): Likewise.
13123         * modules/pt_chown (Depends-on): Likewise.
13124         * modules/sysexits (Depends-on): Likewise.
13125
13126         freading: relax license from LGPLv3+ to LGPLv2+
13127         * modules/freading (License): Relax LGPL version.
13128
13129 2011-05-02  Bruno Haible  <bruno@clisp.org>
13130
13131         fchdir: Remove unused dependencies.
13132         * modules/fchdir (Depends-on): Remove include_next.
13133
13134 2011-05-02  Bruno Haible  <bruno@clisp.org>
13135
13136         gnulib-tool: Refactor.
13137         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
13138         from func_emit_autoconf_snippets.
13139         (func_emit_autoconf_snippets): Use it.
13140
13141 2011-05-02  Simon Josefsson  <simon@josefsson.org>
13142
13143         * NEWS: Document removal of 'exit'.
13144         * modules/exit: Remove file.
13145
13146 2011-05-01  Bruno Haible  <bruno@clisp.org>
13147
13148         Update DEPENDENCIES.
13149         * DEPENDENCIES (gettext): Recommend the newest release.
13150         Reported by Simon Josefsson.
13151
13152 2011-05-01  Bruno Haible  <bruno@clisp.org>
13153
13154         gnulib-tool: Reduce code duplication.
13155         * gnulib-tool (func_emit_autoconf_snippets): New function.
13156         (func_import, func_create_testdir): Use it.
13157
13158 2011-04-30  Eric Blake  <eblake@redhat.com>
13159
13160         fclose: don't fail on non-seekable input stream
13161         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
13162         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
13163         since fflush is allowed to fail in that case.
13164
13165 2011-04-30  Bruno Haible  <bruno@clisp.org>
13166
13167         dup3: cleanup
13168         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
13169
13170 2011-04-30  Bruno Haible  <bruno@clisp.org>
13171
13172         netdb: Make it work in C++ mode.
13173         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
13174         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
13175         module.
13176         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
13177         gl_MODULE_INDICATOR_FOR_TESTS.
13178         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
13179         * modules/netdb-c++-tests: New file.
13180         * tests/test-netdb-c++.cc: New file.
13181
13182 2011-04-30  Bruno Haible  <bruno@clisp.org>
13183
13184         New modules 'vfscanf', 'vscanf'.
13185         * modules/vfscanf: New file.
13186         * modules/vscanf: New file.
13187         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
13188         here.
13189         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
13190         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
13191
13192 2011-04-30  Bruno Haible  <bruno@clisp.org>
13193
13194         passfd: Add comments.
13195         * lib/passfd.c: Add comments about platforms.
13196
13197 2011-04-30  Bruno Haible  <bruno@clisp.org>
13198
13199         sys_uio: Make <sys/uio.h> self-contained.
13200         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
13201         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
13202
13203 2011-04-30  Bruno Haible  <bruno@clisp.org>
13204
13205         sys_socket: Ensure 'struct iovec' definition.
13206         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
13207         <sys/socket.h>.
13208         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
13209
13210 2011-04-30  Bruno Haible  <bruno@clisp.org>
13211
13212         sys_uio: Protect definition of 'struct iovec'.
13213         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
13214         it as a C struct.
13215
13216 2011-04-30  Bruno Haible  <bruno@clisp.org>
13217
13218         manywarnings: fix indentation
13219         * m4/manywarnings.m4: Indent by 2 spaces consistently.
13220
13221 2011-04-30  Pádraig Brady <P@draigBrady.com>
13222
13223         manywarnings: add -Wno-missing-field-initializers if needed.
13224         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
13225         option if it's needed to allow initialization with { 0, }
13226
13227 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
13228
13229         announce-gen: cosmetic improvement
13230         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
13231
13232 2011-04-29  Jim Meyering  <meyering@redhat.com>
13233
13234         vc-list-files: indent with spaces, not TABs
13235         * build-aux/vc-list-files: Convert leading TABs to spaces,
13236         to match the style of most other files in gnulib.
13237
13238         announce-gen: indent with spaces, not TABs
13239         * build-aux/announce-gen: Convert all TABs to spaces, to match
13240         the style of most other files in gnulib.
13241
13242 2011-04-29  Eric Blake  <eblake@redhat.com>
13243
13244         quotearg: avoid uninitialized variable use
13245         * lib/quotearg.c (quoting_options_from_style): Initialize
13246         remaining fields, and ensure that custom styles are only used via
13247         quoting_options rather than quoting_style.
13248
13249 2011-04-29  Jim Meyering  <meyering@redhat.com>
13250
13251         maint.mk: remove unused VC-tag variable
13252         * top/maint.mk (VC-tag): Remove unused variable.
13253
13254 2011-04-29  Bruno Haible  <bruno@clisp.org>
13255
13256         netdb: fix gai_strerror replacements
13257         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
13258         * modules/netdb: Substitute it.
13259
13260 2011-04-29  Jim Meyering  <meyering@redhat.com>
13261
13262         test-getcwd.c: avoid new set-but-not-used warning
13263         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
13264         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
13265         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
13266         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
13267
13268         test-hash.c: avoid a new shadowing warning
13269         * tests/test-hash.c (main): Don't shadow "dup".
13270
13271 2011-04-28  Eric Blake  <eblake@redhat.com>
13272
13273         getaddrinfo: fix gai_strerror signature
13274         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
13275         and work around mingw with UNICODE defined.
13276         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
13277         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
13278         * modules/netdb (Makefile.am): Substitute it.
13279         * lib/netdb.in.h (gai_strerror): Declare replacement.
13280         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
13281         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
13282         the fix.
13283
13284         getsockopt: avoid compiler warning
13285         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
13286         Reported by Matthias Bolte.
13287
13288         tests: drop unused link dependency
13289         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
13290         * modules/dirent-safer-tests (Makefile.am): Likewise.
13291         * modules/fdopendir-tests (Makefile.am): Likewise.
13292         * modules/mkfifoat-tests (Makefile.am): Likewise.
13293         * modules/openat-safer-tests (Makefile.am): Likewise.
13294         * modules/openat-tests (Makefile.am): Likewise.
13295         * modules/readlinkat-tests (Makefile.am): Likewise.
13296         * modules/symlinkat-tests (Makefile.am): Likewise.
13297         * modules/linkat-tests (Makefile.am): Likewise.
13298         (Depends-on): Switch to filenamecat-lgpl.
13299         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
13300         LIBINTL.
13301         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
13302         * tests/test-linkat.c (main): Don't require xalloc.
13303
13304         hash, mgetgroups: drop xalloc dependency
13305         * lib/hash.c (includes): Adjust includes.
13306         * lib/mgetgroups.c (includes): Likewise.
13307         (xgetgroups): Move...
13308         * lib/xgetgroups.c: ...to new file.
13309         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
13310         * modules/xgetgroups: New file, split from...
13311         * modules/mgetgroups: ...here.
13312         (Depends-on): Add xalloc-oversized.
13313         * modules/hash (Depends-on): Likewise.
13314         * modules/hash-tests (Depends-on): Drop xalloc.
13315         (test_hash_LDADD): Drop unused library.
13316         * tests/test-hash.c (main): Break xalloc dependency.
13317         (includes): Drop unused include.
13318
13319         xalloc-oversized: new module
13320         * modules/xalloc-oversized: New module.
13321         * modules/xalloc (Depends-on): Add it.
13322         * lib/xalloc.h (xalloc_oversized): Move...
13323         * lib/xalloc-oversized.h: ...into new file.
13324
13325         utimecmp: drop dependency on xmalloc
13326         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
13327         due to memory pressure.
13328         * modules/utimecmp (Depends-on): Drop xalloc.
13329
13330 2011-04-27  Eric Blake  <eblake@redhat.com>
13331
13332         getcwd: fix mingw bugs
13333         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
13334         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
13335         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
13336
13337 2011-04-27  Bruno Haible  <bruno@clisp.org>
13338
13339         mkstemps: Ensure declaration on MacOS X 10.5.
13340         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
13341         * doc/glibc-functions/mkstemps.texi: Document header file problem on
13342         MacOS X.
13343
13344 2011-04-27  Bruno Haible  <bruno@clisp.org>
13345
13346         mkstemp: More documentation.
13347         * doc/posix-functions/mkstemp.texi: Document header file problem on
13348         MacOS X.
13349
13350 2011-04-27  Bruno Haible  <bruno@clisp.org>
13351
13352         mkstemp: Tweak configure message when cross-compiling.
13353         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
13354         result as a guess.
13355
13356 2011-04-27  Bruno Haible  <bruno@clisp.org>
13357
13358         clean-temp: Clarify what it does.
13359         * lib/clean-temp.h: Add more comments.
13360         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
13361         module.
13362         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
13363         * doc/glibc-functions/mkstemps.texi: Likewise.
13364         * doc/glibc-functions/mkostemps.texi: Likewise.
13365
13366 2011-04-27  Eric Blake  <eblake@redhat.com>
13367
13368         fchdir: avoid extra chdir and fix test
13369         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
13370         getcwd-lgpl.
13371         * lib/fchdir.c (get_name): Any absolute name will do; it does not
13372         have to be canonical.
13373         (canonicalize_file_name): Drop unused macro.
13374         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
13375
13376         filenamecat-lgpl: fix licence
13377         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
13378         when it was first created.
13379
13380         linkat, renameat: add missing dependency
13381         * modules/linkat (Depends-on): Require getcwd-lgpl.
13382         * modules/renameat (Depends-on): Likewise.
13383
13384         tests: reduce dependencies
13385         * tests/test-linkat.c (main): Use lighter-weight getcwd.
13386         * tests/test-renameat.c (main): Likewise.
13387         * modules/linkat-tests (Depends-on): Relax dependency.
13388         * modules/renameat-tests (Depends-on): Likewise.
13389         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
13390         dependency explicit.
13391
13392         save-cwd: reduce default dependency
13393         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
13394         * lib/save-cwd.c: Update comments.
13395         * NEWS: Document the semantic change.
13396
13397         getcwd: enhance tests
13398         * tests/test-getcwd-lgpl.c: New file, taken from...
13399         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
13400         repeat long path stress tests from m4 probe.
13401         * modules/getcwd-lgpl-tests: New module.
13402         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
13403         * m4/getcwd-abort-bug.m4: Update comment.
13404         * m4/getcwd-path-max.m4: Likewise.
13405
13406         getcwd-lgpl: new module
13407         * modules/getcwd-lgpl: New module.
13408         * lib/getcwd-lgpl.c: New file.
13409         * doc/posix-functions/getcwd.texi (getcwd): Document it.
13410         * MODULES.html.sh (lacking POSIX:2008): Likewise.
13411         * modules/getcwd (configure.ac): Set C witness.
13412         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
13413
13414         getcwd: tweak comments
13415         * m4/getcwd-abort-bug.m4: Fix comments.
13416         * m4/getcwd-path-max.m4: Likewise.
13417         * m4/getcwd.m4: Likewise.
13418
13419 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
13420         and Eric Blake  <eblake@redhat.com>
13421
13422         mkstemp: replace if system version uses wrong permissions
13423         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
13424         read/write mode bits set in file created by mkstemp.
13425         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
13426
13427 2011-04-27  Eric Blake  <eblake@redhat.com>
13428
13429         passfd: avoid compiler warning
13430         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
13431         Reported by Laine Stump.
13432
13433 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
13434
13435         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
13436         required by the NetBSD (and perhaps other 4.4BSD derived) join.
13437
13438 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
13439         and Eric Blake  <eblake@redhat.com>
13440
13441         mkstemp: mention clean-temp module
13442         * lib/mkstemp.c: Add comment.
13443         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
13444
13445 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
13446
13447         inttypes: also provide default values for 32-bit tests
13448         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
13449         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
13450
13451 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
13452
13453         strtoumax: remove dependency on strtoimax
13454         This is like the strtoull change of yesterday.
13455         * modules/strtoumax (Files): Add lib/strtoimax.c.
13456         (Depends-on): Remove strtoimax and add verify.
13457
13458         inttypes-incomplete: new module
13459         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
13460         all but the PRI* and SCN* parts of gl_INTTYPES_H.
13461         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
13462         of gl_INTTYPES_H.
13463         (gl_INTTYPES_H): Rewrite in terms of these new macros.
13464         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
13465         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
13466         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
13467         * modules/strtoumax, modules/xstrtol (Depends-on):
13468         Depend on inttypes-incomplete, not inttypes.
13469         * modules/inttypes-incomplete: New module, containing the contents
13470         of the old modules/inttypes module, except that the Files: section
13471         omits m4/inttypes-pri.m4, and the configure.ac section invokes
13472         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
13473         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
13474         (Depends-on): Depend only on inttypes-incomplete.
13475         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
13476
13477         inttypes: omit now-redundant strtoimax and strtoumax work
13478         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
13479         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
13480
13481         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
13482         This supports apps that need pointers to strtoimax and strtoumax,
13483         and ports to HP-UX 11.00 64.bit, which has macros that expand to
13484         nonexistent functions.  See
13485         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
13486         et seq.
13487         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
13488         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
13489         a macro.
13490         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
13491
13492 2011-04-25  Simon Josefsson  <simon@josefsson.org>
13493
13494         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
13495
13496 2011-04-25  Bruno Haible  <bruno@clisp.org>
13497
13498         strtol, strtoul: Mark modules as obsolete.
13499         * modules/strtol (Status, Notice): New sections.
13500         * modules/strtoul (Status, Notice): New sections.
13501
13502 2011-04-25  Bruno Haible  <bruno@clisp.org>
13503
13504         strtod: Remove check for strtod, unless supporting old platforms.
13505         * modules/strtod-obsolete: New file.
13506         * m4/strtod-obsolete.m4: New file.
13507         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
13508         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
13509         * modules/strtod (Depends-on): Add strtod-obsolete.
13510         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
13511
13512 2011-04-25  Bruno Haible  <bruno@clisp.org>
13513
13514         strcase: Make module obsolete.
13515         * modules/strcase (Status, Notice): New sections.
13516
13517 2011-04-25  Bruno Haible  <bruno@clisp.org>
13518
13519         dup2: Remove check for dup2, unless supporting old obsolete platforms.
13520         * modules/dup2-obsolete: New file.
13521         * m4/dup2-obsolete.m4: New file.
13522         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
13523         gl_FUNC_DUP2_OBSOLETE is not also defined.
13524         * modules/dup2 (Depends-on): Add dup2-obsolete.
13525         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
13526
13527 2011-04-25  Bruno Haible  <bruno@clisp.org>
13528
13529         strnlen: Avoid memchr related link error on old obsolete platforms.
13530         * modules/memchr-obsolete: New file.
13531         * m4/memchr-obsolete.m4: New file.
13532         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
13533         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
13534         * modules/memchr (Depends-on): Add memchr-obsolete.
13535         * modules/strnlen (Depends-on): Likewise.
13536         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
13537
13538 2011-04-25  Jim Meyering  <meyering@redhat.com>
13539
13540         maint.mk: makefile_at_at_check extend and clean up
13541         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
13542         in addition to */Makefile.am.
13543         Exempt legitimate uses of @VAR@ notation, e.g.,
13544         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
13545         Remove obsolete coreutils-specific comment.
13546         Prompted by discussion here:
13547         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
13548
13549 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13550
13551         strtoul: remove dependency on strtol
13552         This is so that 'configure' need not check for strtol merely because
13553         the application needs strtoul.
13554         * modules/strtoul (Files): Add lib/strtol.c.
13555         (Depends-on): Remove strtol.
13556
13557         strtoull: remove dependency on strtoul
13558         This is like the strtoll change.
13559         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
13560         (Depends-on): Remove strtoul.
13561
13562         strtoll: remove dependency on strtol
13563         This is so that 'configure' need not check for strtol merely because
13564         the application needs strtoll.
13565         * modules/strtoll (Files): Add lib/strtol.c.
13566         (Depends-on): Remove strtol.
13567
13568 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13569
13570         inttypes: Move some configure check to module 'imaxdiv'.
13571         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
13572         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
13573         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
13574
13575 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13576
13577         inttypes: Move some configure check to module 'imaxabs'.
13578         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
13579         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
13580         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
13581
13582 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13583
13584         inttypes: Remove configure tests that are not needed since 2009-12-31.
13585         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
13586         gl_cv_header_working_inttypes_h.
13587
13588 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13589
13590         * modules/strnlen (Depends-on): Remove memchr.
13591         The strnlen implementation doesn't need the memchr module's fixes; see
13592         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
13593
13594         strtol: remove dependency on wchar
13595         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
13596         * modules/strtol (Depends-on): Remove wchar.
13597
13598 2011-04-21  Eric Blake  <eblake@redhat.com>
13599
13600         passfd: fix test regression on Linux
13601         * modules/passfd-tests (configure.ac): Correct socketpair check.
13602
13603         passfd: speed up configure and drop unused code
13604         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
13605         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
13606         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
13607         Instead of probing at configure for unix_scm_rights_bsd44_way,
13608         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
13609         check to a struct member probe.
13610         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
13611         (sendfd, recvfd): Update preprocessor checks.
13612         * modules/passfd (Files): Reflect rename, and drop unused file.
13613         (Depends-on): Drop unused dependency.
13614
13615         passfd: allow compilation on mingw
13616         * modules/sys_socket (Depends-on): Add sys_uio.
13617         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
13618         iovec and a minimal struct msghdr.
13619         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
13620         * tests/test-sys_socket.c (main): Enhance test.
13621         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
13622         guaranteed to provide what we need.
13623         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
13624         * modules/passfd-tests (Depends-on): Add sys_wait.
13625         * tests/test-passfd.c (main): Skip test on mingw, for now.
13626         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
13627         partial 'struct msghdr' implementation.
13628
13629         sys_uio: new module
13630         * modules/sys_uio: New module.
13631         * modules/sys_uio-tests: Likewise.
13632         * lib/sys_uio.in.h: New file.
13633         * m4/sys_uio_h.m4: Likewise.
13634         * tests/test-sys_uio.c: Likewise.
13635         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
13636         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
13637
13638 2011-04-20  Jim Meyering  <meyering@redhat.com>
13639
13640         useless-if-before-free: avoid false-positive
13641         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
13642         disjunct so that it too requires a terminating ";".  Without that,
13643         this script would identify as useless one statement from gcc that
13644         was not:
13645           if (aligned_ptr)
13646             free (((void **) aligned_ptr) [-1]);
13647
13648 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
13649
13650         doc: update users.txt.
13651         * users.txt: Add barcode.
13652
13653 2011-04-19  Bruno Haible  <bruno@clisp.org>
13654
13655         ioctl: Remove link dependency on native Windows.
13656         * lib/fd-hook.h: Renamed from lib/close-hook.h.
13657         (gl_close_fn, gl_ioctl_fn): New types.
13658         (struct fd_hook): Renamed from struct close_hook. Change type of
13659         private_close_fn field. Add private_ioctl_fn field.
13660         (close_hook_fn): Add parameter for primary close method.
13661         (execute_close_hooks, execute_all_close_hooks): Likewise.
13662         (ioctl_hook_fn): New type.
13663         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
13664         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
13665         argument.
13666         (unregister_fd_hook): Renamed from unregister_close_hook.
13667         * lib/fd-hook.c: Renamed from lib/close-hook.c.
13668         Don't include <unistd.h>.
13669         (close): Remove undef.
13670         (anchor): Update.
13671         (execute_close_hooks): Add argument for primary close method.
13672         (execute_all_close_hooks): Likewise.
13673         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
13674         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
13675         argument. Allow each argument to be NULL.
13676         (unregister_fd_hook): Renamed from unregister_close_hook.
13677         * lib/close.c (rpl_close): Pass 'close' function pointer to
13678         execute_all_close_hooks.
13679         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
13680         (primary_ioctl): New function.
13681         (ioctl): Don't call ioctlsocket here. Instead, call
13682         execute_all_ioctl_hooks.
13683         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
13684         close method.
13685         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
13686         (fd_sockets_hook): Renamed from close_sockets_hook.
13687         (gl_sockets_startup, gl_sockets_cleanup): Update.
13688         * modules/fd-hook: Renamed from modules/close-hook. Update.
13689         * modules/close (Depends-on): Add fd-hook, remove close-hook.
13690         * modules/sockets (Depends-on): Likewise.
13691         * modules/ioctl (Depends-on): Add fd-hook.
13692         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
13693         GNULIB_SOCKET.
13694
13695 2011-04-19  Bruno Haible  <bruno@clisp.org>
13696
13697         Move the support of O_NONBLOCK in open() to the 'open' module.
13698         * modules/nonblocking (Depends-on): Remove 'open'.
13699         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
13700         gl_cv_have_open_O_NONBLOCK.
13701         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
13702         O_NONBLOCK support.
13703         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
13704
13705 2011-04-17  Bruno Haible  <bruno@clisp.org>
13706
13707         pipe2: Simplify code.
13708         * lib/pipe2.c (pipe2): Reduce code duplication.
13709
13710 2011-04-17  Bruno Haible  <bruno@clisp.org>
13711
13712         nonblocking: Add comment.
13713         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
13714
13715 2011-04-17  Bruno Haible  <bruno@clisp.org>
13716
13717         nonblocking: Add tests for sockets.
13718         * tests/test-nonblocking-socket.sh: New file.
13719         * tests/test-nonblocking-socket-main.c: New file.
13720         * tests/test-nonblocking-socket-child.c: New file.
13721         * tests/test-nonblocking-socket.h: New file.
13722         * tests/socket-server.h: New file.
13723         * tests/socket-client.h: New file.
13724         * modules/nonblocking-socket-tests: New file.
13725         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
13726
13727 2011-04-17  Bruno Haible  <bruno@clisp.org>
13728
13729         nonblocking: Add tests for pipes.
13730         * tests/test-nonblocking-pipe.sh: New file.
13731         * tests/test-nonblocking-pipe-main.c: New file.
13732         * tests/test-nonblocking-pipe-child.c: New file.
13733         * tests/test-nonblocking-pipe.h: New file.
13734         * tests/test-nonblocking-writer.h: New file.
13735         * tests/test-nonblocking-reader.h: New file.
13736         * tests/test-nonblocking-misc.h: New file.
13737         * modules/nonblocking-pipe-tests: New file.
13738         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
13739
13740 2011-04-16  Bruno Haible  <bruno@clisp.org>
13741
13742         gettext: Clarify the needed programmer actions.
13743         * modules/gettext (Notice): New field.
13744         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
13745
13746 2011-04-16  Bruno Haible  <bruno@clisp.org>
13747
13748         strchrnul: Tweak last commit.
13749         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
13750         bug.
13751         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
13752         as in _GL_FUNCDECL_SYS.
13753         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
13754         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
13755
13756 2011-04-15  Eric Blake  <eblake@redhat.com>
13757
13758         strchrnul: work around cygwin bug
13759         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
13760         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
13761         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
13762         * modules/string (Makefile.am): Substitute it.
13763         * lib/string.in.h (strchrnul): Use it.
13764
13765 2011-04-15  Bruno Haible  <bruno@clisp.org>
13766
13767         Don't require lib/stdio-write.c when only module 'stdio' is used.
13768         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
13769         invocation.
13770         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
13771
13772 2011-04-14  Bruno Haible  <bruno@clisp.org>
13773
13774         Support non-blocking pipe I/O in read() on native Windows.
13775         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
13776         (read): New declaration.
13777         * lib/read.c: New file.
13778         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
13779         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
13780         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
13781         vscanf): New declarations.
13782         * lib/stdio-read.c: New file.
13783         * m4/read.m4: New file.
13784         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
13785         REPLACE_READ.
13786         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
13787         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
13788         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
13789         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
13790         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
13791         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
13792         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
13793         * modules/read: New file.
13794         * modules/nonblocking (Files): Add lib/stdio-read.c.
13795         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
13796         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
13797         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
13798         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
13799         * modules/pread (Depends-on): Add read.
13800         * modules/safe-read (Depends-on): Likewise.
13801         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
13802         gets, scanf, vfscanf, vscanf): Verify signatures.
13803         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
13804         problem with non-blocking pipes.
13805         * doc/posix-functions/fgetc.texi: Likewise.
13806         * doc/posix-functions/fgets.texi: Likewise.
13807         * doc/posix-functions/fread.texi: Likewise.
13808         * doc/posix-functions/fscanf.texi: Likewise.
13809         * doc/posix-functions/getc.texi: Likewise.
13810         * doc/posix-functions/getchar.texi: Likewise.
13811         * doc/posix-functions/gets.texi: Likewise.
13812         * doc/posix-functions/scanf.texi: Likewise.
13813         * doc/posix-functions/vfscanf.texi: Likewise.
13814         * doc/posix-functions/vscanf.texi: Likewise.
13815
13816 2011-04-14  Bruno Haible  <bruno@clisp.org>
13817
13818         Support non-blocking pipe I/O in write() on native Windows.
13819         * lib/write.c (rpl_write): Split a write request that failed merely
13820         because the byte count was larger than the pipe buffer's size.
13821         * doc/posix-functions/write.texi: Mention the problem with large byte
13822         counts.
13823
13824 2011-04-14  Bruno Haible  <bruno@clisp.org>
13825
13826         wchar: Ensure that wchar_t gets defined on uClibc.
13827         * lib/wchar.in.h: On uClibc, include <stddef.h>.
13828         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
13829
13830 2011-04-13  Bruno Haible  <bruno@clisp.org>
13831
13832         safe-write, full-read: Avoid unnecessary compilation units.
13833         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
13834         (Depends-on): Remove safe-read. Add ssize_t.
13835         * modules/full-read (Files): Add lib/full-write.c.
13836         (Depends-on): Add full-write.
13837
13838 2011-04-13  Bruno Haible  <bruno@clisp.org>
13839
13840         Support non-blocking pipe I/O and SIGPIPE in pwrite().
13841         * modules/pwrite (Depends-on): Add 'write'.
13842
13843 2011-04-13  Bruno Haible  <bruno@clisp.org>
13844
13845         Support non-blocking pipe I/O in write() on native Windows.
13846         * lib/unistd.in.h (write): Enable replacement also if
13847         GNULIB_UNISTD_H_NONBLOCKING is 1.
13848         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
13849         (rpl_write): When failing to write on a non-blocking pipe, change
13850         errno from ENOSPC to EAGAIN.
13851         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
13852         putchar, puts, vfprintf, vprintf): Enable replacement also if
13853         GNULIB_STDIO_H_NONBLOCKING is 1.
13854         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
13855         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
13856         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
13857         CALL_WITH_SIGPIPE_EMULATION.
13858         (CALL_WITH_SIGPIPE_EMULATION): Use them.
13859         * m4/nonblocking.m4: New file.
13860         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
13861         for non-blocking I/O support.
13862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13863         GNULIB_UNISTD_H_NONBLOCKING.
13864         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
13865         required for non-blocking I/O support.
13866         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
13867         * modules/nonblocking (Files): Add m4/nonblocking.m4,
13868         lib/stdio-write.c, m4/asm-underscore.m4.
13869         (Depends-on): Add stdio, unistd.
13870         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
13871         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
13872         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
13873         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
13874         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
13875         problem with non-blocking pipes.
13876         * doc/posix-functions/fputc.texi: Likewise.
13877         * doc/posix-functions/fputs.texi: Likewise.
13878         * doc/posix-functions/fwrite.texi: Likewise.
13879         * doc/posix-functions/printf.texi: Likewise.
13880         * doc/posix-functions/putc.texi: Likewise.
13881         * doc/posix-functions/putchar.texi: Likewise.
13882         * doc/posix-functions/puts.texi: Likewise.
13883         * doc/posix-functions/vfprintf.texi: Likewise.
13884         * doc/posix-functions/vprintf.texi: Likewise.
13885         * doc/posix-functions/write.texi: Likewise.
13886
13887 2011-04-10  Jim Meyering  <meyering@redhat.com>
13888
13889         maint.mk: prohibit doubled words
13890         Detect them also when they're separated by a newline.
13891         There are 3 ways to customize it:
13892           - disable the test on a per file basis, as usual with rules using
13893             $(VC_LIST_EXCEPT)
13894           - replace the default doubled-word-selecting regexp (affects all files)
13895           - ignore a particular file-vs-doubled-word match
13896         I nearly used that last one to ignore the "is is" match in
13897         coreutils' NEWS file, since the text was "ls -is is ..."
13898         To do that, I would have added this line to cfg.mk:
13899           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
13900         but it would have ignored any "is is" match in NEWS.
13901         Low probability, but still...
13902         Instead, I changed the text, slightly:
13903           -  ls -is is now consistent with ls -lis in ignoring values returned
13904           +  "ls -is" is now consistent with ls -lis in ignoring values returned
13905         * top/maint.mk (prohibit_double_word_RE_): Provide default.
13906         (prohibit_doubled_word_): Define.
13907         (sc_prohibit_doubled_word): New rule.
13908         (sc_prohibit_the_the): Remove.  Subsumed by the above.
13909
13910 2011-04-10  Jim Meyering  <meyering@redhat.com>
13911
13912         maint: fix doubled-word typo in comment
13913         * m4/gethostname.m4: s/is is/it is/
13914         * m4/getdomainname.m4: Likewise.
13915
13916 2011-04-10  Jim Meyering  <meyering@redhat.com>
13917
13918         maint: remove doubled word: s/it it/it/
13919         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
13920
13921 2011-04-10  Jim Meyering  <meyering@redhat.com>
13922
13923         maint.mk: remove useless semicolon and backslash
13924         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
13925         semicolon and backslash.
13926
13927 2011-04-10  Bruno Haible  <bruno@clisp.org>
13928
13929         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
13930         * modules/stdint-tests (Depends-on): Add wchar.
13931
13932 2011-04-10  Jim Meyering  <meyering@redhat.com>
13933
13934         maint: remove doubled words in comments, e.g., s/a a/a/
13935         * lib/strptime.c (day_of_the_week): s/the the/the/
13936         * tests/test-chown.h (test_chown): s/a a/a/
13937
13938         test-chown.h: correct a cast
13939         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
13940         when the destination is a stat.st_gid.
13941
13942 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
13943
13944         getaddrinfo: Fix test for sa_len member.
13945         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
13946         include <sys/types.h> before <sys/socket.h>.
13947
13948 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
13949
13950         maint: change "can not" to "cannot"
13951         * doc/posix-functions/iconv.texi (iconv): This one crossed line
13952         boundaries.
13953
13954 2011-04-09  Jim Meyering  <meyering@redhat.com>
13955
13956         maint: change "a a" to "a"
13957         * tests/test-lchown.h (test_lchown): s/a a/a/
13958
13959         maint.mk: prohibit \<the the\>
13960         * top/maint.mk (sc_prohibit_the_the): New rule.
13961
13962         maint: fix "the the" in comment
13963         * lib/count-one-bits.h: s/the the/the/
13964
13965         maint: change "can not" to "cannot"
13966         But do not change the occurrences in maintain.texi or in
13967         build-aux/po/Makefile.in.in, which I presume comes from gettext.
13968         * doc/gnulib-tool.texi: s/can not/cannot/
13969         * doc/posix-functions/accept.texi (accept): Likewise.
13970         * doc/posix-functions/socket.texi (socket): Likewise.
13971         * lib/mbrtowc.c: Likewise.
13972
13973         maint.mk: prohibit use of "can not"
13974         * top/maint.mk (sc_prohibit_can_not): New rule.
13975         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
13976
13977 2011-04-09  Bruno Haible  <bruno@clisp.org>
13978
13979         careadlinkat: Guard against misuse of careadlinkatcwd.
13980         * lib/careadlinkat.c: Include <stdlib.h>.
13981         (careadlinkatcwd): Check that the fd argument is as expected.
13982
13983 2011-04-09  Bruno Haible  <bruno@clisp.org>
13984
13985         careadlinkat: Use common coding style.
13986         * lib/careadlinkat.c: Move gnulib includes after system includes.
13987
13988 2011-04-09  Bruno Haible  <bruno@clisp.org>
13989
13990         careadlinkat: Clarify specification.
13991         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
13992         (careadlinkatcwd): Add comment.
13993         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
13994
13995 2011-04-09  Bruno Haible  <bruno@clisp.org>
13996
13997         areadlinkat: Avoid link error on many platforms.
13998         * modules/areadlinkat (Depends-on): Add areadlink.
13999
14000 2011-04-09  Bruno Haible  <bruno@clisp.org>
14001
14002         allocator, careadlinkat: Fix double-inclusion guard.
14003         * lib/allocator.h: Fix double-inclusion guard.
14004         * lib/careadlinkat.h: Likewise.
14005
14006 2011-04-09  Bruno Haible  <bruno@clisp.org>
14007
14008         relocatable-prog-wrapper: Update after module 'areadlink' changed.
14009         * lib/relocwrapper.c: Update dependencies hierarchy.
14010         * build-aux/install-reloc: Update list of files to be compiled.
14011         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
14012         lib/allocator.[hc].
14013
14014 2011-04-08  Eric Blake  <eblake@redhat.com>
14015
14016         strftime: silence gnulib-tool warning
14017         * modules/strftime-tests (Depends-on): Drop automatic dependency.
14018
14019 2011-04-08  Bruno Haible  <bruno@clisp.org>
14020
14021         verify: Fix syntax error with GCC 4.6 in C++ mode.
14022         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
14023         (HAVE_STATIC_ASSERT): New macro.
14024         (verify_true, verify): Use 'static_assert' if it is supported and
14025         '_Static_assert' is not supported.
14026
14027 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
14028
14029         allocator: New module.
14030         * modules/allocator, lib/allocator.c: New files.
14031         * lib/allocator.h (stdlib_allocator): New decl.
14032         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
14033         Remove.  Do not include <stdlib.h>.
14034         (careadlinkat): Use stdlib_allocator instead of rolling our own.
14035         * modules/careadlinkat (Files): Remove lib/allocator.h.
14036         (Depends-on): Add allocator.
14037
14038         stdlib: let modules use system malloc, realloc
14039         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
14040         if !_GL_USE_STDLIB_ALLOC.
14041         (malloc, realloc): Limit this change to a smaller scope.
14042
14043         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
14044         (malloc, realloc): Don't #undef; no longer needed.
14045         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14046         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14047         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
14048         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14049         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14050         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14051         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14052         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
14053
14054         careadlinkat: rename members to avoid problem
14055         * lib/allocator.h (struct allocator): Rename members from
14056         malloc/realloc to allocate/reallocate, to avoid problems if malloc
14057         and realloc are #define'd.  Reported by Eric Blake in
14058         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
14059         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
14060
14061 2011-04-08  Eric Blake  <eblake@redhat.com>
14062
14063         nonblocking: reduce dependency
14064         * tests/test-nonblocking.c: Only test sockets when in use.
14065         * modules/nonblocking-tests (Depends-on): Drop socket.
14066         (Makefile.am): Link even if sockets are not present.
14067         * modules/pipe2-tests (Makefile.am): Likewise.
14068         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
14069
14070         pipe2: fix O_NONBLOCK support on mingw
14071         * modules/pipe2 (Depends-on): Add nonblocking.
14072         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
14073         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
14074         * tests/test-nonblocking.c (main): Likewise.
14075         * modules/pipe2-tests (Makefile.am): Avoid link failure.
14076
14077         fcntl-h: fix O_ACCMODE on cygwin
14078         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
14079         * lib/fcntl.in.h (O_ACCMODE): Fix it.
14080
14081         pipe-filter: drop O_NONBLOCK workarounds
14082         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
14083         * modules/pipe-filter-ii (Depends-on): Likewise.
14084         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
14085
14086         nonblocking: provide O_NONBLOCK for mingw
14087         * modules/nonblocking (Depends-on): Add open.
14088         (configure.ac): Set new witness macro.
14089         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
14090         * modules/fcntl-h (Makefile.am): Substitute it.
14091         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
14092         nonblocking module is in use.
14093         * lib/nonblocking.c: Adjust portability test.
14094         * lib/open.c (open): Don't let native open see gnulib flag.
14095         * tests/test-fcntl-h.c (main): Enhance test.
14096         * tests/test-open.h (test_open): Likewise.
14097         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
14098
14099         careadlinkat: fix compilation error on mingw
14100         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
14101         within struct allocator.
14102
14103 2011-04-06  Eric Blake  <eblake@redhat.com>
14104
14105         binary-io: relicense under LGPLv2+
14106         * modules/binary-io (License): Relax to LGPLv2+.
14107         Requested for libvirt, and required by pipe2.
14108
14109 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
14110
14111         verify: use _Static_assert if available
14112         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
14113         (verify_true, verify): Use it if available.  This generates better
14114         diagnostics with GCC 4.6.0 and later.
14115
14116 2011-04-05  Bruno Haible  <bruno@clisp.org>
14117
14118         Remove leftover generated .h files after config.status changed.
14119
14120         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
14121         GL_GENERATE_ALLOCA_H.
14122         * modules/alloca-opt (Makefile.am): Remove alloca.h if
14123         GL_GENERATE_ALLOCA_H evaluates to false.
14124
14125         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
14126         GL_GENERATE_ARGZ_H.
14127         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
14128         evaluates to false.
14129
14130         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
14131         GL_GENERATE_BYTESWAP_H.
14132         * modules/byteswap (Makefile.am): Remove byteswap.h if
14133         GL_GENERATE_BYTESWAP_H evaluates to false.
14134
14135         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
14136         GL_GENERATE_ERRNO_H.
14137         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
14138         evaluates to false.
14139
14140         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
14141         GL_GENERATE_FLOAT_H.
14142         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
14143         evaluates to false.
14144
14145         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
14146         GL_GENERATE_FNMATCH_H.
14147         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
14148         GL_GENERATE_FNMATCH_H evaluates to false.
14149
14150         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
14151         GL_GENERATE_GLOB_H.
14152         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
14153         evaluates to false.
14154
14155         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
14156         automake conditional GL_GENERATE_ICONV_H.
14157         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
14158         evaluates to false.
14159
14160         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
14161         GL_GENERATE_NETINET_IN_H.
14162         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
14163         GL_GENERATE_NETINET_IN_H evaluates to false.
14164
14165         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
14166         conditional GL_GENERATE_PTHREAD_H.
14167         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
14168         * modules/pthread (Makefile.am): Remove pthread.h if
14169         GL_GENERATE_PTHREAD_H evaluates to false.
14170
14171         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
14172         GL_GENERATE_SCHED_H.
14173         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
14174         evaluates to false.
14175
14176         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
14177         conditional GL_GENERATE_SELINUX_CONTEXT_H.
14178         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
14179         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
14180
14181         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
14182         GL_GENERATE_STDARG_H.
14183         * modules/stdarg (Makefile.am): Remove stdarg.h if
14184         GL_GENERATE_STDARG_H evaluates to false.
14185
14186         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
14187         GL_GENERATE_STDBOOL_H.
14188         * modules/stdbool (Makefile.am): Remove stdbool.h if
14189         GL_GENERATE_STDBOOL_H evaluates to false.
14190
14191         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
14192         conditional GL_GENERATE_STDDEF_H.
14193         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
14194         * modules/stddef (Makefile.am): Remove stddef.h if
14195         GL_GENERATE_STDDEF_H evaluates to false.
14196
14197         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
14198         GL_GENERATE_STDINT_H.
14199         * modules/stdint (Makefile.am): Remove stdint.h if
14200         GL_GENERATE_STDINT_H evaluates to false.
14201
14202         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
14203         GL_GENERATE_SYSEXITS_H.
14204         * modules/sysexits (Makefile.am): Remove sysexits.h if
14205         GL_GENERATE_SYSEXITS_H evaluates to false.
14206
14207         Reported by Karl Berry and Ralf Wildenhues.
14208
14209 2011-04-05  Bruno Haible  <bruno@clisp.org>
14210
14211         Ensure to rebuild generated .h files when config.status has changed.
14212         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
14213         config.status.
14214         * modules/ctype (Makefile.am): Likewise.
14215         * modules/dirent (Makefile.am): Likewise.
14216         * modules/errno (Makefile.am): Likewise.
14217         * modules/fcntl-h (Makefile.am): Likewise.
14218         * modules/float (Makefile.am): Likewise.
14219         * modules/getopt-posix (Makefile.am): Likewise.
14220         * modules/glob (Makefile.am): Likewise.
14221         * modules/iconv-h (Makefile.am): Likewise.
14222         * modules/inttypes (Makefile.am): Likewise.
14223         * modules/langinfo (Makefile.am): Likewise.
14224         * modules/locale (Makefile.am): Likewise.
14225         * modules/math (Makefile.am): Likewise.
14226         * modules/netdb (Makefile.am): Likewise.
14227         * modules/netinet_in (Makefile.am): Likewise.
14228         * modules/poll-h (Makefile.am): Likewise.
14229         * modules/pthread (Makefile.am): Likewise.
14230         * modules/pty (Makefile.am): Likewise.
14231         * modules/sched (Makefile.am): Likewise.
14232         * modules/search (Makefile.am): Likewise.
14233         * modules/selinux-h (Makefile.am): Likewise.
14234         * modules/signal (Makefile.am): Likewise.
14235         * modules/spawn (Makefile.am): Likewise.
14236         * modules/stdarg (Makefile.am): Likewise.
14237         * modules/stdbool (Makefile.am): Likewise.
14238         * modules/stddef (Makefile.am): Likewise.
14239         * modules/stdint (Makefile.am): Likewise.
14240         * modules/stdio (Makefile.am): Likewise.
14241         * modules/stdlib (Makefile.am): Likewise.
14242         * modules/string (Makefile.am): Likewise.
14243         * modules/strings (Makefile.am): Likewise.
14244         * modules/sys_file (Makefile.am): Likewise.
14245         * modules/sys_ioctl (Makefile.am): Likewise.
14246         * modules/sys_select (Makefile.am): Likewise.
14247         * modules/sys_socket (Makefile.am): Likewise.
14248         * modules/sys_stat (Makefile.am): Likewise.
14249         * modules/sys_time (Makefile.am): Likewise.
14250         * modules/sys_times (Makefile.am): Likewise.
14251         * modules/sys_utsname (Makefile.am): Likewise.
14252         * modules/sys_wait (Makefile.am): Likewise.
14253         * modules/sysexits (Makefile.am): Likewise.
14254         * modules/termios (Makefile.am): Likewise.
14255         * modules/time (Makefile.am): Likewise.
14256         * modules/unistd (Makefile.am): Likewise.
14257         * modules/wchar (Makefile.am): Likewise.
14258         * modules/wctype-h (Makefile.am): Likewise.
14259         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
14260
14261 2011-04-05  Bruno Haible  <bruno@clisp.org>
14262
14263         pipe2: Relicense under LGPLv2+.
14264         * modules/pipe2 (License): Change to LGPLv2+.
14265         Requested by Eric Blake, for libvirt.
14266
14267 2011-04-05  Bruce Korb  <bkorb@gnu.org>
14268
14269         bootstrap: compute gnulib_extra_files after updating build_aux
14270         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
14271         change build_aux or also supply gnulib_extra_files.  Handle correctly.
14272
14273 2011-04-05  Eric Blake  <eblake@redhat.com>
14274
14275         bootstrap: preserve git whitelist item sorting
14276         * build-aux/bootstrap (sort_patterns): New function.
14277         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
14278
14279 2011-04-05  Simon Josefsson  <simon@josefsson.org>
14280
14281         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
14282         sc_space_tab check.
14283
14284 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
14285
14286         areadlink, areadlinkat: rewrite in terms of careadlinkat
14287         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
14288         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
14289         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
14290         (malloc, realloc): Remove #undefs.
14291         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
14292         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
14293         readlink, ssize_t, stdint, unistd.
14294         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
14295         areadlink, stdint.
14296
14297         careadlinkat: new module
14298         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
14299         * modules/careadlinkat: New files, written by me with
14300         a review and feedback from Ben Pfaff in
14301         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
14302
14303 2011-04-01  Bruno Haible  <bruno@clisp.org>
14304
14305         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
14306         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
14307         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
14308         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
14309         Reported by Bruce Korb <bruce.korb@gmail.com>.
14310
14311 2011-04-01  Bruno Haible  <bruno@clisp.org>
14312
14313         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
14314         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
14315         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
14316         * modules/wcpcpy (Depends-on): Add extensions.
14317         * modules/wcpncpy (Depends-on): Likewise.
14318         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
14319         systems.
14320         * doc/posix-functions/wcpncpy.texi: Likewise.
14321         * doc/posix-functions/wcwidth.texi: Likewise.
14322
14323 2011-03-31  Eric Blake  <eblake@redhat.com>
14324
14325         nonblocking: fix mingw test failures
14326         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
14327         non-blocking flag on regular file.
14328         (get_nonblocking_flag): Set errno on invalid fd.
14329         * tests/test-nonblocking.c (main): Avoid test failure on
14330         directories if fchdir is not active.
14331         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
14332
14333 2011-03-31  Bruno Haible  <bruno@clisp.org>
14334
14335         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
14336         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
14337         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
14338         Reported by Simon Josefsson <simon@josefsson.org>.
14339
14340 2011-03-31  Bruno Haible  <bruno@clisp.org>
14341         and Eric Blake  <eblake@redhat.com>
14342
14343         nonblocking: new module
14344         * modules/nonblocking: New module.
14345         * modules/nonblocking-tests: Likewise.
14346         * lib/nonblocking.h: New file.
14347         * lib/nonblocking.c: Likewise.
14348         * tests/test-nonblocking.c: New test.
14349         * lib/ioctl.c (ioctl) [mingw]: Update comment.
14350
14351 2011-03-30  Bruno Haible  <bruno@clisp.org>
14352
14353         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
14354         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
14355         instead of 'printf' format for GCC >= 4.4.
14356         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
14357         (fprintf, printf, vfprintf, vprintf): Declare with
14358         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
14359         the system's vfprintf() function.
14360         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
14361
14362 2011-03-30  Eric Blake  <eblake@redhat.com>
14363
14364         passfd: fix scoping bug
14365         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
14366         before sendmsg/recvmsg.
14367
14368         passfd: standardize coding conventions
14369         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
14370         can be learned at compile time.
14371         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
14372         ifdefs.
14373         (sendfd, recvfd): Follow gnulib code conventions.
14374
14375         passfd: fix incorrect sendmsg arguments
14376         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
14377         incorrect msg_controllen value.
14378         * modules/passfd-tests (Depends-on): Check for alarm.
14379         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
14380         Reported by Bastien ROUCARIES.
14381
14382 2011-03-30  Bruno Haible  <bruno@clisp.org>
14383
14384         c-strcasestr: Relicense under LGPLv2+.
14385         * modules/c-strcasestr (License): Change to LGPLv2+.
14386         Requested by Eric Blake, for libvirt.
14387
14388 2011-03-30  Simon Josefsson  <simon@josefsson.org>
14389
14390         * users.txt: Add libidn2.  Fix libtasn1 link.
14391
14392 2011-03-30  Jim Meyering  <meyering@redhat.com>
14393
14394         tests: readlink* ("",... fails with EINVAL on newer kernels
14395         readlink and readlinkat have typically failed with ENOENT for
14396         the invalid, empty file name,  "".  However, with the advent
14397         of linux-2.6.39, they fail with EINVAL.
14398         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
14399         when operating on the empty file name.
14400         * tests/test-readlink.h (test_readlink): Likewise.
14401
14402 2011-03-29  Bruno Haible  <bruno@clisp.org>
14403
14404         Relicense some modules under LGPLv2+, for libidn2.
14405         * modules/array-mergesort (License): Change to LGPLv2+.
14406         * modules/c-strcaseeq (License): Likewise.
14407         * modules/striconveh (License): Likewise.
14408         * modules/striconveha (License): Likewise.
14409         * modules/uniconv/base (License): Likewise.
14410         * modules/uniconv/u8-conv-from-enc (License): Likewise.
14411         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
14412         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
14413         * modules/unictype/base (License): Likewise.
14414         * modules/unictype/bidiclass-of (License): Likewise.
14415         * modules/unictype/category-M (License): Likewise.
14416         * modules/unictype/category-none (License): Likewise.
14417         * modules/unictype/category-of (License): Likewise.
14418         * modules/unictype/category-test (License): Likewise.
14419         * modules/unictype/category-test-withtable (License): Likewise.
14420         * modules/unictype/combining-class (License): Likewise.
14421         * modules/unictype/joiningtype-of (License): Likewise.
14422         * modules/unictype/scripts (License): Likewise.
14423         * modules/uninorm/base (License): Likewise.
14424         * modules/uninorm/canonical-decomposition (License): Likewise.
14425         * modules/uninorm/composition (License): Likewise.
14426         * modules/uninorm/decompose-internal (License): Likewise.
14427         * modules/uninorm/decomposition-table (License): Likewise.
14428         * modules/uninorm/nfc (License): Likewise.
14429         * modules/uninorm/nfd (License): Likewise.
14430         * modules/uninorm/u32-normalize (License): Likewise.
14431         * modules/unistr/base (License): Likewise.
14432         * modules/unistr/u32-cpy (License): Likewise.
14433         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
14434         * modules/unistr/u32-to-u8 (License): Likewise.
14435         * modules/unistr/u32-uctomb (License): Likewise.
14436         * modules/unistr/u8-check (License): Likewise.
14437         * modules/unistr/u8-mblen (License): Likewise.
14438         * modules/unistr/u8-mbtouc (License): Likewise.
14439         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
14440         * modules/unistr/u8-mbtoucr (License): Likewise.
14441         * modules/unistr/u8-prev (License): Likewise.
14442         * modules/unistr/u8-strlen (License): Likewise.
14443         * modules/unistr/u8-to-u32 (License): Likewise.
14444         * modules/unistr/u8-uctomb (License): Likewise.
14445         * modules/unitypes (License): Likewise.
14446         Requested by Simon Josefsson.
14447
14448 2011-03-29  Simon Josefsson  <simon@josefsson.org>
14449
14450         lib-symbol-visibility: Add a notice.
14451         * modules/lib-symbol-visibility (Notice): New field.
14452
14453 2011-03-29  Bruno Haible  <bruno@clisp.org>
14454
14455         getaddrinfo: Doc fix.
14456         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
14457         section "fixed in Gnulib".
14458
14459 2011-03-28  Simon Josefsson  <simon@josefsson.org>
14460
14461         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
14462         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
14463
14464 2011-03-26  Bruno Haible  <bruno@clisp.org>
14465
14466         unictype/property-byname: Reduce the number of load-time relocations.
14467         * lib/unictype/pr_byname.c: Include <stdlib.h>.
14468         (UC_PROPERTY_INDEX_*): New enumeration values.
14469         (uc_property_byname): Convert an index from the lookup table to an
14470         uc_property_t.
14471         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
14472         values.
14473
14474 2011-03-26  Bruno Haible  <bruno@clisp.org>
14475
14476         unictype/property-byname: Allow omitted word separators and aliases.
14477         * lib/unictype/pr_byname.gperf: Add property names without word
14478         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
14479         for 'space'.
14480
14481 2011-03-26  Bruno Haible  <bruno@clisp.org>
14482
14483         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
14484         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
14485         also hyphens to space.
14486         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
14487         without spaces.
14488         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
14489
14490 2011-03-26  Bruno Haible  <bruno@clisp.org>
14491
14492         unictype/joiningtype-byname: Recognize long names as well.
14493         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
14494         a long name.
14495         * lib/unictype/joiningtype_byname.c: Include <string.h>,
14496         unictype/joiningtype_byname.h.
14497         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
14498         * lib/unictype/joiningtype_byname.gperf: New file.
14499         * modules/unictype/joiningtype-byname (Files): Add
14500         lib/unictype/joiningtype_byname.gperf.
14501         (Depends-on): Add gperf.
14502         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
14503         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
14504         long names.
14505
14506         Tests for module 'unictype/joiningtype-longname'.
14507         * modules/unictype/joiningtype-longname-tests: New file.
14508         * tests/unictype/test-joiningtype_longname.c: New file.
14509
14510         New module 'unictype/joiningtype-longname'.
14511         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
14512         * lib/unictype/joiningtype_longname.c: New file.
14513         * modules/unictype/joiningtype-longname: New file.
14514         * modules/unictype/joiningtype-all (Depends-on): Add
14515         unictype/joiningtype-longname.
14516
14517 2011-03-26  Bruno Haible  <bruno@clisp.org>
14518
14519         unictype/bidiclass-byname: Recognize long names as well.
14520         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
14521         name.
14522         * lib/unictype/bidi_byname.c: Include <string.h>,
14523         unictype/bidi_byname.h.
14524         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
14525         * lib/unictype/bidi_byname.gperf: New file.
14526         * modules/unictype/bidiclass-byname (Files): Add
14527         lib/unictype/bidi_byname.gperf.
14528         (Depends-on): Add gperf.
14529         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
14530         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
14531         long names.
14532
14533         Tests for module 'unictype/bidiclass-longname'.
14534         * modules/unictype/bidiclass-longname-tests: New file.
14535         * tests/unictype/test-bidi_longname.c: New file.
14536
14537         New module 'unictype/bidiclass-longname'.
14538         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
14539         * lib/unictype/bidi_longname.c: New file.
14540         * modules/unictype/bidiclass-longname: New file.
14541         * modules/unictype/bidiclass-all (Depends-on): Add
14542         unictype/bidiclass-longname.
14543
14544 2011-03-26  Bruno Haible  <bruno@clisp.org>
14545
14546         unictype/bidi*: Rename modules.
14547         * modules/unictype/bidiclass-all: Renamed from
14548         modules/unictype/bidicategory-all.
14549         * modules/unictype/bidiclass-name: Renamed from
14550         modules/unictype/bidiclass-name.
14551         (Description): Update.
14552         * modules/unictype/bidiclass-name-tests: Renamed from
14553         modules/unictype/bidicategory-name-tests.
14554         * modules/unictype/bidiclass-byname: Renamed from
14555         modules/unictype/bidicategory-byname.
14556         (Description): Update.
14557         * modules/unictype/bidiclass-byname-tests: Renamed from
14558         modules/unictype/bidicategory-byname-tests.
14559         * modules/unictype/bidiclass-of: Renamed from
14560         modules/unictype/bidicategory-of.
14561         (Description): Update.
14562         * modules/unictype/bidiclass-of-tests: Renamed from
14563         modules/unictype/bidicategory-of-tests.
14564         * modules/unictype/bidiclass-test: Renamed from
14565         modules/unictype/bidicategory-test.
14566         (Description): Update.
14567         * modules/unictype/bidiclass-test-tests: Renamed from
14568         modules/unictype/bidicategory-test-tests.
14569         * modules/unictype/bidicategory-all: New file, a simple redirection.
14570         * modules/unictype/bidicategory-name: Likewise.
14571         * modules/unictype/bidicategory-byname: Likewise.
14572         * modules/unictype/bidicategory-of: Likewise.
14573         * modules/unictype/bidicategory-test: Likewise.
14574         * modules/unictype/property-bidi-* (Dependencies): Update.
14575         * lib/unictype/bidi_*.c: Update comment.
14576
14577 2011-03-26  Bruno Haible  <bruno@clisp.org>
14578
14579         unictype/bidi*: Rename functions, part 2.
14580         * modules/unictype/bidicategory-name (configure.ac): Update required
14581         libunistring version.
14582         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
14583
14584 2011-03-25  Bruno Haible  <bruno@clisp.org>
14585
14586         New module 'unictype/combining-class-all'.
14587         * modules/unictype/combining-class-all: New file.
14588
14589         Tests for module 'unictype/combining-class-byname'.
14590         * modules/unictype/combining-class-byname-tests: New file.
14591         * tests/unictype/test-combiningclass_byname.c: New file.
14592
14593         New module 'unictype/combining-class-byname'.
14594         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
14595         * lib/unictype/combiningclass_byname.c: New file.
14596         * lib/unictype/combiningclass_byname.gperf: New file.
14597         * modules/unictype/combining-class-byname: New file.
14598
14599         Tests for module 'unictype/combining-class-longname'.
14600         * modules/unictype/combining-class-longname-tests: New file.
14601         * tests/unictype/test-combiningclass_longname.c: New file.
14602
14603         New module 'unictype/combining-class-longname'.
14604         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
14605         * lib/unictype/combiningclass_longname.c: New file.
14606         * modules/unictype/combining-class-longname: New file.
14607
14608         Tests for module 'unictype/combining-class-name'.
14609         * modules/unictype/combining-class-name-tests: New file.
14610         * tests/unictype/test-combiningclass_name.c: New file.
14611
14612         New module 'unictype/combining-class-name'.
14613         * lib/unictype.in.h (uc_combining_class_name): New declaration.
14614         * lib/unictype/combiningclass_name.c: New file.
14615         * modules/unictype/combining-class-name: New file.
14616
14617 2011-03-25  Bruno Haible  <bruno@clisp.org>
14618
14619         unictype/combining-class: Rename source files.
14620         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
14621         of unictype/combining.h.
14622         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
14623         Update.
14624         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
14625         * modules/unictype/combining-class (Description): Fix.
14626         (Files, Makefile.am): Update.
14627         * tests/unictype/test-combiningclass.c: Renamed from
14628         tests/unictype/test-combining.c.
14629         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
14630
14631 2011-03-25  Bruno Haible  <bruno@clisp.org>
14632
14633         unictype: Update list of canonical combining classes.
14634         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
14635
14636 2011-03-25  Bruno Haible  <bruno@clisp.org>
14637
14638         unictype/category-byname: Recognize long names as well.
14639         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
14640         a long name.
14641         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
14642         unictype/categ_byname.h.
14643         (UC_CATEGORY_INDEX_*): New enumeration values.
14644         (uc_general_category_byname): Use uc_general_category_lookup and
14645         convert from index to value.
14646         * lib/unictype/categ_byname.gperf: New file.
14647         * modules/unictype/category-byname (Files): Add
14648         lib/unictype/categ_byname.gperf.
14649         (Depends-on): Add gperf.
14650         (Makefile.am): Add rule for generating unictype/categ_byname.h.
14651         * tests/unictype/test-categ_byname.c (main): Test the recognition of
14652         long names.
14653
14654         Tests for module 'unictype/category-longname'.
14655         * modules/unictype/category-longname-tests: New file.
14656         * tests/unictype/test-categ_longname.c: New file.
14657
14658         New module 'unictype/category-longname'.
14659         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
14660         * lib/unictype/categ_longname.c: New file.
14661         * modules/unictype/category-longname: New file.
14662         * modules/unictype/category-all (Depends-on): Add it.
14663
14664 2011-03-25  Bruno Haible  <bruno@clisp.org>
14665
14666         Tests for module 'unictype/category-LC'.
14667         * modules/unictype/category-LC-tests: New file.
14668         * tests/unictype/test-categ_LC.c: New file, automatically generated.
14669
14670         New module 'unictype/category-LC'.
14671         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
14672         (UC_CATEGORY_LC): New declaration.
14673         (UC_CASED_LETTER): New macro.
14674         * lib/gen-uni-tables.c (is_category_LC): New function.
14675         (output_categories): Also handle category LC.
14676         (UC_CATEGORY_MASK_LC): New enumeration value.
14677         (general_category_byname): Also handle category LC.
14678         * lib/unictype/categ_LC.c: New file.
14679         * lib/unictype/categ_LC.h: New file, automatically generated.
14680         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
14681         category LC.
14682         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
14683         * modules/unictype/category-LC: New file.
14684         * modules/unictype/category-byname (Depends-on): Add
14685         unictype/category-LC.
14686         * modules/unictype/category-all (Depends-on): Likewise.
14687
14688 2011-03-25  Eric Blake  <eblake@redhat.com>
14689
14690         xmalloc: revert yesterday's regression
14691         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
14692         realloc's underlying behavior (allowing allocation of zero-size
14693         objects, especially if malloc-gnu is also in use).
14694
14695 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
14696
14697         maint.mk: add missing version to VC-tag
14698         * top/maint.mk: git tag was missing actual tag name; add it.
14699
14700         valgrind: do leak checking, and exit with code 1 on error (not 0)
14701         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
14702         to VALGRIND.
14703
14704 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
14705
14706         posix-modules: say what it does.
14707         * posix-modules: Add a line to the --help output saying what it does.
14708
14709 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
14710
14711         xmalloc: Do not leak if underlying realloc is C99 compatible.
14712         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
14713         This avoids a leak on C99-based systems.  See
14714         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
14715
14716 2011-03-24  Eric Blake  <eblake@redhat.com>
14717
14718         realloc: document portability problem
14719         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
14720         passing 0 size to realloc.
14721
14722 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
14723
14724         doc: update users.txt
14725         * users.txt: Add cvsps, tmpwatch
14726
14727 2011-03-23  Matt Rice  <ratmice@gmail.com>
14728
14729         doc: update users.txt
14730         * users.txt: Add gdb.
14731
14732 2011-03-23  Jim Meyering  <meyering@redhat.com>
14733
14734         doc: update users.txt
14735         Looking through matches up to the following URL (there are still
14736         several more pages), I found several projects that use gnulib:
14737         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
14738         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
14739         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
14740
14741 2011-03-22  Bruno Haible  <bruno@clisp.org>
14742
14743         unictype/bidi*: Rename functions.
14744         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
14745         uc_bidi_class, uc_is_bidi_class): New declarations.
14746         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
14747         uc_bidi_category_byname.
14748         (uc_bidi_category_byname): New function.
14749         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
14750         u_bidi_category_name.
14751         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
14752         (uc_bidi_category_name): New function.
14753         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
14754         uc_bidi_category.
14755         (uc_bidi_category): New function.
14756         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
14757         uc_is_bidi_category. Invoke uc_bidi_class.
14758         (uc_is_bidi_category): New function.
14759         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
14760         instead of uc_bidi_category_byname.
14761         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
14762         instead of uc_bidi_category_name.
14763         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
14764         uc_bidi_category.
14765         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
14766         instead of uc_is_bidi_category.
14767
14768 2011-03-21  Bruno Haible  <bruno@clisp.org>
14769
14770         New module 'unictype/joininggroup-all'.
14771         * modules/unictype/joininggroup-all: New file.
14772
14773         Tests for module 'unictype/joininggroup-of'.
14774         * modules/unictype/joininggroup-of-tests: New file.
14775         * tests/unictype/test-joininggroup_of.c: New file.
14776         * tests/unictype/test-joininggroup_of.h: New file, automatically
14777         generated by gen-uni-tables.
14778
14779         New module 'unictype/joininggroup-of'.
14780         * modules/unictype/joininggroup-of: New file.
14781         * lib/unictype/joininggroup_of.c: New file.
14782         * lib/unictype/joininggroup_of.h: New file, automatically generated by
14783         gen-uni-tables.
14784
14785         Tests for module 'unictype/joininggroup-byname'.
14786         * modules/unictype/joininggroup-byname-tests: New file.
14787         * tests/unictype/test-joininggroup_byname.c: New file.
14788
14789         New module 'unictype/joininggroup-byname'.
14790         * modules/unictype/joininggroup-byname: New file.
14791         * lib/unictype/joininggroup_byname.c: New file.
14792         * lib/unictype/joininggroup_byname.gperf: New file.
14793
14794         Tests for module 'unictype/joininggroup-name'.
14795         * modules/unictype/joininggroup-name-tests: New file.
14796         * tests/unictype/test-joininggroup_name.c: New file.
14797
14798         New module 'unictype/joininggroup-name'.
14799         * modules/unictype/joininggroup-name: New file.
14800         * lib/unictype/joininggroup_name.c: New file.
14801         * lib/unictype/joininggroup_name.h: New file.
14802
14803         New module 'unictype/joiningtype-all'.
14804         * modules/unictype/joiningtype-all: New file.
14805
14806         Tests for module 'unictype/joiningtype-of'.
14807         * modules/unictype/joiningtype-of-tests: New file.
14808         * tests/unictype/test-joiningtype_of.c: New file.
14809         * tests/unictype/test-joiningtype_of.h: New file, automatically
14810         generated by gen-uni-tables.
14811
14812         New module 'unictype/joiningtype-of'.
14813         * modules/unictype/joiningtype-of: New file.
14814         * lib/unictype/joiningtype_of.c: New file.
14815         * lib/unictype/joiningtype_of.h: New file, automatically generated by
14816         gen-uni-tables.
14817
14818         Tests for module 'unictype/joiningtype-byname'.
14819         * modules/unictype/joiningtype-byname-tests: New file.
14820         * tests/unictype/test-joiningtype_byname.c: New file.
14821
14822         New module 'unictype/joiningtype-byname'.
14823         * modules/unictype/joiningtype-byname: New file.
14824         * lib/unictype/joiningtype_byname.c: New file.
14825
14826         Tests for module 'unictype/joiningtype-name'.
14827         * modules/unictype/joiningtype-name-tests: New file.
14828         * tests/unictype/test-joiningtype_name.c: New file.
14829
14830         New module 'unictype/joiningtype-name'.
14831         * modules/unictype/joiningtype-name: New file.
14832         * lib/unictype/joiningtype_name.c: New file.
14833
14834         unictype: Add support for Arabic shaping properties.
14835         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
14836         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
14837         declarations.
14838         (UC_JOINING_GROUP_*): New enumeration values.
14839         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
14840         declarations.
14841         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
14842         (unicode_joining_type): New variable.
14843         (UC_JOINING_GROUP_*): New enumeration values.
14844         (unicode_joining_group): New variable.
14845         (fill_arabicshaping, joining_type_as_c_identifier,
14846         output_joining_type_test, output_joining_type,
14847         joining_group_as_c_identifier, output_joining_group_test,
14848         output_joining_group): New functions.
14849         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
14850         fill_arabicshaping and output_joining_type_test, output_joining_type,
14851         output_joining_group_test, output_joining_group.
14852         Reported by Simon Josefsson.
14853
14854 2011-03-21  Jim Meyering  <meyering@redhat.com>
14855
14856         strftime: fix a bug in yesterday's change
14857         * lib/strftime.c (add): Accommodate width's initial value of -1.
14858         Otherwise, nstrftime would copy uninitialized data into
14859         the result buffer.
14860
14861 2011-03-21  Jim Meyering  <meyering@redhat.com>
14862
14863         tests: add strftime-tests module
14864         * tests/test-strftime.c: New file.
14865         * modules/strftime-tests: New module.
14866
14867 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
14868
14869         strftime: don't assume a byte count fits in 'int'
14870         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
14871         found this problem by static analysis, using gcc -Wstrict-overflow
14872         (GCC 4.5.2, x86-64).  This reported an optimization that depended
14873         on an integer overflow having undefined behavior, but it turns out
14874         that the argument is a size, which might not fit in 'int' anyway,
14875
14876 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
14877
14878         stdio: don't require ignore_value around fwrite
14879
14880         This patch works around libc bug 11959
14881         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
14882         Without this patch, applications must often write
14883         ignore_value (fwrite (...)) even though the ignore_value is
14884         not helpful here.  It's common to write many objects, using
14885         fwrite/printf/etc., and then use ferror to detect output error.
14886
14887         I considered making this patch optional, but decided against it,
14888         because libc is obviously being inconsistent here: there is no
14889         reason libc should insist that user code must inspect fwrite
14890         return's value without also insisting that it inspect printf's,
14891         putchar's, etc.  If user code wants to have a strict style where
14892         all these functions' values are checked (so that ferror need not
14893         be checked), we could add support for that style in a new gnulib
14894         module, but in the meantime it's better to be consistent and to
14895         support common usage.
14896
14897         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
14898         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
14899         that we are compiling in checking mode, and if not C++, and
14900         if not already wrapping fwrite for some other reason.
14901         (fwrite): #define to rpl_fwrite if the latter is defined.
14902
14903 2011-03-20  Bruno Haible  <bruno@clisp.org>
14904
14905         verror: Fix compilation error introduced on 2011-02-13.
14906         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
14907         instead of __attribute__.
14908         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14909
14910 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
14911             Bruno Haible  <bruno@clisp.org>
14912
14913         socklen: do not depend on sys_socket
14914         While trying to modify Emacs to use gnulib's socklen module,
14915         I discovered a circular dependency: socklen depends on sys_socket
14916         and vice versa.  Emacs can use socklen, but it does not need
14917         sys_socket because it has its own substitute for sys/socket.h.
14918         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
14919         gl_TYPE_SOCKLEN_T.
14920         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
14921         gl_PREREQ_SYS_H_SOCKET.
14922         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
14923         gl_PREREQ_SYS_H_SOCKET.
14924         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
14925         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
14926         * modules/socklen (Depends-on): Do not depend on sys_socket.
14927         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
14928
14929 2011-03-20  Jim Meyering  <meyering@redhat.com>
14930
14931         maint.mk: sort file names *after* new transformation
14932         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
14933         prefix would have led to an unwarranted failure in GNU parted.
14934         Sort after that transformation.
14935
14936 2011-03-19  Jim Meyering  <meyering@redhat.com>
14937
14938         maint.mk: fix po-file syntax-check rule
14939         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
14940         Patch by Bruno Haible.
14941
14942 2011-03-19  Bruno Haible  <bruno@clisp.org>
14943
14944         socklen: Update comment.
14945         * m4/socklen.m4: Update comment about platforms.
14946
14947 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
14948             Bruno Haible  <bruno@clisp.org>
14949
14950         inet_ntop, inet_pton: Simplify.
14951         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
14952         documented to provide socklen_t and we already depend on sys_socket.
14953         * modules/inet_pton (Depends-on): Likewise.
14954         * lib/arpa_inet.in.h: Adjust comment.
14955
14956 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
14957             Bruno Haible  <bruno@clisp.org>
14958
14959         netdb: Simplify.
14960         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
14961         documented to provide socklen_t and we already depend on sys_socket.
14962         * lib/netdb.in.h: Adjust comment.
14963
14964 2011-03-19  Bruno Haible  <bruno@clisp.org>
14965
14966         sys_socket, netdb: Document problem with socklen_t.
14967         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
14968         platforms.
14969         * doc/posix-headers/netdb.texi: Likewise.
14970
14971 2011-03-18  Eric Blake  <eblake@redhat.com>
14972
14973         maint.mk: let po check work in VPATH build
14974         * top/maint.mk (po_file): Allow cfg.mk override.
14975         (sc_po_check): Allow VPATH use.
14976         Reported by Jiri Denemark.
14977
14978 2011-03-16  Jim Meyering  <meyering@redhat.com>
14979
14980         maint.mk: allow fine-grained syntax-check exclusion via Make variables
14981         Before, you would have had to create one .x-sc_ file per rule in order
14982         to exempt offending files.  Now, you may instead use a Make variable --
14983         usually defined in cfg.mk -- whose name identifies the affected rule.
14984         * top/maint.mk (_sc_excl): Define.
14985         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
14986         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
14987
14988 2011-03-13  Bruno Haible  <bruno@clisp.org>
14989
14990         ignore-value tests: Avoid warnings.
14991         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
14992         empty for gcc < 3.4.
14993
14994 2011-03-13  Bruno Haible  <bruno@clisp.org>
14995
14996         passfd: Fix link error on Solaris.
14997         * modules/passfd (Description): Correct.
14998         (Depends-on): Add socketlib.
14999         (Link): New section.
15000         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
15001
15002 2011-03-13  Bruno Haible  <bruno@clisp.org>
15003
15004         passfd: Fix link error on AIX 5.2.
15005         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
15006
15007 2011-03-13  Bruno Haible  <bruno@clisp.org>
15008
15009         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
15010         * lib/sys_socket.in.h: Include <stddef.h>.
15011         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
15012         CMSG_FIRSTHDR. Remove unused variable.
15013
15014 2011-03-13  Bruno Haible  <bruno@clisp.org>
15015
15016         passfd: Fix compilation error on OpenBSD.
15017         * lib/passfd.c: Include <sys/uio.h>.
15018
15019 2011-03-13  Bruno Haible  <bruno@clisp.org>
15020
15021         passfd test: Fix warnings.
15022         * tests/test-passfd.c: Include <sys/wait.h>.
15023         (main): Fix typo.
15024
15025 2011-03-13  Bruno Haible  <bruno@clisp.org>
15026
15027         passfd module, part 4, tweaks.
15028         * tests/test-passfd.c: Reorder includes.
15029         (main): Fix perror and printf calls.
15030
15031 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15032
15033         passfd module, part 4.
15034         * modules/passfd-tests: New file.
15035         * tests/test-passfd.c: New file.
15036
15037 2011-03-13  Jim Meyering  <meyering@redhat.com>
15038
15039         Makefile: rely on GNU make; derive syntax-check rule names
15040         Rather than requiring that each sc_ rule be listed as a dependent
15041         of "check", use features of GNU make to derive the list.
15042         * Makefile (syntax-check-rules): Define.
15043         (check): Depend on the new variable, not the hard-coded list.
15044
15045 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
15046             Bruno Haible  <bruno@clisp.org>
15047
15048         passfd module, part 3.
15049         * lib/passfd.h (recvfd): Add a flags argument.
15050         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
15051         (recvfd): Add a flags argument.
15052         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
15053         exists.
15054         * modules/passfd (Depends-on): Add cloexec.
15055         Suggested by Eric Blake.
15056
15057 2011-03-13  Bruno Haible  <bruno@clisp.org>
15058
15059         passfd module, part 2, tweaks.
15060         * modules/passfd (Files): Reorder.
15061         (Depends-on): Remove errno.
15062         (Include): Remove <sys/socket.h>, <sys/un.h>.
15063         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
15064         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
15065         specification header. Include <sys/socket.h> always. Don't include
15066         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
15067         (sendfd): Clarify that it sets errno when it fails.
15068         (recvfd): Fix specification.
15069
15070 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15071
15072         passfd module, part 2.
15073         * modules/passfd: New file.
15074         * lib/passfd.h: New file.
15075         * lib/passfd.c: New file.
15076
15077 2011-03-12  Bruno Haible  <bruno@clisp.org>
15078
15079         wcswidth, mbswidth: Avoid integer overflow.
15080         * lib/wcswidth.c: Include <limits.h>.
15081         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
15082         * lib/mbswidth.c: Include <limits.h>.
15083         (mbsnwidth): Avoid 'int' overflow.
15084         Reported by Jim Meyering.
15085
15086 2011-03-12  Bruno Haible  <bruno@clisp.org>
15087
15088         futimens, utimensat: Avoid endless recursion on Solaris 10.
15089         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
15090         Solaris.
15091         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
15092         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
15093
15094 2011-03-11  Jim Meyering  <meyering@redhat.com>
15095
15096         maint.mk: relax a regexp to accommodate other formatting styles
15097         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
15098         between "ngettext" and the following "(".
15099
15100 2011-03-11  Pádraig Brady <P@draigBrady.com>
15101
15102         maint.mk: suppress a false positive warning
15103         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
15104         diagnostics are marked with ngettext.
15105
15106 2011-03-10  Eric Blake  <eblake@redhat.com>
15107
15108         wchar: add explicit dependencies, for Tru64
15109         * modules/mbmemcasecoll (Depends-on): Add wchar.
15110         * modules/mbtowc (Depends-on): Likewise.
15111         * modules/vasnprintf (Depends-on): Likewise.
15112         * modules/unistdio/u-printf-args (Depends-on): Likewise.
15113         * modules/wctomb (Depends-on): Likewise.
15114         Reported by Peter O'Gorman.
15115
15116 2011-03-08  Bruno Haible  <bruno@clisp.org>
15117
15118         passfd module, part 1, tweaks.
15119         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
15120         Improve indentation. Improve AC_MSG_CHECKING messages.
15121         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
15122         gl_SOCKET_FAMILIES.
15123
15124 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15125
15126         passfd module, part 1.
15127         * m4/afunix.m4: New file.
15128         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
15129         sockets.
15130
15131 2011-03-08  Bruno Haible  <bruno@clisp.org>
15132
15133         regex-quote: New API.
15134         * lib/regex-quote.h: Include <stdbool.h>.
15135         (struct regex_quote_spec): New type.
15136         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
15137         New declarations.
15138         (regex_quote_length, regex_quote_copy, regex_quote): Take a
15139         'const struct regex_quote_spec *' argument.
15140         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
15141         (pcre_special): New constant.
15142         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
15143         New functions.
15144         (regex_quote_length, regex_quote_copy, regex_quote): Take a
15145         'const struct regex_quote_spec *' argument.
15146         * modules/regex-quote (Depends-on): Add stdbool.
15147         * tests/test-regex-quote.c (check): Update for new API. Add test for
15148         anchored results.
15149         * NEWS: Mention the API change.
15150         Reported by Reuben Thomas and Eric Blake.
15151
15152 2011-03-06  Bruno Haible  <bruno@clisp.org>
15153
15154         regex-quote: Fix creation of POSIX extended regular expressions.
15155         * lib/regex-quote.c (ere_special): Add grouping and alternation
15156         operators.
15157
15158 2011-03-05  Bruno Haible  <bruno@clisp.org>
15159
15160         doc: Improve doc regarding autopoint vs. gnulib.
15161         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
15162         disable autopoint while running autoreconf.
15163         Suggested by Ralf Wildenhues.
15164
15165 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15166
15167         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
15168         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
15169
15170 2011-03-03  Bruce Korb  <bkorb@gnu.org>
15171
15172         parse-duration: remove xalloc.h dependency
15173         * lib/parse-duration.c (parse_period): handle NULL return from
15174         strdup instead of calling xstrdup().
15175         * modules/parse-duration: remove "xalloc" dependency
15176
15177 2011-03-03  Matthew Booth  <mbooth@redhat.com>
15178
15179         bootstrap: honor m4_base when running aclocal
15180         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
15181
15182 2011-03-02  Jim Meyering  <meyering@redhat.com>
15183
15184         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
15185         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
15186         on request from Matt Booth.
15187
15188 2011-03-01  Eric Blake  <eblake@redhat.com>
15189
15190         test-link: work on Hurd
15191         * tests/test-link.h (test_link): Hurd rejects linking directories
15192         with EISDIR instead of the POSIX-mandated EPERM.
15193
15194 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
15195
15196         stdio: simplify by moving files to printf-posix, sigpipe
15197         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
15198         since this symbol is needed only if printf is replaced.
15199         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
15200         Require gl_ASM_SYMBOL_PREFIX.
15201         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
15202         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
15203         (Depends-on): Add 'raise'.
15204         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
15205         * modules/stdio (Files): Remove lib/stdio-write.c,
15206         m4/asm-underscore.m4.
15207         (Depends-on): Remove 'raise'.
15208
15209         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
15210         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
15211         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
15212         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
15213
15214 2011-02-28  Bruno Haible  <bruno@clisp.org>
15215
15216         localcharset: Assume ANSI C behaviour of free().
15217         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
15218         calling free().
15219         Suggested by Simon Josefsson <simon@josefsson.org>.
15220
15221 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
15222             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
15223             Bruno Haible  <bruno@clisp.org>  (tiny change)
15224
15225         On Cygwin, use /proc file system instead of win32 API.
15226         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
15227         Win32 file names.
15228         (DllMain): Simplify by removing Cygwin specific code.
15229         (find_shared_library_fullname): Use Linux specific implementation also
15230         for Cygwin.
15231         (get_shared_library_fullname): Update accordingly.
15232         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
15233         Win32 file names.
15234         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
15235         Cygwin specific code.
15236
15237 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
15238             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
15239
15240         Fix OpenMP flag detection for various Fortran compilers.
15241         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
15242         OpenMP-conditional compilation construct, to force compile
15243         failure with missing OpenMP flag.
15244         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
15245
15246 2011-02-25  Eric Blake  <eblake@redhat.com>
15247
15248         strstr: expand test coverage
15249         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
15250         compilation.
15251         * tests/test-memmem.c (main): Duplicate tests.
15252         * tests/test-strcasestr.c (main): Likewise.
15253         * tests/test-c-strcasestr.c (main): Likewise.
15254
15255 2011-02-25  Jim Meyering  <meyering@redhat.com>
15256
15257         maint.mk: detect missing-NL-at-EOF, too
15258         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
15259         it also detects when a file lacks a newline at EOF.
15260         (require_exactly_one_NL_at_EOF_): Renamed from
15261         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
15262         since people may well have .x-sc_... file names tied to the
15263         existing name.  Suggested by Eric Blake.
15264
15265 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15266
15267         dirname: move m4/dos.m4 functionality into lib/dosname.h
15268
15269         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
15270         extracts symbols from it, puts them into config.h; but it's much
15271         easier to use the symbols directly.  filename.h already does this,
15272         but it disagrees with dos.m4 in some respects.  This patch
15273         introduces a different include file dosname.h that packages up
15274         dos.m4, and then later we can work on merging filename.h and
15275         dosname.h.  Applications that need only the easy-to-configure
15276         symbols should consider including dosname.h rather than dirname.h.
15277         * NEWS: Mention incompatible changes.
15278         * m4/dos.m4: Remove.
15279         * lib/dosname.h, modules/dosname: New files.
15280         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
15281         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
15282         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
15283         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
15284         Include dosname.h, not dirname.h.
15285         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
15286         Include dosname.h, for definitions of symbols like ISSLASH
15287         that used to be in config.h.
15288         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
15289         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
15290         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
15291         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
15292         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
15293         * modules/rmdir (Files): Likewise.
15294         * modules/stat (Files): Likewise.
15295         * modules/unlink (Files): Likewise.
15296         * modules/dirname-lgpl (Depends-on): Add dosname.
15297         * modules/lstat (Depends-on): Likewise.
15298         * modules/openat (Depends-on): Likewise.
15299         * modules/rmdir (Depends-on): Likewise.
15300         * modules/savewd (Depends-on): Likewise.
15301         * modules/stat (Depends-on): Likewise.
15302         * modules/unlink (Depends-on): Likewise.
15303         * modules/openat (Depends-on): Remove dirname-lgpl.
15304         * modules/savewd (Depends-on): Likewise.
15305         * tests/test-dirname.c: Do not use removed symbols like
15306         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
15307         the remaining symbols, e.g., ISSLASH ('\\').
15308
15309 2011-02-25  Eric Blake  <eblake@redhat.com>
15310
15311         strstr: revert patches that introduced bug and pessimization
15312         * lib/str-two-way.h: Add another reference.
15313         (two_way_short_needle, two_way_long_needle): Revert changes from
15314         2011-02-24; they pessimize search speed.
15315         (critical_factorization): Partially revert changes from
15316         2010-06-22; they violate the requirement that the left half of the
15317         needle be smaller than the period of the needle.
15318
15319 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15320
15321         filenamecat: remove unnecessary dependency on dirname-lgpl
15322         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
15323         is no direct dependency, just an indirect one via filenamecat-lgpl.
15324
15325         remove: remove unnecessary use of m4/dos.m4
15326         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
15327         * modules/remove (FILES): Remove m4/dos.m4.
15328
15329         * lib/openat-proc.c: Don't include dirname.h; not needed.
15330
15331         backupfile: remove unnecessary use of m4/dos.m4
15332         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
15333         of its symbols are used by the backupfile code.  backupfile.c does
15334         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
15335         for the rare case of programs that want all their backup file
15336         names to live within 8+3 limits, and dos.m4 doesn't address that.
15337         * modules/backupfile (Files): Remove m4/dos.m4.
15338
15339 2011-02-24  Jim Meyering  <meyering@redhat.com>
15340
15341         strstr: fix a bug whereby strstr would mistakenly return NULL
15342         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
15343         in period calculation.
15344         (two_way_long_needle): Likewise.
15345         The original problem was reported by Mike Stump in
15346         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
15347         Ralf Wildenhues provided the short needle and haystack.
15348         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
15349         Add a more involved test to trigger the bug in two_way_long_needle.
15350
15351 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
15352
15353         gnulib-tool: remove use of bold display in help screen
15354         * gnulib-tool (func_usage): Do not use bold display anymore in the
15355         help screen.  That was just meant to be a temporary emphasis for a
15356         backward-incompatible change.
15357
15358 2011-02-23  Bruno Haible  <bruno@clisp.org>
15359
15360         Fix misindentation of preprocessor directives.
15361         * lib/argp-namefrob.h: Reindent preprocessor directives.
15362         * lib/getopt_int.h (struct _getopt_data): Likewise.
15363         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
15364         * lib/vasnprintf.c (decode_long_double): Likewise.
15365         * tests/test-argmatch.c: Insert blank lines, for clarity.
15366         * tests/test-exclude.c: Likewise.
15367
15368 2011-02-22  Bruno Haible  <bruno@clisp.org>
15369
15370         ioctl: Fix for MacOS X in 64-bit mode.
15371         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
15372         value.
15373         Suggested by Eric Blake.
15374         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
15375
15376 2011-02-22  Jim Meyering  <meyering@redhat.com>
15377
15378         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
15379         * Makefile (sc_cpp_indent_check): Don't limit the check to files
15380         in lib/.
15381
15382 2011-02-22  Eric Blake  <eblake@redhat.com>
15383
15384         maint: avoid any CDPATH issue
15385         * Makefile (sc_cpp_indent_check): Anchor cd argument.
15386
15387         maint: adjust cpp indentation for my modules, as well
15388         * Makefile (sc_cpp_indent_check): Add my name.
15389         * lib/fbufmode.c: Filter through cppi.
15390         * lib/fpurge.c: Likewise.
15391         * lib/freadable.c: Likewise.
15392         * lib/freading.c: Likewise.
15393         * lib/fwritable.c: Likewise.
15394         * lib/fwriting.c: Likewise.
15395         * lib/sigaction.c: Likewise.
15396
15397 2011-02-22  Jim Meyering  <meyering@redhat.com>
15398
15399         maint: adjust cpp indentation to reflect nesting depth
15400         I.e., in a block of code that begins with an unnested "#if",
15401         put one space between the "#" in column 1 and following token.
15402         For example,
15403         -#include <sys/vfs.h>
15404         +# include <sys/vfs.h>
15405         Do this only in .c files that are part of a module I maintain.
15406         * lib/linkat.c: Filter through cppi.
15407         * lib/nanosleep.c: Likewise.
15408         * lib/openat.c: Likewise.
15409         * lib/openat-die.c: Likewise.
15410         * lib/dup3.c: Likewise.
15411         * lib/fchownat.c: Likewise.
15412         * lib/flock.c: Likewise.
15413         * lib/fsync.c: Likewise.
15414         * lib/fts.c: Likewise.
15415         * lib/getpass.c: Likewise.
15416         * lib/gettimeofday.c: Likewise.
15417         * lib/userspec.c: Likewise.
15418         * Makefile (sc_cpp_indent_check): New rule, to check this.
15419
15420 2011-02-22  Bruno Haible  <bruno@clisp.org>
15421
15422         New module 'wctomb'.
15423         * lib/stdlib.in.h (wctomb): New declaration.
15424         * lib/wctomb.c: New file.
15425         * lib/wctomb-impl.h: New file.
15426         * m4/wctomb.m4: New file.
15427         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
15428         REPLACE_WCTOMB.
15429         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
15430         REPLACE_WCTOMB.
15431         * modules/wctomb: New file.
15432         * tests/test-stdlib-c++.cc: Test signature of wctomb.
15433         * doc/posix-functions/wctomb.texi: Mention the new module.
15434         * modules/wctob (Depends-on): Add wctomb.
15435
15436 2011-02-22  Bruno Haible  <bruno@clisp.org>
15437
15438         New module 'mbtowc'.
15439         * lib/stdlib.in.h (mbtowc): New declaration.
15440         * lib/mbtowc.c: New file.
15441         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
15442         * m4/mbtowc.m4: New file.
15443         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
15444         REPLACE_MBTOWC.
15445         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
15446         REPLACE_MBTOWC.
15447         * modules/mbtowc: New file.
15448         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
15449         * doc/posix-functions/mbtowc.texi: Mention the new module.
15450         * modules/btowc (Depends-on): Add mbtowc.
15451
15452 2011-02-22  Bruno Haible  <bruno@clisp.org>
15453
15454         wcrtomb: Add more tests for native Windows platforms.
15455         * tests/test-wcrtomb-w32-1.sh: New file.
15456         * tests/test-wcrtomb-w32-2.sh: New file.
15457         * tests/test-wcrtomb-w32-3.sh: New file.
15458         * tests/test-wcrtomb-w32-4.sh: New file.
15459         * tests/test-wcrtomb-w32-5.sh: New file.
15460         * tests/test-wcrtomb-w32.c: New file.
15461         * modules/wcrtomb-tests (Files): Add them.
15462         (Makefile.am): Arrange to run these tests.
15463         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
15464         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
15465
15466 2011-02-20  Bruno Haible  <bruno@clisp.org>
15467
15468         wcrtomb: Enhance test.
15469         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
15470
15471 2011-02-20  Bruno Haible  <bruno@clisp.org>
15472
15473         mbrtowc: Tiny optimization.
15474         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
15475
15476 2011-02-20  Jim Meyering  <meyering@redhat.com>
15477
15478         test-exclude.c: remove unmatched #endif
15479         * tests/test-exclude.c: Remove stray #endif, left over from
15480         the change of a week ago.
15481
15482 2011-02-19  Jim Meyering  <meyering@redhat.com>
15483
15484         git-version-gen: skip "-dirty" check when appropriate
15485         * build-aux/git-version-gen: Don't run any git commands when the
15486         version string comes from .tarball-version.  Prior to this, we
15487         would run git update-index --refresh even from a just-unpacked
15488         tarball directory, and that could affect a .git/ directory in a
15489         parent of the build directory.  Reported by Mike Frysinger.
15490
15491 2011-02-19  Bruno Haible  <bruno@clisp.org>
15492
15493         unictype/property-byname: Reduce the size of the 'data' segment.
15494         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
15495
15496 2011-02-19  Bruno Haible  <bruno@clisp.org>
15497
15498         unictype/scripts: Reduce the size of the 'data' segment.
15499         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
15500         '%pic'.
15501         * lib/unictype/scripts_byname.gperf: Regenerated.
15502
15503 2011-02-19  Bruno Haible  <bruno@clisp.org>
15504
15505         stdint: Update documentation.
15506         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
15507
15508 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
15509
15510         stdint: omit redundant check for wchar.h
15511         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
15512         always tests whether wchar.h exists, so remove the now-redundant test.
15513
15514 2011-02-18  Bruno Haible  <bruno@clisp.org>
15515
15516         stdint: Cut dependency to module 'wchar'.
15517         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
15518         include the necessary prerequisites.
15519         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
15520         * modules/stdint (Depends-on): Remove wchar.
15521         (Makefile.am): Substitute HAVE_WCHAR_H.
15522         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
15523
15524 2011-02-18  Eric Blake  <eblake@redhat.com>
15525
15526         longlong: skip, rather than fail, on cross-compilation
15527         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
15528         when cross-compiling; regression from 2011-02-16.
15529
15530 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
15531
15532         * NEWS: Mention 2011-02-08 change to stdlib.
15533
15534 2011-02-17  Bruno Haible  <bruno@clisp.org>
15535
15536         getloadavg: Add comments about platforms.
15537         * m4/getloadavg.m4: Add comment.
15538         * lib/getloadavg.c: Likewise.
15539
15540 2011-02-17  Bruno Haible  <bruno@clisp.org>
15541
15542         getloadavg: Fix link error on Solaris 2.6.
15543         * modules/getloadavg (Link): New section.
15544         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
15545         linking test-getloadavg.
15546         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
15547         getloadavg.
15548
15549 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
15550
15551         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
15552         It was 'int', but this doesn't match the IRIX 6.5 manual.
15553         Suggested by Bruno Haible in
15554         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
15555
15556 2011-02-17  Bruno Haible  <bruno@clisp.org>
15557
15558         havelib: Fix comments.
15559         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
15560         change.
15561
15562 2011-02-17  Bruno Haible  <bruno@clisp.org>
15563
15564         havelib: Update config.rpath.
15565         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
15566
15567 2011-02-17  Bruno Haible  <bruno@clisp.org>
15568
15569         getloadavg test: Add some plausibility checks.
15570         * tests/test-getloadavg.c (check_avg): Print a warning when the value
15571         is improbable.
15572
15573 2011-02-16  Eric Blake  <eblake@redhat.com>
15574
15575         maintainer-makefile: make syntax-check a no-op from tarballs
15576         * top/maint.mk (no-vc-detected): New rule.
15577         (local-checks-available): Use it to avoid hanging if someone tries
15578         'make syntax-check' from a tarball.  Also append to any non-syntax
15579         checks already defined in cfg.mk.
15580
15581 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
15582
15583         longlong: tune, particularly for common case of c99
15584
15585         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
15586         or running anything if c99, or if unsigned long long int does not
15587         work.  In either case, we know the answer without further tests.
15588         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
15589         it at most once, and use its results for both long long int and
15590         unsigned long long int.  This is more likely to be efficient in
15591         the common case where the program wants to check for both long
15592         long int and unsigned long long int.
15593         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
15594         since the answer is already known.
15595
15596 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
15597
15598         getloadavg: set errno
15599         * lib/getloadavg.c: Set errno when returning -1.  If no other
15600         error number looks appropriate, set it to ENOSYS if the getloadavg
15601         looks like it can't possibly ever work, ENOTSUP otherwise.
15602         Suggested by Bruno Haible in
15603         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
15604
15605         getloadavg: trim unused parts and speed up 'configure'
15606         * NEWS: Document this.
15607         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
15608         always compiled if getloadavg is absent.
15609         Move test code to ...
15610         * tests/test-getloadavg.c: New file, containing previous
15611         contents of test from lib/getloadavg.c.  It also contains
15612         suggestions by Bruno Haible in
15613         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
15614         * modules/getloadavg-tests: New file.
15615         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
15616         Do tests in the same order as they're needed for getloadavg.c.
15617         Omit setgid-related tests that generate symbols KMEM_GROUP,
15618         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
15619         Do only the tests that are needed to see whether the system has
15620         getloadavg, moving the other tests into ...
15621         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
15622         NLIST_NAME_UNION; nobody should be using it.  Do not define
15623         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
15624         relevant, as the user of this module shouldn't care how getloadavg
15625         is implemented.
15626
15627         getloadavg: omit unused var
15628         * lib/getloadavg.c (getloadavg): Omit unused local variable.
15629
15630 2011-02-15  Jim Meyering  <meyering@redhat.com>
15631
15632         doc: update users.txt
15633         * users.txt: Update iwhd's URL.
15634
15635 2011-02-13  Bruno Haible  <bruno@clisp.org>
15636
15637         Consistent macro naming for macros that use GCC __attribute__.
15638         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
15639         _ATTRIBUTE_NONNULL_.
15640         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
15641         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
15642         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
15643         ATTRIBUTE_DEPRECATED.
15644         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
15645         ATTRIBUTE_NORETURN.
15646         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
15647         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
15648         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
15649         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
15650         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
15651         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
15652         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
15653         ATTRIBUTE_SENTINEL.
15654         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
15655         ATTRIBUTE_RETURN_CHECK.
15656         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
15657         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
15658         ATTRIBUTE_NORETURN.
15659         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
15660         Reported by Paul Eggert.
15661
15662 2011-02-13  Bruno Haible  <bruno@clisp.org>
15663
15664         Don't interfere with a program's definition of __attribute__.
15665         * lib/argp.h (__attribute__): Remove definition.
15666         (_GL_ATTRIBUTE_FORMAT): New macro.
15667         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
15668         * lib/argp-fmtstream.h (__attribute__): Remove definition.
15669         (_GL_ATTRIBUTE_FORMAT): New macro.
15670         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
15671         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
15672         GCC 3 or newer.
15673         * lib/error.h (__attribute__): Remove definition.
15674         (_GL_ATTRIBUTE_FORMAT): New macro.
15675         (error, error_at_line): Use it.
15676         * lib/hash.h (__attribute__): Remove definition.
15677         (ATTRIBUTE_WUR): Update definition. Define always.
15678         * lib/openat.h (__attribute__): Remove definition.
15679         (ATTRIBUTE_NORETURN): Update definition. Define always.
15680         * lib/sigpipe-die.h (__attribute__): Remove definition.
15681         (ATTRIBUTE_NORETURN): Update definition. Define always.
15682         * lib/vasnprintf.h (__attribute__): Remove definition.
15683         (_GL_ATTRIBUTE_FORMAT): New macro.
15684         (asnprintf, vasnprintf): Use it.
15685         * lib/xalloc.h (__attribute__): Remove definition.
15686         (ATTRIBUTE_NORETURN): Update definition. Define always.
15687         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
15688         * lib/xmemdup0.h (__attribute__): Remove definition.
15689         (ATTRIBUTE_NORETURN): Update definition. Define always.
15690         * lib/xprintf.h (__attribute__): Remove definition.
15691         (_GL_ATTRIBUTE_FORMAT): New macro.
15692         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
15693         * lib/xstrtol.h (__attribute__): Remove definition.
15694         (ATTRIBUTE_NORETURN): Update definition. Define always.
15695         * lib/xvasprintf.h (__attribute__): Remove definition.
15696         (_GL_ATTRIBUTE_FORMAT): New macro.
15697         (xasprintf, xvasprintf): Use it.
15698         * tests/test-argmatch.c (__attribute__): Remove definition.
15699         (ATTRIBUTE_NORETURN): Update definition. Define always.
15700         * tests/test-exclude.c (__attribute__): Remove definition.
15701         (ATTRIBUTE_NORETURN): Update definition. Define always.
15702         Reported by Paul Eggert.
15703
15704 2011-02-13  Bruno Haible  <bruno@clisp.org>
15705
15706         mbrtowc: Add more tests for native Windows platforms.
15707         * tests/test-mbrtowc-w32-1.sh: New file.
15708         * tests/test-mbrtowc-w32-2.sh: New file.
15709         * tests/test-mbrtowc-w32-3.sh: New file.
15710         * tests/test-mbrtowc-w32-4.sh: New file.
15711         * tests/test-mbrtowc-w32-5.sh: New file.
15712         * tests/test-mbrtowc-w32.c: New file.
15713         * modules/mbrtowc-tests (Files): Add them.
15714         (Makefile.am): Arrange to run these tests.
15715         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
15716         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
15717
15718 2011-02-13  Bruno Haible  <bruno@clisp.org>
15719
15720         mbrtowc: Work around native Windows bug.
15721         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
15722         guess when no suitable locale for testing was found.
15723         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
15724
15725 2011-02-13  Bruno Haible  <bruno@clisp.org>
15726
15727         mbsinit: Work around mingw bug.
15728         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
15729         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
15730         Windows.
15731         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
15732
15733 2011-02-13  Bruno Haible  <bruno@clisp.org>
15734
15735         mbsinit: Don't crash for a NULL argument.
15736         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
15737         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
15738
15739 2011-02-13  Bruno Haible  <bruno@clisp.org>
15740
15741         Don't interfere with a program's definition of __attribute__.
15742         * lib/stdio.in.h (__attribute__): Remove definition.
15743         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
15744         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
15745         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
15746         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
15747         * lib/string.in.h (__attribute__): Remove definition.
15748         Reported by Paul Eggert.
15749
15750 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
15751
15752         stdlib: don't get in the way of non-GCC __attribute__
15753         See thread starting at
15754         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
15755         Revert previous stdlib change, installing the following instead:
15756         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
15757         to get in the way of a non-GCC compiler that supports __attribute__.
15758         (_GL_ATTRIBUTE_RETURN): New macro.
15759         (_Exit): Use it instead of __attribute__.
15760
15761 2011-02-12  Bruno Haible  <bruno@clisp.org>
15762
15763         quotearg test: Avoid test failure on mingw.
15764         * tests/test-quotearg.sh: Convert the locale identifier from native
15765         Windows syntax to Unix syntax.
15766
15767 2011-02-12  Bruno Haible  <bruno@clisp.org>
15768
15769         setlocale: Prefer gnulib's override over libintl's override.
15770         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
15771         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
15772         GNULIB_defined_setlocale is set.
15773
15774 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
15775
15776         stdlib: support non-GCC __attribute__
15777
15778         Fix a serious and tricky problem encountered when attempting to
15779         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
15780         5.5, but it crashed due to memory corruption on Solaris 10 with
15781         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
15782         bits that are otherwise zero.  This tagging is optional inside
15783         Emacs but is preferred and is used when __attribute__ ((__aligned
15784         (8))) works, as it does with both recent-enough GCC and with Sun C
15785         5.11.  However, Sun C 5.11 is not GCC and does not #define
15786         __GNUC__ and __GNUC_MINOR__.
15787
15788         When I added the getloadavg module to Emacs, it brought in
15789         stdlib.in.h, which contained this fragment:
15790
15791            #ifndef __attribute__
15792            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
15793            #  define __attribute__(Spec)   /* empty */
15794            # endif
15795            #endif
15796
15797         When files that include <stdlib.h> were compiled with Sun C 5.11,
15798         the above code disabled __attribute__ ((__aligned (8))), which
15799         caused variables to not be properly aligned, which eventually led
15800         to the pointer corruption mentioned above.  (This was a bit hard
15801         to diagnose, unfortunately.)
15802
15803         Several "#define __attribute__(X) /* empty */" code snippets need
15804         to be eradicated from Gnulib to work with non-GCC compilers that
15805         support __attribute__.  The Autoconf way to do this is to test for
15806         each kind of attribute that we want support for, and selectively
15807         enable that in source code.
15808
15809         Fix this problem just for stdlib.h, by adding a test for the
15810         __noreturn__ attribute, and change stdlib.in.h to use that test
15811         when needed.  This technique can be easily generalized to the
15812         other *.in.h files and attributes, and a similar technique can be
15813         used for *.h and *.c files.  This patch is enough to solve the
15814         problem for Emacs + getloadavg, and I thought I'd publish it for
15815         feedback before undertaking further, similar fixes in other
15816         modules.
15817
15818         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
15819         because it's not needed for stdlib.h.  It merely substitutes the
15820         value directly into stdlib.h.  We may well need to #define it, or
15821         similar symbols, for other modules, but it's nice to also have an
15822         option to not #define it for applications like Emacs that do not
15823         need it.
15824
15825         * lib/stdlib.in.h (__attribute__): Do not #define.
15826         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
15827         be defined only if the _Exit module is also used.
15828         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
15829         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
15830         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
15831         platforms.
15832         * modules/_Exit (Files): Add m4/attribute.m4.
15833         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
15834         * m4/attribute.m4: New file.
15835
15836 2011-02-12  Bruno Haible  <bruno@clisp.org>
15837
15838         wcsrtombs: Work around bug on native Windows.
15839         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
15840         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
15841         instead of len.
15842         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
15843
15844 2011-02-12  Bruno Haible  <bruno@clisp.org>
15845
15846         mbsrtowcs: Work around bug on native Windows.
15847         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
15848         against mingw bug.
15849         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
15850
15851 2011-02-12  Bruno Haible  <bruno@clisp.org>
15852
15853         Avoid setlocale bugs in tests.
15854         * modules/btowc (Dependencies): Add setlocale.
15855         * modules/c-strcase (Dependencies): Likewise.
15856         * modules/mbmemcasecmp (Dependencies): Likewise.
15857         * modules/mbmemcasecoll (Dependencies): Likewise.
15858         * modules/mbrtowc (Dependencies): Likewise.
15859         * modules/mbscasecmp (Dependencies): Likewise.
15860         * modules/mbscasestr (Dependencies): Likewise.
15861         * modules/mbschr (Dependencies): Likewise.
15862         * modules/mbscspn (Dependencies): Likewise.
15863         * modules/mbsinit (Dependencies): Likewise.
15864         * modules/mbsncasecmp (Dependencies): Likewise.
15865         * modules/mbsnrtowcs (Dependencies): Likewise.
15866         * modules/mbspbrk (Dependencies): Likewise.
15867         * modules/mbspcasecmp (Dependencies): Likewise.
15868         * modules/mbsrchr (Dependencies): Likewise.
15869         * modules/mbsrtowcs (Dependencies): Likewise.
15870         * modules/mbsspn (Dependencies): Likewise.
15871         * modules/mbsstr (Dependencies): Likewise.
15872         * modules/nl_langinfo (Dependencies): Likewise.
15873         * modules/quotearg (Dependencies): Likewise.
15874         * modules/unicase/locale-language (Dependencies): Likewise.
15875         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
15876         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
15877         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
15878         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
15879         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
15880         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
15881         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
15882         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
15883         * modules/vasnprintf-posix (Dependencies): Likewise.
15884         * modules/wcrtomb (Dependencies): Likewise.
15885         * modules/wcsnrtombs (Dependencies): Likewise.
15886         * modules/wcsrtombs (Dependencies): Likewise.
15887
15888 2011-02-12  Bruno Haible  <bruno@clisp.org>
15889
15890         setlocale: Workaround native Windows bug.
15891         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
15892         succeeds but sets LC_CTYPE to "C", report a failure.
15893         * tests/test-setlocale2.sh: New file.
15894         * tests/test-setlocale2.c: New file.
15895         * modules/setlocale-tests (Files): Add the new files.
15896         (Makefile.am): Enable test-setlocale2.sh test.
15897         * doc/posix-functions/setlocale.texi: Mention workaround.
15898
15899 2011-02-11  Bruno Haible  <bruno@clisp.org>
15900
15901         Tests for module 'setlocale'.
15902         * modules/setlocale-tests: New file.
15903         * tests/test-setlocale1.sh: New file.
15904         * tests/test-setlocale1.c: New file.
15905
15906         New module 'setlocale'.
15907         * lib/locale.in.h (setlocale): New declaration.
15908         * lib/setlocale.c: New file, based on
15909         gettext/gettext-runtime/intl/setlocale.c.
15910         * m4/setlocale.m4: New file.
15911         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
15912         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
15913         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
15914         REPLACE_SETLOCALE.
15915         * modules/setlocale: New file.
15916         * tests/test-locale-c++.cc: Test the declaration of setlocale.
15917         * doc/posix-functions/setlocale.texi: Mention the new module.
15918
15919 2011-02-11  Bruno Haible  <bruno@clisp.org>
15920
15921         Prepare for locale dependent tests on mingw.
15922         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
15923         because it has the wrong locale encoding.
15924         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
15925         French_France.1252 instead of "fr".
15926         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
15927         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
15928         because it has the wrong locale encoding.
15929         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
15930         native Windows, try Turkish_Turkey.65001.
15931         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
15932         Chinese_China.54936.
15933
15934         Prepare for locale dependent tests on mingw.
15935         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
15936         differently.
15937         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
15938         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
15939         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
15940         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
15941
15942 2011-02-11  Eric Blake  <eblake@redhat.com>
15943
15944         strptime: avoid compiler warnings
15945         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
15946         compiler warnings about dead code.
15947         Reported by Daniel P. Berrange.
15948
15949 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
15950
15951         doc: update users.txt
15952         * users.txt: Add rcs.
15953
15954 2011-02-10  John W. Eaton  <jwe@gnu.org>
15955
15956         doc: update users.txt
15957         * users.txt: Add octave.
15958
15959 2011-02-10  Jim Meyering  <meyering@redhat.com>
15960
15961         doc: update users.txt
15962         * users.txt: Add iwhd.
15963
15964 2011-02-09  Bruno Haible  <bruno@clisp.org>
15965
15966         gnulib-tool: Make copyright notice adjustment more robust.
15967         * gnulib-tool (func_import): In sed_transform_main_lib_file,
15968         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
15969         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
15970         License".
15971         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
15972
15973 2011-02-06  Bruno Haible  <bruno@clisp.org>
15974
15975         New module 'towctrans'.
15976         * modules/towctrans: New file.
15977         * lib/wctype.in.h (towctrans): New declaration.
15978         * lib/towctrans.c: New file.
15979         * lib/towctrans-impl.h: New file.
15980         * m4/towctrans.m4: New file.
15981         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
15982         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
15983         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
15984         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
15985         * doc/posix-functions/towctrans.texi: Mention the new module.
15986
15987 2011-02-06  Bruno Haible  <bruno@clisp.org>
15988
15989         New module 'wctrans'.
15990         * modules/wctrans: New file.
15991         * lib/wctype.in.h (wctrans): New declaration.
15992         * lib/wctrans.c: New file.
15993         * lib/wctrans-impl.h: New file.
15994         * m4/wctrans.m4: New file.
15995         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
15996         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
15997         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
15998         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
15999         * doc/posix-functions/wctrans.texi: Mention the new module.
16000
16001 2011-02-06  Bruno Haible  <bruno@clisp.org>
16002
16003         New module 'iswctype'.
16004         * modules/iswctype: New file.
16005         * lib/wctype.in.h (iswctype): New declaration.
16006         * lib/iswctype.c: New file.
16007         * lib/iswctype-impl.h: New file.
16008         * m4/iswctype.m4: New file.
16009         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
16010         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
16011         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
16012         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
16013         * doc/posix-functions/iswctype.texi: Mention the new module and the
16014         HP-UX 11.00 problem.
16015
16016 2011-02-06  Bruno Haible  <bruno@clisp.org>
16017
16018         New module 'wctype'.
16019         * modules/wctype: Change to represent the wctype() substitute.
16020         * lib/wctype.in.h (wctype): New declaration.
16021         * lib/wctype.c: New file.
16022         * lib/wctype-impl.h: New file.
16023         * m4/wctype.m4: New file.
16024         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
16025         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
16026         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
16027         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
16028         * doc/posix-functions/wctype.texi: Mention the new module and the
16029         HP-UX 11.00 problem.
16030
16031 2011-02-06  Bruno Haible  <bruno@clisp.org>
16032
16033         wctype-h: Ensure wctype_t and wctrans_t are defined.
16034         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
16035         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16036         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16037         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
16038         HAVE_WCTRANS_T.
16039         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
16040
16041 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
16042
16043         flock: fix license typo
16044
16045         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
16046         omitted.
16047
16048 2011-02-08  Bruno Haible  <bruno@clisp.org>
16049
16050         Split large sed scripts, for HP-UX sed.
16051         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
16052         to avoid HP-UX limit of 99 commands, in the near future.
16053         * modules/stdlib (Makefile.am): Likewise.
16054         * modules/unistd (Makefile.am): Likewise.
16055         * modules/wchar (Makefile.am): Likewise.
16056         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16057         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
16058         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
16059
16060 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
16061             Bruno Haible  <bruno@clisp.org>
16062
16063         stdlib: improve random_r modularization
16064         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
16065         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
16066         you also need the random_r module to get this material right.
16067         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
16068         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
16069         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
16070
16071 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
16072
16073         stdlib: don't depend on stdint
16074         * lib/stdlib.in.h: Don't include <stdint.h> merely because
16075         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
16076         be independent of whether stdint.h is needed.
16077         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
16078         here, instead of ...
16079         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
16080         struct random_data should be using the random_r module, not just
16081         the stdlib module (which wouldn't make sense: what package needs
16082         just struct random_data without also needing random_r?).
16083         * modules/stdlib (Depends-on): Remove stdint.
16084
16085         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
16086         See the thread rooted at
16087         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
16088         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
16089         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
16090         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
16091         __VMS)); previously it was always included (via fcntl--.h).
16092         (getloadavg): Do not use c_strtod.  Instead, approximate it by
16093         hand; this is good enough for load averages.  Also, do not use
16094         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
16095         flags directly if available and don't bother otherwise.  (Packages
16096         that need the extra reliability should use the modules that define
16097         these flags on older platforms that lack them.)
16098         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
16099         fcntl-safer.
16100
16101 2011-02-08  Jim Meyering  <meyering@redhat.com>
16102
16103         di-set.h, ino-map.h: add multiple-inclusion guard
16104         Technically, the guard is required only for ino-map.h, due to its
16105         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
16106         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
16107         * lib/ino-map.h: Likewise.
16108
16109 2011-02-06  Bruno Haible  <bruno@clisp.org>
16110
16111         iswblank: Ensure declaration on glibc systems.
16112         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
16113         * modules/iswblank (Dependencies): Add 'extensions'.
16114         * doc/posix-functions/iswblank.texi: Document the glibc problem.
16115
16116 2011-02-06  Bruno Haible  <bruno@clisp.org>
16117
16118         New module 'iswblank'.
16119         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
16120         * modules/iswblank: New file.
16121         * modules/wctype-h (Files): Remove lib/iswblank.c.
16122         (Makefile.am): Substitute GNULIB_ISWBLANK.
16123         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
16124         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
16125         (gl_WCTYPE_H_DEFAULTS): New macro.
16126         (gl_WCTYPE_H): Require it. Remove iswblank related code.
16127         * modules/iswblank-tests: New file.
16128         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
16129         * tests/test-wctype-h.c (main): Remove iswblank tests.
16130         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
16131         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
16132         of 'wctype-h'.
16133         * NEWS: Mention the change.
16134         * modules/mbchar (Depends-on): Add iswblank.
16135
16136 2011-02-08  Bruno Haible  <bruno@clisp.org>
16137
16138         di-set tests: Refactor.
16139         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
16140         unnecessary includes.
16141         (ASSERT): Remove macro.
16142         (main): Make C90 compliant by avoiding variable declaration after
16143         statement.
16144         * modules/di-set-tests (Files): Add tests/macros.h.
16145
16146 2011-02-08  Bruno Haible  <bruno@clisp.org>
16147
16148         ino-map tests: Refactor.
16149         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
16150         unnecessary includes.
16151         (ASSERT): Remove macro.
16152         (main): Make C90 compliant by avoiding variable declaration after
16153         statement.
16154         * modules/ino-map-tests (Files): Add tests/macros.h.
16155
16156 2011-02-08  Jim Meyering  <meyering@redhat.com>
16157
16158         di-set: add "const" to a cast
16159         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
16160         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
16161
16162 2011-02-06  Bruno Haible  <bruno@clisp.org>
16163
16164         Rename module 'wctype' to 'wctype-h'.
16165         * modules/wctype-h: Renamed from modules/wctype.
16166         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
16167         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
16168         (Files, Depends-on, Makefile.am): Update.
16169         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
16170         (Files, Makefile.am): Update.
16171         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
16172         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
16173         * doc/posix-headers/wctype.texi: Update.
16174         * doc/posix-functions/iswalnum.texi: Update.
16175         * doc/posix-functions/iswalpha.texi: Update.
16176         * doc/posix-functions/iswblank.texi: Update.
16177         * doc/posix-functions/iswcntrl.texi: Update.
16178         * doc/posix-functions/iswdigit.texi: Update.
16179         * doc/posix-functions/iswgraph.texi: Update.
16180         * doc/posix-functions/iswlower.texi: Update.
16181         * doc/posix-functions/iswprint.texi: Update.
16182         * doc/posix-functions/iswpunct.texi: Update.
16183         * doc/posix-functions/iswspace.texi: Update.
16184         * doc/posix-functions/iswupper.texi: Update.
16185         * doc/posix-functions/iswxdigit.texi: Update.
16186         * doc/posix-functions/towlower.texi: Update.
16187         * doc/posix-functions/towupper.texi: Update.
16188         * NEWS: Mention the change.
16189         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
16190         * modules/mbchar (Dependencies): Likewise.
16191         * modules/mbswidth (Dependencies): Likewise.
16192         * modules/quotearg (Dependencies): Likewise.
16193         * modules/regex (Dependencies): Likewise.
16194         * modules/wcscasecmp (Dependencies): Likewise.
16195         * modules/wcsncasecmp (Dependencies): Likewise.
16196         * modules/wcwidth (Dependencies): Likewise.
16197
16198 2011-02-06  Bruno Haible  <bruno@clisp.org>
16199
16200         New module 'wcswidth'.
16201         * modules/wcswidth: New file.
16202         * lib/wchar.in.h (wcswidth): New declaration.
16203         * lib/wcswidth.c: New file.
16204         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
16205         * m4/wcswidth.m4: New file.
16206         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
16207         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
16208         REPLACE_WCSWIDTH.
16209         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
16210         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
16211         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
16212         * doc/posix-functions/wcswidth.texi: Mention the new module.
16213
16214 2011-02-06  Bruno Haible  <bruno@clisp.org>
16215
16216         New module 'wcstok'.
16217         * modules/wcstok: New file.
16218         * lib/wchar.in.h (wcstok): New declaration.
16219         * lib/wcstok.c: New file.
16220         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
16221         * m4/wcstok.m4: New file.
16222         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
16223         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
16224         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
16225         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
16226         * doc/posix-functions/wcstok.texi: Mention the new module.
16227
16228 2011-02-06  Bruno Haible  <bruno@clisp.org>
16229
16230         New module 'wcsstr'.
16231         * modules/wcsstr: New file.
16232         * lib/wchar.in.h (wcsstr): New declaration.
16233         * lib/wcsstr.c: New file.
16234         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
16235         * m4/wcsstr.m4: New file.
16236         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
16237         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
16238         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
16239         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
16240         * doc/posix-functions/wcsstr.texi: Mention the new module.
16241
16242 2011-02-06  Bruno Haible  <bruno@clisp.org>
16243
16244         New module 'wcspbrk'.
16245         * modules/wcspbrk: New file.
16246         * lib/wchar.in.h (wcspbrk): New declaration.
16247         * lib/wcspbrk.c: New file.
16248         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
16249         * m4/wcspbrk.m4: New file.
16250         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
16251         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
16252         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
16253         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
16254         * doc/posix-functions/wcspbrk.texi: Mention the new module.
16255
16256 2011-02-06  Bruno Haible  <bruno@clisp.org>
16257
16258         New module 'wcsspn'.
16259         * modules/wcsspn: New file.
16260         * lib/wchar.in.h (wcsspn): New declaration.
16261         * lib/wcsspn.c: New file.
16262         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
16263         * m4/wcsspn.m4: New file.
16264         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
16265         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
16266         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
16267         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
16268         * doc/posix-functions/wcsspn.texi: Mention the new module.
16269
16270 2011-02-06  Bruno Haible  <bruno@clisp.org>
16271
16272         New module 'wcscspn'.
16273         * modules/wcscspn: New file.
16274         * lib/wchar.in.h (wcscspn): New declaration.
16275         * lib/wcscspn.c: New file.
16276         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
16277         * m4/wcscspn.m4: New file.
16278         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
16279         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
16280         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
16281         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
16282         * doc/posix-functions/wcscspn.texi: Mention the new module.
16283
16284 2011-02-06  Bruno Haible  <bruno@clisp.org>
16285
16286         New module 'wcsrchr'.
16287         * modules/wcsrchr: New file.
16288         * lib/wchar.in.h (wcsrchr): New declaration.
16289         * lib/wcsrchr.c: New file.
16290         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
16291         * m4/wcsrchr.m4: New file.
16292         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
16293         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
16294         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
16295         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
16296         * doc/posix-functions/wcsrchr.texi: Mention the new module.
16297
16298 2011-02-06  Bruno Haible  <bruno@clisp.org>
16299
16300         New module 'wcschr'.
16301         * modules/wcschr: New file.
16302         * lib/wchar.in.h (wcschr): New declaration.
16303         * lib/wcschr.c: New file.
16304         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
16305         * m4/wcschr.m4: New file.
16306         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
16307         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
16308         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
16309         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
16310         * doc/posix-functions/wcschr.texi: Mention the new module.
16311
16312 2011-02-06  Bruno Haible  <bruno@clisp.org>
16313
16314         New module 'wcsdup'.
16315         * modules/wcsdup: New file.
16316         * lib/wchar.in.h (wcsdup): New declaration.
16317         * lib/wcsdup.c: New file.
16318         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
16319         * m4/wcsdup.m4: New file.
16320         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
16321         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
16322         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
16323         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
16324         * doc/posix-functions/wcsdup.texi: Mention the new module.
16325
16326 2011-02-06  Bruno Haible  <bruno@clisp.org>
16327
16328         New module 'wcsxfrm'.
16329         * modules/wcsxfrm: New file.
16330         * lib/wchar.in.h (wcsxfrm): New declaration.
16331         * lib/wcsxfrm.c: New file.
16332         * lib/wcsxfrm-impl.h: New file.
16333         * m4/wcsxfrm.m4: New file.
16334         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
16335         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
16336         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
16337         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
16338         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
16339
16340 2011-02-06  Bruno Haible  <bruno@clisp.org>
16341
16342         New module 'wcscoll'.
16343         * modules/wcscoll: New file.
16344         * lib/wchar.in.h (wcscoll): New declaration.
16345         * lib/wcscoll.c: New file.
16346         * lib/wcscoll-impl.h: New file.
16347         * m4/wcscoll.m4: New file.
16348         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
16349         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
16350         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
16351         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
16352         * doc/posix-functions/wcscoll.texi: Mention the new module.
16353
16354 2011-02-06  Bruno Haible  <bruno@clisp.org>
16355
16356         New module 'wcsncasecmp'.
16357         * modules/wcsncasecmp: New file.
16358         * lib/wchar.in.h (wcsncasecmp): New declaration.
16359         * lib/wcsncasecmp.c: New file.
16360         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
16361         * m4/wcsncasecmp.m4: New file.
16362         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
16363         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
16364         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
16365         HAVE_WCSNCASECMP.
16366         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
16367         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
16368
16369 2011-02-06  Bruno Haible  <bruno@clisp.org>
16370
16371         New module 'wcscasecmp'.
16372         * modules/wcscasecmp: New file.
16373         * lib/wchar.in.h (wcscasecmp): New declaration.
16374         * lib/wcscasecmp.c: New file.
16375         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
16376         * m4/wcscasecmp.m4: New file.
16377         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
16378         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
16379         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
16380         HAVE_WCSCASECMP.
16381         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
16382         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
16383
16384 2011-02-05  Bruno Haible  <bruno@clisp.org>
16385
16386         New module 'wcsncmp'.
16387         * modules/wcsncmp: New file.
16388         * lib/wchar.in.h (wcsncmp): New declaration.
16389         * lib/wcsncmp.c: New file.
16390         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
16391         * m4/wcsncmp.m4: New file.
16392         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
16393         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
16394         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
16395         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
16396         * doc/posix-functions/wcsncmp.texi: Mention the new module.
16397
16398 2011-02-05  Bruno Haible  <bruno@clisp.org>
16399
16400         New module 'wcscmp'.
16401         * modules/wcscmp: New file.
16402         * lib/wchar.in.h (wcscmp): New declaration.
16403         * lib/wcscmp.c: New file.
16404         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
16405         * m4/wcscmp.m4: New file.
16406         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
16407         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
16408         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
16409         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
16410         * doc/posix-functions/wcscmp.texi: Mention the new module.
16411
16412 2011-02-05  Bruno Haible  <bruno@clisp.org>
16413
16414         New module 'wcsncat'.
16415         * modules/wcsncat: New file.
16416         * lib/wchar.in.h (wcsncat): New declaration.
16417         * lib/wcsncat.c: New file.
16418         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
16419         * m4/wcsncat.m4: New file.
16420         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
16421         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
16422         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
16423         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
16424         * doc/posix-functions/wcsncat.texi: Mention the new module.
16425
16426 2011-02-05  Bruno Haible  <bruno@clisp.org>
16427
16428         New module 'wcscat'.
16429         * modules/wcscat: New file.
16430         * lib/wchar.in.h (wcscat): New declaration.
16431         * lib/wcscat.c: New file.
16432         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
16433         * m4/wcscat.m4: New file.
16434         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
16435         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
16436         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
16437         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
16438         * doc/posix-functions/wcscat.texi: Mention the new module.
16439
16440 2011-02-05  Bruno Haible  <bruno@clisp.org>
16441
16442         New module 'wcpncpy'.
16443         * modules/wcpncpy: New file.
16444         * lib/wchar.in.h (wcpncpy): New declaration.
16445         * lib/wcpncpy.c: New file.
16446         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
16447         * m4/wcpncpy.m4: New file.
16448         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
16449         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
16450         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
16451         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
16452         * doc/posix-functions/wcpncpy.texi: Mention the new module.
16453
16454 2011-02-05  Bruno Haible  <bruno@clisp.org>
16455
16456         New module 'wcsncpy'.
16457         * modules/wcsncpy: New file.
16458         * lib/wchar.in.h (wcsncpy): New declaration.
16459         * lib/wcsncpy.c: New file.
16460         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
16461         * m4/wcsncpy.m4: New file.
16462         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
16463         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
16464         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
16465         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
16466         * doc/posix-functions/wcsncpy.texi: Mention the new module.
16467
16468 2011-02-05  Bruno Haible  <bruno@clisp.org>
16469
16470         New module 'wcpcpy'.
16471         * modules/wcpcpy: New file.
16472         * lib/wchar.in.h (wcpcpy): New declaration.
16473         * lib/wcpcpy.c: New file.
16474         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
16475         * m4/wcpcpy.m4: New file.
16476         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
16477         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
16478         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
16479         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
16480         * doc/posix-functions/wcpcpy.texi: Mention the new module.
16481
16482 2011-02-05  Bruno Haible  <bruno@clisp.org>
16483
16484         New module 'wcscpy'.
16485         * modules/wcscpy: New file.
16486         * lib/wchar.in.h (wcscpy): New declaration.
16487         * lib/wcscpy.c: New file.
16488         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
16489         * m4/wcscpy.m4: New file.
16490         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
16491         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
16492         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
16493         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
16494         * doc/posix-functions/wcscpy.texi: Mention the new module.
16495
16496 2011-02-05  Bruno Haible  <bruno@clisp.org>
16497
16498         New module 'wcsnlen'.
16499         * modules/wcsnlen: New file.
16500         * lib/wchar.in.h (wcsnlen): New declaration.
16501         * lib/wcsnlen.c: New file.
16502         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
16503         * m4/wcsnlen.m4: New file.
16504         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
16505         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
16506         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
16507         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
16508         * doc/posix-functions/wcsnlen.texi: Mention the new module.
16509
16510 2011-02-05  Bruno Haible  <bruno@clisp.org>
16511
16512         New module 'wcslen'.
16513         * modules/wcslen: New file.
16514         * lib/wchar.in.h (wcslen): New declaration.
16515         * lib/wcslen.c: New file.
16516         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
16517         * m4/wcslen.m4: New file.
16518         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
16519         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
16520         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
16521         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
16522         * doc/posix-functions/wcslen.texi: Mention the new module.
16523
16524 2011-02-05  Bruno Haible  <bruno@clisp.org>
16525
16526         New module 'wmemset'.
16527         * modules/wmemset: New file.
16528         * lib/wchar.in.h (wmemset): New declaration.
16529         * lib/wmemset.c: New file.
16530         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
16531         * m4/wmemset.m4: New file.
16532         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
16533         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
16534         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
16535         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
16536         * doc/posix-functions/wmemset.texi: Mention the new module.
16537
16538 2011-02-05  Bruno Haible  <bruno@clisp.org>
16539
16540         New module 'wmemmove'.
16541         * modules/wmemmove: New file.
16542         * lib/wchar.in.h (wmemmove): New declaration.
16543         * lib/wmemmove.c: New file.
16544         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
16545         * m4/wmemmove.m4: New file.
16546         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
16547         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
16548         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
16549         HAVE_WMEMMOVE.
16550         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
16551         * doc/posix-functions/wmemmove.texi: Mention the new module.
16552
16553 2011-02-05  Bruno Haible  <bruno@clisp.org>
16554
16555         New module 'wmemcpy'.
16556         * modules/wmemcpy: New file.
16557         * lib/wchar.in.h (wmemcpy): New declaration.
16558         * lib/wmemcpy.c: New file.
16559         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
16560         * m4/wmemcpy.m4: New file.
16561         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
16562         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
16563         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
16564         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
16565         * doc/posix-functions/wmemcpy.texi: Mention the new module.
16566
16567 2011-02-05  Bruno Haible  <bruno@clisp.org>
16568
16569         New module 'wmemcmp'.
16570         * modules/wmemcmp: New file.
16571         * lib/wchar.in.h (wmemcmp): New declaration.
16572         * lib/wmemcmp.c: New file.
16573         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
16574         * m4/wmemcmp.m4: New file.
16575         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
16576         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
16577         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
16578         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
16579         * doc/posix-functions/wmemcmp.texi: Mention the new module.
16580
16581 2011-02-07  Jim Meyering  <meyering@redhat.com>
16582
16583         di-set, ino-map: new modules, from coreutils
16584         * lib/di-set.c: New file.
16585         * lib/di-set.h: Likewise.
16586         * lib/ino-map.c: Likewise.
16587         * lib/ino-map.h: Likewise.
16588         * modules/di-set: Likewise.
16589         * modules/di-set-tests: Likewise.
16590         * modules/ino-map: Likewise.
16591         * modules/ino-map-tests: Likewise.
16592         * tests/test-di-set.c: Likewise.
16593         * tests/test-ino-map.c: Likewise.
16594
16595 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
16596
16597         getloadavg: merge minor changes from Emacs
16598
16599         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
16600         (getloadavg): Use memset, not bzero.
16601
16602         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
16603         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
16604         clash (bug#86).
16605
16606 2010-11-14  Bruno Haible  <bruno@clisp.org>
16607
16608         Allow multiple gnulib generated replacements to coexist.
16609         * lib/getopt.in.h (struct option): Avoid identical redefinition.
16610         * lib/inttypes.in.h (imaxdiv_t): Likewise.
16611         * lib/langinfo.in.h (nl_item): Likewise.
16612         * lib/math.in.h (_NaN, NAN): Likewise.
16613         * lib/netdb.in.h (struct addrinfo): Likewise.
16614         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
16615         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
16616         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
16617         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
16618         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
16619         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
16620         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
16621         pthread_mutexattr_init, pthread_mutexattr_settype,
16622         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
16623         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
16624         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
16625         pthread_spin_trylock, pthread_spin_unlock): Likewise.
16626         * lib/sched.in.h (struct sched_param): Likewise.
16627         * lib/se-selinux.in.h (security_class_t, security_context_t,
16628         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
16629         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
16630         lsetfilecon, fsetfilecon, security_check_context,
16631         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
16632         Likewise.
16633         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
16634         Likewise.
16635         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
16636         _gl_function_taking_int_returning_void_t, union sigval,
16637         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
16638         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
16639         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
16640         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
16641         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
16642         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
16643         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
16644         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
16645         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
16646         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
16647         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
16648         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
16649         socklen_t, rpl_fd_isset): Likewise.
16650         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
16651         * lib/sys_time.in.h (struct timeval): Likewise.
16652         * lib/sys_times.in.h (struct tms): Likewise.
16653         * lib/sys_utsname.in.h (struct utsname):
16654         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
16655         * lib/unistd.in.h (getpagesize): Likewise.
16656         * lib/wchar.in.h (mbstate_t): Likewise.
16657         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
16658         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
16659         towlower, towupper): Likewise.
16660         Reported by Sam Steingold <sds@gnu.org>.
16661
16662 2011-02-05  Eric Blake  <eblake@redhat.com>
16663
16664         unsetenv: work around Haiku issues
16665         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
16666         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
16667
16668 2010-12-30  Bruce Korb  <bkorb@gnu.org>
16669
16670         libposix: avoid calling error() within libposix
16671         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
16672         is defined.
16673
16674 2011-02-05  Eric Blake  <eblake@redhat.com>
16675
16676         strerror_r-posix: port to cygwin
16677         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
16678         implementation.
16679         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
16680         * tests/test-strerror_r.c (main): Fix test.
16681         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
16682         issue.
16683
16684 2011-02-05  Bruno Haible  <bruno@clisp.org>
16685
16686         New module 'wmemchr'.
16687         * modules/wmemchr: New file.
16688         * lib/wchar.in.h (wmemchr): New declaration.
16689         * lib/wmemchr.c: New file.
16690         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
16691         * m4/wmemchr.m4: New file.
16692         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
16693         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
16694         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
16695         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
16696         * doc/posix-functions/wmemchr.texi: Mention the new module.
16697
16698 2011-02-04  Eric Blake  <eblake@redhat.com>
16699
16700         fdopendir: detect FreeBSD bug
16701         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
16702         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
16703
16704 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
16705
16706         stdbool: do not define HAVE_STDBOOL_H
16707         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
16708         AC_HEADER_STDBOOL.  All uses changed.  Do not define
16709         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
16710         imported from the latest Autoconf git.  It was motivated by Emacs,
16711         which uses gnulib but does not need HAVE_STDBOOL_H.
16712
16713 2011-02-04  Bruno Haible  <bruno@clisp.org>
16714
16715         wcsnrtombs: Prepare for new module wwcsnrtombs.
16716         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
16717         * lib/wcsnrtombs.c: Include it.
16718         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
16719
16720         wcsrtombs: Prepare for new module wwcsrtombs.
16721         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
16722         * lib/wcsrtombs.c: Include it.
16723         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
16724
16725         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
16726         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
16727         * lib/mbsnrtowcs.c: Include it.
16728         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
16729
16730         mbsrtowcs: Prepare for new module mbsrtowwcs.
16731         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
16732         * lib/mbsrtowcs.c: Include it.
16733         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
16734
16735 2011-02-04  Bruno Haible  <bruno@clisp.org>
16736
16737         vasnprintf: Reduce use of malloc for small format strings.
16738         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
16739         (arguments): Add room for the first 7 arguments.
16740         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
16741         (char_directives, u8_directives, u16_directives, u32_directives): Add
16742         room for the first 7 directives.
16743         * lib/printf-parse.c: Include <string.h>.
16744         (PRINTF_PARSE): Change memory handling code so that it uses the first
16745         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
16746         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
16747         Reported by Pádraig Brady <P@draigbrady.com>.
16748
16749 2011-01-31  Eric Blake  <eblake@redhat.com>
16750
16751         dup2: work around Haiku bug
16752         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
16753         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
16754         * doc/posix-functions/dup2.texi (dup2): Document the bug.
16755         * tests/test-dup2.c (main): Enhance test.
16756
16757 2011-01-31  Simon Josefsson  <simon@josefsson.org>
16758
16759         doc: off_t is not available in eglibc 2.11.2 stdio.h.
16760         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
16761         declared by eglibc 2.11.2.
16762         * lib/stdio.in.h: Likewise.
16763
16764 2011-01-31  Eric Blake  <eblake@redhat.com>
16765
16766         ignore-value: add missing test dependency
16767         * tests/test-ignore-value.c: Revert previous change; stdio.h
16768         provides off_t.
16769         * modules/ignore-value-tests (Depends-on): Add missing dependency.
16770
16771 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
16772
16773         mktime: clarify long_int width checking
16774         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
16775         the top level, to make it clearer that the assumption about
16776         long_int width is being checked.  See
16777         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
16778
16779 2011-01-30  Simon Josefsson  <simon@josefsson.org>
16780
16781         ignore-value: Fix self-test.
16782         * tests/test-ignore-value.c: Include sys/types.h for off_t.
16783
16784 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
16785
16786         TYPE_MAXIMUM: avoid theoretically undefined behavior
16787         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
16788         negative number, which the C Standard says has undefined behavior.
16789         In practice this is not a problem, but might as well do it by the book.
16790         Reported by Rich Felker and Eric Blake; see
16791         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
16792         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
16793         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
16794         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
16795         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
16796         * m4/stdint.m4 (gl_STDINT_H): Likewise.
16797         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
16798
16799         mktime: #undef mktime before #defining it
16800         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
16801
16802         mktime: systematically normalize tm_isdst comparisons
16803         * lib/mktime.c (isdst_differ): New function.
16804         (__mktime_internal): Use it systematically for all isdst comparisons.
16805         This completes the fix for libc BZ #6723, and removes the need for
16806         normalizing tm_isdst.  See
16807         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
16808         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
16809
16810         mktime: fix some integer overflow issues and sidestep the rest
16811
16812         This was prompted by a bug report by Benjamin Lindner for MinGW
16813         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
16814         His bug is due to signed integer overflow (0 - INT_MIN), and I
16815         I scanned through mktime.c looking for other integer overflow
16816         problems, fixing all the bugs I found.
16817
16818         Although the C Standard says the resulting code is still not safe
16819         in the presence of integer overflow, in practice it should be good
16820         enough for all real-world two's-complement implementations, except
16821         for debugging environments that deliberately trap on integer
16822         overflow (e.g., gcc -ftrapv).
16823
16824         * lib/mktime.c (WRAPV): New macro.
16825         (SHR): Also check that long_int and time_t shift right in the
16826         usual way, before using the fast-but-unportable method.
16827         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
16828         used.  The code already assumed two's complement, so there's
16829         no need to test for alternatives.  All uses removed.
16830         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
16831         the C standard.  Problem reported by Rich Felker in
16832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
16833         (twos_complement_arithmetic): Also check long_int and time_t.
16834         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
16835         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
16836         (__mktime_internal): Avoid integer overflow with unary subtraction
16837         in two instances where -1 - X is an adequate replacement for -X,
16838         since the calculations are approximate.
16839
16840 2011-01-29  Eric Blake  <eblake@redhat.com>
16841
16842         mktime: avoid infinite loop
16843         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
16844         type; behavior is still undefined but portable to all known targets.
16845         Reported by Rich Felker.
16846
16847 2011-01-29  Simon Josefsson  <simon@josefsson.org>
16848
16849         rename, unlink, same-inode: Relicense.
16850         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
16851         * modules/unlink (License): Likewise.
16852         * modules/same-inode (License): Likewise.
16853
16854 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
16855
16856         mktime: avoid problems on NetBSD 5 / i386
16857         * lib/mktime.c (long_int): New type.  This works around a problem
16858         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
16859         but time_t is 64 bits, and where I expect the existing code is
16860         wrong in some cases.
16861         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
16862         (ydhms_diff): Bring back the compile-time check for wide-enough
16863         year and yday.
16864
16865         mktime: fix misspelling in comment
16866         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
16867         This merges all recent glibc changes of importance.
16868
16869 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16870
16871         move-if-change: cope with concurrent mv of identical file.
16872         * build-aux/move-if-change (CMPPROG): Accept environment
16873         variable as an override for `cmp'.
16874         (usage): Document CMPPROG.
16875         Adjust comparison to drop stdout.  Cope with failure of mv if
16876         the target file exists and is identical to the source, for
16877         parallel builds.
16878         Report from H.J. Lu against binutils in PR binutils/12283.
16879
16880 2011-01-28  Bruce Korb  <bkorb@gnu.org>
16881
16882         * users.txt: Mention sharutils.
16883
16884 2011-01-28  Simon Josefsson  <simon@josefsson.org>
16885
16886         * users.txt: Mention OATH Toolkit.
16887
16888 2011-01-27  Bruno Haible  <bruno@clisp.org>
16889
16890         Prepare for supporting FreeBSD 10.
16891         * build-aux/config.libpath: Remove handling of freebsd1*.
16892
16893 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
16894
16895         Prepare for supporting FreeBSD 10.
16896         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
16897         match FreeBSD 10.0.
16898
16899 2011-01-27  Bruno Haible  <bruno@clisp.org>
16900
16901         vma-iter, get-rusage-as: Add OpenBSD support.
16902         * modules/vma-iter (configure.ac): Test for mquery.
16903         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
16904         * lib/vma-iter.c: Include <sys/mman.h>.
16905         (vma_iterate): Add an implementation based on mquery().
16906         * lib/resource-ext.h (get_rusage_as): Update comments.
16907         * lib/get-rusage-as.c: Likewise.
16908         * lib/get-rusage-data.c: Likewise.
16909
16910 2011-01-26  Karl Berry  <karl@gnu.org>
16911
16912         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
16913         variables to make it easier to override the makeinfo program used.
16914
16915 2011-01-26  Eric Blake  <eblake@redhat.com>
16916
16917         fcntl: work around Haiku F_DUPFD bugs
16918         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
16919         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
16920         cloexec bit on duplication.
16921         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
16922
16923 2011-01-26  Bruno Haible  <bruno@clisp.org>
16924
16925         Enable memory leak tests on AIX.
16926         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
16927         * tests/test-fprintf-posix3.c (main): Likewise.
16928
16929 2011-01-26  Bruno Haible  <bruno@clisp.org>
16930
16931         Tests for module 'get-rusage-data'.
16932         * modules/get-rusage-data-tests: New file.
16933         * tests/test-get-rusage-data.c: New file.
16934
16935         New module 'get-rusage-data'.
16936         * lib/resource-ext.h (get_rusage_data): New declaration.
16937         * lib/get-rusage-data.c: New file.
16938         * modules/get-rusage-data: New file.
16939
16940 2011-01-25  Bruno Haible  <bruno@clisp.org>
16941
16942         get-rusage-as: Allow for easier testing.
16943         * lib/resource-ext.h (get_rusage_as): Add comment.
16944         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
16945         (main): New function for interactive testing.
16946
16947 2011-01-25  Bruno Haible  <bruno@clisp.org>
16948
16949         vma-iter: Treat Haiku like BeOS.
16950         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
16951         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
16952
16953 2011-01-25  Eric Blake  <eblake@redhat.com>
16954
16955         c-stack: fix regression on cygwin when libsigsegv is present
16956         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
16957
16958 2011-01-24  Bruno Haible  <bruno@clisp.org>
16959
16960         vma-iter: Avoid empty intervals.
16961         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
16962         on an empty interval.
16963
16964 2011-01-24  Jim Meyering  <meyering@redhat.com>
16965
16966         u64: remove unnecessary #include
16967         * lib/u64.h: Don't include <stddef.h>.  It was not used.
16968
16969 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
16970
16971         Allow the user to avoid the HAVE_RAW_DECL_* macros.
16972         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
16973
16974 2011-01-23  Bruno Haible  <bruno@clisp.org>
16975
16976         New module 'vma-iter'.
16977         * lib/vma-iter.h: New file.
16978         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
16979         * modules/vma-iter: New file.
16980         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
16981         for get_rusage_as_via_iterator.
16982         (vma_iterate_callback): New function.
16983         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
16984         * modules/get-rusage-as (Depends-on): Add vma-iter.
16985
16986 2011-01-23  Bruno Haible  <bruno@clisp.org>
16987
16988         uninorm: Tweak includes.
16989         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
16990         Reported by Jim Meyering.
16991
16992 2011-01-23  Bruno Haible  <bruno@clisp.org>
16993
16994         get-rusage-as: Improve on NetBSD.
16995         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
16996         /proc, like on FreeBSD.
16997
16998 2011-01-23  Jim Meyering  <meyering@redhat.com>
16999
17000         xreadlink.h: remove unnecessary #include
17001         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
17002
17003         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
17004         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
17005
17006 2011-01-23  Bruno Haible  <bruno@clisp.org>
17007
17008         get-rusage-as: Fix bug.
17009         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
17010         original limit when aborting the first loop.
17011
17012 2011-01-23  Bruno Haible  <bruno@clisp.org>
17013
17014         wctype: Ensure valid C syntax.
17015         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
17016         unconditionally, instead of gl_NEXT_HEADERS conditionally.
17017
17018 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
17019
17020         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
17021         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
17022         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
17023         as they are needed only for configure's test case.
17024         This removes two unnecessary symbols from config.h.
17025
17026         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
17027         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
17028         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
17029         AC_CHECK_HEADERS_ONCE on a header that we also invoke
17030         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
17031         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
17032         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
17033         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
17034         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17035         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17036         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17037         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17038         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17039         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17040         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
17041         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17042         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17043         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
17044
17045 2011-01-21  Eric Blake  <eblake@redhat.com>
17046
17047         maintainer-makefile: work with older git for submodule check
17048         * top/maint.mk (public-submodule-commit): Rewrite to avoid
17049         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
17050         Reported by Matthias Bolte.
17051
17052         bootstrap: minor portability fixes
17053         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
17054         (usage): Omit leading capital and trailing . on help phrases, per
17055         GNU Coding Standards.
17056         (check_versions, top level): Prefix messages with script name.
17057
17058 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
17059
17060         bootstrap: support --no-git option
17061         * build-aux/bootstrap: Add --no-git option, to be used when
17062         --gnulib-srcdir points to the exact desired checkout.
17063
17064 2011-01-21  Eric Blake  <eblake@redhat.com>
17065
17066         strerror_r-posix: work with glibc 2.13
17067         * lib/strerror_r.c (strerror_r): Fix return type.
17068
17069 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17070             Bruno Haible  <bruno@clisp.org>
17071
17072         uN_strstr: New unit tests.
17073         * modules/unistr/u8-strstr-tests: New file.
17074         * modules/unistr/u16-strstr-tests: New file.
17075         * modules/unistr/u32-strstr-tests: New file.
17076         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
17077         * tests/unistr/test-u8-strstr.c: New file.
17078         * tests/unistr/test-u16-strstr.c: New file.
17079         * tests/unistr/test-u32-strstr.c: New file.
17080
17081 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17082             Bruno Haible  <bruno@clisp.org>
17083
17084         Make uN_strstr functions O(n) worst-case.
17085         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
17086         16-bit and 32-bit unit cases, use the unibyte algorithm from
17087         lib/mbsstr.c.
17088         * lib/unistr/u8-strstr.c: Include <string.h>.
17089         (UNIT_IS_UINT8_T): New macro.
17090         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
17091         (U_STRLEN, U_STRNLEN): New macros.
17092         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
17093         (U_STRLEN, U_STRNLEN): New macros.
17094         * modules/unistr/u8-strstr (Depends-on): Add strstr.
17095         (configure.ac): Update required libunistring version.
17096         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
17097         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
17098         malloca.
17099         (configure.ac): Update required libunistring version.
17100         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
17101         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
17102         malloca.
17103         (configure.ac): Update required libunistring version.
17104
17105 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17106             Bruno Haible  <bruno@clisp.org>
17107
17108         Prepare for faster uN_strstr functions.
17109         * lib/str-kmp.h: Support definable UNITs.
17110         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
17111         needle_len argument.
17112         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
17113         * lib/mbscasestr.c (mbscasestr): Likewise.
17114
17115 2011-01-21  Pádraig Brady <P@draigBrady.com>
17116
17117         malloca-tests: make faster by unsetting MALLOC_PERTURB_
17118         * tests/test-malloca.c (main): Unset the environment variable
17119         to greatly speed up the test.
17120         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
17121         * modules/malloca-tests: Depend on unsetenv.
17122
17123 2011-01-21  Pádraig Brady <P@draigBrady.com>
17124
17125         ignore-value: remove stdint dependency
17126         * lib/ignore-value.h: Remove <stdint.h>
17127         * modules/ignore-value: Remove stdint dependency.
17128
17129 2011-01-21  Jim Meyering  <meyering@redhat.com>
17130
17131         maint.mk: adjust variable name to be consistent with other gl_ vars
17132         * top/maint.mk (gl_public_submodule_commit): Rename the variable
17133         to be lower case.
17134
17135 2011-01-20  Jim Meyering  <meyering@redhat.com>
17136
17137         maint.mk: make "check" depend on public-submodule-commit by default
17138         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
17139
17140 2011-01-20  Bruno Haible  <bruno@clisp.org>
17141
17142         mbfile, mbiter: Complete change from 2008-12-21.
17143         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
17144         * m4/mbiter.m4 (gl_MBITER): Likewise.
17145
17146 2011-01-20  Jim Meyering  <meyering@redhat.com>
17147
17148         init.sh: insert space between each function name and "()"
17149         * tests/init.sh: Make it a little easier to see that a function's
17150         name is "warn_", and not "warn" when looking at the first part of
17151         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
17152
17153 2011-01-20  Jim Meyering  <meyering@redhat.com>
17154
17155         mountlist: clean up code formatting
17156         * lib/mountlist.c (read_file_system_list): Split a long line,
17157         correct bracing style, use NULL in place of "(struct statfs *)0",
17158         don't parenthesize return value, add spaces around "=" and after
17159         ";-in-for-stmt".
17160
17161 2011-01-14  Markus Duft <mduft@gentoo.org>
17162
17163         mountlist: add support for Interix
17164         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
17165         Apply statvfs to all entries of /dev/fs.
17166         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
17167         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
17168
17169 2011-01-20  Jim Meyering  <meyering@redhat.com>
17170
17171         maint.mk: improve the public-submodule-commit rule
17172         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
17173         to suppress printing of its commands... unless V=1.
17174         Add git submodule's --quiet option to suppress printing of e.g.,
17175         "Entering gnulib" output.
17176         "cd" into $(srcdir) before running git submodule.
17177
17178 2011-01-20  Bruno Haible  <bruno@clisp.org>
17179
17180         include_next: Fix bug introduced on 2011-01-18.
17181         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
17182         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
17183         ac_cv_header_... variable if the second argument is not 'check'.
17184         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
17185         gl_NEXT_HEADERS_INTERNAL.
17186
17187 2011-01-20  Bruno Haible  <bruno@clisp.org>
17188
17189         Allow the user to avoid the GNULIB_TEST_* macros.
17190         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
17191         Suggested by Paul Eggert.
17192
17193 2011-01-14  Jim Meyering  <meyering@redhat.com>
17194
17195         bootstrap: avoid failure when there is no .gitmodules file
17196         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
17197         has been assigned to, even when its value is the empty string.
17198         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
17199         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
17200         Reported by John W. Eaton <jwe@gnu.org>.
17201
17202 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
17203
17204         assume <ctype.h>, ..., <time.h> exist
17205         For years gnulib has been assuming the existence of the headers
17206         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
17207         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
17208         them, since they don't appear to be needed.
17209         * README (Portability guidelines): Document this.
17210         * lib/flock.c: Assume <fcntl.h> exists.
17211         * lib/regex_internal.h: Assume <locale.h> exists.
17212         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
17213         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
17214         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
17215         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
17216         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
17217         * m4/regex.m4 (gl_REGEX): Likewise.
17218         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
17219         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
17220         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
17221         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
17222         * tests/test-argp.c: Likewise.
17223         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
17224
17225         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
17226         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
17227         AA_APPLE_UNIVERSAL_BUILD.  See
17228         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
17229         * NEWS: Document this.
17230
17231 2011-01-19  Eric Blake  <eblake@redhat.com>
17232
17233         c-stack: assume stack overflow if SA_SIGINFO unsupported
17234         * lib/c-stack.c (SIGACTION_WORKS): Rename...
17235         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
17236         sigaction will work.
17237         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
17238         behavior match Linux.
17239         * tests/test-c-stack.c (main): Prefer NULL for pointers.
17240
17241         stdbool-tests: accomodate Haiku
17242         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
17243
17244         binary-io: fix O_TEXT on Haiku
17245         * modules/binary-io (Depends-on): Add fcntl-h.
17246         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
17247         than blindly undefining O_TEXT.
17248         Reported by Scott McCreary.
17249
17250 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
17251
17252         include_next: do not check for standard headers like stddef.h
17253
17254         I found this problem when modifying Emacs to use gnulib.
17255         I noticed that it added HAVE_STDDEF_H to config.h, even though
17256         gnulib always assumes <stddef.h> exists as per README and this
17257         symbol is unnecessary.
17258         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
17259         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
17260         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
17261         faster for headers like stddef.h that are known to exist.
17262         (gl_CHECK_NEXT_HEADERS): Use it.
17263         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
17264         rather than gl_CHECK_NEXT_HEADERS.
17265         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
17266         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
17267
17268 2011-01-18  Eric Blake  <eblake@redhat.com>
17269
17270         ansi-c++-opt: skip C++ dependency style if C++ is unused
17271         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
17272         tests when we know C++ compilation is not desired.
17273         Reported by Scott McCreary.
17274
17275 2011-01-18  Bruno Haible  <bruno@clisp.org>
17276
17277         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
17278         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
17279         (main): Perform test also when getrlimit and setrlimit don't exist or
17280         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
17281         limiting the address space size using setrlimit, compare the address
17282         space size before and after the the test.
17283         * tests/test-dprintf-posix2.c: Likewise.
17284         * tests/test-fprintf-posix3.sh: Update skip messages.
17285         * tests/test-dprintf-posix2.sh: Likewise.
17286         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
17287         * modules/dprintf-posix-tests (Depends-on): Likewise.
17288         Reported by Bruce Korb <bkorb@gnu.org> and
17289         Gary V. Vaughan <gary@gnu.org>.
17290
17291 2011-01-18  Bruno Haible  <bruno@clisp.org>
17292
17293         get-rusage-as: Improvement for Cygwin.
17294         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
17295         areas that are merely reserved.
17296
17297 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
17298
17299         strftime: remove dependencies on multibyte modules
17300
17301         strftime depended on mbrlen, mbsinit, and wchar, but these modules
17302         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
17303         only if __osf__ is defined, and I suspect OSF doesn't need these
17304         other modules.  If my guess is wrong, we'll need to come up with a
17305         variant of strftime that doesn't need the multibyte modules.
17306
17307         I discovered this problem when attempting modify Emacs to use the
17308         strftime module.  With the previous gnulib, this caused Emacs to
17309         need 31 new files, ranging from lib/config.charset to
17310         m4/wint_t.m4.  This was overkill and I expect would be offputting
17311         to the Emacs maintainers.  After this change, only 6 new files are
17312         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
17313         stdbool.m4, and tm_gmtoff.m4.
17314
17315         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
17316         Suggested by Bruno Haible in
17317         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
17318         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
17319         and do not check for wchar.h.
17320         * modules/strftime (Files): Remove m4/mbstate_t.m4.
17321         (Depends-on): Remove mbrlen, mbsinit, wchar.
17322
17323 2011-01-18  Bruno Haible  <bruno@clisp.org>
17324
17325         Tests for module 'get-rusage-as'.
17326         * modules/get-rusage-as-tests: New file.
17327         * tests/test-get-rusage-as.c: New file.
17328
17329         New module 'get-rusage-as'.
17330         * modules/get-rusage-as: New file.
17331         * lib/resource-ext.h: New file.
17332         * lib/get-rusage-as.c: New file.
17333
17334 2011-01-17  Eric Blake  <eblake@redhat.com>
17335
17336         sigaction: relax license from LGPLv3+ to LGPLv2+
17337         * modules/sigaction (License): Relax to LGPLv2+.
17338
17339 2011-01-14  Bruno Haible  <bruno@clisp.org>
17340
17341         filemode: Make function declarations usable in C++ mode.
17342         * lib/filemode.h: Enclose function declarations in extern "C" block.
17343         Reported by John W. Eaton <jwe@gnu.org>.
17344
17345 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
17346
17347         save-cwd: no longer include "xgetcwd.h"
17348         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
17349         This avoids a compilation failure in projects that use save-cwd
17350         without also using the xgetcwd module.
17351
17352 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
17353
17354         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
17355         This is so that a program like Emacs, which needs only dtoastr,
17356         does not have to bother with distributing and compiling ftoastr
17357         and ldtoastr.
17358         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
17359         * modules/dtoastr, modules/ldtoastr: New files.
17360         * modules/ftoastr: Now works just for 'float'.
17361         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
17362         (Makefile.am): Remove ftoastr.h (not needed and no effect),
17363         dtoastr.c, ldtoastr.c.
17364
17365 2011-01-11  Jim Meyering  <meyering@redhat.com>
17366
17367         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
17368         There is no need to work around the lack of the fchdir function,
17369         since gnulib can now provide a replacement when required.
17370         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
17371         * modules/save-cwd (Depends-on): Add fchdir.
17372
17373 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
17374
17375         openat, save-cwd: avoid xmalloc
17376
17377         This removes a direct (but undocumented) dependency of openat on
17378         xalloc, along with an indirect dependency via save-cwd.  It also
17379         removes a dependency of save-cwd on xgetcwd, and thereby
17380         indirectly on xalloc.  This change causes the openat substitute
17381         to fall back on save_cwd when memory is tight, and for save_cwd to
17382         fail instead of dying when memory is tight, but that's good enough.
17383         Problem and initial idea for fix reported by Bastien Roucaries in
17384         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
17385
17386         * lib/openat-proc.c: Include stdlib.h (for malloc), not
17387         xalloc.h (for xmalloc).
17388         (openat_proc_name): Use malloc, not xmalloc.
17389         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
17390         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
17391
17392         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
17393         This avoids heap allocation for file names whose lengths are in
17394         the range 512..1023, with the upper bound increasing to at most
17395         4031 depending on the platform's PATH_MAX.  (We do not want
17396         pathmax.h here as it might supply a non-constant PATH_MAX.)
17397         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
17398         Perhaps they should be moved to malloca.h?
17399         (OPENAT_BUFFER_SIZE): Use them.
17400
17401 2011-01-10  Bruno Haible  <bruno@clisp.org>
17402
17403         doc: Update users.txt.
17404         * users.txt: Add recutils.
17405
17406 2011-01-09  Karl Berry  <karl@gnu.org>
17407
17408         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
17409
17410         * doc/configmake.texi: New file.
17411         * doc/gnulib.texi: Include it.
17412         * modules/configmake: Move documentation from here.
17413
17414 2011-01-09  Bruno Haible  <bruno@clisp.org>
17415
17416         Update to Unicode 6.0.0.
17417         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
17418         (get_lbp): Update for Unicode 6.0.0.
17419         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
17420         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
17421         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
17422         U+11001, U+11038..U+11046. Remove U+06DE.
17423         (uc_width): Fix bounds of planes.
17424         * tests/uniwidth/test-uc_width2.sh: Same updates as in
17425         lib/uniwidth/width.c.
17426         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
17427         trailing whitespace removed.
17428         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
17429         without comments, but with the original copyright notice.
17430         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
17431         * lib/unicase/ignorable.h: Likewise.
17432         * lib/unicase/tocasefold.h: Likewise.
17433         * lib/unicase/tolower.h: Likewise.
17434         * lib/unicase/totitle.h: Likewise.
17435         * lib/unicase/toupper.h: Likewise.
17436         * lib/unictype/bidi_of.h: Likewise.
17437         * lib/unictype/blocks.h: Likewise.
17438         * lib/unictype/categ_C.h: Likewise.
17439         * lib/unictype/categ_Cn.h: Likewise.
17440         * lib/unictype/categ_L.h: Likewise.
17441         * lib/unictype/categ_Ll.h: Likewise.
17442         * lib/unictype/categ_Lm.h: Likewise.
17443         * lib/unictype/categ_Lo.h: Likewise.
17444         * lib/unictype/categ_Lu.h: Likewise.
17445         * lib/unictype/categ_M.h: Likewise.
17446         * lib/unictype/categ_Mc.h: Likewise.
17447         * lib/unictype/categ_Me.h: Likewise.
17448         * lib/unictype/categ_Mn.h: Likewise.
17449         * lib/unictype/categ_N.h: Likewise.
17450         * lib/unictype/categ_Nd.h: Likewise.
17451         * lib/unictype/categ_No.h: Likewise.
17452         * lib/unictype/categ_P.h: Likewise.
17453         * lib/unictype/categ_Po.h: Likewise.
17454         * lib/unictype/categ_S.h: Likewise.
17455         * lib/unictype/categ_Sc.h: Likewise.
17456         * lib/unictype/categ_Sk.h: Likewise.
17457         * lib/unictype/categ_Sm.h: Likewise.
17458         * lib/unictype/categ_So.h: Likewise.
17459         * lib/unictype/categ_of.h: Likewise.
17460         * lib/unictype/combining.h: Likewise.
17461         * lib/unictype/ctype_alnum.h: Likewise.
17462         * lib/unictype/ctype_alpha.h: Likewise.
17463         * lib/unictype/ctype_graph.h: Likewise.
17464         * lib/unictype/ctype_lower.h: Likewise.
17465         * lib/unictype/ctype_print.h: Likewise.
17466         * lib/unictype/ctype_punct.h: Likewise.
17467         * lib/unictype/ctype_upper.h: Likewise.
17468         * lib/unictype/decdigit.h: Likewise.
17469         * lib/unictype/digit.h: Likewise.
17470         * lib/unictype/numeric.h: Likewise.
17471         * lib/unictype/pr_alphabetic.h: Likewise.
17472         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
17473         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
17474         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
17475         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
17476         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
17477         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
17478         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
17479         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
17480         * lib/unictype/pr_case_ignorable.h: Likewise.
17481         * lib/unictype/pr_cased.h: Likewise.
17482         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
17483         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
17484         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
17485         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
17486         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
17487         * lib/unictype/pr_combining.h: Likewise.
17488         * lib/unictype/pr_composite.h: Likewise.
17489         * lib/unictype/pr_currency_symbol.h: Likewise.
17490         * lib/unictype/pr_decimal_digit.h: Likewise.
17491         * lib/unictype/pr_deprecated.h: Likewise.
17492         * lib/unictype/pr_format_control.h: Likewise.
17493         * lib/unictype/pr_grapheme_base.h: Likewise.
17494         * lib/unictype/pr_grapheme_extend.h: Likewise.
17495         * lib/unictype/pr_grapheme_link.h: Likewise.
17496         * lib/unictype/pr_id_continue.h: Likewise.
17497         * lib/unictype/pr_id_start.h: Likewise.
17498         * lib/unictype/pr_ideographic.h: Likewise.
17499         * lib/unictype/pr_lowercase.h: Likewise.
17500         * lib/unictype/pr_math.h: Likewise.
17501         * lib/unictype/pr_numeric.h: Likewise.
17502         * lib/unictype/pr_other_alphabetic.h: Likewise.
17503         * lib/unictype/pr_other_id_continue.h: Likewise.
17504         * lib/unictype/pr_other_math.h: Likewise.
17505         * lib/unictype/pr_punctuation.h: Likewise.
17506         * lib/unictype/pr_sentence_terminal.h: Likewise.
17507         * lib/unictype/pr_terminal_punctuation.h: Likewise.
17508         * lib/unictype/pr_unassigned_code_value.h: Likewise.
17509         * lib/unictype/pr_unified_ideograph.h: Likewise.
17510         * lib/unictype/pr_uppercase.h: Likewise.
17511         * lib/unictype/pr_xid_continue.h: Likewise.
17512         * lib/unictype/pr_xid_start.h: Likewise.
17513         * lib/unictype/scripts.h: Likewise.
17514         * lib/unictype/scripts_byname.gperf: Likewise.
17515         * lib/unictype/sy_java_ident.h: Likewise.
17516         * lib/unigbrk/gbrkprop.h: Likewise.
17517         * lib/unilbrk/lbrkprop1.h: Likewise.
17518         * lib/unilbrk/lbrkprop2.h: Likewise.
17519         * lib/uninorm/decomposition-table2.h: Likewise.
17520         * lib/uniwbrk/wbrkprop.h: Likewise.
17521         * tests/unicase/test-cased.c: Likewise.
17522         * tests/unicase/test-ignorable.c: Likewise.
17523         * tests/unicase/test-uc_tolower.c: Likewise.
17524         * tests/unicase/test-uc_totitle.c: Likewise.
17525         * tests/unicase/test-uc_toupper.c: Likewise.
17526         * tests/unictype/test-categ_C.c: Likewise.
17527         * tests/unictype/test-categ_Cn.c: Likewise.
17528         * tests/unictype/test-categ_L.c: Likewise.
17529         * tests/unictype/test-categ_Ll.c: Likewise.
17530         * tests/unictype/test-categ_Lm.c: Likewise.
17531         * tests/unictype/test-categ_Lo.c: Likewise.
17532         * tests/unictype/test-categ_Lu.c: Likewise.
17533         * tests/unictype/test-categ_M.c: Likewise.
17534         * tests/unictype/test-categ_Mc.c: Likewise.
17535         * tests/unictype/test-categ_Me.c: Likewise.
17536         * tests/unictype/test-categ_Mn.c: Likewise.
17537         * tests/unictype/test-categ_N.c: Likewise.
17538         * tests/unictype/test-categ_Nd.c: Likewise.
17539         * tests/unictype/test-categ_No.c: Likewise.
17540         * tests/unictype/test-categ_P.c: Likewise.
17541         * tests/unictype/test-categ_Po.c: Likewise.
17542         * tests/unictype/test-categ_S.c: Likewise.
17543         * tests/unictype/test-categ_Sc.c: Likewise.
17544         * tests/unictype/test-categ_Sk.c: Likewise.
17545         * tests/unictype/test-categ_Sm.c: Likewise.
17546         * tests/unictype/test-categ_So.c: Likewise.
17547         * tests/unictype/test-ctype_alnum.c: Likewise.
17548         * tests/unictype/test-ctype_alpha.c: Likewise.
17549         * tests/unictype/test-ctype_graph.c: Likewise.
17550         * tests/unictype/test-ctype_lower.c: Likewise.
17551         * tests/unictype/test-ctype_print.c: Likewise.
17552         * tests/unictype/test-ctype_punct.c: Likewise.
17553         * tests/unictype/test-ctype_upper.c: Likewise.
17554         * tests/unictype/test-decdigit.h: Likewise.
17555         * tests/unictype/test-digit.h: Likewise.
17556         * tests/unictype/test-numeric.h: Likewise.
17557         * tests/unictype/test-pr_alphabetic.c: Likewise.
17558         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
17559         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
17560         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
17561         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
17562         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
17563         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
17564         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
17565         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
17566         * tests/unictype/test-pr_case_ignorable.c: Likewise.
17567         * tests/unictype/test-pr_cased.c: Likewise.
17568         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
17569         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
17570         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
17571         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
17572         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
17573         * tests/unictype/test-pr_combining.c: Likewise.
17574         * tests/unictype/test-pr_composite.c: Likewise.
17575         * tests/unictype/test-pr_currency_symbol.c: Likewise.
17576         * tests/unictype/test-pr_decimal_digit.c: Likewise.
17577         * tests/unictype/test-pr_deprecated.c: Likewise.
17578         * tests/unictype/test-pr_format_control.c: Likewise.
17579         * tests/unictype/test-pr_grapheme_base.c: Likewise.
17580         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
17581         * tests/unictype/test-pr_grapheme_link.c: Likewise.
17582         * tests/unictype/test-pr_id_continue.c: Likewise.
17583         * tests/unictype/test-pr_id_start.c: Likewise.
17584         * tests/unictype/test-pr_ideographic.c: Likewise.
17585         * tests/unictype/test-pr_lowercase.c: Likewise.
17586         * tests/unictype/test-pr_math.c: Likewise.
17587         * tests/unictype/test-pr_numeric.c: Likewise.
17588         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
17589         * tests/unictype/test-pr_other_id_continue.c: Likewise.
17590         * tests/unictype/test-pr_other_math.c: Likewise.
17591         * tests/unictype/test-pr_punctuation.c: Likewise.
17592         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
17593         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
17594         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
17595         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
17596         * tests/unictype/test-pr_uppercase.c: Likewise.
17597         * tests/unictype/test-pr_xid_continue.c: Likewise.
17598         * tests/unictype/test-pr_xid_start.c: Likewise.
17599         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
17600         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
17601         changes.
17602         * lib/unictype/categ_Cc.h: Likewise.
17603         * lib/unictype/categ_Cf.h: Likewise.
17604         * lib/unictype/categ_Co.h: Likewise.
17605         * lib/unictype/categ_Cs.h: Likewise.
17606         * lib/unictype/categ_Lt.h: Likewise.
17607         * lib/unictype/categ_Nl.h: Likewise.
17608         * lib/unictype/categ_Pc.h: Likewise.
17609         * lib/unictype/categ_Pd.h: Likewise.
17610         * lib/unictype/categ_Pe.h: Likewise.
17611         * lib/unictype/categ_Pf.h: Likewise.
17612         * lib/unictype/categ_Pi.h: Likewise.
17613         * lib/unictype/categ_Ps.h: Likewise.
17614         * lib/unictype/categ_Z.h: Likewise.
17615         * lib/unictype/categ_Zl.h: Likewise.
17616         * lib/unictype/categ_Zp.h: Likewise.
17617         * lib/unictype/categ_Zs.h: Likewise.
17618         * lib/unictype/ctype_blank.h: Likewise.
17619         * lib/unictype/ctype_cntrl.h: Likewise.
17620         * lib/unictype/ctype_digit.h: Likewise.
17621         * lib/unictype/ctype_space.h: Likewise.
17622         * lib/unictype/ctype_xdigit.h: Likewise.
17623         * lib/unictype/mirror.h: Likewise.
17624         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
17625         * lib/unictype/pr_bidi_block_separator.h: Likewise.
17626         * lib/unictype/pr_bidi_common_separator.h: Likewise.
17627         * lib/unictype/pr_bidi_control.h: Likewise.
17628         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
17629         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
17630         * lib/unictype/pr_bidi_european_digit.h: Likewise.
17631         * lib/unictype/pr_bidi_pdf.h: Likewise.
17632         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
17633         * lib/unictype/pr_bidi_whitespace.h: Likewise.
17634         * lib/unictype/pr_dash.h: Likewise.
17635         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
17636         * lib/unictype/pr_diacritic.h: Likewise.
17637         * lib/unictype/pr_extender.h: Likewise.
17638         * lib/unictype/pr_hex_digit.h: Likewise.
17639         * lib/unictype/pr_hyphen.h: Likewise.
17640         * lib/unictype/pr_ids_binary_operator.h: Likewise.
17641         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
17642         * lib/unictype/pr_ignorable_control.h: Likewise.
17643         * lib/unictype/pr_iso_control.h: Likewise.
17644         * lib/unictype/pr_join_control.h: Likewise.
17645         * lib/unictype/pr_left_of_pair.h: Likewise.
17646         * lib/unictype/pr_line_separator.h: Likewise.
17647         * lib/unictype/pr_logical_order_exception.h: Likewise.
17648         * lib/unictype/pr_non_break.h: Likewise.
17649         * lib/unictype/pr_not_a_character.h: Likewise.
17650         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
17651         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
17652         * lib/unictype/pr_other_id_start.h: Likewise.
17653         * lib/unictype/pr_other_lowercase.h: Likewise.
17654         * lib/unictype/pr_other_uppercase.h: Likewise.
17655         * lib/unictype/pr_paired_punctuation.h: Likewise.
17656         * lib/unictype/pr_paragraph_separator.h: Likewise.
17657         * lib/unictype/pr_pattern_syntax.h: Likewise.
17658         * lib/unictype/pr_pattern_white_space.h: Likewise.
17659         * lib/unictype/pr_private_use.h: Likewise.
17660         * lib/unictype/pr_quotation_mark.h: Likewise.
17661         * lib/unictype/pr_radical.h: Likewise.
17662         * lib/unictype/pr_soft_dotted.h: Likewise.
17663         * lib/unictype/pr_space.h: Likewise.
17664         * lib/unictype/pr_titlecase.h: Likewise.
17665         * lib/unictype/pr_variation_selector.h: Likewise.
17666         * lib/unictype/pr_white_space.h: Likewise.
17667         * lib/unictype/pr_zero_width.h: Likewise.
17668         * lib/unictype/sy_c_ident.h: Likewise.
17669         * lib/unictype/sy_c_whitespace.h: Likewise.
17670         * lib/unictype/sy_java_whitespace.h: Likewise.
17671         * lib/uninorm/composition-table.gperf: Likewise.
17672         * lib/uninorm/decomposition-table1.h: Likewise.
17673         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
17674         LB8.
17675         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
17676         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
17677         * modules/unictype/*: Bump version number of expected libunistring
17678         version.
17679
17680 2011-01-09  Bruno Haible  <bruno@clisp.org>
17681
17682         Update to Unicode 5.2.0.
17683         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
17684         trailing whitespace removed.
17685
17686 2011-01-09  Bruno Haible  <bruno@clisp.org>
17687
17688         New Unicode character properties, from Unicode 5.2.0.
17689         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
17690         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
17691         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
17692         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
17693         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
17694         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
17695         uc_is_property_cased, uc_is_property_case_ignorable,
17696         uc_is_property_changes_when_lowercased,
17697         uc_is_property_changes_when_uppercased,
17698         uc_is_property_changes_when_titlecased,
17699         uc_is_property_changes_when_casefolded,
17700         uc_is_property_changes_when_casemapped): New declarations.
17701         * lib/unictype/pr_byname.gperf: Add the new properties.
17702         * modules/unictype/property-byname (Depends-on): Depend on the new
17703         properties modules.
17704         * modules/unictype/property-all (Depends-on): Likewise.
17705         * MODULES.html.sh (Unicode string functions): Add
17706         unictype/property-case-ignorable, unictype/property-cased,
17707         unictype/property-changes-when-casefolded,
17708         unictype/property-changes-when-casemapped,
17709         unictype/property-changes-when-lowercased,
17710         unictype/property-changes-when-titlecased,
17711         unictype/property-changes-when-uppercased.
17712
17713         New module 'unictype/property-changes-when-casemapped'.
17714         * modules/unictype/property-changes-when-casemapped: New file.
17715         * lib/unictype/pr_changes_when_casemapped.c: New file.
17716         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
17717         generated by gen-uni-tables.
17718         * modules/unictype/property-changes-when-casemapped-tests: New file.
17719         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
17720         automatically generated by gen-uni-tables.
17721
17722         New module 'unictype/property-changes-when-casefolded'.
17723         * modules/unictype/property-changes-when-casefolded: New file.
17724         * lib/unictype/pr_changes_when_casefolded.c: New file.
17725         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
17726         generated by gen-uni-tables.
17727         * modules/unictype/property-changes-when-casefolded-tests: New file.
17728         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
17729         automatically generated by gen-uni-tables.
17730
17731         New module 'unictype/property-changes-when-titlecased'.
17732         * modules/unictype/property-changes-when-titlecased: New file.
17733         * lib/unictype/pr_changes_when_titlecased.c: New file.
17734         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
17735         generated by gen-uni-tables.
17736         * modules/unictype/property-changes-when-titlecased-tests: New file.
17737         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
17738         automatically generated by gen-uni-tables.
17739
17740         New module 'unictype/property-changes-when-uppercased'.
17741         * modules/unictype/property-changes-when-uppercased: New file.
17742         * lib/unictype/pr_changes_when_uppercased.c: New file.
17743         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
17744         generated by gen-uni-tables.
17745         * modules/unictype/property-changes-when-uppercased-tests: New file.
17746         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
17747         automatically generated by gen-uni-tables.
17748
17749         New module 'unictype/property-changes-when-lowercased'.
17750         * modules/unictype/property-changes-when-lowercased: New file.
17751         * lib/unictype/pr_changes_when_lowercased.c: New file.
17752         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
17753         generated by gen-uni-tables.
17754         * modules/unictype/property-changes-when-lowercased-tests: New file.
17755         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
17756         automatically generated by gen-uni-tables.
17757
17758         New module 'unictype/property-case-ignorable'.
17759         * modules/unictype/property-case-ignorable: New file.
17760         * lib/unictype/pr_case_ignorable.c: New file.
17761         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
17762         by gen-uni-tables.
17763         * modules/unictype/property-case-ignorable-tests: New file.
17764         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
17765         generated by gen-uni-tables.
17766
17767         New module 'unictype/property-cased'.
17768         * modules/unictype/property-cased: New file.
17769         * lib/unictype/pr_cased.c: New file.
17770         * lib/unictype/pr_cased.h: New file, automatically generated by
17771         gen-uni-tables.
17772         * modules/unictype/property-cased-tests: New file.
17773         * tests/unictype/test-pr_cased.c: New file, automatically generated by
17774         gen-uni-tables.
17775
17776 2011-01-09  Bruno Haible  <bruno@clisp.org>
17777
17778         Update to Unicode 5.2.0.
17779         * lib/gen-uni-tables.c (output_predicate, output_category,
17780         output_combclass, output_bidi_category, output_decimal_digit_test,
17781         output_decimal_digit, output_digit_test, output_digit,
17782         output_numeric_test, output_numeric, output_mirror, output_scripts,
17783         output_scripts_byname, output_blocks, output_ident_category): Fix
17784         comment header.
17785         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
17786         get_wbp.
17787         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
17788         items.
17789         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
17790         Changes_When_Lowercased, Changes_When_Uppercased,
17791         Changes_When_Titlecased, Changes_When_Casefolded,
17792         Changes_When_Casemapped.
17793         (is_property_alphabetic, is_property_default_ignorable_code_point):
17794         Update for Unicode 5.2.0.
17795         (is_property_cased, is_property_case_ignorable,
17796         is_property_changes_when_lowercased,
17797         is_property_changes_when_uppercased,
17798         is_property_changes_when_titlecased,
17799         is_property_changes_when_casefolded,
17800         is_property_changes_when_casemapped): New functions.
17801         (output_properties): Output also the properties cased, case_ignorable,
17802         changes_when_lowercased, changes_when_uppercased,
17803         changes_when_titlecased, changes_when_casefolded,
17804         changes_when_casemapped.
17805         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
17806         Unicode TR#11 revision 17 -> 19.
17807         (LBP_CP): New enumeration value.
17808         (LBP_*): Adjust values accordingly.
17809         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
17810         TR#14 revision 22 -> 24.
17811         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
17812         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
17813         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
17814         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
17815         is_WBP_MIDLETTER.
17816         (output_composition_tables): Allow for 24 bits instead of 16 bits in
17817         the code1 and code2 of each composition rule.
17818         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
17819         * lib/unicase/ignorable.h: Likewise.
17820         * lib/unicase/tocasefold.h: Likewise.
17821         * lib/unicase/tolower.h: Likewise.
17822         * lib/unicase/totitle.h: Likewise.
17823         * lib/unicase/toupper.h: Likewise.
17824         * lib/unictype/bidi_of.h: Likewise.
17825         * lib/unictype/blocks.h: Likewise.
17826         * lib/unictype/categ_C.h: Likewise.
17827         * lib/unictype/categ_Cf.h: Likewise.
17828         * lib/unictype/categ_Cn.h: Likewise.
17829         * lib/unictype/categ_L.h: Likewise.
17830         * lib/unictype/categ_Ll.h: Likewise.
17831         * lib/unictype/categ_Lm.h: Likewise.
17832         * lib/unictype/categ_Lo.h: Likewise.
17833         * lib/unictype/categ_Lu.h: Likewise.
17834         * lib/unictype/categ_M.h: Likewise.
17835         * lib/unictype/categ_Mc.h: Likewise.
17836         * lib/unictype/categ_Mn.h: Likewise.
17837         * lib/unictype/categ_N.h: Likewise.
17838         * lib/unictype/categ_Nd.h: Likewise.
17839         * lib/unictype/categ_Nl.h: Likewise.
17840         * lib/unictype/categ_No.h: Likewise.
17841         * lib/unictype/categ_P.h: Likewise.
17842         * lib/unictype/categ_Pd.h: Likewise.
17843         * lib/unictype/categ_Po.h: Likewise.
17844         * lib/unictype/categ_S.h: Likewise.
17845         * lib/unictype/categ_Sc.h: Likewise.
17846         * lib/unictype/categ_So.h: Likewise.
17847         * lib/unictype/categ_of.h: Likewise.
17848         * lib/unictype/combining.h: Likewise.
17849         * lib/unictype/ctype_alnum.h: Likewise.
17850         * lib/unictype/ctype_alpha.h: Likewise.
17851         * lib/unictype/ctype_graph.h: Likewise.
17852         * lib/unictype/ctype_lower.h: Likewise.
17853         * lib/unictype/ctype_print.h: Likewise.
17854         * lib/unictype/ctype_punct.h: Likewise.
17855         * lib/unictype/ctype_upper.h: Likewise.
17856         * lib/unictype/decdigit.h: Likewise.
17857         * lib/unictype/digit.h: Likewise.
17858         * lib/unictype/numeric.h: Likewise.
17859         * lib/unictype/pr_alphabetic.h: Likewise.
17860         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
17861         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
17862         * lib/unictype/pr_bidi_european_digit.h: Likewise.
17863         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
17864         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
17865         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
17866         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
17867         * lib/unictype/pr_combining.h: Likewise.
17868         * lib/unictype/pr_composite.h: Likewise.
17869         * lib/unictype/pr_currency_symbol.h: Likewise.
17870         * lib/unictype/pr_dash.h: Likewise.
17871         * lib/unictype/pr_decimal_digit.h: Likewise.
17872         * lib/unictype/pr_deprecated.h: Likewise.
17873         * lib/unictype/pr_diacritic.h: Likewise.
17874         * lib/unictype/pr_extender.h: Likewise.
17875         * lib/unictype/pr_grapheme_base.h: Likewise.
17876         * lib/unictype/pr_grapheme_extend.h: Likewise.
17877         * lib/unictype/pr_grapheme_link.h: Likewise.
17878         * lib/unictype/pr_id_continue.h: Likewise.
17879         * lib/unictype/pr_id_start.h: Likewise.
17880         * lib/unictype/pr_ideographic.h: Likewise.
17881         * lib/unictype/pr_ignorable_control.h: Likewise.
17882         * lib/unictype/pr_logical_order_exception.h: Likewise.
17883         * lib/unictype/pr_lowercase.h: Likewise.
17884         * lib/unictype/pr_numeric.h: Likewise.
17885         * lib/unictype/pr_other_alphabetic.h: Likewise.
17886         * lib/unictype/pr_punctuation.h: Likewise.
17887         * lib/unictype/pr_sentence_terminal.h: Likewise.
17888         * lib/unictype/pr_terminal_punctuation.h: Likewise.
17889         * lib/unictype/pr_unassigned_code_value.h: Likewise.
17890         * lib/unictype/pr_unified_ideograph.h: Likewise.
17891         * lib/unictype/pr_uppercase.h: Likewise.
17892         * lib/unictype/pr_xid_continue.h: Likewise.
17893         * lib/unictype/pr_xid_start.h: Likewise.
17894         * lib/unictype/pr_zero_width.h: Likewise.
17895         * lib/unictype/scripts.h: Likewise.
17896         * lib/unictype/scripts_byname.gperf: Likewise.
17897         * lib/unictype/sy_java_ident.h: Likewise.
17898         * lib/unigbrk/gbrkprop.h: Likewise.
17899         * lib/unilbrk/lbrkprop1.h: Likewise.
17900         * lib/unilbrk/lbrkprop2.h: Likewise.
17901         * lib/unilbrk/lbrktables.h: Likewise.
17902         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
17903         LBP_CP. Implement rule LB30.
17904         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
17905         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
17906         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
17907         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
17908         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
17909         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
17910         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
17911         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
17912         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
17913         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
17914         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
17915         bits instead of 16 bits in the code1 and code2 of each composition
17916         rule.
17917         (uc_composition): Update for Unicode 5.2.0.
17918         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
17919         * lib/uninorm/decomposition-table2.h: Likewise.
17920         * lib/uniwbrk/wbrkprop.h: Likewise.
17921         * tests/unicase/test-cased.c: Likewise.
17922         * tests/unicase/test-ignorable.c: Likewise.
17923         * tests/unicase/test-uc_tolower.c: Likewise.
17924         * tests/unicase/test-uc_totitle.c: Likewise.
17925         * tests/unicase/test-uc_toupper.c: Likewise.
17926         * tests/unictype/test-categ_C.c: Likewise.
17927         * tests/unictype/test-categ_Cf.c: Likewise.
17928         * tests/unictype/test-categ_Cn.c: Likewise.
17929         * tests/unictype/test-categ_L.c: Likewise.
17930         * tests/unictype/test-categ_Ll.c: Likewise.
17931         * tests/unictype/test-categ_Lm.c: Likewise.
17932         * tests/unictype/test-categ_Lo.c: Likewise.
17933         * tests/unictype/test-categ_Lu.c: Likewise.
17934         * tests/unictype/test-categ_M.c: Likewise.
17935         * tests/unictype/test-categ_Mc.c: Likewise.
17936         * tests/unictype/test-categ_Mn.c: Likewise.
17937         * tests/unictype/test-categ_N.c: Likewise.
17938         * tests/unictype/test-categ_Nd.c: Likewise.
17939         * tests/unictype/test-categ_Nl.c: Likewise.
17940         * tests/unictype/test-categ_No.c: Likewise.
17941         * tests/unictype/test-categ_P.c: Likewise.
17942         * tests/unictype/test-categ_Pd.c: Likewise.
17943         * tests/unictype/test-categ_Po.c: Likewise.
17944         * tests/unictype/test-categ_S.c: Likewise.
17945         * tests/unictype/test-categ_Sc.c: Likewise.
17946         * tests/unictype/test-categ_So.c: Likewise.
17947         * tests/unictype/test-ctype_alnum.c: Likewise.
17948         * tests/unictype/test-ctype_alpha.c: Likewise.
17949         * tests/unictype/test-ctype_graph.c: Likewise.
17950         * tests/unictype/test-ctype_lower.c: Likewise.
17951         * tests/unictype/test-ctype_print.c: Likewise.
17952         * tests/unictype/test-ctype_punct.c: Likewise.
17953         * tests/unictype/test-ctype_upper.c: Likewise.
17954         * tests/unictype/test-decdigit.h: Likewise.
17955         * tests/unictype/test-digit.h: Likewise.
17956         * tests/unictype/test-numeric.h: Likewise.
17957         * tests/unictype/test-pr_alphabetic.c: Likewise.
17958         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
17959         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
17960         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
17961         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
17962         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
17963         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
17964         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
17965         * tests/unictype/test-pr_combining.c: Likewise.
17966         * tests/unictype/test-pr_composite.c: Likewise.
17967         * tests/unictype/test-pr_currency_symbol.c: Likewise.
17968         * tests/unictype/test-pr_dash.c: Likewise.
17969         * tests/unictype/test-pr_decimal_digit.c: Likewise.
17970         * tests/unictype/test-pr_deprecated.c: Likewise.
17971         * tests/unictype/test-pr_diacritic.c: Likewise.
17972         * tests/unictype/test-pr_extender.c: Likewise.
17973         * tests/unictype/test-pr_grapheme_base.c: Likewise.
17974         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
17975         * tests/unictype/test-pr_grapheme_link.c: Likewise.
17976         * tests/unictype/test-pr_id_continue.c: Likewise.
17977         * tests/unictype/test-pr_id_start.c: Likewise.
17978         * tests/unictype/test-pr_ideographic.c: Likewise.
17979         * tests/unictype/test-pr_ignorable_control.c: Likewise.
17980         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
17981         * tests/unictype/test-pr_lowercase.c: Likewise.
17982         * tests/unictype/test-pr_numeric.c: Likewise.
17983         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
17984         * tests/unictype/test-pr_punctuation.c: Likewise.
17985         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
17986         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
17987         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
17988         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
17989         * tests/unictype/test-pr_uppercase.c: Likewise.
17990         * tests/unictype/test-pr_xid_continue.c: Likewise.
17991         * tests/unictype/test-pr_xid_start.c: Likewise.
17992         * tests/unictype/test-pr_zero_width.c: Likewise.
17993         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
17994         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
17995         changed behaviour: line breaking is now disallowed between a letter
17996         or '=' and '('.
17997         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
17998         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
17999         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
18000         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
18001         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18002         lib/uniwidth/width.c.
18003         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
18004         without comments, but with the original copyright notice.
18005         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18006         changes.
18007         * lib/unictype/categ_Cc.h: Likewise.
18008         * lib/unictype/categ_Co.h: Likewise.
18009         * lib/unictype/categ_Cs.h: Likewise.
18010         * lib/unictype/categ_Lt.h: Likewise.
18011         * lib/unictype/categ_Me.h: Likewise.
18012         * lib/unictype/categ_Pc.h: Likewise.
18013         * lib/unictype/categ_Pe.h: Likewise.
18014         * lib/unictype/categ_Pf.h: Likewise.
18015         * lib/unictype/categ_Pi.h: Likewise.
18016         * lib/unictype/categ_Ps.h: Likewise.
18017         * lib/unictype/categ_Sk.h: Likewise.
18018         * lib/unictype/categ_Sm.h: Likewise.
18019         * lib/unictype/categ_Z.h: Likewise.
18020         * lib/unictype/categ_Zl.h: Likewise.
18021         * lib/unictype/categ_Zp.h: Likewise.
18022         * lib/unictype/categ_Zs.h: Likewise.
18023         * lib/unictype/ctype_blank.h: Likewise.
18024         * lib/unictype/ctype_cntrl.h: Likewise.
18025         * lib/unictype/ctype_digit.h: Likewise.
18026         * lib/unictype/ctype_space.h: Likewise.
18027         * lib/unictype/ctype_xdigit.h: Likewise.
18028         * lib/unictype/mirror.h: Likewise.
18029         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18030         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18031         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18032         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18033         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18034         * lib/unictype/pr_bidi_control.h: Likewise.
18035         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18036         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18037         * lib/unictype/pr_bidi_pdf.h: Likewise.
18038         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18039         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18040         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18041         * lib/unictype/pr_format_control.h: Likewise.
18042         * lib/unictype/pr_hex_digit.h: Likewise.
18043         * lib/unictype/pr_hyphen.h: Likewise.
18044         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18045         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18046         * lib/unictype/pr_iso_control.h: Likewise.
18047         * lib/unictype/pr_join_control.h: Likewise.
18048         * lib/unictype/pr_left_of_pair.h: Likewise.
18049         * lib/unictype/pr_line_separator.h: Likewise.
18050         * lib/unictype/pr_math.h: Likewise.
18051         * lib/unictype/pr_non_break.h: Likewise.
18052         * lib/unictype/pr_not_a_character.h: Likewise.
18053         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18054         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18055         * lib/unictype/pr_other_id_continue.h: Likewise.
18056         * lib/unictype/pr_other_id_start.h: Likewise.
18057         * lib/unictype/pr_other_lowercase.h: Likewise.
18058         * lib/unictype/pr_other_math.h: Likewise.
18059         * lib/unictype/pr_other_uppercase.h: Likewise.
18060         * lib/unictype/pr_paired_punctuation.h: Likewise.
18061         * lib/unictype/pr_paragraph_separator.h: Likewise.
18062         * lib/unictype/pr_pattern_syntax.h: Likewise.
18063         * lib/unictype/pr_pattern_white_space.h: Likewise.
18064         * lib/unictype/pr_private_use.h: Likewise.
18065         * lib/unictype/pr_quotation_mark.h: Likewise.
18066         * lib/unictype/pr_radical.h: Likewise.
18067         * lib/unictype/pr_soft_dotted.h: Likewise.
18068         * lib/unictype/pr_space.h: Likewise.
18069         * lib/unictype/pr_titlecase.h: Likewise.
18070         * lib/unictype/pr_variation_selector.h: Likewise.
18071         * lib/unictype/pr_white_space.h: Likewise.
18072         * lib/unictype/sy_c_ident.h: Likewise.
18073         * lib/unictype/sy_c_whitespace.h: Likewise.
18074         * lib/unictype/sy_java_whitespace.h: Likewise.
18075         * modules/uni*/*: Bump version number of expected libunistring version.
18076         Reported by Simon Josefsson.
18077
18078 2011-01-09  Karl Heuer  <kwzh@gnu.org>
18079
18080         useless-if-before-free: fix typo in --help and make the internal,
18081         automatic version date update process work once again.
18082         --help output contained a NUL character instead of the
18083         backslash-zero that was intended.  Also, the "must lie within
18084         the first 8 lines" line is on line 9, and hence not getting
18085         automatically updated.
18086         * build-aux/useless-if-before-free: Fix the former by adding a
18087         backslash, and the latter by condensing the three lines of what-it-does
18088         to a single line, leaving one line of slack for the future.
18089
18090 2011-01-09  Bruno Haible  <bruno@clisp.org>
18091
18092         uniwidth/width: Fix width of U+1D173..U+1D17A.
18093         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
18094         symbolic_width, output_width_property_test): New functions.
18095         (main): Invoke output_nonspacing_property, output_width_property_test.
18096         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
18097         U+1D173..U+1D17A.
18098         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
18099         1.
18100         * modules/uniwidth/*: Bump version number of expected libunistring
18101         version.
18102         * modules/unilbrk/*: Likewise.
18103
18104 2011-01-08  Bruno Haible  <bruno@clisp.org>
18105
18106         uninorm tests: Preserve copyright of Unicode data file.
18107         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
18108         Mention modifications.
18109
18110 2011-01-08  Bruno Haible  <bruno@clisp.org>
18111
18112         gen-uni-tables: Prepare for Unicode 5.2.0.
18113         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
18114         (debug_output_lbp, output_lbp): Update.
18115
18116 2011-01-08  Bruno Haible  <bruno@clisp.org>
18117
18118         unilbrk: Clarify gen-uni-tables.c code.
18119         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
18120         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
18121         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
18122
18123 2011-01-07  Bruno Haible  <bruno@clisp.org>
18124
18125         strtod: Restore errno when successfully parsing Infinity or NaN.
18126         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
18127         restore the original errno.
18128
18129 2011-01-07  Bruno Haible  <bruno@clisp.org>
18130
18131         remove test: Avoid failure on HP-UX 11.
18132         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
18133
18134 2011-01-07  Bruno Haible  <bruno@clisp.org>
18135
18136         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
18137         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
18138         error code.
18139
18140 2011-01-07  Pádraig Brady <P@draigBrady.com>
18141
18142         ignore-value: fixup comments, and add Eric Blake
18143         as an author since he rewrote the macros.
18144         * lib/ignore-value.h (ignore_value):  State that
18145         we now support aggregates.  Also specify exactly
18146         when the GCC warn_unused_result feature was added.
18147
18148 2011-01-06  Eric Blake  <eblake@redhat.com>
18149
18150         ignore-value: support aggregate types
18151         * lib/ignore-value.h (ignore_value): Provide separate gcc
18152         definition.
18153         * modules/ignore-value-tests: New test module.
18154         * tests/test-ignore-value.c: New test.
18155
18156         maint.mk: improve sc_prohibit_strcmp regex
18157         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
18158         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
18159         definition of STRNEQ.
18160
18161         signal: work around Haiku issue with SIGBUS
18162         * lib/siglist.h: Add comment.
18163         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
18164         strsignal's favoring of SIGSEGV.
18165         * tests/test-signal.c (main): Avoid test failure.
18166         * doc/posix-headers/signal.texi (signal.h): Document the issue.
18167         Reported by Scott McCreary.
18168
18169         maint.mk: add pre-release check to ensure submodule commits are public
18170         * top/maint.mk (public-submodule-commit): New rule.
18171         (submodule-checks): New variable.
18172         (alpha beta stable): Depend on the variable.
18173
18174 2011-01-05  Pádraig Brady <P@draigBrady.com>
18175         and Jim Meyering  <meyering@redhat.com>
18176
18177         ignore-value: make ignore_value more generic; deprecate ignore_ptr
18178         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
18179         (ATTRIBUTE_DEPRECATED): Define.
18180         (_ignore_case): New function.
18181         (ignore_value): New macro, to replace the old function.
18182         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
18183         * modules/ignore-value (Depends-on): Add stdint.
18184
18185 2011-01-04  Eric Blake  <eblake@redhat.com>
18186
18187         doc: regenerate INSTALL
18188         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
18189         @firstparagraphindent support, now that autoconf dropped it.
18190         (INSTALL_PRELUDE): Reinstate old macro.
18191         * doc/install.texi: Resync from autoconf.
18192         * doc/INSTALL: Reflect recent autoconf update.
18193         * doc/INSTALL.ISO: Likewise.
18194         * doc/INSTALL.UTF-8: Likewise.
18195         Reported by Karl Berry.
18196
18197 2011-01-04  Bruce Korb  <address@hidden>
18198
18199         git-version-gen: avoid a sub-shell
18200         * build-aux/git-version-gen: Redirect stderr in `...` via
18201         "exec 2>...", rather than via an added sub-shell.
18202
18203 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
18204
18205         git-version-gen: use (...) rather than sh -c '...'
18206         * build-aux/git-version-gen: Rather than hard-coding a shell's name
18207         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
18208
18209 2011-01-03  Jim Meyering  <meyering@redhat.com>
18210
18211         git-version-gen: convert leading TABs to spaces
18212         * build-aux/git-version-gen: Expand leading TABs.
18213
18214         git-version-gen: handle failed "git rev-list"
18215         * build-aux/git-version-gen: Rather than leaking a "fatal" error
18216         from git and proceeding as if it had succeeded but printed no SHA1
18217         checksums, suppress the diagnostic and handle the failure.
18218         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
18219
18220         git-version-gen: include command name in one more diagnostic
18221         * build-aux/git-version-gen: When the required .tarball-version file
18222         was missing or unreadable, you might see the diagnostic from "cat",
18223         but no trace of the name of the invoking script.  Now, you still see
18224         the diagnostic from cat, but also get one from "git-version-gen: ".
18225         Inspired by a patch from Bruce Korb.
18226
18227         update-copyright: adjust test to match changed code
18228         * tests/test-update-copyright.sh: Change test's expected output
18229         to match new actual output.
18230
18231 2011-01-02  Bruno Haible  <bruno@clisp.org>
18232
18233         getlogin_r: Avoid test failure on HP-UX 11.
18234         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
18235         ERANGE when the second argument is zero.
18236         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
18237         portability problem.
18238
18239 2011-01-02  Bruce Korb  <bkorb@gnu.org>
18240
18241         * build-aux/update-copyright: doc Simon's changes
18242
18243 2011-01-02  Simon Josefsson  <simon@josefsson.org>
18244
18245         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
18246         environment variable.
18247
18248 2011-01-02  Bruno Haible  <bruno@clisp.org>
18249
18250         unigbrk: Avoid gcc warnings.
18251         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
18252         unused variable.
18253         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
18254         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
18255         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
18256         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
18257         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
18258         Change type of first argument to 'const char *'.
18259         (main): Remove unused variable.
18260         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
18261         type of first argument to 'const char *'.
18262         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
18263         Likewise.
18264         (main): Change type of variable 's'.
18265         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
18266         to 'int'.
18267
18268 2011-01-02  Bruno Haible  <bruno@clisp.org>
18269
18270         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
18271         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
18272         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
18273         bug.
18274         * lib/pwrite.c: Undo 2010-12-31 patch.
18275         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
18276
18277 2011-01-02  Bruno Haible  <bruno@clisp.org>
18278
18279         pread: Fix test whether it works.
18280         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
18281
18282 2011-01-02  Bruno Haible  <bruno@clisp.org>
18283
18284         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
18285         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
18286         ends in "6". Don't require a specific month name. Try also the locale
18287         names found on HP-UX 11 and Solaris 7.
18288
18289 2011-01-02  Bruno Haible  <bruno@clisp.org>
18290
18291         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
18292         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
18293         C linkage.
18294         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
18295
18296 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18297
18298         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
18299         for consistency, since the "cluster" term is not used elsewhere.
18300         * lib/unigbrk.in.h: Update name.
18301         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
18302         * lib/unigbrk/u16-grapheme-next.c: Update name.
18303         * lib/unigbrk/u16-grapheme-prev.c: Update name.
18304         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
18305         * lib/unigbrk/u32-grapheme-next.c: Update name.
18306         * lib/unigbrk/u32-grapheme-prev.c: Update name.
18307         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
18308         * lib/unigbrk/u8-grapheme-next.c: Update name.
18309         * lib/unigbrk/u8-grapheme-prev.c: Update name.
18310         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
18311         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
18312         Suggested by Bruno Haible.
18313
18314 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18315
18316         Remove module 'u8-grapheme-len' as too redundant with
18317         'u8-grapheme-next'.
18318         * modules/unigbrk/u8-grapheme-len: Delete file.
18319         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
18320         * lib/unigbrk.in.h: Remove prototype for deleted function.
18321         * lib/unigbrk/u8-grapheme-len.c: Delete file.
18322         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
18323
18324         Remove module 'u16-grapheme-len' as too redundant with
18325         'u16-grapheme-next'.
18326         * modules/unigbrk/u16-grapheme-len: Delete file.
18327         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
18328         * lib/unigbrk.in.h: Remove prototype for deleted function.
18329         * lib/unigbrk/u16-grapheme-len.c: Delete file.
18330         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
18331
18332         Remove module 'u32-grapheme-len' as too redundant with
18333         'u32-grapheme-next'.
18334         * modules/unigbrk/u32-grapheme-len: Delete file.
18335         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
18336         * lib/unigbrk.in.h: Remove prototype for deleted function.
18337         * lib/unigbrk/u32-grapheme-len.c: Delete file.
18338         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
18339
18340         Suggested by Bruno Haible.
18341
18342 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18343
18344         * unigbrk.in.h: Fix typo: "ben" => "been".
18345         Reported by Bruno Haible.
18346
18347 2011-01-01  Jim Meyering  <meyering@redhat.com>
18348
18349         maint: update almost all copyright ranges to include 2011
18350         Run the new "make update-copyright" rule.
18351
18352 2011-01-01  Jim Meyering  <meyering@redhat.com>
18353
18354         maint: update-copyright: exempt doc/INSTALL*
18355         * Makefile (update-copyright): Also exclude doc/INSTALL*,
18356         since they are generated.  Suggested by Bruno Haible.
18357
18358 2011-01-01  Jim Meyering  <meyering@redhat.com>
18359
18360         maint: refine the update-copyright rule
18361         * Makefile (update-copyright): Also exclude any file that includes
18362         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
18363         code that merely generates the comment.
18364
18365 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
18366
18367         New module 'u8-grapheme-len'.
18368         * modules/unigbrk/u8-grapheme-len: New file.
18369         * modules/unigbrk/u8-grapheme-len-tests: New file.
18370         * lib/unigbrk.in.h: Add prototype for new function.
18371         * lib/unigbrk/u8-grapheme-len.c: New file.
18372         * tests/unigbrk/test-u8-grapheme-len.c: New file.
18373
18374         New module 'u16-grapheme-len'.
18375         * modules/unigbrk/u16-grapheme-len: New file.
18376         * modules/unigbrk/u16-grapheme-len-tests: New file.
18377         * lib/unigbrk.in.h: Add prototype for new function.
18378         * lib/unigbrk/u16-grapheme-len.c: New file.
18379         * tests/unigbrk/test-u16-grapheme-len.c: New file.
18380
18381         New module 'u32-grapheme-len'.
18382         * modules/unigbrk/u32-grapheme-len: New file.
18383         * modules/unigbrk/u32-grapheme-len-tests: New file.
18384         * lib/unigbrk.in.h: Add prototype for new function.
18385         * lib/unigbrk/u32-grapheme-len.c: New file.
18386         * tests/unigbrk/test-u32-grapheme-len.c: New file.
18387
18388         New module 'u8-grapheme-next'.
18389         * modules/unigbrk/u8-grapheme-next: New file.
18390         * modules/unigbrk/u8-grapheme-next-tests: New file.
18391         * lib/unigbrk.in.h: Add prototype for new function.
18392         * lib/unigbrk/u8-grapheme-next.c: New file.
18393         * tests/unigbrk/test-u8-grapheme-next.c: New file.
18394
18395         New module 'u16-grapheme-next'.
18396         * modules/unigbrk/u16-grapheme-next: New file.
18397         * modules/unigbrk/u16-grapheme-next-tests: New file.
18398         * lib/unigbrk.in.h: Add prototype for new function.
18399         * lib/unigbrk/u16-grapheme-next.c: New file.
18400         * tests/unigbrk/test-u16-grapheme-next.c: New file.
18401
18402         New module 'u32-grapheme-next'.
18403         * modules/unigbrk/u32-grapheme-next: New file.
18404         * modules/unigbrk/u32-grapheme-next-tests: New file.
18405         * lib/unigbrk.in.h: Add prototype for new function.
18406         * lib/unigbrk/u32-grapheme-next.c: New file.
18407         * tests/unigbrk/test-u32-grapheme-next.c: New file.
18408
18409         New module 'u8-grapheme-prev'.
18410         * modules/unigbrk/u8-grapheme-prev: New file.
18411         * modules/unigbrk/u8-grapheme-prev-tests: New file.
18412         * lib/unigbrk.in.h: Add prototype for new function.
18413         * lib/unigbrk/u8-grapheme-prev.c: New file.
18414         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
18415
18416         New module 'u16-grapheme-prev'.
18417         * modules/unigbrk/u16-grapheme-prev: New file.
18418         * modules/unigbrk/u16-grapheme-prev-tests: New file.
18419         * lib/unigbrk.in.h: Add prototype for new function.
18420         * lib/unigbrk/u16-grapheme-prev.c: New file.
18421         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
18422
18423         New module 'u32-grapheme-prev'.
18424         * modules/unigbrk/u32-grapheme-prev: New file.
18425         * modules/unigbrk/u32-grapheme-prev-tests: New file.
18426         * lib/unigbrk.in.h: Add prototype for new function.
18427         * lib/unigbrk/u32-grapheme-prev.c: New file.
18428         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
18429
18430         New module 'u8-grapheme-breaks'.
18431         * modules/unigbrk/u8-grapheme-breaks: New file.
18432         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
18433         * lib/unigbrk.in.h: Add prototype for new function.
18434         * lib/unigbrk/u8-grapheme-breaks.c: New file.
18435         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
18436
18437         New module 'u16-grapheme-breaks'.
18438         * modules/unigbrk/u16-grapheme-breaks: New file.
18439         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
18440         * lib/unigbrk.in.h: Add prototype for new function.
18441         * lib/unigbrk/u16-grapheme-breaks.c: New file.
18442         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
18443
18444         New module 'u32-grapheme-breaks'.
18445         * modules/unigbrk/u32-grapheme-breaks: New file.
18446         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
18447         * lib/unigbrk.in.h: Add prototype for new function.
18448         * lib/unigbrk/u32-grapheme-breaks.c: New file.
18449         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
18450
18451         New module 'ulc-grapheme-breaks'.
18452         * modules/unigbrk/ulc-grapheme-breaks: New file.
18453         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
18454         * m4/locale-ar.m4: New file.
18455         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
18456         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
18457         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
18458
18459 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
18460
18461         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
18462         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
18463         modified how this file was generated before I initially submitted
18464         the module, but failed to regenerate it.  This meant that several
18465         of the level2 entries were wrong.
18466         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
18467         Remove the division-by-2 that is folded into the table now that
18468         gbrkprop.h has been regenerated properly.  Now -1 entries are
18469         handled correctly.
18470
18471         New module 'unigbrk/uc-gbrk-prop-tests'.
18472         * modules/unigbrk/uc-gbrk-prop-tests: New file.
18473         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
18474         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
18475         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
18476
18477 2011-01-01  Bruno Haible  <bruno@clisp.org>
18478
18479         Avoid use of hexadecimal escapes.
18480         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
18481         instead of hexadecimal escapes.
18482
18483 2011-01-01  Jim Meyering  <meyering@redhat.com>
18484
18485         maint: new rule to update copyright year ranges
18486         * Makefile (update-copyright): New rule.
18487
18488         maint: indent with TABs in Makefile
18489         * Makefile: Expand leading sequences of spaces to TABs
18490
18491         version-etc: update the copyright year it reports
18492         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
18493
18494 2010-12-31  Bruno Haible  <bruno@clisp.org>
18495
18496         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
18497         * lib/isfinite.c (zerof, zerod, zerol): New variables.
18498         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
18499         zero.
18500
18501 2010-12-31  Bruno Haible  <bruno@clisp.org>
18502
18503         pwrite: Work around HP-UX 11.11 bug.
18504         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
18505         works and set REPLACE_PWRITE if not.
18506         * lib/pwrite.c (pwrite): Add an implementation that uses the system
18507         function.
18508         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
18509
18510 2010-12-31  Bruno Haible  <bruno@clisp.org>
18511
18512         pread: Work around HP-UX 11 bugs.
18513         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
18514         and set REPLACE_PREAD if not.
18515         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
18516
18517 2010-12-31  Eric Blake  <eblake@redhat.com>
18518
18519         nl_langinfo: fix YESEXPR on Irix 6.5
18520         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
18521         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
18522         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
18523         it.
18524
18525 2010-12-31  Bruno Haible  <bruno@clisp.org>
18526
18527         iconv: Document HP-UX 11 bug.
18528         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
18529
18530 2010-12-31  Bruno Haible  <bruno@clisp.org>
18531
18532         ldexpl: Fix link error on HP-UX 11.
18533         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
18534         LDEXPL_LIBM, using $ISNANL_LIBM.
18535
18536 2010-12-31  Eric Blake  <eblake@redhat.com>
18537
18538         ftello: avoid compilation failure with SunStudio c89
18539         * lib/ftello.c (ftello): Use lseek, not llseek.
18540
18541         tests: avoid failing coreutils tests on cygwin
18542         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
18543         (create_exe_shims_): Return 0 when skipping.
18544
18545 2010-12-31  Bruno Haible  <bruno@clisp.org>
18546
18547         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
18548         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
18549
18550 2010-12-31  Bruno Haible  <bruno@clisp.org>
18551
18552         waitpid: Fix link error in C++ mode.
18553         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
18554
18555 2010-12-31  Bruno Haible  <bruno@clisp.org>
18556
18557         isnan: Use GCC built-ins when possible.
18558         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
18559         __builtin_isnan.
18560         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
18561         (isnan): Define using GCC built-ins for GCC >= 4.0.
18562
18563 2010-12-31  Bruno Haible  <bruno@clisp.org>
18564
18565         isnand: Fix mistake.
18566         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
18567         __builtin_isnand.
18568
18569 2010-12-31  Bruno Haible  <bruno@clisp.org>
18570
18571         open: Avoid C++ error on HP-UX 11.
18572         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
18573
18574 2010-12-31  Bruno Haible  <bruno@clisp.org>
18575
18576         time_r: Add missing declarations on HP-UX 11.
18577         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
18578         instead of HAVE_LOCALTIME_R.
18579         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
18580         HAVE_LOCALTIME_R always.
18581         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
18582         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
18583         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
18584         HAVE_LOCALTIME_R.
18585         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
18586         * doc/posix-functions/localtime_r.texi: Likewise.
18587
18588 2010-12-29  Eric Blake  <eblake@redhat.com>
18589
18590         mountlist: tweak previous commit
18591         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
18592         Reported by Paul Eggert.
18593
18594         mountlist: fix local drive detection on cygwin
18595         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
18596         that works for cygwin.
18597
18598 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
18599
18600         ftoastr, snprintf: ftoastr + snprintf module
18601         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
18602         since the snprintf module now should be good enough here.
18603         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
18604         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
18605         and gl_MODULE_INDICATOR([snprintf]), but the former enables
18606         GNULIB_SNPRINTF only for the test directory, and the latter
18607         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
18608         seems to suffice by itself.
18609
18610 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
18611
18612         alloca: one step towards thread-safety
18613         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
18614         need for a static variable.  All callers changed.  This does not
18615         make the alloca replacement thread-safe, but it's one step.
18616
18617         tests: minor indenting change
18618         * tests/init.sh: Sync from coreutils housekeeping patch
18619         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
18620         to keep lines within 80 columns.
18621
18622 2010-12-28  Jim Meyering  <meyering@redhat.com>
18623
18624         regex: don't infloop on persistent failing calloc
18625         * lib/regexec.c (build_trtable): Return failure indication upon
18626         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
18627         In glibc, this was fixed for version 2.13:
18628         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
18629
18630 2010-12-28  Bruno Haible  <bruno@clisp.org>
18631             Paul Eggert <eggert@cs.ucla.edu>
18632
18633         linkat: Make implementation robust against system behaviour variations.
18634         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
18635         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
18636         way, and to -2 if it needs a generic runtime test.
18637         * lib/linkat.c (solaris_optimized_link_immediate,
18638         solaris_optimized_link_follow): New functions.
18639         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
18640         (check_same_link): Use it.
18641
18642 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
18643
18644         New module 'unigbrk/base'.
18645         * modules/unigbrk/base: New file.
18646         * lib/unigbrk.in.h: New file.
18647
18648         New module 'unigbrk/uc-gbrk-prop'.
18649         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
18650         * modules/unigbrk/uc-gbrk-prop: New file.
18651         * lib/unigbrk/gbrkprop.h: New file.
18652         * lib/unigbrk/uc-gbrk-prop.c: New file.
18653
18654         New module 'unigbrk/uc-is-grapheme-break'.
18655         * modules/unigbrk/uc-is-grapheme-break: New file.
18656         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
18657         * lib/unigbrk/uc-is-grapheme-break.c: New file.
18658         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
18659         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
18660         * tests/unigbrk/GraphemeBreakTest.txt: New file.
18661
18662         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
18663
18664 2010-12-27  Bruno Haible  <bruno@clisp.org>
18665
18666         linkat test: Avoid failure on Solaris 11 2010-11.
18667         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
18668
18669 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
18670
18671         utimens: work around glibc rounding bug on more platforms
18672         * lib/utimens.c (fdutimens): Work around rounding bug even if
18673         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
18674         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
18675
18676 2010-12-27  Bruno Haible  <bruno@clisp.org>
18677
18678         select tests: Improve comments.
18679         * tests/test-select.c (do_select): Add comments.
18680
18681 2010-12-27  Bruno Haible  <bruno@clisp.org>
18682
18683         select tests: Safer way of handling timeout.
18684         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
18685         at every invocation.
18686
18687 2010-12-27  Bruno Haible  <bruno@clisp.org>
18688
18689         select tests: Use 'bool' where appropriate.
18690         * tests/test-select.c (connect_to_socket): Change argument type to
18691         'bool'.
18692
18693 2010-12-27  Bruno Haible  <bruno@clisp.org>
18694
18695         select tests: Use existing modules.
18696         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
18697         (configure.ac): Don't test for unistd.h.
18698         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
18699         declared in <unistd.h>.
18700
18701 2010-12-27  Bruno Haible  <bruno@clisp.org>
18702
18703         mbrtowc: Work around a Solaris 7 bug.
18704         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
18705         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
18706         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
18707         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
18708         MBRTOWC_NULL_ARG1_BUG.
18709         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
18710         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
18711         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
18712         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
18713
18714 2010-12-27  Jim Meyering  <meyering@redhat.com>
18715
18716         read-file.c: tweak syntax
18717         * lib/read-file.c (fread_file): Remove space after "*" in function
18718         definitions.
18719
18720 2010-12-27  Bruno Haible  <bruno@clisp.org>
18721
18722         times test: Avoid gcc warnings on OSF/1.
18723         * tests/test-times.c (main): Cast printf arguments from clock_t to
18724         'long int'.
18725
18726 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
18727
18728         utimens: work around glibc rounding bug on older Linux kernels
18729         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
18730         on Linux with a glibc whose utimes might not work, then work
18731         around a longstanding glibc bug involving rounding rather than
18732         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
18733         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
18734
18735 2010-12-26  Bruno Haible  <bruno@clisp.org>
18736
18737         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
18738         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
18739         _GL_CXXALIAS_SYS.
18740         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18741
18742 2010-12-26  Bruno Haible  <bruno@clisp.org>
18743
18744         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
18745         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
18746         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
18747         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
18748         looking for the declaration.
18749         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
18750         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
18751         problem.
18752         * doc/posix-functions/inet_pton.texi: Likewise.
18753
18754 2010-12-26  Bruno Haible  <bruno@clisp.org>
18755
18756         arpa_inet: Use the common idioms with C++ support.
18757         * lib/arpa_inet.in.h: Include c++defs.h.
18758         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
18759         support.
18760         * modules/arpa_inet (Depends-on): Add c++defs.
18761         (Makefile.am): Substitute the contents of c++defs.h.
18762         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
18763         * modules/arpa_inet-c++-tests: New file.
18764         * tests/test-arpa_inet-c++.cc: New file.
18765
18766 2010-12-25  Bruno Haible  <bruno@clisp.org>
18767
18768         Fix more C++ link errors on Solaris 8.
18769         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
18770         $(LIB_EACCESS).
18771         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
18772         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
18773         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
18774         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
18775         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
18776
18777 2010-12-25  Bruno Haible  <bruno@clisp.org>
18778
18779         printf-posix: Fix link error when a non-GCC compiler is used.
18780         * lib/stdio.in.h (printf): When not using GCC, override printf
18781         correctly.
18782         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18783
18784 2010-12-25  Bruno Haible  <bruno@clisp.org>
18785
18786         strerror_r-posix: Update doc.
18787         * doc/posix-functions/strerror_r.texi: Update doc about the return
18788         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
18789
18790 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
18791
18792         utimens: simplify the logic of the previous change
18793         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
18794         This should not affect whether the test succeeds or fails.
18795
18796         utimens: configure better on hosts with NFS clock skew
18797         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
18798         uses the clock of the local host.  It might use the clock of the
18799         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
18800         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
18801
18802 2010-12-25  Bruno Haible  <bruno@clisp.org>
18803
18804         ptsname test: Avoid failure on Solaris.
18805         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
18806         open a pseudo-terminal; don't use BSD-style ptys.
18807         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
18808
18809 2010-12-25  Bruno Haible  <bruno@clisp.org>
18810
18811         ptsname: Avoid ERANGE failure on some systems.
18812         * lib/ptsname.c (buffer): Increase size.
18813
18814 2010-12-25  Bruno Haible  <bruno@clisp.org>
18815
18816         rename, renameat: Avoid test failures at NFS mounted locations.
18817         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
18818         so that subsequent mkdir calls succeed.
18819
18820 2010-12-25  Bruno Haible  <bruno@clisp.org>
18821
18822         iswblank: Fix C++ link error on Solaris 8.
18823         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
18824         _GL_FUNCDECL_SYS.
18825
18826 2010-12-25  Bruno Haible  <bruno@clisp.org>
18827
18828         unistd: Fix C++ link error on Solaris 8.
18829         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
18830
18831 2010-12-25  Bruno Haible  <bruno@clisp.org>
18832
18833         readlink doc: Mention an old glibc bug.
18834         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
18835
18836 2010-12-25  Bruno Haible  <bruno@clisp.org>
18837
18838         fcntl-h: Fix for use of C++ on glibc systems.
18839         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
18840         also on glibc systems in C++ mode.
18841         Reported by Gary V. Vaughan <gary@gnu.org>.
18842
18843 2010-12-25  Bruno Haible  <bruno@clisp.org>
18844
18845         roundl-ieee: Make it work on OSF/1 5.1 with cc.
18846         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
18847
18848 2010-12-25  Bruno Haible  <bruno@clisp.org>
18849
18850         truncl-ieee: Make it work on OSF/1 5.1 with cc.
18851         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
18852         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
18853         test whether truncl works according to ISO C 99 with IEC 60559.
18854         * m4/truncl-ieee.m4: New file.
18855         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
18856         m4/signbit.m4.
18857         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
18858
18859 2010-12-25  Bruno Haible  <bruno@clisp.org>
18860
18861         ceill-ieee: Make it work on OSF/1 5.1 with cc.
18862         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
18863         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
18864         test whether ceill works according to ISO C 99 with IEC 60559.
18865         * m4/ceill-ieee.m4: New file.
18866         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
18867         m4/signbit.m4.
18868         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
18869
18870 2010-12-25  Bruno Haible  <bruno@clisp.org>
18871
18872         Ensure all prerequisites of <wchar.h> are included.
18873         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
18874         before <wchar.h>.
18875         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
18876         gl_MBRLEN_NUL_RETVAL): Likewise.
18877         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
18878         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
18879         AC_FUNC_MBRTOWC): Likewise.
18880         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
18881         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
18882         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
18883         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
18884         Likewise.
18885         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
18886         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
18887         (gl_WCHAR_H): Improve comments.
18888         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
18889
18890 2010-12-25  Bruno Haible  <bruno@clisp.org>
18891
18892         strtok_r: Fix C syntax error in autoconf macro.
18893         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
18894         characters in test program.
18895
18896 2010-12-24  Bruno Haible  <bruno@clisp.org>
18897
18898         ceil, trunc, round: Fix gcc warnings.
18899         * lib/ceil.c (MIN): Undefine before redefining.
18900         * lib/trunc.c (MIN): Likewise.
18901         * lib/round.c (MIN): Likewise.
18902         Include <math.h> first.
18903
18904 2010-12-24  Bruno Haible  <bruno@clisp.org>
18905
18906         select tests: Avoid failures on OSF/1 5.1.
18907         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
18908         failure of closing the last socket; it may fail with ECONNRESET.
18909
18910 2010-12-24  Eric Blake  <eblake@redhat.com>
18911
18912         stdint: avoid HP-UX 10.20 preprocessor bug
18913         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
18914         than #if.
18915         * tests/test-floor2.c (main): Likewise.
18916         Reported by Peter O'Gorman.
18917
18918         pipe: make obsoletion transition easier
18919         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
18920         * modules/pipe (Files): Include revived file.
18921         (Include): Drop reference, to mirror getdate's behavior.
18922
18923 2010-12-24  Bruno Haible  <bruno@clisp.org>
18924
18925         sys_socket: Hide mismatch of declarations on NonStop Kernel.
18926         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
18927         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
18928         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18929
18930 2010-12-24  Bruno Haible  <bruno@clisp.org>
18931
18932         gethostname: Ensure declaration on NonStop Kernel.
18933         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
18934         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18935
18936 2010-12-24  Bruno Haible  <bruno@clisp.org>
18937
18938         sys_select: Ensure all necessary types on NonStop Kernel.
18939         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
18940         include <sys/time.h>.
18941         * doc/posix-headers/sys_select.texi: Mention that it's missing on
18942         NonStop Kernel.
18943         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18944
18945 2010-12-24  Bruno Haible  <bruno@clisp.org>
18946
18947         sys_select: Remove unneeded include.
18948         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
18949         have <sys/select.h>.
18950
18951 2010-12-24  Bruno Haible  <bruno@clisp.org>
18952
18953         gethostname: Provide a fallback for HOST_NAME_MAX.
18954         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
18955         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
18956         instead.
18957         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18958
18959 2010-12-24  Bruno Haible  <bruno@clisp.org>
18960
18961         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
18962         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
18963         (SA_RESTART): Likewise.
18964         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18965
18966 2010-12-24  Bruno Haible  <bruno@clisp.org>
18967
18968         signal: Define NSIG.
18969         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
18970         * tests/test-signal.c (nsig): New variable.
18971         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18972
18973 2010-12-24  Bruno Haible  <bruno@clisp.org>
18974
18975         rename, renameat: Avoid test failures on OSF/1 5.1.
18976         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
18977         alternative error codes.
18978         * tests/test-renameat.c (main): Likewise.
18979
18980 2010-12-24  Bruno Haible  <bruno@clisp.org>
18981
18982         *printf: Detect large precisions bug on Solaris 10/SPARC.
18983         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
18984         by Paul Eggert.
18985         * tests/test-snprintf-posix.h (test_function): Add this test code here
18986         too.
18987         * tests/test-sprintf-posix.h (test_function): Likewise.
18988         * tests/test-vasnprintf-posix.c (test_function): Likewise.
18989         * tests/test-vasprintf-posix.c (test_function): Likewise.
18990         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
18991         around by gnulib.
18992         * doc/posix-functions/printf.texi: Likewise.
18993         * doc/posix-functions/snprintf.texi: Likewise.
18994         * doc/posix-functions/sprintf.texi: Likewise.
18995         * doc/posix-functions/vfprintf.texi: Likewise.
18996         * doc/posix-functions/vprintf.texi: Likewise.
18997         * doc/posix-functions/vsnprintf.texi: Likewise.
18998         * doc/posix-functions/vsprintf.texi: Likewise.
18999         * doc/posix-functions/dprintf.texi: Undo last commit.
19000         * doc/posix-functions/vdprintf.texi: Likewise.
19001
19002 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19003
19004         tests: port test-fdutimensat.c to Solaris 8
19005         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
19006         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
19007         On Solaris 8, it fails with errno == ENOSYS, because there is no
19008         futimens (so it can't use the fd), and there is no lutimens (so it
19009         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
19010
19011         vsnprintf: make more consistent with snprintf; doc fixes
19012
19013         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
19014         the byte count return problem was promoted from the snprintf-posix
19015         to the snprintf module.
19016         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
19017         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
19018         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
19019         * tests/test-snprintf.c (main): Check the byte count returned.
19020         * tests/test-vsnprintf.c (main): Likewise.
19021
19022 2010-12-23  Eric Blake  <eblake@redhat.com>
19023
19024         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
19025         * modules/sigpipe (License): Relax license.
19026
19027 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19028
19029         doc: document Solaris printf bug with large float precisions
19030         * doc/posix-functions/dprintf.texi (dprintf):
19031         * doc/posix-functions/fprintf.texi (fprintf):
19032         * doc/posix-functions/printf.texi (printf):
19033         * doc/posix-functions/snprintf.texi (snprintf):
19034         * doc/posix-functions/sprintf.texi (sprintf):
19035         * doc/posix-functions/vdprintf.texi (vdprintf):
19036         * doc/posix-functions/vfprintf.texi (vfprintf):
19037         * doc/posix-functions/vprintf.texi (vprintf):
19038         * doc/posix-functions/vsnprintf.texi (vsnprintf):
19039         * doc/posix-functions/vsprintf.texi (vsprintf):
19040         Mention that these functions mishandle large floating point
19041         precisions on Solaris 10.  The same bug is also present in Solaris
19042         8, and I assume earlier.  This causes "cd gnulib-tests; make
19043         check" to fail on Solaris 8 (and I assume, later) when building
19044         the latest coreutils, in test-vasprintf-posix's call to
19045         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
19046         the wide flavors (e.g., wprintf) so this patch just updates the
19047         documentation for the narrow ones.
19048
19049         test-posixtm.c: add two tests
19050         * tests/test-posixtm.c: Add two tests, to highlight the
19051         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
19052         around this bug; this is merely to document it.
19053
19054 2010-12-22  Bruno Haible  <bruno@clisp.org>
19055
19056         getlogin_r: Work around portability problem on OSF/1.
19057         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
19058         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
19059         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
19060         test for a truncated result.
19061         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
19062         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
19063         * modules/getlogin_r (Depends-on): Add memchr.
19064         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
19065
19066 2010-12-22  Bruno Haible  <bruno@clisp.org>
19067
19068         ptsname: Avoid test failure on OSF/1 5.1.
19069         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
19070         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
19071         (same_slave): New function.
19072         (main): Use it to compare ptsname's result with the expected file name.
19073
19074 2010-12-22  Bruno Haible  <bruno@clisp.org>
19075
19076         Port extended stdio modules to HP NonStop Kernel.
19077         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
19078         macros.
19079         * lib/fbufmode.c: Update comments.
19080         * lib/fflush.c: Likewise.
19081         * lib/fpurge.c: Likewise.
19082         * lib/freadable.c: Likewise.
19083         * lib/freadahead.c: Likewise.
19084         * lib/freading.c: Likewise.
19085         * lib/freadptr.c: Likewise.
19086         * lib/freadseek.c: Likewise.
19087         * lib/fseeko.c: Likewise.
19088         * lib/fseterr.c: Likewise.
19089         * lib/fwritable.c: Likewise.
19090         * lib/fwriting.c: Likewise.
19091         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19092
19093 2010-12-22  Bruno Haible  <bruno@clisp.org>
19094
19095         ttyname_r: Work around bug on OSF/1 5.1.
19096         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
19097         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
19098         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
19099         present.
19100         * lib/ttyname_r.c (ttyname_r): Update comments.
19101
19102 2010-12-22  Bruno Haible  <bruno@clisp.org>
19103
19104         round: Implement result sign according to IEEE 754.
19105         * lib/round.c (MIN, MINUS_ZERO): New macros.
19106         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
19107         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
19108         * tests/test-round-ieee.c (main): Likewise.
19109         * tests/test-roundl-ieee.c (main): Likewise.
19110
19111         trunc: Implement result sign according to IEEE 754.
19112         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
19113         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
19114         * tests/test-trunc2.c: Include minus-zero.h.
19115         (MINUS_ZERO): New macro.
19116         (trunc_reference): Keep in sync with lib/trunc.c.
19117         * tests/test-truncf2.c: Include minus-zero.h.
19118         (MINUS_ZERO): New macro.
19119         (truncf_reference): Keep in sync with lib/trunc.c.
19120         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
19121         * tests/test-trunc-ieee.c (main): Likewise.
19122         * tests/test-truncl-ieee.c (main): Likewise.
19123
19124         ceil: Implement result sign according to IEEE 754.
19125         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
19126         (FUNC): Return -0.0 for -1 < x < 0.
19127         * tests/test-ceil2.c: Include minus-zero.h.
19128         (MINUS_ZERO): New macro.
19129         (ceil_reference): Keep in sync with lib/ceil.c.
19130         * tests/test-ceilf2.c: Include minus-zero.h.
19131         (MINUS_ZERO): New macro.
19132         (ceilf_reference): Keep in sync with lib/ceil.c.
19133         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
19134         * tests/test-ceil-ieee.c (main): Likewise.
19135         * tests/test-ceill-ieee.c (main): Likewise.
19136
19137         floor: Implement result sign according to IEEE 754.
19138         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
19139         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
19140         * tests/test-floorf2.c (floorf_reference): Likewise.
19141         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
19142         * tests/test-floor-ieee.c (main): Likewise.
19143         * tests/test-floorl-ieee.c (main): Likewise.
19144
19145 2010-12-22  Bruno Haible  <bruno@clisp.org>
19146
19147         getaddrinfo: Update doc.
19148         * doc/posix-functions/gai_strerror.texi: Return type is also different
19149         on AIX and HP-UX.
19150
19151 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19152
19153         getaddrinfo, inet_ntop: Update doc for Solaris.
19154         * doc/posix-functions/gai_strerror.texi: Return type is also an
19155         issue on Solaris 9 and earlier.
19156         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
19157         on Solaris 10 and earlier.
19158
19159 2010-12-21  Bruno Haible  <bruno@clisp.org>
19160
19161         New module 'roundl-ieee'.
19162         * modules/roundl-ieee: New file.
19163         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
19164         test whether roundl works according to ISO C 99 with IEC 60559.
19165         * m4/roundl-ieee.m4: New file.
19166         * modules/roundl-ieee-tests: New file.
19167         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
19168         * tests/test-roundl.c (main): Remove signbit tests.
19169         * modules/roundl-tests (Depends-on): Remove signbit.
19170         * doc/posix-functions/roundl.texi: Mention the new module.
19171
19172 2010-12-21  Bruno Haible  <bruno@clisp.org>
19173
19174         New module 'truncl-ieee'.
19175         * modules/truncl-ieee: New file.
19176         * modules/truncl-ieee-tests: New file.
19177         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
19178         * tests/test-truncl.c (main): Remove signbit tests.
19179         * modules/truncl-tests (Depends-on): Remove signbit.
19180         * doc/posix-functions/truncl.texi: Mention the new module.
19181
19182 2010-12-21  Bruno Haible  <bruno@clisp.org>
19183
19184         New module 'ceill-ieee'.
19185         * modules/ceill-ieee: New file.
19186         * modules/ceill-ieee-tests: New file.
19187         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
19188         * tests/test-ceill.c (main): Remove signbit tests.
19189         * modules/ceill-tests (Depends-on): Remove signbit.
19190         * doc/posix-functions/ceill.texi: Mention the new module.
19191
19192 2010-12-21  Bruno Haible  <bruno@clisp.org>
19193
19194         New module 'floorl-ieee'.
19195         * modules/floorl-ieee: New file.
19196         * modules/floorl-ieee-tests: New file.
19197         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
19198         * tests/test-floorl.c (main): Remove signbit tests.
19199         * modules/floorl-tests (Depends-on): Remove signbit.
19200         * doc/posix-functions/floorl.texi: Mention the new module.
19201
19202 2010-12-21  Bruno Haible  <bruno@clisp.org>
19203
19204         New module 'round-ieee'.
19205         * modules/round-ieee: New file.
19206         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
19207         whether round works according to ISO C 99 with IEC 60559.
19208         * m4/round-ieee.m4: New file.
19209         * modules/round-ieee-tests: New file.
19210         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
19211         * tests/test-round1.c (main): Remove signbit tests.
19212         * modules/round-tests (Depends-on): Remove 'signbit'.
19213         * doc/posix-functions/round.texi: Mention the new module.
19214
19215 2010-12-21  Bruno Haible  <bruno@clisp.org>
19216
19217         New module 'trunc-ieee'.
19218         * modules/trunc-ieee: New file.
19219         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
19220         whether trunc works according to ISO C 99 with IEC 60559.
19221         * m4/trunc-ieee.m4: New file.
19222         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
19223         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
19224         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
19225         * modules/trunc-ieee-tests: New file.
19226         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
19227         * tests/test-trunc1.c (main): Remove signbit tests.
19228         * modules/trunc-tests (Depends-on): Remove 'signbit'.
19229         * doc/posix-functions/trunc.texi: Mention the new module.
19230
19231 2010-12-21  Bruno Haible  <bruno@clisp.org>
19232
19233         New module 'ceil-ieee'.
19234         * modules/ceil-ieee: New file.
19235         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
19236         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
19237         ISO C 99 with IEC 60559.
19238         * m4/ceil-ieee.m4: New file.
19239         * modules/ceil (Files): Add lib/ceil.c.
19240         (Depends-on): Add 'float'.
19241         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
19242         * lib/math.in.h (ceil): New declaration.
19243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
19244         REPLACE_CEIL.
19245         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
19246         * modules/ceil-ieee-tests: New file.
19247         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
19248         * tests/test-math-c++.cc: Check the signature of 'ceil'.
19249         * doc/posix-functions/ceil.texi: Mention the new module.
19250
19251 2010-12-21  Bruno Haible  <bruno@clisp.org>
19252
19253         New module 'floor-ieee'.
19254         * modules/floor-ieee: New file.
19255         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
19256         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
19257         ISO C 99 with IEC 60559.
19258         * m4/floor-ieee.m4: New file.
19259         * modules/floor (Files): Add lib/floor.c.
19260         (Depends-on): Add 'float'.
19261         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
19262         * lib/math.in.h (floor): New declaration.
19263         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
19264         REPLACE_FLOOR.
19265         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
19266         * modules/floor-ieee-tests: New file.
19267         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
19268         * tests/test-math-c++.cc: Check the signature of 'floor'.
19269         * doc/posix-functions/floor.texi: Mention the new module.
19270
19271 2010-12-21  Bruno Haible  <bruno@clisp.org>
19272
19273         New module 'roundf-ieee'.
19274         * modules/roundf-ieee: New file.
19275         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
19276         test whether roundf works according to ISO C 99 with IEC 60559.
19277         * m4/roundf-ieee.m4: New file.
19278         * modules/roundf-ieee-tests: New file.
19279         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
19280         * tests/test-roundf1.c (main): Remove signbit tests.
19281         * modules/roundf-tests (Depends-on): Remove 'signbit'.
19282         * doc/posix-functions/roundf.texi: Mention the new module.
19283
19284 2010-12-21  Bruno Haible  <bruno@clisp.org>
19285
19286         New module 'truncf-ieee'.
19287         * modules/truncf-ieee: New file.
19288         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
19289         test whether truncf works according to ISO C 99 with IEC 60559.
19290         * m4/truncf-ieee.m4: New file.
19291         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
19292         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
19293         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
19294         * modules/truncf-ieee-tests: New file.
19295         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
19296         * tests/test-truncf1.c (main): Remove signbit tests.
19297         * modules/truncf-tests (Depends-on): Remove 'signbit'.
19298         * doc/posix-functions/truncf.texi: Mention the new module.
19299
19300 2010-12-21  Bruno Haible  <bruno@clisp.org>
19301
19302         New module 'ceilf-ieee'.
19303         * modules/ceilf-ieee: New file.
19304         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
19305         test whether ceilf works according to ISO C 99 with IEC 60559.
19306         * m4/ceilf-ieee.m4: New file.
19307         * modules/ceilf-ieee-tests: New file.
19308         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
19309         * tests/test-ceilf1.c (main): Remove signbit tests.
19310         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
19311         * doc/posix-functions/ceilf.texi: Mention the new module.
19312
19313 2010-12-21  Bruno Haible  <bruno@clisp.org>
19314
19315         New module 'floorf-ieee'.
19316         * modules/floorf-ieee: New file.
19317         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
19318         test whether floorf works according to ISO C 99 with IEC 60559.
19319         * m4/floorf-ieee.m4: New file.
19320         * modules/floorf-ieee-tests: New file.
19321         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
19322         * tests/test-floorf1.c (main): Remove signbit tests.
19323         * modules/floorf-tests (Depends-on): Remove 'signbit'.
19324         * doc/posix-functions/floorf.texi: Mention the new module.
19325
19326 2010-12-21  Bruno Haible  <bruno@clisp.org>
19327
19328         Support for minus zero in autoconf macros.
19329         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
19330         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
19331         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
19332         * tests/minus-zero.h: Update comments.
19333
19334 2010-12-21  Bruno Haible  <bruno@clisp.org>
19335
19336         Tests for module 'ceil'.
19337         * modules/ceil-tests: New file.
19338         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
19339         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
19340
19341 2010-12-21  Bruno Haible  <bruno@clisp.org>
19342
19343         Tests for module 'floor'.
19344         * modules/floor-tests: New file.
19345         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
19346         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
19347
19348 2010-12-21  Bruno Haible  <bruno@clisp.org>
19349
19350         math: Fix indentation.
19351         * lib/math.in.h (floorf): Fix indentation.
19352
19353 2010-12-21  Bruno Haible  <bruno@clisp.org>
19354
19355         Fix cross-compilation guesses on Solaris.
19356         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
19357         not match "solaris2.10".
19358         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
19359         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
19360         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
19361
19362 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
19363
19364         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
19365         This fixes a problem observed with the latest coreutils snapshot
19366         that caused a test to fail on Solaris 8.  src/csplit.c's call
19367         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
19368         earlier, instead of returning the number of bytes that would have
19369         been generated; this causes csplit to incorrectly report memory
19370         exhaustion.
19371         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
19372         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
19373         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
19374         comments to match.
19375         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
19376         Fix typo in matching older versions of Solaris: "solaris2.10"
19377         is matched by the shell pattern "solaris2.[0-9]*".  This matters
19378         only for guessing while cross-compiling.
19379         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
19380
19381 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
19382
19383         ftoastr: fix comment again
19384         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
19385         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
19386         Also, simplify example a bit by using flags = 0.
19387
19388 2010-12-20  Bruno Haible  <bruno@clisp.org>
19389
19390         round*, trunc*: Update documentation regarding glibc.
19391         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
19392         * doc/posix-functions/round.texi: Likewise.
19393         * doc/posix-functions/roundl.texi: Likewise.
19394         * doc/posix-functions/truncf.texi: Likewise.
19395         * doc/posix-functions/trunc.texi: Likewise.
19396         * doc/posix-functions/truncl.texi: Likewise.
19397
19398 2010-12-20  Bruno Haible  <bruno@clisp.org>
19399
19400         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
19401         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
19402         * doc/posix-functions/round.texi: Likewise.
19403         * doc/posix-functions/roundl.texi: Likewise.
19404
19405 2010-12-20  Bruno Haible  <bruno@clisp.org>
19406
19407         ttyname_r: Add missing declaration on HP-UX 11.
19408         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
19409         HAVE_TTYNAME_R.
19410         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
19411         declared. Set HAVE_TTYNAME_R always.
19412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19413         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
19414         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
19415         HAVE_TTYNAME_R.
19416         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
19417
19418 2010-12-20  Bruno Haible  <bruno@clisp.org>
19419
19420         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
19421         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
19422         * doc/posix-functions/getlogin_r.texi: Likewise.
19423         * tests/test-getlogin.c: Include <errno.h>.
19424         (main): Avoid test failure on HP-UX 11.11.
19425         * tests/test-getlogin_r.c (main): Likewise.
19426
19427 2010-12-20  Bruno Haible  <bruno@clisp.org>
19428
19429         getlogin_r: Add missing declaration on HP-UX 11.
19430         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
19431         declared also when it exists as a function.
19432         * doc/posix-functions/getlogin_r.texi: Document this workaround.
19433
19434 2010-12-20  Bruno Haible  <bruno@clisp.org>
19435
19436         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
19437         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
19438         through wcrtomb.
19439
19440 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
19441
19442         ftoastr: fix comment
19443         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
19444         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
19445
19446 2010-12-19  Bruno Haible  <bruno@clisp.org>
19447
19448         isnan: Ensure it is a macro.
19449         * lib/math.in.h (isnan): Define as a macro if not already a macro.
19450         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
19451         Solaris.
19452
19453 2010-12-19  Bruno Haible  <bruno@clisp.org>
19454
19455         ldexpl test: Fix link error on OSF/1 5.1.
19456         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
19457
19458 2010-12-19  Bruno Haible  <bruno@clisp.org>
19459
19460         wctype: Make it work in C++ mode on OSF/1 5.1.
19461         * lib/wctype.in.h (iswblank): Declare but not define here.
19462         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
19463         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
19464         * modules/wctype (Files): Add lib/iswblank.c.
19465
19466 2010-12-19  Bruno Haible  <bruno@clisp.org>
19467
19468         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
19469         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
19470         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
19471
19472 2010-12-19  Bruno Haible  <bruno@clisp.org>
19473
19474         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
19475         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
19476         _POSIX_PII_SOCKET.
19477         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
19478         * doc/posix-functions/recvfrom.texi: Likewise.
19479         * doc/posix-functions/send.texi: Likewise.
19480         * doc/posix-functions/sendto.texi: Likewise.
19481
19482 2010-12-19  Bruno Haible  <bruno@clisp.org>
19483
19484         tcgetsid: Add missing declaration on OSF/1 5.1.
19485         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
19486         HAVE_TCGETSID.
19487         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
19488         Don't set HAVE_TCGETSID.
19489         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
19490         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
19491         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
19492         HAVE_TCGETSID.
19493         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
19494
19495 2010-12-19  Bruno Haible  <bruno@clisp.org>
19496
19497         stdio: Fix problem with popen() declaration on OSF/1 5.1.
19498         * lib/stdio.in.h: During the include_next statement, let recursive
19499         includes of this file include only the system header file.
19500
19501 2010-12-19  Bruno Haible  <bruno@clisp.org>
19502
19503         iconv_open: Fix regression from 2010-12-04.
19504         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
19505         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
19506
19507 2010-12-19  Bruno Haible  <bruno@clisp.org>
19508
19509         stdbool test: Avoid a gcc warning.
19510         * tests/test-stdbool.c (main): Fail if e1 is false.
19511         Reported by Jim Meyering.
19512
19513 2010-12-19  Jim Meyering  <meyering@redhat.com>
19514
19515         setenv: restore to working order
19516         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
19517         mistakenly removed.
19518         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
19519         HAVE_SETENV.
19520         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
19521         HAVE_SETENV.
19522
19523 2010-12-19  Bruno Haible  <bruno@clisp.org>
19524
19525         Document some different function declarations on OSF/1 5.1.
19526         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
19527         * doc/posix-functions/inet_ntop.texi: Likewise.
19528         * doc/posix-functions/gethostname.texi: Likewise.
19529         * lib/unistd.in.h (gethostname): Update comment.
19530
19531 2010-12-19  Bruno Haible  <bruno@clisp.org>
19532
19533         doc: Mention vasprintf-posix module.
19534         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
19535         the 'vasprintf-posix' module.
19536         * doc/glibc-functions/vasprintf.texi: Likewise.
19537
19538 2010-12-19  Bruno Haible  <bruno@clisp.org>
19539
19540         unsetenv: Add missing declaration on OSF/1 5.1.
19541         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
19542         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
19543         Don't set HAVE_UNSETENV. In the test program, set _BSD.
19544         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
19545         not HAVE_UNSETENV.
19546         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
19547         HAVE_UNSETENV.
19548         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
19549
19550 2010-12-19  Bruno Haible  <bruno@clisp.org>
19551
19552         setenv: Add missing declaration on OSF/1 5.1.
19553         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
19554         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
19555         declared. Don't set HAVE_SETENV.
19556         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
19557         not HAVE_SETENV.
19558         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
19559         HAVE_SETENV.
19560         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
19561
19562 2010-12-19  Bruno Haible  <bruno@clisp.org>
19563
19564         nl_langinfo tests: Avoid gcc warning.
19565         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
19566
19567 2010-12-19  Bruno Haible  <bruno@clisp.org>
19568
19569         mknod: Avoid error in C++ mode on OSF/1 with GCC.
19570         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
19571         _GL_CXXALIAS_SYS.
19572
19573 2010-12-19  Bruno Haible  <bruno@clisp.org>
19574
19575         stdbool: Relax test.
19576         * tests/test-stdbool.c (e): Don't require that casts from a variable's
19577         address to 'bool' work in static initializer, for compilers other than
19578         GCC.
19579
19580 2010-12-19  Bruno Haible  <bruno@clisp.org>
19581
19582         ftello: Add missing declaration on OSF/1 5.1.
19583         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
19584         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
19585         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
19586         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
19587         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
19588
19589 2010-12-19  Bruno Haible  <bruno@clisp.org>
19590
19591         fseeko: Add missing declaration on OSF/1 5.1.
19592         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
19593         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
19594         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
19595         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
19596         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
19597
19598 2010-12-19  Bruno Haible  <bruno@clisp.org>
19599
19600         fchdir: Add missing declaration on OSF/1 5.1.
19601         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
19602         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
19603         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
19604         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
19605         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
19606
19607 2010-12-19  Bruno Haible  <bruno@clisp.org>
19608
19609         relocatable-prog-wrapper: Separate from relocatable-prog.
19610         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
19611         uninstall-relocwrapper rule here.
19612         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
19613         Reported by Ian Beckwith <ianb@erislabs.net>.
19614
19615 2010-12-19  Bruno Haible  <bruno@clisp.org>
19616
19617         unistr/u8-mbsnlen: Add missing dependency.
19618         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
19619         Reported by Ian Beckwith <ianb@erislabs.net>.
19620
19621 2010-12-19  Bruno Haible  <bruno@clisp.org>
19622
19623         iconv: Make it possible again to use this module without 'iconv-h'.
19624         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
19625         if it is not defined.
19626         Reported by Ian Beckwith <ianb@erislabs.net>.
19627
19628 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
19629
19630         acl: port to Solaris 8 when copying from tmpfs to ufs
19631         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
19632         error number.  Problem observed on Solaris 8 with latest
19633         coreutils, with "mv A B", where A is on a tmpfs file system and B
19634         is on a ufs file system.  This caused coreutils' mv/part-symlink
19635         test to fail.
19636
19637         tests: set fail=0 at start
19638         * tests/init.sh (setup_): Move fail=0 initialization here ...
19639         (mktempd_): ... from here, so that tests can rely on fail being
19640         set to 0 initially.  This fixes a problem in coreutils; see:
19641         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
19642
19643 2010-12-18  Bruno Haible  <bruno@clisp.org>
19644
19645         memmem-simple: Stylistic changes.
19646         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
19647         Fix preprocessor directive indentation.
19648
19649 2010-12-15  Pádraig Brady <P@draigBrady.com>
19650
19651         memmem, memmem-simple: reorganize and expand empty needle check
19652         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
19653         functional checks to memmem-simple so that one has a fully functional
19654         memmem by using just this module.
19655         Restrict the performance only check to the memmem module.
19656         Also expand the empty needle check to ensure the correct
19657         pointer is returned, not just a non NULL pointer.
19658         * doc/glibc-functions/memmem.texi: Rearrange the portability
19659         documentation to correlate with the rearranged checks.
19660         Clarify exactly how the memmem and memmem-simple modules
19661         relate to each other.
19662
19663 2010-12-15  Pádraig Brady <P@draigBrady.com>
19664             Bruno Haible  <bruno@clisp.org>
19665
19666         Improve cross-compilation guesses for uClibc.
19667         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
19668         that uClibc does not have the glibc bug.
19669         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
19670         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
19671
19672 2010-12-14  Eric Blake  <eblake@redhat.com>
19673
19674         configmake: provide fallbacks for oldest supported autotools
19675         * m4/configmake.m4: New file.
19676         * modules/configmake (Files): Ship it.
19677         (configure.ac): Use it to guarantee fallbacks.
19678
19679 2010-12-13  Pádraig Brady <P@draigBrady.com>
19680
19681         read-file: Improve handling of large files
19682         * lib/read-file.c (fread_file): Minimize realloc()s
19683         for regular files, and better manage sizes around SIZE_MAX.
19684
19685 2010-12-13  Eric Blake  <eblake@redhat.com>
19686
19687         cloexec, fcntl: relax license
19688         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
19689         consent from all contributors.
19690         * modules/fcntl (License): Likewise.
19691
19692 2010-12-10  Bruno Haible  <bruno@clisp.org>
19693
19694         Tests for module 'pipe-posix'.
19695         * modules/pipe-posix-tests: New file.
19696         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
19697
19698 2010-12-10  Bruno Haible  <bruno@clisp.org>
19699
19700         pipe-posix: Make it work in C++ mode.
19701         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
19702         (pipe): Use common idiom, not a macro definition.
19703         * lib/pipe.c: New file.
19704         * m4/pipe.m4: New file.
19705         * modules/pipe-posix (Description): Enhance.
19706         (Files): Add lib/pipe.c, m4/pipe.m4.
19707         (configure.ac): Invoke gl_FUNC_PIPE.
19708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
19709         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
19710         * tests/test-unistd-c++.cc: Check the signature of pipe.
19711
19712 2010-12-10  Bruno Haible  <bruno@clisp.org>
19713
19714         Rename module 'pipe' to 'spawn-pipe'.
19715         * modules/spawn-pipe: New file, renamed from modules/pipe.
19716         (Files, configure.ac, Makefile.am): Update.
19717         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
19718         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
19719         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
19720         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
19721         "spawn-pipe.h" instead of "pipe.h".
19722         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
19723         to gl_SPAWN_PIPE.
19724         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
19725         (Files, Makefile.am): Update.
19726         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
19727         Update.
19728         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
19729         Include "spawn-pipe.h" instead of "pipe.h".
19730         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
19731         * lib/javacomp.c: Likewise.
19732         * lib/javaversion.c: Likewise.
19733         * lib/pipe-filter-gi.c: Likewise.
19734         * lib/pipe-filter-ii.c: Likewise.
19735         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
19736         * modules/javacomp (Depends-on): Likewise.
19737         * modules/javaversion (Depends-on): Likewise.
19738         * modules/pipe-filter-gi (Depends-on): Likewise.
19739         * modules/pipe-filter-ii (Depends-on): Likewise.
19740         * MODULES.html.sh (Executing programs): Update.
19741         * NEWS: Mention the change.
19742
19743 2010-12-10  Eric Blake  <eblake@redhat.com>
19744
19745         pipe-posix: new module
19746         * modules/pipe-posix: New file.
19747         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
19748         (gl_UNISTD_H): Check for declaration.
19749         * modules/unistd (Makefile.am): Substitute it.
19750         * lib/unistd.in.h (pipe): Provide it for mingw.
19751         * doc/posix-functions/pipe.texi (pipe): Update documentation.
19752         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
19753
19754 2010-12-07  Bruno Haible  <bruno@clisp.org>
19755
19756         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
19757         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
19758         u8_strcmp_gnu.
19759         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
19760
19761 2010-12-06  Bruno Haible  <bruno@clisp.org>
19762
19763         Update internal documentation.
19764         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
19765
19766 2010-12-04  Bruno Haible  <bruno@clisp.org>
19767
19768         Put more information about failed tests into the test return codes.
19769         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
19770         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
19771         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
19772         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
19773         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
19774         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
19775         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
19776         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
19777         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
19778         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19779         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
19780         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
19781         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
19782         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19783         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
19784         returns a bit mask.
19785         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
19786         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
19787         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
19788         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
19789         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
19790         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
19791         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
19792         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
19793         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
19794         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
19795         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
19796         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
19797         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
19798         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
19799         * m4/link.m4 (gl_FUNC_LINK): Likewise.
19800         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
19801         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
19802         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
19803         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
19804         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
19805         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
19806         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
19807         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
19808         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
19809         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
19810         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
19811         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
19812         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
19813         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
19814         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
19815         gl_PRINTF_PRECISION): Likewise.
19816         * m4/regex.m4 (gl_REGEX): Likewise.
19817         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
19818         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19819         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
19820         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19821         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
19822         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
19823         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
19824         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
19825         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
19826         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
19827         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
19828         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
19829         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
19830         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
19831         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19832         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19833         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
19834         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
19835         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
19836         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
19837         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
19838         enumerated value.
19839         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
19840
19841 2010-12-04  Bruno Haible  <bruno@clisp.org>
19842
19843         Update for Solaris 11 2010-11.
19844         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
19845         Express, released in November 2010.
19846
19847 2010-12-04  Bruno Haible  <bruno@clisp.org>
19848
19849         nproc: Relax license.
19850         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
19851         and Paul Eggert.
19852         Requested by Ludovic Courtès <ludo@gnu.org>.
19853
19854 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
19855
19856         utimecmp: fine-grained src to nearby coarse-grained dest
19857
19858         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
19859         and the source is on a file system with higher-resolution time
19860         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
19861         not work, and the time stamps are close together, the algorithm to
19862         determine the exact resolution from the read-back mtime was buggy:
19863         it had a "!=" where it should have had an "==".  This bug has been
19864         in the code ever since it was introduced to gnulib.
19865         Problem reported by Dan Jacobson in
19866         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
19867
19868 2010-11-30  Bruno Haible  <bruno@clisp.org>
19869
19870         strerror_r-posix: Fix autoconf test.
19871         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
19872
19873 2010-11-28  Bruno Haible  <bruno@clisp.org>
19874             Paul Eggert  <eggert@cs.ucla.edu>
19875
19876         Tests for module 'getdomainname'.
19877         * modules/getdomainname-tests: New file.
19878         * tests/test-getdomainname.c: New file, based on
19879         tests/test-gethostname.c.
19880
19881 2010-11-28  Bruno Haible  <bruno@clisp.org>
19882             Paul Eggert  <eggert@cs.ucla.edu>
19883
19884         getdomainname: Use the system function when possible.
19885         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
19886         (getdomainname): Replace if needed. Provide the declaration if it is
19887         missing. Don't use _GL_CXXALIAS_SYS_CAST.
19888         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
19889         (getdomainname): When the system has getdomainname, call the system
19890         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
19891         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
19892         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
19893         found in libnsl. Look for the declaration also in <netdb.h>. Replace
19894         the function if its second argument is of type 'int' or if it is found
19895         in libnsl.
19896         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
19897         <sys/systeminfo.h> and sysinfo().
19898         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
19899         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19900         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
19901         HAVE_GETDOMAINNAME.
19902         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
19903         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
19904         * doc/glibc-functions/getdomainname.texi: Document the problems with
19905         the getdomainname declaration.
19906
19907 2010-11-28  Bruno Haible  <bruno@clisp.org>
19908
19909         sys_socket: Ensure ss_family field on AIX.
19910         * lib/sys_socket.in.h (ss_family): New macro definition.
19911         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
19912         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
19913         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
19914         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
19915         * modules/sys_socket (Makefile.am): Substitute
19916         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
19917         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
19918
19919 2010-11-27  Bruno Haible  <bruno@clisp.org>
19920
19921         readline: Improve configure output.
19922         * m4/readline.m4 (gl_FUNC_READLINE): Make the
19923         "checking for readline..." result understandable.
19924
19925 2010-11-27  Bruno Haible  <bruno@clisp.org>
19926
19927         *printf-posix: Detect a bug on Solaris 10/x86.
19928         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
19929         for floating-point output.
19930         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
19931         directive.
19932         * tests/test-snprintf-posix.h (test_function): Likewise.
19933         * tests/test-sprintf-posix.h (test_function): Likewise.
19934         * tests/test-vasprintf-posix.c (test_function): Likewise.
19935         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
19936         * doc/posix-functions/printf.texi: Likewise.
19937         * doc/posix-functions/snprintf.texi: Likewise.
19938         * doc/posix-functions/sprintf.texi: Likewise.
19939         * doc/posix-functions/vfprintf.texi: Likewise.
19940         * doc/posix-functions/vprintf.texi: Likewise.
19941         * doc/posix-functions/vsnprintf.texi: Likewise.
19942         * doc/posix-functions/vsprintf.texi: Likewise.
19943         * doc/glibc-functions/obstack_printf.texi: Likewise.
19944         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
19945
19946 2010-11-27  Bruno Haible  <bruno@clisp.org>
19947
19948         Fix link error when module libunistring-optional is in use.
19949         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
19950         * modules/striconveha-tests (Makefile.am): Likewise.
19951
19952 2010-11-27  Bruno Haible  <bruno@clisp.org>
19953
19954         regex: Mention link dependencies.
19955         * modules/regex (Link): New section.
19956         * modules/rpmatch (Link): Likewise.
19957         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
19958
19959 2010-11-27  Bruno Haible  <bruno@clisp.org>
19960
19961         ftoastr: Fix compilation error on Solaris.
19962         * lib/ftoastr.c: Include <config.h>.
19963
19964 2010-11-27  Bruno Haible  <bruno@clisp.org>
19965
19966         getloadavg: Update documentation.
19967         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
19968
19969 2010-11-27  Bruno Haible  <bruno@clisp.org>
19970
19971         sys_socket: Fix test whether the functions are declared.
19972         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
19973         not <sys/select.h>.
19974
19975 2010-11-27  Bruno Haible  <bruno@clisp.org>
19976
19977         getpass: Make sure to get system declaration on some platforms.
19978         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
19979         gl_USE_SYSTEM_EXTENSIONS.
19980         * modules/getpass (Depends-on): Add extensions.
19981
19982 2010-11-26  Bruno Haible  <bruno@clisp.org>
19983
19984         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
19985         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
19986         'iconv' module is present.
19987         (ICONV_CONST): New macro.
19988         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
19989         ICONV_CONST.
19990         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
19991         set ICONV_CONST.
19992         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
19993         here.
19994         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
19995         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
19996         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
19997         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
19998         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
19999         present.
20000
20001 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20002
20003         ftoastr: comment fix
20004         * lib/ftoastr.c: "little" -> "little or no" in comment
20005
20006 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20007
20008         stdint: port to GCC 4.3 + OSX + Octave
20009         On this platform, stdint.h is buggy and defines int64_t to long
20010         long int.  The replacement defined it to long int, causing
20011         problems with C++ style name mangling.  Instead, trust the system
20012         definition if INT64_MAX is defined, and likewise for the unsigned
20013         variant.   Problem reported by Jarno Rajahalme in
20014         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
20015         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
20016         and don't mess with int64_t and INT64_MAX in this case.
20017         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
20018
20019 2010-11-24  Bruno Haible  <bruno@clisp.org>
20020
20021         doc: Corrections regarding MacOS X 10.4 and 10.5.
20022         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
20023         MacOS X.
20024         Reported by Simon Josefsson.
20025
20026 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
20027
20028         Uninstall ".bin" files installed by relocwrapper.
20029         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
20030         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
20031         unless it is already there.
20032
20033 2010-11-21  Bruno Haible  <bruno@clisp.org>
20034
20035         Update for NetBSD 5.0.
20036         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
20037         NetBSD; the test fails on NetBSD 5.0.
20038         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
20039         about NetBSD.
20040
20041 2010-11-21  Bruno Haible  <bruno@clisp.org>
20042
20043         Update for HP-UX 11.23 and HP-UX 11.31.
20044         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
20045         HP-UX.
20046
20047 2010-11-21  Bruno Haible  <bruno@clisp.org>
20048
20049         Update for MacOS X 10.5.
20050         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
20051         MacOS X; the test fails on MacOS X 10.5.8.
20052         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
20053         about MacOS X.
20054
20055 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
20056
20057         bootstrap: add bootstrap_sync option.
20058         See discussion at
20059         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
20060         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
20061         * build-aux/bootstrap: Accept --bootstrap-sync to update
20062         bootstrap if it is not identical to the local gnulib's
20063         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
20064         enable this by default.  Accept --no-bootstrap-sync to disable
20065         it.
20066
20067 2010-11-20  Bruno Haible  <bruno@clisp.org>
20068
20069         Ensure that <features.h> is included before __GLIBC__ is tested.
20070         * lib/printf-parse.h: Include <features.h>.
20071         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
20072         Reported by Mike Frysinger <vapier@gentoo.org>.
20073
20074         Ensure that <features.h> is included before __GLIBC__ is tested.
20075         * lib/wchar.in.h: Include <features.h>.
20076         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
20077         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
20078         Reported by Mike Frysinger <vapier@gentoo.org>.
20079
20080         Ensure that <features.h> is included before __GLIBC__ is tested.
20081         * lib/arpa_inet.in.h: Include <features.h>.
20082         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
20083         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
20084         Reported by Mike Frysinger <vapier@gentoo.org>.
20085
20086         Ensure that <features.h> is included before __GLIBC__ is tested.
20087         * build-aux/link-warning.h: Include <features.h>.
20088         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
20089         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
20090         Reported by Mike Frysinger <vapier@gentoo.org>.
20091
20092         Ensure that <features.h> is included before __GLIBC__ is tested.
20093         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
20094         Reported by Mike Frysinger <vapier@gentoo.org>.
20095
20096 2010-11-20  Bruno Haible  <bruno@clisp.org>
20097
20098         memmem: Fix autoconf test.
20099         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
20100
20101 2010-11-20  Bruno Haible  <bruno@clisp.org>
20102
20103         Port to uClibc.
20104         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
20105         * lib/fcntl.in.h: Likewise.
20106         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
20107         * lib/mbrtowc.c (mbrtowc): Likewise.
20108         * lib/relocatable.c (find_shared_library_fullname): Likewise.
20109         * lib/strerror_r.c: Likewise.
20110         * lib/unistr/u8-strnlen.c: Likewise.
20111         * lib/vasnprintf.c (decimal_point_char): Likewise.
20112         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
20113         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20114         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
20115         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
20116         * tests/test-sigaction.c (handler, main): Likewise.
20117         * lib/freading.h: Treat uClibc like a non-glibc platform.
20118         * lib/freading.c: Likewise.
20119         * lib/gettext.h: Likewise.
20120         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
20121         Likewise.
20122         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
20123         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
20124         * lib/propername.c (proper_name_utf8): Likewise.
20125         * lib/spawn.in.h: Likewise.
20126         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
20127         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
20128         mem_cd_iconveh_internal): Likewise.
20129         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
20130         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
20131         strstr, strcasestr): Likewise.
20132         * lib/unicodeio.c (unicode_to_mb): Likewise.
20133         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
20134         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
20135         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
20136         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
20137         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
20138         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
20139         * lib/unistr/u8-stpncpy.c: Likewise.
20140         * lib/vasnprintf.c (VASNPRINTF): Likewise.
20141         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
20142         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20143         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20144         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
20145         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
20146         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
20147         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
20148         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
20149         Likewise.
20150         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
20151         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20152         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
20153         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20154         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
20155         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20156         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20157         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
20158         * tests/test-getopt.h (OPTIND_MIN): Likewise.
20159         * tests/test-striconveha.c (main): Likewise.
20160         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20161         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
20162         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
20163         * doc/posix-functions/getline.texi: Likewise.
20164         Reported by Mike Frysinger <vapier@gentoo.org>.
20165
20166 2010-11-20  Bruno Haible  <bruno@clisp.org>
20167
20168         nproc: Fix condition.
20169         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
20170         HAVE_PTHREAD_AFFINITY_NP.
20171
20172 2010-11-20  Bruno Haible  <bruno@clisp.org>
20173
20174         Fix a comment.
20175         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
20176
20177 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
20178
20179         ftoastr: don't assume snprintf
20180         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
20181         Implement a subset of snprintf here, by using sprintf safely.
20182         * modules/ftoastr (Depends-on): Remove snprintf.
20183
20184 2010-11-19  Jim Meyering  <meyering@redhat.com>
20185
20186         test-rename.h: fix compilation failure
20187         * tests/test-rename.h (test_rename): Add omitted "}".
20188
20189 2010-11-17  Jim Meyering  <meyering@redhat.com>
20190
20191         maint.mk: add a URL discussing the no-@acronym policy
20192         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
20193
20194 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
20195
20196         ftoastr: depend on snprintf, improve comments
20197         * lib/ftoastr.c: Also mention Loitsch's draft.
20198         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
20199         needed in the current implementation, but it might simplify
20200         speeding up the code later.
20201         * modules/ftoastr: Depend on snprintf; this improves portability.
20202         Suggested by Bruno Haible in the same email.
20203
20204         ftoastr: port to hosts lacking strtof and strtold
20205         Problem reported by Bruno Haible in
20206         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
20207         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
20208         environment and strtold (and presumably strtof) are not available.
20209         * modules/ftoastr (Files): Add m4/c-strtod.m4.
20210         (configure.ac): Require gl_C99_STRTOLD.
20211
20212 2010-11-18  Bruno Haible  <bruno@clisp.org>
20213
20214         c-strtold: Avoid link error on AIX 7.
20215         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
20216         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
20217         (gl_C_STRTOLD): Test whether strtold_l exists.
20218         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20219
20220 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
20221
20222         intprops: new macro INT_BITS_STRLEN_BOUND
20223         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
20224         ftoastr.h.  This exposes an internal of intprops.h that was formerly
20225         not exposed.  Also, it uses a slightly tighter bound than before;
20226         though this makes no practical difference, we might as well be as
20227         tight as we easily can.
20228
20229         ftoastr: new module, for lossless conversion of floats to short strings
20230         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
20231         * modules/ftoastr: New files.
20232
20233 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20234
20235         bootstrap: port to Solaris sed
20236         * build-aux/bootstrap (get_version): Port to Solaris sed.
20237         See Ralf Wildenhues's note in
20238         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
20239
20240 2010-11-14  Jim Meyering  <meyering@redhat.com>
20241
20242         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
20243         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
20244         and move definition closer to sole use.
20245
20246 2010-11-13  Jim Meyering  <meyering@redhat.com>
20247
20248         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
20249         Now we require at least autoconf-2.59, which means the work-around
20250         is no longer needed.
20251         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
20252         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
20253         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
20254         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
20255         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
20256
20257 2010-11-13  Bruno Haible  <bruno@clisp.org>
20258
20259         rename, renameat: Avoid test failures at NFS mounted locations.
20260         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
20261         functions.
20262         (test_rename): Use assert_nonexistent.
20263         * tests/test-rename.c: Include <dirent.h>.
20264         * tests/test-renameat.c: Likewise.
20265         Reported by Gary V. Vaughan <gary@gnu.org>.
20266
20267         rename, renameat: Document Linux bug with NFS
20268         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
20269         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
20270         * doc/posix-functions/renameat.texi: Likewise.
20271         Suggested by Eric Blake.
20272
20273 2010-11-13  Bruno Haible  <bruno@clisp.org>
20274
20275         rename test: Add comments.
20276         * tests/test-rename.h (test_rename): Add structure and comments.
20277
20278 2010-11-13  Eric Blake  <eblake@redhat.com>
20279
20280         maintainer-makefile: cover a few more files
20281         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
20282         scripts generated within C files, for libvirt.
20283
20284 2010-11-13  Bruno Haible  <bruno@clisp.org>
20285
20286         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
20287         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
20288         character, return the number of bytes that belong together, not always
20289         1.
20290         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
20291         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
20292         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
20293         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
20294         number of bytes of an invalid character.
20295         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
20296         (main): Invoke it.
20297         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
20298         results.
20299         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
20300         malformed byte sequences.
20301         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
20302         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
20303         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
20304         Reported by Ben Pfaff and Paolo Bonzini.
20305
20306 2010-11-13  Bruno Haible  <bruno@clisp.org>
20307
20308         openat: Work around glibc bug with fchownat() and empty file names.
20309         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
20310         (gl_FUNC_FCHOWNAT): Invoke it.
20311         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
20312         * doc/posix-functions/fchownat.texi: Document the glibc bug.
20313         Reported by Gary V. Vaughan <gary@gnu.org>.
20314
20315 2010-11-13  Bruno Haible  <bruno@clisp.org>
20316
20317         openat: Ensure autoconf macro ordering.
20318         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
20319         gl_USE_SYSTEM_EXTENSIONS.
20320         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
20321
20322 2010-11-13  Bruno Haible  <bruno@clisp.org>
20323
20324         Update comments.
20325         * lib/unistr/u8-check.c: Update file name in comments.
20326         * lib/unistr/u8-mblen.c: Likewise.
20327         * lib/unistr/u8-prev.c: Likewise.
20328         * lib/unistr/u8-strmblen.c: Likewise.
20329         * lib/unistr/u8-strmbtouc.c: Likewise.
20330
20331 2010-11-13  Jim Meyering  <meyering@redhat.com>
20332
20333         tests: avoid test failure on Solaris 10 due to lack of PATH export
20334         * tests/test-update-copyright.sh: Don't forget to export PATH.
20335
20336         init.sh: ensure that IFS is defined, just in case...
20337         * tests/init.sh (setup_): Ensure that IFS is defined,
20338         so that saving and restoring it works as expected.  This
20339         appears to be useful at least for an old version of dash
20340         from a long time ago (RH 6).  See here for details:
20341         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
20342
20343         maint.mk: tighten "test a == b" check
20344         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
20345         test to files that contain something like #!/bin/sh.
20346         Without this, coreutils would get two false positives in
20347         the comments of C source files.
20348
20349 2010-11-12  Eric Blake  <eblake@redhat.com>
20350
20351         bootstrap: fix typo in previous attempt
20352         * build-aux/bootstrap (buildreq): Correct the grouping.
20353         Reported by Paul Eggert.
20354
20355         maintainer-makefile: prohibit test x == x
20356         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
20357         Based on a report by Matthias Bolte.
20358
20359         bootstrap: allow FreeBSD gzip
20360         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
20361         which has no '.' and goes to stderr.
20362         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
20363         Reported by Matthias Bolte.
20364
20365         maintainer-makefile: check for i18n setup
20366         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
20367         will likely work.
20368
20369 2010-11-12  Bruno Haible  <bruno@clisp.org>
20370
20371         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
20372         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
20373         * lib/nanosleep.c (nanosleep): Likewise.
20374
20375 2010-11-11  Bruno Haible  <bruno@clisp.org>
20376
20377         fcntl-h: Fix for use of C++ on glibc systems.
20378         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
20379         also on glibc systems in C++ mode.
20380         Reported by Gary V. Vaughan <gary@gnu.org>.
20381
20382 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
20383
20384         mknod: avoid false failure with dash
20385         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
20386
20387 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
20388
20389         unlink: Fix "is it should" typo in diagnostic.
20390         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
20391         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
20392
20393 2010-11-11  Bruno Haible  <bruno@clisp.org>
20394
20395         Tests for module 'strerror_r-posix'.
20396         * modules/strerror_r-posix-tests: New file.
20397         * tests/test-strerror_r.c: New file.
20398         * tests/test-string-c++.cc: Check the signature of strerror_r.
20399
20400         New module 'strerror_r-posix'.
20401         * lib/string.in.h (strerror_r): New declaration.
20402         * lib/strerror_r.c: New file.
20403         * m4/strerror_r.m4: New file.
20404         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
20405         of strerror_r.
20406         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
20407         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
20408         * modules/strerror_r-posix: New file.
20409         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
20410         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
20411         * doc/posix-functions/strerror_r.texi: Mention the new module and the
20412         portability problems.
20413
20414 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
20415
20416         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
20417         line is also considered for output. Quoted function name in shell
20418         command, so temporary files for functions like MyClass::operator()
20419         are removed correctly without errors.
20420
20421 2010-11-09  Bruno Haible  <bruno@clisp.org>
20422
20423         * doc/posix-functions/strerror.texi: List more failing platforms.
20424
20425         * doc/posix-functions/strerror.texi: Add a comment.
20426
20427 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
20428
20429         fdopendir: fix bug on MacOS X when low on file descriptors
20430
20431         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
20432         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
20433         All callers changed.
20434         (fdopendir): Invoke save_cwd at the top level, not after using
20435         multiple dup() calls to use up file descriptors.  Then retry
20436         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
20437         less than the maximum number of open file descriptors, because
20438         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
20439         on Mac OS X 10.6.4 for tar 1.24
20440         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
20441         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
20442         and for tar 1.25
20443         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
20444
20445 2010-11-07  Bruno Haible  <bruno@clisp.org>
20446
20447         vasnprintf: Support I flag on glibc systems.
20448         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
20449         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
20450         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
20451         snprintf function.
20452         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
20453         glibc systems.
20454         * tests/test-vasnprintf-posix3.c: New file.
20455         * modules/vasnprintf-posix-tests (Files): Add it.
20456         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
20457
20458 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
20459
20460         [html] Fix copy/paste bug: Use unique name for compiler warnings.
20461         * MODULES.html.sh: For compiler warnings, use name
20462         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
20463
20464 2010-11-05  Eric Blake  <eblake@redhat.com>
20465
20466         ceil, floor: avoid spurious failure with icc
20467         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
20468         [denormals-as-zero] when optimizing without -mieee-fp option.
20469         * tests/test-floorf2.c (floorf_reference): Likewise.
20470         * tests/test-ceilf1.c (dummy): New function.
20471         (main): Use it to outsmart icc's optimization.
20472         * tests/test-floorf1.c (dummy, main): Likewise.
20473
20474         tests: require working signbit
20475         * modules/ceilf-tests (Depends-on): Add signbit.
20476         * modules/ceill-tests (Depends-on): Likewise.
20477         * modules/floorf-tests (Depends-on): Likewise.
20478         * modules/floorl-tests (Depends-on): Likewise.
20479         * modules/round-tests (Depends-on): Likewise.
20480         * modules/roundf-tests (Depends-on): Likewise.
20481         * modules/roundl-tests (Depends-on): Likewise.
20482         * modules/trunc-tests (Depends-on): Likewise.
20483         * modules/truncf-tests (Depends-on): Likewise.
20484         * modules/truncl-tests (Depends-on): Likewise.
20485
20486         strtod: work around icc bug
20487         * lib/strtod.c (minus_zero): Define to working value.
20488         (strtod): Use it to avoid icc bug.
20489
20490         copysign: enhance tests
20491         * modules/copysign-tests (Files): Add minus-zero.h.
20492         * tests/test-copysign.c (main): Also test zeros.
20493
20494 2010-11-04  Eric Blake  <eblake@redhat.com>
20495
20496         ceil, floor, round, trunc: enhance tests of -0
20497         * tests/test-ceilf1.c (main): Ensure correct sign of result.
20498         * tests/test-ceill.c (main): Likewise.
20499         * tests/test-floorf1.c (main): Likewise.
20500         * tests/test-floorl.c (main): Likewise.
20501         * tests/test-round1.c (main): Likewise.
20502         * tests/test-roundf1.c (main): Likewise.
20503         * tests/test-roundl.c (main): Likewise.
20504         * tests/test-trunc1.c (main): Likewise.
20505         * tests/test-truncf1.c (main): Likewise.
20506         * tests/test-truncl.c (main): Likewise.
20507
20508 2010-11-04  Eric Blake  <eblake@redhat.com>
20509
20510         frexp, tests: work around ICC bug with -zero
20511         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
20512         works with more compilers.
20513         * tests/minus-zero.h: New file.
20514         * modules/ceilf-tests (Files): Include it.
20515         * modules/ceill-tests (Files): Likewise.
20516         * modules/floorf-tests (Files): Likewise.
20517         * modules/floorl-tests (Files): Likewise.
20518         * modules/frexp-nolibm-tests (Files): Likewise.
20519         * modules/frexp-tests (Files): Likewise.
20520         * modules/frexpl-nolibm-tests (Files): Likewise.
20521         * modules/frexpl-tests (Files): Likewise.
20522         * modules/isnan-tests (Files): Likewise.
20523         * modules/isnand-nolibm-tests (Files): Likewise.
20524         * modules/isnand-tests (Files): Likewise.
20525         * modules/isnanf-nolibm-tests (Files): Likewise.
20526         * modules/isnanf-tests (Files): Likewise.
20527         * modules/isnanl-nolibm-tests (Files): Likewise.
20528         * modules/isnanl-tests (Files): Likewise.
20529         * modules/round-tests (Files): Likewise.
20530         * modules/roundf-tests (Files): Likewise.
20531         * modules/roundl-tests (Files): Likewise.
20532         * modules/ldexpl-tests (Files): Likewise.
20533         * modules/signbit-tests (Files): Likewise.
20534         * modules/snprintf-posix-tests (Files): Likewise.
20535         * modules/sprintf-posix-tests (Files): Likewise.
20536         * modules/strtod-tests (Files): Likewise.
20537         * modules/trunc-tests (Files): Likewise.
20538         * modules/truncf-tests (Files): Likewise.
20539         * modules/truncl-tests (Files): Likewise.
20540         * modules/vsnprintf-posix-tests (Files): Likewise.
20541         * modules/vsprintf-posix-tests (Files): Likewise.
20542         * modules/vasnprintf-posix-tests (Files): Likewise.
20543         * modules/vasprintf-posix-tests (Files): Likewise.
20544         * tests/test-ceilf1.c (main): Use it.
20545         * tests/test-ceill.c (main): Likewise.
20546         * tests/test-floorf1.c (main): Likewise.
20547         * tests/test-floorl.c (main): Likewise.
20548         * tests/test-frexp.c (main): Likewise.
20549         * tests/test-frexpl.c (main): Likewise.
20550         * tests/test-isnan.c (main): Likewise.
20551         * tests/test-isnand.h (main): Likewise.
20552         * tests/test-isnanf.h (main): Likewise.
20553         * tests/test-isnanl.h (main): Likewise.
20554         * tests/test-ldexpl.c (main): Likewise.
20555         * tests/test-round.c (main): Likewise.
20556         * tests/test-roundf.c (main): Likewise.
20557         * tests/test-roundl.c (main): Likewise.
20558         * tests/test-signbit.c (test_signbitf, test_signbitd)
20559         (test_signbitl): Likewise.
20560         * tests/test-snprintf-posix.h (test_function): Likewise.
20561         * tests/test-sprintf-posix.h (test_function): Likewise.
20562         * tests/test-strtod.c (main): Likewise.
20563         * tests/test-trunc1.c (main): Likewise.
20564         * tests/test-truncf1.c (main): Likewise.
20565         * tests/test-truncl.c (main): Likewise.
20566
20567         isnanl: work around icc bug
20568         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
20569
20570 2010-11-03  Eric Blake  <eblake@redhat.com>
20571
20572         tests: fix compiler warnings
20573         * tests/test-getopt.h (test_getopt): Fix condition.
20574         * tests/test-getopt_long.h (test_getopt_long): Likewise.
20575         * tests/test-pipe2.c (main): Likewise.
20576         * tests/test-quotearg-simple.c (main): Avoid icc warning.
20577
20578         utimens: fix broken m4 test
20579         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
20580
20581 2010-10-28  Bruno Haible  <bruno@clisp.org>
20582
20583         posix_spawn*, getdtablesize: Relax license.
20584         * modules/posix_spawn (License): Change to LGPLv2+.
20585         * modules/posix_spawnp (License): Likewise.
20586         * modules/posix_spawn-internal (License): Likewise.
20587         * modules/posix_spawnattr_init (License): Likewise.
20588         * modules/posix_spawnattr_getflags (License): Likewise.
20589         * modules/posix_spawnattr_setflags (License): Likewise.
20590         * modules/posix_spawnattr_getpgroup (License): Likewise.
20591         * modules/posix_spawnattr_setpgroup (License): Likewise.
20592         * modules/posix_spawnattr_getschedparam (License): Likewise.
20593         * modules/posix_spawnattr_setschedparam (License): Likewise.
20594         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
20595         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
20596         * modules/posix_spawnattr_getsigdefault (License): Likewise.
20597         * modules/posix_spawnattr_setsigdefault (License): Likewise.
20598         * modules/posix_spawnattr_getsigmask (License): Likewise.
20599         * modules/posix_spawnattr_setsigmask (License): Likewise.
20600         * modules/posix_spawnattr_destroy (License): Likewise.
20601         * modules/posix_spawn_file_actions_init (License): Likewise.
20602         * modules/posix_spawn_file_actions_addclose (License): Likewise.
20603         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
20604         * modules/posix_spawn_file_actions_addopen (License): Likewise.
20605         * modules/posix_spawn_file_actions_destroy (License): Likewise.
20606         * modules/getdtablesize (License): Likewise.
20607         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
20608
20609 2010-10-26  Bruno Haible  <bruno@clisp.org>
20610
20611         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
20612         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
20613         Cygwin and mingw.
20614         Suggested by Eric Blake.
20615
20616 2010-10-26  Bruno Haible  <bruno@clisp.org>
20617
20618         stdio: Work around compilation error due to renameat() on Solaris 10.
20619         * lib/stdio.in.h: Include <unistd.h> on Solaris.
20620         * lib/renameat.c: Don't include <unistd.h> here.
20621         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
20622         Reported by Paul Eggert and Eric Blake.
20623
20624 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
20625
20626         renameat: port to Solaris 10, which declares renameat in unistd.h
20627
20628         * lib/renameat.c: Include unistd.h before stdio.h, because
20629         Solaris 10 declares renameat in unistd.h.  Problem encountered
20630         when building GNU tar 1.24 on Solaris 10.
20631
20632 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
20633
20634         fdopendir: fix C89 compilation
20635         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
20636         compilers.
20637
20638 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
20639
20640         inttostr: simplify by removing unnecessary redundancy
20641         * lib/anytostr.c: Don't include verify.h.
20642         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
20643         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
20644         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
20645         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
20646         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
20647         Likewise.
20648         * modules/inttostr (Depends-on): Remove 'verify'.
20649
20650 2010-10-23  Bruno Haible  <bruno@clisp.org>
20651
20652         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
20653         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
20654         Reported by Eric Blake.
20655
20656 2010-10-23  Bruno Haible  <bruno@clisp.org>
20657
20658         Tests: Fix LOCALE_JA on MirBSD 10.
20659         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
20660         to an UTF-8 locale.
20661         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
20662         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20663         Reported by Eric Blake.
20664
20665 2010-10-21  Bruno Haible  <bruno@clisp.org>
20666
20667         nl_langinfo test: Avoid test failure on NetBSD 5.
20668         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
20669         Reported by Eric Blake.
20670
20671 2010-10-21  Eric Blake  <eblake@redhat.com>
20672
20673         c-stack: work around libsigsegv 2.8 bug
20674         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
20675         overflow on at least PowerPC64.
20676
20677 2010-10-17  Bruno Haible  <bruno@clisp.org>
20678
20679         userspec: Drop redundant file.
20680         * modules/userspec (Files): Remove lib/inttostr.h.
20681
20682 2010-10-17  Bruno Haible  <bruno@clisp.org>
20683
20684         nl_langinfo tests: Silence some warnings.
20685         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
20686         Reported by Jim Meyering.
20687
20688 2010-10-17  Bruno Haible  <bruno@clisp.org>
20689
20690         Make use of GCC's attribute __alloc_size__.
20691         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
20692         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
20693         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
20694         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
20695         __alloc_size__.
20696         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
20697         Suggested by Jim Meyering.
20698
20699 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
20700
20701         bootstrap: anchor .gitignore entries.
20702         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
20703         with...
20704         (insert_vc_ignore): ... this new function, which prepends `/' to
20705         all .gitignore entries before passing them to
20706         insert_sorted_if_absent.
20707
20708 2010-10-16  Bruno Haible  <bruno@clisp.org>
20709
20710         nextafter: Fix configure check.
20711         * modules/nextafter (configure.ac): Correct expected prototype.
20712
20713 2010-10-16  Bruno Haible  <bruno@clisp.org>
20714
20715         termios: Update documentation.
20716         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
20717
20718 2010-10-16  Bruno Haible  <bruno@clisp.org>
20719
20720         tests: Make them compile with TinyCC.
20721         * tests/test-strstr.c (main): Remove parentheses around array
20722         initializer.
20723
20724 2010-10-15  Eric Blake  <eblake@redhat.com>
20725
20726         ignore-value: make header idempotent
20727         * lib/ignore-value.h: Add double-inclusion guards.
20728         Reported by Stefan Berger.
20729
20730 2010-10-15  Jim Meyering  <meyering@redhat.com>
20731
20732         GNUmakefile: handle "stable" target, not "major"
20733         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
20734         lists in maint.mk and announce-gen.  Without this, "make stable"
20735         would fail to ensure that $(VERSION) is up to date.
20736
20737 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
20738
20739         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
20740         & co.
20741
20742 2010-10-14  Bruno Haible  <bruno@clisp.org>
20743
20744         vasnprintf: Don't set errno to 0.
20745         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
20746         block that sets it to 0.
20747         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
20748
20749 2010-10-14  Bruno Haible  <bruno@clisp.org>
20750
20751         socketlib: Fix.
20752         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
20753         gl_PREREQ_SYS_H_WINSOCK2.
20754         Reported by Ian Beckwith <ianb@erislabs.net>.
20755
20756 2010-10-13  Jim Meyering  <meyering@redhat.com>
20757
20758         test-select-stdin.c: avoid warn_unused_result warnings
20759         * tests/test-select-stdin.c: Include "macros.h".
20760         ASSERT that read and fflush succeed.
20761
20762 2010-10-13  Jim Meyering  <meyering@redhat.com>
20763
20764         git-version-gen: do require git-VC'd files in cwd
20765         * build-aux/git-version-gen: Reject a git version string
20766         if there are no commits associated with the current directory.
20767         This avoids an unlikely false-positive (unrelated dir whose parent
20768         repository also contains a tag matching v*), as pointed out
20769         by Giuseppe Scrivano in
20770         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
20771
20772 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
20773
20774         argv-iter: omit nonconforming declaration
20775         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
20776         enum arg_iter_err declaration, which doesn't conform to C99.
20777         Solaris 10 cc warns about this.
20778
20779 2010-10-13  Eric Blake  <eblake@redhat.com>
20780
20781         termios: fix compilation on mingw
20782         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
20783         (gl_TERMIOS_H): Adjust it on mingw.
20784         * modules/termios (Makefile.am): Substitute new key.
20785         * lib/termios.in.h (includes): Make include_next conditional.
20786         * doc/posix-headers/termios.texi (termios.h): Update
20787         documentation.
20788         Reported by Daniel P. Berrange.
20789
20790 2010-10-13  Jim Meyering  <meyering@redhat.com>
20791
20792         git-version-gen: don't require that .git/ be in the current dir
20793         * build-aux/git-version-gen: Adjust this script so that it works
20794         when run from any working directory beneath the top-level .git/-
20795         containing directory.  Inspired by a patch from Giuseppe Scrivano,
20796         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
20797
20798         test-select: avoid warn_unused_result warnings
20799         * tests/test-select.c: Include "macros.h".
20800         ASSERT that each call to read, write, and pipe succeeds.
20801         While not technically required, also check each "close".
20802         * modules/select-tests (Files): Add tests/macros.h.
20803
20804         test-symlinkat: remove declaration of unused local
20805         * tests/test-symlinkat.c (main): Remove unused local, "buf".
20806
20807         test-inttostr: avoid shadowing warnings
20808         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
20809         and use malloc rather than the stack for the same reason as
20810         mentioned in the comment justifying the other allocation.
20811
20812 2010-10-11  Bruno Haible  <bruno@clisp.org>
20813
20814         stdlib: Allow multiple gnulib generated replacements to coexist.
20815         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
20816         Reported by Sam Steingold <sds@gnu.org>.
20817
20818 2010-10-11  Jim Meyering  <meyering@redhat.com>
20819
20820         fix a documentation typo
20821         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
20822
20823 2010-10-11  Eric Blake  <eblake@redhat.com>
20824
20825         futimens: work around Solaris 11 bug
20826         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
20827         * tests/test-futimens.h (test_futimens): Enhance, rather than
20828         weaken test.
20829         * doc/posix-functions/futimens.texi (futimens): Document the bug.
20830
20831 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
20832
20833         Indentation.
20834         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
20835         higher-level operators more to the left.
20836
20837 2010-10-11  Jim Meyering  <meyering@redhat.com>
20838
20839         test-futimens: avoid unwarranted test failure on Solaris 5.11
20840         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
20841         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
20842         because it tries to dereference the NULL name argument.
20843
20844 2010-10-11  Bruno Haible  <bruno@clisp.org>
20845
20846         Indentation.
20847         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
20848         indentation.
20849
20850 2010-10-11  Jim Meyering  <meyering@redhat.com>
20851
20852         spawn.in.h: make indentation consistent with parentheses
20853         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
20854         Make indentation consistent with parentheses.
20855
20856 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
20857
20858         Fix mismatched parens in previous commit
20859         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
20860         parens.
20861
20862 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
20863
20864         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
20865
20866         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
20867         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
20868         * lib/malloca.c: Include "verify.h".
20869         (verify1): Remove, replacing with a verify call.
20870         * lib/relocwrapper.c (verify1): Likewise.
20871         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
20872         Likewise.
20873         * modules/malloca (Depends-on): Add 'verify'.
20874         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
20875         * modules/vasnprintf (Depends-on): Add 'verify'.
20876         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
20877         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
20878         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
20879         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
20880         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
20881         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
20882         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
20883
20884         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
20885
20886         Formerly the style was sometimes 2*X - 1, because the C standard
20887         was wrongly thought to disallow ?: in integral constant expressions.
20888         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
20889         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
20890         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
20891         * lib/stdint.in.h (_verify_intmax_size): Likewise.
20892         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
20893         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
20894         verify that time_t cannot be floating.
20895
20896 2010-10-08  Eric Blake  <eblake@redhat.com>
20897
20898         time: enforce recent POSIX ruling that time_t is integral
20899         * lib/time.in.h (__time_t_must_be_integral): Detect any
20900         problematic systems, allowing the rest of gnulib to assume POSIX.
20901
20902 2010-10-08  Jim Meyering  <meyering@redhat.com>
20903
20904         fdopendir: fix a bug on systems lacking openat and /proc support
20905         OpenBSD 4.7 is one such system.  The most noticeable effect was
20906         failure of any application making nontrivial use of fts: rm, du,
20907         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
20908           ./rm: traversal failed: `a': Bad file descriptor
20909         Debugging that, you see that even though FD 6 was closed just
20910         prior to the opendir call in fd_clone_opendir, its resulting
20911         dir->dd_fd was 8, rather than the expected value of 6:
20912
20913         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
20914         93                close (fd);
20915         (gdb) n
20916         94                dir = fd_clone_opendir (dupfd);
20917         (gdb) n
20918         95                saved_errno = errno;
20919         (gdb) p dir->dd_fd
20920         $11 = 8
20921
20922         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
20923         The problem is that on OpenBSD, fd_clone_opendir has to resort
20924         to using the old-style save/restore CWD mechanism, due to its
20925         lack of openat/proc support, and *that* would steal the FD (6)
20926         that opendir was supposed to use.
20927
20928         The fix is to squirrel away the desired FD so that save_cwd uses a
20929         different one, and then free the dest FD right before calling opendir.
20930         That guarantees opendir will use the required file descriptor.
20931
20932         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
20933
20934 2010-10-08  Bruno Haible  <bruno@clisp.org>
20935
20936         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
20937         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
20938
20939 2010-10-08  Bruno Haible  <bruno@clisp.org>
20940
20941         nanosleep: Make replacement POSIX compliant.
20942         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
20943         is out of range.
20944         Reported by Jim Meyering.
20945
20946 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
20947
20948         bootstrap: add hook for altering gnulib.mk, for Bison
20949         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
20950         the Bison bootstrapping process can rewrite file names and variables
20951         in this file before later parts of 'bootstrap' use the file.
20952         Bison wants to include lib/gnulib.mk from the top-level makefile,
20953         so it needs the file names in this file to be relative to the top
20954         level, not relative to lib; plus it needs variable names to be
20955         rewritten.
20956         (slurp): Use the new function.
20957
20958         bootstrap: reformat for readability
20959         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
20960
20961 2010-10-08  Eric Blake  <eblake@redhat.com>
20962
20963         docs: update cygwin progress
20964         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
20965         1.7.7.
20966         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
20967         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
20968         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
20969         * doc/posix-functions/carg.texi (carg): Likewise.
20970         * doc/posix-functions/cargf.texi (cargf): Likewise.
20971         * doc/posix-functions/casin.texi (casin): Likewise.
20972         * doc/posix-functions/casinf.texi (casinf): Likewise.
20973         * doc/posix-functions/casinh.texi (casinh): Likewise.
20974         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
20975         * doc/posix-functions/catan.texi (catan): Likewise.
20976         * doc/posix-functions/catanf.texi (catanf): Likewise.
20977         * doc/posix-functions/catanh.texi (catanh): Likewise.
20978         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
20979         * doc/posix-functions/ccos.texi (ccos): Likewise.
20980         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
20981         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
20982         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
20983         * doc/posix-functions/cexp.texi (cexp): Likewise.
20984         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
20985         * doc/posix-functions/cimag.texi (cimag): Likewise.
20986         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
20987         * doc/posix-functions/clog.texi (clog): Likewise.
20988         * doc/posix-functions/clogf.texi (clogf): Likewise.
20989         * doc/posix-functions/conj.texi (conj): Likewise.
20990         * doc/posix-functions/conjf.texi (conjf): Likewise.
20991         * doc/posix-functions/cpow.texi (cpow): Likewise.
20992         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
20993         * doc/posix-functions/cproj.texi (cproj): Likewise.
20994         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
20995         * doc/posix-functions/creal.texi (creal): Likewise.
20996         * doc/posix-functions/crealf.texi (crealf): Likewise.
20997         * doc/posix-functions/csin.texi (csin): Likewise.
20998         * doc/posix-functions/csinf.texi (csinf): Likewise.
20999         * doc/posix-functions/csinh.texi (csinh): Likewise.
21000         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
21001         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
21002         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
21003         * doc/posix-functions/ctan.texi (ctan): Likewise.
21004         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
21005         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
21006         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
21007         * doc/posix-headers/complex.texi (complex.h): Likewise.
21008
21009 2010-10-07  Jim Meyering  <meyering@redhat.com>
21010
21011         parse-datetime: avoid compilation failure on OpenBSD 4.7
21012         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
21013         This works around a compilation failure on OpenBSD 4.7:
21014         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
21015
21016 2010-10-07  Eric Blake  <eblake@redhat.com>
21017
21018         docs: update cygwin progress
21019         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
21020         1.7.6.
21021         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21022         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
21023         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
21024         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
21025         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
21026         Likewise.
21027         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
21028         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
21029         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
21030         Likewise.
21031         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
21032         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
21033         Likewise.
21034         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
21035         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
21036         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
21037         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
21038         Likewise.
21039         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
21040         Likewise.
21041         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
21042
21043         docs: update parse-datetime history
21044         * doc/parse-datetime.texi (Authors of parse_datetime): Better
21045         documentation of this function's history and alternatives.
21046
21047         cygwin: use more robust version check
21048         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
21049         exclude an eventual cygwin 1.9.1.
21050         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21051         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
21052         (gl_FUNC_STRCASESTR): Likewise.
21053         Reported by Bruno Haible.
21054
21055 2010-10-06  Bruno Haible  <bruno@clisp.org>
21056
21057         string, sys_select: Avoid #including large headers unless necessary.
21058         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
21059         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
21060         OSF/1, BeOS, Haiku.
21061         Reported by Jim Meyering.
21062
21063 2010-10-05  Eric Blake  <eblake@redhat.com>
21064
21065         memmem, strstr, strcasestr: fix bug with long periodic needle
21066         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
21067         periodic needle having false positive.
21068         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
21069         and cygwin 1.7.7.
21070         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
21071         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
21072         (gl_FUNC_STRCASESTR): Likewise.
21073         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21074         * tests/test-memmem.c (main): Expose the bug.
21075         * tests/test-strcasestr.c (main): Likewise.
21076         * tests/test-strstr.c (main): Likewise.
21077         * tests/test-c-strcasestr.c (main): Likewise.
21078         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
21079         * doc/posix-functions/strstr.texi (strstr): Likewise.
21080         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
21081         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
21082
21083 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21084
21085         parse-datetime: do some more renaming
21086         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
21087         parse_datetime, not get_date.  Mention the renaming.
21088         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
21089         in comments.
21090         * m4/bison.m4: Likewise.
21091
21092 2010-10-05  Eric Blake  <eblake@redhat.com>
21093
21094         parse-datetime: better name than get_date
21095         * NEWS: Reword the deprecation notice.
21096         * modules/get_date: Rename to modules/parse-datetime.
21097         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
21098         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
21099         * lib/get_date.y: Rename to lib/parse-datetime.y.
21100         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
21101         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
21102         * doc/getdate.texi: Provide fallback wrapper.
21103         * lib/getdate.h: Move guts, and wrap...
21104         * lib/parse-datetime.h: ...new file.
21105         * lib/parse-datetime.y (get_date): Rename...
21106         (parse_datetime): ...to this.
21107         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
21108         (gl_PARSE_DATETIME): ...to this.
21109         * doc/posix-functions/getdate.texi (get_date): Provide fallback
21110         documentation.
21111         * modules/getdate (Files): Provide fallback docs and header.
21112         (Notice, Depends-on): Update references.
21113         * tests/test-parse-datetime.c: Likewise.
21114         * DEPENDENCIES: Likewise.
21115         * MODULES.html.sh (Date and time <time.h>): Likewise.
21116         * doc/parse-datetime.texi (Date input formats)
21117         (Authors of parse_datetime): Likewise.
21118         * modules/parse-datetime (Files, configure.ac, Makefile.am)
21119         (Include): Likewise.
21120         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
21121         * gnulib-tool: Likewise.
21122         * m4/bison.m4 (gl_BISON): Likewise.
21123         Suggested by Bruno Haible.
21124
21125 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21126
21127         more ports to Solaris tr, which needs [] around ranges
21128         * gnulib-tool: Solaris tr needs [] around ranges.
21129         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
21130         * tests/test-pipe-filter-gi1.c (main): Likewise.
21131         * tests/test-pipe-filter-ii1.c (main): Likewise.
21132
21133 2010-10-05  Eric Blake  <eblake@redhat.com>
21134
21135         bootstrap: fix Solaris regression
21136         * build-aux/bootstrap (check_versions): Solaris tr still needs []
21137         around ranges.
21138         Reported by Pádraig Brady.
21139
21140         bootstrap: work with pkg-config
21141         * build-aux/bootstrap (check_versions): Also transliterate - in
21142         prerequisite name.
21143         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
21144         prerequisites that were already found, to avoid confusion.
21145         Reported by Justin Clift.
21146
21147         faccessat: remove unused wrappers
21148         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
21149         presence of these wrappers dragged in -lgen on Solaris.
21150         Reported by Clemens Brogi; fix suggested by Paul Eggert.
21151
21152 2010-10-05  Jim Meyering  <meyering@redhat.com>
21153
21154         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
21155         * Makefile (sc_pragma_columns): New syntax-check rule.
21156
21157 2010-10-04  Bruno Haible  <bruno@clisp.org>
21158
21159         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
21160         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
21161         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
21162         Reported by Bruce Korb and Eric Blake.
21163
21164 2010-10-04  Bruno Haible  <bruno@clisp.org>
21165
21166         threadlib: Make option --with-libpth-prefix work.
21167         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
21168         use $LIBPTH, not just -lpth.
21169
21170 2010-10-04  Bruno Haible  <bruno@clisp.org>
21171
21172         Avoid line length limitation from HP NonStop system header files.
21173         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
21174         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
21175         * lib/ctype.in.h: Likewise.
21176         * lib/dirent.in.h: Likewise.
21177         * lib/errno.in.h: Likewise.
21178         * lib/fcntl.in.h: Likewise.
21179         * lib/float.in.h: Likewise.
21180         * lib/getopt.in.h: Likewise.
21181         * lib/iconv.in.h: Likewise.
21182         * lib/inttypes.in.h: Likewise.
21183         * lib/langinfo.in.h: Likewise.
21184         * lib/locale.in.h: Likewise.
21185         * lib/math.in.h: Likewise.
21186         * lib/netdb.in.h: Likewise.
21187         * lib/netinet_in.in.h: Likewise.
21188         * lib/poll.in.h: Likewise.
21189         * lib/pthread.in.h: Likewise.
21190         * lib/pty.in.h: Likewise.
21191         * lib/sched.in.h: Likewise.
21192         * lib/se-selinux.in.h: Likewise.
21193         * lib/search.in.h: Likewise.
21194         * lib/signal.in.h: Likewise.
21195         * lib/spawn.in.h: Likewise.
21196         * lib/stdarg.in.h: Likewise.
21197         * lib/stddef.in.h: Likewise.
21198         * lib/stdint.in.h: Likewise.
21199         * lib/stdio.in.h: Likewise.
21200         * lib/stdlib.in.h: Likewise.
21201         * lib/string.in.h: Likewise.
21202         * lib/strings.in.h: Likewise.
21203         * lib/sys_file.in.h: Likewise.
21204         * lib/sys_ioctl.in.h: Likewise.
21205         * lib/sys_select.in.h: Likewise.
21206         * lib/sys_socket.in.h: Likewise.
21207         * lib/sys_stat.in.h: Likewise.
21208         * lib/sys_time.in.h: Likewise.
21209         * lib/sys_times.in.h: Likewise.
21210         * lib/sys_utsname.in.h: Likewise.
21211         * lib/sys_wait.in.h: Likewise.
21212         * lib/sysexits.in.h: Likewise.
21213         * lib/termios.in.h: Likewise.
21214         * lib/time.in.h: Likewise.
21215         * lib/unistd.in.h: Likewise.
21216         * lib/wchar.in.h: Likewise.
21217         * lib/wctype.in.h: Likewise.
21218         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
21219         * modules/ctype (Makefile.am): Likewise.
21220         * modules/dirent (Makefile.am): Likewise.
21221         * modules/errno (Makefile.am): Likewise.
21222         * modules/fcntl-h (Makefile.am): Likewise.
21223         * modules/float (Makefile.am): Likewise.
21224         * modules/getopt-posix (Makefile.am): Likewise.
21225         * modules/iconv-h (Makefile.am): Likewise.
21226         * modules/inttypes (Makefile.am): Likewise.
21227         * modules/langinfo (Makefile.am): Likewise.
21228         * modules/locale (Makefile.am): Likewise.
21229         * modules/math (Makefile.am): Likewise.
21230         * modules/netdb (Makefile.am): Likewise.
21231         * modules/netinet_in (Makefile.am): Likewise.
21232         * modules/poll-h (Makefile.am): Likewise.
21233         * modules/pthread (Makefile.am): Likewise.
21234         * modules/pty (Makefile.am): Likewise.
21235         * modules/sched (Makefile.am): Likewise.
21236         * modules/search (Makefile.am): Likewise.
21237         * modules/selinux-h (Makefile.am): Likewise.
21238         * modules/signal (Makefile.am): Likewise.
21239         * modules/spawn (Makefile.am): Likewise.
21240         * modules/stdarg (Makefile.am): Likewise.
21241         * modules/stddef (Makefile.am): Likewise.
21242         * modules/stdint (Makefile.am): Likewise.
21243         * modules/stdio (Makefile.am): Likewise.
21244         * modules/stdlib (Makefile.am): Likewise.
21245         * modules/string (Makefile.am): Likewise.
21246         * modules/strings (Makefile.am): Likewise.
21247         * modules/sys_file (Makefile.am): Likewise.
21248         * modules/sys_ioctl (Makefile.am): Likewise.
21249         * modules/sys_select (Makefile.am): Likewise.
21250         * modules/sys_socket (Makefile.am): Likewise.
21251         * modules/sys_stat (Makefile.am): Likewise.
21252         * modules/sys_time (Makefile.am): Likewise.
21253         * modules/sys_times (Makefile.am): Likewise.
21254         * modules/sys_utsname (Makefile.am): Likewise.
21255         * modules/sys_wait (Makefile.am): Likewise.
21256         * modules/sysexits (Makefile.am): Likewise.
21257         * modules/termios (Makefile.am): Likewise.
21258         * modules/time (Makefile.am): Likewise.
21259         * modules/unistd (Makefile.am): Likewise.
21260         * modules/wchar (Makefile.am): Likewise.
21261         * modules/wctype (Makefile.am): Likewise.
21262
21263 2010-10-04  Bruno Haible  <bruno@clisp.org>
21264
21265         read-file tests: Avoid a test failure on NonStop Kernel.
21266         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
21267         a regular file.
21268         Reported by Joachim Schmitz <schmitz@hp.com>.
21269
21270 2010-10-03  Bruno Haible  <bruno@clisp.org>
21271
21272         gnulib-tool: Fixes for --create-testdir with --libtool.
21273         * gnulib-tool (func_get_automake_snippet): Don't augment
21274         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
21275         an executable.
21276         (func_create_testdir): Handle module 'alloca' like func_import.
21277         Reported by Bruce Korb <bruce.korb@gmail.com>.
21278
21279 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
21280
21281         Avoid some lines longer than 80 characters.
21282         * lib/stdint.in.h: Break long comment lines.
21283         * lib/math.in.h: Likewise.
21284         (_GL_NUM_UINT_WORDS): New macro, for readability.
21285         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
21286         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
21287         * lib/stdlib.in.h: Likewise.
21288         * lib/spawn.in.h: Likewise.
21289         * lib/sys_socket.in.h: Update an URL.
21290         * lib/sys_stat.in.h: Break long line.
21291
21292 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
21293
21294         Improve pmccabe2html.
21295         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
21296         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
21297         when the sources change. Remove the line in the HTML about "Used
21298         ranges" (which implied that there might be other unused ranges),
21299         rename "Resume" to "Summary" (easier to understand for more users).
21300         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
21301         styles, and some unnecessary blank lines.
21302
21303 2010-10-03  Bruno Haible  <bruno@clisp.org>
21304             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
21305
21306         acl: Add support for ACLs on NonStop Kernel.
21307         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
21308         Check whether the function aclsort() exists.
21309         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
21310         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
21311         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21312         (acl_nontrivial [HAVE_ACLSORT]: New function.
21313         (file_has_acl): Implement for NonStop Kernel.
21314         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21315         (qset_acl): Implement for NonStop Kernel.
21316         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
21317         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21318         (main): Implement for NonStop Kernel.
21319         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
21320         Kernel. Handle this flavor.
21321         * tests/test-set-mode-acl.sh: Likewise.
21322         * tests/test-copy-acl.sh: Likewise.
21323         * tests/test-copy-file.sh: Likewise.
21324
21325 2010-10-03  Bruno Haible  <bruno@clisp.org>
21326
21327         Info about ACLs on NonStop Kernel.
21328         * doc/acl-resources.txt: Add info about NonStop Kernel.
21329         References by Joachim Schmitz <schmitz@hp.com>.
21330
21331 2010-10-02  Bruno Haible  <bruno@clisp.org>
21332
21333         Define missing EDQUOT on NonStop Kernel.
21334         * lib/errno.in.h (EDQUOT): Assign a value if missing.
21335         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
21336         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
21337         missing.
21338         * doc/posix-headers/errno.texi: Mention the NSK bug.
21339         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
21340         Reported by Joachim Schmitz <schmitz@hp.com>.
21341
21342 2010-10-02  Bruno Haible  <bruno@clisp.org>
21343
21344         Update doc for POSIX:2008.
21345         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
21346         Update URL of POSIX specification.
21347
21348 2010-10-02  Bruno Haible  <bruno@clisp.org>
21349
21350         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
21351         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
21352         from gnulib, not from Automake.
21353
21354 2010-10-02  Bruno Haible  <bruno@clisp.org>
21355
21356         New module 'system-posix'.
21357         * modules/system-posix: New file.
21358         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
21359         module is present.
21360         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
21361         GNULIB_SYSTEM_POSIX.
21362         * modules/stdlib (Depends-on): Remove sys_wait.
21363         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
21364         * doc/posix-functions/system.texi: Mention the new module.
21365         * doc/posix-headers/stdlib.texi: Likewise.
21366         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
21367         define test_sys_wait_macros to a no-op.
21368         Reported by Sam Steingold <sds@gnu.org>.
21369
21370 2010-09-30  Bruno Haible  <bruno@clisp.org>
21371
21372         More renaming from 'getdate' to 'get_date'.
21373         * doc/get_date.texi: Renamed from doc/getdate.texi.
21374         * modules/get_date (Files): Update.
21375         * MODULES.html.sh (Date and time <time.h>): Update.
21376         * DEPENDENCIES: Update.
21377         * gnulib-tool: Update comment.
21378         * m4/bison.m4 (gl_BISON): Likewise.
21379         * m4/get_date.m4 (gl_GET_DATE): Likewise.
21380
21381 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
21382
21383         bootstrap: support ACLOCAL_FLAGS during aclocal
21384         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
21385         can add additional -I dir for third-party .m4 files.
21386
21387 2010-09-30  Eric Blake  <eblake@redhat.com>
21388
21389         bootstrap: use glibtoolize on MacOS
21390         * build-aux/bootstrap (check_versions): Convert libtool into
21391         libtoolize.
21392         (tool search): Move libtool check earlier, and look for
21393         glibtoolize for MacOS.
21394         (gnulib_tool_options): Auto-add --libtool when appropriate.
21395         Reported by Justin Clift.
21396
21397         poll: fix typo that broke test on MacOS
21398         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
21399         Reported by Justin Clift.
21400
21401         getdate: rename to get_date
21402         Note: getdate.h is not renamed, to minimize client impact.
21403         * modules/getdate: Mark obsolete.  Move old contents...
21404         * modules/get_date: ...to new module name.
21405         * modules/getdate-tests: Move...
21406         * modules/get_date-tests: ...here.
21407         * m4/getdate.m4: Move...
21408         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
21409         * lib/getdate.y: Move...
21410         * lib/get_date.y: ...here.
21411         * tests/test-getdate.c: Move...
21412         * tests/test-get_date.c: ...here.
21413         * doc/posix-functions/getdate.texi (getdate): Update name.
21414         * NEWS: Mention the change.
21415
21416 2010-09-29  Bruno Haible  <bruno@clisp.org>
21417
21418         Separate the module 'waitpid' from the module 'sys_wait'.
21419         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
21420         present.
21421         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
21422         gl_MODULE_INDICATOR_FOR_TESTS.
21423         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
21424         * modules/sys_wait (Depends-on): Remove waitpid.
21425         (Makefile.am): Substitute GNULIB_WAITPID.
21426         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
21427         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
21428         signature only if the 'waitpid' module is present.
21429         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
21430         * NEWS: Mention the change.
21431         * modules/grantpt (Depends-on): Add waitpid.
21432         * modules/wait-process (Depends-on): Likewise.
21433
21434 2010-09-29  Bruno Haible  <bruno@clisp.org>
21435
21436         More tests for module 'sys_wait'.
21437         * modules/sys_wait-c++-tests: New file.
21438         * tests/test-sys_wait-c++.cc: New file.
21439         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
21440         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
21441
21442 2010-09-29  Bruno Haible  <bruno@clisp.org>
21443
21444         New module 'waitpid'.
21445         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
21446         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
21447         Don't include <process.h>.
21448         (waitpid): Declare only, using modern idiom.
21449         * m4/waitpid.m4: New file.
21450         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
21451         * modules/waitpid: New file.
21452         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
21453         (Makefile.am): Update.
21454         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
21455
21456 2010-09-28  Bruno Haible  <bruno@clisp.org>
21457
21458         poll: Assume ANSI C.
21459         * lib/poll.c (poll): Use an ANSI C declaration.
21460
21461 2010-09-28  Bruno Haible  <bruno@clisp.org>
21462
21463         poll-h: Create poll.h on all platforms.
21464         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
21465         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
21466         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
21467         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
21468         (gl_REPLACE_POLL_H): Don't set POLL_H.
21469         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
21470         * modules/poll-h (Depends-on): Add include_next.
21471         (Makefile.am): Create poll.h unconditionally. Substitute also
21472         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
21473
21474 2010-09-28  Bruno Haible  <bruno@clisp.org>
21475
21476         Tests for module 'poll-h'.
21477         * modules/poll-h-c++-tests: New file.
21478         * tests/test-poll-h-c++.cc: New file.
21479
21480         Tests for module 'poll-h'.
21481         * modules/poll-h-tests: New file.
21482         * tests/test-poll-h.c: New file.
21483
21484 2010-09-28  Bruno Haible  <bruno@clisp.org>
21485
21486         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
21487         * modules/poll-h (Depends-on): Add 'extensions'.
21488
21489 2010-09-28  Bruno Haible  <bruno@clisp.org>
21490
21491         New module 'poll-h'.
21492         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
21493         (poll): Use modern idiom.
21494         * modules/poll-h: New file.
21495         * modules/poll (Files): Remove lib/poll.in.h.
21496         (Depends-on): Add poll-h.
21497         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
21498         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
21499         * m4/poll_h.m4: New file.
21500         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
21501         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
21502         and invoke gl_REPLACE_POLL_H.
21503         * lib/poll.c: Use common idiom.
21504         * tests/test-poll.c: Likewise.
21505         * doc/posix-headers/poll.texi: Mention the poll-h module.
21506         Suggested by Eric Blake.
21507
21508 2010-09-26  Bruno Haible  <bruno@clisp.org>
21509
21510         sys_wait: Implement WSTOPSIG.
21511         * lib/sys_wait.in.h (WSTOPSIG): New macro.
21512         Reported by Simon Josefsson.
21513
21514 2010-09-26  Simon Josefsson  <simon@josefsson.org>
21515
21516         stdlib, sys_wait: Avoid compilation error on mingw.
21517         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
21518
21519 2010-09-26  Bruno Haible  <bruno@clisp.org>
21520
21521         stdlib tests: Avoid code duplication.
21522         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
21523         * modules/sys_wait-tests (Files): Likewise.
21524         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
21525         * tests/test-stdlib.c: Include test-sys_wait.h.
21526         (main): Invoke test_sys_wait_macros.
21527         * tests/test-sys_wait.c: Include test-sys_wait.h.
21528         (main): Invoke test_sys_wait_macros.
21529
21530 2010-09-25  Simon Josefsson  <simon@josefsson.org>
21531
21532         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
21533         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
21534         sure Windows sockets are working before calling getaddrinfo.
21535         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
21536         * doc/gnulib.texi (Windows sockets): Fix typo.
21537
21538 2010-09-25  Bruno Haible  <bruno@clisp.org>
21539
21540         Tests for module 'regex-quote'.
21541         * modules/regex-quote-tests: New file.
21542         * tests/test-regex-quote.c: New file.
21543
21544         New module 'regex-quote'.
21545         * lib/regex-quote.h: New file.
21546         * lib/regex-quote.c: New file.
21547         * modules/regex-quote: New file.
21548         Suggested by Reuben Thomas <rrt@sc3d.org>.
21549
21550 2010-09-24  Bruno Haible  <bruno@clisp.org>
21551
21552         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
21553         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
21554
21555 2010-09-23  Bruno Haible  <bruno@clisp.org>
21556
21557         setenv: Relax license.
21558         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
21559         Blake.
21560         Requested by Eric Blake.
21561
21562 2010-09-22  Bruno Haible  <bruno@clisp.org>
21563
21564         termios: Relax license.
21565         * modules/termios (License): Change to LGPLv2+.
21566         Requested by Eric Blake.
21567
21568 2010-09-22  Bruno Haible  <bruno@clisp.org>
21569
21570         threadlib: Allow the package to change the default to 'no'.
21571         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
21572         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
21573         Reported by Paul Eggert.
21574
21575 2010-09-22  Pádraig Brady  <P@draigbrady.com>
21576             Bruno Haible  <bruno@clisp.org>
21577
21578         Fix endless loop in mbmemcasecoll.
21579         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
21580         byte.
21581         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
21582
21583 2010-09-22  Bruno Haible  <bruno@clisp.org>
21584
21585         Tests for module 'memcoll'.
21586         * modules/memcoll-tests: New file.
21587         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
21588
21589         memcoll, xmemcoll: Clarify size vs. length.
21590         * modules/memcoll.c (memcoll0): Clarify specification.
21591         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
21592         passed to collate_error.
21593
21594 2010-09-22  Bruno Haible  <bruno@clisp.org>
21595
21596         Tests for module 'memcasecmp'.
21597         * modules/memcasecmp-tests: New file.
21598         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
21599
21600 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21601
21602         * lib/pthread.in.h: Add split double-inclusion guard, and include
21603         system <pthread.h> if there is one.  Use @@-style as in other
21604         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
21605         pthread.h doesn't.
21606         (pthread_mutexattr_destroy, pthread_mutexattr_init):
21607         (pthread_mutexattr_settype, pthread_mutex_trylock):
21608         New static inline functions, if there's no system <pthread.h>.
21609         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
21610         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
21611         Approximate with mutexes if the system lacks spinlocks, as in
21612         MacOS.
21613         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
21614         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
21615         @@-style.  Check for spinlocks separately.
21616         (gl_PTHREAD_DEFAULTS): New macro.
21617         * modules/pthread: Redo to use a more typical style for in.h files.
21618
21619 2010-09-21  Eric Blake  <eblake@redhat.com>
21620
21621         net_if: enhance tests
21622         * tests/test-net_if.c (main): Move signature checks earlier.
21623         Print failures to stderr.
21624         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
21625         Document the bug that we do not yet fix.
21626
21627 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
21628
21629         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
21630         about gnulib, not GSS.
21631
21632 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
21633
21634         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
21635         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
21636         for Emacs.
21637         * build-aux/pmccabe2html: Make Makefile.am example code more
21638         cut-and-paste friendly.
21639
21640 2010-09-21  Simon Josefsson  <simon@josefsson.org>
21641
21642         * tests/test-net_if.c: New file.
21643         * modules/net_if-tests: New file.
21644
21645 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
21646
21647         pthread: add pthread_spin_destroy
21648         * lib/pthread.in.h (pthread_spin_destroy): New function.
21649
21650 2010-09-19  Bruno Haible  <bruno@clisp.org>
21651
21652         gnulib-tool: Fix --help output.
21653         * gnulib-tool (func_usage): Fix help message.
21654         Reported by Reuben Thomas <rrt@sc3d.org>.
21655
21656 2010-09-18  Jim Meyering  <meyering@redhat.com>
21657
21658         maint.mk: avoid unexpanded \n in two diagnostics
21659         * top/maint.mk (sc_prohibit_always_true_header_tests):
21660         Don't use a literal \n in a halt=... assignment.  It would not be
21661         expanded, and the two \n bytes would appear in the diagnostic output
21662         rather than the desired newline.  Use halt=$$(printf ... instead.
21663         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
21664
21665 2010-09-18  Bruno Haible  <bruno@clisp.org>
21666
21667         netinet_in: Doc tweak.
21668         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
21669         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
21670
21671 2010-09-18  Jim Meyering  <meyering@redhat.com>
21672
21673         init.sh: correct an outdated comment
21674         * tests/init.sh (create_exe_shims_):  s/function/alias/
21675
21676         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
21677         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
21678         a file named "*.exe" is removed between the glob expansion and the
21679         processing of that oddly named file.
21680
21681 2010-09-17  Eric Blake  <eblake@redhat.com>
21682
21683         mirbsd: add some more support
21684         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
21685         in BSD family.
21686         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
21687         devices as OpenBSD.
21688         * m4/host-os.m4 (mirbsd): Add MirBSD.
21689
21690         tests: fix unportable assumption on sys/wait.h
21691         * tests/test-sys_wait.c (main): Relax test.
21692         * tests/test-stdlib.c (main): Likewise.
21693
21694         init.sh: accomodate directory with no .exes
21695         * tests/init.sh: Accomodate directory containing only scripts.
21696
21697         tests: avoid compiler warning
21698         * tests/test-stdlib.c (main): Use the variable.
21699
21700         fdutimens, fdutimensat: update signature, again
21701         * lib/utimens.h (gl_futimens): Delete, and move signature...
21702         (fdutimens): ...here.
21703         (fdutimensat): Rearrange signature.
21704         (lutimensat): Rename variable for clarity.
21705         * lib/fdutimensat.c (fdutimensat): Update signature.
21706         * lib/utimens.c (fdutimens): Likewise.
21707         (gl_futimens): Delete.
21708         (utimens, lutimens): Update callers.
21709         * lib/futimens.c (futimens): Likewise.
21710         * tests/test-fdutimensat.c: Likewise.
21711         * tests/test-utimens.c: Likewise.
21712         * tests/test-futimens.h: Update comment.
21713         * NEWS: Mention this.
21714         Suggested by Paul Eggert.
21715
21716 2010-09-17  Bruno Haible  <bruno@clisp.org>
21717
21718         Take over the maintenance of some older macros from Autoconf.
21719         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
21720         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
21721         GNU Autoconf.
21722         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
21723         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
21724
21725 2010-09-17  Eric Blake  <eblake@redhat.com>
21726
21727         fdutimensat: drop atflag validation
21728         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
21729         with valid fd, to close a race scenario where futimens is
21730         unsupported and FILE was replaced by a symlink.
21731         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
21732         accordingly.
21733         Suggested by Paul Eggert.
21734
21735 2010-09-16  Bruno Haible  <bruno@clisp.org>
21736
21737         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
21738         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
21739
21740 2010-09-16  Bruno Haible  <bruno@clisp.org>
21741
21742         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
21743         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
21744         login_tty exists.
21745         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
21746
21747 2010-09-16  Bruno Haible  <bruno@clisp.org>
21748
21749         login_tty: Make the replacement code work on BSD systems.
21750         * lib/login_tty.c: Include <sys/ioctl.h>.
21751         (login_tty): Use ioctl TIOCSCTTY when available.
21752         * modules/login_tty (Depends-on): Add sys_ioctl.
21753         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
21754
21755 2010-09-16  Bruno Haible  <bruno@clisp.org>
21756
21757         login_tty: Stricter unit test.
21758         * modules/login_tty-tests (Depends-on): Add tcgetsid.
21759         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
21760         and tcgetsid() after login_tty.
21761         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
21762
21763 2010-09-16  Bruno Haible  <bruno@clisp.org>
21764
21765         New module 'tcgetsid'.
21766         * lib/tcgetsid.c: New file.
21767         * m4/tcgetsid.m4: New file.
21768         * modules/tcgetsid: New file.
21769         * modules/termios (Depends-on): Add c++defs, warn-on-use.
21770         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
21771         GNULIB_TCGETSID, HAVE_TCGETSID.
21772         * lib/termios.in.h: Include <sys/types.h>.
21773         (tcgetsid): New declaration.
21774         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
21775         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
21776         * doc/posix-functions/tcgetsid.texi: Mention the new module.
21777         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
21778
21779 2010-09-16  Bruno Haible  <bruno@clisp.org>
21780
21781         Tests for module 'termios'.
21782         * modules/termios-c++-tests: New file.
21783         * modules/termios-tests: New file.
21784         * tests/test-termios-c++.cc: New file.
21785         * tests/test-termios.c: New file.
21786
21787         New module 'termios'.
21788         * modules/termios: New file.
21789         * lib/termios.in.h: New file.
21790         * m4/termios_h.m4: New file.
21791         * doc/posix-headers/termios.texi: Mention the new module.
21792
21793 2010-09-16  Eric Blake  <eblake@redhat.com>
21794
21795         fdutimensat: add an atflag parameter
21796         * lib/fdutimensat.c (fdutimensat): Add new parameter.
21797         * lib/utimens.h (fdutimensat): Update prototype.
21798         * tests/test-fdutimensat.c: Adjust test to match.
21799         * NEWS: Document the change.
21800         Suggested by Paul Eggert.
21801
21802 2010-09-16  Bruno Haible  <bruno@clisp.org>
21803
21804         Fix typos in comments.
21805         * lib/striconveh.h: Fix typo in comment.
21806         * lib/login_tty.c (login_tty): Likewise.
21807
21808 2010-09-15  Bruno Haible  <bruno@clisp.org>
21809
21810         stdlib: clarify MirBSD WEXITSTATUS bug
21811         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
21812         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
21813
21814 2010-09-15  Eric Blake  <eblake@redhat.com>
21815
21816         stdlib: work around MirBSD WEXITSTATUS bug
21817         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
21818         * modules/stdlib (Depends-on): Add sys_wait.
21819         * tests/test-sys_wait.c (main): Enhance test.
21820         * tests/test-stdlib.c (main): Likewise.
21821         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
21822
21823         docs: mention MacOS issue with WEXITSTATUS(constant)
21824         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
21825         issue.
21826         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
21827
21828         strnlen: add tests
21829         * modules/strnlen-tests: New file.
21830         * tests/test-strnlen.c: Likewise.
21831
21832 2010-09-14  Bruno Haible  <bruno@clisp.org>
21833
21834         unistr/base: Avoid link errors when module 'libunistring' is also used.
21835         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
21836         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
21837         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
21838         Declare also when HAVE_LIBUNISTRING is set.
21839         Reported by Pádraig Brady <P@draigbrady.com>.
21840
21841 2010-09-14  Eric Blake  <eblake@redhat.com>
21842
21843         test-rawmemchr: make more robust
21844         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
21845         (Depends-on, configure.ac): Add needed prerequisites to use it.
21846         * modules/memchr-tests (Files, Depends-on, configure.ac):
21847         Likewise, to avoid implicit reliance on memchr module prereqs.
21848         * tests/test-memchr.c (main): Ensure proper masking.
21849         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
21850         reads.
21851
21852         memchr: detect glibc Alpha bug
21853         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
21854         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
21855         Alpha.
21856         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
21857         * tests/test-memchr.c (main): Enhance test.
21858         Reported by Nelson H. F. Beebe.
21859
21860 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21861
21862         fts, getcwd, glob: audit for dirfd returning -1
21863         * lib/fts.c (opendir): Remove #define; no longer used.
21864         (opendirat): New arg PDIR_FD.  All callers changed.
21865         (fts_build, _opendir2): Use new opendirat to avoid the need for
21866         dirfd, or for checking whether dirfd returns a negative value.
21867         Don't use opendir; always use openat followed by fdopendir.
21868         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
21869         it.
21870         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
21871         returns -1 here.
21872         * modules/fts (Depends-on): Remove dirfd.
21873         * modules/getcwd (Depends-on): Likewise.
21874
21875 2010-09-13  Eric Blake  <eblake@redhat.com>
21876
21877         float: fix broken MirBSD header
21878         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
21879         * doc/posix-headers/float.texi (float.h): Document it.
21880
21881 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21882
21883         fts: use O_NOFOLLOW to avoid race condition when opening a directory
21884         * lib/fts.c (opendirat): New arg extra_flags.
21885         (__opendir2): Use it to avoid following symlinks when opening
21886         a directory, if symlinks are not supposed to be followed.  See
21887         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
21888
21889         fdopendir: preserve argument fd before returning
21890         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
21891         (fdopendir_with_dup, fd_clone_opendir): New static functions.
21892         (fdopendir): Use them, arranging for FD to be open to the same
21893         directory that it was when it started.  (It might be temporarily
21894         closed while fdopendir is running, so this not thread- or
21895         signal-safe.)  Be careful to do the right thing even when file
21896         descriptors are scarce and dup fails with errno == EMFILE.  See
21897         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
21898
21899 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
21900
21901         regex: Pass the system regex if its only problem is 32-bit regoff_t.
21902         * NEWS: Document change.
21903         * m4/regex.m4: Disable test for regoff_t size.
21904
21905 2010-09-13  Jim Meyering  <meyering@redhat.com>
21906
21907         fts: don't operate on an invalid file descriptor after failed dup
21908         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
21909         negative file descriptor.
21910
21911 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
21912
21913         savedir: add streamsavedir, deprecate fdsavedir
21914         * NEWS: Mention deprecation of fdsavedir.
21915         * lib/savedir.c (streamsavedir): New extern function, whose name
21916         ends in "savedir" to be consistent with the others.  This differs
21917         from savedirstream in that it doesn't close its argument.  The
21918         next version of GNU tar will use this instead of fdsavedir, to
21919         avoid some race conditions and conserve file descriptors.
21920         (savedirstream): Reimplement as a wrapper around streamsavedir.
21921         (fdsavedir): Add a comment deprecating this function.  As far as
21922         I know, only GNU tar used it, and GNU tar doesn't need it any more.
21923         * lib/savedir.h (streamsavedir): New decl.
21924         (fdsavedir): Add a comment deprecating this.
21925
21926 2010-09-10  Bruno Haible  <bruno@clisp.org>
21927
21928         langinfo: Fix last commit.
21929         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
21930         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
21931         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21932
21933 2010-09-10  Bruno Haible  <bruno@clisp.org>
21934
21935         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
21936         * lib/progreloc.c (O_EXEC): Define fallback.
21937
21938 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
21939
21940         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
21941         * NEWS: Document recent changes to fcntl-h.
21942         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
21943         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
21944         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
21945         Similarly for O_SEARCH; this last was already true, but not documented.
21946         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
21947         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
21948         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
21949         Likewise.
21950         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
21951         is zero, not whether it is defined.
21952         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
21953         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
21954         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
21955
21956 2010-09-10  Bruno Haible  <bruno@clisp.org>
21957
21958         langinfo, nl_langinfo: Fix for IRIX 5.3.
21959         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
21960         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
21961         HAVE_LANGINFO_YESEXPR.
21962         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
21963         HAVE_LANGINFO_YESEXPR.
21964         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
21965         HAVE_LANGINFO_T_FMT_AMPM is 0.
21966         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
21967         HAVE_LANGINFO_YESEXPR is 0.
21968         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
21969         NOEXPR.
21970         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
21971         * doc/posix-functions/nl_langinfo.texi: Likewise.
21972         Reported by Eric Blake.
21973
21974 2010-09-10  Bruno Haible  <bruno@clisp.org>
21975
21976         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
21977         * doc/glibc-functions/login_tty.texi: Mention the include file problem
21978         on FreeBSD 8.0 and OpenBSD 4.6.
21979         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
21980         * m4/pty_h.m4 (gl_PTY_H): Likewise.
21981         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
21982         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
21983         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
21984         ac_includes_default.
21985         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
21986
21987 2010-09-09  Eric Blake  <eblake@redhat.com>
21988
21989         strsignal: work around NetBSD bug
21990         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
21991         * lib/string.in.h (includes): Likewise.
21992         * doc/posix-functions/strsignal.texi (strsignal): Document the
21993         bug.
21994         Reported by Nelson H. F. Beebe.
21995
21996         gnulib-tool: work with NetBSD /bin/sh
21997         * gnulib-tool (func_cache_var, func_cache_lookup_module)
21998         (func_get_description, func_get_comment, func_get_status)
21999         (func_get_notice, func_get_applicability, func_get_filelist)
22000         (func_get_dependencies, func_get_autoconf_early_snippet)
22001         (func_get_autoconf_snippet, func_get_automake_snippet)
22002         (func_get_include_directive, func_get_link_directive)
22003         (func_get_license, func_get_maintainer, func_import): Avoid
22004         shell syntax errors from parsing syntax extensions.
22005
22006 2010-09-09  Bruno Haible  <bruno@clisp.org>
22007
22008         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22009         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
22010         a reliable way to determine whether the 'alias' command works.
22011
22012 2010-09-08  Jim Meyering  <meyering@redhat.com>
22013
22014         init.sh: penalize a set-x-impaired shell; don't disqualify it
22015         * tests/init.sh: Too many shells corrupt application stderr when
22016         you set -x, so we can't afford to disqualify them, since at least
22017         on Irix-6.5, that would disqualify all bourne shells.
22018         Instead, use a two-pass approach.
22019         On the first pass, try to find a shell that meets the stricter
22020         condition that set -x does not corrupt stderr.
22021         If no shell meets the stricter condition, retest each candidate
22022         shell, but without that extra condition.  Finally, when
22023         VERBOSE=yes is requested and set -x might cause trouble, simply
22024         issue a warning and refrain from enabling debug output.
22025
22026 2010-09-08  Eric Blake  <eblake@redhat.com>
22027
22028         unsetenv: fix OpenBSD bug
22029         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
22030         * doc/posix-functions/unsetenv.texi (unsetenv): Update
22031         documentation.
22032         Reported by Jim Meyering.
22033
22034         strtod: work around IRIX 6.5 bug
22035         * lib/strtod.c (strtod): Reparse number on shorter string if
22036         exponent parse was invalid.
22037         * tests/test-strtod.c (main): Add check for "0x1p 2".
22038         Reported by Tom G. Christensen.
22039
22040         getopt: optimize previous patch
22041         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
22042         empty variable.  Speed up awk script.
22043         Reported by Paolo Bonzini.
22044
22045 2010-09-08  Jim Meyering  <meyering@redhat.com>
22046
22047         test.sh: disqualify shells for which set -x corrupts stderr
22048         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
22049         and OpenBSD 4.7.  They make it so with "set -x", environment settings
22050         appear in stderr output.  For example, this command:
22051             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
22052         prints "P=1" on those two systems:
22053
22054 2010-09-08  Bruno Haible  <bruno@clisp.org>
22055
22056         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22057         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
22058         commands, because some shells ignore redirections when there is an
22059         error in the command lookup.
22060         Reported by Eric Blake.
22061
22062 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
22063
22064         * lib/regex.h: Fix a mention of `regex_compile' (should be
22065         `re_compile_pattern').
22066         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
22067         (re_set_registers): Correct name of parameter in comment.
22068
22069         * doc/regex.texi: Add documentation for missing syntax flags.
22070         Remove commented-out documentation of defunct syntax option
22071         RE_NO_EMPTY_ALTS.
22072         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
22073         Add documentation of re_set_registers.
22074         Document trick to re-use a pattern buffer by setting fastmap manually.
22075         Update documentation of struct re_pattern_buffer per public members.
22076         Uncomment documentation of equivalence class operators and
22077         collating symbol operators, since they are now implemented,
22078         Explain leftmost-longest matching in relation to alternatives.
22079         Tidy documentation of substring matching.
22080         Remove POSIX documentation, which is done better in
22081         glibc, and refer the reader there. Keep BSD API documentation, as
22082         that is not readily available elsewhere.
22083
22084 2010-09-07  Eric Blake  <eblake@redhat.com>
22085
22086         getopt: handle POSIXLY_CORRECT set but not exported
22087         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
22088         export state of POSIXLY_CORRECT, due to bash set -o posix.
22089         Reported by Dustin J. Mitchell.
22090
22091 2010-09-05  Bruno Haible  <bruno@clisp.org>
22092
22093         gnulib-tool: Highlight the changed options.
22094         * gnulib-tool (func_usage): Display the --import, --add-import,
22095         --remove-import explanations in bold font.
22096
22097 2010-09-06  Karl Berry  <karl@gnu.org>
22098
22099         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
22100
22101 2010-09-05  Bruno Haible  <bruno@clisp.org>
22102
22103         uniwidth/width: Update comment.
22104         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
22105         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
22106
22107 2010-09-05  Bruno Haible  <bruno@clisp.org>
22108
22109         isinf, isnan: Relax license.
22110         * modules/isinf (License): Change from GPL to LGPL, with consent from
22111         Ben Pfaff.
22112         * modules/isnan (License): Likewise.
22113         Requested by Ludovic Courtès.
22114
22115 2010-09-04  Bruno Haible  <bruno@clisp.org>
22116
22117         gnulib-tool: Help migration from --import to --add-import or --update.
22118         * gnulib-tool: Emit a verbose error message when --import is used
22119         without any module name.
22120
22121 2010-09-04  Bruno Haible  <bruno@clisp.org>
22122
22123         Update doc about gnulib-tool.
22124         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
22125         'gnulib-tool --update' in more detail.
22126         Reported by Eric Blake.
22127
22128 2010-09-04  Bruno Haible  <bruno@clisp.org>
22129
22130         gnulib-tool: Change --import. New options --add/remove-import.
22131         * gnulib-tool: New options --add-import, --remove-import.
22132         (func_usage): Document them.
22133         (have_associative): Define always.
22134         (func_import): In import mode, don't merge the specified settings with
22135         the cached settings. Implement remove-import mode.
22136         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
22137         Explain when to use them versus --import.
22138         (Simple update): Use --add-import instead of --import.
22139         * NEWS: Mention the change.
22140
22141 2010-09-04  Bruno Haible  <bruno@clisp.org>
22142
22143         * doc/gnulib-tool.texi (Initial import): Update paragraph about
22144         separate gnulib.mk.
22145
22146 2010-09-04  Bruno Haible  <bruno@clisp.org>
22147
22148         gnulib-tool: Don't talk about CVS any more.
22149         * gnulib-tool (func_usage, func_import): Write "version control"
22150         instead of CVS.
22151
22152 2010-09-04  Jim Meyering  <meyering@redhat.com>
22153
22154         maint.mk: avoid obscure sc_copyright_check failure in coreutils
22155         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
22156         false positives (whose names may be ill-chosen) when searching
22157         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
22158         would cause a false-positive.
22159
22160         avoid coreutils "make distcheck" failure
22161         Coreutils tests with an absolute build directory name that contains
22162         a space.  Not quoting this directory name caused a failure.
22163         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
22164         * tests/test-vc-list-files-cvs.sh: Likewise.
22165
22166 2010-09-04  Bruno Haible  <bruno@clisp.org>
22167
22168         gnulib-tool: Avoid error when run in a package without Makefile.am.
22169         * gnulib-tool: When collecting the m4dirs in a package that does not
22170         have a Makefile.am, eliminate those directories that contain no
22171         gnulib-cache.m4. Fix expression that counts these directories.
22172
22173 2010-09-04  Bruno Haible  <bruno@clisp.org>
22174
22175         update-copyright test: Improve output when perl is missing or too old.
22176         * tests/test-update-copyright.sh: Move test of Perl version down after
22177         the test whether Perl exists. Provide an explanation relating Perl's
22178         error message to Automake's SKIP: message.
22179
22180 2010-09-04  Bruno Haible  <bruno@clisp.org>
22181
22182         Don't augment PATH in TESTS_ENVIRONMENT.
22183         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
22184         set abs_aux_dir instead of augmenting PATH.
22185         * modules/vc-list-files-tests (Makefile.am): Likewise.
22186         * tests/test-update-copyright.sh: Augment PATH here.
22187         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
22188         path_prepend_.
22189         * tests/test-vc-list-files-git.sh: Likewise.
22190
22191 2010-09-04  Jim Meyering  <meyering@redhat.com>
22192
22193         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
22194         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
22195
22196 2010-09-04  Bruno Haible  <bruno@clisp.org>
22197
22198         strdup: Fix compilation error in C++ mode.
22199         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
22200         the macro.
22201
22202 2010-09-04  Bruno Haible  <bruno@clisp.org>
22203
22204         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
22205         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
22206         macro into a function.
22207         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22208
22209 2010-09-04  Bruno Haible  <bruno@clisp.org>
22210
22211         Set PATH_SEPARATOR the same way autoconf does.
22212         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
22213         the value of PATH_SEPARATOR the same way autoconf-generated configure
22214         scripts do.
22215         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
22216         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
22217
22218 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
22219
22220         Set PATH_SEPARATOR the same way autoconf does.
22221         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
22222         the same way autoconf-generated configure scripts do.
22223         * posix-modules: Likewise.
22224
22225 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22226
22227         hash: fix safe_hasher const typo
22228         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
22229         const; otherwise, there is a type error later.
22230
22231 2010-09-02  Jim Meyering  <meyering@redhat.com>
22232
22233         test-update-copyright.sh: require perl 5.8.0
22234         * tests/test-update-copyright.sh: Require 5.8.0,
22235         which Tom G. Christensen has confirmed is adequate,
22236         while 5.6.1 is not.
22237
22238 2010-09-02  Eric Blake  <eblake@redhat.com>
22239
22240         tests: init.sh improvements for re-exec'ing with zsh
22241         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
22242         -vx through shell re-exec.
22243         Reported by Tom G. Christensen.
22244
22245         wctype: fix typo in previous commit
22246         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
22247         Reported by Ludovic Courtès.
22248
22249 2010-09-02  Jim Meyering  <meyering@redhat.com>
22250
22251         test-update-copyright.sh: skip test if Perl is too old
22252         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
22253         Reported by Tom G. Christensen.
22254
22255 2010-09-02  Bruno Haible  <bruno@clisp.org>
22256
22257         wctype: Avoid compilation error on IRIX 6.5.30.
22258         * lib/wctype.in.h (iswblank): Declare with a replacement if
22259         REPLACE_ISWBLANK is set.
22260         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
22261         declared. Set REPLACE_ISWBLANK.
22262         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
22263         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
22264         * doc/posix-headers/wctype.texi: Likewise.
22265         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22266
22267 2010-09-01  Bruno Haible  <bruno@clisp.org>
22268
22269         New module 'socketlib'.
22270         * modules/socketlib: New file.
22271         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
22272         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
22273         * modules/sockets (Depends-on): Add socketlib.
22274         Suggested by Sam Steingold <sds@gnu.org>.
22275
22276 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22277
22278         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
22279
22280         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
22281         when one needs search access to a directory but not read access.
22282         On systems where it is available, it works in some cases where
22283         O_RDONLY does not, namely on directories that are searchable but
22284         not readable, and which need only to be searchable.  If O_SEARCH
22285         is not available, fall back to the traditional method of using
22286         O_RDONLY.
22287
22288         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
22289         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
22290         when opening a directory that needs only to be searchable.
22291         * lib/chdir-safer.c (chdir_no_follow): Likewise.
22292         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
22293         * lib/openat-proc.c (openat_proc_name): Likewise.
22294         * lib/openat.c (openat_needs_fchdir): Likewise.
22295         * lib/save-cwd.c (save_cwd): Likewise.
22296         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
22297
22298 2010-08-28  Bruno Haible  <bruno@clisp.org>
22299
22300         New module 'host-cpu-c-abi'.
22301         * modules/host-cpu-c-abi: New file.
22302         * m4/host-cpu-c-abi.m4: New file, based on part of
22303         clisp/src/m4/general.m4.
22304         Requested by Sam Steingold <sds@gnu.org>.
22305
22306 2010-08-31  Eric Blake  <eblake@redhat.com>
22307         and Jim Meyering  <meyering@redhat.com>
22308
22309         hash: factor, and guard against misbehaving hasher function
22310         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
22311         of table->hasher's return value.  Also protect against a hash value
22312         so large that adding it to table->bucket results in a NULL pointer.
22313         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
22314         Use it in place of open-coded check-and-abort.
22315
22316 2010-08-30  Bruno Haible  <bruno@clisp.org>
22317
22318         hash: silence spurious clang warning
22319         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
22320         Reported by Eric Blake.
22321
22322 2010-08-30  Eric Blake  <eblake@redhat.com>
22323
22324         strstr, memmem, strcasestr: avoid leaked shell message
22325         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
22326         FreeBSD.
22327         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22328         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22329
22330         tests: silence clang warning
22331         * tests/test-malloca.c (do_allocation): Avoid dead store.
22332
22333 2010-08-29  Bruno Haible  <bruno@clisp.org>
22334
22335         gettext: Fix recent mistake.
22336         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
22337
22338 2010-08-29  Bruno Haible  <bruno@clisp.org>
22339
22340         selinux-h: Offer a --without-selinux option.
22341         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
22342         --without-selinux was specified, skip all tests and define
22343         HAVE_SELINUX_SELINUX_H to 0.
22344         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
22345         set LIB_SELINUX to empty.
22346         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
22347         gl_LIBSELINUX. If --without-selinux was specified, replace
22348         selinux/context.h.
22349         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
22350
22351 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22352             Bruno Haible  <bruno@clisp.org>
22353
22354         Make the module 'realloc-gnu' work again on AIX and OSF/1.
22355         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
22356         of HAVE_REALLOC.
22357         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
22358         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
22359         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
22360         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
22361
22362 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22363             Bruno Haible  <bruno@clisp.org>
22364
22365         Make the module 'calloc-gnu' work again on AIX and OSF/1.
22366         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
22367         HAVE_CALLOC.
22368         * lib/xmalloc.c: Update accordingly.
22369         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
22370         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
22371         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
22372
22373 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22374             Bruno Haible  <bruno@clisp.org>
22375
22376         Make the module 'malloc-gnu' work again on AIX and OSF/1.
22377         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
22378         HAVE_MALLOC.
22379         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
22380         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
22381         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
22382
22383 2010-08-29  Bruno Haible  <bruno@clisp.org>
22384
22385         Update modules list.
22386         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
22387         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
22388         (String handling <string.h>): Add astrxfrm.
22389         (File system functions): Add readlinkat.
22390
22391 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22392
22393         Tests for module 'realloc-gnu'.
22394         * modules/realloc-gnu-tests: New file.
22395         * tests/test-realloc-gnu.c: New file.
22396
22397         Tests for module 'calloc-gnu'.
22398         * modules/calloc-gnu-tests: New file.
22399         * tests/test-calloc-gnu.c: New file.
22400
22401         Tests for module 'malloc-gnu'.
22402         * modules/malloc-gnu-tests: New file.
22403         * tests/test-malloc-gnu.c: New file.
22404
22405 2010-08-28  Bruno Haible  <bruno@clisp.org>
22406
22407         Rename module 'realloc' -> 'realloc-gnu'.
22408         * modules/realloc-gnu: New file, copied from modules/realloc.
22409         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
22410         obsolete.
22411         * modules/mgetgroups (Depends-on): Update.
22412         * doc/posix-functions/realloc.texi: Update.
22413         * NEWS: Mention the change.
22414
22415         Rename module 'calloc' -> 'calloc-gnu'.
22416         * modules/calloc-gnu: New file, copied from modules/calloc.
22417         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
22418         obsolete.
22419         * doc/posix-functions/calloc.texi: Update.
22420         * NEWS: Mention the change.
22421
22422         Rename module 'malloc' -> 'malloc-gnu'.
22423         * modules/malloc-gnu: New file, copied from modules/malloc.
22424         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
22425         obsolete.
22426         * modules/argp (Depends-on): Update.
22427         * modules/regex (Depends-on): Update.
22428         * doc/posix-functions/malloc.texi: Update.
22429         * NEWS: Mention the change.
22430
22431 2010-08-28  Eric Blake  <eblake@redhat.com>
22432
22433         pread, pwrite: add missing dependency
22434         * modules/pread (Depends-on): Add extensions.
22435         * modules/pwrite (Depends-on): Likewise.
22436
22437 2010-08-28  Bruno Haible  <bruno@clisp.org>
22438
22439         unistr/u*-strchr: Fix tests dependencies.
22440         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
22441         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
22442         Reported by Ian Beckwith <ianb@erislabs.net>.
22443
22444 2010-08-28  Bruno Haible  <bruno@clisp.org>
22445
22446         read-file: Don't occupy too much unused memory.
22447         * lib/read-file.c (fread_file): Shrink the buffer at the end.
22448
22449 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
22450             Eric Blake  <eblake@redhat.com>
22451             Bruno Haible  <bruno@clisp.org>
22452
22453         read-file: Avoid memory reallocations with regular files.
22454         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
22455         (fread_file): With regular files, use the remaining length as the
22456         initial buffer size.  Check against overflow.
22457         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
22458         sys_stat.
22459
22460 2010-08-28  Bruno Haible  <bruno@clisp.org>
22461
22462         ftello: Relax license.
22463         * modules/ftello (License): Relax to LGPLv2+.
22464         Reported by Eric Blake.
22465
22466 2010-08-28  Bruno Haible  <bruno@clisp.org>
22467
22468         Avoid relocwrapper link errors due to gnulib replacement functions.
22469         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
22470         function.
22471         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22472
22473 2010-08-28  Bruno Haible  <bruno@clisp.org>
22474
22475         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
22476         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
22477         defined.
22478         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
22479         Suggested by Eric Blake.
22480
22481 2010-08-28  Bruno Haible  <bruno@clisp.org>
22482
22483         sys_socket, netdb: Ensure socklen_t gets defined.
22484         * modules/sys_socket (Depends-on): Add socklen.
22485         * modules/netdb (Depends-on): Likewise.
22486         * modules/getaddrinfo (Depends-on): Remove socklen.
22487         * modules/getsockopt (Depends-on): Likewise.
22488         * modules/setsockopt (Depends-on): Likewise.
22489         * tests/test-sys_socket.c: Check that socklen_t is defined.
22490         * tests/test-netdb.c: Likewise.
22491         * m4/socklen.m4: Update comments.
22492         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22493
22494 2010-08-27  Eric Blake  <eblake@redhat.com>
22495
22496         login_tty: add missing dependency
22497         * modules/login_tty (Depends-on): Add pty.
22498
22499 2010-08-26  Eric Blake  <eblake@redhat.com>
22500
22501         lib-symbol-versions: fix m4 quoting
22502         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
22503         format for AC_LINK_IFELSE.
22504
22505         glob: fix compile test
22506         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
22507
22508         btowc: fix missing file
22509         * modules/btowc (Files): Also ship locale-fr.m4.
22510
22511         lseek: fix link test
22512         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
22513         AC_LINK_IFELSE.
22514
22515         include_next: silence autoconf 2.68 warning
22516         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
22517         AC_COMPILE_IFELSE as special.
22518         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
22519         autoconf < 2.68.
22520
22521         acl: fix compilation test
22522         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
22523         AC_COMPILE_IFELSE.
22524
22525 2010-08-26  Bruno Haible  <bruno@clisp.org>
22526
22527         Modernize AC_TRY_RUN invocations.
22528         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
22529         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22530         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
22531         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
22532         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
22533         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
22534         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22535         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
22536         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22537         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22538         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
22539         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22540         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22541         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22542         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22543         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
22544         gl_MBRLEN_NUL_RETVAL): Likewise.
22545         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22546         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
22547         Likewise.
22548         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22549         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22550         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22551         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22552         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
22553         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
22554         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
22555         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
22556         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
22557         Likewise.
22558         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
22559         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
22560         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22561         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
22562         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22563         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22564         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22565         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
22566         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22567         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22568
22569 2010-08-26  Bruno Haible  <bruno@clisp.org>
22570
22571         Modernize AC_TRY_LINK invocations.
22572         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
22573         AC_TRY_LINK.
22574         * m4/argp.m4 (gl_ARGP): Likewise.
22575         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
22576         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
22577         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
22578         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
22579         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
22580         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
22581         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
22582         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22583         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
22584         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
22585         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
22586         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
22587         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
22588         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22589         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
22590         * m4/hostent.m4 (gl_HOSTENT): Likewise.
22591         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22592         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
22593         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
22594         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
22595         Likewise.
22596         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
22597         Likewise.
22598         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
22599         Likewise.
22600         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
22601         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
22602         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
22603         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
22604         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
22605         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
22606         * m4/servent.m4 (gl_SERVENT): Likewise.
22607         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
22608         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
22609         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
22610         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
22611         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
22612         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
22613         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
22614         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22615         * modules/tsearch-tests (configure.ac): Likewise.
22616
22617 2010-08-26  Bruno Haible  <bruno@clisp.org>
22618
22619         Modernize AC_TRY_COMPILE invocations.
22620         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
22621         AC_TRY_COMPILE.
22622         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
22623         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
22624         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
22625         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
22626         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
22627         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
22628         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
22629         * m4/lock.m4 (gl_LOCK): Likewise.
22630         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
22631         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
22632         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
22633         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
22634         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
22635         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
22636         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
22637         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
22638         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
22639         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
22640         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
22641         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
22642         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
22643         extraneous semicolon.
22644
22645 2010-08-26  Jim Meyering  <meyering@redhat.com>
22646
22647         stat-time: relax license LGPL
22648         * modules/stat-time (License): Change from GPL to LGPL,
22649         with consent from all contributors, for use in libguile.
22650         Requested by Ludovic Courtès.
22651
22652 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
22653
22654         poll: return immediately on POLLHUP.
22655         * lib/poll.c (poll): Always set timeout before wait_timeout is
22656         computed.
22657
22658 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22659
22660         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
22661         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
22662         rmdir ("dir/.//"), unlinkat.
22663
22664 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22665
22666         stdbool: avoid spurious failure with modern xlc
22667         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
22668
22669 2010-08-24  Bruno Haible  <bruno@clisp.org>
22670
22671         getloadavg: simplify code
22672         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
22673         gl_have_func. Update comments.
22674
22675 2010-08-24  Eric Blake  <eblake@redhat.com>
22676
22677         getloadavg: don't define SVR4 on cygwin
22678         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
22679         only define SVR4 when -lkvm is required.
22680         Reported by Yaakov Selkowitz.
22681
22682 2010-08-24  Bruno Haible  <bruno@clisp.org>
22683
22684         priv-set: fix comment
22685         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
22686
22687 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
22688
22689         priv-set: fix comments
22690         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
22691         to match code, as suggested by David Bartley in:
22692         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
22693
22694 2010-08-23  Eric Blake  <eblake@redhat.com>
22695
22696         stdbool: avoid rejecting clang
22697         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
22698         * tests/test-stdbool.c: Enable more tests if using the system
22699         <stdbool.h> instead of the gnulib replacement.
22700         (main): Move xlc bug test to a runtime test for all compilers.
22701         Reported by Anders Kaseorg.
22702
22703         argz: fix shell quoting issue
22704         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
22705         Reported by Charles Wilson.
22706
22707 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
22708             Erik Faye-Lund <kusmabite@gmail.com>
22709
22710         poll, select: handle ERROR_BROKEN_PIPE.
22711         * lib/poll.c (win32_compute_revents): Return POLLHUP when
22712         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
22713         * lib/select.c (win32_compute_revents): Do not mark a pipe
22714         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
22715
22716 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
22717
22718         fts: allow compilation with C++
22719         * lib/fts_.h: Specify extern "C" linkage with C++.
22720
22721 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22722
22723         Fix gnulib-tool sed script de-commentation for AIX sed.
22724         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
22725         sed.
22726
22727 2010-08-17  Eric Blake  <eblake@redhat.com>
22728
22729         test-stddef: test for (some) offsetof bugs
22730         * tests/test-stddef.c: Enhance test to ensure correct type of
22731         offsetof.
22732         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
22733         that we are not fixing at this time.
22734
22735 2010-08-15  Bruno Haible  <bruno@clisp.org>
22736
22737         stpncpy: Allow stpncpy to be defined as a macro.
22738         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
22739         if it's already correctly declared.
22740         * lib/string.in.h (stpncpy): Undefine before redefining.
22741         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
22742
22743 2010-08-14  Bruno Haible  <bruno@clisp.org>
22744
22745         Rename module 'memxfrm' to 'amemxfrm'.
22746         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
22747         (amemxfrm): Renamed from memxfrm.
22748         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
22749         (amemxfrm): Renamed from memxfrm.
22750         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
22751         * NEWS: Mention the change.
22752         * MODULES.html.sh (String handling <string.h>): Update.
22753         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
22754         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
22755         * lib/unicase/u16-casexfrm.c: Likewise.
22756         * lib/unicase/u32-casexfrm.c: Likewise.
22757         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
22758         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
22759         * lib/uninorm/u16-normxfrm.c: Likewise.
22760         * lib/uninorm/u32-normxfrm.c: Likewise.
22761         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
22762         memxfrm.
22763         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
22764         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
22765         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
22766         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
22767         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
22768         Suggested by Paul Eggert.
22769
22770 2010-08-14  Bruno Haible  <bruno@clisp.org>
22771
22772         Tests for module 'astrxfrm'.
22773         * modules/astrxfrm-tests: New file.
22774         * tests/test-astrxfrm.c: New file.
22775
22776         New module 'astrxfrm'.
22777         * lib/astrxfrm.h: New file.
22778         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
22779         * modules/astrxfrm: New file.
22780
22781 2010-08-14  Reuben Thomas <rrt@sc3d.org>
22782
22783         regex: Tweak doc.
22784         * doc/regex.texi (Overview): Don't mention regex.c.
22785         (GNU Regular Expression Compiling): Likewise.
22786         (Match-end-of-line Operator): Mention 'not_eol'.
22787
22788 2010-08-14  Brian Gough  <bjg@gnu.org>
22789             Bruno Haible  <bruno@clisp.org>
22790
22791         git-merge-changelog: add doc relating to use with bzr and hg.
22792         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
22793
22794 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
22795
22796         pthread: fix pthread.h creation for srcdir != builddir
22797         * modules/pthread (Makefile.am): Fix the rule to work also in a
22798         non-srcdir build.
22799
22800 2010-08-13  Karl Berry  <karl@gnu.org>
22801
22802         * doc/regex.texi (Predefined Syntaxes): @smallexample.
22803         * doc/posix-*/*: force line break before @url of POSIX
22804         specifications.
22805         Suggested by Werner Lemberg.
22806
22807 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
22808
22809         strtod: fix const diagnostic
22810         * lib/strtod.c (strtod): Don't assign const char * to char *,
22811         as this elicits a warning from GCC when warnings are enabled.
22812
22813 2010-08-10  Pádraig Brady <P@draigbrady.com>
22814         and Eric Blake  <eblake@redhat.com>
22815
22816         copy-acl: ignore ENOTSUP on HP-UX
22817         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
22818         so that it is available for HP-UX.
22819         * lib/copy-acl.c (qcopy_acl): Use it.
22820         Reported by Patrick M. Callahan.
22821
22822 2010-08-10  Eric Blake  <eblake@redhat.com>
22823
22824         open, chown: relax license
22825         * modules/open (License): Change to LGPLv2+, with consent by all
22826         authors, for use in augeas.
22827         * modules/chown (License): Likewise.
22828         * modules/lchown (Likewise): Likewise.
22829         Requested by Adam Stokes.
22830
22831 2010-08-09  Karl Berry  <karl@gnu.org>
22832
22833         * build-aux/ar-lib: new file, import from Automake.
22834         * config/srclist.txt: autocheck for updates.
22835
22836 2010-08-09  Eric Blake  <eblake@redhat.com>
22837
22838         readlinkat: adjust client modules
22839         * modules/areadlinkat (Depends-on): Use readlinkat, not
22840         symlinkat.
22841         * modules/areadlinkat-with-size (Depends-on): Likewise.
22842
22843         mknod: be more vocal about danger of running tests as root
22844         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
22845         root, since that is just asking for problems.
22846         Suggested by Bruno Haible, based on a report by Rainer Tammer.
22847
22848         readlinkat: split into its own module
22849         * modules/symlinkat: Split readlinkat...
22850         * modules/readlinkat: ...into separate module.
22851         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
22852         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
22853         * lib/symlinkat.c (readlinkat): Move...
22854         * lib/readlinkat.c: ...into new file.
22855         * modules/symlinkat-tests: Split readlinkat test...
22856         * modules/readlinkat-tests: ...into separate module.
22857         * tests/test-symlinkat.c: Split...
22858         * tests/test-readlinkat.c: ...into new file.
22859         * NEWS: Document the split.
22860         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22861         * lib/unistd.in.h (readlinkat): Likewise.
22862         Suggested by Bruno Haible.
22863
22864 2010-08-08  Bruno Haible  <bruno@clisp.org>
22865
22866         memxfrm: Speed up.
22867         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
22868         that usually only one call to strxfrm is necessary for each string
22869         part.
22870         Reported by Paul Eggert <eggert@cs.ucla.edu>.
22871
22872 2010-08-07  Karl Berry  <karl@gnu.org>
22873
22874         * doc/posix-headers/limits.texi,
22875         * doc/posix-functions/malloc.texi,
22876         * doc/posix-functions/strsignal.texi: missing @item.
22877         * doc/ld-version-script.texi: spurious leading i.
22878         * doc/regex.texi (Interval Operators): no commas inside @var.
22879
22880 2010-08-01  Bruno Haible  <bruno@clisp.org>
22881
22882         Integrate the regex documentation.
22883         * doc/gnulib.texi: Define 'cn' index.
22884         (Regular expressions): New a chapter that includes regex.texi and
22885         regexprops-generic.texi.
22886         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
22887         syntax.
22888
22889         Whitespace cleanup.
22890         * doc/regex.texi: Remove trailing spaces.
22891
22892         Add regex documentation.
22893         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
22894         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
22895         Written by Kathy A. Hargreaves and Karl Berry.
22896
22897 2010-08-01  Bruno Haible  <bruno@clisp.org>
22898
22899         link: Update documentation.
22900         * doc/posix-functions/link.texi: Update regarding Solaris.
22901
22902 2010-07-31  Bruno Haible  <bruno@clisp.org>
22903
22904         Update modules list.
22905         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
22906         (String handling <string.h>): Add memcmp2, memxfrm.
22907         (Container data structures): Add xlist, xsublist, xoset.
22908         (Core language properties): Add alignof, unused-parameter.
22909         (Process control, Numeric conversion functions <stdlib.h>): Renamed
22910         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
22911         (Unibyte characters <ctype.h>): New section.
22912         (String handling <string.h>): New section.
22913         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
22914         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
22915         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
22916         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
22917         tan, tanh, tanl, y0, y1, yn.
22918         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
22919         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
22920         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
22921         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
22922         unlockpt, vdprintf, vdprintf-posix.
22923         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
22924         (File system functions): Add concat-filename, sys_file, sys_ioctl,
22925         xconcat-filename.
22926         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
22927         getdtablesize, pipe2, pipe2-safer.
22928         (Security): New section.
22929         (Networking functions): Add accept4.
22930         (Signal handling): Add sigpipe.
22931         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
22932         mbmemcasecoll.
22933         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
22934         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
22935         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
22936         pipe-filter-ii.
22937         (Misc): Add argp-version-etc, login_tty, parse-duration.
22938
22939 2010-07-31  Bruno Haible  <bruno@clisp.org>
22940
22941         Improve doc in MODULES.html.
22942         * modules/linkat (Description): Add the word "function".
22943         * modules/mkfifo (Description): Likewise.
22944         * modules/mknod (Description): Likewise.
22945         * modules/remove (Description): Likewise.
22946         * modules/renameat (Description): Likewise.
22947         * modules/stat (Description): Likewise.
22948         * modules/symlink (Description): Likewise.
22949         * modules/unlink (Description): Likewise.
22950
22951 2010-07-31  Bruno Haible  <bruno@clisp.org>
22952
22953         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
22954         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
22955         option --enable/disable-c++ instead of --enable/disable-cxx.
22956         * NEWS: Mention the change.
22957
22958 2010-07-31  Bruno Haible  <bruno@clisp.org>
22959
22960         readlink, areadlink: Relax test a bit.
22961         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
22962         alternative to ENOTDIR.
22963         * tests/test-areadlink.h (test_areadlink): Likewise.
22964         Reported by Rainer Tammer.
22965
22966 2010-07-31  Bruno Haible  <bruno@clisp.org>
22967
22968         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
22969         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
22970         character, perform the search using U_STRCHR.
22971         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
22972         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
22973         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
22974         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
22975         Suggested by Paolo Bonzini.
22976
22977 2010-07-31  Bruno Haible  <bruno@clisp.org>
22978
22979         unistr/u*-strstr: Fix dependencies.
22980         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
22981         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
22982         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
22983
22984 2010-07-31  Bruno Haible  <bruno@clisp.org>
22985
22986         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
22987         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
22988         the beginning of the loop.
22989         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
22990         cases in 'switch' statement.
22991
22992         unistr/u8-strchr: Fix several bugs.
22993         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
22994         the string. When not found, return NULL, not a pointer near the end.
22995
22996         More tests for unistr/u8-strchr.
22997         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
22998         that the function does not read past the first occurrence of the byte
22999         being searched.
23000         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
23001         * tests/unistr/test-u16-strchr.c (main): New function.
23002         * tests/unistr/test-u32-strchr.c (main): New function.
23003
23004 2010-07-31  Bruno Haible  <bruno@clisp.org>
23005
23006         posix-modules: Ignore backup files of documentation files.
23007         * posix-modules: grep only through files named *.texi.
23008
23009 2010-07-31  Bruno Haible  <bruno@clisp.org>
23010
23011         symlinkat: Fix documentation.
23012         * doc/posix-functions/readlinkat.texi: Fix module name.
23013
23014 2010-07-31  Bruno Haible  <bruno@clisp.org>
23015
23016         fchownat: Replace also when chown has the trailing slash bug.
23017         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
23018         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
23019         introduced on 2010-04-10.
23020         Reported by Rainer Tammer.
23021
23022 2010-07-31  Bruno Haible  <bruno@clisp.org>
23023
23024         linkat: Work around AIX 7.1 bug.
23025         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
23026         whether linkat handles trailing slash correctly. If not, replace linkat
23027         and define LINKAT_TRAILING_SLASH_BUG.
23028         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
23029         check whether (fd1,file1) points to a directory if file1 or file2 ends
23030         in a slash. Code taken from lib/link.c.
23031         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
23032         Reported by Rainer Tammer.
23033
23034 2010-07-31  Bruno Haible  <bruno@clisp.org>
23035
23036         Correctly determine whether pow is available in libc on AIX 7 with xlc.
23037         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
23038         This disables an xlc optimization that was causing wrong test results.
23039         Reported by Rainer Tammer.
23040
23041 2010-07-31  Bruno Haible  <bruno@clisp.org>
23042
23043         iconv: Work around AIX 6.1..7.1 bug.
23044         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
23045         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
23046         cross-compiling, guess no on all versions of AIX.
23047         Reported by Rainer Tammer.
23048
23049 2010-07-31  Bruno Haible  <bruno@clisp.org>
23050
23051         readlink: Relax test a bit.
23052         * tests/test-readlink.h (test_readlink): Allow different errno value
23053         when readlink is called with a file name that ends in / and refers to
23054         a file.
23055         Suggested by Eric Blake.
23056         Reported by Rainer Tammer.
23057
23058 2010-07-31  Bruno Haible  <bruno@clisp.org>
23059
23060         copysign: Does not require -lm on glibc systems.
23061         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
23062         gl_COMMON_DOUBLE_MATHFUNC.
23063         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
23064
23065 2010-07-31  Bruno Haible  <bruno@clisp.org>
23066
23067         duplocale: Work around AIX 7.1 bug.
23068         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
23069         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
23070         * lib/duplocale.c (rpl_duplocale): Update comment.
23071         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
23072         Reported by Rainer Tammer.
23073
23074 2010-07-30  Bruno Haible  <bruno@clisp.org>
23075
23076         dirfd: Avoid link error on AIX 7.1.
23077         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
23078         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
23079         exist, set REPLACE_DIRFD.
23080         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
23081         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
23082         * doc/posix-functions/dirfd.texi: Update.
23083         Reported by Rainer Tammer.
23084
23085 2010-07-30  Eric Blake  <eblake@redhat.com>
23086
23087         strtod: next round of AIX fixes
23088         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
23089         exponent.
23090         * tests/test-strtod.c (main): Enhance tests.
23091         * doc/posix-functions/strtod.texi (strtod): Document next bug.
23092         Reported by Rainer Tammer.
23093
23094         futimens: fix configure check
23095         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
23096         Reported by Bruno Haible.
23097
23098 2010-07-30  Bruno Haible  <bruno@clisp.org>
23099
23100         getline: Update regarding AIX.
23101         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
23102         Reported by Rainer Tammer.
23103
23104 2010-07-30  Bruno Haible  <bruno@clisp.org>
23105
23106         wcwidth: Drop replacement on AIX 7.
23107         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
23108         AIX 7.
23109         Reported by Rainer Tammer.
23110
23111 2010-07-30  Bruno Haible  <bruno@clisp.org>
23112
23113         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
23114         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
23115         a 'char *'.
23116         Reported by Rainer Tammer.
23117
23118 2010-07-30  Bruno Haible  <bruno@clisp.org>
23119
23120         unlink: Update regarding AIX.
23121         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
23122         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
23123         Reported by Rainer Tammer.
23124
23125 2010-07-30  Bruno Haible  <bruno@clisp.org>
23126
23127         symlink: Update regarding AIX.
23128         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
23129         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
23130         Reported by Rainer Tammer.
23131
23132 2010-07-30  Bruno Haible  <bruno@clisp.org>
23133
23134         strndup: Update regarding AIX.
23135         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
23136         AIX 7.
23137         Reported by Rainer Tammer.
23138
23139 2010-07-30  Bruno Haible  <bruno@clisp.org>
23140
23141         stat: Update regarding AIX.
23142         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
23143         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
23144         Reported by Rainer Tammer.
23145
23146 2010-07-30  Bruno Haible  <bruno@clisp.org>
23147
23148         truncl: Fix autoconf test.
23149         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
23150         whether truncl works.
23151         Reported by Rainer Tammer.
23152
23153 2010-07-30  Bruno Haible  <bruno@clisp.org>
23154
23155         round: Update regarding AIX.
23156         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
23157         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
23158         Reported by Rainer Tammer.
23159
23160 2010-07-30  Bruno Haible  <bruno@clisp.org>
23161
23162         rename: Update regarding AIX.
23163         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
23164         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
23165         Reported by Rainer Tammer.
23166
23167 2010-07-30  Bruno Haible  <bruno@clisp.org>
23168
23169         printf.m4: Update regarding AIX.
23170         * m4/printf.m4: Update comments regarding AIX.
23171         Reported by Rainer Tammer.
23172
23173 2010-07-30  Bruno Haible  <bruno@clisp.org>
23174
23175         iconv: Update regarding AIX.
23176         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
23177         AIX 7.
23178         Reported by Rainer Tammer.
23179
23180 2010-07-30  Bruno Haible  <bruno@clisp.org>
23181
23182         getopt: Update regarding AIX.
23183         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
23184         no on AIX.
23185         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
23186         Reported by Rainer Tammer.
23187
23188 2010-07-30  Bruno Haible  <bruno@clisp.org>
23189
23190         ldexpl; Update regarding AIX.
23191         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
23192         on AIX 7.
23193         Reported by Rainer Tammer.
23194
23195 2010-07-30  Bruno Haible  <bruno@clisp.org>
23196
23197         frexpl: Update regarding AIX.
23198         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
23199         on AIX 7.
23200         Reported by Rainer Tammer.
23201
23202 2010-07-30  Bruno Haible  <bruno@clisp.org>
23203
23204         open, fopen: Update regarding AIX.
23205         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
23206         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
23207         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
23208         * doc/posix-functions/fopen.texi: Likewise.
23209         Reported by Rainer Tammer.
23210
23211 2010-07-30  Bruno Haible  <bruno@clisp.org>
23212
23213         chown: Update doc regarding AIX.
23214         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
23215         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
23216         Reported by Rainer Tammer.
23217
23218 2010-07-30  Eric Blake  <eblake@redhat.com>
23219
23220         strtod: fix bug in replacement function on AIX
23221         * lib/strtod.c (strtod): Special case broken "0x" parse in
23222         underlying strtod.
23223         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
23224         * doc/posix-functions/strtod.texi (strtod): Likewise.
23225         Reported by Rainer Tammer.
23226
23227 2010-07-30  Bruno Haible  <bruno@clisp.org>
23228
23229         mbrlen: Fix cross-compilation guess for AIX.
23230         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
23231         guess. Leftover from 2008-12-22.
23232
23233 2010-07-30  Bruno Haible  <bruno@clisp.org>
23234
23235         mbrtowc: Fix cross-compilation guess for AIX.
23236         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
23237         guess. Leftover from 2008-12-21.
23238
23239 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
23240
23241         init.sh: work around trap limitation of some shells
23242         * tests/init.sh (setup_): Move exit trap outside of shell function.
23243
23244 2010-07-29  Eric Blake  <eblake@redhat.com>
23245
23246         strtod: aid debugging
23247         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
23248         understanding why strtod is rejected.
23249
23250 2010-07-28  Bruno Haible  <bruno@clisp.org>
23251
23252         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
23253         * lib/unistr/u8-chr.c: Include <string.h>.
23254         * tests/unistr/test-u8-chr.c: Likewise.
23255         * tests/unistr/test-u16-chr.c: Likewise.
23256         * tests/unistr/test-u32-chr.c: Likewise.
23257         * tests/unistr/test-u8-strchr.c: Likewise.
23258         * tests/unistr/test-u16-strchr.c: Likewise.
23259         * tests/unistr/test-u32-strchr.c: Likewise.
23260         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
23261         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
23262         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
23263         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
23264
23265 2010-07-28  Bruno Haible  <bruno@clisp.org>
23266
23267         Use spaces for indentation, not tabs.
23268         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
23269
23270 2010-07-27  Bruno Haible  <bruno@clisp.org>
23271
23272         mbspcasecmp: Fix function specification.
23273         * lib/string.in.h (mbspcasecmp): Fix specification comment.
23274         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
23275         Reported by Eric Blake <eblake@redhat.com>.
23276
23277 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
23278
23279         timespec: use cast and not conditional, as truncation isn't possible
23280         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
23281         instead of a conditional.  Comment about the situation in more detail.
23282         This undoes most of the 2009-10-29 patch.
23283
23284 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
23285
23286         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
23287         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
23288         * lib/unistr/u8-strchr.c: Likewise.
23289         * modules/unistr/u8-chr: Depend on memchr.
23290
23291         unistr/u*-strchr: add tests
23292         * modules/unistr/u8-strchr-tests: New file.
23293         * modules/unistr/u16-strchr-tests: New file.
23294         * modules/unistr/u32-strchr-tests: New file.
23295         * tests/unistr/test-strchr.h: New file.
23296         * tests/unistr/test-u8-strchr.c: New file.
23297         * tests/unistr/test-u16-strchr.c: New file.
23298         * tests/unistr/test-u32-strchr.c: New file.
23299
23300         unistr/u*-chr: test multibyte sequences more
23301         * tests/unistr/test-chr.h: Do complete testing of the characters in the
23302         test vector.
23303         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
23304         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
23305         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
23306
23307         unistr/u*-chr: test multibyte sequences
23308         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
23309
23310         unistr/u*-chr: prepare for multibyte tests
23311         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
23312         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
23313         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
23314         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
23315         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
23316         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
23317
23318 2010-07-18  Bruno Haible  <bruno@clisp.org>
23319
23320         unistr/u8-strchr: Optimize non-ASCII argument case.
23321         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
23322         because the first byte often matches anyway.
23323         Reported by Pádraig Brady <P@draigbrady.com>.
23324
23325 2010-07-15  Karl Berry  <karl@gnu.org>
23326
23327         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
23328
23329 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
23330
23331         getcwd: on Solaris, work better if ancestors are inaccessible
23332         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
23333         buffer and size, try again with a large buffer.  This works better
23334         on Solaris, since its getcwd succeeds even if the path to the root
23335         is inaccessible, and this is helpful in common cases such as .zfs
23336         hidden directories.  Problem reported by J Chapman Flack in
23337         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
23338         Use system getcwd if it's declared, not merely if it's partly
23339         working; use the partly-working test only to avoid needless effort
23340         if the system getcwd fails.
23341         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
23342         comment that was already obsolete and is now even more obsolete.
23343         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
23344         now might call strdup.
23345
23346 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
23347
23348         pthread: Add enough so that coreutils/src/sort.c compiles.
23349         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
23350         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
23351         gnulib. Include <sched.h> and <time.h>, as per POSIX.
23352         Include <sys/types.h>, in case it defines pthread_t.
23353         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
23354         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
23355         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
23356         (pthread_rwlockattr_t, pthread_spinlock_t):
23357         New typedefs, if HAVE_PTHREAD_T is not defined.
23358         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
23359         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
23360         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
23361         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
23362         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
23363         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
23364         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
23365         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
23366         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
23367         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
23368         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
23369         New macros.
23370         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
23371         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
23372         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
23373         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
23374         (pthread_spin_unlock): New dummy functions.
23375         (pthread_create): Return EAGAIN; don't set errno.
23376         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
23377         require AC_C_INLINE.
23378         * modules/pthread (Depends-on): Add sched, time.
23379         (pthread.h): Use AM_V_GEN.
23380
23381 2010-07-13  Bruno Haible  <bruno@clisp.org>
23382
23383         striconveh: Don't malloc memory if the result buffer is sufficient.
23384         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
23385         buffer if its size is sufficient.
23386         Reported by Ludovic Courtès <ludo@gnu.org>.
23387
23388 2010-07-13  Bruno Haible  <bruno@clisp.org>
23389
23390         strtod: Add safety check.
23391         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
23392
23393 2010-07-12  Bruno Haible  <bruno@clisp.org>
23394
23395         Unify tests that set gl_cv_func_ldexpl_no_libm.
23396         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
23397         gl_FUNC_LDEXPL.
23398         (gl_FUNC_LDEXPL): Invoke it.
23399         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
23400
23401 2010-07-12  Bruno Haible  <bruno@clisp.org>
23402
23403         Unify tests that set gl_cv_func_ldexp_no_libm.
23404         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
23405         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
23406         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
23407         (configure.ac): Simply invoke gl_FUNC_LDEXP.
23408         * modules/strtod (Files): Add m4/ldexp.m4.
23409
23410 2010-07-12  Bruno Haible  <bruno@clisp.org>
23411
23412         Unify tests that set gl_cv_func_frexpl_no_libm.
23413         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
23414         gl_FUNC_FREXPL_NO_LIBM.
23415         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
23416         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
23417
23418 2010-07-12  Bruno Haible  <bruno@clisp.org>
23419
23420         Unify tests that set gl_cv_func_frexp_no_libm.
23421         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
23422         gl_FUNC_FREXP_NO_LIBM.
23423         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
23424         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
23425
23426 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
23427
23428         memcoll: clarify sizes versus lengths, document better, and tweak perf
23429         * lib/memcoll.c (strcoll_loop, memcoll0):
23430         Improve quality of descriptive comments.  Name variables
23431         consistently as to whether they are lengths (which do not include
23432         terminating null) versus sizes (which do).
23433         * lib/xmemcoll.c (xmemcoll0): Likewise.
23434         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
23435         returned when s1size == 0; this is easier to compile and saves
23436         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
23437
23438 2010-07-12  Bruno Haible  <bruno@clisp.org>
23439
23440         Tests for module '_Exit'.
23441         * modules/_Exit-tests: New file.
23442         * tests/test-_Exit.sh: New file.
23443         * tests/test-_Exit.c: New file.
23444
23445         New module '_Exit'.
23446         * lib/stdlib.in.h (__attribute__): New macro.
23447         (_Exit): New declaration.
23448         * lib/_Exit.c: New file.
23449         * m4/_Exit.m4: New file.
23450         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
23451         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
23452         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
23453         * modules/_Exit: New file.
23454         * tests/test-stdlib-c++.cc (_Exit): Check signature.
23455         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
23456
23457 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
23458
23459         strtod: make it more-accurate typically, and don't require libm
23460         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
23461         Include limits.h.  Don't include string.h.
23462         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
23463         (locale_isspace): New function, so that no casts are needed to
23464         check whether *s is a space.
23465         (ldexp): Provide an unused dummy if not available.
23466         (scale_radix_exp, parse_number, underlying_strtod): New functions.
23467         (strtod): Use them.  This implementation prefers to use the
23468         underlying strtod if available, falling back on our own code
23469         only to fix known bugs.  This is more likely to produce an
23470         accurate result.  Also, it avoids the use of libm functions.
23471         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
23472         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
23473         was absent, but it caused a test failure with coreutils.
23474         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
23475         with libm.
23476         * modules/strtod (Makefile.am, Link): libm is no longer needed.
23477         * modules/strtod-tests (Makefile.am): Likewise.
23478
23479 2010-07-11  Pádraig Brady  <P@draigBrady.com>
23480             Bruno Haible  <bruno@clisp.org>
23481
23482         unistr/u8-strchr: Optimize ASCII argument case.
23483         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
23484
23485 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23486
23487         (x)memcoll: minor tweaks
23488         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
23489         is after the type that it qualifies.
23490         (memcoll0): Likewise.
23491         * lib/memcoll.h (memcoll0): Likewise.
23492         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
23493         * lib/xmemcoll.h (xmemcoll0): Likewise.
23494         * lib/memcoll.c (memcoll0): Correct the comment.  This function
23495         differs from memcoll in that the NUL byte is part of the argument.
23496         Omit the abort-checks, as performance is a real issue here.  Plus,
23497         the checks were wrong anyway (an off-by-one error).  Omit local
23498         variable 'diff', as it's a bit clearer that way.
23499         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
23500         no longer needed.
23501
23502 2010-07-08  Chen Guo <chenguo4@yahoo.com>
23503
23504         (x)memcoll: speedup when input is known to be NUL delimited
23505         * lib/memcoll.c: Include stdlib.
23506         (memcoll0): New function.
23507         (strcoll_loop): New function, refactored for use in both memcoll
23508         and memcoll0.
23509         * lib/memcoll.h (memcoll0): Add prototype.
23510         * lib/xmemcoll.c (xmemcoll0): New function.
23511         (collate_error): New function, refactored for use in both xmemcoll
23512         and xmemcoll0.
23513         * lib/xmemcoll.h (xmemcoll0): Add prototype.
23514         * m4/memcoll.m4: add inline invocation.
23515
23516 2010-07-06  Pádraig Brady  <P@draigBrady.com>
23517
23518         * build-aux/bootstrap: Remove any local translations
23519         from the translation project synchronization directory,
23520         so that local only translations are not distributed.
23521
23522 2010-07-04  Bruno Haible  <bruno@clisp.org>
23523
23524         fsusage: Clarify which code applies to which platforms.
23525         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
23526         platform.
23527         * lib/fsusage.c (get_fs_usage): Likewise.
23528
23529 2010-07-04  Bruno Haible  <bruno@clisp.org>
23530
23531         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
23532         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
23533         Reported by Martin Lambers <marlam@marlam.de>.
23534
23535 2010-07-04  Jim Meyering  <meyering@redhat.com>
23536
23537         hash: once again explicitly disallow insertion of NULL
23538         * lib/hash.c (hash_insert0): Reinstate just-removed test:
23539         inserting a NULL pointer cannot work with these functions.
23540         Add a comment with details.
23541         This reverts part of the 2010-07-01 commit, 5bef1a35
23542         "hash: extend module to deal with non-pointer keys".
23543
23544 2010-07-01  Bruno Haible  <bruno@clisp.org>
23545
23546         stdbool: Update doc.
23547         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
23548         Info from Christian Weisgerber <naddy@mips.inka.de>.
23549
23550 2010-07-01  Jim Meyering  <meyering@redhat.com>
23551
23552         hash: extend module to deal with non-pointer keys
23553         * lib/hash.c (hash_insert0): New interface, much like hash_insert
23554         but that allows insertion of non-pointer entries.
23555         Do not disallow an ENTRY value of NULL.
23556         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
23557         * lib/hash.h (hash_insert0): Declare.
23558
23559 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23560
23561         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
23562         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
23563         not present (i.e. with autoconf 2.59 and when using gettextize, not
23564         gnulib), require AC_GNU_SOURCE instead.
23565
23566 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
23567
23568         idpriv-drop: Fix tests.
23569         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
23570         not to the test-idpriv-droptemp program.
23571
23572 2010-06-29  Bruno Haible  <bruno@clisp.org>
23573
23574         string: Fix syntax error with g++ 2.96.
23575         * lib/string.in.h (__pure__): Remove definition.
23576         (_GL_ATTRIBUTE_PURE): New macro.
23577         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
23578         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
23579         Reported by Christian Weisgerber <naddy@mips.inka.de>.
23580
23581 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
23582
23583         unitypes: Fix bug introduced on 2010-05-18.
23584         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
23585
23586 2010-06-22  Eric Blake  <eblake@redhat.com>
23587
23588         memmem: slight optimization
23589         * lib/str-two-way.h (critical_factorization): Update comments.
23590         Reduce work during factorization phase.
23591         Reported by Carlos Bueno <carlos@bueno.org>.
23592
23593 2010-06-21  Bruno Haible  <bruno@clisp.org>
23594
23595         Fix HAVE_CALLOC_POSIX misnomer.
23596         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
23597         !HAVE_CALLOC_POSIX.
23598         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
23599         HAVE_CALLOC_POSIX.
23600         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
23601         instead of HAVE_CALLOC_POSIX.
23602         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
23603         HAVE_CALLOC_POSIX.
23604
23605         Use modern idiom for calloc() replacement.
23606         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
23607         AC_FUNC_CALLOC.
23608         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
23609         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
23610         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
23611         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
23612         (gl_REPLACE_CALLOC): New macro.
23613
23614 2010-06-21  Bruno Haible  <bruno@clisp.org>
23615
23616         Fix HAVE_REALLOC_POSIX misnomer.
23617         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
23618         !HAVE_REALLOC_POSIX.
23619         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
23620         HAVE_REALLOC_POSIX.
23621         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
23622         instead of HAVE_REALLOC_POSIX.
23623         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
23624         HAVE_REALLOC_POSIX.
23625
23626         Use modern idiom for realloc() replacement.
23627         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
23628         AC_FUNC_REALLOC.
23629         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
23630         Autoconf's AC_FUNC_REALLOC.
23631         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
23632         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
23633         (gl_REPLACE_REALLOC): New macro.
23634         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
23635
23636 2010-06-21  Bruno Haible  <bruno@clisp.org>
23637
23638         Fix HAVE_MALLOC_POSIX misnomer.
23639         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
23640         !HAVE_MALLOC_POSIX.
23641         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
23642         HAVE_MALLOC_POSIX.
23643         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
23644         instead of HAVE_MALLOC_POSIX.
23645         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
23646         HAVE_MALLOC_POSIX.
23647
23648         Use modern idiom for malloc() replacement.
23649         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
23650         AC_FUNC_MALLOC.
23651         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
23652         Autoconf's AC_FUNC_MALLOC.
23653         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
23654         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
23655         (gl_REPLACE_MALLOC): New macro.
23656         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
23657
23658 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
23659
23660         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
23661         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
23662         This macro takes 3 arguments, not 4.
23663
23664 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
23665
23666         ipv6: fix detection under mingw
23667         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
23668         in6_addr.
23669
23670 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
23671
23672         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
23673         that strtod() works when cross-compiling to a glibc version known
23674         to work.
23675
23676 2010-06-15  Bruno Haible  <bruno@clisp.org>
23677
23678         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
23679
23680 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
23681
23682         select: Correct timeout.
23683         * lib/select.c (rpl_select): Compute wait_timeout correctly.
23684
23685 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23686
23687         git-version-gen: init shell var to avoid env var influence
23688         * build-aux/git-version-gen (v): Init shell var to empty.
23689
23690 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
23691
23692         priv-set: Don't assume that priv.h exists merely because getppriv does.
23693         See Jan Andersen's bug report about AIX 5L in
23694         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
23695         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
23696         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
23697         * lib/priv-set.h: Likewise.
23698         * tests/test-priv-set.c: Likewise.
23699
23700 2010-06-13  Bruno Haible  <bruno@clisp.org>
23701
23702         relocatable: Make it easier to test whether to install wrappers.
23703         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
23704         RELOCATABLE_VIA_WRAPPER.
23705
23706 2010-06-13  Bruno Haible  <bruno@clisp.org>
23707
23708         gnulib-tool: Display specified modules and dependencies differently.
23709         * gnulib-tool (func_show_module_list): New function.
23710         (func_import, func_create_testdir): Invoke it.
23711         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
23712
23713 2010-06-13  Bruno Haible  <bruno@clisp.org>
23714
23715         gnulib-tool: Align code of func_import and func_create_testdir.
23716         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
23717         specified_modules.
23718
23719 2010-06-12  Jim Meyering  <meyering@redhat.com>
23720
23721         test-inttostr: avoid spurious failure on Solaris 9
23722         * tests/test-inttostr.c (main): Skip the test when snprintf fails
23723         to accept "%ju".  Reported by Bruno Haible.
23724
23725 2010-06-11  Jim Meyering  <meyering@redhat.com>
23726
23727         test-sys_socket: mark variables as used more readably
23728         * tests/test-sys_socket.c (main): Mark otherwise unused variables
23729         as "used" explicitly via (void) statement casts.  This is more
23730         readable than using them in an artificial return expression.
23731         Suggestion from Bruno Haible.
23732
23733 2010-06-11  Bruno Haible  <bruno@clisp.org>
23734
23735         Avoid some more warnings from "gcc -Wwrite-strings".
23736         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
23737         to 'const char *'.
23738         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
23739         * tests/test-c-strcasestr.c (main): Likewise.
23740         * tests/test-mbscasestr1.c (main): Likewise.
23741         * tests/test-mbscasestr2.c (main): Likewise.
23742         * tests/test-memmem.c (main): Likewise.
23743         * tests/test-strstr.c (main): Likewise.
23744         * tests/test-strcasestr.c (main): Likewise.
23745
23746 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23747
23748         init.sh: change framework_failure_ to fail with status 99, not 1
23749         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
23750         automake's parallel-tests rule that this is an unexpected failure,
23751         even if the test is listed in XFAIL_TESTS.
23752
23753 2010-06-11  Jim Meyering  <meyering@redhat.com>
23754
23755         test-inttostr: avoid warnings about 4-6KB literal strings
23756         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
23757         Include "macros.h", for its definition of ASSERT.
23758         (CK): s/assert/ASSERT/
23759         * modules/inttostr-tests (Files): Add macros.h.
23760
23761         init.sh: don't use $ME_ or skip_ before they are defined
23762         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
23763         their first uses.  Also hoist their companions: warn_, fail_,
23764         framework_failure_, $stderr_fileno.  Prompted by a patch from
23765         Stefano Lattarini.
23766
23767         test-sys_socket: avoid set-but-not-used warnings from gcc
23768         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
23769         avoid warning about set-but-not-used variables.
23770
23771         test-xvasprintf: avoid 'const' discard warnings
23772         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
23773         "const" when assigning from literal strings.
23774         (test_xasprintf): Add "void" in function argument list to placate
23775         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
23776
23777         tests: avoid compilation warnings in argmatch and exclude tests...
23778         in packages that define ARGMATCH_DIE_DECL, like coreutils.
23779         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
23780         Since it always exits, declare with the "noreturn" attribute.
23781         * tests/test-argmatch.c: Likewise.
23782
23783         tests: avoid 'const' discard warnings in mbsstr tests
23784         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
23785         * tests/test-mbsstr2.c (main): Likewise.
23786
23787         test-verify: avoid warning from gcc's -Wmissing-declarations
23788         * tests/test-verify.c (function): Declare to be static.
23789
23790         test-inttostr.c: include <string.h> for use of strcmp
23791         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
23792
23793         test-linkat: avoid failed assertion on "other" architectures
23794         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
23795         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
23796         sparc: https://bugs.launchpad.net/bugs/591968
23797
23798 2010-06-11  Jim Meyering  <meyering@redhat.com>
23799
23800         printf.m4: avoid autoconf's "Expanded Before Required" warning
23801         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
23802         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
23803         autoconf warning.
23804
23805 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
23806
23807         Replacement header templates are now named with ".in", not "_".
23808         * doc/gnulib-intro.texi: Correct.
23809
23810 2010-06-10  Jim Meyering  <meyering@redhat.com>
23811
23812         inttostr-tests: depend on snprintf, not snprintf-posix
23813         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
23814         snprintf-posix, to avoid this aclocal failure:
23815           missing file gnulib-tests/vasnprintf.c
23816           configure.ac:45: error: expected source file, required through \
23817           AC_LIBSOURCES, not found
23818
23819 2010-06-10  Jim Meyering  <meyering@redhat.com>
23820
23821         inttostr: add a new function, inttostr, and tests
23822         The namesake function was not available.  The existence of the
23823         template file, inttostr.c makes its addition nontrivial.
23824         * lib/anytostr.c: Rename from inttostr.c.
23825         (anytostr): Rename from inttostr.
23826         * lib/inttostr.c: New file.
23827         * modules/inttostr (Files): Add anytostr.c.
23828         (Makefile.am): Set lib_SOURCES instead of ...
23829         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
23830         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
23831         * lib/offtostr.c: Likewise.
23832         * lib/uinttostr.c: Likewise.
23833         * lib/umaxtostr.c: Likewise.
23834         * modules/inttostr-tests: New file.
23835         * tests/test-inttostr.c: New file.  Test these functions.
23836
23837 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
23838             Bruno Haible  <bruno@clisp.org>
23839
23840         Add "Extending Gnulib" chapter to manual.
23841         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
23842         chapter.
23843         (Extending Gnulib): New chapter.
23844         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
23845         chapter.
23846
23847 2010-06-09  Bruno Haible  <bruno@clisp.org>
23848
23849         Avoid relocwrapper link errors due to gnulib replacement functions.
23850         * lib/areadlink.c: Use the system's malloc, realloc functions.
23851         (areadlink): Set errno to ENOMEM explicitly.
23852         * modules/areadlink (Depends-on): Remove malloc-posix.
23853         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23854
23855 2010-06-09  Bruno Haible  <bruno@clisp.org>
23856
23857         Avoid relocwrapper link errors due to gnulib replacement functions.
23858         * lib/canonicalize-lgpl.c: Use the system's malloc function.
23859         * lib/malloca.c: Likewise.
23860         * lib/relocatable.c: Likewise.
23861         * lib/progreloc.c: Use the system's malloc, sprintf functions.
23862         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
23863         * lib/setenv.c: Use the system's malloc, realloc functions.
23864         * lib/strerror.c: Use the system's sprintf function.
23865         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23866
23867 2010-06-04  Bruno Haible  <bruno@clisp.org>
23868
23869         Prefer documented low-level autoconf macro names.
23870         * m4/lib-link.m4: Use m4_translit instead of translit.
23871         * m4/environ.m4: Likewise.
23872         * m4/mathfunc.m4: Likewise.
23873         * m4/onceonly.m4: Likewise.
23874         * m4/stdint.m4: Likewise.
23875         Suggested by Eric Blake.
23876
23877 2010-06-04  Martin Lambers  <marlam@marlam.de>
23878             Bruno Haible  <bruno@clisp.org>
23879
23880         havelib: Allow library names with '+' characters.
23881         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
23882         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
23883
23884 2010-06-09  Bruno Haible  <bruno@clisp.org>
23885
23886         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
23887         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
23888         realloc failed.
23889
23890 2010-06-08  Peter Simons  <simons@cryp.to>
23891
23892         maint.mk: make the news-check rule more configurable
23893         * top/maint.mk (news-check-lines-spec): New variable.
23894         (news-check): Use "sed -n 1,10p" in place of "head".
23895
23896 2010-06-07  Jim Meyering  <meyering@redhat.com>
23897
23898         do-release-commit-and-tag: fix typo in --help
23899         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
23900
23901         regex: avoid new dead-code warning with gcc-4.6.0
23902         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
23903         if-block containing a while-loop.  It's been unused for at least
23904         5 years.
23905
23906 2010-06-05  Bruno Haible  <bruno@clisp.org>
23907
23908         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
23909         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
23910
23911 2010-06-04  Bruno Haible  <bruno@clisp.org>
23912
23913         Update to GNU gettext 0.18.1.
23914         * modules/gettext (configure.ac): Require gettext infrastructure from
23915         version 0.18.1.
23916
23917 2010-06-03  Bruno Haible  <bruno@clisp.org>
23918
23919         Don't use AC_LIBOBJ with file names in subdirectories.
23920         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
23921         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
23922         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
23923         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
23924         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
23925         gl_LIBUNISTRING_LIBSOURCE.
23926         (Makefile.am): Augment lib_SOURCES here, conditionally.
23927         * NEWS: Drop requirement for Automake option 'subdir-objects'.
23928
23929 2010-06-03  Bruno Haible  <bruno@clisp.org>
23930
23931         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
23932         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
23933         expansion does not end with a newline.
23934         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
23935         unnecessary newline.
23936
23937 2010-06-03  Bruno Haible  <bruno@clisp.org>
23938
23939         Reduce dependencies.
23940         * tests/test-quotearg.h: New file, extracted from
23941         tests/test-quotearg.c.
23942         * tests/test-quotearg-simple.c: New file, extracted from
23943         tests/test-quotearg.c.
23944         * tests/test-quotearg.c: Don't include <ctype.h>.
23945         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
23946         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
23947         use_quote_double_quotes, use_quotearg_colon): Moved to
23948         tests/test-quotearg.h.
23949         (results_g, flag_results, custom_quotes, custom_results): Moved
23950         to tests/test-quotearg-simple.c.
23951         (main): Moved the part that does not depend on gettext to
23952         tests/test-quotearg-simple.c. Return 77 if the test cannot be
23953         performed.
23954         * modules/quotearg-simple: New file.
23955         * modules/quotearg-simple-tests: New file.
23956         * modules/quotearg (Depends-on): Add quotearg-simple.
23957         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
23958         (Files): Add tests/test-quotearg.h.
23959         Reported by Paolo Bonzini.
23960
23961 2010-06-03  Bruno Haible  <bruno@clisp.org>
23962
23963         Reduce dependencies.
23964         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
23965
23966 2010-06-03  Bruno Haible  <bruno@clisp.org>
23967
23968         time: Undefine more broken macros.
23969         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
23970         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
23971         Reported by Eric Blake.
23972
23973 2010-06-03  Bruno Haible  <bruno@clisp.org>
23974
23975         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
23976         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
23977         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
23978         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
23979         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
23980         Reported by Ludovic Courtès <ludo@gnu.org>.
23981
23982 2010-06-02  Eric Blake  <eblake@redhat.com>
23983
23984         time: work with mingw + pthreads-win32 library
23985         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
23986         if timespec is defined only in pthread.h.
23987         * modules/time (Makefile.am): Substitute it.
23988         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
23989         <pthread.h>, when needed.
23990         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
23991         from the library.
23992
23993 2010-05-31  Bruno Haible  <bruno@clisp.org>
23994
23995         Avoid expanding two macros in the wrong order.
23996         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
23997         gl_LIBUNISTRING if it is defined.
23998         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
23999         autoconf >= 2.64.
24000         Reported by Ludovic Courtès <ludo@gnu.org>.
24001
24002 2010-05-27  Jim Meyering  <meyering@redhat.com>
24003
24004         maint.mk: also prohibit "#undef" of always-defined symbols
24005         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
24006         Allow more than one space before the symbol name.
24007         (sc_prohibit_always-defined_macros): Use grep's -E, now that
24008         the regexp uses alternation.
24009
24010 2010-05-26  Eric Blake  <eblake@redhat.com>
24011
24012         maint.mk: avoid echo -e
24013         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
24014         Convert all uses of echo -* to printf.
24015         Reported by Matthias Bolte.
24016
24017 2010-05-25  Bruno Haible  <bruno@clisp.org>
24018
24019         Update to GNU gettext 0.18, part 2.
24020         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
24021         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
24022
24023 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24024
24025         Add missing include in test-pwrite.c.
24026         * tests/test-pwrite.c: Include string.h, for strcmp.
24027
24028 2010-05-24  Bruno Haible  <bruno@clisp.org>
24029
24030         * NEWS: Mention requirement for Automake option 'subdir-objects'.
24031
24032 2010-05-24  Bruno Haible  <bruno@clisp.org>
24033
24034         Don't use conversion with transliteration in u{8,16,32}_strcoll.
24035         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
24036         iconveh_error argument.
24037         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
24038         U_STRCONV_TO_LOCALE.
24039         * lib/unistr/u16-strcoll.c: Likewise.
24040         * lib/unistr/u32-strcoll.c: Likewise.
24041         * modules/unistr/u8-strcoll (Depends-on): Add
24042         uniconv/u8-strconv-to-enc, localcharset. Remove
24043         uniconv/u8-strconv-to-locale.
24044         (configure.ac): Bump version number.
24045         * modules/unistr/u16-strcoll (Depends-on): Add
24046         uniconv/u16-strconv-to-enc, localcharset. Remove
24047         uniconv/u16-strconv-to-locale.
24048         (configure.ac): Bump version number.
24049         * modules/unistr/u32-strcoll (Depends-on): Add
24050         uniconv/u32-strconv-to-enc, localcharset. Remove
24051         uniconv/u32-strconv-to-locale.
24052         (configure.ac): Bump version number.
24053
24054 2010-05-24  Bruno Haible  <bruno@clisp.org>
24055
24056         Avoid a test failure on NetBSD 5.0.
24057         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
24058         an iconv() bug.
24059
24060 2010-05-24  Bruno Haible  <bruno@clisp.org>
24061
24062         Adjust #include directive style.
24063         * modules/regex (Includes): Recommend to write <regex.h>.
24064
24065 2010-05-24  Bruno Haible  <bruno@clisp.org>
24066
24067         regex: Don't require alloca.
24068         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
24069         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
24070         only inside if (0).
24071
24072 2010-05-23  Jim Meyering  <meyering@redhat.com>
24073
24074         test-renameat.c: include <sys/stat.h>
24075         * tests/test-renameat.c: Include <sys/stat.h>; required for
24076         definition of S_IS* macros.
24077
24078 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
24079
24080         Update maintainer documentation for 'relocatable-prog' module.
24081         * doc/relocatable-maint.texi: Update.
24082         Comments by Bruno Haible.
24083
24084 2010-05-23  Bruno Haible  <bruno@clisp.org>
24085
24086         git-merge-changelog: Enable --split-merged-entry by default.
24087         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
24088         (usage): Don't mention this option any more.
24089         Reported by Ralf Wildenhues.
24090
24091 2010-05-23  Jim Meyering  <meyering@redhat.com>
24092
24093         test-pwrite: do not leave behind a test file named "out"
24094         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
24095         The trivial-looking use of init.sh is really necessary.
24096         It ensures that the temporary file, "out", is created in
24097         a temporary directory, and removed upon termination.
24098         * tests/test-pwrite.sh: Re-add file.
24099         * modules/pwrite-tests: Reference it.
24100
24101 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24102
24103         Fix output redirection buglet in init.sh.
24104         * tests/init.sh: Fix redirection of stderr.
24105
24106 2010-05-20  Simon Josefsson  <simon@josefsson.org>
24107
24108         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
24109
24110 2010-05-17  Simon Josefsson  <simon@josefsson.org>
24111
24112         * modules/valgrind-tests: New file.
24113         * m4/valgrind-tests.m4: New file.
24114         * doc/valgrind-tests.texi: New file.
24115         * doc/gnulib.texi (Running self-tests under valgrind): New
24116         section.
24117
24118 2010-05-19  Bruno Haible  <bruno@clisp.org>
24119
24120         Clean up dead code in recent commit.
24121         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
24122         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
24123         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
24124         Suggested by Paolo Bonzini.
24125
24126 2010-05-19  Bruno Haible  <bruno@clisp.org>
24127
24128         Avoid valgrind error reports from libunistring.
24129         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
24130         * modules/libunistring (Files): Add it.
24131         * modules/libunistring-optional (Files): Likewise.
24132
24133 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
24134             Bruno Haible  <bruno@clisp.org>
24135
24136         New module 'libunistring-optional'.
24137         * modules/libunistring-optional: New file.
24138         * m4/libunistring-base.m4: New file.
24139         * m4/libunistring-optional.m4: New file.
24140         * lib/unicase.in.h: Renamed from lib/unicase.h.
24141         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
24142         * lib/unictype.in.h: Renamed from lib/unictype.h.
24143         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
24144         * lib/uniname.in.h: Renamed from lib/uniname.h.
24145         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
24146         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
24147         * lib/unistr.in.h: Renamed from lib/unistr.h.
24148         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
24149         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
24150         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
24151         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
24152         gl_LIBUNISTRING. If the library was found, determine the installed
24153         version and set LIBUNISTRING_VERSION.
24154         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
24155         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
24156         handle a configuration option --with-included-libunistring.
24157         * modules/libunistring (Files): Add m4/absolute-header.m4.
24158         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
24159         Add m4/libunistring-base.m4.
24160         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24161         (Makefile.am): Build unicase.h from unicase.in.h.
24162         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
24163         Add m4/libunistring-base.m4.
24164         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24165         (Makefile.am): Build uniconv.h from uniconv.in.h.
24166         * modules/unictype/base (Files): Use unictype.in.h instead of
24167         unictype.h. Add m4/libunistring-base.m4.
24168         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24169         (Makefile.am): Build unictype.h from unictype.in.h.
24170         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
24171         Add m4/libunistring-base.m4.
24172         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24173         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
24174         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
24175         Add m4/libunistring-base.m4.
24176         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24177         (Makefile.am): Build uniname.h from uniname.in.h.
24178         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
24179         Add m4/libunistring-base.m4.
24180         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24181         (Makefile.am): Build uninorm.h from uninorm.in.h.
24182         * modules/unistdio/base (Files): Use unistdio.in.h instead of
24183         unistdio.h. Add m4/libunistring-base.m4.
24184         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24185         (Makefile.am): Build unistdio.h from unistdio.in.h.
24186         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
24187         Add m4/libunistring-base.m4.
24188         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24189         (Makefile.am): Build unistr.h from unistr.in.h.
24190         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
24191         Add m4/libunistring-base.m4.
24192         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24193         (Makefile.am): Build unitypes.h from unitypes.in.h.
24194         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
24195         Add m4/libunistring-base.m4.
24196         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24197         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
24198         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
24199         uniwidth.h. Add m4/libunistring-base.m4.
24200         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24201         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
24202         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
24203         instead of augmenting lib_SOURCES.
24204         * modules/unicase/empty-suffix-context: Likewise.
24205         * modules/unicase/locale-language: Likewise.
24206         * modules/unicase/tolower: Likewise.
24207         * modules/unicase/totitle: Likewise.
24208         * modules/unicase/toupper: Likewise.
24209         * modules/unicase/u8-casecmp: Likewise.
24210         * modules/unicase/u8-casecoll: Likewise.
24211         * modules/unicase/u8-casefold: Likewise.
24212         * modules/unicase/u8-casexfrm: Likewise.
24213         * modules/unicase/u8-ct-casefold: Likewise.
24214         * modules/unicase/u8-ct-tolower: Likewise.
24215         * modules/unicase/u8-ct-totitle: Likewise.
24216         * modules/unicase/u8-ct-toupper: Likewise.
24217         * modules/unicase/u8-is-cased: Likewise.
24218         * modules/unicase/u8-is-casefolded: Likewise.
24219         * modules/unicase/u8-is-lowercase: Likewise.
24220         * modules/unicase/u8-is-titlecase: Likewise.
24221         * modules/unicase/u8-is-uppercase: Likewise.
24222         * modules/unicase/u8-prefix-context: Likewise.
24223         * modules/unicase/u8-suffix-context: Likewise.
24224         * modules/unicase/u8-tolower: Likewise.
24225         * modules/unicase/u8-totitle: Likewise.
24226         * modules/unicase/u8-toupper: Likewise.
24227         * modules/unicase/u16-casecmp: Likewise.
24228         * modules/unicase/u16-casecoll: Likewise.
24229         * modules/unicase/u16-casefold: Likewise.
24230         * modules/unicase/u16-casexfrm: Likewise.
24231         * modules/unicase/u16-ct-casefold: Likewise.
24232         * modules/unicase/u16-ct-tolower: Likewise.
24233         * modules/unicase/u16-ct-totitle: Likewise.
24234         * modules/unicase/u16-ct-toupper: Likewise.
24235         * modules/unicase/u16-is-cased: Likewise.
24236         * modules/unicase/u16-is-casefolded: Likewise.
24237         * modules/unicase/u16-is-lowercase: Likewise.
24238         * modules/unicase/u16-is-titlecase: Likewise.
24239         * modules/unicase/u16-is-uppercase: Likewise.
24240         * modules/unicase/u16-prefix-context: Likewise.
24241         * modules/unicase/u16-suffix-context: Likewise.
24242         * modules/unicase/u16-tolower: Likewise.
24243         * modules/unicase/u16-totitle: Likewise.
24244         * modules/unicase/u16-toupper: Likewise.
24245         * modules/unicase/u32-casecmp: Likewise.
24246         * modules/unicase/u32-casecoll: Likewise.
24247         * modules/unicase/u32-casefold: Likewise.
24248         * modules/unicase/u32-casexfrm: Likewise.
24249         * modules/unicase/u32-ct-casefold: Likewise.
24250         * modules/unicase/u32-ct-tolower: Likewise.
24251         * modules/unicase/u32-ct-totitle: Likewise.
24252         * modules/unicase/u32-ct-toupper: Likewise.
24253         * modules/unicase/u32-is-cased: Likewise.
24254         * modules/unicase/u32-is-casefolded: Likewise.
24255         * modules/unicase/u32-is-lowercase: Likewise.
24256         * modules/unicase/u32-is-titlecase: Likewise.
24257         * modules/unicase/u32-is-uppercase: Likewise.
24258         * modules/unicase/u32-prefix-context: Likewise.
24259         * modules/unicase/u32-suffix-context: Likewise.
24260         * modules/unicase/u32-tolower: Likewise.
24261         * modules/unicase/u32-totitle: Likewise.
24262         * modules/unicase/u32-toupper: Likewise.
24263         * modules/unicase/ulc-casecmp: Likewise.
24264         * modules/unicase/ulc-casecoll: Likewise.
24265         * modules/unicase/ulc-casexfrm: Likewise.
24266         * modules/uniconv/u8-conv-from-enc: Likewise.
24267         * modules/uniconv/u8-conv-to-enc: Likewise.
24268         * modules/uniconv/u8-strconv-from-enc: Likewise.
24269         * modules/uniconv/u8-strconv-from-locale: Likewise.
24270         * modules/uniconv/u8-strconv-to-enc: Likewise.
24271         * modules/uniconv/u8-strconv-to-locale: Likewise.
24272         * modules/uniconv/u16-conv-from-enc: Likewise.
24273         * modules/uniconv/u16-conv-to-enc: Likewise.
24274         * modules/uniconv/u16-strconv-from-enc: Likewise.
24275         * modules/uniconv/u16-strconv-from-locale: Likewise.
24276         * modules/uniconv/u16-strconv-to-enc: Likewise.
24277         * modules/uniconv/u16-strconv-to-locale: Likewise.
24278         * modules/uniconv/u32-conv-from-enc: Likewise.
24279         * modules/uniconv/u32-conv-to-enc: Likewise.
24280         * modules/uniconv/u32-strconv-from-enc: Likewise.
24281         * modules/uniconv/u32-strconv-from-locale: Likewise.
24282         * modules/uniconv/u32-strconv-to-enc: Likewise.
24283         * modules/uniconv/u32-strconv-to-locale: Likewise.
24284         * modules/unictype/bidicategory-byname: Likewise.
24285         * modules/unictype/bidicategory-name: Likewise.
24286         * modules/unictype/bidicategory-of: Likewise.
24287         * modules/unictype/bidicategory-test: Likewise.
24288         * modules/unictype/block-list: Likewise.
24289         * modules/unictype/block-test: Likewise.
24290         * modules/unictype/category-C: Likewise.
24291         * modules/unictype/category-Cc: Likewise.
24292         * modules/unictype/category-Cf: Likewise.
24293         * modules/unictype/category-Cn: Likewise.
24294         * modules/unictype/category-Co: Likewise.
24295         * modules/unictype/category-Cs: Likewise.
24296         * modules/unictype/category-L: Likewise.
24297         * modules/unictype/category-Ll: Likewise.
24298         * modules/unictype/category-Lm: Likewise.
24299         * modules/unictype/category-Lo: Likewise.
24300         * modules/unictype/category-Lt: Likewise.
24301         * modules/unictype/category-Lu: Likewise.
24302         * modules/unictype/category-M: Likewise.
24303         * modules/unictype/category-Mc: Likewise.
24304         * modules/unictype/category-Me: Likewise.
24305         * modules/unictype/category-Mn: Likewise.
24306         * modules/unictype/category-N: Likewise.
24307         * modules/unictype/category-Nd: Likewise.
24308         * modules/unictype/category-Nl: Likewise.
24309         * modules/unictype/category-No: Likewise.
24310         * modules/unictype/category-P: Likewise.
24311         * modules/unictype/category-Pc: Likewise.
24312         * modules/unictype/category-Pd: Likewise.
24313         * modules/unictype/category-Pe: Likewise.
24314         * modules/unictype/category-Pf: Likewise.
24315         * modules/unictype/category-Pi: Likewise.
24316         * modules/unictype/category-Po: Likewise.
24317         * modules/unictype/category-Ps: Likewise.
24318         * modules/unictype/category-S: Likewise.
24319         * modules/unictype/category-Sc: Likewise.
24320         * modules/unictype/category-Sk: Likewise.
24321         * modules/unictype/category-Sm: Likewise.
24322         * modules/unictype/category-So: Likewise.
24323         * modules/unictype/category-Z: Likewise.
24324         * modules/unictype/category-Zl: Likewise.
24325         * modules/unictype/category-Zp: Likewise.
24326         * modules/unictype/category-Zs: Likewise.
24327         * modules/unictype/category-and: Likewise.
24328         * modules/unictype/category-and-not: Likewise.
24329         * modules/unictype/category-byname: Likewise.
24330         * modules/unictype/category-name: Likewise.
24331         * modules/unictype/category-none: Likewise.
24332         * modules/unictype/category-of: Likewise.
24333         * modules/unictype/category-or: Likewise.
24334         * modules/unictype/category-test: Likewise.
24335         * modules/unictype/combining-class: Likewise.
24336         * modules/unictype/ctype-alnum: Likewise.
24337         * modules/unictype/ctype-alpha: Likewise.
24338         * modules/unictype/ctype-blank: Likewise.
24339         * modules/unictype/ctype-cntrl: Likewise.
24340         * modules/unictype/ctype-digit: Likewise.
24341         * modules/unictype/ctype-graph: Likewise.
24342         * modules/unictype/ctype-lower: Likewise.
24343         * modules/unictype/ctype-print: Likewise.
24344         * modules/unictype/ctype-punct: Likewise.
24345         * modules/unictype/ctype-space: Likewise.
24346         * modules/unictype/ctype-upper: Likewise.
24347         * modules/unictype/ctype-xdigit: Likewise.
24348         * modules/unictype/decimal-digit: Likewise.
24349         * modules/unictype/digit: Likewise.
24350         * modules/unictype/mirror: Likewise.
24351         * modules/unictype/numeric: Likewise.
24352         * modules/unictype/property-alphabetic: Likewise.
24353         * modules/unictype/property-ascii-hex-digit: Likewise.
24354         * modules/unictype/property-bidi-arabic-digit: Likewise.
24355         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
24356         * modules/unictype/property-bidi-block-separator: Likewise.
24357         * modules/unictype/property-bidi-boundary-neutral: Likewise.
24358         * modules/unictype/property-bidi-common-separator: Likewise.
24359         * modules/unictype/property-bidi-control: Likewise.
24360         * modules/unictype/property-bidi-embedding-or-override: Likewise.
24361         * modules/unictype/property-bidi-eur-num-separator: Likewise.
24362         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
24363         * modules/unictype/property-bidi-european-digit: Likewise.
24364         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
24365         * modules/unictype/property-bidi-left-to-right: Likewise.
24366         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
24367         * modules/unictype/property-bidi-other-neutral: Likewise.
24368         * modules/unictype/property-bidi-pdf: Likewise.
24369         * modules/unictype/property-bidi-segment-separator: Likewise.
24370         * modules/unictype/property-bidi-whitespace: Likewise.
24371         * modules/unictype/property-byname: Likewise.
24372         * modules/unictype/property-combining: Likewise.
24373         * modules/unictype/property-composite: Likewise.
24374         * modules/unictype/property-currency-symbol: Likewise.
24375         * modules/unictype/property-dash: Likewise.
24376         * modules/unictype/property-decimal-digit: Likewise.
24377         * modules/unictype/property-default-ignorable-code-point: Likewise.
24378         * modules/unictype/property-deprecated: Likewise.
24379         * modules/unictype/property-diacritic: Likewise.
24380         * modules/unictype/property-extender: Likewise.
24381         * modules/unictype/property-format-control: Likewise.
24382         * modules/unictype/property-grapheme-base: Likewise.
24383         * modules/unictype/property-grapheme-extend: Likewise.
24384         * modules/unictype/property-grapheme-link: Likewise.
24385         * modules/unictype/property-hex-digit: Likewise.
24386         * modules/unictype/property-hyphen: Likewise.
24387         * modules/unictype/property-id-continue: Likewise.
24388         * modules/unictype/property-id-start: Likewise.
24389         * modules/unictype/property-ideographic: Likewise.
24390         * modules/unictype/property-ids-binary-operator: Likewise.
24391         * modules/unictype/property-ids-trinary-operator: Likewise.
24392         * modules/unictype/property-ignorable-control: Likewise.
24393         * modules/unictype/property-iso-control: Likewise.
24394         * modules/unictype/property-join-control: Likewise.
24395         * modules/unictype/property-left-of-pair: Likewise.
24396         * modules/unictype/property-line-separator: Likewise.
24397         * modules/unictype/property-logical-order-exception: Likewise.
24398         * modules/unictype/property-lowercase: Likewise.
24399         * modules/unictype/property-math: Likewise.
24400         * modules/unictype/property-non-break: Likewise.
24401         * modules/unictype/property-not-a-character: Likewise.
24402         * modules/unictype/property-numeric: Likewise.
24403         * modules/unictype/property-other-alphabetic: Likewise.
24404         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
24405         * modules/unictype/property-other-grapheme-extend: Likewise.
24406         * modules/unictype/property-other-id-continue: Likewise.
24407         * modules/unictype/property-other-id-start: Likewise.
24408         * modules/unictype/property-other-lowercase: Likewise.
24409         * modules/unictype/property-other-math: Likewise.
24410         * modules/unictype/property-other-uppercase: Likewise.
24411         * modules/unictype/property-paired-punctuation: Likewise.
24412         * modules/unictype/property-paragraph-separator: Likewise.
24413         * modules/unictype/property-pattern-syntax: Likewise.
24414         * modules/unictype/property-pattern-white-space: Likewise.
24415         * modules/unictype/property-private-use: Likewise.
24416         * modules/unictype/property-punctuation: Likewise.
24417         * modules/unictype/property-quotation-mark: Likewise.
24418         * modules/unictype/property-radical: Likewise.
24419         * modules/unictype/property-sentence-terminal: Likewise.
24420         * modules/unictype/property-soft-dotted: Likewise.
24421         * modules/unictype/property-space: Likewise.
24422         * modules/unictype/property-terminal-punctuation: Likewise.
24423         * modules/unictype/property-test: Likewise.
24424         * modules/unictype/property-titlecase: Likewise.
24425         * modules/unictype/property-unassigned-code-value: Likewise.
24426         * modules/unictype/property-unified-ideograph: Likewise.
24427         * modules/unictype/property-uppercase: Likewise.
24428         * modules/unictype/property-variation-selector: Likewise.
24429         * modules/unictype/property-white-space: Likewise.
24430         * modules/unictype/property-xid-continue: Likewise.
24431         * modules/unictype/property-xid-start: Likewise.
24432         * modules/unictype/property-zero-width: Likewise.
24433         * modules/unictype/scripts: Likewise.
24434         * modules/unictype/syntax-c-ident: Likewise.
24435         * modules/unictype/syntax-c-whitespace: Likewise.
24436         * modules/unictype/syntax-java-ident: Likewise.
24437         * modules/unictype/syntax-java-whitespace: Likewise.
24438         * modules/unilbrk/u8-possible-linebreaks: Likewise.
24439         * modules/unilbrk/u8-width-linebreaks: Likewise.
24440         * modules/unilbrk/u16-possible-linebreaks: Likewise.
24441         * modules/unilbrk/u16-width-linebreaks: Likewise.
24442         * modules/unilbrk/u32-possible-linebreaks: Likewise.
24443         * modules/unilbrk/u32-width-linebreaks: Likewise.
24444         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
24445         * modules/unilbrk/ulc-width-linebreaks: Likewise.
24446         * modules/uniname/uniname: Likewise.
24447         * modules/uninorm/canonical-decomposition: Likewise.
24448         * modules/uninorm/composition: Likewise.
24449         * modules/uninorm/decomposing-form: Likewise.
24450         * modules/uninorm/decomposition: Likewise.
24451         * modules/uninorm/filter: Likewise.
24452         * modules/uninorm/nfc: Likewise.
24453         * modules/uninorm/nfd: Likewise.
24454         * modules/uninorm/nfkc: Likewise.
24455         * modules/uninorm/nfkd: Likewise.
24456         * modules/uninorm/u8-normalize: Likewise.
24457         * modules/uninorm/u8-normcmp: Likewise.
24458         * modules/uninorm/u8-normcoll: Likewise.
24459         * modules/uninorm/u8-normxfrm: Likewise.
24460         * modules/uninorm/u16-normalize: Likewise.
24461         * modules/uninorm/u16-normcmp: Likewise.
24462         * modules/uninorm/u16-normcoll: Likewise.
24463         * modules/uninorm/u16-normxfrm: Likewise.
24464         * modules/uninorm/u32-normalize: Likewise.
24465         * modules/uninorm/u32-normcmp: Likewise.
24466         * modules/uninorm/u32-normcoll: Likewise.
24467         * modules/uninorm/u32-normxfrm: Likewise.
24468         * modules/unistdio/u8-asnprintf: Likewise.
24469         * modules/unistdio/u8-asprintf: Likewise.
24470         * modules/unistdio/u8-snprintf: Likewise.
24471         * modules/unistdio/u8-sprintf: Likewise.
24472         * modules/unistdio/u8-u8-asnprintf: Likewise.
24473         * modules/unistdio/u8-u8-asprintf: Likewise.
24474         * modules/unistdio/u8-u8-snprintf: Likewise.
24475         * modules/unistdio/u8-u8-sprintf: Likewise.
24476         * modules/unistdio/u8-u8-vasnprintf: Likewise.
24477         * modules/unistdio/u8-u8-vasprintf: Likewise.
24478         * modules/unistdio/u8-u8-vsnprintf: Likewise.
24479         * modules/unistdio/u8-u8-vsprintf: Likewise.
24480         * modules/unistdio/u8-vasnprintf: Likewise.
24481         * modules/unistdio/u8-vasprintf: Likewise.
24482         * modules/unistdio/u8-vsnprintf: Likewise.
24483         * modules/unistdio/u8-vsprintf: Likewise.
24484         * modules/unistdio/u16-asnprintf: Likewise.
24485         * modules/unistdio/u16-asprintf: Likewise.
24486         * modules/unistdio/u16-snprintf: Likewise.
24487         * modules/unistdio/u16-sprintf: Likewise.
24488         * modules/unistdio/u16-u16-asnprintf: Likewise.
24489         * modules/unistdio/u16-u16-asprintf: Likewise.
24490         * modules/unistdio/u16-u16-snprintf: Likewise.
24491         * modules/unistdio/u16-u16-sprintf: Likewise.
24492         * modules/unistdio/u16-u16-vasnprintf: Likewise.
24493         * modules/unistdio/u16-u16-vasprintf: Likewise.
24494         * modules/unistdio/u16-u16-vsnprintf: Likewise.
24495         * modules/unistdio/u16-u16-vsprintf: Likewise.
24496         * modules/unistdio/u16-vasnprintf: Likewise.
24497         * modules/unistdio/u16-vasprintf: Likewise.
24498         * modules/unistdio/u16-vsnprintf: Likewise.
24499         * modules/unistdio/u16-vsprintf: Likewise.
24500         * modules/unistdio/u32-asnprintf: Likewise.
24501         * modules/unistdio/u32-asprintf: Likewise.
24502         * modules/unistdio/u32-snprintf: Likewise.
24503         * modules/unistdio/u32-sprintf: Likewise.
24504         * modules/unistdio/u32-u32-asnprintf: Likewise.
24505         * modules/unistdio/u32-u32-asprintf: Likewise.
24506         * modules/unistdio/u32-u32-snprintf: Likewise.
24507         * modules/unistdio/u32-u32-sprintf: Likewise.
24508         * modules/unistdio/u32-u32-vasnprintf: Likewise.
24509         * modules/unistdio/u32-u32-vasprintf: Likewise.
24510         * modules/unistdio/u32-u32-vsnprintf: Likewise.
24511         * modules/unistdio/u32-u32-vsprintf: Likewise.
24512         * modules/unistdio/u32-vasnprintf: Likewise.
24513         * modules/unistdio/u32-vasprintf: Likewise.
24514         * modules/unistdio/u32-vsnprintf: Likewise.
24515         * modules/unistdio/u32-vsprintf: Likewise.
24516         * modules/unistdio/ulc-asnprintf: Likewise.
24517         * modules/unistdio/ulc-asprintf: Likewise.
24518         * modules/unistdio/ulc-fprintf: Likewise.
24519         * modules/unistdio/ulc-snprintf: Likewise.
24520         * modules/unistdio/ulc-sprintf: Likewise.
24521         * modules/unistdio/ulc-vasnprintf: Likewise.
24522         * modules/unistdio/ulc-vasprintf: Likewise.
24523         * modules/unistdio/ulc-vfprintf: Likewise.
24524         * modules/unistdio/ulc-vsnprintf: Likewise.
24525         * modules/unistdio/ulc-vsprintf: Likewise.
24526         * modules/unistr/u8-check: Likewise.
24527         * modules/unistr/u8-chr: Likewise.
24528         * modules/unistr/u8-cmp: Likewise.
24529         * modules/unistr/u8-cmp2: Likewise.
24530         * modules/unistr/u8-cpy: Likewise.
24531         * modules/unistr/u8-cpy-alloc: Likewise.
24532         * modules/unistr/u8-endswith: Likewise.
24533         * modules/unistr/u8-mblen: Likewise.
24534         * modules/unistr/u8-mbsnlen: Likewise.
24535         * modules/unistr/u8-mbtouc: Likewise.
24536         * modules/unistr/u8-mbtouc-unsafe: Likewise.
24537         * modules/unistr/u8-mbtoucr: Likewise.
24538         * modules/unistr/u8-move: Likewise.
24539         * modules/unistr/u8-next: Likewise.
24540         * modules/unistr/u8-prev: Likewise.
24541         * modules/unistr/u8-set: Likewise.
24542         * modules/unistr/u8-startswith: Likewise.
24543         * modules/unistr/u8-stpcpy: Likewise.
24544         * modules/unistr/u8-stpncpy: Likewise.
24545         * modules/unistr/u8-strcat: Likewise.
24546         * modules/unistr/u8-strchr: Likewise.
24547         * modules/unistr/u8-strcmp: Likewise.
24548         * modules/unistr/u8-strcoll: Likewise.
24549         * modules/unistr/u8-strcpy: Likewise.
24550         * modules/unistr/u8-strcspn: Likewise.
24551         * modules/unistr/u8-strdup: Likewise.
24552         * modules/unistr/u8-strlen: Likewise.
24553         * modules/unistr/u8-strmblen: Likewise.
24554         * modules/unistr/u8-strmbtouc: Likewise.
24555         * modules/unistr/u8-strncat: Likewise.
24556         * modules/unistr/u8-strncmp: Likewise.
24557         * modules/unistr/u8-strncpy: Likewise.
24558         * modules/unistr/u8-strnlen: Likewise.
24559         * modules/unistr/u8-strpbrk: Likewise.
24560         * modules/unistr/u8-strrchr: Likewise.
24561         * modules/unistr/u8-strspn: Likewise.
24562         * modules/unistr/u8-strstr: Likewise.
24563         * modules/unistr/u8-strtok: Likewise.
24564         * modules/unistr/u8-to-u16: Likewise.
24565         * modules/unistr/u8-to-u32: Likewise.
24566         * modules/unistr/u8-uctomb: Likewise.
24567         * modules/unistr/u16-check: Likewise.
24568         * modules/unistr/u16-chr: Likewise.
24569         * modules/unistr/u16-cmp: Likewise.
24570         * modules/unistr/u16-cmp2: Likewise.
24571         * modules/unistr/u16-cpy: Likewise.
24572         * modules/unistr/u16-cpy-alloc: Likewise.
24573         * modules/unistr/u16-endswith: Likewise.
24574         * modules/unistr/u16-mblen: Likewise.
24575         * modules/unistr/u16-mbsnlen: Likewise.
24576         * modules/unistr/u16-mbtouc: Likewise.
24577         * modules/unistr/u16-mbtouc-unsafe: Likewise.
24578         * modules/unistr/u16-mbtoucr: Likewise.
24579         * modules/unistr/u16-move: Likewise.
24580         * modules/unistr/u16-next: Likewise.
24581         * modules/unistr/u16-prev: Likewise.
24582         * modules/unistr/u16-set: Likewise.
24583         * modules/unistr/u16-startswith: Likewise.
24584         * modules/unistr/u16-stpcpy: Likewise.
24585         * modules/unistr/u16-stpncpy: Likewise.
24586         * modules/unistr/u16-strcat: Likewise.
24587         * modules/unistr/u16-strchr: Likewise.
24588         * modules/unistr/u16-strcmp: Likewise.
24589         * modules/unistr/u16-strcoll: Likewise.
24590         * modules/unistr/u16-strcpy: Likewise.
24591         * modules/unistr/u16-strcspn: Likewise.
24592         * modules/unistr/u16-strdup: Likewise.
24593         * modules/unistr/u16-strlen: Likewise.
24594         * modules/unistr/u16-strmblen: Likewise.
24595         * modules/unistr/u16-strmbtouc: Likewise.
24596         * modules/unistr/u16-strncat: Likewise.
24597         * modules/unistr/u16-strncmp: Likewise.
24598         * modules/unistr/u16-strncpy: Likewise.
24599         * modules/unistr/u16-strnlen: Likewise.
24600         * modules/unistr/u16-strpbrk: Likewise.
24601         * modules/unistr/u16-strrchr: Likewise.
24602         * modules/unistr/u16-strspn: Likewise.
24603         * modules/unistr/u16-strstr: Likewise.
24604         * modules/unistr/u16-strtok: Likewise.
24605         * modules/unistr/u16-to-u32: Likewise.
24606         * modules/unistr/u16-to-u8: Likewise.
24607         * modules/unistr/u16-uctomb: Likewise.
24608         * modules/unistr/u32-check: Likewise.
24609         * modules/unistr/u32-chr: Likewise.
24610         * modules/unistr/u32-cmp: Likewise.
24611         * modules/unistr/u32-cmp2: Likewise.
24612         * modules/unistr/u32-cpy: Likewise.
24613         * modules/unistr/u32-cpy-alloc: Likewise.
24614         * modules/unistr/u32-endswith: Likewise.
24615         * modules/unistr/u32-mblen: Likewise.
24616         * modules/unistr/u32-mbsnlen: Likewise.
24617         * modules/unistr/u32-mbtouc: Likewise.
24618         * modules/unistr/u32-mbtouc-unsafe: Likewise.
24619         * modules/unistr/u32-mbtoucr: Likewise.
24620         * modules/unistr/u32-move: Likewise.
24621         * modules/unistr/u32-next: Likewise.
24622         * modules/unistr/u32-prev: Likewise.
24623         * modules/unistr/u32-set: Likewise.
24624         * modules/unistr/u32-startswith: Likewise.
24625         * modules/unistr/u32-stpcpy: Likewise.
24626         * modules/unistr/u32-stpncpy: Likewise.
24627         * modules/unistr/u32-strcat: Likewise.
24628         * modules/unistr/u32-strchr: Likewise.
24629         * modules/unistr/u32-strcmp: Likewise.
24630         * modules/unistr/u32-strcoll: Likewise.
24631         * modules/unistr/u32-strcpy: Likewise.
24632         * modules/unistr/u32-strcspn: Likewise.
24633         * modules/unistr/u32-strdup: Likewise.
24634         * modules/unistr/u32-strlen: Likewise.
24635         * modules/unistr/u32-strmblen: Likewise.
24636         * modules/unistr/u32-strmbtouc: Likewise.
24637         * modules/unistr/u32-strncat: Likewise.
24638         * modules/unistr/u32-strncmp: Likewise.
24639         * modules/unistr/u32-strncpy: Likewise.
24640         * modules/unistr/u32-strnlen: Likewise.
24641         * modules/unistr/u32-strpbrk: Likewise.
24642         * modules/unistr/u32-strrchr: Likewise.
24643         * modules/unistr/u32-strspn: Likewise.
24644         * modules/unistr/u32-strstr: Likewise.
24645         * modules/unistr/u32-strtok: Likewise.
24646         * modules/unistr/u32-to-u16: Likewise.
24647         * modules/unistr/u32-to-u8: Likewise.
24648         * modules/unistr/u32-uctomb: Likewise.
24649         * modules/uniwbrk/u8-wordbreaks: Likewise.
24650         * modules/uniwbrk/u16-wordbreaks: Likewise.
24651         * modules/uniwbrk/u32-wordbreaks: Likewise.
24652         * modules/uniwbrk/ulc-wordbreaks: Likewise.
24653         * modules/uniwbrk/wordbreak-property: Likewise.
24654         * modules/uniwidth/u8-strwidth: Likewise.
24655         * modules/uniwidth/u8-width: Likewise.
24656         * modules/uniwidth/u16-strwidth: Likewise.
24657         * modules/uniwidth/u16-width: Likewise.
24658         * modules/uniwidth/u32-strwidth: Likewise.
24659         * modules/uniwidth/u32-width: Likewise.
24660         * modules/uniwidth/width: Likewise.
24661         * modules/unicase/cased-tests (Makefile.am): Link all test programs
24662         with $(LIBUNISTRING).
24663         * modules/unicase/ignorable-tests: Likewise.
24664         * modules/unicase/locale-language-tests: Likewise.
24665         * modules/unicase/tolower-tests: Likewise.
24666         * modules/unicase/totitle-tests: Likewise.
24667         * modules/unicase/toupper-tests: Likewise.
24668         * modules/unicase/u8-casecmp-tests: Likewise.
24669         * modules/unicase/u8-casecoll-tests: Likewise.
24670         * modules/unicase/u8-casefold-tests: Likewise.
24671         * modules/unicase/u8-is-cased-tests: Likewise.
24672         * modules/unicase/u8-is-casefolded-tests: Likewise.
24673         * modules/unicase/u8-is-lowercase-tests: Likewise.
24674         * modules/unicase/u8-is-titlecase-tests: Likewise.
24675         * modules/unicase/u8-is-uppercase-tests: Likewise.
24676         * modules/unicase/u8-tolower-tests: Likewise.
24677         * modules/unicase/u8-totitle-tests: Likewise.
24678         * modules/unicase/u8-toupper-tests: Likewise.
24679         * modules/unicase/u16-casecmp-tests: Likewise.
24680         * modules/unicase/u16-casecoll-tests: Likewise.
24681         * modules/unicase/u16-casefold-tests: Likewise.
24682         * modules/unicase/u16-is-cased-tests: Likewise.
24683         * modules/unicase/u16-is-casefolded-tests: Likewise.
24684         * modules/unicase/u16-is-lowercase-tests: Likewise.
24685         * modules/unicase/u16-is-titlecase-tests: Likewise.
24686         * modules/unicase/u16-is-uppercase-tests: Likewise.
24687         * modules/unicase/u16-tolower-tests: Likewise.
24688         * modules/unicase/u16-totitle-tests: Likewise.
24689         * modules/unicase/u16-toupper-tests: Likewise.
24690         * modules/unicase/u32-casecmp-tests: Likewise.
24691         * modules/unicase/u32-casecoll-tests: Likewise.
24692         * modules/unicase/u32-casefold-tests: Likewise.
24693         * modules/unicase/u32-is-cased-tests: Likewise.
24694         * modules/unicase/u32-is-casefolded-tests: Likewise.
24695         * modules/unicase/u32-is-lowercase-tests: Likewise.
24696         * modules/unicase/u32-is-titlecase-tests: Likewise.
24697         * modules/unicase/u32-is-uppercase-tests: Likewise.
24698         * modules/unicase/u32-tolower-tests: Likewise.
24699         * modules/unicase/u32-totitle-tests: Likewise.
24700         * modules/unicase/u32-toupper-tests: Likewise.
24701         * modules/unicase/ulc-casecmp-tests: Likewise.
24702         * modules/unicase/ulc-casecoll-tests: Likewise.
24703         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
24704         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
24705         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
24706         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
24707         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
24708         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
24709         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
24710         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
24711         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
24712         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
24713         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
24714         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
24715         * modules/unictype/bidicategory-byname-tests: Likewise.
24716         * modules/unictype/bidicategory-name-tests: Likewise.
24717         * modules/unictype/bidicategory-of-tests: Likewise.
24718         * modules/unictype/bidicategory-test-tests: Likewise.
24719         * modules/unictype/block-list-tests: Likewise.
24720         * modules/unictype/block-of-tests: Likewise.
24721         * modules/unictype/block-test-tests: Likewise.
24722         * modules/unictype/category-C-tests: Likewise.
24723         * modules/unictype/category-Cc-tests: Likewise.
24724         * modules/unictype/category-Cf-tests: Likewise.
24725         * modules/unictype/category-Cn-tests: Likewise.
24726         * modules/unictype/category-Co-tests: Likewise.
24727         * modules/unictype/category-Cs-tests: Likewise.
24728         * modules/unictype/category-L-tests: Likewise.
24729         * modules/unictype/category-Ll-tests: Likewise.
24730         * modules/unictype/category-Lm-tests: Likewise.
24731         * modules/unictype/category-Lo-tests: Likewise.
24732         * modules/unictype/category-Lt-tests: Likewise.
24733         * modules/unictype/category-Lu-tests: Likewise.
24734         * modules/unictype/category-M-tests: Likewise.
24735         * modules/unictype/category-Mc-tests: Likewise.
24736         * modules/unictype/category-Me-tests: Likewise.
24737         * modules/unictype/category-Mn-tests: Likewise.
24738         * modules/unictype/category-N-tests: Likewise.
24739         * modules/unictype/category-Nd-tests: Likewise.
24740         * modules/unictype/category-Nl-tests: Likewise.
24741         * modules/unictype/category-No-tests: Likewise.
24742         * modules/unictype/category-P-tests: Likewise.
24743         * modules/unictype/category-Pc-tests: Likewise.
24744         * modules/unictype/category-Pd-tests: Likewise.
24745         * modules/unictype/category-Pe-tests: Likewise.
24746         * modules/unictype/category-Pf-tests: Likewise.
24747         * modules/unictype/category-Pi-tests: Likewise.
24748         * modules/unictype/category-Po-tests: Likewise.
24749         * modules/unictype/category-Ps-tests: Likewise.
24750         * modules/unictype/category-S-tests: Likewise.
24751         * modules/unictype/category-Sc-tests: Likewise.
24752         * modules/unictype/category-Sk-tests: Likewise.
24753         * modules/unictype/category-Sm-tests: Likewise.
24754         * modules/unictype/category-So-tests: Likewise.
24755         * modules/unictype/category-Z-tests: Likewise.
24756         * modules/unictype/category-Zl-tests: Likewise.
24757         * modules/unictype/category-Zp-tests: Likewise.
24758         * modules/unictype/category-Zs-tests: Likewise.
24759         * modules/unictype/category-and-not-tests: Likewise.
24760         * modules/unictype/category-and-tests: Likewise.
24761         * modules/unictype/category-byname-tests: Likewise.
24762         * modules/unictype/category-name-tests: Likewise.
24763         * modules/unictype/category-none-tests: Likewise.
24764         * modules/unictype/category-of-tests: Likewise.
24765         * modules/unictype/category-or-tests: Likewise.
24766         * modules/unictype/category-test-withtable-tests: Likewise.
24767         * modules/unictype/combining-class-tests: Likewise.
24768         * modules/unictype/ctype-alnum-tests: Likewise.
24769         * modules/unictype/ctype-alpha-tests: Likewise.
24770         * modules/unictype/ctype-blank-tests: Likewise.
24771         * modules/unictype/ctype-cntrl-tests: Likewise.
24772         * modules/unictype/ctype-digit-tests: Likewise.
24773         * modules/unictype/ctype-graph-tests: Likewise.
24774         * modules/unictype/ctype-lower-tests: Likewise.
24775         * modules/unictype/ctype-print-tests: Likewise.
24776         * modules/unictype/ctype-punct-tests: Likewise.
24777         * modules/unictype/ctype-space-tests: Likewise.
24778         * modules/unictype/ctype-upper-tests: Likewise.
24779         * modules/unictype/ctype-xdigit-tests: Likewise.
24780         * modules/unictype/decimal-digit-tests: Likewise.
24781         * modules/unictype/digit-tests: Likewise.
24782         * modules/unictype/mirror-tests: Likewise.
24783         * modules/unictype/numeric-tests: Likewise.
24784         * modules/unictype/property-alphabetic-tests: Likewise.
24785         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
24786         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
24787         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
24788         * modules/unictype/property-bidi-block-separator-tests: Likewise.
24789         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
24790         * modules/unictype/property-bidi-common-separator-tests: Likewise.
24791         * modules/unictype/property-bidi-control-tests: Likewise.
24792         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
24793         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
24794         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
24795         * modules/unictype/property-bidi-european-digit-tests: Likewise.
24796         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
24797         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
24798         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
24799         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
24800         * modules/unictype/property-bidi-pdf-tests: Likewise.
24801         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
24802         * modules/unictype/property-bidi-whitespace-tests: Likewise.
24803         * modules/unictype/property-byname-tests: Likewise.
24804         * modules/unictype/property-combining-tests: Likewise.
24805         * modules/unictype/property-composite-tests: Likewise.
24806         * modules/unictype/property-currency-symbol-tests: Likewise.
24807         * modules/unictype/property-dash-tests: Likewise.
24808         * modules/unictype/property-decimal-digit-tests: Likewise.
24809         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
24810         * modules/unictype/property-deprecated-tests: Likewise.
24811         * modules/unictype/property-diacritic-tests: Likewise.
24812         * modules/unictype/property-extender-tests: Likewise.
24813         * modules/unictype/property-format-control-tests: Likewise.
24814         * modules/unictype/property-grapheme-base-tests: Likewise.
24815         * modules/unictype/property-grapheme-extend-tests: Likewise.
24816         * modules/unictype/property-grapheme-link-tests: Likewise.
24817         * modules/unictype/property-hex-digit-tests: Likewise.
24818         * modules/unictype/property-hyphen-tests: Likewise.
24819         * modules/unictype/property-id-continue-tests: Likewise.
24820         * modules/unictype/property-id-start-tests: Likewise.
24821         * modules/unictype/property-ideographic-tests: Likewise.
24822         * modules/unictype/property-ids-binary-operator-tests: Likewise.
24823         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
24824         * modules/unictype/property-ignorable-control-tests: Likewise.
24825         * modules/unictype/property-iso-control-tests: Likewise.
24826         * modules/unictype/property-join-control-tests: Likewise.
24827         * modules/unictype/property-left-of-pair-tests: Likewise.
24828         * modules/unictype/property-line-separator-tests: Likewise.
24829         * modules/unictype/property-logical-order-exception-tests: Likewise.
24830         * modules/unictype/property-lowercase-tests: Likewise.
24831         * modules/unictype/property-math-tests: Likewise.
24832         * modules/unictype/property-non-break-tests: Likewise.
24833         * modules/unictype/property-not-a-character-tests: Likewise.
24834         * modules/unictype/property-numeric-tests: Likewise.
24835         * modules/unictype/property-other-alphabetic-tests: Likewise.
24836         * modules/unictype/property-other-default-ignorable-code-point-tests:
24837         Likewise.
24838         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
24839         * modules/unictype/property-other-id-continue-tests: Likewise.
24840         * modules/unictype/property-other-id-start-tests: Likewise.
24841         * modules/unictype/property-other-lowercase-tests: Likewise.
24842         * modules/unictype/property-other-math-tests: Likewise.
24843         * modules/unictype/property-other-uppercase-tests: Likewise.
24844         * modules/unictype/property-paired-punctuation-tests: Likewise.
24845         * modules/unictype/property-paragraph-separator-tests: Likewise.
24846         * modules/unictype/property-pattern-syntax-tests: Likewise.
24847         * modules/unictype/property-pattern-white-space-tests: Likewise.
24848         * modules/unictype/property-private-use-tests: Likewise.
24849         * modules/unictype/property-punctuation-tests: Likewise.
24850         * modules/unictype/property-quotation-mark-tests: Likewise.
24851         * modules/unictype/property-radical-tests: Likewise.
24852         * modules/unictype/property-sentence-terminal-tests: Likewise.
24853         * modules/unictype/property-soft-dotted-tests: Likewise.
24854         * modules/unictype/property-space-tests: Likewise.
24855         * modules/unictype/property-terminal-punctuation-tests: Likewise.
24856         * modules/unictype/property-test-tests: Likewise.
24857         * modules/unictype/property-titlecase-tests: Likewise.
24858         * modules/unictype/property-unassigned-code-value-tests: Likewise.
24859         * modules/unictype/property-unified-ideograph-tests: Likewise.
24860         * modules/unictype/property-uppercase-tests: Likewise.
24861         * modules/unictype/property-variation-selector-tests: Likewise.
24862         * modules/unictype/property-white-space-tests: Likewise.
24863         * modules/unictype/property-xid-continue-tests: Likewise.
24864         * modules/unictype/property-xid-start-tests: Likewise.
24865         * modules/unictype/property-zero-width-tests: Likewise.
24866         * modules/unictype/scripts-tests: Likewise.
24867         * modules/unictype/syntax-c-ident-tests: Likewise.
24868         * modules/unictype/syntax-c-whitespace-tests: Likewise.
24869         * modules/unictype/syntax-java-ident-tests: Likewise.
24870         * modules/unictype/syntax-java-whitespace-tests: Likewise.
24871         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
24872         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
24873         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
24874         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
24875         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
24876         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
24877         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
24878         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
24879         * modules/uniname/uniname-tests: Likewise.
24880         * modules/uninorm/canonical-decomposition-tests: Likewise.
24881         * modules/uninorm/compat-decomposition-tests: Likewise.
24882         * modules/uninorm/composition-tests: Likewise.
24883         * modules/uninorm/decomposing-form-tests: Likewise.
24884         * modules/uninorm/decomposition-tests: Likewise.
24885         * modules/uninorm/filter-tests: Likewise.
24886         * modules/uninorm/nfc-tests: Likewise.
24887         * modules/uninorm/nfd-tests: Likewise.
24888         * modules/uninorm/nfkc-tests: Likewise.
24889         * modules/uninorm/nfkd-tests: Likewise.
24890         * modules/uninorm/u8-normcmp-tests: Likewise.
24891         * modules/uninorm/u8-normcoll-tests: Likewise.
24892         * modules/uninorm/u16-normcmp-tests: Likewise.
24893         * modules/uninorm/u16-normcoll-tests: Likewise.
24894         * modules/uninorm/u32-normcmp-tests: Likewise.
24895         * modules/uninorm/u32-normcoll-tests: Likewise.
24896         * modules/unistdio/u8-asnprintf-tests: Likewise.
24897         * modules/unistdio/u8-vasnprintf-tests: Likewise.
24898         * modules/unistdio/u8-vasprintf-tests: Likewise.
24899         * modules/unistdio/u8-vsnprintf-tests: Likewise.
24900         * modules/unistdio/u8-vsprintf-tests: Likewise.
24901         * modules/unistdio/u16-asnprintf-tests: Likewise.
24902         * modules/unistdio/u16-vasnprintf-tests: Likewise.
24903         * modules/unistdio/u16-vasprintf-tests: Likewise.
24904         * modules/unistdio/u16-vsnprintf-tests: Likewise.
24905         * modules/unistdio/u16-vsprintf-tests: Likewise.
24906         * modules/unistdio/u32-asnprintf-tests: Likewise.
24907         * modules/unistdio/u32-vasnprintf-tests: Likewise.
24908         * modules/unistdio/u32-vasprintf-tests: Likewise.
24909         * modules/unistdio/u32-vsnprintf-tests: Likewise.
24910         * modules/unistdio/u32-vsprintf-tests: Likewise.
24911         * modules/unistdio/ulc-asnprintf-tests: Likewise.
24912         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
24913         * modules/unistdio/ulc-vasprintf-tests: Likewise.
24914         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
24915         * modules/unistdio/ulc-vsprintf-tests: Likewise.
24916         * modules/unistr/u8-check-tests: Likewise.
24917         * modules/unistr/u8-chr-tests: Likewise.
24918         * modules/unistr/u8-cmp-tests: Likewise.
24919         * modules/unistr/u8-cmp2-tests: Likewise.
24920         * modules/unistr/u8-cpy-alloc-tests: Likewise.
24921         * modules/unistr/u8-cpy-tests: Likewise.
24922         * modules/unistr/u8-mblen-tests: Likewise.
24923         * modules/unistr/u8-mbsnlen-tests: Likewise.
24924         * modules/unistr/u8-mbtouc-tests: Likewise.
24925         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
24926         * modules/unistr/u8-mbtoucr-tests: Likewise.
24927         * modules/unistr/u8-move-tests: Likewise.
24928         * modules/unistr/u8-next-tests: Likewise.
24929         * modules/unistr/u8-prev-tests: Likewise.
24930         * modules/unistr/u8-set-tests: Likewise.
24931         * modules/unistr/u8-stpcpy-tests: Likewise.
24932         * modules/unistr/u8-stpncpy-tests: Likewise.
24933         * modules/unistr/u8-strcat-tests: Likewise.
24934         * modules/unistr/u8-strcmp-tests: Likewise.
24935         * modules/unistr/u8-strcoll-tests: Likewise.
24936         * modules/unistr/u8-strcpy-tests: Likewise.
24937         * modules/unistr/u8-strdup-tests: Likewise.
24938         * modules/unistr/u8-strlen-tests: Likewise.
24939         * modules/unistr/u8-strmblen-tests: Likewise.
24940         * modules/unistr/u8-strmbtouc-tests: Likewise.
24941         * modules/unistr/u8-strncat-tests: Likewise.
24942         * modules/unistr/u8-strncmp-tests: Likewise.
24943         * modules/unistr/u8-strncpy-tests: Likewise.
24944         * modules/unistr/u8-strnlen-tests: Likewise.
24945         * modules/unistr/u8-to-u16-tests: Likewise.
24946         * modules/unistr/u8-to-u32-tests: Likewise.
24947         * modules/unistr/u8-uctomb-tests: Likewise.
24948         * modules/unistr/u16-check-tests: Likewise.
24949         * modules/unistr/u16-chr-tests: Likewise.
24950         * modules/unistr/u16-cmp-tests: Likewise.
24951         * modules/unistr/u16-cmp2-tests: Likewise.
24952         * modules/unistr/u16-cpy-alloc-tests: Likewise.
24953         * modules/unistr/u16-cpy-tests: Likewise.
24954         * modules/unistr/u16-mblen-tests: Likewise.
24955         * modules/unistr/u16-mbsnlen-tests: Likewise.
24956         * modules/unistr/u16-mbtouc-tests: Likewise.
24957         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
24958         * modules/unistr/u16-mbtoucr-tests: Likewise.
24959         * modules/unistr/u16-move-tests: Likewise.
24960         * modules/unistr/u16-next-tests: Likewise.
24961         * modules/unistr/u16-prev-tests: Likewise.
24962         * modules/unistr/u16-set-tests: Likewise.
24963         * modules/unistr/u16-stpcpy-tests: Likewise.
24964         * modules/unistr/u16-stpncpy-tests: Likewise.
24965         * modules/unistr/u16-strcat-tests: Likewise.
24966         * modules/unistr/u16-strcmp-tests: Likewise.
24967         * modules/unistr/u16-strcoll-tests: Likewise.
24968         * modules/unistr/u16-strcpy-tests: Likewise.
24969         * modules/unistr/u16-strdup-tests: Likewise.
24970         * modules/unistr/u16-strlen-tests: Likewise.
24971         * modules/unistr/u16-strmblen-tests: Likewise.
24972         * modules/unistr/u16-strmbtouc-tests: Likewise.
24973         * modules/unistr/u16-strncat-tests: Likewise.
24974         * modules/unistr/u16-strncmp-tests: Likewise.
24975         * modules/unistr/u16-strncpy-tests: Likewise.
24976         * modules/unistr/u16-strnlen-tests: Likewise.
24977         * modules/unistr/u16-to-u32-tests: Likewise.
24978         * modules/unistr/u16-to-u8-tests: Likewise.
24979         * modules/unistr/u16-uctomb-tests: Likewise.
24980         * modules/unistr/u32-check-tests: Likewise.
24981         * modules/unistr/u32-chr-tests: Likewise.
24982         * modules/unistr/u32-cmp-tests: Likewise.
24983         * modules/unistr/u32-cmp2-tests: Likewise.
24984         * modules/unistr/u32-cpy-alloc-tests: Likewise.
24985         * modules/unistr/u32-cpy-tests: Likewise.
24986         * modules/unistr/u32-mblen-tests: Likewise.
24987         * modules/unistr/u32-mbsnlen-tests: Likewise.
24988         * modules/unistr/u32-mbtouc-tests: Likewise.
24989         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
24990         * modules/unistr/u32-mbtoucr-tests: Likewise.
24991         * modules/unistr/u32-move-tests: Likewise.
24992         * modules/unistr/u32-next-tests: Likewise.
24993         * modules/unistr/u32-prev-tests: Likewise.
24994         * modules/unistr/u32-set-tests: Likewise.
24995         * modules/unistr/u32-stpcpy-tests: Likewise.
24996         * modules/unistr/u32-stpncpy-tests: Likewise.
24997         * modules/unistr/u32-strcat-tests: Likewise.
24998         * modules/unistr/u32-strcmp-tests: Likewise.
24999         * modules/unistr/u32-strcoll-tests: Likewise.
25000         * modules/unistr/u32-strcpy-tests: Likewise.
25001         * modules/unistr/u32-strdup-tests: Likewise.
25002         * modules/unistr/u32-strlen-tests: Likewise.
25003         * modules/unistr/u32-strmblen-tests: Likewise.
25004         * modules/unistr/u32-strmbtouc-tests: Likewise.
25005         * modules/unistr/u32-strncat-tests: Likewise.
25006         * modules/unistr/u32-strncmp-tests: Likewise.
25007         * modules/unistr/u32-strncpy-tests: Likewise.
25008         * modules/unistr/u32-strnlen-tests: Likewise.
25009         * modules/unistr/u32-to-u16-tests: Likewise.
25010         * modules/unistr/u32-to-u8-tests: Likewise.
25011         * modules/unistr/u32-uctomb-tests: Likewise.
25012         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
25013         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
25014         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
25015         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
25016         * modules/uniwidth/u8-strwidth-tests: Likewise.
25017         * modules/uniwidth/u8-width-tests: Likewise.
25018         * modules/uniwidth/u16-strwidth-tests: Likewise.
25019         * modules/uniwidth/u16-width-tests: Likewise.
25020         * modules/uniwidth/u32-strwidth-tests: Likewise.
25021         * modules/uniwidth/u32-width-tests: Likewise.
25022         * modules/uniwidth/width-tests: Likewise.
25023
25024 2010-05-18  Richard Jones  <rjones@redhat.com>
25025
25026         doc: users.txt: list hivex
25027         * users.txt: Add hivex.
25028
25029 2010-05-18  Richard Jones  <rjones@redhat.com>
25030
25031         doc: users.txt: list febootstrap
25032         * users.txt: Add febootstrap.
25033
25034 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
25035
25036         bootstrap: fix an error when gnulib is not used as a git submodule
25037         * build-aux/bootstrap (gnulib_path): If its length is zero then
25038         assign "gnulib" to it.
25039         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
25040
25041 2010-05-16  Bruno Haible  <bruno@clisp.org>
25042
25043         Avoid autoconf warnings about AM_ICONV.
25044         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
25045         2.64.
25046
25047 2010-05-16  Bruno Haible  <bruno@clisp.org>
25048
25049         absolute-header: Make the macro usable in more situations.
25050         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
25051         from gl_ABSOLUTE_HEADER.
25052         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
25053
25054 2010-05-16  James Youngman  <jay@gnu.org>
25055
25056         doc: update users.txt
25057         * users.txt: Add CSSC.
25058
25059 2010-05-16  Jim Meyering  <meyering@redhat.com>
25060
25061         init.sh: fix an error in the previous change; add more comments
25062         * tests/init.sh: Compare exit code in loop against 9, not 2.
25063         Patch by Bruno Haible.
25064         Make the two tests more similar by adding an empty "then" clause.
25065         Add comments.
25066
25067         init.sh: avoid unnecessary shell re-exec
25068         * tests/init.sh: Improve the re-exec-required check to first test the
25069         current shell.  If it passes the test, do not search for a shell that
25070         does pass, and do not re-exec.  This test is particularly contorted to
25071         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
25072         of $(...) evokes a syntax error and causes immediate shell exit with
25073         status 2.  Bruno Haible reported that the re-exec made it impossible
25074         to single-step through any init.sh-using script.
25075
25076 2010-05-16  Bruno Haible  <bruno@clisp.org>
25077
25078         Fix collision between gnulib's and libintl's printf replacements.
25079         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
25080         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
25081         (printf): When using GNU C, map the __printf__ function to rpl_printf
25082         via __asm__. When not using GNU C, define rpl_printf instead of
25083         __printf__.
25084         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
25085         commit.
25086         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
25087         commit.
25088         * m4/asm-underscore.m4: New file.
25089         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
25090         * modules/stdio (Files): Add m4/asm-underscore.m4.
25091         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
25092         Reported by Ben Pfaff.
25093
25094 2010-05-16  Bruno Haible  <bruno@clisp.org>
25095
25096         verify: Avoid skipping the test on openSUSE 11.0.
25097         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
25098
25099 2010-05-13  Bruno Haible  <bruno@clisp.org>
25100
25101         Avoid useless warnings from G++.
25102         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
25103         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
25104         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25105
25106 2010-05-11  Jim Meyering  <meyering@redhat.com>
25107
25108         maint.mk: tweak preceding change
25109         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
25110         regexps tighter by anchoring at EOL, and make the new group "shy"
25111         for slightly decreased overhead.
25112
25113 2010-05-11  Eric Blake  <eblake@redhat.com>
25114
25115         maint.mk: gnulib doesn't guarantee NSIG
25116         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
25117
25118 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
25119
25120         test-pwrite.c: Remove unused variable declaration.
25121         * tests/test-pwrite.c (main): Remove read_buf declaration.
25122
25123         Remove useless test-pwrite.sh file.
25124         * tests/test-pwrite.sh: Delete file.
25125         * modules/pwrite-tests: Remove references.
25126         Reported by Bruno Haible.
25127
25128 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
25129
25130         init.sh: fix a typo
25131         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
25132
25133 2010-05-10  Jim Meyering  <meyering@redhat.com>
25134
25135         maint.mk: avoid using a temporary file in the always-defined-macros check
25136         * top/maint.mk (.re-defmac): Remove rule.
25137         (gl_trap_): Remove definition.
25138         (sc_prohibit_always-defined_macros): Rewrite not to create and
25139         depend on a temporary file.  Instead, depend on GNU grep's ability
25140         to read a list of regular expressions from stdin when given "-f -".
25141
25142 2010-05-09  Bruno Haible  <bruno@clisp.org>
25143
25144         Update to GNU gettext 0.18, part 1.
25145         * m4/gettext.m4: Update to GNU gettext 0.18.
25146         * m4/intl.m4: Likewise.
25147         * m4/po.m4: Likewise.
25148         * modules/gettext (Files): Add m4/fcntl-o.m4.
25149         (configure.ac): Require gettext infrastructure from version 0.18.
25150
25151 2010-05-09  Jim Meyering  <meyering@redhat.com>
25152
25153         init.sh: enable MALLOC_PERTURB_
25154         * tests/init.sh: Enable glibc's malloc-perturbing option.
25155
25156         maint.mk: improve sc_cross_check_PATH_usage_in_tests
25157         With my recent change in init.sh from the two-line form:
25158             -#   : ${srcdir=.}
25159             -#   . "$srcdir/init.sh"; path_prepend_ .
25160             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
25161         I noticed that using the one-line form would cause this test
25162         to fail with a false-positive, or to stop working altogether,
25163         depending on whether help-version changed or all the tests did.
25164         * top/maint.mk (_hv_regex): Remove this definition.
25165         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
25166         (_hv_regex_strong): Use a stronger regex to check for conformance.
25167         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
25168         Give a separate diagnostic for lack of conforming use.
25169
25170         maint.mk: prohibit definition of symbols defined by gnulib
25171         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
25172         definition of symbols defined by gnulib.
25173
25174 2010-05-09  Bruno Haible  <bruno@clisp.org>
25175
25176         acl: Avoid test failure on Cygwin-hosted mingw.
25177         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
25178
25179 2010-05-09  Bruno Haible  <bruno@clisp.org>
25180
25181         error: Use system's fcntl function.
25182         * lib/error.c (fcntl): Undefine.
25183
25184 2010-05-09  Jim Meyering  <meyering@redhat.com>
25185
25186         verify: adjust formatting to be more consistent
25187         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
25188         argument-list '('s, and after one comma.
25189
25190 2010-05-09  Bruno Haible  <bruno@clisp.org>
25191
25192         error: More reliable output on mingw.
25193         * lib/error.c: Include <windows.h>.
25194         (is_open): New function.
25195         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
25196         defined.
25197
25198 2010-05-09  Bruno Haible  <bruno@clisp.org>
25199
25200         vasnprintf: Fix syntax errors in libintl build on mingw.
25201         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
25202         pad_ourselves and prec_ourselves after use.
25203
25204 2010-05-08  Bruno Haible  <bruno@clisp.org>
25205
25206         * lib/config.charset: Update comments for Cygwin 1.7.
25207         * lib/localcharset.c: Likewise.
25208
25209 2010-05-07  Jim Meyering  <meyering@redhat.com>
25210
25211         init.sh: improve comments
25212         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
25213         . "${srcdir=.}/init.sh"; path_prepend_ .
25214         Add a note about path_prepend_ and the alternative of using
25215         TESTS_ENVIRONMENT.
25216
25217 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
25218
25219         exclude: Unescape hashed patterns in wildcard mode.
25220         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
25221         to the hash list.
25222         * tests/test-exclude8.sh: New test case.
25223         * modules/exclude-tests: Add new test.
25224
25225 2010-05-05  Eric Blake  <eblake@redhat.com>
25226
25227         verify: automate tests
25228         * modules/verify-tests: New module.
25229         * tests/test-verify.sh: New file.
25230         * tests/test-verify.c: Guard each negative test with a unique id.
25231         Also avoid warning about unused left hand of comma expressions.
25232
25233 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
25234
25235         Further improvements to verify.h, suggested by Eric Blake.
25236         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
25237         the GL_* versions, to avoid collision with OpenGL.
25238         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
25239         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
25240         than testing merely whether it's defined.
25241
25242         Modify verify.h to pacify gcc -Wredundant_decls.
25243         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
25244         These use the prefix "GL_" since they're likely to be useful elsewhere.
25245         We may need to break them out into a different .h file.
25246         (__COUNTER__): Define to 0 if the compiler doesn't support it.
25247         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
25248         of verify_function__.
25249
25250 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
25251
25252         Tests for module pwrite.
25253         * modules/pwrite-tests: New file.
25254         * tests/test-pwrite.sh: New file.
25255         * tests/test-pwrite.c: New file.
25256
25257         New module pwrite.
25258         * lib/unistd.in.h (pwrite): New declaration.
25259         * lib/pwrite.c: New file, from glibc with modifications.
25260         * m4/pwrite.m4: New file.
25261         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
25262         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
25263         REPLACE_PWRITE.
25264         * modules/pwrite: New file.
25265         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
25266         REPLACE_PWRITE.
25267         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
25268         * doc/posix-functions/pwrite.texi: Mention the new module.
25269
25270 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
25271
25272         pread: Update documentation.
25273         * doc/posix-functions/pread.texi: Mention the 'pread' module.
25274
25275 2010-05-04  Eric Blake  <eblake@redhat.com>
25276
25277         docs: update cygwin progress
25278         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
25279         this bug.
25280         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
25281         Added in cygwin 1.7.2.
25282         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
25283         Likewise.
25284         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
25285         Likewise.
25286         * doc/glibc-functions/dup3.texi (dup3): Likewise.
25287         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
25288         * doc/glibc-functions/accept4.texi (accept4): Likewise.
25289         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
25290         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
25291         Mention nproc module.
25292         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
25293         bug in cygwin 1.7.5 addition.
25294         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
25295         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
25296         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
25297         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
25298         1.7.5.
25299         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
25300         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
25301         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
25302         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
25303         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
25304         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
25305         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
25306         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
25307         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
25308         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
25309         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
25310         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
25311         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
25312         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
25313         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
25314         Likewise.
25315         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
25316         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
25317         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
25318         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
25319         Likewise.
25320         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
25321         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
25322         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
25323         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
25324         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
25325         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
25326         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
25327         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
25328         Likewise.
25329         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
25330         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
25331         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
25332         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
25333         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
25334         Likewise.
25335         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
25336         Likewise.
25337         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
25338         Likewise.
25339         * doc/glibc-functions/xdrrec_endofrecord.texi
25340         (xdrrec_endofrecord): Likewise.
25341         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
25342         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
25343         Likewise.
25344         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
25345         Likewise.
25346
25347 2010-05-04  Jim Meyering  <meyering@redhat.com>
25348
25349         gendocs.sh: make its "-s FILE" option more useful
25350         * build-aux/gendocs.sh: When honoring the -s FILE option, update
25351         $PACKAGE to reflect the probably-different basename of "FILE".
25352
25353 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
25354
25355         bootstrap: don't ignore download_po_files failure
25356         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
25357         failure.
25358
25359 2010-05-03  Jim Meyering  <meyering@redhat.com>
25360
25361         maint.mk: allow to pass options to gendocs.sh
25362         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
25363         (gendocs_options_): New overridable variable.
25364
25365         gnu-web-doc-update: don't ignore configure or build failure
25366         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
25367
25368         announce-gen: backslash-escape '@'s in --help output
25369         * build-aux/announce-gen: Fix syntax errors.
25370
25371         maint.mk, announce-gen: allow project-specific announcement mail headers
25372         * top/maint.mk (translation_project_): Define default.
25373         (announcement_Cc_, announcement_mail_headers_): Likewise.
25374         (announcement): Invoke announce-gen with new --mail-headers option.
25375         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
25376
25377         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
25378         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
25379         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
25380         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
25381         line in the "err2" output file when running "make check" in verbose
25382         mode (i.e., with set -x enabled).
25383
25384 2010-05-03  Bruno Haible  <bruno@clisp.org>
25385
25386         wctob: Fix for weird platforms.
25387         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
25388         argument value.
25389
25390 2010-05-03  Jim Meyering  <meyering@redhat.com>
25391
25392         maint.mk: prohibit unwarranted use of <strings.h>
25393         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
25394         strings.h in a file that does not also use strcasecmp, strncasecmp,
25395         ffs or ffsll.
25396
25397         maint.mk: remove obsolete comments
25398         * top/maint.mk: Remove stale, commented-out rules.
25399
25400 2010-05-02  Bruno Haible  <bruno@clisp.org>
25401
25402         wcwidth: Declare also when it's aliased.
25403         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
25404         macro.
25405
25406 2010-05-02  Bruno Haible  <bruno@clisp.org>
25407
25408         Fix regression from 2010-04-25.
25409         * gnulib-tool (func_modules_transitive_closure): Check the status of
25410         all modules, not only of the tests that are of the form foo-tests where
25411         foo is a module.
25412
25413 2010-05-02  Bruno Haible  <bruno@clisp.org>
25414
25415         wctob: Work around nasty Cygwin 1.7.2 bug.
25416         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
25417         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
25418
25419 2010-05-01  Bruno Haible  <bruno@clisp.org>
25420
25421         fpurge: Sharper test.
25422         * tests/test-fpurge.c (main): Add one more ftell check.
25423         * modules/fpurge-tests (Depends-on): Add ftell.
25424         Suggested by Eric Blake.
25425
25426 2010-05-01  Bruno Haible  <bruno@clisp.org>
25427
25428         ftello: Another test.
25429         * tests/test-ftello3.c: New file.
25430         * modules/ftello-tests (Files): Add it.
25431         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
25432         MOSTLYCLEANFILES.
25433
25434         ftell: Another test.
25435         * tests/test-ftell3.c: New file.
25436         * modules/ftell-tests (Files): Add it.
25437         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
25438         MOSTLYCLEANFILES.
25439
25440 2010-05-01  Bruno Haible  <bruno@clisp.org>
25441
25442         ftell, ftello: Work around Solaris bug.
25443         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
25444         * lib/ftello.c: Include stdio-impl.h.
25445         (ftello): On Solaris, when _IOWRT is set, compute the result without
25446         looking at _IOREAD.
25447         * modules/ftello (Files): Add lib/stdio-impl.h.
25448         * doc/posix-functions/ftell.texi: Mention Solaris bug.
25449         * doc/posix-functions/ftello.texi: Likewise.
25450         Reported by Eric Blake.
25451
25452 2010-05-01  Bruno Haible  <bruno@clisp.org>
25453
25454         freading: Adapt to special meaning of _IOREAD flag on Solaris.
25455         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
25456         the _IOWRT flag is also set.
25457
25458 2010-05-01  Bruno Haible  <bruno@clisp.org>
25459
25460         Fix doc about a HP-UX stdio bug.
25461         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
25462         * doc/posix-functions/ftello.texi: Likewise.
25463
25464 2010-05-01  Bruno Haible  <bruno@clisp.org>
25465
25466         lseek test: Fix failure on Solaris.
25467         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
25468         output.
25469
25470 2010-04-30  Jim Meyering  <meyering@redhat.com>
25471
25472         bootstrap: don't ignore failure to generate po*/Makevars
25473         * build-aux/bootstrap (with_gettext): Don't ignore failure
25474         to create po/Makevars or runtime-po/Makevars.
25475
25476 2010-04-29  Eric Blake  <eblake@redhat.com>
25477
25478         headers: relax license to LGPLv2+
25479         * modules/fcntl-h (License): Relax license.
25480         * modules/getopt-posix (License): Likewise.
25481         * modules/locale (License): Likewise.
25482         * modules/math (License): Likewise.
25483         * modules/pty (License): Likewise.
25484         * modules/sched (License): Likewise.
25485         * modules/search (License): Likewise.
25486         * modules/spawn (License): Likewise.
25487         * modules/stdarg (License): Likewise.
25488         * modules/sysexits (License): Likewise.
25489
25490 2010-04-29  Jim Meyering  <meyering@redhat.com>
25491
25492         inttypes: relax license to LGPLv2+
25493         * modules/inttypes (License): Relax license.
25494
25495 2010-04-29  Simon Josefsson  <simon@josefsson.org>
25496
25497         * top/maint.mk (indent): Run twice to produce idempotent results.
25498
25499 2010-04-28  Bruno Haible  <bruno@clisp.org>
25500
25501         getdate: Generate getdate.c in the source directory.
25502         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
25503         MOSTLYCLEANFILES.
25504         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
25505
25506 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
25507
25508         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
25509         is not declared as a const *; avoid warnings in that case.
25510
25511 2010-04-28  Eric Blake  <eblake@redhat.com>
25512
25513         canonicalize-lgpl: avoid compiler warning
25514         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
25515         declaration' / 'extraneous semicolon' warning with some compilers.
25516         Reported by Andreas Gruenbacher.
25517
25518 2010-04-28  Jim Meyering  <meyering@redhat.com>
25519
25520         init.sh: ensure a more reliable exit status when exiting via trap
25521         * tests/init.sh (setup_): Don't rely on $? in signal handler.
25522         Inspired by patches from Dmitry V. Levin.
25523         Also trap on signal 3 (SIGQUIT).
25524
25525 2010-04-27  Bruno Haible  <bruno@clisp.org>
25526
25527         Update doc about utimes().
25528         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
25529         'utimens' module.
25530         Reported by Andreas Gruenbacher <agruen@suse.de>.
25531
25532 2010-04-27  Eric Blake  <eblake@redhat.com>
25533
25534         full-read, full-write: relax license
25535         * modules/full-read (License): Drop to LGPLv2+.
25536         * modules/full-write (License): Likewise.
25537         * modules/safe-read (License): Likewise.
25538         * modules/safe-write (License): Likewise.
25539
25540         pthread: mention library for linking
25541         * modules/pthread (Link): Mention $(LIB_PTHREAD).
25542
25543 2010-04-27  Jim Meyering  <meyering@redhat.com>
25544
25545         maint.mk: fix a bug introduced in last change
25546         * top/maint.mk (gl_assured_headers_): Now that all names are on
25547         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
25548         is not anchored to end of word, it should be adequate.
25549
25550         maint.mk: avoid side-effect in latest syntax-check
25551         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
25552         to run commands via $(shell...), and hence to incur cost only when
25553         the new rule is actually run.
25554
25555         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
25556         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
25557         and use that to create a regexp used to detect all #if HAVE_..._H uses.
25558         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
25559         (gl_assured_headers_, az_, AZ_): Define.
25560         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
25561
25562 2010-04-26  Jim Meyering  <jim@meyering.net>
25563             Bruno Haible  <bruno@clisp.org>
25564
25565         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
25566         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
25567         Prompted by an exchange with Gilles Espinasse.
25568
25569 2010-04-26  Jim Meyering  <meyering@redhat.com>
25570
25571         git-version-gen: aesthetic tweak
25572         * build-aux/git-version-gen: Use "$nl" rather than a literal,
25573         so that the command remains on a single line.
25574
25575 2010-04-26  Eric Blake  <eblake@redhat.com>
25576
25577         git-version-gen: allow use on EBCDIC hosts
25578         * build-aux/git-version-gen (dirty): Use literal rather than tying
25579         ourselves to ascii.
25580         Reported by Steve Goetze.
25581
25582 2010-04-25  Bruno Haible  <bruno@clisp.org>
25583
25584         netdb: Add support for GNULIB_POSIXCHECK.
25585         * lib/netdb.in.h: Include warn-on-use.h.
25586         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
25587         functions are used when GNULIB_POSIXCHECK is defined and the
25588         getaddrinfo module is not in use.
25589         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
25590         freeaddrinfo, gai_strerror, getnameinfo are declared.
25591         * modules/netdb (Depends-on): Add warn-on-use.
25592         (Makefile.am): Include warn-on-use.h in netdb.h.
25593
25594 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
25595
25596         build: avoid "make check" failure without .git/ directory
25597         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
25598         there is no .git/ directory.
25599
25600 2010-04-25  Bruno Haible  <bruno@clisp.org>
25601
25602         ptsname: Fix misuse of ttyname_r.
25603         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
25604         of errno.
25605
25606 2010-04-25  Bruno Haible  <bruno@clisp.org>
25607
25608         ttyname_r: Make it work on Solaris 10.
25609         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
25610         if the system function has the POSIX declaration. Test whether the
25611         function fails if the buffer is less than 128 bytes large.
25612         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
25613         system's ttyname_r function. Provide a reasonably large buffer.
25614         * modules/ttyname_r (Depends-on): Add extensions.
25615         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
25616
25617 2010-04-25  Bruno Haible  <bruno@clisp.org>
25618
25619         Use the 'extensions' module for some more functions on Solaris.
25620         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
25621         module.
25622         * doc/posix-functions/ctime_r.texi: Likewise.
25623         * doc/posix-functions/getgrgid_r.texi: Likewise.
25624         * doc/posix-functions/getgrnam_r.texi: Likewise.
25625         * doc/posix-functions/getpwnam_r.texi: Likewise.
25626         * doc/posix-functions/getpwuid_r.texi: Likewise.
25627         * doc/posix-functions/readdir_r.texi: Likewise.
25628         * doc/posix-functions/sigwait.texi: Likewise.
25629         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
25630         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
25631
25632 2010-04-25  Bruno Haible  <bruno@clisp.org>
25633
25634         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
25635         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
25636         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
25637         * lib/ttyname_r.c: Include <limits.h>.
25638         (ttyname_r): Define using the system's ttyname_r function, if it exists
25639         and not on Solaris.
25640         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
25641         set.
25642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
25643         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
25644         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
25645         Reported by Simon Josefsson.
25646
25647 2010-04-25  Bruno Haible  <bruno@clisp.org>
25648
25649         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
25650         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
25651         * doc/posix-functions/ctime_r.texi: Likewise.
25652         * doc/posix-functions/getgrgid_r.texi: Likewise.
25653         * doc/posix-functions/getgrnam_r.texi: Likewise.
25654         * doc/posix-functions/getlogin_r.texi: Likewise.
25655         * doc/posix-functions/getpwnam_r.texi: Likewise.
25656         * doc/posix-functions/getpwuid_r.texi: Likewise.
25657         * doc/posix-functions/readdir_r.texi: Likewise.
25658         * doc/posix-functions/sigwait.texi: Likewise.
25659         * doc/posix-functions/ttyname_r.texi: Likewise.
25660         Reported by Simon Josefsson.
25661
25662 2010-04-25  Bruno Haible  <bruno@clisp.org>
25663
25664         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
25665         * gnulib-tool (func_usage): Document that --with-*-tests options apply
25666         also to --create-testdir.
25667         (func_acceptable): Don't consider the status of *-tests modules here.
25668         (func_modules_transitive_closure): Consider it here, before including a
25669         test module.
25670         (func_import, func_create_testdir): Set inc_all_direct_tests,
25671         inc_all_indirect_tests.
25672         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
25673         --create-testdir and --create-megatestdir.
25674
25675 2010-04-25  Bruno Haible  <bruno@clisp.org>
25676
25677         gnulib-tool: Add --without-*-tests options.
25678         * gnulib-tool (func_usage): Document the --without-*-tests options.
25679         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
25680         excl_unportable_tests): New variables.
25681         Fail if they are specified with --import or --update.
25682         (func_acceptable): Respect the excl_*_tests variables.
25683         (func_import): Set the excl_*_tests variables to empty.
25684
25685 2010-04-25  Simon Josefsson  <simon@josefsson.org>
25686             Bruno Haible  <bruno@clisp.org>
25687
25688         Work around a MacOS X 10.4 bug with openpty.
25689         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
25690         * tests/test-openpty.c (main): Close the master side explicitly.
25691
25692 2010-04-25  Bruno Haible  <bruno@clisp.org>
25693
25694         strnlen: Fix a C++ test error on MacOS X and Solaris.
25695         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
25696         the function is not declared.
25697         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
25698         Simon Josefsson.
25699
25700 2010-04-24  Bruno Haible  <bruno@clisp.org>
25701
25702         Avoid a gcc warning.
25703         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
25704         of correct type for %08lx directive.
25705         Reported by Eric Blake.
25706
25707 2010-04-24  Bruno Haible  <bruno@clisp.org>
25708
25709         vasnprintf: Correct errno value in case of out-of-memory.
25710         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
25711         or sprintf. Use the errno value from SNPRINTF or sprintf.
25712         Reported by Ian Beckwith <ianb@erislabs.net>.
25713
25714 2010-04-24  Bruno Haible  <bruno@clisp.org>
25715
25716         ansi-c++-opt: Find correct compiler when cross-compiling.
25717         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
25718         AC_CHECK_PROGS.
25719         Reported by Simon Josefsson.
25720
25721 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
25722
25723         vc-list-files: Add support for subversion
25724         * build-aux/vc-list-files: Use "svn list" to generate the list of
25725         files controlled by subversion.
25726
25727 2010-04-23  Jim Meyering  <meyering@redhat.com>
25728
25729         vc-list-files tests: convert to use init.sh
25730         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
25731         path_prepend_.
25732         Use Exit, not exit.
25733         Use skip_ rather than open coding it.
25734         Remove trap set-up and compare definitions.
25735         * tests/test-vc-list-files-git.sh: Likewise.
25736         * modules/vc-list-files-tests (Files): Add tests/init.sh.
25737
25738 2010-04-22  Simon Josefsson  <simon@josefsson.org>
25739
25740         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
25741         backup files.
25742
25743 2010-04-21  Simon Josefsson  <simon@josefsson.org>
25744
25745         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
25746
25747 2010-04-20  Eric Blake  <eblake@redhat.com>
25748
25749         tests: be robust to ignored SIGPIPE
25750         * tests/test-select-in.sh: Consume all output.
25751         * tests/test-lseek.sh: Check correct exit status, while avoiding
25752         EPIPE.
25753
25754 2010-04-20  Simon Josefsson  <simon@josefsson.org>
25755             Bruno Haible  <bruno@clisp.org>
25756
25757         visibility: Don't use -fvisibility if it leads to a warning.
25758         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
25759         yes, don't pretend that visibility works if it leads to a warning.
25760         Reported by Mike Gran <spk121@yahoo.com>.
25761
25762 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
25763
25764         * build-aux/bootstrap: Use "git -h" for testing for supported options
25765         instead of "git --help".  The short-form option only shows a summary,
25766         and doesn't layout the full man page.  Grep for the full option name
25767         in the summary, too.
25768
25769 2010-04-19  Bruno Haible  <bruno@clisp.org>
25770
25771         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
25772         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
25773         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
25774         mention of RELOCATABLE_STRIP.
25775         Reported by Sylvain Beucler <beuc@beuc.net>.
25776
25777 2010-04-19  Bruno Haible  <bruno@clisp.org>
25778
25779         * lib/diffseq.h: Fix typo in comment.
25780         Reported by Eric Blake.
25781
25782 2010-04-19  Bruno Haible  <bruno@clisp.org>
25783
25784         ioctl: Move autoconf macro to a .m4 file.
25785         * m4/ioctl.m4: New file, extracted from modules/ioctl.
25786         * modules/ioctl (Files): Add it.
25787         (configure.ac): Simply invoke gl_FUNC_IOCTL.
25788         Reported by Ian Beckwith <ianb@erislabs.net>.
25789
25790 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
25791             Bruno Haible  <bruno@clisp.org>
25792
25793         diffseq: Accommodate use-case with abstract arrays.
25794         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
25795         is not defined.
25796         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
25797         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
25798
25799 2010-04-18  Bruno Haible  <bruno@clisp.org>
25800
25801         * doc/posix-headers/stdbool.texi: More precise wording.
25802
25803 2010-04-17  Jim Meyering  <meyering@redhat.com>
25804
25805         maint.mk: use gnu-style indentation in an embedded perl script
25806         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
25807         Rename variable: s/two/last_two_bytes/
25808
25809 2010-04-16  Eric Blake  <eblake@redhat.com>
25810
25811         test-stdbool: skip test that fails with Solaris CC
25812         * tests/test-stdbool.c (f): Skip test that causes compilation
25813         error under buggy C++ compiler.
25814         * lib/stdbool.in.h: Document the limitation.
25815         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
25816
25817         setenv: allow compilation with C++
25818         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
25819         register keyword.
25820
25821         stdint: allow test to pass with C++
25822         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
25823
25824         getopt: allow compilation with C++
25825         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
25826         struct.
25827         * lib/getopt.c (_getopt_internal_r): Use correct type.
25828         Reported by Dagobert Michelson, via Joel E. Denny.
25829
25830 2010-04-16  Bruno Haible  <bruno@clisp.org>
25831
25832         Override netdb.h always.
25833         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
25834         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
25835         Reported by Ludovic Courtès <ludo@gnu.org>.
25836
25837 2010-04-15  Bruno Haible  <bruno@clisp.org>
25838
25839         openpty: Fix mistake from 2010-03-21.
25840         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
25841         Reported by Simon Josefsson.
25842
25843 2010-04-15  Eric Blake  <eblake@redhat.com>
25844
25845         test-forkpty: fix expected signature
25846         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
25847         Reported by Simon Josefsson.
25848
25849 2010-04-15  Jim Meyering  <meyering@redhat.com>
25850
25851         maint.mk: texinfo_suffix_re_: correct the default regexp
25852         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
25853
25854         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
25855         make it configurable via texinfo_suffix_re_.
25856
25857 2010-04-14  Eric Blake  <eblake@redhat.com>
25858
25859         strtok_r: relax license to LGPLv2+
25860         * modules/strtok_r (License): Relax license.
25861         Reported by Matthias Bolte.
25862
25863 2010-04-14  Simon Josefsson  <simon@josefsson.org>
25864
25865         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
25866         version 1.4.4 by default instead of requiring the libgcrypt
25867         version used during build.  This makes it possible to use the
25868         application with older but still binary compatible libgcrypt
25869         versions.
25870
25871 2010-04-13  Eric Blake  <eblake@redhat.com>
25872
25873         getopt-gnu: match recent glibc fixes and posix ruling
25874         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
25875         '+' handling, when requesting extensions.
25876         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
25877         'W;' handling.
25878         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
25879         * doc/posix-functions/getopt.texi (getopt): Document this.
25880         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
25881         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
25882         Likewise.
25883
25884         getopt: merge bug fixes from glibc
25885         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
25886         diagnostics.  Honor '+:' correctly.  Reject ';'.
25887
25888         getopt-posix: detect MacOS bug
25889         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
25890         optind when missing a required argument.
25891         * doc/posix-functions/getopt.texi (getopt): Document the bug.
25892         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
25893         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
25894         Likewise.
25895
25896         getopt-posix: avoid spurious failure on Solaris
25897         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
25898         an indicator that setting optind=1 is sufficient for reset.
25899
25900         getopt-posix: avoid spurious failure on FreeBSD
25901         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
25902         in POSIX mode, since the m4 test uses it.
25903
25904         gnulib-tool: silence warning on BSD sh
25905         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
25906
25907 2010-04-13  Jim Meyering  <meyering@redhat.com>
25908
25909         doc: users.txt: GNU patch now uses gnulib
25910         * users.txt: Add patch.
25911
25912 2010-04-12  Jim Meyering  <meyering@redhat.com>
25913
25914         maint.mk: generate more concise timing data for syntax-check rules
25915         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
25916         " done" from each line that reports a syntax-check test duration.
25917
25918 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
25919
25920         git-version-gen: use "git update-index..." rather than "git status"
25921         * build-aux/git-version-gen: Use git update-index --refresh, not
25922         "git status".  With some versions of git, "git status" would fail
25923         to update the index and result in an unwarranted "-dirty" suffix.
25924
25925 2010-04-11  Jim Meyering  <meyering@redhat.com>
25926
25927         openat: correct formatting (no semantic change)
25928         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
25929         Suggested by Bruno Haible.
25930
25931 2010-04-11  Bruno Haible  <bruno@clisp.org>
25932
25933         Stricter declaration checking in testdirs.
25934         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
25935         If for_tests is true, augment AM_CPPFLAGS to define
25936         GNULIB_STRICT_CHECKING.
25937         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
25938         GNULIB_STRICT_CHECKING is defined, verify that the function is
25939         declared.
25940
25941 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
25942             Bruno Haible  <bruno@clisp.org>
25943
25944         libunistring: Improve configure output.
25945         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
25946         Don't say "consider installing GNU libunistring" when checking again
25947         with libiconv.
25948
25949 2010-04-11  Bruno Haible  <bruno@clisp.org>
25950
25951         libunistring: Correct value of $LTLIBUNISTRING.
25952         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
25953         correct the value of $LTLIBUNISTRING.
25954
25955 2010-04-11  Bruno Haible  <bruno@clisp.org>
25956
25957         havelib: Add static libraries to LIBS in the right order.
25958         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
25959         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
25960
25961 2010-04-11  Bruno Haible  <bruno@clisp.org>
25962
25963         libunistring: Detect libunistring also when it depends on libiconv.
25964         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
25965         the second AC_LIB_HAVE_LINKFLAGS invocation.
25966
25967 2010-04-11  James Youngman  <jay@gnu.org>
25968
25969         close-stream: declare local scalars to be "const"
25970         * lib/close-stream.c (close_stream): Make boolean variables const
25971         to document the fact that we set but do not change them.
25972
25973 2010-04-11  Bruno Haible  <bruno@clisp.org>
25974
25975         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
25976
25977 2010-04-11  Jim Meyering  <meyering@redhat.com>
25978
25979         maint.mk: don't include dist-check.mk
25980         * top/maint.mk: Remove bogus include directive.
25981
25982         maint.mk: improve empty-line-at-EOF check
25983         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
25984         solution, rather than tail+Perl-based one.  The latter would read
25985         a few kilobytes from the end of each file, and did not handle empty
25986         files properly.
25987
25988         maint.mk: print the elapsed time for each syntax-check rule
25989         * top/maint.mk (sc_m_rules_): Save start time in a file.
25990         (sc_z_rules_): New rules: remove temp file and print elapsed time.
25991         (local-check): Interpose the .z rules
25992
25993 2010-04-11  Jim Meyering  <meyering@redhat.com>
25994
25995         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
25996         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
25997         empty file with one that ends in an empty line.
25998
25999 2010-04-10  Bruno Haible  <bruno@clisp.org>
26000
26001         mkdir: Make it work on mingw64.
26002         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
26003         * lib/mkdir.c: Update comment.
26004         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
26005
26006 2010-04-10  Bruno Haible  <bruno@clisp.org>
26007
26008         Don't override improved macro from newer autoconf.
26009         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
26010         autoconf >= 2.62.
26011         Reported by Joel E. Denny <jdenny@clemson.edu>.
26012
26013 2010-04-10  Jim Meyering  <meyering@redhat.com>
26014
26015         maint.mk: new syntax-check rule: prohibit empty lines at end of file
26016         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
26017
26018         maint.mk: correct a diagnostic
26019         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
26020         in diagnostic; now use $prohibit.
26021
26022 2010-04-10  Bruno Haible  <address@hidden>
26023
26024         fchownat: Fix a C++ test error on Solaris 8.
26025         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
26026         the function does not exist.
26027
26028 2010-04-10  Bruno Haible  <bruno@clisp.org>
26029
26030         vasnprintf: Add more tests.
26031         * tests/test-vasnprintf-posix.c: Include <errno.h>.
26032         (test_function): Test converting an invalid wide string.
26033
26034         vasnprintf: Correct handling of unconvertible wide string arguments.
26035         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
26036         VASNPRINTF.
26037         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
26038         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
26039         smaller than the expected maximum need for the directive. Set errno to
26040         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
26041         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
26042         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
26043         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
26044         * modules/vasnprintf (Files): Add m4/printf.m4.
26045         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26046
26047 2010-04-10  Bruno Haible  <bruno@clisp.org>
26048
26049         vasnprintf: Fix crash in %ls directive.
26050         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
26051         string is passed as argument to %ls, with no precision and no width.
26052         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26053
26054 2010-04-10  Bruno Haible  <bruno@clisp.org>
26055
26056         vasnprintf: Fix multiple test failures on mingw.
26057         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
26058         _snprintf, or snwprintf, not _snwprintf.
26059
26060 2010-04-10  Bruno Haible  <bruno@clisp.org>
26061
26062         write: Fix a C++ test error on mingw.
26063         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
26064
26065 2010-04-10  Bruno Haible  <bruno@clisp.org>
26066
26067         vasnprintf test: Reduce code duplication.
26068         * tests/test-vasnprintf.c (test_function): New function, extracted from
26069         test_vasnprintf.
26070         (test_vasnprintf, test_asnprintf): Invoke it.
26071
26072 2010-04-10  Bruno Haible  <bruno@clisp.org>
26073
26074         strnlen: Fix warning in C++ mode on MacOS X.
26075         * lib/string.in.h (strnlen): Use the modern idiom.
26076         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
26077         defining strnlen as a macro already in <config.h>.
26078         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26079         REPLACE_STRNLEN.
26080         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
26081         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26082
26083 2010-04-08  James Youngman  <jay@gnu.org>
26084
26085         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
26086         the example.
26087
26088 2010-04-09  Jim Meyering  <meyering@redhat.com>
26089
26090         maint.mk: print better diagnostic when there is no $(_hv_file)
26091         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
26092         announce that when $(_hv_file) (aka help-version) does not exist.
26093
26094         init.sh: run tr in the "C" locale to avoid multibyte interpretation
26095         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
26096         not try to interpret its random input bytes.  Jarno Rajahalme reported
26097         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
26098         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
26099         (mktempd_): Likewise, just in case.
26100
26101         ftruncate: add two years to projected module removal date: 2012
26102         * m4/ftruncate.m4: Adjust comments.
26103
26104         ftruncate: mark module as obsolete; even MinGW provides it, now
26105         * modules/ftruncate (Status): Obsolete.
26106         (Notice): Say that.
26107         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
26108         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
26109
26110 2010-04-08  Bruno Haible  <bruno@clisp.org>
26111
26112         Fix side effects from tests-related modules.
26113         * modules/dprintf-posix (Comment): New section.
26114         * modules/fprintf-posix (Comment): Likewise.
26115         * modules/obstack-printf-posix (Comment): Likewise.
26116         * modules/printf-posix (Comment): Likewise.
26117         * modules/snprintf-posix (Comment): Likewise.
26118         * modules/sprintf-posix (Comment): Likewise.
26119         * modules/vasnprintf-posix (Comment): Likewise.
26120         * modules/vasprintf-posix (Comment): Likewise.
26121         * modules/vdprintf-posix (Comment): Likewise.
26122         * modules/vfprintf-posix (Comment): Likewise.
26123         * modules/vprintf-posix (Comment): Likewise.
26124         * modules/vsnprintf-posix (Comment): Likewise.
26125         * modules/vsprintf-posix (Comment): Likewise.
26126         * modules/xprintf-posix (Comment): Likewise.
26127         * modules/xvasprintf-posix (Comment): Likewise.
26128         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
26129         * modules/floorf-tests (Depends-on): Likewise.
26130         * modules/round-tests (Depends-on): Likewise.
26131         * modules/roundf-tests (Depends-on): Likewise.
26132         * modules/trunc-tests (Depends-on): Likewise.
26133         * modules/truncf-tests (Depends-on): Likewise.
26134         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
26135         'fprintf-posix' module is not present.
26136         * tests/test-floorf2.c (check): Likewise.
26137         * tests/test-trunc2.c (check): Likewise.
26138         * tests/test-truncf2.c (check): Likewise.
26139         * tests/test-round2.c (equal): Likewise.
26140         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26141
26142 2010-04-07  Karl Berry  <karl@gnu.org>
26143
26144         * config/srclist.txt,
26145         * config/srclistvars.sh,
26146         * config/srclist-update: doc fixes.
26147
26148 2010-04-07  Jim Meyering  <meyering@redhat.com>
26149
26150         maint.mk: add a PATH crosschecking syntax-check rule
26151         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
26152         Useful if you use a test like the one in help-version (coreutils,
26153         diffutils, grep, gzip) that ensures $(VERSION) matches what is
26154         printed by prog --version.
26155
26156 2010-04-06  Bruno Haible  <bruno@clisp.org>
26157
26158         Fix link error on mingw.
26159         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
26160         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
26161
26162 2010-04-06  Bruno Haible  <bruno@clisp.org>
26163
26164         Assume rmdir exists.
26165         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
26166
26167 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
26168
26169         doc: update users.txt
26170         * users.txt: Add gcal.
26171
26172 2010-04-06  Jim Meyering  <meyering@redhat.com>
26173
26174         init.sh: simply unset TMPDIR rather than risking env -i
26175         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
26176         although it probably works fine on all Unix-based systems, some
26177         systems (Cygwin?) cannot tolerate a totally cleared environment.
26178         Suggestion from Eric Blake.
26179
26180 2010-04-06  Jim Meyering  <meyering@redhat.com>
26181
26182         init.sh: portability fix: use env's POSIX-specified -i option not -u
26183         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
26184         than unportable env -u.  Solaris 5.11's env lacks support for -u.
26185
26186 2010-04-05  Bruno Haible  <bruno@clisp.org>
26187
26188         btowc: Work around Cygwin 1.7.2 bug.
26189         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
26190         does not map NUL to 0.
26191         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
26192
26193 2010-04-05  Bruno Haible  <bruno@clisp.org>
26194
26195         Make the multithread modules work on Cygwin 1.7.2.
26196         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
26197         imported symbols can be declared weak, so that it returns "no" on
26198         Cygwin 1.7.2.
26199
26200 2010-04-05  Bruno Haible  <bruno@clisp.org>
26201
26202         Use the module 'strncat'.
26203         * modules/unistr/u8-strncat (Depends-on): Add strncat.
26204
26205         Tests for module 'strncat'.
26206         * modules/strncat-tests: New file.
26207         * tests/test-strncat.c: New file.
26208
26209         New module 'strncat'.
26210         * lib/string.in.h (strncat): New declaration.
26211         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
26212         * m4/strncat.m4: New file, based on m4/memchr.m4.
26213         * modules/strncat: New file.
26214         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
26215         is declared.
26216         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
26217         REPLACE_STRNCAT.
26218         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
26219         REPLACE_STRNCAT.
26220         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
26221         module.
26222         * tests/test-string-c++.cc: Check signature of strncat.
26223
26224 2010-04-05  Jim Meyering  <meyering@redhat.com>
26225
26226         xstrtoumax-tests: convert to use init.sh
26227         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
26228         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26229         Use Exit, not exit.
26230         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26231
26232         xstrtoimax-tests: convert to use init.sh
26233         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
26234         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26235         Use Exit, not exit.
26236         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26237
26238 2010-04-05  Bruno Haible  <bruno@clisp.org>
26239
26240         sys_socket: Avoid #define replacements in C++ mode.
26241         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
26242         warning to the function if possible, rather than #defining the symbol
26243         to a dysfunctional alias.
26244
26245 2010-04-05  Bruno Haible  <bruno@clisp.org>
26246
26247         fseeko: Fix C++ test error on mingw.
26248         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
26249         gl_FUNC_FSEEKO.
26250         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
26251         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
26252         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
26253         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
26254
26255 2010-04-05  Bruno Haible  <bruno@clisp.org>
26256
26257         duplocale: Improve test output.
26258         * tests/test-duplocale.c (main): Print reason for skipped test.
26259
26260 2010-04-05  Bruno Haible  <bruno@clisp.org>
26261
26262         Assume rmdir exists.
26263         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
26264         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
26265
26266 2010-04-05  Bruno Haible  <bruno@clisp.org>
26267
26268         Fix link error on Solaris 8 with cc.
26269         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
26270
26271 2010-04-05  Bruno Haible  <bruno@clisp.org>
26272
26273         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
26274         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
26275
26276 2010-04-05  Bruno Haible  <bruno@clisp.org>
26277
26278         vasprintf: Update documentation.
26279         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
26280
26281 2010-04-05  Bruno Haible  <bruno@clisp.org>
26282
26283         ptsname: Improve test.
26284         * tests/test-ptsname.c (main): Also try the various master names of BSD
26285         systems.
26286
26287 2010-04-05  Bruno Haible  <bruno@clisp.org>
26288
26289         memchr: Avoid a possible C++ test error.
26290         * lib/string.in.h (memchr): Provide declaration if function is missing.
26291         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
26292         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
26293         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
26294         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
26295
26296 2010-04-05  Bruno Haible  <bruno@clisp.org>
26297
26298         strtok_r: Improve idiom.
26299         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
26300         AC_LIBOBJ is used.
26301
26302 2010-04-05  Bruno Haible  <bruno@clisp.org>
26303
26304         strdup: Improve idiom.
26305         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
26306         AC_LIBOBJ is used.
26307         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
26308         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
26309         when AC_LIBOBJ is used.
26310
26311 2010-04-05  Bruno Haible  <bruno@clisp.org>
26312
26313         mbsinit, mbrtowc, wcrtomb: Improve idioms.
26314         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
26315         don't set REPLACE_MBSINIT to 1.
26316         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
26317         don't set REPLACE_MBRTOWC to 1.
26318         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
26319         exist, don't set REPLACE_MBSRTOWCS to 1.
26320         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
26321         exist, don't set REPLACE_MBSNRTOWCS to 1.
26322         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
26323         don't set REPLACE_WCRTOMB to 1.
26324         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
26325         exist, don't set REPLACE_WCSRTOMBS to 1.
26326         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
26327         exist, don't set REPLACE_WCSNRTOMBS to 1.
26328
26329 2010-04-05  Bruno Haible  <bruno@clisp.org>
26330
26331         ldexpl: Improve idiom.
26332         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
26333         make sure to set HAVE_DECL_LDEXPL to 0.
26334
26335 2010-04-05  Jim Meyering  <meyering@redhat.com>
26336
26337         xstrtol-tests: convert to use init.sh
26338         * modules/xstrtol-tests (Files): Add tests/init.sh.
26339         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26340         Use Exit, not exit.
26341         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26342
26343         atexit-tests: convert to use init.sh
26344         * modules/atexit-tests (Files): Add tests/init.sh.
26345         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26346         Use Exit, not exit.
26347         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26348
26349         init.sh: fix typo
26350         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
26351
26352         init.sh: make it easier for a test script to write to the tty, ...
26353         when using automake's parallel-tests mode.
26354         * tests/init.sh (stderr_fileno_): Define overridable variable.
26355         (warn_): New function, to use it.
26356         (fail_, skip_, framework_failure_): Use warn_.
26357
26358 2010-04-04  Bruno Haible  <bruno@clisp.org>
26359
26360         btowc: Avoid warning.
26361         * lib/btowc.c: Include <stdlib.h>.
26362         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
26363
26364 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
26365             Bruno Haible  <bruno@clisp.org>
26366
26367         wchar: Port to NetBSD 1.5.
26368         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
26369         * lib/wctype.in.h (WEOF): Likewise.
26370
26371 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
26372             Bruno Haible  <bruno@clisp.org>
26373
26374         Port extended stdio to NetBSD 1.5.
26375         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
26376         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
26377         older.
26378
26379 2010-04-04  Bruno Haible  <bruno@clisp.org>
26380
26381         string: Remove unused substitution.
26382         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
26383         HAVE_DECL_STRERROR.
26384         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
26385
26386 2010-04-04  Bruno Haible  <bruno@clisp.org>
26387
26388         strtod: Avoid a possible C++ test error.
26389         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
26390         set REPLACE_STRTOD.
26391
26392 2010-04-04  Bruno Haible  <bruno@clisp.org>
26393
26394         strerror: Update documentation.
26395         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
26396
26397 2010-04-04  Bruno Haible  <bruno@clisp.org>
26398
26399         stdio: Fix some C++ test errors on Solaris 8 with GCC.
26400         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
26401         _GL_CXXALIAS_SYS_CAST.
26402
26403 2010-04-04  Bruno Haible  <bruno@clisp.org>
26404
26405         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
26406         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
26407         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
26408         REPLACE_FREXPL to 1.
26409         * doc/posix-functions/frexpl.texi: Update documentation.
26410
26411 2010-04-04  Bruno Haible  <bruno@clisp.org>
26412
26413         math: Fix some C++ test errors on Solaris 8 and Cygwin.
26414         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
26415
26416 2010-04-04  Bruno Haible  <bruno@clisp.org>
26417
26418         Implement nanosleep for native Windows.
26419         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
26420
26421 2010-04-04  Bruno Haible  <bruno@clisp.org>
26422
26423         math: Fix some C++ test errors on Solaris 8.
26424         * lib/math.in.h (truncf, trunc): Use simpler idiom.
26425
26426 2010-04-04  Bruno Haible  <bruno@clisp.org>
26427
26428         math: Fix some C++ test errors on Cygwin.
26429         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
26430         truncl): Provide declaration if the system does not have it.
26431         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
26432         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
26433         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
26434         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
26435         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
26436         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
26437         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
26438         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
26439         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
26440         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
26441         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
26442         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
26443         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
26444         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
26445         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
26446         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
26447         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
26448         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
26449         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
26450         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
26451         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
26452         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
26453
26454 2010-04-04  Bruno Haible  <bruno@clisp.org>
26455
26456         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
26457         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
26458         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
26459         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
26460         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
26461         * m4/isinf.m4 (gl_ISINF): Likewise.
26462         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26463
26464 2010-04-04  Bruno Haible  <bruno@clisp.org>
26465
26466         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
26467         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
26468
26469 2010-04-04  Bruno Haible  <bruno@clisp.org>
26470
26471         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
26472         * modules/tmpfile (configure.ac): Update.
26473
26474         tmpfile: Fix C++ test error on mingw.
26475         * lib/stdio.in.h (tmpfile): New declaration.
26476         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
26477         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
26478         * modules/tmpfile (Depends-on): Add stdio.
26479         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
26480         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
26481         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
26482         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
26483         REPLACE_TMPFILE.
26484         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
26485
26486 2010-04-04  Bruno Haible  <bruno@clisp.org>
26487
26488         ioctl: Fix C++ test error on mingw.
26489         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
26490         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
26491         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
26492
26493 2010-04-03  Bruno Haible  <bruno@clisp.org>
26494
26495         wcwidth: Fix C++ test error on mingw.
26496         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
26497         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
26498         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
26499
26500 2010-04-03  Bruno Haible  <bruno@clisp.org>
26501
26502         nanosleep: Fix C++ test error on mingw.
26503         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
26504         * lib/time.in.h (nanosleep): Use modern idiom.
26505         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
26506         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
26507         REPLACE_NANOSLEEP to 1.
26508         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
26509         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
26510
26511 2010-04-03  Bruno Haible  <bruno@clisp.org>
26512
26513         strptime: Fix C++ test error on mingw.
26514         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
26515         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
26516         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
26517         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
26518         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
26519         not REPLACE_STRPTIME.
26520         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
26521         REPLACE_STRPTIME.
26522
26523 2010-04-03  Bruno Haible  <bruno@clisp.org>
26524
26525         timegm: Fix C++ test error on mingw.
26526         * lib/time.in.h (timegm): Use modern idiom.
26527         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
26528         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
26529         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
26530         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
26531
26532 2010-04-03  Bruno Haible  <bruno@clisp.org>
26533
26534         timegm: Assume declaration if function exists.
26535         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
26536         if it exists. Don't clobber ac_cv_func_timegm.
26537
26538 2010-04-03  Bruno Haible  <bruno@clisp.org>
26539
26540         time_r: Fix C++ test error on mingw.
26541         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
26542         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
26543         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
26544         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
26545         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
26546
26547 2010-04-03  Bruno Haible  <bruno@clisp.org>
26548
26549         time_r: Minor updates.
26550         * modules/time_r (Description): Mention the provided functions.
26551         * lib/time_r.c: Don't include <string.h>.
26552         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
26553         * doc/posix-functions/localtime_r.texi: Likewise.
26554
26555 2010-04-03  Bruno Haible  <bruno@clisp.org>
26556
26557         time: Fix regression introduced on 2010-03-08.
26558         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
26559         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
26560
26561 2010-04-03  Jim Meyering  <meyering@redhat.com>
26562
26563         maint.mk: don't silently disable project-specific syntax-check rules
26564         * top/maint.mk (_prohibit_regexp): Define, to help people realize
26565         that they need to convert their project-specific syntax-check rules
26566         to use the new _sc_search_regexp.
26567
26568 2010-04-03  Bruno Haible  <bruno@clisp.org>
26569
26570         fchdir: Fix regression introduced on 2010-03-08.
26571         * lib/unistd.in.h (fchdir): Fix declaration.
26572         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
26573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
26574         REPLACE_FCHDIR.
26575         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
26576         REPLACE_FCHDIR.
26577
26578 2010-04-03  Bruno Haible  <bruno@clisp.org>
26579
26580         getpagesize: Fix C++ test error on mingw.
26581         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
26582         system does not declare the function.
26583         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
26584         declared.
26585         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26586         HAVE_DECL_GETPAGESIZE.
26587         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
26588
26589 2010-04-03  Bruno Haible  <bruno@clisp.org>
26590
26591         stdio: Make C++ tests work on mingw.
26592         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
26593         does not declare the function.
26594
26595 2010-04-03  Bruno Haible  <bruno@clisp.org>
26596
26597         ftello: Fix C++ test error on mingw.
26598         * lib/stdio.in.h (ftello): Use modern idiom.
26599         * lib/ftello.c (ftello): Renamed from rpl_ftello.
26600         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
26601         is missing and that it needs to be replaced.
26602         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
26603         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
26604         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
26605
26606 2010-04-03  Bruno Haible  <bruno@clisp.org>
26607
26608         fseeko: Fix C++ test error on mingw.
26609         * lib/stdio.in.h (fseeko): Use modern idiom.
26610         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
26611         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
26612         is missing and that it needs to be replaced.
26613         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
26614         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
26615         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
26616
26617 2010-04-03  Bruno Haible  <bruno@clisp.org>
26618
26619         mkstemp: Fix C++ test error on mingw.
26620         * lib/stdlib.in.h (mkstemp): Use modern idiom.
26621         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
26622         function is missing and that it needs to be replaced.
26623         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
26624         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
26625
26626 2010-04-03  Bruno Haible  <bruno@clisp.org>
26627
26628         stpncpy: Fix C++ test error on mingw.
26629         * lib/string.in.h (stpncpy): Use modern idiom.
26630         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
26631         function is missing and that it needs to be replaced.
26632         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26633         REPLACE_STPNCPY.
26634         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
26635
26636 2010-04-03  Bruno Haible  <bruno@clisp.org>
26637
26638         sys_stat: Fix C++ test error on mingw.
26639         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
26640         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
26641
26642 2010-04-03  Bruno Haible  <bruno@clisp.org>
26643
26644         pty: Update doc.
26645         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
26646
26647 2010-04-03  Bruno Haible  <bruno@clisp.org>
26648
26649         unistd: Fix C++ test error on mingw.
26650         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
26651
26652 2010-04-03  Bruno Haible  <bruno@clisp.org>
26653
26654         Update doc regarding mingw.
26655         * doc/glibc-functions/openpty.texi: Update regarding mingw.
26656         * doc/glibc-functions/login_tty.texi: Likewise.
26657         * doc/glibc-functions/forkpty.texi: Likewise.
26658
26659 2010-04-03  Bruno Haible  <bruno@clisp.org>
26660
26661         stdlib: Avoid compilation failure of c-strtold on mingw.
26662         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
26663
26664 2010-04-03  Bruno Haible  <bruno@clisp.org>
26665
26666         locale: Make C++ tests work on Cygwin and mingw.
26667         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
26668         cannot provide the function.
26669         Reported by Simon Josefsson.
26670
26671 2010-04-03  Bruno Haible  <bruno@clisp.org>
26672
26673         localename: Port to MacOS X 10.6.
26674         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
26675         memory layout of the locales in MacOS X 10.6 as well.
26676         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
26677
26678 2010-04-02  Bruno Haible  <bruno@clisp.org>
26679
26680         gnulib-tool: Ensure that long-running tests are executed last.
26681         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
26682         running tests after the one for the other tests.
26683
26684 2010-04-02  Bruno Haible  <bruno@clisp.org>
26685
26686         gnulib-tool: Ensure the tests in the main directory are executed first.
26687         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
26688         start with the current directory.
26689
26690 2010-04-02  Bruno Haible  <bruno@clisp.org>
26691
26692         Tests for module 'havelib', moved here from GNU gettext.
26693         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
26694         modifications.
26695         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
26696         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
26697         with modifications.
26698         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
26699         modifications.
26700         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
26701         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
26702         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
26703         with modifications.
26704         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
26705         with modifications.
26706         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
26707         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
26708         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
26709         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
26710         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
26711         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
26712         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
26713         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
26714         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
26715         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
26716         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
26717         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
26718         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
26719         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
26720         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
26721         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
26722         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
26723         with modifications.
26724         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
26725         with modifications.
26726         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
26727         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
26728         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
26729         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
26730         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
26731         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
26732         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
26733         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
26734         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
26735         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
26736         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
26737         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
26738         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
26739         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
26740         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
26741         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
26742         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
26743         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
26744         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
26745         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
26746         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
26747         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
26748         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
26749         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
26750         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
26751         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
26752         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
26753         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
26754         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
26755         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
26756         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
26757         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
26758         * tests/havelib/rpathx/rpathx.c: New file, from
26759         gettext/autoconf-lib-link.
26760         * tests/havelib/rpathx/Makefile.am: New file, from
26761         gettext/autoconf-lib-link.
26762         * tests/havelib/rpathx/configure.ac: New file, from
26763         gettext/autoconf-lib-link with modifications.
26764         * tests/havelib/rpathy/rpathy.c: New file, from
26765         gettext/autoconf-lib-link.
26766         * tests/havelib/rpathy/Makefile.am: New file, from
26767         gettext/autoconf-lib-link.
26768         * tests/havelib/rpathy/configure.ac: New file, from
26769         gettext/autoconf-lib-link with modifications.
26770         * tests/havelib/rpathz/rpathz.c: New file, from
26771         gettext/autoconf-lib-link.
26772         * tests/havelib/rpathz/Makefile.am: New file, from
26773         gettext/autoconf-lib-link.
26774         * tests/havelib/rpathz/configure.ac: New file, from
26775         gettext/autoconf-lib-link with modifications.
26776         * tests/havelib/rpathlx/usex.c: New file, from
26777         gettext/autoconf-lib-link.
26778         * tests/havelib/rpathlx/Makefile.am: New file, from
26779         gettext/autoconf-lib-link.
26780         * tests/havelib/rpathlx/configure.ac: New file, from
26781         gettext/autoconf-lib-link with modifications.
26782         * tests/havelib/rpathly/usey.c: New file, from
26783         gettext/autoconf-lib-link.
26784         * tests/havelib/rpathly/Makefile.am: New file, from
26785         gettext/autoconf-lib-link.
26786         * tests/havelib/rpathly/configure.ac: New file, from
26787         gettext/autoconf-lib-link with modifications.
26788         * tests/havelib/rpathlz/usez.c: New file, from
26789         gettext/autoconf-lib-link.
26790         * tests/havelib/rpathlz/Makefile.am: New file, from
26791         gettext/autoconf-lib-link.
26792         * tests/havelib/rpathlz/configure.ac: New file, from
26793         gettext/autoconf-lib-link with modifications.
26794         * tests/havelib/rpathlyx/usey.c: New file, from
26795         gettext/autoconf-lib-link.
26796         * tests/havelib/rpathlyx/Makefile.am: New file, from
26797         gettext/autoconf-lib-link.
26798         * tests/havelib/rpathlyx/configure.ac: New file, from
26799         gettext/autoconf-lib-link with modifications.
26800         * tests/havelib/rpathlzyx/usez.c: New file, from
26801         gettext/autoconf-lib-link.
26802         * tests/havelib/rpathlzyx/Makefile.am: New file, from
26803         gettext/autoconf-lib-link.
26804         * tests/havelib/rpathlzyx/configure.ac: New file, from
26805         gettext/autoconf-lib-link with modifications.
26806         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
26807         with modifications.
26808
26809 2010-04-02  Bruno Haible  <bruno@clisp.org>
26810
26811         gnulib-tool: Create distributed built sources also for the tests.
26812         * gnulib-tool (func_create_testdir): Also generate distributed built
26813         sources in the tests directory.
26814
26815 2010-04-02  Bruno Haible  <bruno@clisp.org>
26816
26817         gnulib-tool: Obey user's environment variables.
26818         * gnulib-tool (func_create_testdir): When creating built sources,
26819         respect the environment variables for autoconf, automake, etc. given by
26820         the user.
26821
26822 2010-04-02  Bruno Haible  <bruno@clisp.org>
26823
26824         gnulib-tool: Provide the value of --m4-base to modules.
26825         * gnulib-tool (func_import, func_create_testdir): Emit a definition
26826         of gl_m4_base.
26827
26828 2010-04-02  Eric Blake  <eblake@redhat.com>
26829
26830         maint.mk: fix some fallout
26831         * NEWS: Document the incompatible change, and its effect on cfg.mk.
26832         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
26833
26834 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
26835
26836         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
26837         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
26838         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
26839         (sc_cast_of_x_alloc_return_value): Likewise.
26840         (sc_cast_of_alloca_return_value): Likewise.
26841         (sc_space_tab): Likewise.
26842         (sc_prohibit_atoi_atof): Likewise.
26843         (sc_prohibit_magic_number_exit): Likewise.
26844         (sc_error_exit_success): Likewise.
26845         (sc_file_system): Likewise.
26846         (sc_prohibit_have_config_h): Likewise.
26847         (sc_require_config_h): Likewise.
26848         (sc_prohibit_HAVE_MBRTOWC): Likewise.
26849         (sc_obsolete_symbols): Likewise.
26850         (sc_changelog): Likewise.
26851         (sc_program_name): Likewise.
26852         (sc_the_the): Likewise.
26853         (sc_trailing_blank): Likewise.
26854         (sc_two_space_separator_in_usage): Likewise.
26855         (sc_useless_cpp_parens): Likewise.
26856         (sc_GPL_version): Likewise.
26857         (sc_GFDL_version): Likewise.
26858         (sc_texinfo_acronym): Likewise.
26859         (sc_prohibit_cvs_keyword): Likewise.
26860         (sc_prohibit_stat_st_blocks): Likewise.
26861         (sc_prohibit_S_IS_definition): Likewise.
26862         (sc_redundant_const): Likewise.
26863         (sc_makefile_TAB_only_indentation): Likewise.
26864         (sc_m4_quote_check): Likewise.
26865         (sc_makefile_path_separator_check): Likewise.
26866         (sc_copyright_check): Likewise.
26867         (sc_Wundef_boolean): Likewise.
26868         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
26869
26870         maint.mk: match 0 or more whitespace-before-function-call '('
26871         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
26872         that have zero or two-and-more spaces between the function name
26873         and the open parenthesis.
26874         (sc_error_message_warn_fatal): Likewise.
26875         (sc_error_message_uppercase): Likewise.
26876         (sc_error_message_period): Likewise.
26877
26878 2010-03-31  Eric Blake  <eblake@redhat.com>
26879
26880         maint.mk: check for [ as well as test
26881         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
26882         Based on a libvirt report by Matthias Bolte.
26883
26884         gnumakefile: don't squelch _version output
26885         * top/GNUmakefile (_version): Create one-shot dependency rather
26886         than using $(shell) when version must be regenerated.
26887         (_autoreconf): Run verbosely, by default.
26888
26889         sys_time: avoid compiler warnings
26890         * lib/sys_time.in.h (includes): Ensure gcc pragma is
26891         unconditional, fixing regression from 2010-03-29.
26892         Reported by Simon Josefsson.
26893
26894 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
26895
26896         maint.mk: s/_header_without_use/_sc_header_without_use/
26897         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
26898         (sc_prohibit_assert_without_use): Use the new name.
26899         (sc_prohibit_close_stream_without_use): Likewise.
26900         (sc_prohibit_getopt_without_use): Likewise.
26901         (sc_prohibit_quotearg_without_use): Likewise.
26902         (sc_prohibit_quote_without_use): Likewise.
26903         (sc_prohibit_long_options_without_use): Likewise.
26904         (sc_prohibit_inttostr_without_use): Likewise.
26905         (sc_prohibit_ignore_value_without_use): Likewise.
26906         (sc_prohibit_error_without_use): Likewise.
26907         (sc_prohibit_xalloc_without_use): Likewise.
26908         (sc_prohibit_hash_without_use): Likewise.
26909         (sc_prohibit_hash_pjw_without_use): Likewise.
26910         (sc_prohibit_safe_read_without_use): Likewise.
26911         (sc_prohibit_argmatch_without_use): Likewise.
26912         (sc_prohibit_canonicalize_without_use): Likewise.
26913         (sc_prohibit_root_dev_ino_without_use): Likewise.
26914         (sc_prohibit_openat_without_use): Likewise.
26915         (sc_prohibit_c_ctype_without_use): Likewise.
26916         (sc_prohibit_signal_without_use): Likewise.
26917         (sc_prohibit_intprops_without_use): Likewise.
26918
26919 2010-03-30  Eric Blake  <eblake@redhat.com>
26920
26921         maint: improve module indicators
26922         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
26923         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
26924         columns, and avoid extra macro expansion.
26925
26926         fdopendir: work around FreeBSD bug
26927         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
26928         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
26929         * modules/dirent (Makefile.am): Substitute it.
26930         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
26931         declaration.
26932         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
26933         fix.
26934         Reported by Christian Weisgerber <naddy@mips.inka.de>.
26935
26936 2010-03-29  Bruno Haible  <bruno@clisp.org>
26937
26938         Emit #pragma system_header after the inclusion guard, not before.
26939         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
26940         guard that spans the entire file, not before. This enables an
26941         optimization in GCC's preprocessor.
26942         * lib/ctype.in.h: Likewise.
26943         * lib/dirent.in.h: Likewise.
26944         * lib/errno.in.h: Likewise.
26945         * lib/float.in.h: Likewise.
26946         * lib/getopt.in.h: Likewise.
26947         * lib/iconv.in.h: Likewise.
26948         * lib/langinfo.in.h: Likewise.
26949         * lib/locale.in.h: Likewise.
26950         * lib/math.in.h: Likewise.
26951         * lib/netdb.in.h: Likewise.
26952         * lib/netinet_in.in.h: Likewise.
26953         * lib/pty.in.h: Likewise.
26954         * lib/sched.in.h: Likewise.
26955         * lib/se-selinux.in.h: Likewise.
26956         * lib/search.in.h: Likewise.
26957         * lib/spawn.in.h: Likewise.
26958         * lib/stdarg.in.h: Likewise.
26959         * lib/stdint.in.h: Likewise.
26960         * lib/string.in.h: Likewise.
26961         * lib/strings.in.h: Likewise.
26962         * lib/sys_file.in.h: Likewise.
26963         * lib/sys_ioctl.in.h: Likewise.
26964         * lib/sys_time.in.h: Likewise.
26965         * lib/sys_times.in.h: Likewise.
26966         * lib/sys_utsname.in.h: Likewise.
26967         * lib/sys_wait.in.h: Likewise.
26968         * lib/sysexits.in.h: Likewise.
26969         * lib/wctype.in.h: Likewise.
26970
26971 2010-03-28  James Youngman  <jay@gnu.org>
26972
26973         save-cwd: don't leak a file descriptor when the caller execs.
26974         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
26975         saved file descriptor.
26976         * modules/save-cwd (Depends-on): Depend on cloexec.
26977
26978 2010-03-29  Bruno Haible  <bruno@clisp.org>
26979
26980         Remove vestiges of fts-lgpl module.
26981         * lib/fts_.h: Assume GNULIB_FTS is 1.
26982         * lib/fts.c: Likewise.
26983         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
26984
26985 2010-03-28  Bruno Haible  <bruno@clisp.org>
26986
26987         Fix definition of tests witness macro.
26988         * gnulib-tool (func_import): Fix definition of witness macro.
26989
26990 2010-03-28  Bruno Haible  <bruno@clisp.org>
26991
26992         Fix ioctl's protoype on glibc systems.
26993         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
26994         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
26995         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
26996         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
26997         signature. If not, arrange to replace the ioctl function.
26998         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
26999         REPLACE_IOCTL.
27000         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
27001         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
27002         Reported by Ludovic Courtès <ludo@gnu.org>.
27003
27004 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
27005
27006         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
27007         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
27008         made it so grep -r --include=GLOB* ... did not work.
27009
27010 2010-03-26  Jim Meyering  <meyering@redhat.com>
27011             Eric Blake  <eblake@redhat.com>
27012
27013         maint.mk: prohibit use of test's -o and -a operators
27014         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
27015
27016 2010-03-28  Bruno Haible  <bruno@clisp.org>
27017
27018         Remove unused GNULIB_XYZ macro definitions.
27019         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
27020         invocation.
27021
27022 2010-03-28  Bruno Haible  <bruno@clisp.org>
27023
27024         Mark privileged tests modules.
27025         * modules/idpriv-drop-tests (Status): New section.
27026         * modules/idpriv-droptemp-tests (Status): New section.
27027
27028 2010-03-28  Bruno Haible  <bruno@clisp.org>
27029
27030         Split C++ tests into separate tests modules.
27031         * modules/dirent-c++-tests: New file, extracted from
27032         modules/dirent-tests.
27033         * modules/dirent-tests: Depend on it.
27034         * modules/fcntl-h-c++-tests: New file, extracted from
27035         modules/fcntl-h-tests.
27036         * modules/fcntl-h-tests: Depend on it.
27037         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
27038         * modules/glob-tests: Depend on it.
27039         * modules/iconv-h-c++-tests: New file, extracted from
27040         modules/iconv-h-tests.
27041         * modules/iconv-h-tests: Depend on it.
27042         * modules/langinfo-c++-tests: New file, extracted from
27043         modules/langinfo-tests.
27044         * modules/langinfo-tests: Depend on it.
27045         * modules/locale-c++-tests: New file, extracted from
27046         modules/locale-tests.
27047         * modules/locale-tests: Depend on it.
27048         * modules/math-c++-tests: New file, extracted from modules/math-tests.
27049         * modules/math-tests: Depend on it.
27050         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
27051         * modules/pty-tests: Depend on it.
27052         * modules/search-c++-tests: New file, extracted from
27053         modules/search-tests.
27054         * modules/search-tests: Depend on it.
27055         * modules/signal-c++-tests: New file, extracted from
27056         modules/signal-tests.
27057         * modules/signal-tests: Depend on it.
27058         * modules/spawn-c++-tests: New file, extracted from
27059         modules/spawn-tests.
27060         * modules/spawn-tests: Depend on it.
27061         * modules/stdio-c++-tests: New file, extracted from
27062         modules/stdio-tests.
27063         * modules/stdio-tests: Depend on it.
27064         * modules/stdlib-c++-tests: New file, extracted from
27065         modules/stdlib-tests.
27066         * modules/stdlib-tests: Depend on it.
27067         * modules/string-c++-tests: New file, extracted from
27068         modules/string-tests.
27069         * modules/string-tests: Depend on it.
27070         * modules/sys_ioctl-c++-tests: New file, extracted from
27071         modules/sys_ioctl-tests.
27072         * modules/sys_ioctl-tests: Depend on it.
27073         * modules/sys_select-c++-tests: New file, extracted from
27074         modules/sys_select-tests.
27075         * modules/sys_select-tests: Depend on it.
27076         * modules/sys_socket-c++-tests: New file, extracted from
27077         modules/sys_socket-tests.
27078         * modules/sys_socket-tests: Depend on it.
27079         * modules/sys_stat-c++-tests: New file, extracted from
27080         modules/sys_stat-tests.
27081         * modules/sys_stat-tests: Depend on it.
27082         * modules/sys_time-c++-tests: New file, extracted from
27083         modules/sys_time-tests.
27084         * modules/sys_time-tests: Depend on it.
27085         * modules/time-c++-tests: New file, extracted from modules/time-tests.
27086         * modules/time-tests: Depend on it.
27087         * modules/unistd-c++-tests: New file, extracted from
27088         modules/unistd-tests.
27089         * modules/unistd-tests: Depend on it.
27090         * modules/wchar-c++-tests: New file, extracted from
27091         modules/wchar-tests.
27092         * modules/wchar-tests: Depend on it.
27093         * modules/wctype-c++-tests: New file, extracted from
27094         modules/wctype-tests.
27095         * modules/wctype-tests: Depend on it.
27096         Reported by Simon Josefsson.
27097
27098 2010-03-28  Bruno Haible  <bruno@clisp.org>
27099
27100         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
27101         * gnulib-tool (func_exists_module): New function, extracted from
27102         func_verify_module.
27103         (func_verify_module): Use it.
27104         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
27105         'foo' only if 'foo' exists.
27106         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
27107         module.
27108
27109 2010-03-28  Bruno Haible  <bruno@clisp.org>
27110
27111         gnulib-tool: Add support for special categories of tests.
27112         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
27113         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
27114         (func_usage): Document them.
27115         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
27116         inc_unportable_tests, inc_all_tests): New variables.
27117         (func_acceptable): Consider these variables.
27118         (func_modules_transitive_closure): Make it work when the 'Status' field
27119         consists of multiple words.
27120         (func_import): Store and restore the values of inc_cxx_tests,
27121         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
27122         inc_all_tests in gnulib-comp.m4.
27123         (func_create_testdir): Set inc_all_tests to true.
27124         * doc/gnulib.texi (Extra tests modules): New section.
27125         Suggested by Jim Meyering.
27126
27127 2010-03-28  Bruno Haible  <bruno@clisp.org>
27128
27129         ansi-c++-opt: Allow turning off the C++ build by default.
27130         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
27131         gl_CXX_CHOICE_DEFAULT_NO is defined.
27132         Requested by Eric Blake.
27133
27134 2010-03-28  Bruno Haible  <bruno@clisp.org>
27135
27136         unistd: Avoid #define replacements in C++ mode.
27137         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
27138         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
27139         setsockopt, shutdown, select): In C++, attach a warning to the function
27140         if possible, rather than #defining the symbol to a dysfunctional alias.
27141         Reported by John W. Eaton <jwe@gnu.org>.
27142
27143 2010-03-28  Bruno Haible  <bruno@clisp.org>
27144
27145         Fix link errors on mingw.
27146         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
27147         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
27148         $(LIBSOCKET).
27149         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
27150         $(LIBSOCKET).
27151
27152 2010-03-28  Bruno Haible  <bruno@clisp.org>
27153             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27154
27155         lib-ignore: Determine different options for different compilers.
27156         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
27157         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
27158         Add comments.
27159         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
27160         * NEWS: Mention the change.
27161
27162 2010-03-27  Bruno Haible  <bruno@clisp.org>
27163
27164         Remove unused GNULIB_XYZ macro definitions.
27165         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
27166         * modules/fseek (configure.ac): Likewise.
27167         * modules/ioctl (configure.ac): Likewise.
27168         * modules/open (configure.ac): Likewise.
27169         * modules/stdlib-safer (configure.ac): Likewise.
27170
27171 2010-03-27  Bruno Haible  <bruno@clisp.org>
27172
27173         Add a remark about certain modules.
27174         * modules/malloc (Comment): New section.
27175         * modules/realloc (Comment): Likewise.
27176         * modules/sigpipe (Comment): Likewise.
27177
27178 2010-03-27  Bruno Haible  <bruno@clisp.org>
27179
27180         Resolve conflict between the two kinds of module indicators.
27181         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
27182         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
27183         * modules/canonicalize (configure.ac): Invoke
27184         gl_MODULE_INDICATOR_FOR_TESTS.
27185         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
27186         GNULIB_XYZ.
27187         * tests/test-dirent-c++.cc: Likewise.
27188         * tests/test-dirent-safer.c: Likewise.
27189         * tests/test-dup2.c: Likewise.
27190         * tests/test-fchdir.c: Likewise.
27191         * tests/test-fcntl-h-c++.cc: Likewise.
27192         * tests/test-getopt.c: Likewise.
27193         * tests/test-getopt.h: Likewise.
27194         * tests/test-langinfo-c++.cc: Likewise.
27195         * tests/test-locale-c++.cc: Likewise.
27196         * tests/test-math-c++.cc: Likewise.
27197         * tests/test-pty-c++.cc: Likewise.
27198         * tests/test-search-c++.cc: Likewise.
27199         * tests/test-signal-c++.cc: Likewise.
27200         * tests/test-spawn-c++.cc: Likewise.
27201         * tests/test-stdio-c++.cc: Likewise.
27202         * tests/test-stdlib-c++.cc: Likewise.
27203         * tests/test-string-c++.cc: Likewise.
27204         * tests/test-sys_ioctl-c++.cc: Likewise.
27205         * tests/test-sys_select-c++.cc: Likewise.
27206         * tests/test-sys_socket-c++.cc: Likewise.
27207         * tests/test-sys_stat-c++.cc: Likewise.
27208         * tests/test-sys_time-c++.cc: Likewise.
27209         * tests/test-time-c++.cc: Likewise.
27210         * tests/test-unistd-c++.cc: Likewise.
27211         * tests/test-wchar-c++.cc: Likewise.
27212         * tests/uninorm/test-u8-nfc.c: Likewise.
27213         * tests/uninorm/test-u8-nfd.c: Likewise.
27214         * tests/uninorm/test-u8-nfkc.c: Likewise.
27215         * tests/uninorm/test-u8-nfkd.c: Likewise.
27216         * tests/uninorm/test-u16-nfc.c: Likewise.
27217         * tests/uninorm/test-u16-nfd.c: Likewise.
27218         * tests/uninorm/test-u16-nfkc.c: Likewise.
27219         * tests/uninorm/test-u16-nfkd.c: Likewise.
27220         * tests/uninorm/test-u32-nfc.c: Likewise.
27221         * tests/uninorm/test-u32-nfc-big.c: Likewise.
27222         * tests/uninorm/test-u32-nfd.c: Likewise.
27223         * tests/uninorm/test-u32-nfd-big.c: Likewise.
27224         * tests/uninorm/test-u32-nfkc.c: Likewise.
27225         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
27226         * tests/uninorm/test-u32-nfkd.c: Likewise.
27227         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
27228         * tests/uninorm/test-u32-normalize-big.c: Likewise.
27229
27230 2010-03-27  Bruno Haible  <bruno@clisp.org>
27231
27232         Distinguish two kinds of module indicators.
27233         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
27234         gl_MODULE_INDICATOR.
27235         (gl_MODULE_INDICATOR): New macro.
27236         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
27237         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
27238         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
27239         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
27240         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
27241         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
27242         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
27243         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
27244         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
27245         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
27246         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
27247         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
27248         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
27249         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
27250         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
27251         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
27252         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
27253         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
27254         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
27255         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
27256         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
27257         * modules/cloexec (configure.ac): Likewise.
27258         * modules/getopt-gnu (configure.ac): Likewise.
27259         * modules/uninorm/u8-normalize (configure.ac): Likewise.
27260         * modules/uninorm/u16-normalize (configure.ac): Likewise.
27261         * modules/uninorm/u32-normalize (configure.ac): Likewise.
27262         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
27263
27264 2010-03-27  Bruno Haible  <bruno@clisp.org>
27265
27266         New module description field 'Comment'.
27267         * gnulib-tool: New option --extract-comment.
27268         (func_usage): Document it.
27269         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
27270         (func_get_comment): New function.
27271         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
27272
27273 2010-03-27  Bruno Haible  <bruno@clisp.org>
27274
27275         Addendum to 2010-02-07 commit.
27276         * gnulib-tool (func_usage): Document --extract-applicability option.
27277
27278 2010-03-27  Bruno Haible  <bruno@clisp.org>
27279
27280         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
27281         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
27282         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
27283         rather than link errors.
27284
27285 2010-03-27  Bruno Haible  <bruno@clisp.org>
27286
27287         Avoid side effects from tests-related modules on the compilation of lib.
27288         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
27289         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
27290         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
27291         parameter. Emit into AM_CPPFLAGS a definition of the designated C
27292         macro.
27293         (func_import): Define a witness macro. Assign it a value that depends
27294         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
27295         tests-related modules.
27296         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
27297         Reported by Jim Meyering.
27298
27299 2010-03-27  Bruno Haible  <bruno@clisp.org>
27300
27301         Factorize common .m4 code.
27302         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
27303         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
27304         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
27305         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
27306         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
27307         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
27308         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
27309         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
27310         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
27311         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
27312         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
27313         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
27314         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
27315         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
27316         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
27317         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
27318         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
27319         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
27320         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
27321         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
27322         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
27323         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
27324         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
27325         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
27326         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
27327         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
27328         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
27329         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
27330         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
27331         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
27332         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
27333         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
27334
27335 2010-03-27  Bruno Haible  <bruno@clisp.org>
27336
27337         Fix a compilation error on Cygwin with g++ >= 4.3.
27338         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
27339         if it is undefined or if we alias it to chmod.
27340         (lstat): Don't warn about the use of this function if it is undefined
27341         or if we alias it to stat.
27342         Reported by Simon Josefsson.
27343
27344 2010-03-27  Bruno Haible  <bruno@clisp.org>
27345
27346         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
27347         * modules/getlogin (configure.ac): Update.
27348
27349         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
27350         * modules/getlogin_r (configure.ac): Update.
27351
27352         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
27353         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
27354         * modules/inet_ntop (configure.ac): Update.
27355
27356         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
27357         * modules/inet_pton (configure.ac): Update.
27358
27359         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
27360         * modules/mbslen (configure.ac): Update.
27361
27362         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
27363         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
27364         * modules/forkpty (configure.ac): Update.
27365         * modules/openpty (configure.ac): Update.
27366
27367 2010-03-26  Simon Josefsson  <simon@josefsson.org>
27368
27369         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
27370         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
27371
27372 2010-03-25  Eric Blake  <eblake@redhat.com>
27373
27374         maint: use pragma consistently across replacement headers
27375         * lib/ctype.in.h (system_header): Hoist for consistent placement.
27376         * lib/dirent.in.h (system_header): Likewise.
27377         * lib/errno.in.h (system_header): Likewise.
27378         * lib/float.in.h (system_header): Likewise.
27379         * lib/getopt.in.h (system_header): Likewise.
27380         * lib/iconv.in.h (system_header): Likewise.
27381         * lib/inttypes.in.h (system_header): Likewise.
27382         * lib/langinfo.in.h (system_header): Likewise.
27383         * lib/locale.in.h (system_header): Likewise.
27384         * lib/math.in.h (system_header): Likewise.
27385         * lib/netdb.in.h (system_header): Likewise.
27386         * lib/netinet_in.in.h (system_header): Likewise.
27387         * lib/pty.in.h (system_header): Likewise.
27388         * lib/sched.in.h (system_header): Likewise.
27389         * lib/se-selinux.in.h (system_header): Likewise.
27390         * lib/search.in.h (system_header): Likewise.
27391         * lib/spawn.in.h (system_header): Likewise.
27392         * lib/stdarg.in.h (system_header): Likewise.
27393         * lib/stdint.in.h (system_header): Likewise.
27394         * lib/string.in.h (system_header): Likewise.
27395         * lib/strings.in.h (system_header): Likewise.
27396         * lib/sys_file.in.h (system_header): Likewise.
27397         * lib/sys_ioctl.in.h (system_header): Likewise.
27398         * lib/sys_socket.in.h (system_header): Likewise.
27399         * lib/sys_times.in.h (system_header): Likewise.
27400         * lib/sys_utsname.in.h (system_header): Likewise.
27401         * lib/sys_wait.in.h (system_header): Likewise.
27402         * lib/sysexits.in.h (system_header): Likewise.
27403         * lib/unistd.in.h (system_header): Likewise.
27404         * lib/wctype.in.h (system_header): Likewise.
27405
27406         arpa/inet: fix mingw compilation warning
27407         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
27408         Reported by Matthew Bolte.
27409
27410 2010-03-25  Bruno Haible  <bruno@clisp.org>
27411
27412         Avoid collision between gnulib wrapper and libintl wrapper.
27413         * lib/printf.c (printf): Don't define if a printf wrapper is already
27414         defined in intl/printf.c.
27415         Reported by Michel Boaventura <michel@michelboaventura.com>.
27416
27417 2010-03-25  Bruno Haible  <bruno@clisp.org>
27418
27419         Use ANSI C.
27420         * lib/readutmp.h (getutent): Provide ANSI C prototype.
27421
27422 2010-03-25  Bruno Haible  <bruno@clisp.org>
27423
27424         Minor formatting changes.
27425         * lib/acosl.c: Insert space before function argument list.
27426         * lib/argz.c: Likewise.
27427         * lib/asinl.c: Likewise.
27428         * lib/expl.c: Likewise.
27429         * lib/gen-uni-tables.c: Likewise.
27430         * lib/gettext.h: Likewise.
27431         * lib/glthread/lock.h: Likewise.
27432         * lib/tanl.c: Likewise.
27433         * lib/uniname/uniname.c: Likewise.
27434         * tests/test-idpriv-drop.c: Likewise.
27435         * tests/test-idpriv-droptemp.c: Likewise.
27436         * tests/test-lock.c: Likewise.
27437         * tests/test-tls.c: Likewise.
27438         * lib/argp-help.c: Insert space before function-like macro argument
27439         list.
27440         * lib/memcmp.c: Likewise.
27441         * tests/test-base64.c: Likewise.
27442         * lib/localename.c: Insert space before sizeof's argument list.
27443         * lib/safe-alloc.h: Likewise.
27444         * lib/file-set.h: Insert space before macro argument list.
27445         * tests/test-argp.c: Likewise.
27446         * lib/argp-namefrob.h: Insert space before function parameter list.
27447         * lib/getaddrinfo.c: Likewise.
27448         * lib/netdb.in.h: Likewise.
27449         * lib/parse-duration.h: Likewise.
27450         * lib/parse-duration.c: Likewise.
27451         * lib/poll.c: Likewise.
27452         * lib/select.c: Likewise.
27453         * lib/trim.h: Likewise.
27454         * tests/test-usleep.c: Likewise.
27455         * lib/ldexpl.c: Insert space before function parameter list and before
27456         function argument list.
27457         * lib/logl.c: Likewise.
27458         * lib/sqrtl.c: Likewise.
27459         * lib/trim.c: Likewise.
27460         * lib/cosl.c: Use GNU style indentation. Insert space before function
27461         argument list.
27462         * lib/sinl.c: Likewise.
27463         * lib/tsearch.c: Insert space after 'for'.
27464         Reported by Jim Meyering.
27465
27466 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
27467
27468         * maint.mk (sc_Wundef_boolean): Check for the presence of the
27469         config header before grepping, as it's not present before
27470         autoreconf/configure are run.  Reported by Simon Josefsson.
27471
27472 2010-03-23  Bruno Haible  <bruno@clisp.org>
27473
27474         pt_chown: Make it work with automake < 1.11.
27475         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
27476         Reported by Simon Josefsson.
27477
27478 2010-03-23  Bruno Haible  <bruno@clisp.org>
27479
27480         pt_chown: Don't depend on GPLed modules.
27481         * lib/pt_chown.c: Don't include idpriv.h.
27482         (main): Don't drop privileges.
27483         * modules/pt_chown (Depends-on): Remove idpriv-drop.
27484         Reported by Simon Josefsson.
27485
27486 2010-03-24  Simon Josefsson  <simon@josefsson.org>
27487
27488         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
27489         suggestions from karl@freefriends.org (Karl Berry).
27490
27491 2010-03-22  Eric Blake  <eblake@redhat.com>
27492
27493         gethostname: further tweaks
27494         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
27495         are overriding gethostname.
27496         Suggested by Bruno Haible.
27497
27498 2010-03-21  Bruno Haible  <bruno@clisp.org>
27499
27500         Fix comments.
27501         * lib/forkpty.c (rpl_forkpty): Fix comment.
27502         * lib/openpty.c (rpl_openpty): Likewise.
27503         Reported by Eric Blake.
27504
27505 2010-03-22  Eric Blake  <eblake@redhat.com>
27506
27507         gethostname: fix build on mingw
27508         * lib/unistd.in.h (includes): Work around fact that mingw
27509         <winsock2.h> re-includes <unistd.h>, by avoiding any
27510         redeclarations if we are being included by <winsock2.h>.
27511         Reported by Matthias Bolte.
27512
27513 2010-03-21  Bruno Haible  <bruno@clisp.org>
27514
27515         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
27516         * lib/forkpty.c (forkpty): New replacement function, from glibc with
27517         modifications.
27518         * lib/pty.in.h (forkpty): Update declaration. Add comments.
27519         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
27520         provide the replacement.
27521         * modules/forkpty (Depends-on): Add openpty, login_tty.
27522         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
27523         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
27524         * doc/glibc-functions/forkpty.texi: More supported platforms.
27525         * config/srclist.txt: Add forkpty.c (commented).
27526
27527 2010-03-21  Bruno Haible  <bruno@clisp.org>
27528
27529         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
27530         (Makefile.am): Verify that PTY_LIB is defined.
27531
27532         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
27533
27534 2010-03-21  Bruno Haible  <bruno@clisp.org>
27535
27536         Tests for module 'login_tty'.
27537         * modules/login_tty-tests: New file.
27538         * tests/test-login_tty.c: New file.
27539
27540         New module 'login_tty'.
27541         * lib/login_tty.c: New file.
27542         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
27543         * modules/login_tty: New file.
27544         * doc/glibc-functions/login_tty.texi: Mention the new module.
27545
27546 2010-03-21  Bruno Haible  <bruno@clisp.org>
27547
27548         login_tty: Documentation.
27549         * doc/glibc-functions/login_tty.texi: New file.
27550         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
27551
27552 2010-03-21  Bruno Haible  <bruno@clisp.org>
27553
27554         pty: Consistent macro naming.
27555         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
27556         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
27557         * modules/pty (configure.ac): Update.
27558
27559 2010-03-21  Bruno Haible  <bruno@clisp.org>
27560
27561         Tests for openpty: Make stricter.
27562         * tests/test-openpty.c (main): Add test of canonical processing and
27563         erase.
27564         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
27565
27566         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
27567         * lib/openpty.c (openpty): New replacement function.
27568         * lib/pty.in.h: Include <termios.h>.
27569         (openpty): Update declaration. Add comments.
27570         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
27571         is not declared, arrange to provide the replacement. Check for _getpty
27572         and posix_openpt.
27573         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
27574         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
27575         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
27576         * modules/pty-tests (test_pty_c___LDADD): New variable.
27577         * doc/glibc-functions/openpty.texi: More supported platforms.
27578
27579 2010-03-21  Bruno Haible  <bruno@clisp.org>
27580
27581         setenv: Tweaks.
27582         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
27583         the test program.
27584         * doc/posix-functions/setenv.texi: Update platforms list.
27585
27586 2010-03-21  Bruno Haible  <bruno@clisp.org>
27587
27588         New module 'unlockpt'.
27589         * lib/unlockpt.c: New file, from glibc with modifications.
27590         * m4/unlockpt.m4: New file.
27591         * modules/unlockpt: New file.
27592         * lib/stdlib.in.h (unlockpt): New declaration.
27593         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
27594         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
27595         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
27596         HAVE_UNLOCKPT.
27597         * doc/posix-functions/unlockpt.texi: Mention the new module.
27598         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
27599         * config/srclist.txt: Add unlockpt.c (commented).
27600
27601 2010-03-21  Jim Meyering  <meyering@redhat.com>
27602
27603         maint.mk: prohibit inclusion of "intprops.h" without use
27604         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
27605
27606 2010-03-21  Bruno Haible  <bruno@clisp.org>
27607
27608         New module 'grantpt'.
27609         * lib/grantpt.c: New file, from glibc with modifications.
27610         * m4/grantpt.m4: New file.
27611         * modules/grantpt: New file.
27612         * lib/stdlib.in.h (grantpt): New declaration.
27613         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
27614         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
27615         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
27616         HAVE_GRANTPT.
27617         * doc/posix-functions/grantpt.texi: Mention the new module.
27618         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
27619         * config/srclist.txt: Add grantpt.c (commented).
27620
27621 2010-03-21  Bruno Haible  <bruno@clisp.org>
27622
27623         New module 'pt_chown'.
27624         * lib/pt_chown.c: New file, from glibc with modifications.
27625         * lib/pty-private.h: New file, from glibc with modifications.
27626         * modules/pt_chown: New file.
27627         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
27628
27629 2010-03-21  Bruno Haible  <bruno@clisp.org>
27630
27631         Tests for module 'ptsname'.
27632         * modules/ptsname-tests: New file.
27633         * tests/test-ptsname.c: New file.
27634
27635         New module 'ptsname'.
27636         * lib/ptsname.c: New file, from glibc with modifications.
27637         * m4/ptsname.m4: New file.
27638         * modules/ptsname: New file.
27639         * lib/stdlib.in.h (ptsname): New declaration.
27640         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
27641         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
27642         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
27643         HAVE_PTSNAME.
27644         * doc/posix-functions/ptsname.texi: Mention the new module.
27645         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
27646         * config/srclist.txt: Add ptsname.c (commented).
27647
27648 2010-03-21  Bruno Haible  <bruno@clisp.org>
27649
27650         Tests for module 'ttyname_r'.
27651         * modules/ttyname_r-tests: New file.
27652         * tests/test-ttyname_r.c: New file.
27653
27654         New module 'ttyname_r'.
27655         * lib/ttyname_r.c: New file.
27656         * m4/ttyname_r.m4: New file.
27657         * modules/ttyname_r: New file.
27658         * lib/unistd.in.h (ttyname_r): New declaration.
27659         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
27660         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
27661         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
27662         HAVE_TTYNAME_R.
27663         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
27664         * doc/posix-functions/ttyname_r.texi: Mention the new module.
27665
27666 2010-03-20  Bruno Haible  <bruno@clisp.org>
27667
27668         signal: Undefine macro definitions in C++ mode.
27669         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
27670         sigfillset): Undefine macro definitions from the system header in C++
27671         mode.
27672         Reported by John W. Eaton <jwe@gnu.org>.
27673
27674 2010-03-20  Bruno Haible  <bruno@clisp.org>
27675
27676         Ensure no #include statements inside extern "C" { ... }.
27677         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
27678         contain #include statements.
27679         * lib/time.in.h: Likewise.
27680
27681 2010-03-20  Bruno Haible  <bruno@clisp.org>
27682
27683         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
27684         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
27685         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
27686         Reported by John W. Eaton <jwe@gnu.org>.
27687
27688 2010-03-20  Bruno Haible  <bruno@clisp.org>
27689
27690         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
27691         Reported by Jim Meyering.
27692
27693 2010-03-20  Bruno Haible  <bruno@clisp.org>
27694
27695         pipe: Set errno upon failure.
27696         * lib/pipe.h: Specify that when -1 is returned, errno is set.
27697         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
27698         errno value in error message.
27699
27700 2010-03-20  Bruno Haible  <bruno@clisp.org>
27701             Jim Meyering  <meyering@redhat.com>
27702
27703         lchown: Avoid "unused variable" warning.
27704         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
27705
27706 2010-03-20  Bruno Haible  <bruno@clisp.org>
27707
27708         Work around unlink() bug on MacOS X 10.5.6.
27709         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
27710         attempting to unlink a parent directory.
27711         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
27712         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
27713         activate for the replacement function.
27714         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
27715
27716 2010-03-20  Bruno Haible  <bruno@clisp.org>
27717
27718         Fix link errors on Solaris 8.
27719         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
27720         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
27721
27722 2010-03-19  Jim Meyering  <meyering@redhat.com>
27723
27724         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
27725         The _LIBC implementation of build_range_exp correctly honors the
27726         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
27727         However, the non-_LIBC implementation would ignore that syntax-bit
27728         flag and return REG_ERANGE unconditionally.
27729         This change makes it honor that flag.
27730         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
27731         Make two pointer parameters "const".
27732         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
27733         (parse_bracket_exp): Update caller.
27734
27735         regex.m4: correct the reversed range endpoint ([b-a]) test
27736         * m4/regex.m4: When requiring that [b-a] evoke failure,
27737         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
27738         test pass once again for x86-based systems.
27739
27740 2010-03-19  Bruno Haible  <bruno@clisp.org>
27741
27742         scandir: Fix link error on Solaris 8.
27743         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
27744         macros.
27745
27746 2010-03-19  Bruno Haible  <bruno@clisp.org>
27747
27748         getusershell: Fix documentation.
27749         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
27750         module.
27751         * doc/glibc-functions/setusershell.texi: Likewise.
27752
27753         getusershell: Provide declaration, missing on Solaris 9.
27754         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
27755         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
27756         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
27757         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
27758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27759         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
27760         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
27761         HAVE_GETUSERSHELL.
27762         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
27763
27764 2010-03-19  Bruno Haible  <bruno@clisp.org>
27765
27766         wctype: Provide iswblank function.
27767         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
27768         exists and is fine.
27769         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
27770         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
27771         * tests/test-wctype.c (main): Re-enable the iswblank tests.
27772         * doc/posix-functions/iswblank.texi: Update.
27773
27774 2010-03-19  Bruno Haible  <bruno@clisp.org>
27775
27776         Tests of module 'pty' in C++ mode.
27777         * modules/pty-tests: New file.
27778         * tests/test-pty-c++.cc: New file.
27779         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
27780
27781 2010-03-19  Eric Blake  <eblake@redhat.com>
27782
27783         logb: fix documentation
27784         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
27785         1.5 declaration bug.
27786
27787         forkpty, openpty: prefer glibc's const-safe prototype
27788         * lib/forkpty.c (rpl_forkpty): New file.
27789         * lib/openpty.c (rpl_openpty): Likewise.
27790         * modules/forkpty (Files): Distribute it.
27791         * modules/openpty (Files): Likewise.
27792         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
27793         check...
27794         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
27795         replacement for for non-const BSD signature.
27796         * modules/pty (Makefile.am): Substitute witnesses.
27797         * lib/pty.in.h (forkpty, openpty): Declare replacements.
27798         * tests/test-forkpty.c: Update signature check.
27799         * tests/test-openpty.c: Likewise.
27800         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
27801         * doc/glibc-functions/openpty.texi (openpty): Likewise.
27802
27803         forkpty, openpty: split functions into new modules
27804         * modules/pty (Makefile.am): Substitute new witnesses.
27805         (Libraries): Move library detection...
27806         * modules/forkpty: ...into new module.
27807         * modules/openpty: Another new module.
27808         * modules/pty-tests: Rename and split...
27809         * modules/forkpty-tests: ...to this...
27810         * modules/openpty-tests: ...and this.
27811         * tests/test-pty.c: Rename and split...
27812         * tests/test-forkpty.c: ...to this...
27813         * tests/test-openpty.c: ...and this.
27814         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
27815         (gl_PTY): Split library searching...
27816         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
27817         (gl_FORKPTY, gl_OPENPTY): New macros.
27818         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
27819         * NEWS: Mention the split.
27820         * MODULES.html.sh (Misc): Document the modules.
27821         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
27822         * doc/glibc-functions/openpty.texi (openpty): Likewise.
27823
27824         pty: improve replacement header
27825         * lib/pty.in.h: New file.
27826         * modules/pty (Files): Ship it.
27827         (Makefile.am): Always build replacement.
27828         * m4/pty.m4: Rename...
27829         * m4/pty_h.m4: ...to this.
27830         (gl_PTY): Modernize setting of witness macros; update check of
27831         forkpty to take proper advantage of cache.
27832         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
27833
27834         getopt: avoid compiler warning
27835         * lib/getopt.c (attribute_hidden): Remove unused macro.
27836
27837 2010-03-18  Bruno Haible  <bruno@clisp.org>
27838
27839         Fix link errors on Solaris 8.
27840         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
27841         * modules/search-tests (test_search_c___LDADD): Likewise.
27842         * modules/signal-tests (test_signal_c___LDADD): Likewise.
27843         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
27844         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
27845         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
27846         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
27847         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
27848         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
27849
27850 2010-03-18  Bruno Haible  <bruno@clisp.org>
27851
27852         Fix bug introduced on 2010-03-14.
27853         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
27854         (gl_SPAWN_H): Require it.
27855         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
27856         Reported by Simon Josefsson.
27857
27858 2010-03-18  Bruno Haible  <bruno@clisp.org>
27859
27860         Fix typo introduced on 2009-12-31.
27861         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
27862         posix_spawn_file_actions_adddup2.
27863
27864 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
27865         and Eric Blake  <eblake@redhat.com>
27866
27867         test-vc-list-files-git: make more robust
27868         * tests/test-vc-list-files-git.sh: Unset problematic environment
27869         variables.  Chain commands together.
27870
27871 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
27872
27873         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
27874         `AC_CHECK_DECL' invocation.
27875
27876 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
27877
27878         * lib/inttostr.c (inttostr): Make sure the invocation of verify
27879         appears before executable statements. Suggested by Petr Sumbera
27880         <Petr.Sumbera@Sun.COM>.
27881
27882 2010-03-14  Bruno Haible  <bruno@clisp.org>
27883
27884         * tests/test-flock.c (test_exclusive): Comment out a test that causes
27885         portability problems. Instead use a simpler test.
27886         (main): Check that invalid arguments are rejected only on Linux.
27887
27888 2010-03-14  Bruno Haible  <bruno@clisp.org>
27889
27890         Fix bug introduced on 2009-12-31.
27891         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
27892         gl_PREREQ_SYS_H_WINSOCK2 always.
27893         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
27894         SYS_SOCKET_H variable.
27895         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
27896         Update comments.
27897         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
27898         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27899         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27900         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27901         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
27902
27903 2010-03-14  Bruno Haible  <bruno@clisp.org>
27904
27905         Fix values returned by sinl, cosl.
27906         * lib/trigl.h: Add specification comments.
27907         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
27908         that combines the values from the precomputed table with the values of
27909         the Chebyshev polynomials.
27910
27911 2010-03-14  Bruno Haible  <bruno@clisp.org>
27912
27913         Fix compilation error when modules 'posix_spawn[p]' are not used.
27914         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
27915         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
27916
27917 2010-03-14  Bruno Haible  <bruno@clisp.org>
27918
27919         Fix compilation error on mingw when module 'time_r' is not used.
27920         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
27921         is 1.
27922         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
27923         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
27924         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
27925         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
27926
27927 2010-03-14  Bruno Haible  <bruno@clisp.org>
27928
27929         Fix compilation error with Sun C.
27930         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
27931         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
27932         instead of GCC specific ULONG_LONG_MAX.
27933         * lib/xstrtoll.c: Likewise.
27934         * lib/xstrtoull.c: Likewise.
27935
27936 2010-03-13  Bruno Haible  <bruno@clisp.org>
27937
27938         Allow the user to disable C++ code and tests.
27939         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
27940         (gl_PROG_ANSI_CXX): Require it.
27941
27942 2010-03-13  Bruno Haible  <bruno@clisp.org>
27943
27944         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
27945         cases.
27946
27947 2010-03-13  Bruno Haible  <bruno@clisp.org>
27948
27949         Test that gnulib does not break the standard C++ headers.
27950         * tests/test-locale-c++2.cc: New file.
27951         * modules/locale-tests (Files): Add it.
27952         (Makefile.am): Compile it for test-locale-c++.
27953         * tests/test-math-c++2.cc: New file.
27954         * modules/math-tests (Files): Add it.
27955         (Makefile.am): Compile it for test-math-c++.
27956         * tests/test-signal-c++2.cc: New file.
27957         * modules/signal-tests (Files): Add it.
27958         (Makefile.am): Compile it for test-signal-c++.
27959         * tests/test-stdio-c++2.cc: New file.
27960         * modules/stdio-tests (Files): Add it.
27961         (Makefile.am): Compile it for test-stdio-c++.
27962         * tests/test-stdlib-c++2.cc: New file.
27963         * modules/stdlib-tests (Files): Add it.
27964         (Makefile.am): Compile it for test-stdlib-c++.
27965         * tests/test-string-c++2.cc: New file.
27966         * modules/string-tests (Files): Add it.
27967         (Makefile.am): Compile it for test-string-c++.
27968         * tests/test-time-c++2.cc: New file.
27969         * modules/time-tests (Files): Add it.
27970         (Makefile.am): Compile it for test-time-c++.
27971         Reported by John W. Eaton <jwe@gnu.org>.
27972
27973 2010-03-13  Bruno Haible  <bruno@clisp.org>
27974
27975         * gnulib-tool (func_usage): Clarify which options are available for
27976         --create-testdir and --create-megatestdir.
27977
27978 2010-03-13  Bruno Haible  <bruno@clisp.org>
27979
27980         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
27981         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
27982         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
27983         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
27984         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
27985         when appropriate.
27986         Reported by Jim Meyering.
27987
27988 2010-03-12  Simon Josefsson  <simon@josefsson.org>
27989
27990         * gnulib-tool (func_import): Explain origin of code.
27991
27992 2010-03-12  Bruno Haible  <bruno@clisp.org>
27993
27994         Fix problem with automake's definition of CXXLINK.
27995         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
27996         Reported by Simon Josefsson and Ludovic Courtès.
27997
27998 2010-03-12  Bruno Haible  <bruno@clisp.org>
27999
28000         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
28001         stable releases.
28002
28003 2010-03-11  Bruno Haible  <bruno@clisp.org>
28004
28005         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
28006         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
28007         whether the system provides one variant or multiple variants of the
28008         function.
28009         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
28010         C++ compilers.
28011         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
28012         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
28013         Reported by Jim Meyering.
28014
28015 2010-03-09  Simon Josefsson  <simon@josefsson.org>
28016
28017         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
28018
28019 2010-03-08  Bruno Haible  <bruno@clisp.org>
28020
28021         gnulib-tool: Add support for --libtool in --create-testdir.
28022         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
28023         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
28024
28025 2010-03-08  Eric Blake  <eblake@redhat.com>
28026
28027         gnulib-tool.texi: mention possibility of git submodule
28028         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
28029         submodules.
28030         * doc/.gitignore: Ignore another generated file.
28031
28032 2010-03-08  Karl Berry  <karl@gnu.org>
28033
28034         * doc/gnulib-tool.texi (VCS Issues): Mention third option
28035         of committing gnulib files while skipping others.
28036
28037 2010-03-07  Bruno Haible  <bruno@clisp.org>
28038
28039         Tests of module 'wctype' in C++ mode.
28040         * tests/test-wctype-c++.cc: New file.
28041         * modules/wctype-tests (Files): Add it and tests/signature.h.
28042         (Depends-on): Add ansi-c++-opt.
28043         (Makefile.am): Arrange to compile and run test-wctype-c++.
28044
28045         Tests of module 'wchar' in C++ mode.
28046         * tests/test-wchar-c++.cc: New file.
28047         * modules/wchar-tests (Files): Add it and tests/signature.h.
28048         (Depends-on): Add ansi-c++-opt.
28049         (Makefile.am): Arrange to compile and run test-wchar-c++.
28050         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
28051         gl_MODULE_INDICATOR.
28052
28053         Tests of module 'unistd' in C++ mode.
28054         * tests/test-unistd-c++.cc: New file.
28055         * modules/unistd-tests (Files): Add it and tests/signature.h.
28056         (Depends-on): Add ansi-c++-opt.
28057         (Makefile.am): Arrange to compile and run test-unistd-c++.
28058         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
28059         gl_MODULE_INDICATOR.
28060
28061         Tests of module 'time' in C++ mode.
28062         * tests/test-time-c++.cc: New file.
28063         * modules/time-tests (Files): Add it and tests/signature.h.
28064         (Depends-on): Add ansi-c++-opt.
28065         (Makefile.am): Arrange to compile and run test-time-c++.
28066         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28067
28068         Tests of module 'sys_time' in C++ mode.
28069         * tests/test-sys_time-c++.cc: New file.
28070         * modules/sys_time-tests (Files): Add it and tests/signature.h.
28071         (Depends-on): Add ansi-c++-opt.
28072         (Makefile.am): Arrange to compile and run test-sys_time-c++.
28073         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
28074         gl_MODULE_INDICATOR.
28075
28076         Tests of module 'sys_stat' in C++ mode.
28077         * tests/test-sys_stat-c++.cc: New file.
28078         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
28079         (Depends-on): Add ansi-c++-opt.
28080         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
28081         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
28082         gl_MODULE_INDICATOR.
28083
28084         Tests of module 'sys_socket' in C++ mode.
28085         * tests/test-sys_socket-c++.cc: New file.
28086         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
28087         (Depends-on): Add ansi-c++-opt.
28088         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
28089         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
28090         gl_MODULE_INDICATOR.
28091
28092         Tests of module 'sys_select' in C++ mode.
28093         * tests/test-sys_select-c++.cc: New file.
28094         * modules/sys_select-tests (Files): Add it and tests/signature.h.
28095         (Depends-on): Add ansi-c++-opt.
28096         (Makefile.am): Arrange to compile and run test-sys_select-c++.
28097         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
28098         gl_MODULE_INDICATOR.
28099
28100         Tests of module 'sys_ioctl' in C++ mode.
28101         * tests/test-sys_ioctl-c++.cc: New file.
28102         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
28103         (Depends-on): Add ansi-c++-opt.
28104         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
28105         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
28106         gl_MODULE_INDICATOR.
28107
28108         Tests of module 'string' in C++ mode.
28109         * tests/test-string-c++.cc: New file.
28110         * modules/string-tests (Files): Add it and tests/signature.h.
28111         (Depends-on): Add ansi-c++-opt.
28112         (Makefile.am): Arrange to compile and run test-string-c++.
28113         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
28114         gl_MODULE_INDICATOR.
28115
28116         Tests of module 'stdlib' in C++ mode.
28117         * tests/test-stdlib-c++.cc: New file.
28118         * modules/stdlib-tests (Files): Add it and tests/signature.h.
28119         (Depends-on): Add ansi-c++-opt.
28120         (Makefile.am): Arrange to compile and run test-stdlib-c++.
28121         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
28122         gl_MODULE_INDICATOR.
28123
28124         Tests of module 'stdio' in C++ mode.
28125         * tests/test-stdio-c++.cc: New file.
28126         * modules/stdio-tests (Files): Add it and tests/signature.h.
28127         (Depends-on): Add ansi-c++-opt.
28128         (Makefile.am): Arrange to compile and run test-stdio-c++.
28129         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
28130         gl_MODULE_INDICATOR.
28131
28132         Tests of module 'spawn' in C++ mode.
28133         * tests/test-spawn-c++.cc: New file.
28134         * modules/spawn-tests (Files): Add it and tests/signature.h.
28135         (Depends-on): Add ansi-c++-opt.
28136         (Makefile.am): Arrange to compile and run test-spawn-c++.
28137         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
28138         gl_MODULE_INDICATOR.
28139
28140         Tests of module 'signal' in C++ mode.
28141         * tests/test-signal-c++.cc: New file.
28142         * modules/signal-tests (Files): Add it and tests/signature.h.
28143         (Depends-on): Add ansi-c++-opt.
28144         (Makefile.am): Arrange to compile and run test-signal-c++.
28145         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
28146         gl_MODULE_INDICATOR.
28147
28148         Tests of module 'search' in C++ mode.
28149         * tests/test-search-c++.cc: New file.
28150         * modules/search-tests (Files): Add it and tests/signature.h.
28151         (Depends-on): Add ansi-c++-opt.
28152         (Makefile.am): Arrange to compile and run test-search-c++.
28153         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
28154         gl_MODULE_INDICATOR.
28155
28156         Tests of module 'math' in C++ mode.
28157         * tests/test-math-c++.cc: New file.
28158         * modules/math-tests (Files): Add it and tests/signature.h.
28159         (Depends-on): Add ansi-c++-opt.
28160         (Makefile.am): Arrange to compile and run test-math-c++.
28161         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28162
28163         Tests of module 'locale' in C++ mode.
28164         * tests/test-locale-c++.cc: New file.
28165         * modules/locale-tests (Files): Add it and tests/signature.h.
28166         (Depends-on): Add ansi-c++-opt.
28167         (Makefile.am): Arrange to compile and run test-locale-c++.
28168         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
28169         gl_MODULE_INDICATOR.
28170
28171         Tests of module 'langinfo' in C++ mode.
28172         * tests/test-langinfo-c++.cc: New file.
28173         * modules/langinfo-tests (Files): Add it and tests/signature.h.
28174         (Depends-on): Add ansi-c++-opt.
28175         (Makefile.am): Arrange to compile and run test-langinfo-c++.
28176         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
28177         gl_MODULE_INDICATOR.
28178
28179         Tests of module 'iconv-h' in C++ mode.
28180         * tests/test-iconv-h-c++.cc: New file.
28181         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
28182         (Depends-on): Add ansi-c++-opt.
28183         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
28184
28185         Tests of module 'glob' in C++ mode.
28186         * tests/test-glob-c++.cc: New file.
28187         * modules/glob-tests (Files): Add it.
28188         (Depends-on): Add ansi-c++-opt.
28189         (Makefile.am): Arrange to compile and run test-glob-c++.
28190
28191         Tests of module 'fcntl-h' in C++ mode.
28192         * tests/test-fcntl-h-c++.cc: New file.
28193         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
28194         (Depends-on): Add ansi-c++-opt.
28195         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
28196         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
28197         gl_MODULE_INDICATOR.
28198
28199         Tests of module 'dirent' in C++ mode.
28200         * tests/test-dirent-c++.cc: New file.
28201         * modules/dirent-tests (Files): Add it and tests/signature.h.
28202         (Depends-on): Add ansi-c++-opt.
28203         (Makefile.am): Arrange to compile and run test-dirent-c++.
28204         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
28205         gl_MODULE_INDICATOR.
28206
28207         New module 'ansi-c++-opt'.
28208         * modules/ansi-c++-opt: New file.
28209         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
28210
28211         Document C++ namespace mode.
28212         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
28213
28214         wctype: Avoid #define replacements in C++ mode.
28215         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
28216         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
28217         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
28218         In C++, define a namespaced alias symbol.
28219         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
28220         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
28221         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
28222         rule.
28223
28224         wchar: Avoid #define replacements in C++ mode.
28225         * lib/wchar.in.h: Include c++defs.h.
28226         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
28227         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
28228         symbol.
28229         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
28230         * modules/wchar (Depends-on): Add c++defs.
28231         (Makefile.am): Update wchar.h rule.
28232
28233         unistd: Avoid #define replacements in C++ mode.
28234         * lib/unistd.in.h: Include c++defs.h.
28235         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
28236         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
28237         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
28238         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
28239         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
28240         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
28241         symbol.
28242         (environ): Update.
28243         * modules/unistd (Depends-on): Add c++defs.
28244         (Makefile.am): Update unistd.h rule.
28245
28246         time: Avoid #define replacements in C++ mode.
28247         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
28248         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
28249         define a namespaced alias symbol.
28250         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
28251         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
28252         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
28253         * modules/time (Depends-on): Add c++defs, warn-on-use.
28254         (Makefile.am): Update time.h rule.
28255         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
28256         * modules/nanosleep (configure.ac): Likewise.
28257         * modules/strptime (configure.ac): Likewise.
28258         * modules/timegm (configure.ac): Likewise.
28259
28260         sys_time: Avoid #define replacements in C++ mode.
28261         * lib/sys_time.in.h: Include c++defs.h.
28262         (gettimeofday): In C++, define a namespaced alias symbol.
28263         * modules/sys_time (Depends-on): Add c++defs.
28264         (Makefile.am): Update sys/time.h rule.
28265
28266         sys_stat: Avoid #define replacements in C++ mode.
28267         * lib/sys_stat.in.h: Include c++defs.h.
28268         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
28269         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
28270         namespaced alias symbol.
28271         In C++, define a namespaced alias symbol.
28272         * modules/sys_stat (Depends-on): Add c++defs.
28273         (Makefile.am): Update sys/stat.h rule.
28274
28275         sys_socket: Avoid #define replacements in C++ mode.
28276         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
28277         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
28278         definitions also when the system has a <sys/socket.h>.
28279         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
28280         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
28281         In C++, define a namespaced alias symbol.
28282         * modules/sys_socket (Depends-on): Add c++defs.
28283         (Makefile.am): Update sys/socket.h rule.
28284
28285         sys_select: Avoid #define replacements in C++ mode.
28286         * lib/sys_select.in.h: Include c++defs.h. Enable the function
28287         definitions also when the system has a <sys/select.h>.
28288         (select): In C++, define a namespaced alias symbol.
28289         * modules/sys_select (Depends-on): Add c++defs.
28290         (Makefile.am): Update sys/select.h rule.
28291
28292         sys_ioctl: Avoid #define replacements in C++ mode.
28293         * lib/sys_ioctl.in.h: Include c++defs.h.
28294         (ioctl): In C++, define a namespaced alias symbol.
28295         * modules/sys_ioctl (Depends-on): Add c++defs.
28296         (Makefile.am): Update sys/ioctl.h rule.
28297
28298         string: Avoid #define replacements in C++ mode.
28299         * lib/string.in.h: Include c++defs.h.
28300         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
28301         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
28302         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
28303         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
28304         strsignal, strverscmp): In C++, define a namespaced alias symbol.
28305         * modules/string (Depends-on): Add c++defs.
28306         (Makefile.am): Update string.h rule.
28307
28308         stdlib: Avoid #define replacements in C++ mode.
28309         * lib/stdlib.in.h: Include c++defs.h.
28310         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
28311         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
28312         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
28313         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
28314         symbol.
28315         * modules/stdlib (Depends-on): Add c++defs.
28316         (Makefile.am): Update stdlib.h rule.
28317
28318         stdio: Avoid #define replacements in C++ mode.
28319         * lib/stdio.in.h: Include c++defs.h.
28320         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
28321         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
28322         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
28323         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
28324         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
28325         namespaced alias symbol.
28326         * modules/stdio (Depends-on): Add c++defs.
28327         (Makefile.am): Update stdio.h rule.
28328
28329         spawn: Avoid #define replacements in C++ mode.
28330         * lib/spawn.in.h: Include c++defs.h.
28331         (posix_spawn, posix_spawnp, posix_spawnattr_init,
28332         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
28333         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
28334         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
28335         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
28336         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
28337         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
28338         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
28339         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
28340         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
28341         In C++, define a namespaced alias symbol.
28342         * modules/spawn (Depends-on): Add c++defs.
28343         (Makefile.am): Update spawn.h rule.
28344
28345         signal: Avoid #define replacements in C++ mode.
28346         * lib/signal.in.h: Include c++defs.h.
28347         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
28348         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
28349         namespaced alias symbol.
28350         * modules/signal (Depends-on): Add c++defs.
28351         (Makefile.am): Update signal.h rule.
28352
28353         search: Avoid #define replacements in C++ mode.
28354         * lib/search.in.h: Include c++defs.h.
28355         (_gl_search_compar_fn, _gl_search_action_fn): New types.
28356         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
28357         symbol.
28358         * modules/search (Depends-on): Add c++defs.
28359         (Makefile.am): Update search.h rule.
28360
28361         math: Avoid #define replacements in C++ mode.
28362         * lib/math.in.h: Include c++defs.h.
28363         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
28364         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
28365         trunc, truncl): In C++, define a namespaced alias symbol.
28366         * modules/math (Depends-on): Add c++defs.
28367         (Makefile.am): Update math.h rule.
28368
28369         locale: Avoid #define replacements in C++ mode.
28370         * lib/locale.in.h: Include c++defs.h.
28371         (duplocale): In C++, define a namespaced alias symbol.
28372         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
28373         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
28374         * modules/locale (Depends-on): Add c++defs.
28375         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
28376
28377         langinfo: Avoid #define replacements in C++ mode.
28378         * lib/langinfo.in.h: Include c++defs.h.
28379         (nl_langinfo): In C++, define a namespaced alias symbol.
28380         * modules/langinfo (Depends-on): Add c++defs.
28381         (Makefile.am): Update langinfo.h rule.
28382
28383         iconv-h: Avoid #define replacements in C++ mode.
28384         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
28385         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
28386         symbol.
28387         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
28388         whenever iconv is present.
28389         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
28390         (Makefile.am): Update iconv.h rule.
28391
28392         glob: Avoid #define replacements in C++ mode.
28393         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
28394         (_gl_glob_errfunc_fn): New type.
28395         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
28396         symbol.
28397         * modules/glob (Depends-on): Add c++defs, warn-on-use.
28398         (Makefile.am): Update glob.h rule.
28399
28400         fcntl-h: Avoid #define replacements in C++ mode.
28401         * lib/fcntl.in.h: Include c++defs.h.
28402         (fcntl, open, openat): In C++, define a namespaced alias symbol.
28403         * modules/fcntl-h (Depends-on): Add c++defs.
28404         (Makefile.am): Update fcntl.h rule.
28405
28406         dirent: Avoid #define replacements in C++ mode.
28407         * lib/dirent.in.h: Include c++defs.h.
28408         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
28409         namespaced alias symbol.
28410         (dirfd): Update declaration.
28411         * modules/dirent (Depends-on): Add c++defs.
28412         (Makefile.am): Update dirent.h rule.
28413
28414         ctype: Make it usable in C++ code.
28415         * lib/ctype.in.h: Include c++defs.h.
28416         (isblank): Declare as extern "C".
28417         * modules/ctype (Depends-on): Add c++defs.
28418         (Makefile.am): Update ctype.h rule.
28419
28420         New module 'c++defs'.
28421         * modules/c++defs: New file.
28422         * build-aux/c++defs.h: New file.
28423         Reported by John W. Eaton <jwe@gnu.org>.
28424
28425 2010-03-07  Bruno Haible  <bruno@clisp.org>
28426
28427         logb: Provide missing declaration for Cygwin.
28428         * lib/math.in.h (logb): New declaration.
28429         * m4/logb.m4: New file.
28430         * modules/logb (Files): Add m4/logb.m4.
28431         (Depends-on): Add math.
28432         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
28433         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
28434         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
28435         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
28436         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
28437
28438 2010-03-07  Bruno Haible  <bruno@clisp.org>
28439
28440         Fix test-cond link error.
28441         * tests/test-cond.c: Include <stdio.h>.
28442
28443 2010-03-07  Bruno Haible  <bruno@clisp.org>
28444
28445         Fix test-dirent-safer link error.
28446         * modules/dirent-safer-tests (Makefile.am): Define
28447         test_dirent_safer_LDADD.
28448
28449 2010-03-07  Bruno Haible  <bruno@clisp.org>
28450
28451         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
28452         among default module list.
28453
28454 2010-03-07  Bruno Haible  <bruno@clisp.org>
28455
28456         Fix link error on platforms with GNU libiconv.
28457         * modules/unistr/u8-strcoll-tests (Makefile): Define
28458         test_u8_strcoll_LDADD.
28459         * modules/unistr/u16-strcoll-tests (Makefile): Define
28460         test_u16_strcoll_LDADD.
28461         * modules/unistr/u32-strcoll-tests (Makefile): Define
28462         test_u32_strcoll_LDADD.
28463
28464 2010-03-07  Bruno Haible  <bruno@clisp.org>
28465
28466         Use POSIX declarations for socket functions.
28467         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
28468         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
28469         rpl_sendto): Change declaration to match POSIX.
28470         * lib/connect.c (rpl_connect): Likewise.
28471         * lib/accept.c (rpl_accept): Likewise.
28472         * lib/bind.c (rpl_bind): Likewise.
28473         * lib/getpeername.c (rpl_getpeername): Likewise.
28474         * lib/getsockname.c (rpl_getsockname): Likewise.
28475         * lib/recv.c (rpl_recv): Likewise.
28476         * lib/send.c (rpl_send): Likewise.
28477         * lib/recvfrom.c (rpl_recvfrom): Likewise.
28478         * lib/sendto.c (rpl_sendto): Likewise.
28479
28480 2010-03-06  Bruno Haible  <bruno@clisp.org>
28481
28482         Clarify access, euidaccess, faccessat.
28483         * doc/posix-functions/faccessat.texi: Mention security problem under
28484         "Other problems", not "Portability problems".
28485         * doc/posix-functions/access.texi: Likewise. Mention a related security
28486         problem.
28487         * doc/glibc-functions/euidaccess.texi: Mention security problems.
28488         * lib/euidaccess.c: Add comments about platforms.
28489         * lib/unistd.in.h (access, euidaccess): Add warnings.
28490
28491 2010-03-07  Bruno Haible  <bruno@clisp.org>
28492
28493         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
28494         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
28495         (POSIX_SPAWN_SETSCHEDULER): Likewise.
28496         (POSIX_SPAWN_USEVFORK): Define in a way that works when
28497         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
28498         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
28499         declare when POSIX_SPAWN_SETSCHEDULER is zero.
28500         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
28501         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
28502         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
28503         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
28504         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
28505         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
28506         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
28507         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
28508         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
28509         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
28510         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
28511         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
28512         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
28513         Likewise.
28514         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
28515         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
28516         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
28517         Likewise.
28518         * tests/test-spawn.c (main): Make it work when
28519         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
28520
28521 2010-03-07  Bruno Haible  <bruno@clisp.org>
28522
28523         Fix incorrect Makefile.am generation in German locale.
28524         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28525         Execute sed command with character range in C locale.
28526
28527 2010-03-06  Bruno Haible  <bruno@clisp.org>
28528
28529         Tests for module 'iconv-h'.
28530         * modules/iconv-h-tests: New file.
28531         * tests/test-iconv-h.c: New file.
28532
28533         New module 'iconv-h'.
28534         * modules/iconv-h: New file.
28535         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
28536         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
28537         (configure.ac): Remove gl_ICONV_H.
28538         (Makefile.am): Remove rule for iconv.h.
28539
28540 2010-03-06  Bruno Haible  <bruno@clisp.org>
28541
28542         More consistent naming of *.m4 files.
28543         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
28544         * modules/wctype (Files): Update.
28545
28546         More consistent naming of *.m4 files.
28547         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
28548         * modules/wchar (Files): Update.
28549
28550 2010-03-06  Jim Meyering  <meyering@redhat.com>
28551
28552         euidaccess: relax license to LGPLv2+
28553         * modules/euidaccess (License): Relax to LGPLv2+.
28554
28555 2010-03-06  Bruno Haible  <bruno@clisp.org>
28556
28557         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
28558         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
28559         (Makefile.am): Augment lib_SOURCES instead.
28560
28561 2010-03-04  Jim Meyering  <meyering@redhat.com>
28562
28563         utime: remove obsolete module
28564         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
28565         unnecessary for years, and has been marked as obsolete for 10 months.
28566         * modules/utime: Remove file.
28567         * lib/utime.c: Remove file.
28568         * m4/utime.m4: Remove file.
28569         * m4/utimes-null.m4: Remove file.
28570         * doc/posix-functions/utime.texi (utime): Remove reference to
28571         the module.  Move the sole "fixed by gnulib" item into the
28572         "problems not fixed by Gnulib" list.
28573         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
28574
28575 2010-03-05  Simon Josefsson  <simon@josefsson.org>
28576
28577         * modules/exit (License): Relax license to LGPLv2+.
28578         (Status): Mark as obsolete.
28579         * NEWS: Mention deprecated 'exit' module.
28580         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
28581         of now obsolete 'exit'.
28582
28583 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28584
28585         fts-lgpl: remove unused module
28586         * modules/fts-lgpl: Remove.
28587         * MODULES.html.sh (func_all_modules): Adjust.
28588         * check-module (find_included_lib_files): Adjust.
28589         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
28590
28591 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
28592
28593         copy-acl: enhance Solaris ACL error handling
28594         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
28595         * lib/set-mode-acl.c (qset_acl): Likewise.
28596
28597 2010-03-02  Bruno Haible  <bruno@clisp.org>
28598
28599         spawn: Don't override the system defined values on FreeBSD 8.
28600         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
28601         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
28602         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
28603         if HAVE_POSIX_SPAWN is 1.
28604         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
28605
28606 2010-03-01  Bruno Haible  <bruno@clisp.org>
28607
28608         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
28609         regarding Automake.
28610
28611 2010-02-25  Bruno Haible  <bruno@clisp.org>
28612
28613         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
28614         * gnulib-tool: Define 'echo' as a function only before the ksh alias
28615         setting, not afterwards.
28616         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
28617
28618 2010-02-24  Eric Blake  <eblake@redhat.com>
28619
28620         bootstrap, git-version-gen: use timestamp
28621         * build-aux/git-version-gen (scriptversion): Force UTC.
28622         * build-aux/bootstrap (scriptversion): New variable.
28623
28624         bootstrap: allow older git
28625         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
28626         older than 1.6.4.  Requested by the libvirt project.
28627
28628 2010-02-23  Eric Blake  <eblake@redhat.com>
28629
28630         warn-on-use: work with old autoconf
28631         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
28632         AS_VAR semantics of autoconf 2.60.
28633         Reported by Bruno Haible.
28634
28635         bootstrap: improve some comments
28636         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
28637         clarification comments.
28638
28639         gettimeofday: provide correct function
28640         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
28641         when replacement is declared, otherwise provide gettimeofday.
28642         Reported by Michael Goffioul.
28643
28644 2010-02-23  Jim Meyering  <meyering@redhat.com>
28645
28646         lib-ignore: relax license to "unlimited", not LGPLv2+
28647         * modules/lib-ignore (License): Relax to "unlimited".
28648
28649 2010-02-23  Jim Meyering  <meyering@redhat.com>
28650
28651         lib-ignore: relax license to LGPLv2+
28652         * modules/lib-ignore (License): Relax to LGPLv2+.
28653
28654 2010-02-22  Eric Blake  <eblake@redhat.com>
28655
28656         lseek: avoid bash 3.2 broken pipe bug
28657         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
28658         warning from bash 3.2.
28659         Reported by Ben Pfaff, with analysis from Bruno Haible.
28660
28661         bootstrap: support non-FSF copyright holder
28662         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
28663         bootstrap.conf override of COPYRIGHT_HOLDER.
28664         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
28665
28666         bootstrap: interoperate with gettext 0.14.1
28667         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
28668
28669         bootstrap: allow for alternate submodule location
28670         * build-aux/bootstrap (gnulib_path): New variable; use instead of
28671         hardcoding submodule location.
28672         (gnulib_mk): Allow direct use of Makefile.am.
28673
28674         bootstrap: use GNULIB_SRCDIR to reduce disk usage
28675         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
28676         rather than reconfiguring where the submodule points.
28677
28678         gettimeofday: restore support for platforms that lack function
28679         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
28680         replacement if function is missing.
28681         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
28682         * modules/sys_time (Makefile.am): Substitute it.
28683         * lib/sys_time.in.h (gettimeofday): Check it.
28684         Reported by Michael Goffioul.
28685
28686 2010-02-21  Bruno Haible  <bruno@clisp.org>
28687
28688         * lib/stdio.in.h (obstack_printf): Fix typo.
28689
28690 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
28691
28692         vc-list-files: use bzr ls's -R option
28693         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
28694         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
28695
28696 2010-02-21  Jim Meyering  <meyering@redhat.com>
28697
28698         init.sh: fix EXEEXT shims to work also for names like test-prog
28699         * tests/init.sh: Re-exec a better shell, when needed.
28700         If the current shell lacks support for posix $(...), an init.sh-using
28701         test will now try to find a shell that supports that.  If EXEEXT is
28702         nonempty, we also require support for hyphen-in-alias-name and shell
28703         substitutions like ${var#glob}.  Failure to find such a shell results
28704         in a skipped test.
28705
28706 2010-02-21  Bruno Haible  <bruno@clisp.org>
28707
28708         Really work around around "broken pipe" error message from bash 3.2.
28709         * gnulib-tool (func_reset_sigpipe): Remove function.
28710         (echo): In bash 3.2, define to a function that uses printf.
28711         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
28712
28713 2010-02-20  Bruno Haible  <bruno@clisp.org>
28714
28715         Restore support for automake 1.9.6 with autoconf 2.61.
28716         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
28717         Reported by James Youngman <jay@gnu.org>.
28718
28719 2010-02-20  Bruno Haible  <bruno@clisp.org>
28720
28721         Improve *printf warning condition.
28722         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
28723         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
28724         and the function is overridden due to SIGPIPE emulation.
28725
28726 2010-02-20  Bruno Haible  <bruno@clisp.org>
28727
28728         * lib/stdio.in.h: Tweak comments.
28729
28730 2010-02-19  Bruno Haible  <bruno@clisp.org>
28731
28732         Make it easier to find modules. New gnulib-tool option '--find'.
28733         * gnulib-tool: New option --find.
28734         (func_usage): Document it.
28735         (func_sanitize_modulelist): New function, extracted from
28736         func_all_modules.
28737         (func_all_modules): Invoke it.
28738         * doc/gnulib-tool.texi (Which modules?): New node.
28739
28740 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
28741
28742         * lib/sys_select.in.h: Provide select replacement even if
28743         sys/select.h exists on a system, for Interix.
28744
28745 2010-02-18  Jim Meyering  <meyering@redhat.com>
28746
28747         init.sh: don't use $(...) just yet
28748         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
28749         to accommodate e.g., Solaris' /bin/sh.
28750
28751 2010-02-17  Bruno Haible  <bruno@clisp.org>
28752
28753         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
28754         Reported by Ludovic Courtès <ludo@gnu.org>.
28755
28756 2010-02-16  Simon Josefsson  <simon@josefsson.org>
28757
28758         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
28759         linking with -lintl.
28760
28761 2010-02-17  Simon Josefsson  <simon@josefsson.org>
28762
28763         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
28764         if not provided by the system's netdb.h.  Reported by
28765         ludo@gnu.org (Ludovic Courtès).
28766
28767 2010-02-15  Jim Meyering  <meyering@redhat.com>
28768
28769         init.sh: improve portability and efficiency
28770         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
28771         "dummy" in a for loop.
28772         Use '!', not '^' to select the complement of a character set used
28773         in a "case" statement.
28774         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
28775         Suggestions from Eric Blake.
28776
28777         init.sh: automatically accommodate programs with the .exe suffix
28778         Automatically arrange for an invocation of "prog" to execute the
28779         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
28780         may use the simpler "prog", yet still work when built on a system
28781         that requires specifying the added suffix.
28782         Do this by constructing a function named "prog" that invokes
28783         "prog.exe" for each .exe file in selected directories.
28784         * tests/init.sh (find_exe_basenames_): New function.
28785         (create_exe_shim_functions_): New function.
28786         (path_prepend_): Use it.
28787
28788         maint.mk: mark syntax-check sc_*.m rules as .PHONY
28789         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
28790         "make -t syntax-check" doesn't create a ton of sc_*.m files.
28791
28792 2010-02-14  Jim Meyering  <meyering@redhat.com>
28793
28794         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
28795         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
28796         (sc_prohibit_hash_pjw_without_use): New rule.
28797
28798         maint.mk: allow the default upload destination dir to be overridden
28799         * top/maint.mk (upload_dest_dir_): Define with a default that
28800         preserves the status quo.
28801         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
28802         Reported by Peter Simons.
28803
28804         maint.mk: prohibit inclusion of "hash.h" without_use
28805         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
28806
28807 2010-02-10  Jim Meyering  <meyering@redhat.com>
28808
28809         maint.mk: prohibit inclusion of "ignore-value.h" without_use
28810         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
28811
28812 2010-02-09  Eric Blake  <ebb9@byu.net>
28813         and Bruno Haible  <bruno@clisp.org>
28814
28815         obstack-printf-posix: ensure declaration
28816         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
28817         extracted from gl_FUNC_OBSTACK_PRINTF.
28818         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
28819         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
28820         Likewise.
28821         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
28822         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
28823         0.
28824
28825 2010-02-08  Bruno Haible  <bruno@clisp.org>
28826
28827         gnulib-tool: Fix typo in 2010-02-07 commit.
28828         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
28829         Reported by Eric Blake.
28830
28831 2010-02-07  Bruno Haible  <bruno@clisp.org>
28832
28833         gnulib-tool: Fix up caching patches.
28834         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
28835         option --no-cache. Use associative arrays when supported by the shell.
28836         (sed_comments): New variable.
28837         (modcache): Renamed from do_cache.
28838         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
28839         abbreviate unnecessarily.
28840         (have_associative): New variable.
28841         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
28842         way also for ksh and zsh.
28843         (func_init_sed_convert_to_cache_statements): New function, extracted
28844         from func_cache_lookup_module. Add support for associative arrays.
28845         Don't set the c_MODULE_cached variable here. Ignore all lines before
28846         the first field header. Remove only the final newline, not all trailing
28847         newlines. Support empty fields correctly. Limit the use of 'eval' to
28848         assignments.
28849         (func_get_description, func_get_status, func_get_notice,
28850         func_get_applicability, func_get_filelist, func_get_dependencies,
28851         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
28852         func_get_automake_snippet, func_get_include_directive,
28853         func_get_link_directive, func_get_license, func_get_maintainer):
28854         Update documentation. List the unoptimized code first. Add support for
28855         associative arrays. Limit the use of 'eval' to assignments.
28856         (func_get_applicability): Undo stylistic pessimisations.
28857         (func_get_automake_snippet, func_get_include_directive): Reduce code
28858         duplication.
28859         (func_modules_transitive_closure, func_modules_add_dummy,
28860         func_modules_notice, func_modules_to_filelist, func_add_file,
28861         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
28862         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
28863         func_create_testdir, func_create_megatestdir): Update documentation.
28864
28865 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28866
28867         * gnulib-tool (func_cache_lookup_module): Store the module name
28868         belonging to the cache variable; error out if two different
28869         module names map to the same cache variable name.
28870
28871 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28872
28873         gnulib-tool: Make caching optional.
28874         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
28875         Update matching short versions of --no-changelog.
28876         (func_usage): Update.
28877         (sed_extract_cache_prog): Renamed from ...
28878         (sed_extract_prog): ... this; revert to old extraction script.
28879         (func_get_description, func_get_status)
28880         (func_get_notice, func_get_applicability, func_get_filelist)
28881         (func_get_dependencies, func_get_autoconf_early_snippet)
28882         (func_get_autoconf_snippet, func_get_automake_snippet)
28883         (func_get_include_directive, func_get_link_directive)
28884         (func_get_license, func_get_maintainer): If $do_cache is false,
28885         use old, non-caching extraction scripts.
28886         Suggestion by Bruno Haible.
28887
28888 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28889
28890         gnulib-tool: cache module metainformation.
28891         * gnulib-tool (sed_extract_prog): Match newline before each
28892         header, and rewrite header to a shell variable suffix.
28893         (func_cache_var, func_cache_lookup_module): New functions,
28894         to turn a module name into a cache variable prefix, and to
28895         look up and cache module metainformation.
28896         (func_get_description, func_get_status)
28897         (func_get_notice, func_get_applicability, func_get_filelist)
28898         (func_get_dependencies, func_get_autoconf_early_snippet)
28899         (func_get_autoconf_snippet, func_get_automake_snippet)
28900         (func_get_include_directive, func_get_link_directive)
28901         (func_get_license, func_get_maintainer): Use
28902         func_cache_lookup_module.
28903
28904 2010-02-07  Bruno Haible  <bruno@clisp.org>
28905
28906         fnctl: Fix missing dependency.
28907         * modules/fcntl (Depends-on): Add getdtablesize.
28908         Reported by John W. Eaton <jwe@gnu.org>.
28909
28910 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
28911
28912         Argp: fix recognition of short alias options.
28913
28914         * lib/argp-parse.c (convert_options): Fix improper use of
28915         `|' between character values.
28916         * tests/test-argp.c (group1_option): New alias option
28917         --read (-r).
28918         (group1_parser): Special handling for 'r'.
28919         (test15): New test case.
28920         (test_fun): Add test15.
28921         * tests/test-argp-2.sh: Update expected --help and --usage
28922         outputs.
28923
28924 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
28925
28926         * tests/test-argp.c: Fix indentation.
28927
28928 2010-02-04  Eric Blake  <ebb9@byu.net>
28929
28930         gettimeofday: expose type of second argument
28931         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
28932         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
28933         * tests/test-gettimeofday.c: Use it to silence warning.
28934         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
28935         the issue.
28936
28937 2010-02-03  Jim Meyering  <meyering@redhat.com>
28938
28939         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
28940         * lib/regcomp.c (TYPE_SIGNED): Define.
28941         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
28942
28943         regcomp.c: avoid a new -Wshadow warning
28944         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
28945
28946 2010-02-01  Jim Meyering  <meyering@redhat.com>
28947
28948         removing useless parentheses in cpp #define directives
28949         For motivation, see commit c0221df4, "define STREQ(a,b)
28950         consistently, removing useless parentheses"
28951         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
28952         * lib/mountlist.c (MNT_IGNORE): Likewise.
28953         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
28954
28955 2010-02-01  Eric Blake  <ebb9@byu.net>
28956
28957         sys_time: use link-warning
28958         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
28959         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
28960         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
28961         * modules/sys_time (Depends-on): Add warn-on-use.
28962         (Makefile.am): Always build replacement.
28963         (configure.ac): Update substitutions.
28964         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
28965         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
28966         bother with SYS_TIME_H.
28967         * modules/gettimeofday (configure.ac): Declare indicator.
28968         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
28969         in use.
28970
28971         closein-tests: silence compiler warning
28972         * tests/test-closein.c (main): Ignore fread result.
28973         * modules/closein-tests (Depends-on): Add ignore-value.
28974
28975         tests: silence warning about system return
28976         * tests/test-areadlink-with-size.c (main): Ignore system result.
28977         * tests/test-areadlink.c (main): Likewise.
28978         * tests/test-areadlinkat-with-size.c (main): Likewise.
28979         * tests/test-areadlinkat.c (main): Likewise.
28980         * tests/test-canonicalize-lgpl.c (main): Likewise.
28981         * tests/test-canonicalize.c (main): Likewise.
28982         * tests/test-chown.c (main): Likewise.
28983         * tests/test-fchownat.c (main): Likewise.
28984         * tests/test-fdutimensat.c (main): Likewise.
28985         * tests/test-fstatat.c (main): Likewise.
28986         * tests/test-futimens.c (main): Likewise.
28987         * tests/test-lchown.c (main): Likewise.
28988         * tests/test-link.c (main): Likewise.
28989         * tests/test-linkat.c (main): Likewise.
28990         * tests/test-lstat.c (main): Likewise.
28991         * tests/test-mkdir.c (main): Likewise.
28992         * tests/test-mkdirat.c (main): Likewise.
28993         * tests/test-mkfifo.c (main): Likewise.
28994         * tests/test-mkfifoat.c (main): Likewise.
28995         * tests/test-mknod.c (main): Likewise.
28996         * tests/test-readlink.c (main): Likewise.
28997         * tests/test-remove.c (main): Likewise.
28998         * tests/test-rename.c (main): Likewise.
28999         * tests/test-renameat.c (main): Likewise.
29000         * tests/test-rmdir.c (main): Likewise.
29001         * tests/test-symlink.c (main): Likewise.
29002         * tests/test-symlinkat.c (main): Likewise.
29003         * tests/test-unlink.c (main): Likewise.
29004         * tests/test-unlinkat.c (main): Likewise.
29005         * tests/test-utimens.c (main): Likewise.
29006         * tests/test-utimensat.c (main): Likewise.
29007         * modules/areadlink-tests (Depends-on): Add ignore-value.
29008         * modules/areadlink-with-size-tests (Depends-on): Likewise.
29009         * modules/areadlinkat-tests (Depends-on): Likewise.
29010         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
29011         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
29012         * modules/canonicalize-tests (Depends-on): Likewise.
29013         * modules/chown-tests (Depends-on): Likewise.
29014         * modules/fdutimensat-tests (Depends-on): Likewise.
29015         * modules/futimens-tests (Depends-on): Likewise.
29016         * modules/lchown-tests (Depends-on): Likewise.
29017         * modules/link-tests (Depends-on): Likewise.
29018         * modules/linkat-tests (Depends-on): Likewise.
29019         * modules/lstat-tests (Depends-on): Likewise.
29020         * modules/mkdir-tests (Depends-on): Likewise.
29021         * modules/mkfifo-tests (Depends-on): Likewise.
29022         * modules/mkfifoat-tests (Depends-on): Likewise.
29023         * modules/mknod-tests (Depends-on): Likewise.
29024         * modules/openat-tests (Depends-on): Likewise.
29025         * modules/readlink-tests (Depends-on): Likewise.
29026         * modules/remove-tests (Depends-on): Likewise.
29027         * modules/rename-tests (Depends-on): Likewise.
29028         * modules/renameat-tests (Depends-on): Likewise.
29029         * modules/rmdir-tests (Depends-on): Likewise.
29030         * modules/symlink-tests (Depends-on): Likewise.
29031         * modules/symlinkat-tests (Depends-on): Likewise.
29032         * modules/unlink-tests (Depends-on): Likewise.
29033         * modules/utimens-tests (Depends-on): Likewise.
29034         * modules/utimensat-tests (Depends-on): Likewise.
29035
29036 2010-01-31  Bruno Haible  <bruno@clisp.org>
29037
29038         Perform the same test for many <math.h> functions.
29039         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
29040         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
29041         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
29042         of gl_MATHFUNC.
29043         * modules/acos (configure.ac): Likewise.
29044         * modules/asin (configure.ac): Likewise.
29045         * modules/atan (configure.ac): Likewise.
29046         * modules/atan2 (configure.ac): Likewise.
29047         * modules/cbrt (configure.ac): Likewise.
29048         * modules/copysign (configure.ac): Likewise.
29049         * modules/cos (configure.ac): Likewise.
29050         * modules/cosh (configure.ac): Likewise.
29051         * modules/erf (configure.ac): Likewise.
29052         * modules/erfc (configure.ac): Likewise.
29053         * modules/exp (configure.ac): Likewise.
29054         * modules/fmod (configure.ac): Likewise.
29055         * modules/hypot (configure.ac): Likewise.
29056         * modules/j0 (configure.ac): Likewise.
29057         * modules/j1 (configure.ac): Likewise.
29058         * modules/jn (configure.ac): Likewise.
29059         * modules/lgamma (configure.ac): Likewise.
29060         * modules/log (configure.ac): Likewise.
29061         * modules/log10 (configure.ac): Likewise.
29062         * modules/log1p (configure.ac): Likewise.
29063         * modules/pow (configure.ac): Likewise.
29064         * modules/remainder (configure.ac): Likewise.
29065         * modules/sin (configure.ac): Likewise.
29066         * modules/sinh (configure.ac): Likewise.
29067         * modules/tan (configure.ac): Likewise.
29068         * modules/tanh (configure.ac): Likewise.
29069         * modules/y0 (configure.ac): Likewise.
29070         * modules/y1 (configure.ac): Likewise.
29071         * modules/yn (configure.ac): Likewise.
29072         Suggested by Paolo Bonzini.
29073
29074 2010-01-31  Bruno Haible  <bruno@clisp.org>
29075
29076         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
29077
29078 2010-01-31  Bruno Haible  <bruno@clisp.org>
29079
29080         Work around getdelim() bug on FreeBSD 8.0.
29081         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
29082         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
29083         not work.
29084         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
29085         is 1.
29086         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
29087         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
29088         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
29089         a non-zero size.
29090         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
29091
29092 2010-01-31  Bruno Haible  <bruno@clisp.org>
29093
29094         Work around getline() bug on FreeBSD 8.0.
29095         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
29096         and a non-zero size.
29097         * tests/test-getline.c (main): Likewise.
29098         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
29099         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
29100
29101 2010-01-28  Eric Blake  <ebb9@byu.net>
29102
29103         regex: fix build failure
29104         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
29105         platforms.
29106
29107 2010-01-28  Jim Meyering  <meyering@redhat.com>
29108
29109         regex: do not ignore memory allocation failure
29110         * lib/regex_internal.c (create_cd_newstate): Detect
29111         re_node_set_init_copy failure.   Extracted from glibc commit
29112         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29113
29114         regex: sync more white-space changes from libc
29115         * lib/regex_internal.c: White-space only changes.
29116         * lib/regexec.c: Likewise.
29117
29118         regex: add many uses of __attribute_warn_unused_result__
29119         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
29120         * lib/regexec.c: Likewise.
29121         Extracted from a messy glibc commit.
29122
29123         regcomp.c: spelling and merge-artifact from glibc
29124         * lib/regcomp.c: Merge remainder of glibc's
29125         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29126
29127         regcomp.c: sync white-space changes from glibc
29128         * lib/regcomp.c: Merge to accommodate white space
29129         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29130
29131         regcomp.c: do not ignore internal return values
29132         * lib/regcomp.c: Do not ignore internal return values.
29133         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
29134         but without its white-space changes and spelling fixes.
29135
29136         regex_internal.h: define __attribute_warn_unused_result__
29137         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
29138
29139         maint: add a syntax-check rule to check for vulnerable Makefile.in
29140         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
29141
29142 2010-01-27  Jim Meyering  <meyering@redhat.com>
29143
29144         ncftpput-ftp: clean up spaces
29145         * build-aux/ncftpput-ftp: Make Copyright line consistent.
29146         Remove trailing blanks.
29147
29148 2010-01-27  Simon Josefsson  <simon@josefsson.org>
29149
29150         * build-aux/git-version-gen: Fix copyright statement.
29151         * build-aux/gnupload: Likewise.
29152         * tests/test-arcfour.c: Likewise.
29153         * tests/test-arctwo.c: Likewise.
29154         * tests/test-count-one-bits.c: Likewise.
29155         * tests/test-crc.c: Likewise.
29156         * tests/test-des.c: Likewise.
29157         * tests/test-gc-arcfour.c: Likewise.
29158         * tests/test-gc-arctwo.c: Likewise.
29159         * tests/test-gc-des.c: Likewise.
29160         * tests/test-gc-hmac-md5.c: Likewise.
29161         * tests/test-gc-hmac-sha1.c: Likewise.
29162         * tests/test-gc-md2.c: Likewise.
29163         * tests/test-gc-md4.c: Likewise.
29164         * tests/test-gc-md5.c: Likewise.
29165         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29166         * tests/test-gc-rijndael.c: Likewise.
29167         * tests/test-gc-sha1.c: Likewise.
29168         * tests/test-gc.c: Likewise.
29169         * tests/test-gethostname.c: Likewise.
29170         * tests/test-gettimeofday.c: Likewise.
29171         * tests/test-hash.c: Likewise.
29172         * tests/test-hmac-md5.c: Likewise.
29173         * tests/test-hmac-sha1.c: Likewise.
29174         * tests/test-md2.c: Likewise.
29175         * tests/test-md4.c: Likewise.
29176         * tests/test-md5.c: Likewise.
29177         * tests/test-memchr.c: Likewise.
29178         * tests/test-memchr2.c: Likewise.
29179         * tests/test-memcmp.c: Likewise.
29180         * tests/test-memmem.c: Likewise.
29181         * tests/test-memrchr.c: Likewise.
29182         * tests/test-rawmemchr.c: Likewise.
29183         * tests/test-read-file.c: Likewise.
29184         * tests/test-rijndael.c: Likewise.
29185         * tests/test-sockets.c: Likewise.
29186         * tests/test-strchrnul.c: Likewise.
29187         * tests/test-strstr.c: Likewise.
29188         * tests/test-strtod.c: Likewise.
29189         * build-aux/ncftpput-ftp: Likewise.
29190
29191 2010-01-26  Eric Blake  <ebb9@byu.net>
29192
29193         ignore-value: update recommended header name
29194         * modules/ignore-value (Include): Only use <> for headers that
29195         exist in glibc.
29196
29197 2010-01-26  Jim Meyering  <meyering@redhat.com>
29198
29199         test-userspec.c: avoid compiler warnings
29200         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
29201         and "initialization discards qualifiers..." warnings.
29202         Put the first "uid" in its own scope, and make char* members "const".
29203
29204 2010-01-25  Bruno Haible  <bruno@clisp.org>
29205
29206         gnulib-tool: Make warning diagnostics consistent.
29207         * gnulib-tool (func_warning): New function.
29208         Use it everywhere where gnulib-tool produces output to stderr and it is
29209         not a fatal error.
29210
29211 2010-01-25  Bruno Haible  <bruno@clisp.org>
29212
29213         Fix test dependencies.
29214         * modules/xstrtol-tests (Depends-on): Add inttypes.
29215         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
29216
29217 2010-01-25 Pádraig Brady <P@draigBrady.com>
29218
29219         syntax-check: detect incorrect boolean macro values in config.h
29220         * modules/maintainer-makefile (configure.ac): Parameterize the location
29221         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
29222         The logic is from Eric Blake and the location indicated by Jim Meyering.
29223         Note the more natural CONFIG_HEADER name is prohibited by automake
29224         for backwards compatibility reasons.
29225         * top/maint.mk (sc_Wundef_boolean): New rule.
29226
29227 2010-01-25  Jim Meyering  <meyering@redhat.com>
29228
29229         bootstrap: detect MacOS 10.6's shasum, too
29230         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
29231         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
29232
29233 2010-01-23  Jim Meyering  <meyering@redhat.com>
29234
29235         xstrtoll: new module
29236         * modules/xstrtoll: New file.
29237         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
29238         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
29239         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
29240         ./configure fails if you use this module and lack "long long".
29241         * modules/xstrtoll-tests: New module.
29242         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
29243         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
29244         new init.sh-based test framework.
29245
29246 2010-01-24  Bruno Haible  <bruno@clisp.org>
29247
29248         Tests for module 'yn'.
29249         * modules/yn-tests: New file.
29250         * tests/test-yn.c: New file.
29251
29252         Tests for module 'y1'.
29253         * modules/y1-tests: New file.
29254         * tests/test-y1.c: New file.
29255
29256         Tests for module 'y0'.
29257         * modules/y0-tests: New file.
29258         * tests/test-y0.c: New file.
29259
29260         Tests for module 'tanh'.
29261         * modules/tanh-tests: New file.
29262         * tests/test-tanh.c: New file.
29263
29264         Tests for module 'tan'.
29265         * modules/tan-tests: New file.
29266         * tests/test-tan.c: New file.
29267
29268         Tests for module 'sqrt'.
29269         * modules/sqrt-tests: New file.
29270         * tests/test-sqrt.c: New file.
29271
29272         Tests for module 'sinh'.
29273         * modules/sinh-tests: New file.
29274         * tests/test-sinh.c: New file.
29275
29276         Tests for module 'sin'.
29277         * modules/sin-tests: New file.
29278         * tests/test-sin.c: New file.
29279
29280         Tests for module 'rint'.
29281         * modules/rint-tests: New file.
29282         * tests/test-rint.c: New file.
29283
29284         Tests for module 'remainder'.
29285         * modules/remainder-tests: New file.
29286         * tests/test-remainder.c: New file.
29287
29288         Tests for module 'pow'.
29289         * modules/pow-tests: New file.
29290         * tests/test-pow.c: New file.
29291
29292         Tests for module 'nextafter'.
29293         * modules/nextafter-tests: New file.
29294         * tests/test-nextafter.c: New file.
29295
29296         Tests for module 'modf'.
29297         * modules/modf-tests: New file.
29298         * tests/test-modf.c: New file.
29299
29300         Tests for module 'logb'.
29301         * modules/logb-tests: New file.
29302         * tests/test-logb.c: New file.
29303
29304         Tests for module 'log1p'.
29305         * modules/log1p-tests: New file.
29306         * tests/test-log1p.c: New file.
29307
29308         Tests for module 'log10'.
29309         * modules/log10-tests: New file.
29310         * tests/test-log10.c: New file.
29311
29312         Tests for module 'log'.
29313         * modules/log-tests: New file.
29314         * tests/test-log.c: New file.
29315
29316         Tests for module 'lgamma'.
29317         * modules/lgamma-tests: New file.
29318         * tests/test-lgamma.c: New file.
29319
29320         Tests for module 'ldexp'.
29321         * modules/ldexp-tests: New file.
29322         * tests/test-ldexp.c: New file.
29323
29324         Tests for module 'jn'.
29325         * modules/jn-tests: New file.
29326         * tests/test-jn.c: New file.
29327
29328         Tests for module 'j1'.
29329         * modules/j1-tests: New file.
29330         * tests/test-j1.c: New file.
29331
29332         Tests for module 'j0'.
29333         * modules/j0-tests: New file.
29334         * tests/test-j0.c: New file.
29335
29336         Tests for module 'hypot'.
29337         * modules/hypot-tests: New file.
29338         * tests/test-hypot.c: New file.
29339
29340         Tests for module 'fmod'.
29341         * modules/fmod-tests: New file.
29342         * tests/test-fmod.c: New file.
29343
29344         Tests for module 'fabs'.
29345         * modules/fabs-tests: New file.
29346         * tests/test-fabs.c: New file.
29347
29348         Tests for module 'exp'.
29349         * modules/exp-tests: New file.
29350         * tests/test-exp.c: New file.
29351
29352         Tests for module 'erfc'.
29353         * modules/erfc-tests: New file.
29354         * tests/test-erfc.c: New file.
29355
29356         Tests for module 'erf'.
29357         * modules/erf-tests: New file.
29358         * tests/test-erf.c: New file.
29359
29360         Tests for module 'cosh'.
29361         * modules/cosh-tests: New file.
29362         * tests/test-cosh.c: New file.
29363
29364         Tests for module 'cos'.
29365         * modules/cos-tests: New file.
29366         * tests/test-cos.c: New file.
29367
29368         Tests for module 'copysign'.
29369         * modules/copysign-tests: New file.
29370         * tests/test-copysign.c: New file.
29371
29372         Tests for module 'cbrt'.
29373         * modules/cbrt-tests: New file.
29374         * tests/test-cbrt.c: New file.
29375
29376         Tests for module 'atan2'.
29377         * modules/atan2-tests: New file.
29378         * tests/test-atan2.c: New file.
29379
29380         Tests for module 'atan'.
29381         * modules/atan-tests: New file.
29382         * tests/test-atan.c: New file.
29383
29384         Tests for module 'asin'.
29385         * modules/asin-tests: New file.
29386         * tests/test-asin.c: New file.
29387
29388         Tests for module 'acos'.
29389         * modules/acos-tests: New file.
29390         * tests/test-acos.c: New file.
29391
29392 2010-01-24  Bruno Haible  <bruno@clisp.org>
29393
29394         Fix tests for common <math.h> functions.
29395         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
29396         code snippet that references the function pointer, rather than merely
29397         calling the function. Substitute the FUNC_LIBM variable.
29398         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
29399         * modules/acos (configure.ac): Likewise.
29400         * modules/asin (configure.ac): Likewise.
29401         * modules/atan (configure.ac): Likewise.
29402         * modules/atan2 (configure.ac): Likewise.
29403         * modules/cbrt (configure.ac): Likewise.
29404         * modules/copysign (configure.ac): Likewise.
29405         * modules/cos (configure.ac): Likewise.
29406         * modules/cosh (configure.ac): Likewise.
29407         * modules/erf (configure.ac): Likewise.
29408         * modules/erfc (configure.ac): Likewise.
29409         * modules/exp (configure.ac): Likewise.
29410         * modules/fabs (configure.ac): Likewise.
29411         * modules/fmod (configure.ac): Likewise.
29412         * modules/hypot (configure.ac): Likewise.
29413         * modules/j0 (configure.ac): Likewise.
29414         * modules/j1 (configure.ac): Likewise.
29415         * modules/jn (configure.ac): Likewise.
29416         * modules/ldexp (configure.ac): Likewise.
29417         * modules/lgamma (configure.ac): Likewise.
29418         * modules/log (configure.ac): Likewise.
29419         * modules/log10 (configure.ac): Likewise.
29420         * modules/log1p (configure.ac): Likewise.
29421         * modules/logb (configure.ac): Likewise.
29422         * modules/modf (configure.ac): Likewise.
29423         * modules/nextafter (configure.ac): Likewise.
29424         * modules/pow (configure.ac): Likewise.
29425         * modules/remainder (configure.ac): Likewise.
29426         * modules/rint (configure.ac): Likewise.
29427         * modules/sin (configure.ac): Likewise.
29428         * modules/sinh (configure.ac): Likewise.
29429         * modules/tan (configure.ac): Likewise.
29430         * modules/tanh (configure.ac): Likewise.
29431         * modules/y0 (configure.ac): Likewise.
29432         * modules/y1 (configure.ac): Likewise.
29433         * modules/yn (configure.ac): Likewise.
29434
29435 2010-01-24  Bruno Haible  <bruno@clisp.org>
29436
29437         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
29438         * tests/test-acosl.c (x): New variable.
29439         (main): Store argument in x and fetch it from x.
29440         * tests/test-asinl.c (x): New variable.
29441         (main): Store argument in x and fetch it from x.
29442         * tests/test-atanl.c (x): New variable.
29443         (main): Store argument in x and fetch it from x.
29444         * tests/test-cosl.c (x): New variable.
29445         (main): Store argument in x and fetch it from x.
29446         * tests/test-expl.c (x): New variable.
29447         (main): Store argument in x and fetch it from x.
29448         * tests/test-logl.c (x): New variable.
29449         (main): Store argument in x and fetch it from x.
29450         * tests/test-sinl.c (x): New variable.
29451         (main): Store argument in x and fetch it from x.
29452         * tests/test-sqrtl.c (x): New variable.
29453         (main): Store argument in x and fetch it from x.
29454         * tests/test-tanl.c (x): New variable.
29455         (main): Store argument in x and fetch it from x.
29456
29457 2010-01-24  Bruno Haible  <bruno@clisp.org>
29458
29459         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
29460         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
29461         assignments to the initial TESTS_ENVIRONMENT.
29462         * doc/gnulib.texi (Unit test modules): Document it.
29463         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
29464         TESTS_ENVIRONMENT.
29465         * modules/btowc-tests (Makefile.am): Likewise.
29466         * modules/c-stack-tests (Makefile.am): Likewise.
29467         * modules/c-strcase-tests (Makefile.am): Likewise.
29468         * modules/copy-file-tests (Makefile.am): Likewise.
29469         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
29470         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
29471         * modules/mbrtowc-tests (Makefile.am): Likewise.
29472         * modules/mbscasecmp-tests (Makefile.am): Likewise.
29473         * modules/mbscasestr-tests (Makefile.am): Likewise.
29474         * modules/mbschr-tests (Makefile.am): Likewise.
29475         * modules/mbscspn-tests (Makefile.am): Likewise.
29476         * modules/mbsinit-tests (Makefile.am): Likewise.
29477         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
29478         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
29479         * modules/mbspbrk-tests (Makefile.am): Likewise.
29480         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
29481         * modules/mbsrchr-tests (Makefile.am): Likewise.
29482         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
29483         * modules/mbsspn-tests (Makefile.am): Likewise.
29484         * modules/mbsstr-tests (Makefile.am): Likewise.
29485         * modules/nl_langinfo-tests (Makefile.am): Likewise.
29486         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
29487         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
29488         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
29489         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
29490         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
29491         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
29492         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
29493         * modules/wcrtomb-tests (Makefile.am): Likewise.
29494         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
29495         * modules/wcsrtombs-tests (Makefile.am): Likewise.
29496         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
29497         assignments from TESTS_ENVIRONMENT.
29498         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
29499         augmentation.
29500         * modules/argp-version-etc-tests (Makefile.am): Likewise.
29501         * modules/atexit-tests (Makefile.am): Likewise.
29502         * modules/binary-io-tests (Makefile.am): Likewise.
29503         * modules/closein-tests (Makefile.am): Likewise.
29504         * modules/dprintf-posix-tests (Makefile.am): Likewise.
29505         * modules/exclude-tests (Makefile.am): Likewise.
29506         * modules/fflush-tests (Makefile.am): Likewise.
29507         * modules/fpending-tests (Makefile.am): Likewise.
29508         * modules/fprintf-posix-tests (Makefile.am): Likewise.
29509         * modules/freadahead-tests (Makefile.am): Likewise.
29510         * modules/freadptr-tests (Makefile.am): Likewise.
29511         * modules/freadseek-tests (Makefile.am): Likewise.
29512         * modules/fseek-tests (Makefile.am): Likewise.
29513         * modules/fseeko-tests (Makefile.am): Likewise.
29514         * modules/ftell-tests (Makefile.am): Likewise.
29515         * modules/ftello-tests (Makefile.am): Likewise.
29516         * modules/idpriv-drop-tests (Makefile.am): Likewise.
29517         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
29518         * modules/lseek-tests (Makefile.am): Likewise.
29519         * modules/parse-duration-tests (Makefile.am): Likewise.
29520         * modules/perror-tests (Makefile.am): Likewise.
29521         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
29522         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
29523         * modules/pipe-tests (Makefile.am): Likewise.
29524         * modules/pread-tests (Makefile.am): Likewise.
29525         * modules/printf-posix-tests (Makefile.am): Likewise.
29526         * modules/select-tests (Makefile.am): Likewise.
29527         * modules/sigpipe-tests (Makefile.am): Likewise.
29528         * modules/tsearch-tests (Makefile.am): Likewise.
29529         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
29530         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
29531         * modules/uniname/uniname-tests (Makefile.am): Likewise.
29532         * modules/uniwidth/width-tests (Makefile.am): Likewise.
29533         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
29534         * modules/version-etc-tests (Makefile.am): Likewise.
29535         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
29536         * modules/vprintf-posix-tests (Makefile.am): Likewise.
29537         * modules/xalloc-die-tests (Makefile.am): Likewise.
29538         * modules/xprintf-posix-tests (Makefile.am): Likewise.
29539         * modules/xstrtoimax-tests (Makefile.am): Likewise.
29540         * modules/xstrtol-tests (Makefile.am): Likewise.
29541         * modules/xstrtoumax-tests (Makefile.am): Likewise.
29542         * modules/yesno-tests (Makefile.am): Likewise.
29543         Suggested by Jim Meyering.
29544
29545 2010-01-24  Bruno Haible  <bruno@clisp.org>
29546
29547         More documentation.
29548         * doc/gnulib.texi (Writing modules): New chapter.
29549         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
29550         the new chapter.
29551
29552 2010-01-24  Jim Meyering  <meyering@redhat.com>
29553
29554         maint.mk: do not prepend "./" after filtering
29555         * top/maint.mk (_prepend_srcdir_prefix): New variable
29556         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
29557         "./" when $(srcdir) is ".".
29558
29559         define STREQ(a,b) consistently, removing useless parentheses
29560         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
29561         since the only risk is that "a" or "b" contains an unparenthesized
29562         comma, but if either did that, STREQ would have 3 or more arguments.
29563         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
29564         * lib/fts.c (STREQ): Remove unnecessary parentheses.
29565         * lib/hash-triple.c (STREQ): Likewise.
29566         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
29567         * lib/getugroups.c (STREQ): Likewise.
29568
29569 2010-01-23  Jim Meyering  <meyering@redhat.com>
29570
29571         maint.mk: fix syntax-check in a non-srcdir build directory
29572         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
29573         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
29574
29575 2010-01-22  Jim Meyering  <meyering@redhat.com>
29576
29577         userspec: add unit tests
29578         * tests/test-userspec.c: New file.
29579         * modules/userspec-tests: Likewise.
29580
29581 2010-01-21  Jim Meyering  <meyering@redhat.com>
29582
29583         maint.mk: handle source file names containing "." robustly
29584         * top/maint.mk (_dot_escaped_srcdir): Define.
29585         (VC_LIST): Use it in LHS of sed substitution.
29586
29587 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
29588
29589         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
29590         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
29591         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
29592         from a non-srcdir build.
29593
29594 2010-01-20  Eric Blake  <ebb9@byu.net>
29595
29596         warn-on-use: use instead of link-warning
29597         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
29598         * modules/unistd (Depends-on, Makefile.am): Likewise.
29599         * modules/arpa_inet (Depends-on): Replace link-warning with
29600         warn-on-use.
29601         (Makefile.am): Update rules accordingly.
29602         * modules/ctype (Depends-on, Makefile.am): Likewise.
29603         * modules/dirent (Depends-on, Makefile.am): Likewise.
29604         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
29605         * modules/inttypes (Depends-on, Makefile.am): Likewise.
29606         * modules/langinfo (Depends-on, Makefile.am): Likewise.
29607         * modules/locale (Depends-on, Makefile.am): Likewise.
29608         * modules/math (Depends-on, Makefile.am): Likewise.
29609         * modules/search (Depends-on, Makefile.am): Likewise.
29610         * modules/signal (Depends-on, Makefile.am): Likewise.
29611         * modules/spawn (Depends-on, Makefile.am): Likewise.
29612         * modules/stdlib (Depends-on, Makefile.am): Likewise.
29613         * modules/string (Depends-on, Makefile.am): Likewise.
29614         * modules/strings (Depends-on, Makefile.am): Likewise.
29615         * modules/sys_file (Depends-on, Makefile.am): Likewise.
29616         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
29617         * modules/sys_select (Depends-on, Makefile.am): Likewise.
29618         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
29619         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
29620         * modules/sys_times (Depends-on, Makefile.am): Likewise.
29621         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
29622         * modules/wchar (Depends-on, Makefile.am): Likewise.
29623         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
29624         should be poisoned.
29625         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
29626         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
29627         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
29628         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29629         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29630         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
29631         * m4/math_h.m4 (gl_MATH_H): Likewise.
29632         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
29633         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
29634         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
29635         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
29636         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
29637         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
29638         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
29639         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
29640         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
29641         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29642         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
29643         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
29644         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29645         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
29646         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
29647         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
29648         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
29649         GL_LINK_WARNING.
29650         * lib/ctype.in.h: Likewise.
29651         * lib/dirent.in.h: Likewise.
29652         * lib/fcntl.in.h: Likewise.
29653         * lib/inttypes.in.h: Likewise.
29654         * lib/langinfo.in.h: Likewise.
29655         * lib/locale.in.h: Likewise.
29656         * lib/math.in.h: Likewise.
29657         * lib/search.in.h: Likewise.
29658         * lib/signal.in.h: Likewise.
29659         * lib/spawn.in.h: Likewise.
29660         * lib/stdio.in.h: Likewise.
29661         * lib/stdlib.in.h: Likewise.
29662         * lib/string.in.h: Likewise.
29663         * lib/strings.in.h: Likewise.
29664         * lib/sys_file.in.h: Likewise.
29665         * lib/sys_ioctl.in.h: Likewise.
29666         * lib/sys_select.in.h: Likewise.
29667         * lib/sys_socket.in.h: Likewise.
29668         * lib/sys_stat.in.h: Likewise.
29669         * lib/sys_times.in.h: Likewise.
29670         * lib/sys_utsname.in.h: Likewise.
29671         * lib/unistd.in.h: Likewise.
29672         * lib/wchar.in.h: Likewise.
29673
29674 2010-01-20  Bruno Haible  <bruno@clisp.org>
29675
29676         Avoid duplicate -lm.
29677         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
29678         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
29679         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
29680         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
29681         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
29682         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
29683         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
29684         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
29685         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
29686         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
29687         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
29688         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
29689         Reported by Paolo Bonzini.
29690
29691 2010-01-19  Bruno Haible  <bruno@clisp.org>
29692
29693         langinfo, nl_langinfo: Relicense under LGPLv2+.
29694         * modules/langinfo (License): Change to LGPLv2+.
29695         * modules/nl_langinfo (License): Likewise.
29696         Patch by David Lutterkort <lutter@redhat.com>.
29697
29698 2010-01-19  Bruno Haible  <bruno@clisp.org>
29699
29700         Avoid compilation error with cc on OSF/1 5.1.
29701         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
29702         statement, not before.
29703         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29704
29705 2010-01-18  Bruno Haible  <bruno@clisp.org>
29706
29707         Avoid a link error due to the __printf__ symbol.
29708         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
29709         and 2.6.x.
29710         (__format__, __printf__): Remove definitions.
29711         * lib/argp-fmtstream.h: Likewise.
29712         * lib/argp.h: Likewise.
29713         * lib/error.h: Likewise.
29714         * lib/vasnprintf.h: Likewise.
29715         * lib/xprintf.h: Likewise.
29716         * lib/xvasprintf.h: Likewise.
29717         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29718
29719 2010-01-18  Bruno Haible  <bruno@clisp.org>
29720
29721         Tests for module 'tanl'.
29722         * modules/tanl-tests: New file.
29723         * tests/test-tanl.c: New file.
29724
29725         Tests for module 'sqrtl'.
29726         * modules/sqrtl-tests: New file.
29727         * tests/test-sqrtl.c: New file.
29728
29729         Tests for module 'sinl'.
29730         * modules/sinl-tests: New file.
29731         * tests/test-sinl.c: New file.
29732
29733         Tests for module 'logl'.
29734         * modules/logl-tests: New file.
29735         * tests/test-logl.c: New file.
29736
29737         Tests for module 'expl'.
29738         * modules/expl-tests: New file.
29739         * tests/test-expl.c: New file.
29740
29741         Tests for module 'cosl'.
29742         * modules/cosl-tests: New file.
29743         * tests/test-cosl.c: New file.
29744
29745         Tests for module 'atanl'.
29746         * modules/atanl-tests: New file.
29747         * tests/test-atanl.c: New file.
29748
29749         Tests for module 'asinl'.
29750         * modules/asinl-tests: New file.
29751         * tests/test-asinl.c: New file.
29752
29753         Tests for module 'acosl'.
29754         * modules/acosl-tests: New file.
29755         * tests/test-acosl.c: New file.
29756
29757         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
29758         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
29759         tanl): Use the standard gnulib idiom.
29760         * lib/cosl.c: Don't include trigl.c and sincosl.c.
29761         * lib/sinl.c: Likewise.
29762         * lib/tanl.c: Don't include trigl.c.
29763         (kernel_tanl): Make static.
29764         * lib/sincosl.c: Include trigl.h first.
29765         * lib/trigl.c: Likewise.
29766         * m4/acosl.m4: New file.
29767         * m4/asinl.m4: New file.
29768         * m4/atanl.m4: New file.
29769         * m4/cosl.m4: New file.
29770         * m4/expl.m4: New file.
29771         * m4/logl.m4: New file.
29772         * m4/sinl.m4: New file.
29773         * m4/sqrtl.m4: New file.
29774         * m4/tanl.m4: New file.
29775         * m4/mathl.m4: Remove file.
29776         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
29777         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
29778         Don't initialize GNULIB_MATHL.
29779         * modules/acosl: New file.
29780         * modules/asinl: New file.
29781         * modules/atanl: New file.
29782         * modules/cosl: New file.
29783         * modules/expl: New file.
29784         * modules/logl: New file.
29785         * modules/sinl: New file.
29786         * modules/sqrtl: New file.
29787         * modules/tanl: New file.
29788         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
29789         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
29790         substitute GNULIB_MATHL.
29791         * modules/mathl: Rewritten.
29792         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
29793         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
29794         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
29795         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
29796         * doc/posix-functions/expl.texi: Mention the 'expl' module.
29797         * doc/posix-functions/logl.texi: Mention the 'logl' module.
29798         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
29799         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
29800         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
29801
29802 2010-01-18  Bruno Haible  <bruno@clisp.org>
29803
29804         sqrt: Make gl_FUNC_SQRT requirable.
29805         * m4/sqrt.m4: New file.
29806         * modules/sqrt (Files): Add it.
29807         (configure.ac): Invoke gl_FUNC_SQRT.
29808
29809 2010-01-18  Bruno Haible  <bruno@clisp.org>
29810
29811         New modules for common <math.h> functions.
29812         * m4/mathfunc.m4: New file.
29813         * modules/acos: New file.
29814         * modules/asin: New file.
29815         * modules/atan: New file.
29816         * modules/atan2: New file.
29817         * modules/cbrt: New file.
29818         * modules/copysign: New file.
29819         * modules/cos: New file.
29820         * modules/cosh: New file.
29821         * modules/erf: New file.
29822         * modules/erfc: New file.
29823         * modules/exp: New file.
29824         * modules/fabs: New file.
29825         * modules/fmod: New file.
29826         * modules/hypot: New file.
29827         * modules/j0: New file.
29828         * modules/j1: New file.
29829         * modules/jn: New file.
29830         * modules/ldexp: New file.
29831         * modules/lgamma: New file.
29832         * modules/log: New file.
29833         * modules/log10: New file.
29834         * modules/log1p: New file.
29835         * modules/logb: New file.
29836         * modules/modf: New file.
29837         * modules/nextafter: New file.
29838         * modules/pow: New file.
29839         * modules/remainder: New file.
29840         * modules/rint: New file.
29841         * modules/sin: New file.
29842         * modules/sinh: New file.
29843         * modules/sqrt: New file.
29844         * modules/tan: New file.
29845         * modules/tanh: New file.
29846         * modules/y0: New file.
29847         * modules/y1: New file.
29848         * modules/yn: New file.
29849         * doc/posix-functions/acos.texi: Mention the 'acos' module.
29850         * doc/posix-functions/asin.texi: Mention the 'asin' module.
29851         * doc/posix-functions/atan.texi: Mention the 'atan' module.
29852         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
29853         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
29854         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
29855         * doc/posix-functions/cos.texi: Mention the 'cos' module.
29856         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
29857         * doc/posix-functions/erf.texi: Mention the 'erf' module.
29858         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
29859         * doc/posix-functions/exp.texi: Mention the 'exp' module.
29860         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
29861         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
29862         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
29863         * doc/posix-functions/j0.texi: Mention the 'j0' module.
29864         * doc/posix-functions/j1.texi: Mention the 'j1' module.
29865         * doc/posix-functions/jn.texi: Mention the 'jn' module.
29866         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
29867         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
29868         * doc/posix-functions/log.texi: Mention the 'log' module.
29869         * doc/posix-functions/log10.texi: Mention the 'log10' module.
29870         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
29871         * doc/posix-functions/logb.texi: Mention the 'logb' module.
29872         * doc/posix-functions/modf.texi: Mention the 'modf' module.
29873         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
29874         * doc/posix-functions/pow.texi: Mention the 'pow' module.
29875         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
29876         * doc/posix-functions/rint.texi: Mention the 'rint' module.
29877         * doc/posix-functions/sin.texi: Mention the 'sin' module.
29878         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
29879         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
29880         * doc/posix-functions/tan.texi: Mention the 'tan' module.
29881         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
29882         * doc/posix-functions/y0.texi: Mention the 'y0' module.
29883         * doc/posix-functions/y1.texi: Mention the 'y1' module.
29884         * doc/posix-functions/yn.texi: Mention the 'yn' module.
29885
29886 2010-01-18  Jim Meyering  <meyering@redhat.com>
29887
29888         ignore-value: relax license to LGPLv2+
29889         * modules/ignore-value (License): Relax to LGPLv2+.
29890
29891         getdate: don't leak when TZ contains two or more '"'s
29892         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
29893         double quote in TZ after the first one.
29894
29895         readtokens: do not leak internal token_lengths buffer
29896         * lib/readtokens.c (readtokens): Free the local, lengths,
29897         when the supplied "token_lengths" parameter is NULL.
29898
29899 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29900
29901         Fix a couple of missing LIBTHREAD link failures on AIX.
29902         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
29903         $(LIBTHREAD).
29904         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
29905
29906         Link test-poll against INET_PTON_LIB.
29907         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
29908         for inet_pton on Solaris 10.
29909
29910 2010-01-17  Bruno Haible  <bruno@clisp.org>
29911
29912         unistdio/*-sprintf: Fix typo in module description.
29913         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
29914         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
29915         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
29916         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
29917         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
29918         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
29919         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
29920         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29921
29922 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29923
29924         gnulib-tool: fix filelist for AIX, HP-UX ksh.
29925         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
29926         variables in shell case patterns, for AIX and HP-UX ksh.
29927
29928         Split large sed scripts, for HP-UX sed.
29929         * modules/stdio: Split sed scripts around 50 sed commands,
29930         to avoid HP-UX limit of 99 commands, in the near future.
29931         * modules/string: Likewise.
29932         * modules/unistd: Likewise.
29933
29934         gnulib-tool: avoid writing in the current directory.
29935         * gnulib-tool (func_emit_lib_Makefile_am)
29936         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
29937         not in the current directory, so concurrent gnulib-tool
29938         instances do not interfere.
29939
29940 2010-01-16  Jim Meyering  <meyering@redhat.com>
29941
29942         doc: update users.txt
29943         * users.txt: Add grep.
29944         (diffutils, gzip): Update URLs.
29945
29946 2010-01-12  Bruno Haible  <bruno@clisp.org>
29947
29948         posix_spawn: Avoid test failure on Cygwin.
29949         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
29950         characters.
29951         Reported by Simon Josefsson.
29952
29953 2010-01-12  Bruno Haible  <bruno@clisp.org>
29954
29955         * tests/test-cond.c (main): When skipping the test, show the reason.
29956
29957 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29958
29959         * lib/striconv.c (str_cd_iconv): Avoid if before free.
29960
29961 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29962
29963         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
29964         VC_LIST_ALWAYS_EXCLUDE_REGEX.
29965
29966 2010-01-12  Eric Blake  <ebb9@byu.net>
29967
29968         build: guarantee AS_VAR_IF
29969         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
29970         (gl_AS_VAR_IF): Move...
29971         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
29972         Reported by Simon Josefsson.
29973
29974 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29975
29976         * lib/stdio.in.h: Fix typo.
29977
29978 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29979
29980         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
29981         libgpg-error.
29982
29983 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29984
29985         * tests/test-xalloc-die.sh: Use $EXEEXT.
29986
29987 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29988             Bruno Haible  <bruno@clisp.org>
29989
29990         getlogin, getlogin_r: Avoid test failure.
29991         * tests/test-getlogin.c: Include <stdio.h>.
29992         (main): Skip the test when the function fails because stdin is not a
29993         tty.
29994         * tests/test-getlogin_r.c: Include <stdio.h>.
29995         (main): Skip the test when the function fails because stdin is not a
29996         tty.
29997
29998 2010-01-11  Eric Blake  <ebb9@byu.net>
29999
30000         tests: avoid more large file warnings
30001         * tests/test-fflush.c: Avoid warning about ftell use.
30002         * tests/test-fseek.c: Avoid warning about fseek use.
30003
30004 2010-01-10  Bruno Haible  <bruno@clisp.org>
30005
30006         nproc: Work better on Linux when /proc and /sys are not mounted.
30007         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
30008         as lower bound when, on glibc/Linux systems,
30009         sysconf (_SC_NPROCESSORS_CONF) returns 1.
30010         Suggested by Pádraig Brady <P@draigbrady.com>.
30011         Reported by Dmitry V. Levin <ldv@altlinux.org>.
30012
30013         nproc: Refactor.
30014         * lib/nproc.c (num_processors_via_affinity_mask): New function,
30015         extracted from num_processors.
30016         (num_processors): Call it.
30017
30018 2010-01-11  Jim Meyering  <meyering@redhat.com>
30019
30020         utimecmp: avoid new warning from upcoming gcc-4.5.0
30021         * lib/utimecmp.c (BILLION): Define using #define rather than an
30022         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
30023
30024 2010-01-11  Eric Blake  <ebb9@byu.net>
30025
30026         math: add portability warnings for classification macros
30027         * modules/math (Depends-on): Add warn-on-use.
30028         (Makefile.am): Provide new substitutions.
30029         * m4/math_h.m4 (gl_MATH_H): Require inline.
30030         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
30031         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
30032         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
30033         implement warnings.
30034
30035         unistd: warn on use of environ without module
30036         * modules/unistd (Depends-on): Add warn-on-use.
30037         (Makefile.am): Provide new substitutions.
30038         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
30039         * lib/unistd.in.h (environ): Wrap with a warning helper function.
30040
30041         stdio: warn on suspicious uses
30042         * modules/stdio (Depends-on): Add warn-on-use.
30043         (Makefile.am): Provide new substitutions.
30044         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
30045         fseeko.
30046         * lib/stdio.in.h (gets): Always warn on use.
30047         (fseek, ftell): Adjust when warnings are issued, and honor
30048         _GL_NO_LARGE_FILES as a way to silence the warning.
30049         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
30050         any warning about large file offsets.
30051         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
30052         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
30053         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
30054         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
30055         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
30056         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
30057         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
30058         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
30059
30060         warn-on-use: new module
30061         * modules/warn-on-use: New file.
30062         * build-aux/warn-on-use.h: Likewise.
30063         * m4/warn-on-use.m4: Likewise.
30064         * MODULES.html.sh (Support for building): Mention it.
30065
30066 2010-01-10  Bruno Haible  <bruno@clisp.org>
30067
30068         Tests for module 'unistr/u32-strdup'.
30069         * modules/unistr/u32-strdup-tests: New file.
30070         * tests/unistr/test-u32-strdup.c: New file.
30071
30072         Tests for module 'unistr/u16-strdup'.
30073         * modules/unistr/u16-strdup-tests: New file.
30074         * tests/unistr/test-u16-strdup.c: New file.
30075
30076         Tests for module 'unistr/u8-strdup'.
30077         * modules/unistr/u8-strdup-tests: New file.
30078         * tests/unistr/test-u8-strdup.c: New file.
30079         * tests/unistr/test-strdup.h: New file.
30080
30081         Tests for module 'unistr/u32-strncmp'.
30082         * modules/unistr/u32-strncmp-tests: New file.
30083         * tests/unistr/test-u32-strncmp.c: New file.
30084
30085         Tests for module 'unistr/u16-strncmp'.
30086         * modules/unistr/u16-strncmp-tests: New file.
30087         * tests/unistr/test-u16-strncmp.c: New file.
30088
30089         Tests for module 'unistr/u8-strncmp'.
30090         * modules/unistr/u8-strncmp-tests: New file.
30091         * tests/unistr/test-u8-strncmp.c: New file.
30092         * tests/unistr/test-strncmp.h: New file.
30093
30094         Tests for module 'unistr/u32-strcoll'.
30095         * modules/unistr/u32-strcoll-tests: New file.
30096         * tests/unistr/test-u32-strcoll.c: New file.
30097
30098         Tests for module 'unistr/u16-strcoll'.
30099         * modules/unistr/u16-strcoll-tests: New file.
30100         * tests/unistr/test-u16-strcoll.c: New file.
30101
30102         Tests for module 'unistr/u8-strcoll'.
30103         * modules/unistr/u8-strcoll-tests: New file.
30104         * tests/unistr/test-u8-strcoll.c: New file.
30105
30106         Tests for module 'unistr/u32-strcmp'.
30107         * modules/unistr/u32-strcmp-tests: New file.
30108         * tests/unistr/test-u32-strcmp.c: New file.
30109         * tests/unistr/test-u32-strcmp.h: New file.
30110
30111         Tests for module 'unistr/u16-strcmp'.
30112         * modules/unistr/u16-strcmp-tests: New file.
30113         * tests/unistr/test-u16-strcmp.c: New file.
30114         * tests/unistr/test-u16-strcmp.h: New file.
30115
30116         Tests for module 'unistr/u8-strcmp'.
30117         * modules/unistr/u8-strcmp-tests: New file.
30118         * tests/unistr/test-u8-strcmp.c: New file.
30119         * tests/unistr/test-u8-strcmp.h: New file.
30120         * tests/unistr/test-strcmp.h: New file.
30121
30122         Tests for module 'unistr/u32-strncat'.
30123         * modules/unistr/u32-strncat-tests: New file.
30124         * tests/unistr/test-u32-strncat.c: New file.
30125
30126         Tests for module 'unistr/u16-strncat'.
30127         * modules/unistr/u16-strncat-tests: New file.
30128         * tests/unistr/test-u16-strncat.c: New file.
30129
30130         Tests for module 'unistr/u8-strncat'.
30131         * modules/unistr/u8-strncat-tests: New file.
30132         * tests/unistr/test-u8-strncat.c: New file.
30133         * tests/unistr/test-strncat.h: New file.
30134
30135         Tests for module 'unistr/u32-strcat'.
30136         * modules/unistr/u32-strcat-tests: New file.
30137         * tests/unistr/test-u32-strcat.c: New file.
30138
30139         Tests for module 'unistr/u16-strcat'.
30140         * modules/unistr/u16-strcat-tests: New file.
30141         * tests/unistr/test-u16-strcat.c: New file.
30142
30143         Tests for module 'unistr/u8-strcat'.
30144         * modules/unistr/u8-strcat-tests: New file.
30145         * tests/unistr/test-u8-strcat.c: New file.
30146         * tests/unistr/test-strcat.h: New file.
30147
30148         Tests for module 'unistr/u32-stpncpy'.
30149         * modules/unistr/u32-stpncpy-tests: New file.
30150         * tests/unistr/test-u32-stpncpy.c: New file.
30151
30152         Tests for module 'unistr/u16-stpncpy'.
30153         * modules/unistr/u16-stpncpy-tests: New file.
30154         * tests/unistr/test-u16-stpncpy.c: New file.
30155
30156         Tests for module 'unistr/u8-stpncpy'.
30157         * modules/unistr/u8-stpncpy-tests: New file.
30158         * tests/unistr/test-u8-stpncpy.c: New file.
30159         * tests/unistr/test-stpncpy.h: New file.
30160
30161         Tests for module 'unistr/u32-strncpy'.
30162         * modules/unistr/u32-strncpy-tests: New file.
30163         * tests/unistr/test-u32-strncpy.c: New file.
30164
30165         Tests for module 'unistr/u16-strncpy'.
30166         * modules/unistr/u16-strncpy-tests: New file.
30167         * tests/unistr/test-u16-strncpy.c: New file.
30168
30169         Tests for module 'unistr/u8-strncpy'.
30170         * modules/unistr/u8-strncpy-tests: New file.
30171         * tests/unistr/test-u8-strncpy.c: New file.
30172         * tests/unistr/test-strncpy.h: New file.
30173
30174         Tests for module 'unistr/u32-stpcpy'.
30175         * modules/unistr/u32-stpcpy-tests: New file.
30176         * tests/unistr/test-u32-stpcpy.c: New file.
30177
30178         Tests for module 'unistr/u16-stpcpy'.
30179         * modules/unistr/u16-stpcpy-tests: New file.
30180         * tests/unistr/test-u16-stpcpy.c: New file.
30181
30182         Tests for module 'unistr/u8-stpcpy'.
30183         * modules/unistr/u8-stpcpy-tests: New file.
30184         * tests/unistr/test-u8-stpcpy.c: New file.
30185         * tests/unistr/test-stpcpy.h: New file.
30186
30187         Tests for module 'unistr/u32-strcpy'.
30188         * modules/unistr/u32-strcpy-tests: New file.
30189         * tests/unistr/test-u32-strcpy.c: New file.
30190
30191         Tests for module 'unistr/u16-strcpy'.
30192         * modules/unistr/u16-strcpy-tests: New file.
30193         * tests/unistr/test-u16-strcpy.c: New file.
30194
30195         Tests for module 'unistr/u8-strcpy'.
30196         * modules/unistr/u8-strcpy-tests: New file.
30197         * tests/unistr/test-u8-strcpy.c: New file.
30198         * tests/unistr/test-strcpy.h: New file.
30199
30200         Tests for module 'unistr/u32-strnlen'.
30201         * modules/unistr/u32-strnlen-tests: New file.
30202         * tests/unistr/test-u32-strnlen.c: New file.
30203
30204         Tests for module 'unistr/u16-strnlen'.
30205         * modules/unistr/u16-strnlen-tests: New file.
30206         * tests/unistr/test-u16-strnlen.c: New file.
30207
30208         Tests for module 'unistr/u8-strnlen'.
30209         * modules/unistr/u8-strnlen-tests: New file.
30210         * tests/unistr/test-u8-strnlen.c: New file.
30211         * tests/unistr/test-strnlen.h: New file.
30212
30213         Tests for module 'unistr/u32-strlen'.
30214         * modules/unistr/u32-strlen-tests: New file.
30215         * tests/unistr/test-u32-strlen.c: New file.
30216
30217         Tests for module 'unistr/u16-strlen'.
30218         * modules/unistr/u16-strlen-tests: New file.
30219         * tests/unistr/test-u16-strlen.c: New file.
30220
30221         Tests for module 'unistr/u8-strlen'.
30222         * modules/unistr/u8-strlen-tests: New file.
30223         * tests/unistr/test-u8-strlen.c: New file.
30224
30225         Tests for module 'unistr/u32-prev'.
30226         * modules/unistr/u32-prev-tests: New file.
30227         * tests/unistr/test-u32-prev.c: New file.
30228
30229         Tests for module 'unistr/u16-prev'.
30230         * modules/unistr/u16-prev-tests: New file.
30231         * tests/unistr/test-u16-prev.c: New file.
30232
30233         Tests for module 'unistr/u8-prev'.
30234         * modules/unistr/u8-prev-tests: New file.
30235         * tests/unistr/test-u8-prev.c: New file.
30236
30237         Tests for module 'unistr/u32-next'.
30238         * modules/unistr/u32-next-tests: New file.
30239         * tests/unistr/test-u32-next.c: New file.
30240
30241         Tests for module 'unistr/u16-next'.
30242         * modules/unistr/u16-next-tests: New file.
30243         * tests/unistr/test-u16-next.c: New file.
30244
30245         Tests for module 'unistr/u8-next'.
30246         * modules/unistr/u8-next-tests: New file.
30247         * tests/unistr/test-u8-next.c: New file.
30248
30249         Tests for module 'unistr/u32-strmbtouc'.
30250         * modules/unistr/u32-strmbtouc-tests: New file.
30251         * tests/unistr/test-u32-strmbtouc.c: New file.
30252
30253         Tests for module 'unistr/u16-strmbtouc'.
30254         * modules/unistr/u16-strmbtouc-tests: New file.
30255         * tests/unistr/test-u16-strmbtouc.c: New file.
30256
30257         Tests for module 'unistr/u8-strmbtouc'.
30258         * modules/unistr/u8-strmbtouc-tests: New file.
30259         * tests/unistr/test-u8-strmbtouc.c: New file.
30260
30261         Tests for module 'unistr/u32-strmblen'.
30262         * modules/unistr/u32-strmblen-tests: New file.
30263         * tests/unistr/test-u32-strmblen.c: New file.
30264
30265         Tests for module 'unistr/u16-strmblen'.
30266         * modules/unistr/u16-strmblen-tests: New file.
30267         * tests/unistr/test-u16-strmblen.c: New file.
30268
30269         Tests for module 'unistr/u8-strmblen'.
30270         * modules/unistr/u8-strmblen-tests: New file.
30271         * tests/unistr/test-u8-strmblen.c: New file.
30272
30273         Tests for module 'unistr/u32-cpy-alloc'.
30274         * modules/unistr/u32-cpy-alloc-tests: New file.
30275         * tests/unistr/test-u32-cpy-alloc.c: New file.
30276
30277         Tests for module 'unistr/u16-cpy-alloc'.
30278         * modules/unistr/u16-cpy-alloc-tests: New file.
30279         * tests/unistr/test-u16-cpy-alloc.c: New file.
30280
30281         Tests for module 'unistr/u8-cpy-alloc'.
30282         * modules/unistr/u8-cpy-alloc-tests: New file.
30283         * tests/unistr/test-u8-cpy-alloc.c: New file.
30284         * tests/unistr/test-cpy-alloc.h: New file.
30285
30286         Tests for module 'unistr/u32-mbsnlen'.
30287         * modules/unistr/u32-mbsnlen-tests: New file.
30288         * tests/unistr/test-u32-mbsnlen.c: New file.
30289
30290         Tests for module 'unistr/u16-mbsnlen'.
30291         * modules/unistr/u16-mbsnlen-tests: New file.
30292         * tests/unistr/test-u16-mbsnlen.c: New file.
30293
30294         Tests for module 'unistr/u8-mbsnlen'.
30295         * modules/unistr/u8-mbsnlen-tests: New file.
30296         * tests/unistr/test-u8-mbsnlen.c: New file.
30297
30298         Tests for module 'unistr/u32-chr'.
30299         * modules/unistr/u32-chr-tests: New file.
30300         * tests/unistr/test-u32-chr.c: New file.
30301
30302         Tests for module 'unistr/u16-chr'.
30303         * modules/unistr/u16-chr-tests: New file.
30304         * tests/unistr/test-u16-chr.c: New file.
30305
30306         Tests for module 'unistr/u8-chr'.
30307         * modules/unistr/u8-chr-tests: New file.
30308         * tests/unistr/test-u8-chr.c: New file.
30309         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
30310
30311         Tests for module 'unistr/u32-cmp2'.
30312         * modules/unistr/u32-cmp2-tests: New file.
30313         * tests/unistr/test-u32-cmp2.c: New file.
30314
30315         Tests for module 'unistr/u16-cmp2'.
30316         * modules/unistr/u16-cmp2-tests: New file.
30317         * tests/unistr/test-u16-cmp2.c: New file.
30318
30319         Tests for module 'unistr/u8-cmp2'.
30320         * modules/unistr/u8-cmp2-tests: New file.
30321         * tests/unistr/test-u8-cmp2.c: New file.
30322         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
30323
30324         Tests for module 'unistr/u32-cmp'.
30325         * modules/unistr/u32-cmp-tests: New file.
30326         * tests/unistr/test-u32-cmp.c: New file.
30327
30328         Tests for module 'unistr/u16-cmp'.
30329         * modules/unistr/u16-cmp-tests: New file.
30330         * tests/unistr/test-u16-cmp.c: New file.
30331
30332         Tests for module 'unistr/u8-cmp'.
30333         * modules/unistr/u8-cmp-tests: New file.
30334         * tests/unistr/test-u8-cmp.c: New file.
30335         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
30336
30337         Tests for module 'unistr/u32-set'.
30338         * modules/unistr/u32-set-tests: New file.
30339         * tests/unistr/test-u32-set.c: New file.
30340
30341         Tests for module 'unistr/u16-set'.
30342         * modules/unistr/u16-set-tests: New file.
30343         * tests/unistr/test-u16-set.c: New file.
30344
30345         Tests for module 'unistr/u8-set'.
30346         * modules/unistr/u8-set-tests: New file.
30347         * tests/unistr/test-u8-set.c: New file.
30348         * tests/unistr/test-set.h: New file.
30349
30350         Tests for module 'unistr/u32-move'.
30351         * modules/unistr/u32-move-tests: New file.
30352         * tests/unistr/test-u32-move.c: New file.
30353
30354         Tests for module 'unistr/u16-move'.
30355         * modules/unistr/u16-move-tests: New file.
30356         * tests/unistr/test-u16-move.c: New file.
30357
30358         Tests for module 'unistr/u8-move'.
30359         * modules/unistr/u8-move-tests: New file.
30360         * tests/unistr/test-u8-move.c: New file.
30361         * tests/unistr/test-move.h: New file.
30362
30363         Tests for module 'unistr/u32-cpy'.
30364         * modules/unistr/u32-cpy-tests: New file.
30365         * tests/unistr/test-u32-cpy.c: New file.
30366
30367         Tests for module 'unistr/u16-cpy'.
30368         * modules/unistr/u16-cpy-tests: New file.
30369         * tests/unistr/test-u16-cpy.c: New file.
30370
30371         Tests for module 'unistr/u8-cpy'.
30372         * modules/unistr/u8-cpy-tests: New file.
30373         * tests/unistr/test-u8-cpy.c: New file.
30374         * tests/unistr/test-cpy.h: New file.
30375
30376 2010-01-09  Bruno Haible  <bruno@clisp.org>
30377
30378         Tests for module 'unistr/u32-uctomb'.
30379         * modules/unistr/u32-uctomb-tests: New file.
30380         * tests/unistr/test-u32-uctomb.c: New file.
30381
30382         Tests for module 'unistr/u16-uctomb'.
30383         * modules/unistr/u16-uctomb-tests: New file.
30384         * tests/unistr/test-u16-uctomb.c: New file.
30385
30386         Tests for module 'unistr/u8-uctomb'.
30387         * modules/unistr/u8-uctomb-tests: New file.
30388         * tests/unistr/test-u8-uctomb.c: New file.
30389
30390         Tests for module 'unistr/u32-mbtoucr'.
30391         * modules/unistr/u32-mbtoucr-tests: New file.
30392         * tests/unistr/test-u32-mbtoucr.c: New file.
30393
30394         Tests for module 'unistr/u16-mbtoucr'.
30395         * modules/unistr/u16-mbtoucr-tests: New file.
30396         * tests/unistr/test-u16-mbtoucr.c: New file.
30397
30398         Tests for module 'unistr/u8-mbtoucr'.
30399         * modules/unistr/u8-mbtoucr-tests: New file.
30400         * tests/unistr/test-u8-mbtoucr.c: New file.
30401
30402         Tests for module 'unistr/u32-mbtouc'.
30403         * modules/unistr/u32-mbtouc-tests: New file.
30404         * tests/unistr/test-u32-mbtouc.c: New file.
30405
30406         Tests for module 'unistr/u16-mbtouc'.
30407         * modules/unistr/u16-mbtouc-tests: New file.
30408         * tests/unistr/test-u16-mbtouc.c: New file.
30409
30410         Tests for module 'unistr/u8-mbtouc'.
30411         * modules/unistr/u8-mbtouc-tests: New file.
30412         * tests/unistr/test-u8-mbtouc.c: New file.
30413
30414         Tests for module 'unistr/u32-mbtouc-unsafe'.
30415         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
30416         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
30417         * tests/unistr/test-u32-mbtouc.h: New file.
30418
30419         Tests for module 'unistr/u16-mbtouc-unsafe'.
30420         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
30421         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
30422         * tests/unistr/test-u16-mbtouc.h: New file.
30423
30424         Tests for module 'unistr/u8-mbtouc-unsafe'.
30425         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
30426         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
30427         * tests/unistr/test-u8-mbtouc.h: New file.
30428
30429         Tests for module 'unistr/u32-mblen'.
30430         * modules/unistr/u32-mblen-tests: New file.
30431         * tests/unistr/test-u32-mblen.c: New file.
30432
30433         Tests for module 'unistr/u16-mblen'.
30434         * modules/unistr/u16-mblen-tests: New file.
30435         * tests/unistr/test-u16-mblen.c: New file.
30436
30437         Tests for module 'unistr/u8-mblen'.
30438         * modules/unistr/u8-mblen-tests: New file.
30439         * tests/unistr/test-u8-mblen.c: New file.
30440
30441         Tests for module 'unistr/u32-to-u16'.
30442         * modules/unistr/u32-to-u16-tests: New file.
30443         * tests/unistr/test-u32-to-u16.c: New file.
30444
30445         Tests for module 'unistr/u32-to-u8'.
30446         * modules/unistr/u32-to-u8-tests: New file.
30447         * tests/unistr/test-u32-to-u8.c: New file.
30448
30449         Tests for module 'unistr/u16-to-u32'.
30450         * modules/unistr/u16-to-u32-tests: New file.
30451         * tests/unistr/test-u16-to-u32.c: New file.
30452
30453         Tests for module 'unistr/u16-to-u8'.
30454         * modules/unistr/u16-to-u8-tests: New file.
30455         * tests/unistr/test-u16-to-u8.c: New file.
30456
30457         Tests for module 'unistr/u8-to-u32'.
30458         * modules/unistr/u8-to-u32-tests: New file.
30459         * tests/unistr/test-u8-to-u32.c: New file.
30460
30461         Tests for module 'unistr/u8-to-u16'.
30462         * modules/unistr/u8-to-u16-tests: New file.
30463         * tests/unistr/test-u8-to-u16.c: New file.
30464
30465         Tests for module 'unistr/u32-check'.
30466         * modules/unistr/u32-check-tests: New file.
30467         * tests/unistr/test-u32-check.c: New file.
30468
30469         Tests for module 'unistr/u16-check'.
30470         * modules/unistr/u16-check-tests: New file.
30471         * tests/unistr/test-u16-check.c: New file.
30472
30473         Tests for module 'unistr/u8-check'.
30474         * modules/unistr/u8-check-tests: New file.
30475         * tests/unistr/test-u8-check.c: New file.
30476
30477         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
30478         (category_equals): New function.
30479         (main): Add more tests.
30480         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
30481
30482         * tests/unictype/test-bidi_byname.c (main): Add more tests.
30483
30484 2010-01-10  Bruno Haible  <bruno@clisp.org>
30485
30486         unistr/u*-strcoll: Try harder to distinguish different strings.
30487         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
30488         compare s1 and s2 to see if they are different.
30489
30490 2010-01-10  Bruno Haible  <bruno@clisp.org>
30491
30492         unistr/u*-stpncpy: Fix the return value.
30493         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
30494         description of the return value consistent with stpncpy in glibc.
30495         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
30496         written non-NUL unit.
30497
30498 2010-01-10  Bruno Haible  <bruno@clisp.org>
30499
30500         unistr/u*-next: Add missing dependencies.
30501         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
30502         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
30503         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
30504
30505 2010-01-10  Bruno Haible  <bruno@clisp.org>
30506
30507         unistr/u8-mbsnlen: Fix return value for incomplete character.
30508         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
30509         u8_mblen.
30510         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
30511         Remove unistr/u8-mblen.
30512         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
30513         u16_mblen.
30514         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
30515         Remove unistr/u16-mblen.
30516
30517 2010-01-10  Bruno Haible  <bruno@clisp.org>
30518
30519         wchar: Fix compilation error when <wchar.h> is used from coreutils.
30520         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
30521         Reported by Brian Gough <bjg@gnu.org> and
30522         Chris Clayton <chris2553@googlemail.com> via
30523         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
30524
30525 2010-01-09  Bruno Haible  <bruno@clisp.org>
30526
30527         unistr/u16-to-u32: Reject invalid input.
30528         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
30529         u16_mbtouc.
30530         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
30531         Remove unistr/u16-mbtouc.
30532
30533         unistr/u16-to-u8: Reject invalid input.
30534         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
30535         u16_mbtouc.
30536         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
30537         Remove unistr/u16-mbtouc.
30538
30539         unistr/u8-to-u32: Reject invalid input.
30540         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
30541         u8_mbtouc.
30542         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
30543         Remove unistr/u8-mbtouc.
30544
30545         unistr/u8-to-u16: Reject invalid input.
30546         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
30547         u8_mbtouc.
30548         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
30549         Remove unistr/u8-mbtouc.
30550
30551 2010-01-09  Bruno Haible  <bruno@clisp.org>
30552
30553         Tests for module 'getlogin'.
30554         * modules/getlogin-tests: New file.
30555         * tests/test-getlogin.c: New file.
30556
30557         New module 'getlogin'.
30558         * lib/unistd.in.h (getlogin): New declaration.
30559         * lib/getlogin.c: New file.
30560         * m4/getlogin.m4: New file.
30561         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
30562         HAVE_GETLOGIN.
30563         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
30564         HAVE_GETLOGIN.
30565         * modules/getlogin: New file.
30566         * doc/posix-functions/getlogin.texi: Mention the new module.
30567         Reported by John W. Eaton <jwe@gnu.org>.
30568
30569 2010-01-09  Bruno Haible  <bruno@clisp.org>
30570
30571         getlogin_r: Support for native Windows.
30572         * lib/getlogin_r.c: Include <windows.h>
30573         (getlogin_r): Implement for native Windows.
30574         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
30575         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
30576         via John W. Eaton <jwe@gnu.org>.
30577
30578 2010-01-09  Bruno Haible  <bruno@clisp.org>
30579
30580         getlogin_r: Small fixes.
30581         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
30582         succeeds.
30583         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
30584         before testing whether getlogin_r is declared. No need to set
30585         HAVE_DECL_GETLOGIN_R to 1.
30586         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
30587
30588 2010-01-09  Bruno Haible  <bruno@clisp.org>
30589
30590         * lib/unistd.in.h (getlogin_r): Add comment.
30591
30592 2010-01-09  Bruno Haible  <bruno@clisp.org>
30593
30594         Tests for module 'getlogin_r'.
30595         * modules/getlogin_r-tests: New file.
30596         * tests/test-getlogin_r.c: New file.
30597
30598 2010-01-09  Jim Meyering  <meyering@redhat.com>
30599
30600         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
30601         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
30602         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
30603
30604 2010-01-08  Simon Josefsson  <simon@josefsson.org>
30605
30606         * lib/dup2.c (rpl_dup2): Improve comment.
30607
30608 2010-01-08  Eric Blake  <ebb9@byu.net>
30609
30610         maint.mk: allow packages to add makefile @@ exceptions
30611         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
30612         (sc_makefile_check): Rename...
30613         (sc_makefile_at_at_check): ...to this, and use hook.
30614
30615         dup2: work around mingw bug
30616         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
30617         Reported by Simon Josefsson.
30618
30619 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
30620
30621         glob: Fix C++ compilation.
30622         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
30623         C++.
30624
30625 2010-01-07  Bruno Haible  <bruno@clisp.org>
30626
30627         Fix indentation of wctype.in.h, broken since 2007-01-06.
30628         * lib/wctype.in.h: Fix indentation of preprocessor directives.
30629
30630 2010-01-07  Bruno Haible  <bruno@clisp.org>
30631
30632         mbslen: Avoid collision with system function.
30633         * lib/string.in.h [MirBSD]: Include <wchar.h>.
30634         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
30635         * m4/mbslen.m4: New file.
30636         * modules/mbslen (Files): Add it.
30637         (configure.ac): Invoke gl_MBSLEN.
30638         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
30639         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
30640         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
30641         via Ian Beckwith <ianb@erislabs.net>.
30642
30643 2010-01-07  Bruno Haible  <bruno@clisp.org>
30644
30645         dirent: Document the last fix.
30646         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
30647
30648 2010-01-07  Bruno Haible  <bruno@clisp.org>
30649
30650         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
30651         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
30652         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
30653         va_list are defined.
30654         * doc/posix-headers/stdio.texi: Document the bug of missing types.
30655         Reported by Eric Blake.
30656
30657 2010-01-07  Bruno Haible  <bruno@clisp.org>
30658
30659         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
30660         * modules/xlist (Depends-on): Add 'list',
30661         * modules/xoset (Depends-on): Add 'oset'.
30662         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30663
30664 2010-01-07  Bruno Haible  <bruno@clisp.org>
30665
30666         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
30667         * doc/posix-functions/strncasecmp.texi: Likewise.
30668
30669 2010-01-07  Bruno Haible  <bruno@clisp.org>
30670
30671         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
30672
30673 2010-01-07  John W. Eaton  <jwe@octave.org>
30674
30675         wctype: allow C++ use
30676         * lib/wctype.in.h: Add extern "C" block for C++.
30677
30678 2010-01-06  Eric Blake  <ebb9@byu.net>
30679
30680         maint.mk: detect incorrect GFDL usage
30681         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
30682
30683 2010-01-06  Jim Meyering  <meyering@redhat.com>
30684         and Eric Blake  <ebb9@byu.net>
30685
30686         maint.mk: ignore multi-line copyright in NEWS
30687         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
30688
30689 2010-01-06  Eric Blake  <ebb9@byu.net>
30690
30691         select: add missing dependency
30692         * modules/select-tests (Depends-on): Move sockets dependency...
30693         * modules/select (Depends-on): ...here.
30694         Reported by Ian Beckwith.
30695
30696         doc: regenerate INSTALL
30697         * doc/INSTALL: Reflect recent autoconf update.
30698         * doc/INSTALL.ISO: Likewise.
30699         * doc/INSTALL.UTF-8: Likewise.
30700
30701         pread: fix compilation on glibc
30702         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
30703         Reported by Ralf Wildenhues.
30704
30705         dirent: fix test failure
30706         * lib/dirent.in.h (includes): Guarantee ino_t.
30707         Reported by Ralf Wildenhues.
30708
30709 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
30710
30711         linkat, renameat: avoid bad free
30712         * lib/at-func2.c (at_func2): Fix typo.
30713         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
30714
30715 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30716
30717         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
30718         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
30719         to avoid failure of symlink test later.
30720
30721 2010-01-06  Eric Blake  <ebb9@byu.net>
30722
30723         stdio, unistd: guarantee ssize_t
30724         * lib/unistd.in.h (includes): Ensure that types required by POSIX
30725         2008 are exposed when needed.
30726         * lib/stdio.in.h (includes): Likewise.
30727         Reported by Ralf Wildenhues.
30728
30729 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
30730
30731         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
30732         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
30733         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
30734
30735 2010-01-06  Jim Meyering  <meyering@redhat.com>
30736
30737         readtokens: this module *does* require xalloc.h
30738         It uses only functions that were omitted by the old syntax-check rule.
30739         * lib/readtokens.c: Include "xalloc.h" once again.
30740         * modules/readtokens (Depends-on): Add xalloc.
30741         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
30742
30743 2010-01-05  Eric Blake  <ebb9@byu.net>
30744
30745         maint: support 'make announcement' from a VPATH build
30746         * top/maint.mk (announcement): Look for correct NEWS file.
30747
30748 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
30749
30750         utimens (fdutimens): ignore a negative FD, per contract
30751         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
30752         when we have a valid file descriptor.  Otherwise, using a brand
30753         new glibc (with just-patched futimens that now fails with EBADF)
30754         would cause this function to fail with ENOSYS.
30755         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
30756         See also http://bugzilla.redhat.com/552320.
30757
30758 2010-01-05  Eric Blake  <ebb9@byu.net>
30759
30760         strcase: document what it provides
30761         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
30762         gnulib module.
30763         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
30764         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
30765
30766 2010-01-05  Jim Meyering  <meyering@redhat.com>
30767
30768         maint: remove useless inclusions of "xalloc.h"
30769         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
30770         * lib/readtokens.c: Likewise.
30771         * lib/same.c: Likewise.
30772         * modules/getloadavg (Depends-on): Remove xalloc.
30773         * modules/readtokens: Likewise.
30774         * modules/same: Likewise.
30775
30776         maint.mk: include 4 more function names in alloca.h-checking regexp
30777         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
30778         regexp.  Before, we would give a false-positive (saying alloca.h
30779         is included unnecessarily) when the only uses involved omitted symbols.
30780
30781         xalloc.h: use consistent formatting
30782         * lib/xalloc.h: Move declarations to start in the first column.
30783
30784 2010-01-05  Eric Blake  <ebb9@byu.net>
30785
30786         mkdir: avoid xalloc
30787         * lib/mkdir.c (includes): Drop unused header.
30788         Reported by John W. Eaton.
30789
30790 2010-01-04  Jim Meyering  <meyering@redhat.com>
30791
30792         nl_langinfo: avoid configure-time syntax error
30793         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
30794         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
30795         the empty string.  Don't let that provoke a shell syntax error.
30796
30797         regcomp, regexec, fnmatch: avoid array bounds read error
30798         * lib/regcomp.c (build_equiv_class): From glibc:
30799         Use only the low 24 bits of a findidx return value as an index
30800         into the weights array.  Patch by Ulrich Drepper:
30801         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
30802         * lib/regexec.c (check_node_accept_bytes): Likewise.
30803         * lib/fnmatch_loop.c (FCT): Likewise.
30804
30805         regcomp: skip collseq lookup when there are no rules
30806         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
30807         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
30808
30809         regcomp: recognize ill-formed { } expressions
30810         * lib/regcomp.c (parse_dup_op): From glibc:
30811         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
30812
30813         regcomp: fix typo in comment
30814         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
30815         s/satisfy/satisfies/.
30816
30817         regcomp: sync from glibc: remove dead store
30818         * lib/regcomp.c (duplicate_node_closure): Remove useless
30819         search_duplicated_node call and dead store.
30820
30821         regcomp: sync from glibc; always use nl_langinfo
30822         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
30823         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
30824         * modules/regex (Depends-on): Add nl_langinfo.
30825
30826 2010-01-04  Eric Blake  <ebb9@byu.net>
30827
30828         fdopendir: fix configure test
30829         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
30830
30831 2010-01-01  Bruno Haible  <bruno@clisp.org>
30832
30833         wchar: Remove unused configure check.
30834         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
30835
30836 2010-01-01  Eric Blake  <ebb9@byu.net>
30837
30838         headers: make check of system header explicit
30839         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
30840         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
30841         ourselves.
30842         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
30843         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
30844         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
30845         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
30846         internals.
30847         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
30848         missing.
30849         Suggested by Bruno Haible.
30850
30851 2010-01-01  Jim Meyering  <meyering@redhat.com>
30852
30853         ChangeLog: tweak to eliminate unnecessary copyright line
30854         * ChangeLog: Remove a copyright line that was mistakenly updated
30855         by today's update-copyright run.  Reported by Eric Blake.
30856
30857         test-update-copyright: don't let envvar setting cause test failure
30858         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
30859
30860 2010-01-01  Bruno Haible  <bruno@clisp.org>
30861
30862         localename: Avoid gcc warning.
30863         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
30864         function if it is not used.
30865
30866 2010-01-01  Jim Meyering  <meyering@redhat.com>
30867
30868         update nearly all FSF copyright year lists to include 2010
30869         Use the same procedure as for 2009, outlined in
30870         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
30871
30872         version-etc: set COPYRIGHT_YEAR to 2010
30873         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
30874
30875 2009-12-31  Eric Blake  <ebb9@byu.net>
30876
30877         doc: correct availability of cygwin 1.5.x getopt
30878         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
30879         variables.
30880         * doc/posix-functions/opterr.texi (opterr): Likewise.
30881         * doc/posix-functions/optind.texi (optind): Likewise.
30882         * doc/posix-functions/optopt.texi (optopt): Likewise.
30883         * doc/posix-functions/tzname.texi (tzname): Likewise.
30884
30885         openat: update maintainer
30886         * modules/openat (Maintainer): Add myself.
30887
30888         utimens: avoid shadowing warning
30889         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
30890         buffers into one, to avoid shadowing, as well as avoiding a
30891         redundant stat.
30892         Reported by Jim Meyering.
30893
30894         test-dup2: avoid compiler warning
30895         * tests/test-dup2.c (is_inheritable): Only define if used.
30896
30897 2010-01-01  Bruno Haible  <bruno@clisp.org>
30898
30899         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
30900         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
30901         defined, use wctomb instead of wcrtomb.
30902
30903 2010-01-01  Bruno Haible  <bruno@clisp.org>
30904
30905         iconv: Reject native Solaris iconv.
30906         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
30907         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
30908
30909 2009-12-31  Bruno Haible  <bruno@clisp.org>
30910
30911         * tests/test-signal.c (main): Remove test of 'SIG'.
30912
30913 2009-12-31  Bruno Haible  <bruno@clisp.org>
30914
30915         spawn: Fix incomplete fix.
30916         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
30917         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
30918         warnings for GNULIB_POSIXCHECK again.
30919         Reported by Eric Blake.
30920
30921 2009-12-31  Bruno Haible  <bruno@clisp.org>
30922
30923         Avoid namespace pollution on glibc systems.
30924         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
30925         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
30926         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
30927         glibc systems.
30928
30929 2009-12-31  Bruno Haible  <bruno@clisp.org>
30930
30931         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
30932         (gl_REPLACE_WCHAR_H): Turn into a no-op.
30933         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
30934         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
30935         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
30936         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
30937         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
30938
30939 2009-12-31  Bruno Haible  <bruno@clisp.org>
30940
30941         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
30942         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
30943         afterwards.
30944
30945 2009-12-31  Bruno Haible  <bruno@clisp.org>
30946
30947         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
30948         SYS_UTSNAME_H.
30949
30950 2009-12-31  Bruno Haible  <bruno@clisp.org>
30951
30952         spawn: Fix misapplied patch.
30953         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
30954         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
30955         warnings for GNULIB_POSIXCHECK.
30956
30957 2009-12-31  Bruno Haible  <bruno@clisp.org>
30958
30959         times: Update after sys_times changed.
30960         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
30961         * modules/times (Files): Add it.
30962         (configure.ac): Invoke gl_FUNC_TIMES.
30963
30964 2009-12-31  Bruno Haible  <bruno@clisp.org>
30965
30966         Use AC_C_INLINE where necessary.
30967         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
30968         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
30969         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
30970         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
30971         * m4/mbfile.m4 (gl_MBFILE): Likewise.
30972         * m4/mbiter.m4 (gl_MBITER): Likewise.
30973         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
30974         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
30975         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
30976         * modules/u64 (configure.ac): Likewise.
30977
30978 2009-12-31  Bruno Haible  <bruno@clisp.org>
30979
30980         Use AC_C_INLINE instead of module 'inline' where possible.
30981         * modules/inline (Description): Clarify purpose.
30982         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
30983         * modules/count-one-bits (Depends-on): Remove inline.
30984         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
30985         * modules/openat (Depends-on): Remove inline.
30986         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
30987         instead of depending on module 'inline'.
30988         * modules/filevercmp (Depends-on, configure.ac): Likewise.
30989         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
30990         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
30991         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
30992         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
30993         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
30994         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
30995         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
30996         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
30997         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
30998         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
30999         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
31000         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
31001         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
31002         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
31003         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
31004         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
31005         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
31006         Likewise.
31007         * modules/unictype/property-ascii-hex-digit (Depends-on,
31008         configure.ac): Likewise.
31009         * modules/unictype/property-bidi-arabic-digit (Depends-on,
31010         configure.ac): Likewise.
31011         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
31012         configure.ac): Likewise.
31013         * modules/unictype/property-bidi-block-separator (Depends-on,
31014         configure.ac): Likewise.
31015         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
31016         configure.ac): Likewise.
31017         * modules/unictype/property-bidi-common-separator (Depends-on,
31018         configure.ac): Likewise.
31019         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
31020         Likewise.
31021         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
31022         configure.ac): Likewise.
31023         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
31024         configure.ac): Likewise.
31025         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
31026         configure.ac): Likewise.
31027         * modules/unictype/property-bidi-european-digit (Depends-on,
31028         configure.ac): Likewise.
31029         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
31030         configure.ac): Likewise.
31031         * modules/unictype/property-bidi-left-to-right (Depends-on,
31032         configure.ac): Likewise.
31033         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
31034         configure.ac): Likewise.
31035         * modules/unictype/property-bidi-other-neutral (Depends-on,
31036         configure.ac): Likewise.
31037         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
31038         Likewise.
31039         * modules/unictype/property-bidi-segment-separator (Depends-on,
31040         configure.ac): Likewise.
31041         * modules/unictype/property-bidi-whitespace (Depends-on,
31042         configure.ac): Likewise.
31043         * modules/unictype/property-combining (Depends-on, configure.ac):
31044         Likewise.
31045         * modules/unictype/property-composite (Depends-on, configure.ac):
31046         Likewise.
31047         * modules/unictype/property-currency-symbol (Depends-on,
31048         configure.ac): Likewise.
31049         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
31050         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
31051         Likewise.
31052         * modules/unictype/property-default-ignorable-code-point (Depends-on,
31053         configure.ac): Likewise.
31054         * modules/unictype/property-deprecated (Depends-on, configure.ac):
31055         Likewise.
31056         * modules/unictype/property-diacritic (Depends-on, configure.ac):
31057         Likewise.
31058         * modules/unictype/property-extender (Depends-on, configure.ac):
31059         Likewise.
31060         * modules/unictype/property-format-control (Depends-on, configure.ac):
31061         Likewise.
31062         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
31063         Likewise.
31064         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
31065         Likewise.
31066         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
31067         Likewise.
31068         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
31069         Likewise.
31070         * modules/unictype/property-hyphen (Depends-on, configure.ac):
31071         Likewise.
31072         * modules/unictype/property-id-continue (Depends-on, configure.ac):
31073         Likewise.
31074         * modules/unictype/property-id-start (Depends-on, configure.ac):
31075         Likewise.
31076         * modules/unictype/property-ideographic (Depends-on, configure.ac):
31077         Likewise.
31078         * modules/unictype/property-ids-binary-operator (Depends-on,
31079         configure.ac): Likewise.
31080         * modules/unictype/property-ids-trinary-operator (Depends-on,
31081         configure.ac): Likewise.
31082         * modules/unictype/property-ignorable-control (Depends-on,
31083         configure.ac): Likewise.
31084         * modules/unictype/property-iso-control (Depends-on, configure.ac):
31085         Likewise.
31086         * modules/unictype/property-join-control (Depends-on, configure.ac):
31087         Likewise.
31088         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
31089         Likewise.
31090         * modules/unictype/property-line-separator (Depends-on, configure.ac):
31091         Likewise.
31092         * modules/unictype/property-logical-order-exception (Depends-on,
31093         configure.ac): Likewise.
31094         * modules/unictype/property-lowercase (Depends-on, configure.ac):
31095         Likewise.
31096         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
31097         * modules/unictype/property-non-break (Depends-on, configure.ac):
31098         Likewise.
31099         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
31100         Likewise.
31101         * modules/unictype/property-numeric (Depends-on, configure.ac):
31102         Likewise.
31103         * modules/unictype/property-other-alphabetic (Depends-on,
31104         configure.ac): Likewise.
31105         * modules/unictype/property-other-default-ignorable-code-point
31106         (Depends-on, configure.ac): Likewise.
31107         * modules/unictype/property-other-grapheme-extend (Depends-on,
31108         configure.ac): Likewise.
31109         * modules/unictype/property-other-id-continue (Depends-on,
31110         configure.ac): Likewise.
31111         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
31112         Likewise.
31113         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
31114         Likewise.
31115         * modules/unictype/property-other-math (Depends-on, configure.ac):
31116         Likewise.
31117         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
31118         Likewise.
31119         * modules/unictype/property-paired-punctuation (Depends-on,
31120         configure.ac): Likewise.
31121         * modules/unictype/property-paragraph-separator (Depends-on,
31122         configure.ac): Likewise.
31123         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
31124         Likewise.
31125         * modules/unictype/property-pattern-white-space (Depends-on,
31126         configure.ac): Likewise.
31127         * modules/unictype/property-private-use (Depends-on, configure.ac):
31128         Likewise.
31129         * modules/unictype/property-punctuation (Depends-on, configure.ac):
31130         Likewise.
31131         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
31132         Likewise.
31133         * modules/unictype/property-radical (Depends-on, configure.ac):
31134         Likewise.
31135         * modules/unictype/property-sentence-terminal (Depends-on,
31136         configure.ac): Likewise.
31137         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
31138         Likewise.
31139         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
31140         * modules/unictype/property-terminal-punctuation (Depends-on,
31141         configure.ac): Likewise.
31142         * modules/unictype/property-titlecase (Depends-on, configure.ac):
31143         Likewise.
31144         * modules/unictype/property-unassigned-code-value (Depends-on,
31145         configure.ac): Likewise.
31146         * modules/unictype/property-unified-ideograph (Depends-on,
31147         configure.ac): Likewise.
31148         * modules/unictype/property-uppercase (Depends-on, configure.ac):
31149         Likewise.
31150         * modules/unictype/property-variation-selector (Depends-on,
31151         configure.ac): Likewise.
31152         * modules/unictype/property-white-space (Depends-on, configure.ac):
31153         Likewise.
31154         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
31155         Likewise.
31156         * modules/unictype/property-xid-start (Depends-on, configure.ac):
31157         Likewise.
31158         * modules/unictype/property-zero-width (Depends-on, configure.ac):
31159         Likewise.
31160         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
31161         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
31162         Likewise.
31163
31164 2009-12-31  Bruno Haible  <bruno@clisp.org>
31165
31166         Remove unnecessary AC_C_INLINE invocation.
31167         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
31168         since 2009-08-21.
31169
31170 2009-12-31  Jim Meyering  <meyering@redhat.com>
31171
31172         maint.mk: don't require explicit gpg_key_ID in cfg.mk
31173         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
31174         With this change, we can all remove the gpg_key_ID = ... definition
31175         from our respective cfg.mk files.
31176
31177         maint.mk: create announcement template in ~/, not in /tmp
31178         * top/maint.mk (emit_upload_commands): Adjust.
31179         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
31180         Remove temporary file, .ci-msg.
31181
31182 2009-12-31  Eric Blake  <ebb9@byu.net>
31183
31184         link-warning: always build headers with link warnings
31185         * modules/arpa_inet (Makefile.am): Always build replacement
31186         header.
31187         * modules/ctype (Makefile.am): Likewise.
31188         * modules/dirent (Makefile.am): Likewise.
31189         * modules/inttypes (Makefile.am): Likewise.
31190         * modules/langinfo (Makefile.am): Likewise.
31191         * modules/locale (Makefile.am): Likewise.
31192         * modules/spawn (Makefile.am): Likewise.
31193         * modules/sys_file (Makefile.am): Likewise.
31194         * modules/sys_ioctl (Makefile.am): Likewise.
31195         * modules/sys_select (Makefile.am): Likewise.
31196         * modules/sys_socket (Makefile.am): Likewise.
31197         * modules/sys_times (Makefile.am): Likewise.
31198         * modules/sys_utsname (Makefile.am): Likewise.
31199         * modules/sys_wait (Makefile.am): Likewise.
31200         * modules/wchar (Makefile.am): Likewise.
31201         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
31202         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
31203         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
31204         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
31205         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
31206         Likewise.
31207         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31208         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31209         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
31210         Likewise.
31211         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
31212         Likewise.
31213         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
31214         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
31215         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
31216         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31217         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31218         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
31219         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
31220         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
31221         (gl_WCHAR_H_DEFAULTS): Likewise.
31222
31223 2009-12-31  Eric Blake  <ebb9@byu.net>
31224
31225         signal, spawn: use link warnings
31226         * lib/signal.in.h (sigset_t): Make unconditional.
31227         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
31228         (sigpending, sigprocmask, sigaction): Add link warnings.
31229         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
31230         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
31231         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
31232         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
31233         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
31234         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
31235         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
31236         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
31237         (posix_spawn_file_actions_destroy)
31238         (posix_spawn_file_actions_addopen)
31239         (posix_spawn_file_actions_addclose)
31240         (posix_spawn_file_actions_adddup2): Likewise.
31241         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
31242         * tests/test-signal.c (main): Enhance test.
31243
31244         spawn: improve wrapper support
31245         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
31246         (gl_SPAWN_H_DEFAULTS): New defaults.
31247         * modules/spawn (Makefile.am): Substitute them.
31248         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
31249         Only declare if missing or broken.
31250
31251         sys_times, sys_utsname: use include_next
31252         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
31253         header.
31254         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
31255         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
31256         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
31257         * modules/sys_times (Depends-on): Add include_next.
31258         (Makefile.am): Substitute additional values.
31259         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31260         * lib/sys_times.in.h (includes): Include native header, if
31261         available.
31262         * lib/sys_utsname.in.h (includes): Likewise.
31263         * tests/test-sys_times.c (main): Enhance test.
31264
31265         fdutimensat: revert prior patch
31266         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
31267         utimens.h.
31268         Reported by Bruno Haible.
31269
31270 2009-12-30  Eric Blake  <ebb9@byu.net>
31271
31272         sys_wait: drop link-warning dependency
31273         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
31274         link-warning efforts.
31275         * lib/sys_wait.in.h: Likewise.
31276
31277         fdutimensat: remove bogus dependency
31278         * modules/fdutimensat (Depends-on): Drop inline.
31279
31280         unistd: fix typo
31281         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
31282
31283 2009-12-30  Bruno Haible  <bruno@clisp.org>
31284
31285         Fix compilation error with Solaris cc.
31286         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
31287         * lib/unicase/u16-is-invariant.c: Likewise.
31288         * lib/unicase/u32-is-invariant.c: Likewise.
31289         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
31290
31291 2009-12-30  Bruno Haible  <bruno@clisp.org>
31292
31293         Fix test crash.
31294         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
31295         locales.
31296         Reported by Simon Josefsson <simon@josefsson.org>.
31297
31298 2009-12-30  Bruno Haible  <bruno@clisp.org>
31299
31300         Fix compilation error on most platforms.
31301         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
31302         Reported by Simon Josefsson <simon@josefsson.org>
31303         and Nelson H. F. Beebe <beebe@math.utah.edu>.
31304
31305 2009-12-30  Eric Blake  <ebb9@byu.net>
31306
31307         futimens, utimensat: work around ntfs-3g bug
31308         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
31309         a ctime bug is present, and expand workaround to cover ntfs-3g.
31310         * lib/utimens.c (fdutimens, lutimens): Likewise.
31311         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
31312         (validate_timespec): Adjust return value.
31313         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
31314         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31315         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
31316
31317 2009-12-29  Eric Blake  <ebb9@byu.net>
31318
31319         link-warning: make usage consistent
31320         * modules/ctype (Depends-on): Add link-warning.
31321         (Makefile.am): Update rules accordingly.
31322         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31323         * modules/locale (Depends-on, Makefile.am): Likewise.
31324         * modules/sys_file (Makefile.am): Likewise.
31325         * modules/getopt-posix (Makefile.am): Delete unused link warning
31326         efforts.
31327         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
31328         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
31329         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
31330         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
31331
31332         stdio: remove unused variables
31333         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
31334         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
31335         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31336
31337         tests: test more substitute headers
31338         * modules/ctype-tests: New file.
31339         * modules/dirent-tests: Likewise.
31340         * modules/spawn-tests: Likewise.
31341         * modules/sys_file-tests: Likewise.
31342         * modules/sys_ioctl-tests: Likewise.
31343         * modules/sys_wait-tests: Likewise.
31344         * tests/test-ctype.c: Likewise.
31345         * tests/test-dirent.c: Likewise.
31346         * tests/test-spawn.c: Likewise.
31347         * tests/test-sys_file.c: Likewise.
31348         * tests/test-sys_ioctl.c: Likewise.
31349         * tests/test-sys_wait.c: Likewise.
31350         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
31351         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
31352         whether or not flock is in use.
31353
31354         tests: remove License section from module
31355         * modules/arpa_inet-tests: Remove unneeded section.
31356         * modules/byteswap-tests: Likewise.
31357         * modules/ceilf-tests: Likewise.
31358         * modules/ceill-tests: Likewise.
31359         * modules/crypto/des-tests: Likewise.
31360         * modules/crypto/gc-arcfour-tests: Likewise.
31361         * modules/crypto/gc-arctwo-tests: Likewise.
31362         * modules/crypto/gc-des-tests: Likewise.
31363         * modules/crypto/gc-hmac-md5-tests: Likewise.
31364         * modules/crypto/gc-hmac-sha1-tests: Likewise.
31365         * modules/crypto/gc-md2-tests: Likewise.
31366         * modules/crypto/gc-md4-tests: Likewise.
31367         * modules/crypto/gc-md5-tests: Likewise.
31368         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
31369         * modules/crypto/gc-rijndael-tests: Likewise.
31370         * modules/crypto/gc-sha1-tests: Likewise.
31371         * modules/crypto/gc-tests: Likewise.
31372         * modules/crypto/md2-tests: Likewise.
31373         * modules/crypto/md4-tests: Likewise.
31374         * modules/fcntl-h-tests: Likewise.
31375         * modules/floorf-tests: Likewise.
31376         * modules/floorl-tests: Likewise.
31377         * modules/frexp-nolibm-tests: Likewise.
31378         * modules/frexp-tests: Likewise.
31379         * modules/frexpl-nolibm-tests: Likewise.
31380         * modules/frexpl-tests: Likewise.
31381         * modules/getaddrinfo-tests: Likewise.
31382         * modules/inttypes-tests: Likewise.
31383         * modules/isfinite-tests: Likewise.
31384         * modules/isinf-tests: Likewise.
31385         * modules/ldexpl-tests: Likewise.
31386         * modules/locale-tests: Likewise.
31387         * modules/math-tests: Likewise.
31388         * modules/netdb-tests: Likewise.
31389         * modules/netinet_in-tests: Likewise.
31390         * modules/printf-frexp-tests: Likewise.
31391         * modules/printf-frexpl-tests: Likewise.
31392         * modules/priv-set-tests: Likewise.
31393         * modules/random_r-tests: Likewise.
31394         * modules/round-tests: Likewise.
31395         * modules/roundf-tests: Likewise.
31396         * modules/roundl-tests: Likewise.
31397         * modules/search-tests: Likewise.
31398         * modules/select-tests: Likewise.
31399         * modules/signal-tests: Likewise.
31400         * modules/stdbool-tests: Likewise.
31401         * modules/stddef-tests: Likewise.
31402         * modules/stdint-tests: Likewise.
31403         * modules/stdio-tests: Likewise.
31404         * modules/stdlib-tests: Likewise.
31405         * modules/string-tests: Likewise.
31406         * modules/strings-tests: Likewise.
31407         * modules/sys_select-tests: Likewise.
31408         * modules/sys_socket-tests: Likewise.
31409         * modules/sys_stat-tests: Likewise.
31410         * modules/sys_time-tests: Likewise.
31411         * modules/sys_utsname-tests: Likewise.
31412         * modules/sysexits-tests: Likewise.
31413         * modules/time-tests: Likewise.
31414         * modules/trunc-tests: Likewise.
31415         * modules/truncf-tests: Likewise.
31416         * modules/truncl-tests: Likewise.
31417         * modules/tsearch-tests: Likewise.
31418         * modules/unistd-tests: Likewise.
31419         * modules/wchar-tests: Likewise.
31420         * modules/wctype-tests: Likewise.
31421
31422         tests: fix license on several tests
31423         * tests/test-des.c: Update to GPLv3+.
31424         * tests/test-flock.c: Likewise.
31425         * tests/test-fsync.c: Likewise.
31426         * tests/test-futimens.h: Likewise.
31427         * tests/test-gc-arcfour.c: Likewise.
31428         * tests/test-gc-arctwo.c: Likewise.
31429         * tests/test-gc-des.c: Likewise.
31430         * tests/test-gc-hmac-md5.c: Likewise.
31431         * tests/test-gc-hmac-sha1.c: Likewise.
31432         * tests/test-gc-md2.c: Likewise.
31433         * tests/test-gc-md4.c: Likewise.
31434         * tests/test-gc-md5.c: Likewise.
31435         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31436         * tests/test-gc-rijndael.c: Likewise.
31437         * tests/test-gc-sha1.c: Likewise.
31438         * tests/test-gc.c: Likewise.
31439         * tests/test-getcwd.c: Likewise.
31440         * tests/test-link.c: Likewise.
31441         * tests/test-link.h: Likewise.
31442         * tests/test-lutimens.h: Likewise.
31443         * tests/test-md2.c: Likewise.
31444         * tests/test-md4.c: Likewise.
31445         * tests/test-mkdir.h: Likewise.
31446         * tests/test-rename.c: Likewise.
31447         * tests/test-rename.h: Likewise.
31448         * tests/test-safe-alloc.c: Likewise.
31449         * tests/test-utimens-common.h: Likewise.
31450         * tests/test-utimens.h: Likewise.
31451
31452         maint: sync license texts
31453         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
31454         * doc/gpl-3.0.texi: Revert copyright year update.
31455         * doc/lgpl-3.0.texi: Likewise.
31456
31457 2009-12-29  Jim Meyering  <meyering@redhat.com>
31458
31459         update nearly all FSF copyright year lists to include 2009
31460         The files named by the following are exempted:
31461             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
31462               test -f "$dst" && { echo "$dst"; continue; }
31463               test -d "$dst" || continue
31464               echo "$dst"/$(basename "$src")
31465             done > exempt
31466             git ls-files tests/unictype >> exempt
31467         In the remaining files, convert to all-interval notation if
31468         - there is already at least one year interval like 2000-2003
31469         - the file is maintained by me
31470         - the file is in lib/uni*/, where that style already prevails
31471         Otherwise, use update-copyright's default.
31472
31473 2009-12-29  Simon Josefsson  <simon@josefsson.org>
31474         and Eric Blake  <ebb9@byu.net>
31475
31476         tests: don't require debug system() to pass
31477         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
31478         * tests/test-rmdir.h (test_rmdir_func): Likewise.
31479         * tests/test-unlink.h (test_unlink_func): Likewise.
31480         * tests/test-fstatat.c (main): ...into callers.
31481         * tests/test-lstat.c (main): Likewise.
31482         * tests/test-rmdir.c (main): Likewise.
31483         * tests/test-unlink.c (main): Likewise.
31484         * tests/test-unlinkat.c (main): Likewise.
31485         * tests/test-areadlink-with-size.c (main): Don't require a
31486         debug-only system call to pass, aiding cross-testing to mingw.
31487         * tests/test-areadlink.c (main): Likewise.
31488         * tests/test-areadlinkat-with-size.c (main): Likewise.
31489         * tests/test-areadlinkat.c (main): Likewise.
31490         * tests/test-canonicalize-lgpl.c (main): Likewise.
31491         * tests/test-canonicalize.c (main): Likewise.
31492         * tests/test-chown.c (main): Likewise.
31493         * tests/test-fchownat.c (main): Likewise.
31494         * tests/test-lchown.c (main): Likewise.
31495         * tests/test-fdutimensat.c (main): Likewise.
31496         * tests/test-futimens.c (main): Likewise.
31497         * tests/test-link.c (main): Likewise.
31498         * tests/test-linkat.c (main): Likewise.
31499         * tests/test-mkdir.c (main): Likewise.
31500         * tests/test-mkdirat.c (main): Likewise.
31501         * tests/test-mkfifo.c (main): Likewise.
31502         * tests/test-mkfifoat.c (main): Likewise.
31503         * tests/test-mknod.c (main): Likewise.
31504         * tests/test-readlink.c (main): Likewise.
31505         * tests/test-remove.c (main): Likewise.
31506         * tests/test-rename.c (main): Likewise.
31507         * tests/test-renameat.c (main): Likewise.
31508         * tests/test-symlink.c (main): Likewise.
31509         * tests/test-symlinkat.c (main): Likewise.
31510         * tests/test-utimens.c (main): Likewise.
31511         * tests/test-utimensat.c (main): Likewise.
31512
31513 2009-12-29  Simon Josefsson  <simon@josefsson.org>
31514
31515         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
31516         on $(UNUSED_PARAMETER_H) to avoid build failure.
31517
31518 2009-12-28  Jim Meyering  <meyering@redhat.com>
31519
31520         update-copyright: you may specify a max. line length other than 72
31521         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
31522
31523         maint: use consistent FSF copyright line syntax
31524         * lib/posixtm.c: Add missing comma in FSF copyright line.
31525         * lib/posixtm.h: Likewise.
31526         * lib/getugroups.c: Add missing ", Inc.".
31527
31528         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
31529         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
31530         FSF copyright line.  Remove trailing blanks.
31531
31532 2009-12-28  Eric Blake  <ebb9@byu.net>
31533
31534         test-dup2: reduce dependencies
31535         * modules/cloexec (Configure.ac): Set witness.
31536         * modules/dup2-tests (Depends-on): Drop cloexec.
31537         * tests/test-dup2.c (main): Skip portion of test if cloexec module
31538         not present.
31539         Suggested by Bruno Haible.
31540
31541 2009-12-26  Bruno Haible  <bruno@clisp.org>
31542
31543         Remove an unneeded dependency.
31544         * modules/fseterr (Depends-on): Remove dup2.
31545
31546 2009-12-26  Eric Blake  <ebb9@byu.net>
31547
31548         tests: use macros.h in more places
31549         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
31550         (ASSERT_STREAM): Provide default of stderr.
31551         * tests/test-dirent-safer.c: Include macros.h, using alternate
31552         stream for assertions.
31553         * tests/test-dup-safer.c: Likewise.
31554         * tests/test-freopen-safer.c: Likewise.
31555         * tests/test-getopt.c: Likewise.
31556         * tests/test-openat-safer.c: Likewise.
31557         * tests/test-pipe.c: Likewise.
31558         * tests/test-popen-safer.c: Likewise.
31559         * modules/dirent-safer-tests (Files): Include macros.h.
31560         * modules/unistd-safer-tests (Files): Likewise.
31561         * modules/freopen-safer-tests (Files): Likewise.
31562         * modules/getopt-posix-tests (Files): Likewise.
31563         * modules/openat-safer-tests (Files): Likewise.
31564         * modules/pipe-tests (Files): Likewise.
31565
31566 2009-12-26  Bruno Haible  <bruno@clisp.org>
31567
31568         javacomp: Portability fix.
31569         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
31570         that it also works on Solaris.
31571
31572 2009-12-26  Bruno Haible  <bruno@clisp.org>
31573
31574         localename: Fix storage allocation of gl_locale_name_thread's result.
31575         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
31576         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
31577         all platforms that have 'uselocale'.
31578         (gl_locale_name_thread_unsafe): New function, extracted from
31579         gl_locale_name_thread.
31580         (gl_locale_name_thread): Call struniq on all platforms that have
31581         'uselocale'.
31582         * tests/test-localename.c (test_locale_name_thread): Check that the
31583         resulting strings are permanently allocated.
31584         * modules/localename-tests (Depends-on): Add strdup.
31585
31586 2009-12-26  Bruno Haible  <bruno@clisp.org>
31587
31588         * tests/test-localename.c (categories): Fill in the strings.
31589
31590 2009-12-26  Jim Meyering  <meyering@redhat.com>
31591
31592         isdir: complete the removal of m4/isdir.m4
31593         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
31594
31595         isdir: clean up, since at least grep still uses it
31596         * lib/isdir.c: Include "isdir.h".
31597         (S_ISDIR): Remove now-unneeded definition.
31598         * modules/isdir (Files): Add lib/isdir.h.
31599         * lib/isdir.h: New file, with declaration.
31600         * m4/isdir.m4: Remove file -- unneeded.
31601
31602 2009-12-25  Bruno Haible  <bruno@clisp.org>
31603
31604         selinux-h: Make generated .h files standalone.
31605         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
31606         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
31607         * lib/se-selinux.in.h: Likewise.
31608         * modules/selinux-h (Depends-on): Add unused-parameter.
31609         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
31610         selinux/selinux.h and selinux/context.h.
31611         Suggested by Eric Blake.
31612
31613 2009-12-25  Bruno Haible  <bruno@clisp.org>
31614
31615         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
31616         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
31617         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
31618         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
31619         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
31620
31621 2009-12-24  Bruno Haible  <bruno@clisp.org>
31622
31623         openat: Fix warning.
31624         * lib/openat-proc.c: Include <unistd.h>.
31625
31626 2009-12-24  Bruno Haible  <bruno@clisp.org>
31627
31628         New module 'unused-parameter'.
31629         * build-aux/unused-parameter.h: New file, extracted from earlier
31630         gnulib-common.m4.
31631         * modules/unused-parameter: New file.
31632         * lib/unistr.h: Include unused-parameter.h.
31633         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
31634         _GL_UNUSED.
31635         * modules/unistr/base (Depends-on): Add unused-parameter.
31636
31637 2009-12-24  Bruno Haible  <bruno@clisp.org>
31638
31639         Add missing dependencies to 'extensions' module.
31640         * m4/extensions.m4: Add comment.
31641         * modules/accept4 (Depends-on): Add extensions.
31642         * modules/dup3 (Depends-on): Likewise.
31643         * modules/fcntl (Depends-on): Likewise.
31644         * modules/futimens (Depends-on): Likewise.
31645         * modules/mknod (Depends-on): Likewise.
31646         * modules/pipe2 (Depends-on): Likewise.
31647         * modules/stat-time (Depends-on): Likewise.
31648         * modules/strcasestr-simple (Depends-on): Likewise.
31649         * modules/strsignal (Depends-on): Likewise.
31650         * modules/utimensat (Depends-on): Likewise.
31651         * modules/localcharset (Depends-on): Likewise. Needed because of
31652         gl_FCNTL_O_FLAGS.
31653         * modules/wcrtomb (Depends-on): Likewise. Needed because of
31654         AC_TYPE_MBSTATE_T.
31655         * modules/wcsnrtombs (Depends-on): Likewise.
31656         * modules/wcsrtombs (Depends-on): Likewise.
31657
31658 2009-12-24  Bruno Haible  <bruno@clisp.org>
31659
31660         binary-io: Avoid gcc warning due to SET_BINARY.
31661         * lib/binary-io.h (SET_BINARY): Cast the result to void.
31662         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
31663
31664 2009-12-24  Bruno Haible  <bruno@clisp.org>
31665
31666         Avoid future namespace pollution on glibc systems.
31667         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
31668         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
31669         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
31670         glibc systems.
31671
31672 2009-12-24  Bruno Haible  <bruno@clisp.org>
31673
31674         Refactor common macros used in tests.
31675         * tests/macros.h: New file.
31676         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
31677         and/or <stdlib.h>, if appropriate.
31678         (ASSERT, SIZEOF): Remove macros.
31679         * tests/test-areadlink-with-size.c: Likewise.
31680         * tests/test-areadlinkat.c: Likewise.
31681         * tests/test-areadlinkat-with-size.c: Likewise.
31682         * tests/test-argmatch.c: Likewise.
31683         * tests/test-argv-iter.c: Likewise.
31684         * tests/test-array-mergesort.c: Likewise.
31685         * tests/test-array_list.c: Likewise.
31686         * tests/test-array_oset.c: Likewise.
31687         * tests/test-avltree_list.c: Likewise.
31688         * tests/test-avltree_oset.c: Likewise.
31689         * tests/test-avltreehash_list.c: Likewise.
31690         * tests/test-base64.c: Likewise.
31691         * tests/test-binary-io.c: Likewise.
31692         * tests/test-bitrotate.c: Likewise.
31693         * tests/test-btowc.c: Likewise.
31694         * tests/test-byteswap.c: Likewise.
31695         * tests/test-c-ctype.c: Likewise.
31696         * tests/test-c-stack.c: Likewise.
31697         * tests/test-c-strcasecmp.c: Likewise.
31698         * tests/test-c-strcasestr.c: Likewise.
31699         * tests/test-c-strncasecmp.c: Likewise.
31700         * tests/test-c-strstr.c: Likewise.
31701         * tests/test-canonicalize-lgpl.c: Likewise.
31702         * tests/test-canonicalize.c: Likewise.
31703         * tests/test-carray_list.c: Likewise.
31704         * tests/test-ceilf1.c: Likewise.
31705         * tests/test-ceilf2.c: Likewise.
31706         * tests/test-ceill.c: Likewise.
31707         * tests/test-chown.c: Likewise.
31708         * tests/test-cloexec.c: Likewise.
31709         * tests/test-copy-acl.c: Likewise.
31710         * tests/test-copy-file.c: Likewise.
31711         * tests/test-count-one-bits.c: Likewise.
31712         * tests/test-dprintf-posix.c: Likewise.
31713         * tests/test-dup2.c: Likewise.
31714         * tests/test-dup3.c: Likewise.
31715         * tests/test-duplocale.c: Likewise.
31716         * tests/test-fbufmode.c: Likewise.
31717         * tests/test-fchdir.c: Likewise.
31718         * tests/test-fchownat.c: Likewise.
31719         * tests/test-fcntl-safer.c: Likewise.
31720         * tests/test-fcntl.c: Likewise.
31721         * tests/test-fdopendir.c: Likewise.
31722         * tests/test-fdutimensat.c: Likewise.
31723         * tests/test-fflush2.c: Likewise.
31724         * tests/test-file-has-acl.c: Likewise.
31725         * tests/test-filevercmp.c: Likewise.
31726         * tests/test-flock.c: Likewise.
31727         * tests/test-floorf1.c: Likewise.
31728         * tests/test-floorf2.c: Likewise.
31729         * tests/test-floorl.c: Likewise.
31730         * tests/test-fnmatch.c: Likewise.
31731         * tests/test-fopen.h: Likewise.
31732         * tests/test-fpending.c: Likewise.
31733         * tests/test-fprintf-posix.c: Likewise.
31734         * tests/test-fpurge.c: Likewise.
31735         * tests/test-freadable.c: Likewise.
31736         * tests/test-freadahead.c: Likewise.
31737         * tests/test-freading.c: Likewise.
31738         * tests/test-freadptr.c: Likewise.
31739         * tests/test-freadptr2.c: Likewise.
31740         * tests/test-freadseek.c: Likewise.
31741         * tests/test-freopen.c: Likewise.
31742         * tests/test-frexp.c: Likewise.
31743         * tests/test-frexpl.c: Likewise.
31744         * tests/test-fseek.c: Likewise.
31745         * tests/test-fseeko.c: Likewise.
31746         * tests/test-fstatat.c: Likewise.
31747         * tests/test-fstrcmp.c: Likewise.
31748         * tests/test-fsync.c: Likewise.
31749         * tests/test-ftell.c: Likewise.
31750         * tests/test-ftello.c: Likewise.
31751         * tests/test-func.c: Likewise.
31752         * tests/test-futimens.c: Likewise.
31753         * tests/test-fwritable.c: Likewise.
31754         * tests/test-fwriting.c: Likewise.
31755         * tests/test-getcwd.c: Likewise.
31756         * tests/test-getdate.c: Likewise.
31757         * tests/test-getdelim.c: Likewise.
31758         * tests/test-getdtablesize.c: Likewise.
31759         * tests/test-getgroups.c: Likewise.
31760         * tests/test-getline.c: Likewise.
31761         * tests/test-getndelim2.c: Likewise.
31762         * tests/test-glob.c: Likewise.
31763         * tests/test-hash.c: Likewise.
31764         * tests/test-i-ring.c: Likewise.
31765         * tests/test-iconv-utf.c: Likewise.
31766         * tests/test-iconv.c: Likewise.
31767         * tests/test-idpriv-drop.c: Likewise.
31768         * tests/test-idpriv-droptemp.c: Likewise.
31769         * tests/test-inet_ntop.c: Likewise.
31770         * tests/test-inet_pton.c: Likewise.
31771         * tests/test-isblank.c: Likewise.
31772         * tests/test-isfinite.c: Likewise.
31773         * tests/test-isinf.c: Likewise.
31774         * tests/test-isnan.c: Likewise.
31775         * tests/test-isnand.h: Likewise.
31776         * tests/test-isnanf.h: Likewise.
31777         * tests/test-isnanl.h: Likewise.
31778         * tests/test-lchown.c: Likewise.
31779         * tests/test-ldexpl.c: Likewise.
31780         * tests/test-link.c: Likewise.
31781         * tests/test-linkat.c: Likewise.
31782         * tests/test-linked_list.c: Likewise.
31783         * tests/test-linkedhash_list.c: Likewise.
31784         * tests/test-localename.c: Likewise.
31785         * tests/test-lseek.c: Likewise.
31786         * tests/test-lstat.c: Likewise.
31787         * tests/test-mbmemcasecmp.c: Likewise.
31788         * tests/test-mbmemcasecoll.c: Likewise.
31789         * tests/test-mbrtowc.c: Likewise.
31790         * tests/test-mbscasecmp.c: Likewise.
31791         * tests/test-mbscasestr1.c: Likewise.
31792         * tests/test-mbscasestr2.c: Likewise.
31793         * tests/test-mbscasestr3.c: Likewise.
31794         * tests/test-mbscasestr4.c: Likewise.
31795         * tests/test-mbschr.c: Likewise.
31796         * tests/test-mbscspn.c: Likewise.
31797         * tests/test-mbsinit.c: Likewise.
31798         * tests/test-mbsncasecmp.c: Likewise.
31799         * tests/test-mbsnrtowcs.c: Likewise.
31800         * tests/test-mbspbrk.c: Likewise.
31801         * tests/test-mbspcasecmp.c: Likewise.
31802         * tests/test-mbsrchr.c: Likewise.
31803         * tests/test-mbsrtowcs.c: Likewise.
31804         * tests/test-mbsspn.c: Likewise.
31805         * tests/test-mbsstr1.c: Likewise.
31806         * tests/test-mbsstr2.c: Likewise.
31807         * tests/test-mbsstr3.c: Likewise.
31808         * tests/test-memchr.c: Likewise.
31809         * tests/test-memchr2.c: Likewise.
31810         * tests/test-memcmp.c: Likewise.
31811         * tests/test-memmem.c: Likewise.
31812         * tests/test-memrchr.c: Likewise.
31813         * tests/test-mkdir.c: Likewise.
31814         * tests/test-mkdirat.c: Likewise.
31815         * tests/test-mkfifo.c: Likewise.
31816         * tests/test-mkfifoat.c: Likewise.
31817         * tests/test-mknod.c: Likewise.
31818         * tests/test-nanosleep.c: Likewise.
31819         * tests/test-nl_langinfo.c: Likewise.
31820         * tests/test-obstack-printf.c: Likewise.
31821         * tests/test-open.c: Likewise.
31822         * tests/test-openat.c: Likewise.
31823         * tests/test-pipe-filter-gi1.c: Likewise.
31824         * tests/test-pipe-filter-gi2-main.c: Likewise.
31825         * tests/test-pipe-filter-ii1.c: Likewise.
31826         * tests/test-pipe-filter-ii2-main.c: Likewise.
31827         * tests/test-pipe2.c: Likewise.
31828         * tests/test-popen.h: Likewise.
31829         * tests/test-posixtm.c: Likewise.
31830         * tests/test-pread.c: Likewise.
31831         * tests/test-printf-frexp.c: Likewise.
31832         * tests/test-printf-frexpl.c: Likewise.
31833         * tests/test-printf-posix.c: Likewise.
31834         * tests/test-priv-set.c: Likewise.
31835         * tests/test-quotearg.c: Likewise.
31836         * tests/test-random_r.c: Likewise.
31837         * tests/test-rawmemchr.c: Likewise.
31838         * tests/test-rbtree_list.c: Likewise.
31839         * tests/test-rbtree_oset.c: Likewise.
31840         * tests/test-rbtreehash_list.c: Likewise.
31841         * tests/test-readlink.c: Likewise.
31842         * tests/test-remove.c: Likewise.
31843         * tests/test-rename.c: Likewise.
31844         * tests/test-renameat.c: Likewise.
31845         * tests/test-rmdir.c: Likewise.
31846         * tests/test-round1.c: Likewise.
31847         * tests/test-roundf1.c: Likewise.
31848         * tests/test-roundl.c: Likewise.
31849         * tests/test-safe-alloc.c: Likewise.
31850         * tests/test-sameacls.c: Likewise.
31851         * tests/test-set-mode-acl.c: Likewise.
31852         * tests/test-setenv.c: Likewise.
31853         * tests/test-sigaction.c: Likewise.
31854         * tests/test-signbit.c: Likewise.
31855         * tests/test-sleep.c: Likewise.
31856         * tests/test-snprintf-posix.c: Likewise.
31857         * tests/test-snprintf.c: Likewise.
31858         * tests/test-sprintf-posix.c: Likewise.
31859         * tests/test-stat-time.c: Likewise.
31860         * tests/test-stat.c: Likewise.
31861         * tests/test-strcasestr.c: Likewise.
31862         * tests/test-strchrnul.c: Likewise.
31863         * tests/test-strerror.c: Likewise.
31864         * tests/test-striconv.c: Likewise.
31865         * tests/test-striconveh.c: Likewise.
31866         * tests/test-striconveha.c: Likewise.
31867         * tests/test-strsignal.c: Likewise.
31868         * tests/test-strstr.c: Likewise.
31869         * tests/test-strtod.c: Likewise.
31870         * tests/test-strverscmp.c: Likewise.
31871         * tests/test-symlink.c: Likewise.
31872         * tests/test-symlinkat.c: Likewise.
31873         * tests/test-trunc1.c: Likewise.
31874         * tests/test-trunc2.c: Likewise.
31875         * tests/test-truncf1.c: Likewise.
31876         * tests/test-truncf2.c: Likewise.
31877         * tests/test-truncl.c: Likewise.
31878         * tests/test-uname.c: Likewise.
31879         * tests/test-unlink.c: Likewise.
31880         * tests/test-unlinkat.c: Likewise.
31881         * tests/test-unsetenv.c: Likewise.
31882         * tests/test-usleep.c: Likewise.
31883         * tests/test-utimens.c: Likewise.
31884         * tests/test-utimensat.c: Likewise.
31885         * tests/test-vasnprintf-posix.c: Likewise.
31886         * tests/test-vasnprintf-posix2.c: Likewise.
31887         * tests/test-vasnprintf.c: Likewise.
31888         * tests/test-vasprintf-posix.c: Likewise.
31889         * tests/test-vasprintf.c: Likewise.
31890         * tests/test-vdprintf-posix.c: Likewise.
31891         * tests/test-vfprintf-posix.c: Likewise.
31892         * tests/test-vprintf-posix.c: Likewise.
31893         * tests/test-vsnprintf-posix.c: Likewise.
31894         * tests/test-vsnprintf.c: Likewise.
31895         * tests/test-vsprintf-posix.c: Likewise.
31896         * tests/test-wcrtomb.c: Likewise.
31897         * tests/test-wcsnrtombs.c: Likewise.
31898         * tests/test-wcsrtombs.c: Likewise.
31899         * tests/test-wctype.c: Likewise.
31900         * tests/test-wcwidth.c: Likewise.
31901         * tests/test-xfprintf-posix.c: Likewise.
31902         * tests/test-xmemdup0.c: Likewise.
31903         * tests/test-xprintf-posix.c: Likewise.
31904         * tests/test-xvasprintf.c: Likewise.
31905         * tests/unicase/test-locale-language.c: Likewise.
31906         * tests/unicase/test-mapping-part1.h: Likewise.
31907         * tests/unicase/test-predicate-part1.h: Likewise.
31908         * tests/unicase/test-u8-casecmp.c: Likewise.
31909         * tests/unicase/test-u8-casecoll.c: Likewise.
31910         * tests/unicase/test-u8-casefold.c: Likewise.
31911         * tests/unicase/test-u8-is-cased.c: Likewise.
31912         * tests/unicase/test-u8-is-casefolded.c: Likewise.
31913         * tests/unicase/test-u8-is-lowercase.c: Likewise.
31914         * tests/unicase/test-u8-is-titlecase.c: Likewise.
31915         * tests/unicase/test-u8-is-uppercase.c: Likewise.
31916         * tests/unicase/test-u8-tolower.c: Likewise.
31917         * tests/unicase/test-u8-totitle.c: Likewise.
31918         * tests/unicase/test-u8-toupper.c: Likewise.
31919         * tests/unicase/test-u16-casecmp.c: Likewise.
31920         * tests/unicase/test-u16-casecoll.c: Likewise.
31921         * tests/unicase/test-u16-casefold.c: Likewise.
31922         * tests/unicase/test-u16-is-cased.c: Likewise.
31923         * tests/unicase/test-u16-is-casefolded.c: Likewise.
31924         * tests/unicase/test-u16-is-lowercase.c: Likewise.
31925         * tests/unicase/test-u16-is-titlecase.c: Likewise.
31926         * tests/unicase/test-u16-is-uppercase.c: Likewise.
31927         * tests/unicase/test-u16-tolower.c: Likewise.
31928         * tests/unicase/test-u16-totitle.c: Likewise.
31929         * tests/unicase/test-u16-toupper.c: Likewise.
31930         * tests/unicase/test-u32-casecmp.c: Likewise.
31931         * tests/unicase/test-u32-casecoll.c: Likewise.
31932         * tests/unicase/test-u32-casefold.c: Likewise.
31933         * tests/unicase/test-u32-is-cased.c: Likewise.
31934         * tests/unicase/test-u32-is-casefolded.c: Likewise.
31935         * tests/unicase/test-u32-is-lowercase.c: Likewise.
31936         * tests/unicase/test-u32-is-titlecase.c: Likewise.
31937         * tests/unicase/test-u32-is-uppercase.c: Likewise.
31938         * tests/unicase/test-u32-tolower.c: Likewise.
31939         * tests/unicase/test-u32-totitle.c: Likewise.
31940         * tests/unicase/test-u32-toupper.c: Likewise.
31941         * tests/unicase/test-ulc-casecmp.c: Likewise.
31942         * tests/unicase/test-ulc-casecoll.c: Likewise.
31943         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
31944         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
31945         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
31946         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
31947         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
31948         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
31949         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
31950         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
31951         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
31952         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
31953         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
31954         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
31955         * tests/unictype/test-bidi_byname.c: Likewise.
31956         * tests/unictype/test-bidi_name.c: Likewise.
31957         * tests/unictype/test-bidi_of.c: Likewise.
31958         * tests/unictype/test-bidi_test.c: Likewise.
31959         * tests/unictype/test-block_list.c: Likewise.
31960         * tests/unictype/test-block_of.c: Likewise.
31961         * tests/unictype/test-block_test.c: Likewise.
31962         * tests/unictype/test-categ_and.c: Likewise.
31963         * tests/unictype/test-categ_and_not.c: Likewise.
31964         * tests/unictype/test-categ_byname.c: Likewise.
31965         * tests/unictype/test-categ_name.c: Likewise.
31966         * tests/unictype/test-categ_none.c: Likewise.
31967         * tests/unictype/test-categ_of.c: Likewise.
31968         * tests/unictype/test-categ_or.c: Likewise.
31969         * tests/unictype/test-categ_test_withtable.c: Likewise.
31970         * tests/unictype/test-combining.c: Likewise.
31971         * tests/unictype/test-decdigit.c: Likewise.
31972         * tests/unictype/test-digit.c: Likewise.
31973         * tests/unictype/test-mirror.c: Likewise.
31974         * tests/unictype/test-numeric.c: Likewise.
31975         * tests/unictype/test-pr_byname.c: Likewise.
31976         * tests/unictype/test-pr_test.c: Likewise.
31977         * tests/unictype/test-predicate-part1.h: Likewise.
31978         * tests/unictype/test-scripts.c: Likewise.
31979         * tests/unictype/test-sy_c_ident.c: Likewise.
31980         * tests/unictype/test-sy_java_ident.c: Likewise.
31981         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
31982         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
31983         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
31984         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
31985         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
31986         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
31987         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
31988         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
31989         * tests/uninorm/test-canonical-decomposition.c: Likewise.
31990         * tests/uninorm/test-compat-decomposition.c: Likewise.
31991         * tests/uninorm/test-composition.c: Likewise.
31992         * tests/uninorm/test-decomposing-form.c: Likewise.
31993         * tests/uninorm/test-decomposition.c: Likewise.
31994         * tests/uninorm/test-u8-nfc.c: Likewise.
31995         * tests/uninorm/test-u8-nfd.c: Likewise.
31996         * tests/uninorm/test-u8-nfkc.c: Likewise.
31997         * tests/uninorm/test-u8-nfkd.c: Likewise.
31998         * tests/uninorm/test-u8-normcmp.c: Likewise.
31999         * tests/uninorm/test-u8-normcoll.c: Likewise.
32000         * tests/uninorm/test-u16-nfc.c: Likewise.
32001         * tests/uninorm/test-u16-nfd.c: Likewise.
32002         * tests/uninorm/test-u16-nfkc.c: Likewise.
32003         * tests/uninorm/test-u16-nfkd.c: Likewise.
32004         * tests/uninorm/test-u16-normcmp.c: Likewise.
32005         * tests/uninorm/test-u16-normcoll.c: Likewise.
32006         * tests/uninorm/test-u32-nfc.c: Likewise.
32007         * tests/uninorm/test-u32-nfd.c: Likewise.
32008         * tests/uninorm/test-u32-nfkc.c: Likewise.
32009         * tests/uninorm/test-u32-nfkd.c: Likewise.
32010         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32011         * tests/uninorm/test-u32-normcmp.c: Likewise.
32012         * tests/uninorm/test-u32-normcoll.c: Likewise.
32013         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
32014         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32015         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32016         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32017         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32018         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32019         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32020         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32021         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32022         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32023         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32024         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32025         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32026         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32027         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32028         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32029         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32030         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32031         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32032         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32033         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32034         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32035         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32036         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
32037         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
32038         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
32039         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
32040         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
32041         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
32042         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
32043         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
32044         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
32045         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
32046         * tests/uniwidth/test-u8-strwidth.c: Likewise.
32047         * tests/uniwidth/test-u8-width.c: Likewise.
32048         * tests/uniwidth/test-u16-strwidth.c: Likewise.
32049         * tests/uniwidth/test-u16-width.c: Likewise.
32050         * tests/uniwidth/test-u32-strwidth.c: Likewise.
32051         * tests/uniwidth/test-u32-width.c: Likewise.
32052         * tests/uniwidth/test-uc_width.c: Likewise.
32053         * tests/uniwidth/test-uc_width2.c: Likewise.
32054         * modules/acl-tests (Files): Add tests/macros.h.
32055         * modules/areadlink-tests (Files): Likewise.
32056         * modules/areadlink-with-size-tests (Files): Likewise.
32057         * modules/areadlinkat-tests (Files): Likewise.
32058         * modules/areadlinkat-with-size-tests (Files): Likewise.
32059         * modules/argmatch-tests (Files): Likewise.
32060         * modules/argv-iter-tests (Files): Likewise.
32061         * modules/array-list-tests (Files): Likewise.
32062         * modules/array-mergesort-tests (Files): Likewise.
32063         * modules/array-oset-tests (Files): Likewise.
32064         * modules/avltree-list-tests (Files): Likewise.
32065         * modules/avltree-oset-tests (Files): Likewise.
32066         * modules/avltreehash-list-tests (Files): Likewise.
32067         * modules/base64-tests (Files): Likewise.
32068         * modules/binary-io-tests (Files): Likewise.
32069         * modules/bitrotate-tests (Files): Likewise.
32070         * modules/btowc-tests (Files): Likewise.
32071         * modules/byteswap-tests (Files): Likewise.
32072         * modules/c-ctype-tests (Files): Likewise.
32073         * modules/c-stack-tests (Files): Likewise.
32074         * modules/c-strcase-tests (Files): Likewise.
32075         * modules/c-strcasestr-tests (Files): Likewise.
32076         * modules/c-strstr-tests (Files): Likewise.
32077         * modules/canonicalize-lgpl-tests (Files): Likewise.
32078         * modules/canonicalize-tests (Files): Likewise.
32079         * modules/carray-list-tests (Files): Likewise.
32080         * modules/ceilf-tests (Files): Likewise.
32081         * modules/ceill-tests (Files): Likewise.
32082         * modules/chown-tests (Files): Likewise.
32083         * modules/cloexec-tests (Files): Likewise.
32084         * modules/copy-file-tests (Files): Likewise.
32085         * modules/count-one-bits-tests (Files): Likewise.
32086         * modules/dprintf-posix-tests (Files): Likewise.
32087         * modules/dup2-tests (Files): Likewise.
32088         * modules/dup3-tests (Files): Likewise.
32089         * modules/duplocale-tests (Files): Likewise.
32090         * modules/fbufmode-tests (Files): Likewise.
32091         * modules/fchdir-tests (Files): Likewise.
32092         * modules/fcntl-safer-tests (Files): Likewise.
32093         * modules/fcntl-tests (Files): Likewise.
32094         * modules/fdopendir-tests (Files): Likewise.
32095         * modules/fdutimensat-tests (Files): Likewise.
32096         * modules/fflush-tests (Files): Likewise.
32097         * modules/filevercmp-tests (Files): Likewise.
32098         * modules/flock-tests (Files): Likewise.
32099         * modules/floorf-tests (Files): Likewise.
32100         * modules/floorl-tests (Files): Likewise.
32101         * modules/fnmatch-tests (Files): Likewise.
32102         * modules/fopen-safer-tests (Files): Likewise.
32103         * modules/fopen-tests (Files): Likewise.
32104         * modules/fpending-tests (Files): Likewise.
32105         * modules/fprintf-posix-tests (Files): Likewise.
32106         * modules/fpurge-tests (Files): Likewise.
32107         * modules/freadable-tests (Files): Likewise.
32108         * modules/freadahead-tests (Files): Likewise.
32109         * modules/freading-tests (Files): Likewise.
32110         * modules/freadptr-tests (Files): Likewise.
32111         * modules/freadseek-tests (Files): Likewise.
32112         * modules/freopen-tests (Files): Likewise.
32113         * modules/frexp-nolibm-tests (Files): Likewise.
32114         * modules/frexp-tests (Files): Likewise.
32115         * modules/frexpl-nolibm-tests (Files): Likewise.
32116         * modules/frexpl-tests (Files): Likewise.
32117         * modules/fseek-tests (Files): Likewise.
32118         * modules/fseeko-tests (Files): Likewise.
32119         * modules/fstrcmp-tests (Files): Likewise.
32120         * modules/fsync-tests (Files): Likewise.
32121         * modules/ftell-tests (Files): Likewise.
32122         * modules/ftello-tests (Files): Likewise.
32123         * modules/func-tests (Files): Likewise.
32124         * modules/futimens-tests (Files): Likewise.
32125         * modules/fwritable-tests (Files): Likewise.
32126         * modules/fwriting-tests (Files): Likewise.
32127         * modules/getcwd-tests (Files): Likewise.
32128         * modules/getdate-tests (Files): Likewise.
32129         * modules/getdelim-tests (Files): Likewise.
32130         * modules/getdtablesize-tests (Files): Likewise.
32131         * modules/getgroups-tests (Files): Likewise.
32132         * modules/getline-tests (Files): Likewise.
32133         * modules/getndelim2-tests (Files): Likewise.
32134         * modules/glob-tests (Files): Likewise.
32135         * modules/hash-tests (Files): Likewise.
32136         * modules/i-ring-tests (Files): Likewise.
32137         * modules/iconv-tests (Files): Likewise.
32138         * modules/iconv_open-utf-tests (Files): Likewise.
32139         * modules/idpriv-drop-tests (Files): Likewise.
32140         * modules/idpriv-droptemp-tests (Files): Likewise.
32141         * modules/inet_ntop-tests (Files): Likewise.
32142         * modules/inet_pton-tests (Files): Likewise.
32143         * modules/isblank-tests (Files): Likewise.
32144         * modules/isfinite-tests (Files): Likewise.
32145         * modules/isinf-tests (Files): Likewise.
32146         * modules/isnan-tests (Files): Likewise.
32147         * modules/isnand-nolibm-tests (Files): Likewise.
32148         * modules/isnand-tests (Files): Likewise.
32149         * modules/isnanf-nolibm-tests (Files): Likewise.
32150         * modules/isnanf-tests (Files): Likewise.
32151         * modules/isnanl-nolibm-tests (Files): Likewise.
32152         * modules/isnanl-tests (Files): Likewise.
32153         * modules/lchown-tests (Files): Likewise.
32154         * modules/ldexpl-tests (Files): Likewise.
32155         * modules/link-tests (Files): Likewise.
32156         * modules/linkat-tests (Files): Likewise.
32157         * modules/linked-list-tests (Files): Likewise.
32158         * modules/linkedhash-list-tests (Files): Likewise.
32159         * modules/localename-tests (Files): Likewise.
32160         * modules/lseek-tests (Files): Likewise.
32161         * modules/lstat-tests (Files): Likewise.
32162         * modules/mbmemcasecmp-tests (Files): Likewise.
32163         * modules/mbmemcasecoll-tests (Files): Likewise.
32164         * modules/mbrtowc-tests (Files): Likewise.
32165         * modules/mbscasecmp-tests (Files): Likewise.
32166         * modules/mbscasestr-tests (Files): Likewise.
32167         * modules/mbschr-tests (Files): Likewise.
32168         * modules/mbscspn-tests (Files): Likewise.
32169         * modules/mbsinit-tests (Files): Likewise.
32170         * modules/mbsncasecmp-tests (Files): Likewise.
32171         * modules/mbsnrtowcs-tests (Files): Likewise.
32172         * modules/mbspbrk-tests (Files): Likewise.
32173         * modules/mbspcasecmp-tests (Files): Likewise.
32174         * modules/mbsrchr-tests (Files): Likewise.
32175         * modules/mbsrtowcs-tests (Files): Likewise.
32176         * modules/mbsspn-tests (Files): Likewise.
32177         * modules/mbsstr-tests (Files): Likewise.
32178         * modules/memchr-tests (Files): Likewise.
32179         * modules/memchr2-tests (Files): Likewise.
32180         * modules/memcmp-tests (Files): Likewise.
32181         * modules/memmem-tests (Files): Likewise.
32182         * modules/memrchr-tests (Files): Likewise.
32183         * modules/mkdir-tests (Files): Likewise.
32184         * modules/mkfifo-tests (Files): Likewise.
32185         * modules/mkfifoat-tests (Files): Likewise.
32186         * modules/mknod-tests (Files): Likewise.
32187         * modules/nanosleep-tests (Files): Likewise.
32188         * modules/nl_langinfo-tests (Files): Likewise.
32189         * modules/obstack-printf-tests (Files): Likewise.
32190         * modules/open-tests (Files): Likewise.
32191         * modules/openat-tests (Files): Likewise.
32192         * modules/pipe-filter-gi-tests (Files): Likewise.
32193         * modules/pipe-filter-ii-tests (Files): Likewise.
32194         * modules/pipe2-tests (Files): Likewise.
32195         * modules/popen-safer-tests (Files): Likewise.
32196         * modules/popen-tests (Files): Likewise.
32197         * modules/posixtm-tests (Files): Likewise.
32198         * modules/pread-tests (Files): Likewise.
32199         * modules/printf-frexp-tests (Files): Likewise.
32200         * modules/printf-frexpl-tests (Files): Likewise.
32201         * modules/printf-posix-tests (Files): Likewise.
32202         * modules/priv-set-tests (Files): Likewise.
32203         * modules/quotearg-tests (Files): Likewise.
32204         * modules/random_r-tests (Files): Likewise.
32205         * modules/rawmemchr-tests (Files): Likewise.
32206         * modules/rbtree-list-tests (Files): Likewise.
32207         * modules/rbtree-oset-tests (Files): Likewise.
32208         * modules/rbtreehash-list-tests (Files): Likewise.
32209         * modules/readlink-tests (Files): Likewise.
32210         * modules/remove-tests (Files): Likewise.
32211         * modules/rename-tests (Files): Likewise.
32212         * modules/renameat-tests (Files): Likewise.
32213         * modules/rmdir-tests (Files): Likewise.
32214         * modules/round-tests (Files): Likewise.
32215         * modules/roundf-tests (Files): Likewise.
32216         * modules/roundl-tests (Files): Likewise.
32217         * modules/safe-alloc-tests (Files): Likewise.
32218         * modules/setenv-tests (Files): Likewise.
32219         * modules/sigaction-tests (Files): Likewise.
32220         * modules/signbit-tests (Files): Likewise.
32221         * modules/sleep-tests (Files): Likewise.
32222         * modules/snprintf-posix-tests (Files): Likewise.
32223         * modules/snprintf-tests (Files): Likewise.
32224         * modules/sprintf-posix-tests (Files): Likewise.
32225         * modules/stat-tests (Files): Likewise.
32226         * modules/stat-time-tests (Files): Likewise.
32227         * modules/strcasestr-tests (Files): Likewise.
32228         * modules/strchrnul-tests (Files): Likewise.
32229         * modules/strerror-tests (Files): Likewise.
32230         * modules/striconv-tests (Files): Likewise.
32231         * modules/striconveh-tests (Files): Likewise.
32232         * modules/striconveha-tests (Files): Likewise.
32233         * modules/strsignal-tests (Files): Likewise.
32234         * modules/strstr-tests (Files): Likewise.
32235         * modules/strtod-tests (Files): Likewise.
32236         * modules/strverscmp-tests (Files): Likewise.
32237         * modules/symlink-tests (Files): Likewise.
32238         * modules/symlinkat-tests (Files): Likewise.
32239         * modules/trunc-tests (Files): Likewise.
32240         * modules/truncf-tests (Files): Likewise.
32241         * modules/truncl-tests (Files): Likewise.
32242         * modules/uname-tests (Files): Likewise.
32243         * modules/unicase/cased-tests (Files): Likewise.
32244         * modules/unicase/ignorable-tests (Files): Likewise.
32245         * modules/unicase/locale-language-tests (Files): Likewise.
32246         * modules/unicase/tolower-tests (Files): Likewise.
32247         * modules/unicase/totitle-tests (Files): Likewise.
32248         * modules/unicase/toupper-tests (Files): Likewise.
32249         * modules/unicase/u8-casecmp-tests (Files): Likewise.
32250         * modules/unicase/u8-casecoll-tests (Files): Likewise.
32251         * modules/unicase/u8-casefold-tests (Files): Likewise.
32252         * modules/unicase/u8-is-cased-tests (Files): Likewise.
32253         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
32254         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
32255         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
32256         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
32257         * modules/unicase/u8-tolower-tests (Files): Likewise.
32258         * modules/unicase/u8-totitle-tests (Files): Likewise.
32259         * modules/unicase/u8-toupper-tests (Files): Likewise.
32260         * modules/unicase/u16-casecmp-tests (Files): Likewise.
32261         * modules/unicase/u16-casecoll-tests (Files): Likewise.
32262         * modules/unicase/u16-casefold-tests (Files): Likewise.
32263         * modules/unicase/u16-is-cased-tests (Files): Likewise.
32264         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
32265         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
32266         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
32267         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
32268         * modules/unicase/u16-tolower-tests (Files): Likewise.
32269         * modules/unicase/u16-totitle-tests (Files): Likewise.
32270         * modules/unicase/u16-toupper-tests (Files): Likewise.
32271         * modules/unicase/u32-casecmp-tests (Files): Likewise.
32272         * modules/unicase/u32-casecoll-tests (Files): Likewise.
32273         * modules/unicase/u32-casefold-tests (Files): Likewise.
32274         * modules/unicase/u32-is-cased-tests (Files): Likewise.
32275         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
32276         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
32277         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
32278         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
32279         * modules/unicase/u32-tolower-tests (Files): Likewise.
32280         * modules/unicase/u32-totitle-tests (Files): Likewise.
32281         * modules/unicase/u32-toupper-tests (Files): Likewise.
32282         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
32283         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
32284         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
32285         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
32286         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
32287         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
32288         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
32289         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
32290         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
32291         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
32292         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
32293         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
32294         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
32295         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
32296         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
32297         * modules/unictype/bidicategory-name-tests (Files): Likewise.
32298         * modules/unictype/bidicategory-of-tests (Files): Likewise.
32299         * modules/unictype/bidicategory-test-tests (Files): Likewise.
32300         * modules/unictype/block-list-tests (Files): Likewise.
32301         * modules/unictype/block-of-tests (Files): Likewise.
32302         * modules/unictype/block-test-tests (Files): Likewise.
32303         * modules/unictype/category-C-tests (Files): Likewise.
32304         * modules/unictype/category-Cc-tests (Files): Likewise.
32305         * modules/unictype/category-Cf-tests (Files): Likewise.
32306         * modules/unictype/category-Cn-tests (Files): Likewise.
32307         * modules/unictype/category-Co-tests (Files): Likewise.
32308         * modules/unictype/category-Cs-tests (Files): Likewise.
32309         * modules/unictype/category-L-tests (Files): Likewise.
32310         * modules/unictype/category-Ll-tests (Files): Likewise.
32311         * modules/unictype/category-Lm-tests (Files): Likewise.
32312         * modules/unictype/category-Lo-tests (Files): Likewise.
32313         * modules/unictype/category-Lt-tests (Files): Likewise.
32314         * modules/unictype/category-Lu-tests (Files): Likewise.
32315         * modules/unictype/category-M-tests (Files): Likewise.
32316         * modules/unictype/category-Mc-tests (Files): Likewise.
32317         * modules/unictype/category-Me-tests (Files): Likewise.
32318         * modules/unictype/category-Mn-tests (Files): Likewise.
32319         * modules/unictype/category-N-tests (Files): Likewise.
32320         * modules/unictype/category-Nd-tests (Files): Likewise.
32321         * modules/unictype/category-Nl-tests (Files): Likewise.
32322         * modules/unictype/category-No-tests (Files): Likewise.
32323         * modules/unictype/category-P-tests (Files): Likewise.
32324         * modules/unictype/category-Pc-tests (Files): Likewise.
32325         * modules/unictype/category-Pd-tests (Files): Likewise.
32326         * modules/unictype/category-Pe-tests (Files): Likewise.
32327         * modules/unictype/category-Pf-tests (Files): Likewise.
32328         * modules/unictype/category-Pi-tests (Files): Likewise.
32329         * modules/unictype/category-Po-tests (Files): Likewise.
32330         * modules/unictype/category-Ps-tests (Files): Likewise.
32331         * modules/unictype/category-S-tests (Files): Likewise.
32332         * modules/unictype/category-Sc-tests (Files): Likewise.
32333         * modules/unictype/category-Sk-tests (Files): Likewise.
32334         * modules/unictype/category-Sm-tests (Files): Likewise.
32335         * modules/unictype/category-So-tests (Files): Likewise.
32336         * modules/unictype/category-Z-tests (Files): Likewise.
32337         * modules/unictype/category-Zl-tests (Files): Likewise.
32338         * modules/unictype/category-Zp-tests (Files): Likewise.
32339         * modules/unictype/category-Zs-tests (Files): Likewise.
32340         * modules/unictype/category-and-not-tests (Files): Likewise.
32341         * modules/unictype/category-and-tests (Files): Likewise.
32342         * modules/unictype/category-byname-tests (Files): Likewise.
32343         * modules/unictype/category-name-tests (Files): Likewise.
32344         * modules/unictype/category-none-tests (Files): Likewise.
32345         * modules/unictype/category-of-tests (Files): Likewise.
32346         * modules/unictype/category-or-tests (Files): Likewise.
32347         * modules/unictype/category-test-withtable-tests (Files): Likewise.
32348         * modules/unictype/combining-class-tests (Files): Likewise.
32349         * modules/unictype/ctype-alnum-tests (Files): Likewise.
32350         * modules/unictype/ctype-alpha-tests (Files): Likewise.
32351         * modules/unictype/ctype-blank-tests (Files): Likewise.
32352         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
32353         * modules/unictype/ctype-digit-tests (Files): Likewise.
32354         * modules/unictype/ctype-graph-tests (Files): Likewise.
32355         * modules/unictype/ctype-lower-tests (Files): Likewise.
32356         * modules/unictype/ctype-print-tests (Files): Likewise.
32357         * modules/unictype/ctype-punct-tests (Files): Likewise.
32358         * modules/unictype/ctype-space-tests (Files): Likewise.
32359         * modules/unictype/ctype-upper-tests (Files): Likewise.
32360         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
32361         * modules/unictype/decimal-digit-tests (Files): Likewise.
32362         * modules/unictype/digit-tests (Files): Likewise.
32363         * modules/unictype/mirror-tests (Files): Likewise.
32364         * modules/unictype/numeric-tests (Files): Likewise.
32365         * modules/unictype/property-alphabetic-tests (Files): Likewise.
32366         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
32367         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
32368         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
32369         Likewise.
32370         * modules/unictype/property-bidi-block-separator-tests (Files):
32371         Likewise.
32372         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
32373         Likewise.
32374         * modules/unictype/property-bidi-common-separator-tests (Files):
32375         Likewise.
32376         * modules/unictype/property-bidi-control-tests (Files): Likewise.
32377         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
32378         Likewise.
32379         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
32380         Likewise.
32381         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
32382         Likewise.
32383         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
32384         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
32385         Likewise.
32386         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
32387         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
32388         Likewise.
32389         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
32390         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
32391         * modules/unictype/property-bidi-segment-separator-tests (Files):
32392         Likewise.
32393         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
32394         * modules/unictype/property-byname-tests (Files): Likewise.
32395         * modules/unictype/property-combining-tests (Files): Likewise.
32396         * modules/unictype/property-composite-tests (Files): Likewise.
32397         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
32398         * modules/unictype/property-dash-tests (Files): Likewise.
32399         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
32400         * modules/unictype/property-default-ignorable-code-point-tests (Files):
32401         Likewise.
32402         * modules/unictype/property-deprecated-tests (Files): Likewise.
32403         * modules/unictype/property-diacritic-tests (Files): Likewise.
32404         * modules/unictype/property-extender-tests (Files): Likewise.
32405         * modules/unictype/property-format-control-tests (Files): Likewise.
32406         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
32407         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
32408         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
32409         * modules/unictype/property-hex-digit-tests (Files): Likewise.
32410         * modules/unictype/property-hyphen-tests (Files): Likewise.
32411         * modules/unictype/property-id-continue-tests (Files): Likewise.
32412         * modules/unictype/property-id-start-tests (Files): Likewise.
32413         * modules/unictype/property-ideographic-tests (Files): Likewise.
32414         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
32415         * modules/unictype/property-ids-trinary-operator-tests (Files):
32416         Likewise.
32417         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
32418         * modules/unictype/property-iso-control-tests (Files): Likewise.
32419         * modules/unictype/property-join-control-tests (Files): Likewise.
32420         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
32421         * modules/unictype/property-line-separator-tests (Files): Likewise.
32422         * modules/unictype/property-logical-order-exception-tests (Files):
32423         Likewise.
32424         * modules/unictype/property-lowercase-tests (Files): Likewise.
32425         * modules/unictype/property-math-tests (Files): Likewise.
32426         * modules/unictype/property-non-break-tests (Files): Likewise.
32427         * modules/unictype/property-not-a-character-tests (Files): Likewise.
32428         * modules/unictype/property-numeric-tests (Files): Likewise.
32429         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
32430         * modules/unictype/property-other-default-ignorable-code-point-tests
32431         (Files): Likewise.
32432         * modules/unictype/property-other-grapheme-extend-tests (Files):
32433         Likewise.
32434         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
32435         * modules/unictype/property-other-id-start-tests (Files): Likewise.
32436         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
32437         * modules/unictype/property-other-math-tests (Files): Likewise.
32438         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
32439         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
32440         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
32441         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
32442         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
32443         * modules/unictype/property-private-use-tests (Files): Likewise.
32444         * modules/unictype/property-punctuation-tests (Files): Likewise.
32445         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
32446         * modules/unictype/property-radical-tests (Files): Likewise.
32447         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
32448         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
32449         * modules/unictype/property-space-tests (Files): Likewise.
32450         * modules/unictype/property-terminal-punctuation-tests (Files):
32451         Likewise.
32452         * modules/unictype/property-test-tests (Files): Likewise.
32453         * modules/unictype/property-titlecase-tests (Files): Likewise.
32454         * modules/unictype/property-unassigned-code-value-tests (Files):
32455         Likewise.
32456         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
32457         * modules/unictype/property-uppercase-tests (Files): Likewise.
32458         * modules/unictype/property-variation-selector-tests (Files): Likewise.
32459         * modules/unictype/property-white-space-tests (Files): Likewise.
32460         * modules/unictype/property-xid-continue-tests (Files): Likewise.
32461         * modules/unictype/property-xid-start-tests (Files): Likewise.
32462         * modules/unictype/property-zero-width-tests (Files): Likewise.
32463         * modules/unictype/scripts-tests (Files): Likewise.
32464         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
32465         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
32466         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
32467         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
32468         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
32469         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
32470         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
32471         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
32472         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
32473         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
32474         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
32475         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
32476         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
32477         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
32478         * modules/uninorm/composition-tests (Files): Likewise.
32479         * modules/uninorm/decomposing-form-tests (Files): Likewise.
32480         * modules/uninorm/decomposition-tests (Files): Likewise.
32481         * modules/uninorm/filter-tests (Files): Likewise.
32482         * modules/uninorm/nfc-tests (Files): Likewise.
32483         * modules/uninorm/nfd-tests (Files): Likewise.
32484         * modules/uninorm/nfkc-tests (Files): Likewise.
32485         * modules/uninorm/nfkd-tests (Files): Likewise.
32486         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
32487         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
32488         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
32489         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
32490         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
32491         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
32492         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
32493         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
32494         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
32495         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
32496         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
32497         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
32498         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
32499         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
32500         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
32501         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
32502         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
32503         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
32504         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
32505         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
32506         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
32507         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
32508         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
32509         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
32510         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
32511         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
32512         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
32513         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
32514         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
32515         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
32516         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
32517         * modules/uniwidth/u8-width-tests (Files): Likewise.
32518         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
32519         * modules/uniwidth/u16-width-tests (Files): Likewise.
32520         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
32521         * modules/uniwidth/u32-width-tests (Files): Likewise.
32522         * modules/uniwidth/width-tests (Files): Likewise.
32523         * modules/unlink-tests (Files): Likewise.
32524         * modules/unsetenv-tests (Files): Likewise.
32525         * modules/usleep-tests (Files): Likewise.
32526         * modules/utimens-tests (Files): Likewise.
32527         * modules/utimensat-tests (Files): Likewise.
32528         * modules/vasnprintf-posix-tests (Files): Likewise.
32529         * modules/vasnprintf-tests (Files): Likewise.
32530         * modules/vasprintf-posix-tests (Files): Likewise.
32531         * modules/vasprintf-tests (Files): Likewise.
32532         * modules/vdprintf-posix-tests (Files): Likewise.
32533         * modules/vfprintf-posix-tests (Files): Likewise.
32534         * modules/vprintf-posix-tests (Files): Likewise.
32535         * modules/vsnprintf-posix-tests (Files): Likewise.
32536         * modules/vsnprintf-tests (Files): Likewise.
32537         * modules/vsprintf-posix-tests (Files): Likewise.
32538         * modules/wcrtomb-tests (Files): Likewise.
32539         * modules/wcsnrtombs-tests (Files): Likewise.
32540         * modules/wcsrtombs-tests (Files): Likewise.
32541         * modules/wctype-tests (Files): Likewise.
32542         * modules/wcwidth-tests (Files): Likewise.
32543         * modules/xmemdup0-tests (Files): Likewise.
32544         * modules/xprintf-posix-tests (Files): Likewise.
32545         * modules/xvasprintf-tests (Files): Likewise.
32546
32547 2009-12-24  Eric Blake  <ebb9@byu.net>
32548
32549         test-nanosleep: fix typo
32550         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
32551         patch.
32552         Reported by Bruno Haible.
32553
32554 2009-12-24  Bruno Haible  <bruno@clisp.org>
32555
32556         Reduce namespace pollution on glibc systems.
32557         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
32558         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
32559         systems.
32560         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
32561         <getopt.h> on glibc systems.
32562         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
32563         systems.
32564         * lib/fcntl.c: Include <unistd.h> here instead.
32565
32566 2009-12-24  Bruno Haible  <bruno@clisp.org>
32567
32568         * lib/stdlib.in.h (includes): Fix typo in today's commit.
32569
32570 2009-12-24  Eric Blake  <ebb9@byu.net>
32571
32572         tests: add signature checks
32573         * tests/signature.h (SIGNATURE_CHECK): New file.
32574         * modules/atexit-tests (Files): Use it.
32575         * modules/btowc-tests (Files): Likewise.
32576         * modules/canonicalize-lgpl-tests (Files): Likewise.
32577         * modules/ceilf-tests (Files): Likewise.
32578         * modules/ceill-tests (Files): Likewise.
32579         * modules/chown-tests (Files): Likewise.
32580         * modules/dprintf-posix-tests (Files): Likewise.
32581         * modules/dup2-tests (Files): Likewise.
32582         * modules/dup3-tests (Files): Likewise.
32583         * modules/duplocale-tests (Files): Likewise.
32584         * modules/fchdir-tests (Files): Likewise.
32585         * modules/fcntl-tests (Files): Likewise.
32586         * modules/fdopendir-tests (Files): Likewise.
32587         * modules/fflush-tests (Files): Likewise.
32588         * modules/flock-tests (Files): Likewise.
32589         * modules/floorf-tests (Files): Likewise.
32590         * modules/floorl-tests (Files): Likewise.
32591         * modules/fnmatch-tests (Files): Likewise.
32592         * modules/fopen-tests (Files): Likewise.
32593         * modules/fprintf-posix-tests (Files): Likewise.
32594         * modules/freopen-tests (Files): Likewise.
32595         * modules/frexp-nolibm-tests (Files): Likewise.
32596         * modules/frexp-tests (Files): Likewise.
32597         * modules/frexpl-nolibm-tests (Files): Likewise.
32598         * modules/frexpl-tests (Files): Likewise.
32599         * modules/fseek-tests (Files): Likewise.
32600         * modules/fseeko-tests (Files): Likewise.
32601         * modules/fsync-tests (Files): Likewise.
32602         * modules/ftell-tests (Files): Likewise.
32603         * modules/ftello-tests (Files): Likewise.
32604         * modules/futimens-tests (Files): Likewise.
32605         * modules/getaddrinfo-tests (Files): Likewise.
32606         * modules/getcwd-tests (Files): Likewise.
32607         * modules/getdelim-tests (Files): Likewise.
32608         * modules/getdtablesize-tests (Files): Likewise.
32609         * modules/getgroups-tests (Files): Likewise.
32610         * modules/gethostname-tests (Files): Likewise.
32611         * modules/getline-tests (Files): Likewise.
32612         * modules/getopt-posix-tests (Files): Likewise.
32613         * modules/gettimeofday-tests (Files): Likewise.
32614         * modules/glob-tests (Files): Likewise.
32615         * modules/iconv-tests (Files): Likewise.
32616         * modules/inet_ntop-tests (Files): Likewise.
32617         * modules/inet_pton-tests (Files): Likewise.
32618         * modules/isblank-tests (Files): Likewise.
32619         * modules/lchown-tests (Files): Likewise.
32620         * modules/ldexpl-tests (Files): Likewise.
32621         * modules/link-tests (Files): Likewise.
32622         * modules/linkat-tests (Files): Likewise.
32623         * modules/lseek-tests (Files): Likewise.
32624         * modules/lstat-tests (Files): Likewise.
32625         * modules/mbrtowc-tests (Files): Likewise.
32626         * modules/mbsinit-tests (Files): Likewise.
32627         * modules/mbsnrtowcs-tests (Files): Likewise.
32628         * modules/mbsrtowcs-tests (Files): Likewise.
32629         * modules/memchr-tests (Files): Likewise.
32630         * modules/memcmp-tests (Files): Likewise.
32631         * modules/memmem-tests (Files): Likewise.
32632         * modules/memrchr-tests (Files): Likewise.
32633         * modules/mkdir-tests (Files): Likewise.
32634         * modules/mkfifo-tests (Files): Likewise.
32635         * modules/mkfifoat-tests (Files): Likewise.
32636         * modules/mknod-tests (Files): Likewise.
32637         * modules/nanosleep-tests (Files): Likewise.
32638         * modules/nl_langinfo-tests (Files): Likewise.
32639         * modules/obstack-printf-tests (Files): Likewise.
32640         * modules/open-tests (Files): Likewise.
32641         * modules/openat-tests (Files): Likewise.
32642         * modules/perror-tests (Files): Likewise.
32643         * modules/pipe2-tests (Files): Likewise.
32644         * modules/poll-tests (Files): Likewise.
32645         * modules/popen-tests (Files): Likewise.
32646         * modules/posix_spawn-tests (Files): Likewise.
32647         * modules/posix_spawnp-tests (Files): Likewise.
32648         * modules/pread-tests (Files): Likewise.
32649         * modules/printf-posix-tests (Files): Likewise.
32650         * modules/pty-tests (Files): Likewise.
32651         * modules/random_r-tests (Files): Likewise.
32652         * modules/rawmemchr-tests (Files): Likewise.
32653         * modules/readlink-tests (Files): Likewise.
32654         * modules/remove-tests (Files): Likewise.
32655         * modules/rename-tests (Files): Likewise.
32656         * modules/renameat-tests (Files): Likewise.
32657         * modules/rmdir-tests (Files): Likewise.
32658         * modules/round-tests (Files): Likewise.
32659         * modules/roundf-tests (Files): Likewise.
32660         * modules/roundl-tests (Files): Likewise.
32661         * modules/select-tests (Files): Likewise.
32662         * modules/setenv-tests (Files): Likewise.
32663         * modules/sigaction-tests (Files): Likewise.
32664         * modules/sleep-tests (Files): Likewise.
32665         * modules/snprintf-posix-tests (Files): Likewise.
32666         * modules/snprintf-tests (Files): Likewise.
32667         * modules/sprintf-posix-tests (Files): Likewise.
32668         * modules/stat-tests (Files): Likewise.
32669         * modules/strcasestr-tests (Files): Likewise.
32670         * modules/strchrnul-tests (Files): Likewise.
32671         * modules/strerror-tests (Files): Likewise.
32672         * modules/strsignal-tests (Files): Likewise.
32673         * modules/strstr-tests (Files): Likewise.
32674         * modules/strtod-tests (Files): Likewise.
32675         * modules/strverscmp-tests (Files): Likewise.
32676         * modules/symlink-tests (Files): Likewise.
32677         * modules/symlinkat-tests (Files): Likewise.
32678         * modules/times-tests (Files): Likewise.
32679         * modules/trunc-tests (Files): Likewise.
32680         * modules/truncf-tests (Files): Likewise.
32681         * modules/truncl-tests (Files): Likewise.
32682         * modules/tsearch-tests (Files): Likewise.
32683         * modules/uname-tests (Files): Likewise.
32684         * modules/unlink-tests (Files): Likewise.
32685         * modules/unsetenv-tests (Files): Likewise.
32686         * modules/usleep-tests (Files): Likewise.
32687         * modules/utimensat-tests (Files): Likewise.
32688         * modules/vasprintf-tests (Files): Likewise.
32689         * modules/vdprintf-posix-tests (Files): Likewise.
32690         * modules/vfprintf-posix-tests (Files): Likewise.
32691         * modules/vprintf-posix-tests (Files): Likewise.
32692         * modules/vsnprintf-posix-tests (Files): Likewise.
32693         * modules/vsnprintf-tests (Files): Likewise.
32694         * modules/vsprintf-posix-tests (Files): Likewise.
32695         * modules/wcrtomb-tests (Files): Likewise.
32696         * modules/wcsnrtombs-tests (Files): Likewise.
32697         * modules/wcsrtombs-tests (Files): Likewise.
32698         * modules/wcwidth-tests (Files): Likewise.
32699         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
32700         * tests/test-isinf.c (isinf): Likewise.
32701         * tests/test-isnan.c (isnan): Likewise.
32702         * tests/test-signbit.c (signbit): Likewise.
32703         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
32704         declaration, either as macro or with correct signature.
32705         (select): Ensure function under test is declared with correct
32706         signature in correct header.
32707         * tests/test-atexit.c (atexit): Likewise.
32708         * tests/test-btowc.c (btowc): Likewise.
32709         * tests/test-canonicalize-lgpl.c (realpath)
32710         (canonicalize_file_name): Likewise.
32711         * tests/test-ceilf1.c (ceilf): Likewise.
32712         * tests/test-ceill.c (ceill): Likewise.
32713         * tests/test-chown.c (chown): Likewise.
32714         * tests/test-dprintf-posix.c (dprintf): Likewise.
32715         * tests/test-dup2.c (dup2): Likewise.
32716         * tests/test-dup3.c (dup3): Likewise.
32717         * tests/test-duplocale.c (duplocale): Likewise.
32718         * tests/test-fchdir.c (fchdir): Likewise.
32719         * tests/test-fchownat.c (fchownat): Likewise.
32720         * tests/test-fcntl.c (fcntl): Likewise.
32721         * tests/test-fdopendir.c (fdopendir): Likewise.
32722         * tests/test-fflush.c (fflush): Likewise.
32723         * tests/test-flock.c (flock): Likewise.
32724         * tests/test-floorf1.c (floorf): Likewise.
32725         * tests/test-floorl.c (floorl): Likewise.
32726         * tests/test-fnmatch.c (fnmatch): Likewise.
32727         * tests/test-fopen.c (fopen): Likewise.
32728         * tests/test-fprintf-posix.c (fprintf): Likewise.
32729         * tests/test-freopen.c (freopen): Likewise.
32730         * tests/test-frexp.c (frexp): Likewise.
32731         * tests/test-frexpl.c (frexpl): Likewise.
32732         * tests/test-fseek.c (fseek): Likewise.
32733         * tests/test-fseeko.c (fseeko): Likewise.
32734         * tests/test-fstatat.c (fstatat): Likewise.
32735         * tests/test-fsync.c (fsync): Likewise.
32736         * tests/test-ftell.c (ftell): Likewise.
32737         * tests/test-ftello.c (ftello): Likewise.
32738         * tests/test-futimens.c (futimens): Likewise.
32739         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
32740         (gai_strerror): Likewise.
32741         * tests/test-getcwd.c (getcwd): Likewise.
32742         * tests/test-getdelim.c (getdelim): Likewise.
32743         * tests/test-getdtablesize.c (getdtablesize): Likewise.
32744         * tests/test-getgroups.c (getgroups): Likewise.
32745         * tests/test-gethostname.c (gethostname): Likewise.
32746         * tests/test-getline.c (getline): Likewise.
32747         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
32748         Likewise.
32749         * tests/test-gettimeofday.c (gettimeofday): Likewise.
32750         * tests/test-glob.c (glob, globfree): Likewise.
32751         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
32752         * tests/test-inet_ntop.c (inet_ntop): Likewise.
32753         * tests/test-inet_pton.c (inet_pton): Likewise.
32754         * tests/test-isblank.c (isblank): Likewise.
32755         * tests/test-lchown.c (lchown): Likewise.
32756         * tests/test-ldexpl.c (ldexpl): Likewise.
32757         * tests/test-link.c (link): Likewise.
32758         * tests/test-linkat.c (linkat): Likewise.
32759         * tests/test-lseek.c (lseek): Likewise.
32760         * tests/test-lstat.c (lstat): Likewise.
32761         * tests/test-mbrtowc.c (mbrtowc): Likewise.
32762         * tests/test-mbsinit.c (mbsinit): Likewise.
32763         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
32764         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
32765         * tests/test-memchr.c (memchr): Likewise.
32766         * tests/test-memcmp.c (memcmp): Likewise.
32767         * tests/test-memmem.c (memmem): Likewise.
32768         * tests/test-memrchr.c (memrchr): Likewise.
32769         * tests/test-mkdir.c (mkdir): Likewise.
32770         * tests/test-mkdirat.c (mkdirat): Likewise.
32771         * tests/test-mkfifo.c (mkfifo): Likewise.
32772         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
32773         * tests/test-mknod.c (mknod): Likewise.
32774         * tests/test-nanosleep.c (nanosleep): Likewise.
32775         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
32776         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
32777         Likewise.
32778         * tests/test-open.c (open): Likewise.
32779         * tests/test-openat.c (openat): Likewise.
32780         * tests/test-perror.c (perror): Likewise.
32781         * tests/test-pipe2.c (pipe2): Likewise.
32782         * tests/test-poll.c (poll): Likewise.
32783         * tests/test-popen.c (popen, pclose): Likewise.
32784         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
32785         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
32786         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
32787         (posix_spawn_file_actions_destroy)
32788         (posix_spawn_file_actions_addclose)
32789         (posix_spawn_file_actions_addopen)
32790         (posix_spawn_file_actions_adddup2): Likewise.
32791         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
32792         * tests/test-pread.c (pread): Likewise.
32793         * tests/test-printf-posix.c (printf): Likewise.
32794         * tests/test-pty.c (openpty, forkpty): Likewise.
32795         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
32796         (random_r): Likewise.
32797         * tests/test-rawmemchr.c (rawmemchr): Likewise.
32798         * tests/test-readlink.c (readlink): Likewise.
32799         * tests/test-remove.c (remove): Likewise.
32800         * tests/test-rename.c (rename): Likewise.
32801         * tests/test-renameat.c (renameat): Likewise.
32802         * tests/test-rmdir.c (rmdir): Likewise.
32803         * tests/test-round1.c (round): Likewise.
32804         * tests/test-roundf1.c (roundf): Likewise.
32805         * tests/test-roundl.c (roundl): Likewise.
32806         * tests/test-setenv.c (setenv): Likewise.
32807         * tests/test-sigaction.c (sigaction): Likewise.
32808         * tests/test-sleep.c (sleep): Likewise.
32809         * tests/test-snprintf.c (snprintf): Likewise.
32810         * tests/test-sprintf-posix.c (sprintf): Likewise.
32811         * tests/test-stat.c (stat): Likewise.
32812         * tests/test-stpncpy.c (stpncpy): Likewise.
32813         * tests/test-strcasestr.c (strcasestr): Likewise.
32814         * tests/test-strchrnul.c (strchrnul): Likewise.
32815         * tests/test-strerror.c (strerror): Likewise.
32816         * tests/test-strsignal.c (strsignal): Likewise.
32817         * tests/test-strstr.c (strstr): Likewise.
32818         * tests/test-strtod.c (strtod): Likewise.
32819         * tests/test-strverscmp.c (strverscmp): Likewise.
32820         * tests/test-symlink.c (symlink): Likewise.
32821         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
32822         * tests/test-times.c (times): Likewise.
32823         * tests/test-trunc1.c (trunc): Likewise.
32824         * tests/test-truncf1.c (truncf): Likewise.
32825         * tests/test-truncl.c (truncl): Likewise.
32826         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
32827         Likewise.
32828         * tests/test-uname.c (uname): Likewise.
32829         * tests/test-unlink.c (unlink): Likewise.
32830         * tests/test-unlinkat.c (unlinkat): Likewise.
32831         * tests/test-unsetenv.c (unsetenv): Likewise.
32832         * tests/test-usleep.c (usleep): Likewise.
32833         * tests/test-utimensat.c (utimensat): Likewise.
32834         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
32835         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
32836         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
32837         * tests/test-vprintf-posix.c (vprintf): Likewise.
32838         * tests/test-vsnprintf.c (vsnprintf): Likewise.
32839         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
32840         * tests/test-wcrtomb.c (wcrtomb): Likewise.
32841         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
32842         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
32843         * tests/test-wcwidth.c (wcwidth): Likewise.
32844
32845         build: pull in conditional headers during GNULIB_POSIXCHECK
32846         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
32847         definitions from any conditionally-included headers.
32848         * lib/stdlib.in.h (includes): Likewise.
32849         * lib/unistd.in.h (includes): Likewise.
32850
32851 2009-12-24  Bruno Haible  <bruno@clisp.org>
32852
32853         * tests/test-argv-iter.c: Include header file being tested immediately
32854         after config.h.
32855         * tests/test-base64.c: Likewise.
32856         * tests/test-flock.c: Likewise.
32857         * tests/test-fsync.c: Likewise.
32858         * tests/test-getdate.c: Likewise.
32859         * tests/test-getndelim2.c: Likewise.
32860         * tests/test-isfinite.c: Likewise.
32861         * tests/test-isinf.c: Likewise.
32862         * tests/test-strerror.c: Likewise.
32863         * tests/test-strsignal.c: Likewise.
32864
32865 2009-12-23  Eric Blake  <ebb9@byu.net>
32866
32867         unistd: work around cygwin bug
32868         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
32869         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
32870         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
32871
32872 2009-12-23  Bruno Haible  <bruno@clisp.org>
32873
32874         localename: More tests.
32875         * tests/test-localename.c (SIZEOF): New macro.
32876         (categories): New variable.
32877         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
32878         test_locale_name_default): Add test w.r.t. thread locale.
32879         (test_locale_name_thread): New function.
32880         (main): Invoke it.
32881
32882         localename: Make aware of thread locale.
32883         * lib/localename.h (gl_locale_name_thread): New declaration.
32884         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
32885         behaviour with respect to thread locale.
32886         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
32887         <langinfo.h>, glthread/lock.h.
32888         (SIZE_BITS): New macro.
32889         (string_hash): New function.
32890         (struct hash_node): New type.
32891         (HASH_TABLE_SIZE): New macro.
32892         (struniq_hash_table, struniq_lock): New variables.
32893         (struniq): New function.
32894         (gl_locale_name_thread): New function.
32895         (gl_locale_name): Invoke it.
32896         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
32897         * modules/localename (Depends-on): Add lock.
32898         Reported by Mike Gran <spk121@yahoo.com>.
32899
32900 2009-12-23  Eric Blake  <ebb9@byu.net>
32901
32902         va-args: new module
32903         * modules/va-args: New file.
32904         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
32905         * MODULES.html.sh (Core language properties): Mention it.
32906
32907         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
32908         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
32909         named alias for __attribute__((__unused__)).
32910         * lib/chown.c: Update client.
32911         * lib/fchmodat.c: Likewise.
32912         * lib/fts.c: Likewise.
32913         * lib/getdate.y: Likewise.
32914         * lib/getgroups.c: Likewise.
32915         * lib/getopt.c: Likewise.
32916         * lib/getugroups.c: Likewise.
32917         * lib/mkdir.c: Likewise.
32918         * lib/mkfifo.c: Likewise.
32919         * lib/mkfifoat.c: Likewise.
32920         * lib/mknod.c: Likewise.
32921         * lib/mknodat.c: Likewise.
32922         * lib/readlink.c: Likewise.
32923         * lib/se-context.in.h: Likewise.
32924         * lib/se-selinux.in.h: Likewise.
32925         * lib/sockets.c: Likewise.
32926         * lib/symlink.c: Likewise.
32927         * lib/symlinkat.c: Likewise.
32928         * lib/unicodeio.c: Likewise.
32929         * lib/unistr.h: Likewise.
32930         * tests/test-areadlink.c: Likewise.
32931         * tests/test-areadlinkat.c: Likewise.
32932         * tests/test-filenamecat.c: Likewise.
32933         * tests/test-fseeko.c: Likewise.
32934         * tests/test-ftello.c: Likewise.
32935         * tests/test-getdate.c: Likewise.
32936         * tests/test-getgroups.c: Likewise.
32937         * tests/test-gethostname.c: Likewise.
32938         * tests/test-quotearg.c: Likewise.
32939         * tests/test-version-etc.c: Likewise.
32940         * tests/test-xalloc-die.c: Likewise.
32941         * tests/test-xfprintf-posix.c: Likewise.
32942         * tests/test-xprintf-posix.c: Likewise.
32943         * tests/test-xvasprintf.c: Likewise.
32944
32945         tests: avoid compiler warnings
32946         * tests/test-fcntl.c (main): Delete unused parameters.
32947         * tests/test-freopen-safer.c (main): Likewise.
32948         * tests/test-xalloc-die.c (main): Mark unused parameters.
32949         * tests/test-fseeko.c (main): Likewise.
32950         * tests/test-ftello.c (main): Likewise.
32951         * tests/test-nanosleep.c (main): Avoid declaration warning.
32952         * tests/test-sleep.c (main): Likewise.
32953         * tests/test-unsetenv.c (main): Silence warning about string
32954         literal.
32955         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
32956
32957 2009-12-23  Bruno Haible  <bruno@clisp.org>
32958
32959         * tests/test-localename.c (test_locale_name): New function, extracted
32960         from main. Also test mixed situations.
32961         (test_locale_name_posix, test_locale_name_environ,
32962         test_locale_name_default): New functions.
32963         (main): Invoke them all.
32964         * modules/localename-tests (configure.ac): Test for newlocale.
32965
32966 2009-12-23  Bruno Haible  <bruno@clisp.org>
32967
32968         unistd: Ensure getcwd gets declared before being overridden.
32969         * lib/unistd.in.h: Conditionally include <io.h>.
32970
32971 2009-12-22  Bruno Haible  <bruno@clisp.org>
32972
32973         wchar: Diagnose broken combination of glibc and gcc versions and flags.
32974         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
32975         (gl_WCHAR_H): Invoke it.
32976         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
32977         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
32978         Reported by Karl Berry <karl@freefriends.org>.
32979
32980 2009-12-22  Eric Blake  <ebb9@byu.net>
32981
32982         math, unistd: avoid redundant includes
32983         * lib/math.in.h (isnan): No need to re-include <math.h>.
32984         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
32985
32986         getsubopt: work around cygwin bug
32987         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
32988         avoid conflicting with system getsubopt.
32989         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
32990         bug.
32991
32992         getopt: synchronize from glibc
32993         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
32994         parameter order.  Adjust all callers.
32995         (_getopt_internal_r, main): Adjust quoting in error messages.
32996         Drop considerations for outdated POSIX 1003.2 error message.
32997         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
32998         callers.
32999         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
33000
33001         test-getopt: test stderr behavior
33002         * modules/getopt-posix-tests (Depends-on): Add dup2.
33003         * tests/test-getopt.c (ASSERT): Avoid stderr.
33004         (main): Move stderr to a temporary file.
33005         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
33006         Instead, add parameter to inform caller if output occurred.
33007         (test_getopt): Adjust all existing tests to expect silence, and
33008         add new tests of leading ":".
33009         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33010         glibc shortcomings with leading "-:" or "+:" in optstring.
33011         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33012         Likewise.
33013         * doc/posix-functions/getopt.texi (getopt): Likewise.
33014
33015         test-getopt: enhance test
33016         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
33017         supports optind=0.
33018         * tests/test-getopt.c (OPTIND_MIN): Move...
33019         * tests/test-getopt.h (OPTIND_MIN): ...here.
33020         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
33021         Require that optind=0 works, since modern BSD supports it in
33022         addition to optreset, and since coreutils expects it.
33023         (test_getopt_long_only): New test.
33024         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33025         glibc shortcomings with 'W;', and enforcement of optind=0.
33026         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33027         Likewise.
33028
33029 2009-12-21  Bruno Haible  <bruno@clisp.org>
33030
33031         localename: Improvements for MacOS X and Cygwin.
33032         * lib/localename.h (gl_locale_name_environ): New declaration.
33033         * lib/localename.c (gl_locale_name_environ): New function, extracted from
33034         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
33035         (gl_locale_name_posix): Invoke it.
33036         (gl_locale_name_default): Add comments. Use Windows native API also on
33037         Cygwin.
33038
33039 2009-12-21  Bruno Haible  <bruno@clisp.org>
33040
33041         Update list of Win32 locale ids.
33042         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
33043         (LANG_SAMI): Renamed from LANG_SAAMI.
33044         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
33045         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
33046         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
33047         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
33048         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
33049         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
33050         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
33051         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
33052         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
33053         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
33054         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
33055         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
33056         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
33057         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
33058         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
33059         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
33060         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
33061         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
33062         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
33063         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
33064         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
33065         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
33066         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
33067         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
33068         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
33069         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
33070         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
33071         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
33072         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
33073         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
33074         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
33075         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
33076         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
33077         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
33078         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
33079         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
33080         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
33081         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
33082         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
33083         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
33084         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
33085         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
33086         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
33087         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
33088         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
33089         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
33090         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
33091         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
33092         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
33093         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
33094         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
33095         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
33096         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
33097         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
33098         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
33099         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
33100         Add more languages and countries for Sami, Sorbian. Add more countries
33101         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
33102         for Pashto. Change country for Syriac, Tswana.
33103
33104 2009-12-21  Eric Blake  <ebb9@byu.net>
33105
33106         test-utimens: avoid spurious failure
33107         * tests/test-chown.h (nap): Factor...
33108         * tests/nap.h: ...into new file.
33109         * tests/test-lchown.h (nap): Avoid duplication.
33110         * tests/test-utimens-common.h (nap): Use shared implementation,
33111         necessary on file systems with 1-second resolution.
33112         * modules/chown-tests (Files): Include new file.
33113         * modules/fdutimensat-tests (Files): Likewise.
33114         * modules/futimens-tests (Files): Likewise.
33115         * modules/lchown-tests (Files): Likewise.
33116         * modules/openat-tests (Files): Likewise.
33117         * modules/utimens-tests (Files): Likewise.
33118         * modules/utimensat-tests (Files): Likewise.
33119
33120 2009-12-19  Eric Blake  <ebb9@byu.net>
33121
33122         futimens, utimensat: work around Linux bug
33123         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
33124         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33125         * lib/utimensat.c (rpl_utimensat): Work around it.
33126         * lib/futimens.c (rpl_futimens): Adjust comment.
33127
33128         utimens: work around Linux ctime bug
33129         * lib/utimens.c (detect_ctime_bug): New helper function.
33130         (update_timespec): Differentiate between workaround needed for
33131         this bug vs. what is needed for systems that lack utimensat.
33132         (fdutimens, lutimens): Work around bug.
33133
33134         utimens: check for ctime update
33135         * tests/test-utimens-common.h (check_ctime): Define.
33136         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
33137         * tests/test-futimens.h (test_futimens): Likewise.
33138         * tests/test-lutimens.h (test_lutimens): Likewise.
33139         * doc/posix-functions/futimens.texi (futimens): Document the bug.
33140         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33141
33142 2009-12-19  Bruno Haible  <bruno@clisp.org>
33143
33144         dprintf-posix: Check against memory leak fixed on 2009-12-15.
33145         * tests/test-dprintf-posix2.sh: New file.
33146         * tests/test-dprintf-posix2.c: New file.
33147         * modules/dprintf-posix-tests (Files): Add them.
33148         (configure.ac): Check for getrlimit and setrlimit.
33149         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
33150
33151 2009-12-19  Bruno Haible  <bruno@clisp.org>
33152
33153         fprintf-posix: Check against memory leak fixed on 2009-12-15.
33154         * tests/test-fprintf-posix3.sh: New file.
33155         * tests/test-fprintf-posix3.c: New file.
33156         * modules/fprintf-posix-tests (Files): Add them.
33157         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
33158
33159 2009-12-19  Eric Blake  <ebb9@byu.net>
33160
33161         dirfd: fix prototype
33162         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
33163         * lib/dirfd.c (dirfd): Likewise.
33164
33165         canonicalize: reduce memory usage
33166         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
33167         allocation to size.
33168         Reported by Solar Designer <solar@openwall.com>.
33169
33170 2009-12-19  Bruno Haible  <bruno@clisp.org>
33171
33172         New module attribute 'Applicability'.
33173         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
33174         * gnulib-tool: New option --extract-applicability.
33175         (func_usage): Document it.
33176         (sed_extract_prog): Recognize it.
33177         (func_get_applicability): New function.
33178         (func_import): Generalize handling of 'link-warning' module.
33179         * modules/link-warning (Applicability): New section.
33180         * modules/arg-nonnull (Applicability): New section.
33181         Repoted by Simon Josefsson <simon@josefsson.org>.
33182
33183 2009-12-19  Bruno Haible  <bruno@clisp.org>
33184
33185         fflush: tweak
33186         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
33187         * lib/fseeko.c (rpl_fseeko): Likewise.
33188
33189 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
33190
33191         * lib/gl_list.h: Fix typo in comment.
33192
33193 2009-12-16  Eric Blake  <ebb9@byu.net>
33194
33195         fcntl: use to simplify other modules
33196         * modules/cloexec (Depends-on): Add fcntl.
33197         * modules/fchdir (Depends-on): Likewise.
33198         * modules/fd-safer-flag (Depends-on): Likewise.
33199         * modules/unistd-safer (Depends-on): Likewise.
33200         * modules/dup3 (configure.ac): Set module indicator.
33201         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
33202         missing.
33203         * lib/fchdir.c (_gl_register_dup): Fix comment.
33204         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
33205         * lib/dup-safer.c (dup_safer): Likewise.
33206         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
33207         * lib/dup3.c (dup3): Likewise.
33208         * tests/test-fchdir.c (main): Enhance test.
33209         Fixes a dup_cloexec bug reported by Ondřej Vašík.
33210
33211         fcntl: port portions of fcntl to mingw
33212         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
33213         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
33214         replacement for mingw.
33215         * modules/fcntl (Description): Update.
33216         (Depends-on): Add dup2.
33217         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
33218         * modules/fcntl-h (Makefile.am): Substitute it.
33219         * lib/fcntl.in.h (fcntl): Update declaration.
33220         (F_DUPFD, F_GETFD): New macros, when needed.
33221         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
33222         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
33223         * tests/test-fcntl.c (check_flags, main): Enhance test for items
33224         we now guarantee.
33225
33226         fcntl: work around cygwin bug in F_DUPFD
33227         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
33228         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
33229         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
33230         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
33231         * doc/posix-functions/fcntl.texi (fcntl): Document it.
33232
33233         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
33234         * modules/fcntl (Files): List new files.
33235         (configure.ac): Run a test.
33236         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
33237         * lib/fcntl.c (rpl_fcntl): Likewise.
33238         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
33239         (gl_FCNTL_H): Always replace fcntl.h.
33240         * modules/fcntl-h (Makefile.am): Substitute witnesses.
33241         * lib/fcntl.in.h (fcntl): Declare replacement.
33242         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
33243         needed, plus a witness.
33244         * doc/posix-functions/fcntl.texi (fcntl): Document this.
33245         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
33246         * tests/test-fcntl.c: New file.
33247         * modules/fcntl-tests: Likewise.
33248
33249         binary-io: avoid potential compilation warning
33250         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
33251         directives.
33252
33253         fflush: avoid compilation error on NetBSD
33254         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
33255         between off_t and fpos_t, since the latter is sometimes a struct.
33256         * lib/fseeko.c (rpl_fseeko): Likewise.
33257         Reported by Alexander Nasonov <alnsn@yandex.ru>.
33258
33259 2009-12-15  Eric Blake  <ebb9@byu.net>
33260
33261         fcntl-h, stdio, sys_ioctl: fix declarations
33262         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
33263         function must not take arguments.
33264         * lib/sys_ioctl.in.h (ioctl): Likewise.
33265         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
33266         (open): Add a link warning.
33267
33268 2009-12-15  Jim Meyering  <meyering@redhat.com>
33269
33270         areadlink, areadlink-with-size: relax license to LGPLv2+
33271         * modules/areadlink (License): Relax to LGPLv2+.
33272         * modules/areadlink-with-size (License): Likewise.
33273
33274 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
33275             Bruno Haible  <bruno@clisp.org>
33276
33277         *printf: Fix memory leak.
33278         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
33279         * lib/vfprintf.c (vfprintf): Likewise.
33280         * lib/dprintf.c (dprintf): Likewise.
33281         * lib/vdprintf.c (vdprintf): Likewise.
33282
33283 2009-12-14  Eric Blake  <ebb9@byu.net>
33284
33285         accept4: adjust module dependencies
33286         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
33287
33288         utimens: one more try at avoiding compiler warning
33289         * lib/utimens.c (lutimens): Lower scope of result.
33290
33291 2009-12-13  Bruno Haible  <bruno@clisp.org>
33292
33293         Move the malloc checking from module 'list' to new module 'xlist'.
33294         * modules/xlist: New file.
33295         * lib/gl_xlist.h: New file.
33296         * lib/gl_xlist.c: New file.
33297         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
33298         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
33299         gl_list_add_last, gl_list_add_before, gl_list_add_after,
33300         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
33301         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
33302         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
33303         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
33304         gl_sortedlist_nx_add): New declarations.
33305         (struct gl_list_implementation): Rename and change methods accordingly.
33306         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
33307         (gl_list_nx_create): Renamed from gl_list_create.
33308         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
33309         (gl_list_nx_set_at): Renamed from gl_list_set_at.
33310         (gl_list_nx_add_first): Renamed from gl_list_add_first.
33311         (gl_list_nx_add_last): Renamed from gl_list_add_last.
33312         (gl_list_nx_add_before): Renamed from gl_list_add_before.
33313         (gl_list_nx_add_after): Renamed from gl_list_add_after.
33314         (gl_list_nx_add_at): Renamed from gl_list_add_at.
33315         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
33316         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
33317         gl_list_create_empty.
33318         (gl_list_nx_create): Renamed from gl_list_create.
33319         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
33320         (gl_list_nx_set_at): Renamed from gl_list_set_at.
33321         (gl_list_nx_add_first): Renamed from gl_list_add_first.
33322         (gl_list_nx_add_last): Renamed from gl_list_add_last.
33323         (gl_list_nx_add_before): Renamed from gl_list_add_before.
33324         (gl_list_nx_add_after): Renamed from gl_list_add_after.
33325         (gl_list_nx_add_at): Renamed from gl_list_add_at.
33326         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
33327         * lib/gl_array_list.c: Don't include xalloc.h.
33328         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
33329         NULL upon out-of-memory.
33330         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
33331         out-of-memory.
33332         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
33333         Change return type to 'int'.
33334         (gl_array_nx_set_at): Renamed from gl_array_set_at.
33335         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
33336         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
33337         upon out-of-memory.
33338         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
33339         upon out-of-memory.
33340         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
33341         upon out-of-memory.
33342         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
33343         upon out-of-memory.
33344         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
33345         out-of-memory.
33346         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
33347         Update.
33348         (gl_array_list_implementation): Update.
33349         * lib/gl_carray_list.c: Don't include xalloc.h.
33350         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
33351         Return NULL upon out-of-memory.
33352         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
33353         out-of-memory.
33354         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
33355         Change return type to 'int'.
33356         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
33357         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
33358         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
33359         upon out-of-memory.
33360         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
33361         upon out-of-memory.
33362         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
33363         out-of-memory.
33364         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
33365         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
33366         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
33367         Update.
33368         (gl_carray_list_implementation): Update.
33369         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
33370         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
33371         gl_linked_create_empty. Return NULL upon out-of-memory.
33372         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
33373         out-of-memory.
33374         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
33375         Change return type to 'int'. Return -1 upon out-of-memory.
33376         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
33377         out-of-memory.
33378         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
33379         upon out-of-memory.
33380         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
33381         upon out-of-memory.
33382         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
33383         NULL upon out-of-memory.
33384         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
33385         upon out-of-memory.
33386         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
33387         out-of-memory.
33388         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
33389         Update.
33390         * lib/gl_linked_list.c: Don't include xalloc.h.
33391         (gl_linked_list_implementation): Update.
33392         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
33393         (add_to_bucket): Change return type to 'int'.
33394         (gl_linkedhash_list_implementation): Update.
33395         * lib/gl_anytree_list1.h (free_subtree): New function.
33396         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
33397         gl_tree_create_empty. Return NULL upon out-of-memory.
33398         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
33399         Change return type to 'int'. Return -1 upon out-of-memory.
33400         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
33401         out-of-memory.
33402         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
33403         (gl_tree_remove_node): New function, moved here from
33404         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
33405         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
33406         Update.
33407         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
33408         malloc, not xmalloc. Return NULL upon out-of-memory.
33409         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
33410         out-of-memory.
33411         (gl_tree_remove_node_from_tree): New function, extracted from
33412         gl_tree_remove_node.
33413         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
33414         upon out-of-memory.
33415         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
33416         out-of-memory.
33417         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
33418         upon out-of-memory.
33419         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
33420         upon out-of-memory.
33421         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
33422         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
33423         not xmalloc. Return NULL upon out-of-memory.
33424         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
33425         out-of-memory.
33426         (gl_tree_remove_node_from_tree): New function, extracted from
33427         gl_tree_remove_node.
33428         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
33429         upon out-of-memory.
33430         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
33431         out-of-memory.
33432         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
33433         upon out-of-memory.
33434         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
33435         upon out-of-memory.
33436         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
33437         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
33438         gl_anytree_list1.h before gl_anyavltree_list2.h.
33439         (gl_avltree_list_implementation): Update.
33440         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
33441         gl_anytree_list1.h before gl_anyavltree_list2.h.
33442         (gl_rbtree_list_implementation): Update.
33443         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
33444         Change return type to 'int'. Return -1 upon out-of-memory. Use
33445         __builtin_expect.
33446         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
33447         (gl_avltreehash_list_implementation): Update.
33448         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
33449         (gl_rbtreehash_list_implementation): Update.
33450         * modules/array-list (Depends-on): Remove xalloc.
33451         * modules/carray-list (Depends-on): Likewise.
33452         * modules/linked-list (Depends-on): Likewise.
33453         * modules/linkedhash-list (Depends-on): Likewise.
33454         * modules/avltree-list (Depends-on): Likewise.
33455         * modules/rbtree-list (Depends-on): Likewise.
33456         * modules/avltreehash-list (Depends-on): Likewise.
33457         * modules/rbtreehash-list (Depends-on): Likewise.
33458
33459         * modules/xsublist: New file.
33460         * lib/gl_xsublist.h: New file.
33461         * lib/gl_xsublist.c: New file.
33462         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
33463         (gl_sublist_nx_create): New declaration.
33464         * lib/gl_sublist.c: Don't include xalloc.h.
33465         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
33466         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
33467         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
33468         Change return type to 'int'. Return -1 upon out-of-memory.
33469         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
33470         upon out-of-memory.
33471         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
33472         NULL upon out-of-memory.
33473         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
33474         upon out-of-memory.
33475         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
33476         NULL upon out-of-memory.
33477         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
33478         NULL upon out-of-memory.
33479         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
33480         upon out-of-memory.
33481         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
33482         (gl_sublist_list_implementation): Update.
33483         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
33484         upon out-of-memory.
33485         * modules/sublist (Depends-on): Remove xalloc.
33486
33487         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
33488         * tests/test-carray_list.c: Likewise.
33489         * tests/test-linked_list.c: Likewise.
33490         * tests/test-linkedhash_list.c: Likewise.
33491         * tests/test-avltree_list.c: Likewise.
33492         * tests/test-rbtree_list.c: Likewise.
33493         * tests/test-avltreehash_list.c: Likewise.
33494         * tests/test-rbtreehash_list.c: Likewise.
33495         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
33496         * modules/carray-list-tests (Makefile.am): Likewise.
33497         * modules/linked-list-tests (Makefile.am): Likewise.
33498         * modules/linkedhash-list-tests (Makefile.am): Likewise.
33499         * modules/avltree-list-tests (Makefile.am): Likewise.
33500         * modules/rbtree-list-tests (Makefile.am): Likewise.
33501         * modules/avltreehash-list-tests (Makefile.am): Likewise.
33502         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
33503
33504         * NEWS: Mention the changes.
33505
33506         * lib/clean-temp.c: Include gl_xlist.h.
33507         * modules/clean-temp (Depends-on): Add xlist.
33508
33509         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
33510         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
33511
33512         * tests/test-array_oset.c: Include gl_xlist.h.
33513         * modules/array-oset-tests (Depends-on): Add xlist.
33514
33515         Reported by José E. Marchesi <jemarch@gnu.org>.
33516
33517 2009-12-13  Bruno Haible  <bruno@clisp.org>
33518
33519         Move the malloc checking from module 'oset' to new module 'xoset'.
33520         * modules/xoset: New file.
33521         * lib/gl_xoset.h: New file.
33522         * lib/gl_xoset.c: New file.
33523         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
33524         declarations.
33525         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
33526         (struct gl_oset_implementation): Rename and change methods accordingly.
33527         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
33528         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
33529         'int'. Mark as __warn_unused_result__.
33530         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
33531         gl_oset_create_empty.
33532         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
33533         'int'.
33534         * lib/gl_array_oset.c: Don't include xalloc.h.
33535         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
33536         malloc, not xmalloc.
33537         (grow): Change return type to 'int'. Don't call xalloc_die.
33538         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
33539         to 'int'.
33540         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
33541         'int'.
33542         (gl_array_oset_implementation): Update.
33543         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
33544         gl_tree_create_empty.
33545         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
33546         'int'.
33547         * lib/gl_avltree_oset.c: Don't include xalloc.h.
33548         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
33549         xmalloc.
33550         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
33551         not xmalloc.
33552         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
33553         xmalloc.
33554         (gl_avltree_oset_implementation): Update.
33555         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
33556         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
33557         xmalloc.
33558         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
33559         not xmalloc.
33560         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
33561         xmalloc.
33562         (gl_rbtree_oset_implementation): Update.
33563         * modules/array-oset (Depends-on): Remove xalloc.
33564         * modules/avltree-oset (Depends-on): Likewise.
33565         * modules/rbtree-oset (Depends-on): Likewise.
33566         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
33567         * tests/test-avltree_oset.c: Likewise.
33568         * tests/test-rbtree_oset.c: Likewise.
33569         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
33570         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
33571         * modules/rbtree-oset-tests (Makefile.am): Likewise.
33572         * NEWS: Mention the change.
33573
33574 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
33575
33576         maint.mk: allow a project to override release-prep commands
33577         * top/maint.mk (alpha, beta, stable): Move release-preparatory
33578         commands into a new rule.
33579         (release-prep): New rule.
33580         (release-prep-hook): New overridable variable.
33581
33582 2009-12-13  Bruno Haible  <bruno@clisp.org>
33583
33584         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
33585
33586 2009-12-13  Jim Meyering  <meyering@redhat.com>
33587
33588         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
33589         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
33590
33591 2009-12-12  Bruno Haible  <bruno@clisp.org>
33592
33593         duplocale: Tweak.
33594         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
33595
33596 2009-12-12  Karl Berry  <karl@gnu.org>
33597
33598         * config/srclist.txt (strtoll.c): tab changes, no more sync.
33599
33600 2009-12-12  Bruno Haible  <bruno@clisp.org>
33601
33602         * m4/po.m4: Undo incorrect untabification.
33603
33604 2009-12-12  Bruno Haible  <bruno@clisp.org>
33605
33606         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
33607         * modules/c-strtod (Depends-on): Add locale.
33608         * modules/c-strtold (Depends-on): Likewise.
33609
33610 2009-12-12  Bruno Haible  <bruno@clisp.org>
33611
33612         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
33613
33614 2009-12-11  Eric Blake  <ebb9@byu.net>
33615
33616         setenv: relax requirement in light of POSIX ruling
33617         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
33618         not NULL.
33619         * tests/test-setenv.c (main): Relax test.
33620         * tests/test-unsetenv.c (main): Likewise.
33621         * doc/posix-functions/setenv.texi (setenv): Document this.
33622         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
33623
33624 2009-12-11  Bruno Haible  <bruno@clisp.org>
33625
33626         New module 'fd-safer-flag'.
33627         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
33628         * lib/dup-safer.c (dup_safer_flag): Remove function.
33629         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
33630         * lib/fd-safer.c (fd_safer_flag): Remove function.
33631         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
33632         * modules/cloexec (configure.ac): Drop indicator macro.
33633         * modules/fd-safer-flag: New file.
33634         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
33635         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
33636         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
33637
33638 2009-12-11  Bruno Haible  <bruno@clisp.org>
33639
33640         Tests for module 'nl_langinfo'.
33641         * modules/nl_langinfo-tests: New file.
33642         * tests/test-nl_langinfo.sh: New file.
33643         * tests/test-nl_langinfo.c: New file.
33644
33645         New module 'nl_langinfo'.
33646         * lib/nl_langinfo.c: New file.
33647         * m4/nl_langinfo.m4: New file.
33648         * modules/nl_langinfo: New file.
33649         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
33650
33651 2009-12-11  Bruno Haible  <bruno@clisp.org>
33652
33653         Tests for module 'langinfo'.
33654         * modules/langinfo-tests: New file.
33655         * tests/test-langinfo.c: New file.
33656
33657         New module 'langinfo'.
33658         * lib/langinfo.in.h: New file.
33659         * m4/langinfo_h.m4: New file.
33660         * modules/langinfo: New file.
33661         * doc/posix-headers/langinfo.texi: Mention the new module.
33662
33663 2009-12-11  Bruno Haible  <bruno@clisp.org>
33664
33665         * lib/config.charset: Untabify.
33666
33667 2009-12-11  Bruno Haible  <bruno@clisp.org>
33668
33669         * modules/unistd-safer (configure.ac): Drop indicator macro.
33670
33671 2009-12-11  Bruno Haible  <bruno@clisp.org>
33672
33673         Move pipe2-safer code to its own file.
33674         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
33675         * lib/pipe-safer.c (pipe2_safer): Remove function.
33676         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
33677         (Makefile.am): Add it to lib_SOURCES.
33678
33679 2009-12-10  Bruno Haible  <bruno@clisp.org>
33680
33681         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
33682
33683 2009-12-10  Bruno Haible  <bruno@clisp.org>
33684
33685         Declare which arguments expect non-NULL values, for GCC and clang.
33686         * build-aux/arg-nonnull.h: New file.
33687         * modules/arg-nonnull: New file.
33688         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
33689         (inet_ntop, inet_pton): Use it.
33690         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
33691         (closedir, dirfd, opendir, scandir, alphasort): Use it.
33692         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
33693         (open, openat): Use it.
33694         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
33695         (fnmatch): Use it.
33696         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
33697         (getopt, getopt_long, getopt_long_only): Use it.
33698         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
33699         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
33700         Use it.
33701         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
33702         (iconv_open): Use it.
33703         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
33704         (strtoimax, strtoumax): Use it.
33705         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
33706         (duplocale): Use it.
33707         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
33708         (frexp, frexpl): Use it.
33709         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
33710         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
33711         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
33712         (tsearch, tfind, tdelete, twalk): Use it.
33713         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
33714         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
33715         sigpending): Use it.
33716         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
33717         (posix_spawn, posix_spawnp, posix_spawnattr_init,
33718         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
33719         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
33720         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
33721         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
33722         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
33723         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
33724         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
33725         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
33726         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
33727         Use it.
33728         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
33729         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
33730         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
33731         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
33732         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
33733         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
33734         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
33735         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
33736         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
33737         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
33738         strtoull, unsetenv): Use it.
33739         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
33740         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
33741         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
33742         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
33743         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
33744         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
33745         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
33746         (strcasecmp, strncasecmp): Use it.
33747         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
33748         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
33749         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
33750         rpl_setsockopt): Use it.
33751         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
33752         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
33753         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
33754         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
33755         (gettimeofday): Use it.
33756         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
33757         (times): Use it.
33758         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
33759         (uname): Use it.
33760         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
33761         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
33762         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
33763         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
33764         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
33765         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
33766         unlinkat, write): Use it.
33767         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
33768         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
33769         * lib/argv-iter.h: Include arg-nonnull.h.
33770         (_ATTRIBUTE_NONNULL_): Remove macro.
33771         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
33772         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
33773         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
33774         optimization.
33775         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
33776         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
33777         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
33778         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
33779         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
33780         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
33781         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
33782         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
33783         * modules/arpa_inet (Depends-on): Add arg-nonnull.
33784         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
33785         * modules/dirent (Depends-on): Add arg-nonnull.
33786         (Makefile.am): Insert arg-nonnull.h into dirent.h.
33787         * modules/fcntl-h (Depends-on): Add arg-nonnull.
33788         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
33789         * modules/fnmatch (Depends-on): Add arg-nonnull.
33790         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
33791         * modules/getopt-posix (Depends-on): Add arg-nonnull.
33792         (Makefile.am): Insert arg-nonnull.h into getopt.h.
33793         * modules/glob (Depends-on): Add arg-nonnull.
33794         (Makefile.am): Insert arg-nonnull.h into glob.h.
33795         * modules/iconv_open (Depends-on): Add arg-nonnull.
33796         (Makefile.am): Insert arg-nonnull.h into iconv.h.
33797         * modules/inttypes (Depends-on): Add arg-nonnull.
33798         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
33799         * modules/locale (Depends-on): Add arg-nonnull.
33800         (Makefile.am): Insert arg-nonnull.h into locale.h.
33801         * modules/math (Depends-on): Add arg-nonnull.
33802         (Makefile.am): Insert arg-nonnull.h into math.h.
33803         * modules/netdb (Depends-on): Add arg-nonnull.
33804         (Makefile.am): Insert arg-nonnull.h into netdb.h.
33805         * modules/search (Depends-on): Add arg-nonnull.
33806         (Makefile.am): Insert arg-nonnull.h into search.h.
33807         * modules/signal (Depends-on): Add arg-nonnull.
33808         (Makefile.am): Insert arg-nonnull.h into signal.h.
33809         * modules/spawn (Depends-on): Add arg-nonnull.
33810         (Makefile.am): Insert arg-nonnull.h into spawn.h.
33811         * modules/stdio (Depends-on): Add arg-nonnull.
33812         (Makefile.am): Insert arg-nonnull.h into stdio.h.
33813         * modules/stdlib (Depends-on): Add arg-nonnull.
33814         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
33815         * modules/string (Depends-on): Add arg-nonnull.
33816         (Makefile.am): Insert arg-nonnull.h into string.h.
33817         * modules/strings (Depends-on): Add arg-nonnull.
33818         (Makefile.am): Insert arg-nonnull.h into strings.h.
33819         * modules/sys_socket (Depends-on): Add arg-nonnull.
33820         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
33821         * modules/sys_stat (Depends-on): Add arg-nonnull.
33822         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
33823         * modules/sys_time (Depends-on): Add arg-nonnull.
33824         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
33825         * modules/sys_times (Depends-on): Add arg-nonnull.
33826         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
33827         * modules/sys_utsname (Depends-on): Add arg-nonnull.
33828         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
33829         * modules/time (Depends-on): Add arg-nonnull.
33830         (Makefile.am): Insert arg-nonnull.h into time.h.
33831         * modules/unistd (Depends-on): Add arg-nonnull.
33832         (Makefile.am): Insert arg-nonnull.h into unistd.h.
33833         * modules/wchar (Depends-on): Add arg-nonnull.
33834         (Makefile.am): Insert arg-nonnull.h into wchar.h.
33835         * modules/argv-iter (Depends-on): Add arg-nonnull.
33836         * tests/test-canonicalize.c (null_ptr): New function.
33837         (main): Use it.
33838         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
33839         (main): Use it.
33840         * tests/test-memmem.c (null_ptr): New function.
33841         (main): Use it.
33842         Reported by Jim Meyering.
33843
33844 2009-12-10  Bruno Haible  <bruno@clisp.org>
33845
33846         Use spaces for indentation, not tabs.
33847         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
33848         * m4/*.m4: Untabify.
33849         * build-aux/*.h: Untabify.
33850         * tests/**/*.[hc]: Untabify.
33851         * README: New section "Indent with spaces, not TABs", based on
33852         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
33853         * NEWS: Mention the change.
33854
33855 2009-12-10  Bruno Haible  <bruno@clisp.org>
33856
33857         pty test: Fix link error.
33858         * modules/pty-tests (Makefile.am): Add the default LDADD value to
33859         test_pty_LDADD.
33860
33861 2009-12-07  Simon Josefsson  <simon@josefsson.org>
33862
33863         * modules/pty: New file.
33864         * modules/pty-tests: New file.
33865         * m4/pty.m4: New file.
33866         * tests/test-pty.c: New file.
33867         * doc/glibc-headers/pty.texi: Modified.
33868         * doc/glibc-functions/forkpty.texi: Modified.
33869         * doc/glibc-functions/openpty.texi: Modified.
33870
33871 2009-12-10  Bruno Haible  <bruno@clisp.org>
33872
33873         Avoid syntax error in C++ mode.
33874         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
33875
33876 2009-12-10  Bruno Haible  <bruno@clisp.org>
33877
33878         Use sed with option -e.
33879         * gnulib-tool (func_version, func_emit_copyright_notice,
33880         func_emit_initmacro_end, func_import, func_create_testdir): Pass
33881         option -e to sed.
33882         * modules/link-warning (Makefile.am): Likewise.
33883
33884 2009-12-10  Jim Meyering  <meyering@redhat.com>
33885
33886         mgetgroups: do not write bytes beyond end of malloc'd buffer
33887         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
33888         username, we call getgroups with a one-element-shorter buffer,
33889         but still told it the length was original, max_n_groups.
33890
33891 2009-12-09  Eric Blake  <ebb9@byu.net>
33892
33893         cloexec: relax license
33894         * modules/cloexec (Maintainer): Add myself.
33895         (License): Use LGPL, not GPL.
33896
33897         link-warning: optimize generation
33898         * modules/link-warning (Makefile.am): Reduce process usage.
33899
33900 2009-12-09  Bruno Haible  <bruno@clisp.org>
33901
33902         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
33903         workaround was added on 2009-11-17.
33904
33905 2009-12-09  Jim Meyering  <meyering@redhat.com>
33906             Bruno Haible  <bruno@clisp.org>
33907
33908         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
33909         * modules/link-warning (Makefile.am): Make the comment-removing sed
33910         command more robust in the face of bootstrap-prepended comment lines.
33911
33912 2009-12-09  Bruno Haible  <bruno@clisp.org>
33913
33914         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
33915         most one group.
33916
33917 2009-12-09  Simon Josefsson <simon@josefsson.org>
33918             Bruno Haible  <bruno@clisp.org>
33919
33920         * build-aux/link-warning.h: Add copyright notice.
33921         * modules/link-warning (Makefile.am): Generate link-warning.h from
33922         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
33923         * NEWS: Mention change in link-warning module.
33924         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
33925         * modules/dirent (Makefile.am): Add dependency to dirent.h.
33926         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
33927         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
33928         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
33929         * modules/math (Makefile.am): Add dependency to math.h.
33930         * modules/search (Makefile.am): Add dependency to search.h.
33931         * modules/signal (Makefile.am): Add dependency to signal.h.
33932         * modules/spawn (Makefile.am): Add dependency to spawn.h.
33933         * modules/stdio (Makefile.am): Add dependency to stdio.h.
33934         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
33935         * modules/string (Makefile.am): Add dependency to string.h.
33936         * modules/strings (Makefile.am): Add dependency to strings.h.
33937         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
33938         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
33939         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
33940         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
33941         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
33942         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
33943         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
33944         * modules/unistd (Makefile.am): Add dependency to unistd.h.
33945         * modules/wchar (Makefile.am): Add dependency to wchar.h.
33946
33947 2009-12-09  Bruno Haible  <bruno@clisp.org>
33948
33949         fchdir: Optimize away rpl_fstat when possible.
33950         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
33951         REPLACE_OPEN_DIRECTORY.
33952         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
33953
33954 2009-12-09  Bruno Haible  <bruno@clisp.org>
33955
33956         * lib/fchdir.c: Update comment.
33957
33958 2009-12-09  Bruno Haible  <bruno@clisp.org>
33959
33960         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
33961
33962 2009-12-08  Eric Blake  <ebb9@byu.net>
33963
33964         fchdir: avoid memory leak on re-registration.
33965         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
33966
33967 2009-12-08  Jim Meyering  <meyering@redhat.com>
33968
33969         init.sh: avoid Solaris 10 /bin/sh portability problem
33970         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
33971         sourced script:
33972           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
33973           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
33974           bar
33975         tests/init.sh relied on that, accepting a --set-path=DIR argument,
33976         and two tests used that idiom.
33977         * tests/init.sh: Update suggested usage comments.
33978         (path_prepend_): New function, to be used in place
33979         of the --src-path=DIR option.
33980         (setup_): Move PATH-prepending code into path_prepend_.
33981         * tests/test-pread.sh: Adapt to new usage.
33982         * tests/test-xalloc-die.sh: Likewise.
33983
33984 2009-12-08  Simon Josefsson  <simon@josefsson.org>
33985
33986         * doc/gnulib.texi (Glibc pty.h): Add.
33987         * doc/glibc-functions/forkpty.texi: Add.
33988         * doc/glibc-functions/openpty.texi: Add.
33989         Suggested by Bruno Haible.
33990
33991 2009-12-08  Eric Blake  <ebb9@byu.net>
33992
33993         fchdir: fix logic bugs
33994         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
33995         * tests/test-fchdir.c (main): Enhance test.
33996         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
33997         is in use.
33998
33999         dup2: fix logic bugs
34000         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
34001         REPLACE_DUP2 to decide when rpl_dup2 is needed.
34002         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
34003         exists.
34004         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
34005
34006 2009-12-07  Eric Blake  <ebb9@byu.net>
34007
34008         unlink: fix m4 detection
34009         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
34010
34011         unistd-safer: add unit test
34012         * modules/unistd-safer-tests: New file.
34013         * tests/test-dup-safer.c: Likewise.
34014         * tests/test-cloexec.c (setmode): Avoid compiler warning.
34015         * tests/test-dup2.c (setmode): Likewise.
34016         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
34017
34018         cloexec: preserve text vs. binary across dup_cloexec
34019         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
34020         mode.
34021         * modules/dup2-tests (Depends-on): Add binary-io.
34022         * modules/cloexec-tests (Depends-on): Likewise.
34023         * tests/test-dup2.c (setmode, is_mode): New helpers.
34024         (main): Add tests that translation mode is preserved.
34025         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
34026         Reported by Bruno Haible.
34027
34028         mgetgroups: reduce duplicate listings
34029         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
34030         resulting array.
34031         * tests/test-chown.h (test_chown): Simplify client.
34032         * tests/test-lchown.h (test_lchown): Likewise.
34033
34034 2009-12-06  Bruno Haible  <bruno@clisp.org>
34035
34036         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
34037         value.
34038
34039 2009-12-06  Bruno Haible  <bruno@clisp.org>
34040
34041         * lib/progname.c: Include stdio.h, stdlib.h.
34042         (set_program_name): Reject a NULL argument.
34043
34044 2009-12-05  Eric Blake  <ebb9@byu.net>
34045
34046         pipe2-safer: new module
34047         * modules/pipe2-safer: New file.
34048         * lib/unistd-safer.h (pipe2_safer): New prototype.
34049         * lib/unistd--.h (pipe2): New wrapper.
34050         * lib/pipe-safer.c (pipe2_safer): New function.
34051         * modules/pipe (Depends-on): Add pipe2-safer.
34052         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
34053
34054         stdlib-safer: preserve cloexec flag for mkostemp[s]
34055         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
34056         fd_safer_flag.
34057
34058         unistd-safer: allow preservation of cloexec status via flag
34059         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
34060         prototypes.
34061         * lib/dup-safer.c (dup_safer_flag): New function.
34062         * lib/fd-safer.c (fd_safer_flag): Likewise.
34063         * modules/cloexec (configure.ac): Set witness.
34064
34065         test-dup2: enhance test
34066         * modules/dup2-tests (Depends-on): Add cloexec.
34067         * tests/test-dup2.c (main): Enhance test.
34068
34069         cloexec: add dup_cloexec
34070         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
34071         header and comments.
34072         * lib/cloexec.c (set_cloexec_flag): Add comments.
34073         (dup_cloexec): New function, with mingw implementation borrowed
34074         from...
34075         * lib/w32spawn.h (dup_noinherit): ...here.
34076         * modules/execute (Depends-on): Add cloexec.
34077         * modules/pipe (Depends-on): Likewise.
34078         * modules/cloexec (Depends-on): Add dup2.
34079         * modules/cloexec-tests (Files): New file.
34080         * tests/test-cloexec.c: Likewise.
34081
34082         test-xalloc-die: fix test for mingw
34083         * modules/xalloc-die-tests (Files): Add tests/init.sh.
34084         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
34085         directory and .exe suffix off argv[0] output.
34086
34087         test-fseeko: fix test for mingw
34088         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
34089         than undefining fseek, so test will pass on mingw.
34090
34091 2009-12-05  Bruno Haible  <bruno@clisp.org>
34092
34093         * lib/progname.h (set_program_name): Clarify specification.
34094         * lib/progname.c (set_program_name): Likewise.
34095         Reported by Jim Meyering.
34096
34097 2009-12-05  Jim Meyering  <meyering@redhat.com>
34098
34099         maint.mk: backslash-escape parens in default regexp
34100         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
34101         backslash-escape the literal parentheses.
34102
34103         maint.mk: news-date-check: use grep -E
34104         * top/maint.mk (today): Define a Make variable, not a...
34105         (news-date-check): ...shell variable.
34106         (news-date-regexp): Use the Make variable.
34107         Use grep's -E option.  Change the failing diagnostic to mention
34108         the variable, $(news-date-regexp).
34109
34110 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
34111
34112         maintainer-makefile: allow customization of NEWS entry format
34113         * top/maint.mk (news-date-regexp): New overridable variable.
34114         (news-date-check): Use it.
34115
34116 2009-12-04  Eric Blake  <ebb9@byu.net>
34117
34118         mgetgroups: add xgetgroups, and avoid ENOSYS failures
34119         * lib/mgetgroups.h (xgetgroups): New prototype.
34120         * lib/mgetgroups.c (xgetgroups): New wrapper.
34121         (mgetgroups): Handle ENOSYS.
34122         * modules/mgetgroups (Depends-on): Add realloc.
34123         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
34124
34125         mgetgroups: avoid argument promotion issues with -1
34126         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
34127         for invalid gid_t.
34128         * tests/test-chown.h (getegid, test_chown): Likewise.
34129         * tests/test-lchown.h (getegid, test_lchown): Likewise.
34130
34131 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
34132
34133         exclude: Fix header file problems.
34134         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
34135
34136 2009-12-01  Jim Meyering  <meyering@redhat.com>
34137
34138         fts: fts_open: do not let an empty string cause immediate failure
34139         This is required in support of GNU rm, for which the command
34140         "rm A '' B" must process and remove both A and B, in spite of
34141         the empty string argument.
34142         * lib/fts.c (fts_open): Do not let the presence of an empty string
34143         cause fts_open to fail immediately.  Most fts-using tools must be
34144         able to process all arguments, in order, and can be expected to
34145         diagnose such arguments themselves.
34146
34147 2009-11-30  Eric Blake  <ebb9@byu.net>
34148
34149         utimens: fix compilation error
34150         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
34151         Declare variable at right scope.
34152
34153 2009-11-29  Jim Meyering  <meyering@redhat.com>
34154
34155         bootstrap: handle perl-5.11's changed --version output
34156         * build-aux/bootstrap (get_version): Handle perl separately,
34157         since perl-5.11's --version output is different.
34158
34159 2009-11-28  Jim Meyering  <meyering@redhat.com>
34160
34161         userspec: depend on the inttostr module, too
34162         * modules/userspec (Depends-on): Add inttostr.
34163
34164         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
34165         * lib/userspec.c (parse_with_separator): Do not accept a user ID
34166         number of MAXUID when it evaluates to (uid_t) -1.
34167         Likewise for group ID.  Reported by Matt McCutchen in
34168         <http://savannah.gnu.org/bugs/?28113>
34169
34170         userspec: reformat to use spaces, not TABs
34171         * lib/userspec.c: Expand TABs to spaces.
34172         Add Emacs' "indent-tabs-mode: nil" hint.
34173
34174 2009-11-27  Eric Blake  <ebb9@byu.net>
34175
34176         getopt-gnu: flush out another BSD bug
34177         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
34178         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
34179         flush out BSD bug.
34180         * tests/test-getopt.h (test_getopt): End lists with NULL.
34181         * tests/test-getopt_long.h (test_getopt_long): Likewise.
34182         (test_getopt_long_posix): Enhance test.
34183         * modules/getopt-posix-tests (Depends-on): Add stdbool.
34184         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
34185         getopt-gnu.
34186         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34187         Likewise.
34188
34189 2009-11-27  Simon Josefsson  <simon@josefsson.org>
34190
34191         * modules/idpriv-droptemp-tests (Notice): Fix text.
34192
34193 2009-11-27  Jim Meyering  <meyering@redhat.com>
34194
34195         test-xalloc-die: avoid spurious failure due to libtool argv difference
34196         In a libtool-enabled project, this test would fail due to a difference
34197         in the emitted program name, e.g.,
34198         -test-xalloc-die: memory exhausted
34199         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
34200         Use program to avoid that.
34201         * modules/xalloc-die-tests (Depends-on): Add progname.
34202         * tests/test-xalloc-die.c: Include progname.h".
34203         (program_name): Remove decl.
34204         (main): Call set_program_name.
34205         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
34206
34207 2009-11-26  Richard Jones  <rjones@redhat.com>
34208
34209         w32sock: leave win32 error in place.
34210         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
34211
34212 2009-11-26  Eric Blake  <ebb9@byu.net>
34213
34214         init.sh: suggest to use skip_ and fail_ functions in comments
34215         * tests/init.sh: Add a sentence.
34216
34217 2009-11-25  Bruno Haible  <bruno@clisp.org>
34218
34219         init.sh: add documentation in comments
34220         * tests/init.sh: Add some developer and user documentation.
34221
34222 2009-11-26  Jim Meyering  <meyering@redhat.com>
34223
34224         init.sh: accommodate even those who specify bogus srcdir manually
34225         * tests/init.sh: Normally, srcdir is guaranteed by automake and
34226         configure-time tests to be sanitized, so that there is no need to
34227         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
34228         (with no double quotes) suffices.  However, since tests may be
34229         invoked manually, and since you may explicitly set srcdir to the
34230         name of a directory containing spaces, do quote its uses here.
34231         * tests/test-pread.sh: Likewise.
34232         Suggested by Bruno Haible.
34233
34234         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
34235         * tests/test-pread.sh: Write no data into the pipe, because
34236         test-pread actually reads none.  This avoids a diagnostic,
34237         "bash: echo: write error: Broken pipe", that arises in the unusual
34238         event something is ignoring SIGPIPE, and might be interpreted
34239         as some sort of failure.  Reported by Bruno Haible.
34240
34241 2009-11-25  Jim Meyering  <meyering@redhat.com>
34242
34243         test-pread: cover failure with ESPIPE and EINVAL
34244         * tests/test-pread.c (main): Test for failure, too.
34245         * tests/test-pread.sh: Invoke with stdin on a pipe.
34246         Suggested by Eric Blake.
34247
34248         pread: improvement and fix
34249         * modules/pread (Depends-on): Depend on lseek, for portability to
34250         e.g., mingw.  Suggested by Eric Blake.
34251         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
34252
34253         unistd.in.h: correct declaration of pread
34254         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
34255         Reported by Richard W.M. Jones.
34256
34257         test-pread.sh: distribute the test script
34258         * modules/pread-tests (Files): Include test-pread.sh.
34259
34260         test-pread.sh: clean up
34261         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
34262         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
34263         That is unnecessary, since it's always ".".
34264         Suggestion from Eric Blake.
34265
34266         test-pread.sh: make executable
34267         * tests/test-pread.sh: Set executable bit.
34268         Reported by Eric Blake.
34269
34270         correct typo in test-pread.sh
34271         * tests/test-pread.sh: Add #! line.
34272
34273         test pread
34274         * tests/test-pread.c: New file.
34275         * tests/test-pread.sh: Likewise.
34276         * modules/pread-tests: Likewise.
34277
34278         pread: new module
34279         * modules/pread: New file.
34280         * lib/unistd.in.h (pread): Define/declare.
34281         * lib/pread.c (pread): New file.
34282         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
34283         * modules/unistd (Makefile.am): Substitute witnesses.
34284         * doc/posix-functions/pread.texi (pread): Update.
34285         * MODULES.html.sh: Add pread.
34286
34287 2009-11-25  Jim Meyering  <meyering@redhat.com>
34288
34289         tests/init.sh: new file to be used via most *.sh tests
34290         * tests/init.sh: New file.
34291
34292 2009-11-25  Eric Blake  <ebb9@byu.net>
34293
34294         utimens: work around older Linux failure with symlinks
34295         * lib/utimens.c (lutimensat_works_really): New variable.
34296         (fdutimens, lutimens): Use it to manage kernels that support
34297         nanosecond times on files, but not on symlinks.
34298         Reported by Ondřej Vašík.
34299
34300         utimes: fix configure grammar
34301         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
34302
34303 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
34304
34305         regex: Fix fastmap for multibyte character ranges.
34306         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
34307         characters when a multibyte character range is included.
34308
34309 2009-11-22  Andy Wingo  <wingo@pobox.com>
34310
34311         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
34312         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
34313
34314 2009-11-24  Bruno Haible  <bruno@clisp.org>
34315
34316         doc: Most *_l functions exist in MacOS X 10.5.
34317         * doc/posix-functions/duplocale.texi: Update platforms list.
34318         * doc/posix-functions/freelocale.texi: Likewise.
34319         * doc/posix-functions/newlocale.texi: Likewise.
34320         * doc/posix-functions/uselocale.texi: Likewise.
34321         * doc/posix-functions/isalnum_l.texi: Likewise.
34322         * doc/posix-functions/isalpha_l.texi: Likewise.
34323         * doc/posix-functions/isblank_l.texi: Likewise.
34324         * doc/posix-functions/iscntrl_l.texi: Likewise.
34325         * doc/posix-functions/isdigit_l.texi: Likewise.
34326         * doc/posix-functions/isgraph_l.texi: Likewise.
34327         * doc/posix-functions/islower_l.texi: Likewise.
34328         * doc/posix-functions/isprint_l.texi: Likewise.
34329         * doc/posix-functions/ispunct_l.texi: Likewise.
34330         * doc/posix-functions/isspace_l.texi: Likewise.
34331         * doc/posix-functions/isupper_l.texi: Likewise.
34332         * doc/posix-functions/iswalnum_l.texi: Likewise.
34333         * doc/posix-functions/iswalpha_l.texi: Likewise.
34334         * doc/posix-functions/iswblank_l.texi: Likewise.
34335         * doc/posix-functions/iswcntrl_l.texi: Likewise.
34336         * doc/posix-functions/iswctype_l.texi: Likewise.
34337         * doc/posix-functions/iswdigit_l.texi: Likewise.
34338         * doc/posix-functions/iswgraph_l.texi: Likewise.
34339         * doc/posix-functions/iswlower_l.texi: Likewise.
34340         * doc/posix-functions/iswprint_l.texi: Likewise.
34341         * doc/posix-functions/iswpunct_l.texi: Likewise.
34342         * doc/posix-functions/iswspace_l.texi: Likewise.
34343         * doc/posix-functions/iswupper_l.texi: Likewise.
34344         * doc/posix-functions/iswxdigit_l.texi: Likewise.
34345         * doc/posix-functions/isxdigit_l.texi: Likewise.
34346         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
34347         * doc/posix-functions/strcasecmp_l.texi: Likewise.
34348         * doc/posix-functions/strcoll_l.texi: Likewise.
34349         * doc/posix-functions/strfmon_l.texi: Likewise.
34350         * doc/posix-functions/strftime_l.texi: Likewise.
34351         * doc/posix-functions/strncasecmp_l.texi: Likewise.
34352         * doc/posix-functions/strxfrm_l.texi: Likewise.
34353         * doc/posix-functions/tolower_l.texi: Likewise.
34354         * doc/posix-functions/toupper_l.texi: Likewise.
34355         * doc/posix-functions/towctrans_l.texi: Likewise.
34356         * doc/posix-functions/towlower_l.texi: Likewise.
34357         * doc/posix-functions/towupper_l.texi: Likewise.
34358         * doc/posix-functions/wcscoll_l.texi: Likewise.
34359         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
34360         * doc/posix-functions/wctrans_l.texi: Likewise.
34361         * doc/posix-functions/wctype_l.texi: Likewise.
34362         * doc/glibc-functions/strptime_l.texi: Likewise.
34363         * doc/glibc-functions/strtod_l.texi: Likewise.
34364         * doc/glibc-functions/strtof_l.texi: Likewise.
34365         * doc/glibc-functions/strtol_l.texi: Likewise.
34366         * doc/glibc-functions/strtold_l.texi: Likewise.
34367         * doc/glibc-functions/strtoll_l.texi: Likewise.
34368         * doc/glibc-functions/strtoul_l.texi: Likewise.
34369         * doc/glibc-functions/strtoull_l.texi: Likewise.
34370         * doc/glibc-functions/wcsftime_l.texi: Likewise.
34371         * doc/glibc-functions/wcstod_l.texi: Likewise.
34372         * doc/glibc-functions/wcstof_l.texi: Likewise.
34373         * doc/glibc-functions/wcstol_l.texi: Likewise.
34374         * doc/glibc-functions/wcstold_l.texi: Likewise.
34375         * doc/glibc-functions/wcstoll_l.texi: Likewise.
34376         * doc/glibc-functions/wcstoul_l.texi: Likewise.
34377         * doc/glibc-functions/wcstoull_l.texi: Likewise.
34378
34379 2009-11-24  Bruno Haible  <bruno@clisp.org>
34380
34381         duplocale: Fix logic bug.
34382         * lib/duplocale.c: Don't include <langinfo.h>.
34383         (_NL_LOCALE_NAME): Remove macro.
34384         (rpl_duplocale): Use setlocale instead of nl_langinfo.
34385         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
34386
34387 2009-11-23  Jim Meyering  <meyering@redhat.com>
34388
34389         test-update-copyright: don't hard-code /usr/bin/perl
34390         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
34391         perl to print the current year.  Gilles Espinasse reported that
34392         the replaced use of perl was hard-coded as /usr/bin/perl.
34393
34394 2009-11-23  Bruno Haible  <bruno@clisp.org>
34395
34396         duplocale: Add support for glibc 2.3.x.
34397         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
34398
34399 2009-11-22  Bruno Haible  <bruno@clisp.org>
34400
34401         vasnprintf: Tiny optimization.
34402         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
34403         MacOS X.
34404
34405 2009-11-22  Bruno Haible  <bruno@clisp.org>
34406
34407         Tests for module 'duplocale'.
34408         * modules/duplocale-tests: New file.
34409         * tests/test-duplocale.c: New file.
34410
34411         New module 'duplocale'.
34412         * m4/duplocale.m4: New file.
34413         * lib/locale.in.h (duplocale): New declaration.
34414         * lib/duplocale.c: New file.
34415         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
34416         gl_LOCALE_H_DEFAULTS): New macros.
34417         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
34418         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
34419         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
34420         REPLACE_DUPLOCALE.
34421         * modules/duplocale: New file.
34422         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
34423
34424 2009-11-22  Bruno Haible  <bruno@clisp.org>
34425
34426         * modules/locale-tests (configure.ac): Test for newlocale function.
34427         * tests/test-locale.c: When the system has extended locale functions,
34428         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
34429
34430         locale: Make locale_t available when possible.
34431         * lib/locale.in.h: Include <xlocale.h> when it exists.
34432         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
34433         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
34434         * modules/locale (Depends-on): Add extensions.
34435         (Makefile.am): Also substitute HAVE_XLOCALE_H.
34436         * doc/posix-headers/locale.texi: Document the problem with locale_t.
34437
34438 2009-11-22  Bruno Haible  <bruno@clisp.org>
34439
34440         Add comments.
34441         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
34442         invocation.
34443         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
34444         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
34445         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34446
34447 2009-11-22  Bruno Haible  <bruno@clisp.org>
34448
34449         error: account for the possibility of freopen (stdout).
34450         * lib/error.c: Include <unistd.h>.
34451         (flush_stdout): New function, extracted from error and error_at_line.
34452         Determine stdout's fd dynamically.
34453         (error, error_at_line): Invoke flush_stdout.
34454         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
34455         * modules/error (Depends-on): Add unistd.
34456
34457 2009-11-22  Bruno Haible  <bruno@clisp.org>
34458
34459         diffseq: Add comment.
34460         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
34461
34462 2009-11-22  Jim Meyering  <meyering@redhat.com>
34463
34464         c-stack: avoid defining an unused static function
34465         * lib/c-stack.c (find_stack_direction): Do not define this function
34466         when it will not be used.
34467
34468         diffseq: avoid spurious gcc warnings
34469         * lib/diffseq.h (IF_LINT2): Define.
34470         (compareseq): Use it to initialize two members of "part".
34471         This avoids two used-uninitialized warnings.
34472
34473 2009-11-21  Jim Meyering  <meyering@redhat.com>
34474
34475         c-stack: avoid "ignoring return value of `write'" warning
34476         * lib/c-stack.c: Include "ignore-value.h".
34477         (die): Explicitly ignore each write return value.
34478         * modules/c-stack (Depends-on): Add ignore-value.
34479
34480 2009-11-21  Bruno Haible  <bruno@clisp.org>
34481
34482         diffseq: reduce scope of variable 'best'.
34483         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
34484         variable, earlier used for two different purposes.
34485
34486 2009-11-21  Jim Meyering  <meyering@redhat.com>
34487
34488         diffseq: remove useless assignment to "best"
34489         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
34490         assignment.  At that point "best" is already guaranteed to be zero.
34491
34492 2009-11-20  Eric Blake  <ebb9@byu.net>
34493
34494         build: mention ftp redirector in release announcements
34495         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
34496         values that used to come from cfg.mk; mention FTP redirect URL.
34497         * build-aux/announce-gen: Mention the mirror list.
34498         Suggested by Karl Berry.
34499
34500         nanosleep: improve port to mingw
34501         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
34502         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
34503         LIB_NANOSLEEP, but only when needed.
34504         * modules/select (Link): Document LIBSOCKET.
34505         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
34506         enough.
34507
34508         nanosleep: work around cygwin bug
34509         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
34510         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
34511         bug.
34512         (getnow): Delete, not needed.
34513         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
34514         LIB_CLOCK_GETTIME.
34515         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
34516         clock-time, gettime.
34517         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
34518         bug.
34519         * modules/nanosleep-tests: New test.
34520         * tests/test-nanosleep.c: New file.
34521
34522         sleep: work around cygwin bug
34523         * lib/sleep.c (rpl_sleep): Work around the bug.
34524         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
34525         (gl_PREREQ_SLEEP): Delete unused macro.
34526         * modules/sleep (Depends-on): Add verify.
34527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
34528         * modules/unistd (Makefile.am): Substitute witness.
34529         * lib/unistd.in.h (sleep): Update prototype.
34530         * doc/posix-functions/sleep.texi (sleep): Document the bug.
34531         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
34532         * modules/sleep-tests (Depends-on): Check for alarm.
34533
34534 2009-11-20  Jim Meyering  <meyering@redhat.com>
34535
34536         maint.mk: improve sc_prohibit_magic_number_exit
34537         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
34538         so it does not match uses like System.exit(1).
34539         Add comments showing how to correct all offenders.
34540
34541 2009-11-19  Eric Blake  <ebb9@byu.net>
34542
34543         xalloc-die-tests: add missing library
34544         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
34545
34546         test-xvasprintf: silence compiler warnings
34547         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
34548         empty string from gcc.
34549
34550 2009-11-19  Jim Meyering  <meyering@redhat.com>
34551
34552         xfreopen: new module, from coreutils
34553         * modules/xfreopen: New module.
34554         * lib/xfreopen.c: New file.
34555         * lib/xfreopen.h: New file.
34556         * MODULES.html.sh (File stream based Input/Output"): Add it.
34557
34558 2009-11-19  Eric Blake  <ebb9@byu.net>
34559
34560         manywarnings: depend on warnings
34561         * modules/manywarnings (Depends-on): Add warnings.
34562
34563         build: avoid compiler warnings
34564         * lib/select.c (rpl_select): Delete unused variable.
34565         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
34566
34567 2009-11-18  Eric Blake  <ebb9@byu.net>
34568
34569         tests: avoid false negative with --with-packager
34570         * tests/test-version-etc.sh: Discard packager information.
34571         * tests/test-argp-version-etc-1.sh: Likewise.
34572         Reported by Mike Frysinger.
34573
34574         utimens: fix regression on Solaris
34575         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
34576         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
34577         can only change fd timestamps via futimesat.  Instead, use an
34578         additional witness macro to avoid BSD bug.
34579         Reported by Jim Meyering.
34580
34581 2009-11-17  Eric Blake  <ebb9@byu.net>
34582
34583         usleep: use it to simplify tests
34584         * modules/stat-time-tests (Depends-on): Add usleep.
34585         (configure.ac): Drop usleep check.
34586         * modules/chown-tests (Depends-on, configure.ac): Likewise.
34587         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
34588         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
34589         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
34590         * modules/openat-tests (Depends-on, configure.ac): Likewise.
34591         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
34592         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
34593         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
34594         Likewise.
34595         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
34596         * tests/test-lchown.h (nap): Likewise.
34597         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
34598         * tests/test-stat-time.c (nap): Likewise.
34599         * tests/test-utimens-common.h (nap): Update comments.
34600
34601         usleep: new module
34602         * modules/usleep: New file.
34603         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
34604         * lib/usleep.c (usleep): Likewise.
34605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34606         * modules/unistd (Makefile.am): Substitute witnesses.
34607         * lib/unistd.in.h (usleep): Add declaration.
34608         * doc/pastposix-functions/usleep.texi (usleep): Document this.
34609         * MODULES.html.sh (Date and time): Likewise.
34610         * modules/usleep-tests (Depends-on): New test.
34611         * tests/test-usleep.c: New file.
34612
34613         chown: work around OpenBSD bug
34614         * lib/chown.c (rpl_chown): Work around the bug.
34615         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
34616         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
34617         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
34618         * modules/chown (Depends-on): Add stdbool.
34619         * modules/lchown (Depends-on): Likewise.
34620         * doc/posix-functions/chown.texi (chown): Document the bug.
34621         * doc/posix-functions/lchown.texi (lchown): Likewise.
34622         * tests/test-lchown.h (test_chown): Relax test.
34623
34624         mkstemp: avoid conflict with C++ keyword template
34625         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
34626         * lib/mkostemp.c (mkostemp): Likewise.
34627         * lib/mkostemps.c (mkostemps): Likewise.
34628         * lib/mkstemp.c (mkstemp): Likewise.
34629         * lib/mkstemps.c (mkstemps): Likewise.
34630
34631         xalloc-die-tests: optimize
34632         * tests/test-xalloc-die.sh: Reduce number of processes.
34633
34634 2009-11-17  Simon Josefsson  <simon@josefsson.org>
34635
34636         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
34637         patch from ludo@gnu.org (Ludovic Courtès).
34638
34639 2009-11-17  Jim Meyering  <meyering@redhat.com>
34640
34641         version-etc: use proper license string
34642         * modules/version-etc (License): Use LGPL, not LGPLv3+.
34643         * modules/version-etc-fsf: Likewise.
34644
34645 2009-11-17  Simon Josefsson  <simon@josefsson.org>
34646
34647         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
34648         printed to stdout.  Deal with EOL differences.
34649
34650 2009-11-17  Eric Blake  <ebb9@byu.net>
34651
34652         unsetenv: work around Solaris bug
34653         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
34654         * lib/unsetenv.c (rpl_unsetenv): Work around it.
34655         Reported by Jim Meyering.
34656
34657         vasnprintf: avoid compiler warnings
34658         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
34659         variables.
34660         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
34661
34662 2009-11-17  Simon Josefsson  <simon@josefsson.org>
34663
34664         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
34665         settings since xalloc-die is no longer the self test,
34666         xalloc-die.sh is.
34667
34668 2009-11-17  Jim Meyering  <meyering@redhat.com>
34669
34670         test-xalloc-die.sh: make the code agree with the commit log
34671         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
34672         at the end, just in case you happen to have a test-xalloc-die
34673         program in some other PATH directory.
34674
34675         test-xalloc-die.sh: fix a portability bug
34676         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
34677         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
34678         Otherwise, argv[0] (as often seen in diagnostics) would be too
34679         system-dependent, sometimes with, and sometimes without the leading "./".
34680
34681         version-etc-fsf: relax license to LGPLv3+
34682         * modules/version-etc-fsf (License): Relax license.
34683
34684 2009-11-16  Eric Blake  <ebb9@byu.net>
34685
34686         xalloc-die-tests: avoid printing null pointer
34687         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
34688         shell script.
34689         * tests/test-xalloc-die.c (program_name): Declare.
34690         * tests/test-xalloc-die.sh (tmpfiles): New file.
34691
34692         setenv, unsetenv: work around various bugs
34693         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
34694         (setenv) [HAVE_SETENV]: Work around bugs.
34695         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
34696         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
34697         for bugs.
34698         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
34699         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
34700         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
34701         * modules/stdlib (Makefile.am): Update substitutions.
34702         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
34703         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
34704         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
34705         * modules/setenv-tests: New test.
34706         * modules/unsetenv-tests: Likewise.
34707         * tests/test-setenv.c: New file.
34708         * tests/test-unsetenv.c: Likewise.
34709
34710 2009-11-16  Jim Meyering  <meyering@redhat.com>
34711
34712         version-etc: relax license to LGPLv3+
34713         * modules/version-etc (License): Relax license.
34714
34715         better AC_REQUIRE expanded-before-required-warning avoidance
34716         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
34717         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
34718         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
34719         which is no longer needed.
34720
34721 2009-11-16  Eric Blake  <ebb9@byu.net>
34722
34723         test-freading: clean up temporary file
34724         * tests/test-freading.c (main): Remove file on success, and use
34725         ASSERT more liberally.
34726         Reported by Jim Meyering.
34727
34728 2009-11-16  Jim Meyering  <meyering@redhat.com>
34729
34730         avoid new AC_REQUIRE expanded-before-required warnings
34731         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
34732         merely using it.
34733         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
34734         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
34735
34736 2009-11-15  Simon Josefsson  <simon@josefsson.org>
34737
34738         * tests/test-xalloc-die.c: New file.
34739         * modules/xalloc-die-tests: New file.
34740         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
34741         XFAIL_TESTS so it can be appended by modules.
34742
34743 2009-11-15  Simon Josefsson  <simon@josefsson.org>
34744
34745         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
34746         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
34747
34748 2009-11-14  Eric Blake  <ebb9@byu.net>
34749
34750         fnmatch: avoid compiler warning
34751         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
34752         to silence compiler warning about mismatch signedness in ?:.
34753         Reported by Robert Millan.
34754
34755         intprops: add double-inclusion guard
34756         * lib/intprops.h: Allow idempotent includes.
34757         Suggested by Bruce Korb.
34758
34759         openat: detect Solaris fchownat bug
34760         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
34761         penalizing glibc chownat when only lchownat is broken.
34762         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
34763         trailing slash bugs.
34764         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
34765         * modules/openat-tests (Files): Include more files.
34766         (Depends-on): Add mgetgroups, sleep, stat-time.
34767         (configure.ac): Add additional checks.
34768         (Makefile.am): Build new test.
34769         * tests/test-fchownat.c: New file.
34770
34771         lchown: detect Solaris and FreeBSD bug
34772         * lib/lchown.c (rpl_lchown): Work around bug.
34773         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
34774         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34775         * modules/unistd (Makefile.am): Populate it.
34776         * lib/unistd.in.h (lchown): Update declaration.
34777         * doc/posix-functions/lchown.texi (lchown): Document the bug.
34778         * modules/lchown-tests: New file.
34779         * tests/test-lchown.h (test_lchown): Likewise.
34780         * tests/test-lchown.c (main): Likewise.
34781
34782         chown: detect Solaris and FreeBSD bug
34783         * lib/chown.c (rpl_chown): Work around bug.
34784         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
34785         (gl_PREREQ_CHOWN): Delete.
34786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34787         * modules/unistd (Makefile.am): Populate it.
34788         * lib/unistd.in.h (chown): Update declaration.
34789         * lib/lchown.c (chown): Update client.
34790         * modules/lchown (Depends-on): Add lstat.
34791         * doc/posix-functions/chown.texi (chown): Document the bug.
34792         * doc/posix-functions/getgroups.texi (getgroups): Document
34793         getgroups pitfall.
34794         * modules/chown-tests: New file.
34795         * tests/test-chown.h (test_chown): Likewise.
34796         * tests/test-chown.c (main): Likewise.
34797
34798 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
34799
34800         gnulib-tool: correctly detect absence of m4 directories
34801         * gnulib-tool: Avoid extra newline on data passed to wc -l.
34802
34803 2009-11-14  Jim Meyering  <meyering@redhat.com>
34804
34805         maint.mk: Prohibit inclusion of "xalloc.h" without use.
34806         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
34807
34808 2009-11-14  John W. Eaton  <jwe@gnu.org>
34809
34810         strftime.h: wrap funtion declaration in extern "C" block
34811         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
34812
34813 2009-11-13  Eric Blake  <ebb9@byu.net>
34814
34815         getgroups: avoid compiler warning
34816         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
34817
34818         getgroups: work around FreeBSD bug
34819         * lib/getgroups.c (rpl_getgroups): Work around the bug.
34820         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
34821         * doc/posix-functions/getgroups.texi (getgroups): Document it.
34822         * tests/test-getgroups.c (main): Fix buffer overrun.
34823
34824         getgroups: avoid compilation failure
34825         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
34826         * modules/getgroups (Depends-on): Add stdint.
34827
34828 2009-11-13  Jim Meyering  <meyering@redhat.com>
34829
34830         test-getgroups: avoid compilation failure
34831         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
34832
34833 2009-11-13  Eric Blake  <ebb9@byu.net>
34834
34835         mgetgroups: new module, taken from coreutils
34836         * modules/mgetgroups: New file.
34837         * lib/mgetgroups.h: Likewise.
34838         * lib/mgetgroups.c (mgetgroups): Likewise.
34839         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
34840         * MODULES.html.sh (Users and groups): Mention it.
34841
34842         getgroups: don't expose GETGROUPS_T to user
34843         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
34844         an element at a time if GETGROUPS_T is wrong size.
34845         * lib/getugroups.h (getugroups): Change signature.
34846         * lib/unistd.in.h (getgroups): Likewise.
34847         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
34848         signature needs fixing.
34849         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
34850         AC_TYPE_GETGROUPS.
34851         * modules/group-member (Depends-on): Add getgroups.
34852         * lib/group-member.c (group_info, get_group_info): Use gid_t.
34853         (group_member): Rely on getgroups replacement.
34854         * lib/getugroups.c (getugroups): Use gid_t.
34855         * tests/test-getgroups.c (main): Likewise.
34856         * NEWS: Mention the signature change.
34857         * doc/posix-functions/getgroups.texi (getgroups): Mention the
34858         problem with signature.
34859         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
34860         GETGROUPS_T is still useful for setgroups.
34861
34862         getgroups, getugroups: provide stubs for mingw
34863         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
34864         * lib/getugroups.c (getugroups): Likewise.
34865         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
34866         function.  Modernize replacement scheme.
34867         (gl_PREREQ_GETGROUPS): Delete.
34868         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
34869         * modules/getgroups (configure.ac): Declare witness.
34870         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
34871         * modules/unistd (Depends-on): Substitute witness.
34872         * lib/unistd.in.h (getgroups): Declare replacement.
34873
34874         getgroups: avoid calling exit
34875         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
34876         drop xalloc.
34877         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
34878         dependencies.
34879         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
34880         exiting, in the rare case of malloc failure.
34881
34882         getgroups: fix logic error
34883         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
34884         has more than 20 groups.
34885         * modules/getgroups-tests: New test.
34886         * tests/test-getgroups.c: New file.
34887
34888 2009-11-13  Simon Josefsson  <simon@josefsson.org>
34889
34890         * tests/test-base64.c: Improve.
34891
34892 2009-11-13  Simon Josefsson  <simon@josefsson.org>
34893
34894         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
34895         Blake <ebb9@byu.net>.
34896
34897 2009-11-13  Simon Josefsson  <simon@josefsson.org>
34898
34899         * tests/test-xvasprintf.c: Add %s%s related checks.
34900
34901 2009-11-12  Eric Blake  <ebb9@byu.net>
34902
34903         version-etc: match standards.texi style
34904         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
34905         and use <> only for URLs.
34906
34907 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
34908
34909         fts: do not fail on a submount during traversal
34910         * lib/fts.c (fts_build): Read the stat info again after opening
34911         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
34912         Original report at http://bugzilla.redhat.com/501848.
34913
34914 2009-11-12  Jim Meyering  <meyering@redhat.com>
34915
34916         bootstrap: sync from coreutils
34917         * build-aux/bootstrap (bootstrap_epilogue): New function.
34918         Use git_modules_config in one more place.  This make bootstrap's
34919         --gnulib-srcdir option more useful for testing.
34920
34921         bootstrap: generalize autoheader check
34922         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
34923         AC_CONFIG_HEADERS.
34924
34925 2009-11-11  Eric Blake  <ebb9@byu.net>
34926
34927         mkfifoat: use new modules for Solaris and BSD bugs
34928         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
34929         * lib/mkfifoat.c (mknodat): Split...
34930         * lib/mknodat.c (mknodat): ...into new file.
34931         * modules/mkfifoat (Files): Ship new file.
34932         (Depends-on): Add mkfifo, mknod.
34933         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
34934         (Depends-on): Add symlink.
34935         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
34936         redundant with test_mkfifo.h.
34937         (do_mkfifoat, do_mknodat): New helpers.
34938
34939         mknod: new module
34940         * modules/mknod: New file.
34941         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
34942         * lib/mknod.c (mknod): Likewise.
34943         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
34944         defaults.
34945         * modules/sys_stat (Makefile.am): Substitute them.
34946         * lib/sys_stat.in.h (mknod): Declare replacement.
34947         * MODULES.html.sh (Support for systems lacking POSIX:2008):
34948         Document it.
34949         * doc/posix-functions/mknod.texi (mknod): Likewise.
34950         * modules/mknod-tests: New test.
34951         * tests/test-mknod.c: Likewise.
34952
34953         mkfifo: new module
34954         * modules/mkfifo: New file.
34955         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
34956         * lib/mkfifo.c (mkfifo): Likewise.
34957         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
34958         defaults.
34959         * modules/sys_stat (Makefile.am): Substitute them.
34960         * lib/sys_stat.in.h (mkfifo): Declare replacement.
34961         * MODULES.html.sh (Support for systems lacking POSIX:2008):
34962         Document it.
34963         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
34964         * modules/mkfifo-tests: New test.
34965         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
34966         from test-mkfifoat.c.
34967         * tests/test-mkfifo.c: New file.
34968
34969         readlink: detect FreeBSD bug
34970         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
34971         slash on symlink.
34972         * doc/posix-functions/readlink.texi (readlink): Document the bug.
34973         * tests/test-readlink.h (test_readlink): Enhance test.
34974
34975         symlink: detect FreeBSD bug
34976         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
34977         slash on symlink.
34978         * doc/posix-functions/symlink.texi (symlink): Document the bug.
34979         * tests/test-symlink.h (test_symlink): Enhance test.
34980
34981 2009-11-10  Eric Blake  <ebb9@byu.net>
34982
34983         link: detect FreeBSD bug
34984         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
34985         symlink.
34986         * doc/posix-functions/link.texi (link): Document the bug.
34987         * tests/test-link.h (test_link): Enhance test.
34988         * tests/test-linkat.c (main): Update caller.
34989
34990         unlink, remove: detect FreeBSD bug
34991         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
34992         slash on symlink.
34993         * doc/posix-functions/unlink.texi (unlink): Document the bug.
34994         * doc/posix-functions/remove.texi (remove): Likewise.
34995         * tests/test-unlink.h (test_unlink): Enhance test.
34996         * tests/test-remove.c (main): Likewise.
34997
34998 2009-11-09  Eric Blake  <ebb9@byu.net>
34999
35000         rename: detect FreeBSD bug
35001         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
35002         slash on symlink.
35003         * modules/renameat-tests (Depends-on): Add filenamecat.
35004         * tests/test-rename.h (test_rename): Allow one more errno.
35005         * tests/test-renameat.c (main): Likewise.
35006         * doc/posix-functions/rename.texi (rename): Document the bug.
35007
35008         open: detect FreeBSD bug
35009         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
35010         symlink.
35011         * doc/posix-functions/open.texi (open): Document the bug.
35012         * doc/posix-functions/utimes.texi (utimes): Likewise.
35013         * tests/test-open.h (test_open): Add parameters, and test symlink
35014         handling.
35015         * tests/test-open.c (main): Adjust caller.
35016         * tests/test-fcntl-safer.c (main): Likewise.
35017         * modules/open-tests (Depends-on): Add stdbool, symlink.
35018         * modules/fcntl-safer-tests (Depends-on): Likewise.
35019         * tests/test-openat.c (main): Add test-open tests.
35020
35021         stat: detect FreeBSD bug
35022         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
35023         symlink.
35024         * doc/posix-functions/stat.texi (stat): Document the bug.
35025         * tests/test-stat.h (test_stat_func): Add argument.
35026         * tests/test-stat.c (main): Adjust caller.
35027         * tests/test-fstatat.c (main): Likewise.
35028         * modules/stat-tests (Depends-on): Add stdbool, symlink.
35029         Reported by Jim Meyering.
35030
35031 2009-11-09  James Youngman  <jay@gnu.org>
35032
35033         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
35034         * lib/strftime.c: Correct placement of #include "ignore-value.h".
35035
35036 2009-11-08  Jim Meyering  <meyering@redhat.com>
35037
35038         utimens: remove invalid futimesat call
35039         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
35040         It used the file descriptor of the target file as the DIR_FD
35041         parameter and NULL as the file name.  That caused failure with
35042         errno == EFAULT on FreeBSD-8.0-rc2
35043
35044 2009-11-07  Eric Blake  <ebb9@byu.net>
35045
35046         fflush, freadseek: use fseeko, not fseek
35047         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
35048         (clear_ungetc_buffer): Avoid potential problems on large files.
35049         * lib/freadseek.c (freadseek): Likewise.
35050         * modules/freadseek (Depends-on): Add fseeko.
35051         * modules/fseek (configure.ac): Set a witness.
35052         * tests/test-fflush.c (main): Use fseeko.
35053         * tests/test-fpurge.c (fseek): Disable link warning.
35054         * tests/test-freadable.c (fseek): Likewise.
35055         * tests/test-freading.c (fseek): Likewise.
35056         * tests/test-fseeko.c (fseek): Likewise.
35057         * tests/test-ftell.c (fseek): Likewise.
35058         * tests/test-ftello.c (fseek): Likewise.
35059         * tests/test-fwritable.c (fseek): Likewise.
35060         * tests/test-fwriting.c (fseek): Likewise.
35061
35062 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35063
35064         * modules/memchr (Depends-on): Drop getpagesize dependency.
35065
35066 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35067
35068         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
35069         Reported by Ludovic Courtès.
35070         * build-aux/pmccabe2html: Improve example usage.
35071         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
35072
35073 2009-11-06  Jim Meyering  <meyering@redhat.com>
35074
35075         do-release-commit-and-tag: New module.
35076         Automate the release-commit and tag process.
35077         * build-aux/do-release-commit-and-tag: New script, from coreutils.
35078         * modules/do-release-commit-and-tag: New file.
35079         * MODULES.html.sh (Support for maintaining and releasing): Add it.
35080
35081 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35082
35083         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
35084         because test-select.c uses inet_pton.
35085
35086 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35087
35088         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
35089         GETADDRINFO_LIB.  Bump serial number.
35090         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
35091         Suggested by Eric Blake <ebb9@byu.net>.
35092
35093 2009-11-05  Eric Blake  <ebb9@byu.net>
35094
35095         strtod: detect darwin bug
35096         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
35097         Reported by Leo Davis.
35098
35099         freopen-safer: new module
35100         * modules/freopen-safer: New module.
35101         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
35102         * lib/freopen-safer.c (freopen_safer): New file.
35103         * lib/stdio-safer.h (freopen_safer): New declaration.
35104         * lib/stdio--.h (freopen): New override.
35105         * MODULES.html.sh (File stream based Input/Output): Mention it.
35106         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
35107         freopen-safer module.
35108         * doc/posix-functions/stderr.texi (stderr): Likewise.
35109         * doc/posix-functions/stdin.texi (stdin): Likewise.
35110         * doc/posix-functions/stdout.texi (stdout): Likewise.
35111         * modules/freopen-safer-tests: New test.
35112         * tests/test-reopen-safer.c: New file.
35113
35114 2009-11-05  Jim Meyering  <meyering@redhat.com>
35115
35116         maint.mk: Prohibit inclusion of "close-stream.h" without use.
35117         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35118
35119 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35120
35121         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
35122
35123 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35124
35125         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
35126
35127 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35128
35129         Fix link error.
35130         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
35131         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35132
35133 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35134
35135         * tests/test-func.c: Also test value of __func__.
35136
35137 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35138
35139         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
35140         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
35141
35142 2009-11-05  Bruno Haible  <bruno@clisp.org>
35143
35144         Fix link error.
35145         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
35146         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35147         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
35148
35149 2009-11-05  Bruno Haible  <bruno@clisp.org>
35150
35151         Tests for module 'inet_pton'.
35152         * modules/inet_pton-tests: New file.
35153         * tests/test-inet_pton.c: New file.
35154
35155 2009-11-05  Bruno Haible  <bruno@clisp.org>
35156
35157         Tests for module 'inet_ntop'.
35158         * modules/inet_ntop-tests: New file.
35159         * tests/test-inet_ntop.c: New file.
35160
35161 2009-11-04  Eric Blake  <ebb9@byu.net>
35162
35163         stdlib-safer: wrap all mkstemp variants
35164         * modules/mkostemp (configure.ac): Set witness.
35165         * modules/mkostemps (configure.ac): Likewise.
35166         * modules/mkstemps (configure.ac): Likewise.
35167         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
35168         (mkstemps_safer): Wrap more functions.
35169         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
35170         wrapping.
35171         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
35172         (mkstemps_safer): Implement the wrappers.
35173
35174         mkstemps, mkostemps: new modules
35175         * modules/mkostemps: New module.
35176         * modules/mkstemps: Likewise.
35177         * lib/mkostemps.c (mkostemps): New file.
35178         * lib/mkstemps.c (mkstemps): Likewise.
35179         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
35180         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
35181         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
35182         * modules/stdlib (Makefile.am): Substitute them.
35183         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
35184         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
35185         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
35186         * doc/gnulib.texi (Glibc stdlib.h): Include them.
35187         * MODULES.html.sh (File system functions): Mention them.
35188
35189         tempname: resync from glibc
35190         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
35191         same values for __GT_FILE as glibc.  Abort even when assertions
35192         are disabled.
35193         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
35194         match its value otherwise.  Allow idempotent inclusion.
35195         * lib/mkdtemp.c (mkdtemp): Adjust caller.
35196         * lib/mkostemp.c (mkostemp): Likewise.
35197         * lib/mkstemp.c (mkstemp): Likewise.
35198         * lib/tmpfile.c (tmpfile): Likewise.
35199         * NEWS: Document this.
35200
35201         utimens: fix use of futimens on older Linux
35202         * lib/utimens.c (fdutimens): Use updated, rather than original,
35203         timespec to avoid bug in older Linux kernel.
35204         Reported by Simon Josefsson.
35205
35206 2009-11-04  Bruno Haible  <bruno@clisp.org>
35207
35208         Make num_processors more flexible and consistent.
35209         * lib/nproc.h (enum nproc_query): New type.
35210         (num_processors): Add a 'query' argument.
35211         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
35212         (num_processors): Add a 'query' argument. Test the value of the
35213         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
35214         mingw, count the number of CPUs available for the current process.
35215         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
35216         Check for sched_getaffinity and sched_getaffinity_np.
35217         * modules/nproc (Depends-on): Add c-ctype, extensions.
35218         * NEWS: Mention the change.
35219
35220 2009-11-03  Bruno Haible  <bruno@clisp.org>
35221
35222         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
35223
35224 2009-11-03  Jim Meyering  <meyering@redhat.com>
35225
35226         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
35227         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
35228         if it is defined.
35229
35230 2009-11-02  Eric Blake  <ebb9@byu.net>
35231
35232         mktime, timegm: share common declaration
35233         * lib/mktime-internal.h: New file.
35234         * lib/mktime.c: Use it rather than open-coding a declaration.
35235         * lib/timegm.c: Likewise.
35236         * modules/mktime (Files): Ship it.
35237         * modules/timegm (Files): Likewise.
35238         Suggested by Bruno Haible.
35239
35240         test-update-copyright: update test to match script changes
35241         * tests/test-update-copyright.sh: Avoid hard-coding perl
35242         location.  Don't update *.bak created by earlier runs.
35243
35244 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
35245             Simon Josefsson  <simon@josefsson.org>
35246             Bruno Haible  <bruno@clisp.org>
35247
35248         Fix link error on Solaris 8.
35249         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
35250         also in libnsl. Define also INET_PTON_LIB.
35251         * modules/inet_pton (Link): New section.
35252
35253 2009-11-02  Simon Josefsson  <simon@josefsson.org>
35254             Bruno Haible  <bruno@clisp.org>
35255
35256         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
35257         * modules/inet_ntop (Link): New section.
35258         Reported by Boyan Kasarov <bkasarov@gmail.com>.
35259
35260 2009-11-02  Eric Blake  <ebb9@byu.net>
35261
35262         maint: avoid compiler warnings in m4 macros
35263         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
35264         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
35265
35266 2009-11-02  Simon Josefsson  <simon@josefsson.org>
35267
35268         * m4/pmccabe2html.m4: Remove file.
35269         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
35270         function.  Change maintainer.
35271         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
35272         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
35273         Courtès).
35274
35275 2009-10-31  Eric Blake  <ebb9@byu.net>
35276
35277         fseeko: fix m4 regression
35278         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
35279         regression from 2009-10-27.
35280         Reported by Ralf Wildenhues.
35281
35282 2009-10-31  Jim Meyering  <meyering@redhat.com>
35283
35284         inttostr: aesthetics and improved (compile-time) safety
35285         Define inttype_is_signed rather than inttype_is_unsigned,
35286         since the sole use is via "#if inttype_is_signed".
35287         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
35288         inttype_is_unsigned.
35289         * lib/offtostr.c (inttype_is_signed): Likewise.
35290         * lib/uinttostr.c (inttype_is_signed): Likewise.
35291         * lib/umaxtostr.c (inttype_is_signed): Likewise.
35292         * lib/inttostr.c (inttostr): Use verify to cross-check the
35293         inttype_is_signed value and the signedness of the actual type.
35294         * modules/inttostr (Depends-on): Add verify.
35295
35296 2009-10-30  Eric Blake  <ebb9@byu.net>
35297
35298         build: avoid compiler warnings
35299         * lib/fchmodat.c (lchmod): Mark unused variables.
35300         * lib/getopt.c (_getopt_initialize): Likewise.
35301         * lib/mktime.c (__mktime_internal): Provide prototype.
35302         * lib/inttostr.c (inttostr): Avoid compiler warning even with
35303         older gcc that do not understand #pragma GCC diagnostic.
35304         * lib/uinttostr.c (inttype_is_unsigned): Define.
35305         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
35306
35307 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
35308
35309         stat: fix compilation on AIX
35310         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
35311         only see struct stat64.
35312
35313 2009-10-30  Eric Blake  <ebb9@byu.net>
35314
35315         exclude: make more robust
35316         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
35317         rather than masking a coding bug.
35318         Suggested by Bruno Haible.
35319
35320 2009-10-30  Jim Meyering  <meyering@redhat.com>
35321
35322         perl scripts: remove #!/usr/bin/perl in favor of more portable...
35323         Rather than putting #!/usr/bin/perl on the first line,
35324         start with a variant of what's recommended by "man perlrun" that
35325         invokes the first "perl" program from your shell's search path.
35326         * build-aux/gitlog-to-changelog: Replace #!... as above.
35327         Add a "Local Variables" perl mode setting.
35328         Prompted by a patch from Ludovic Courtès.
35329         Improved by Eric Blake.
35330         * build-aux/useless-if-before-free: Likewise.
35331         * build-aux/announce-gen: Likewise.
35332         * build-aux/update-copyright: Likewise.
35333
35334 2009-10-29  Eric Blake  <ebb9@byu.net>
35335
35336         filenamecat-lgpl: adjust clients
35337         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
35338         filenamecat.
35339         * modules/renameat (Depends-on): Likewise.
35340
35341         filenamecat: split into filenamecat-lgpl
35342         * modules/filenamecat-lgpl: New module.
35343         * modules/filenamecat (Files): Move library-safe files into
35344         filenamecat-lgpl.
35345         (Depends-on): Add filenamecat-lgpl.
35346         (configure.ac): Declare witness.
35347         * lib/filenamecat.h (file_name_concat): Only declare when using
35348         GPL module.
35349         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
35350         Move...
35351         * lib/filenamecat-lgpl.c: ...into new file.
35352         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
35353         (gl_FILE_NAME_CONCAT): Use it.
35354         * MODULES.html.sh (File system functions): Mention new module.
35355
35356         argp: avoid memory leak
35357         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
35358         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
35359         base_name, since the latter malloc()s and can call exit().
35360         Leak introduced 2006-07-03.
35361
35362         dirname-lgpl: adjust clients that don't need full dirname
35363         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
35364         * modules/filenamecat (Depends-on): Likewise.
35365         * modules/linkat (Depends-on): Likewise.
35366         * modules/mkancesdirs (Depends-on): Likewise.
35367         * modules/mkdir (Depends-on): Likewise.
35368         * modules/openat (Depends-on): Likewise.
35369         * modules/savewd (Depends-on): Likewise.
35370         * modules/rename (Depends-on): Likewise.
35371         (License): Relax license.
35372         * modules/mkdir-tests (Depends-on): Drop progname.
35373         (Makefile.am): Delete unneeded LDADD.
35374         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
35375
35376         dirname: split into dirname-lgpl
35377         * modules/dirname-lgpl: New module.
35378         * modules/dirname (Files): Move library-safe files into
35379         dirname-lgpl.
35380         (Depends-on): Add dirname-lgpl.
35381         (configure.ac): Declare witness.
35382         * modules/double-slash-root (License): Relax license.
35383         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
35384         module.
35385         * lib/dirname.c (dir_len, mdir_name): Move...
35386         * lib/dirname-lgpl.c: ...into new file.
35387         * lib/basename.c (last_component, base_len): Move...
35388         * lib/basename-lgpl.c: ...into new file.
35389         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
35390         (gl_DIRNAME): Use it.
35391         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
35392         Mention new module.
35393         * modules/dirname-tests (Depends-on): Add progname.
35394         * tests/test-dirname.c (program_name): Delete.
35395
35396         mkdir: make safe for libraries
35397         * modules/mkdir (Depends-on): Drop xalloc.
35398         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
35399         exit.
35400
35401         tests: avoid some compiler warnings
35402         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
35403         literals.
35404         * tests/test-memchr.c (main): Avoid type mismatch.
35405         * tests/test-arpa_inet.c (main): Avoid unused parameters.
35406         * tests/test-base64.c (main): Likewise.
35407         * tests/test-getdelim.c (main): Likewise.
35408         * tests/test-gethostname.c (main): Likewise.
35409         * tests/test-getline.c (main): Likewise.
35410         * tests/test-netinet_in.c (main): Likewise.
35411         * tests/test-select.c (open_server_socket, main): Likewise.
35412         * tests/test-select-stdin.c (main): Likewise.
35413         * tests/test-sockets.c (main): Likewise.
35414         * tests/test-strsignal.c (main): Likewise.
35415         * tests/test-sys_select.c (main): Likewise.
35416         * tests/test-sys_socket.c (main): Likewise.
35417         * tests/test-u64.c (main): Likewise.
35418         * tests/test-xfprintf-posix.c (main): Likewise.
35419         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
35420
35421         sockets: avoid compiler warning
35422         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
35423
35424         maint: detect usage(1) and other suspicious exits
35425         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
35426
35427 2009-10-29  Jim Meyering  <meyering@redhat.com>
35428
35429         timespec: long-to-int truncation could make timespec_cmp malfunction
35430         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
35431         a multiple of 2^32 nanoseconds as no difference.
35432
35433 2009-10-28  Jim Meyering  <meyering@redhat.com>
35434
35435         fprintftime: wrap macro code argument in "do {...} while(0)"
35436         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
35437         cpy macro must be a statement that can be followed by a semicolon.
35438         Now that the else clause contains a comment and is hence longer
35439         than one line, I require curly braces.  That in turn requires
35440         that we wrap this code block in the standard do...while(0).
35441
35442         fprintftime: remove stray semicolon from previous change
35443         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
35444
35445         fprintftime: avoid a warning about ignored fwrite return value
35446         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
35447         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
35448         that is unsafe.
35449         * modules/fprintftime (Depends-on): Add ignore-value.
35450
35451         exclude: avoid an unwarranted warning
35452         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
35453
35454 2009-10-27  Eric Blake  <ebb9@byu.net>
35455
35456         fseek: avoid compilation failure when fflush is replaced
35457         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
35458         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
35459         module is in use.
35460         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
35461         module is not in use; since REPLACE_FSEEK worked otherwise.
35462         (GNULIB_FTELLO): Likewise for ftell.
35463         Reported by Ian Beckwith and others.
35464
35465 2009-10-27  Bruno Haible  <bruno@clisp.org>
35466
35467         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
35468         Reported by Jim Meyering.
35469
35470 2009-10-27  Jim Meyering  <jim@meyering.net>
35471             Bruno Haible  <bruno@clisp.org>
35472
35473         Avoid warning despite dropping the return value of fwrite.
35474         * lib/unicodeio.c: Include ignore-value.h.
35475         (fwrite_success_callback): Explicitly ignore fwrite's return value.
35476         * modules/unicodeio (Depends-on): Add ignore-value.
35477
35478 2009-10-26  Eric Blake  <ebb9@byu.net>
35479
35480         areadlinkat: fix fallback path
35481         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
35482         pointer and zero.
35483
35484 2009-10-22  Pádraig Brady  <P@draigBrady.com>
35485
35486         Use a better IO block size for modern systems
35487         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
35488         * lib/md2.c: Likewise.
35489         * lib/md4.c: Likewise.
35490         * lib/md5.c: Likewise.
35491         * lib/sha1.c: Likewise.
35492         * lib/sha256.c: Likewise.
35493         * lib/sha512.c: Likewise.
35494
35495 2009-10-22  Eric Blake  <ebb9@byu.net>
35496
35497         tests: avoid several compiler warnings
35498         * tests/test-getcwd.c (main): Avoid buffer underflow.
35499         * tests/test-getdate.c (main): String literals are not safe with
35500         putenv, so use setenv.  Declare unused argument.
35501         * modules/getdate-tests (Depends-on): Add setenv.
35502         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
35503         problems with string literals in char *.
35504         * tests/test-hash.c (main): Avoid shadowing declaration.
35505         (insert_new): Treat string literals as char const *.
35506         * tests/test-getopt.h (test_getopt): Likewise.
35507         (getopt_loop): Alter types to minimize casting elsewhere.
35508         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
35509         (test_getopt_long_posix): Likewise.
35510         (do_getopt_long): Add wrapper to minimize casting.
35511         * tests/test-atexit.c (clear_temp_file): Use void.
35512         * tests/test-areadlink-with-size.c (main): Declare unused
35513         arguments.
35514         * tests/test-areadlink.c (main): Likewise.
35515         * tests/test-areadlinkat-with-size.c (main): Likewise.
35516         * tests/test-areadlinkat.c (main): Likewise.
35517         * tests/test-canonicalize-lgpl.c (main): Likewise.
35518         * tests/test-canonicalize.c (main): Likewise.
35519         * tests/test-dirent-safer.c (main): Likewise.
35520         * tests/test-dirname.c (main): Likewise.
35521         * tests/test-dup2.c (main): Likewise.
35522         * tests/test-fchdir.c (main): Likewise.
35523         * tests/test-fcntl-h.c (main): Likewise.
35524         * tests/test-fcntl-safer.c (main): Likewise.
35525         * tests/test-fdopendir.c (main): Likewise.
35526         * tests/test-fdutimensat.c (main): Likewise.
35527         * tests/test-fflush.c (main): Likewise.
35528         * tests/test-filenamecat.c (main): Likewise.
35529         * tests/test-filevercmp.c (main): Likewise.
35530         * tests/test-fopen-safer.c (main): Likewise.
35531         * tests/test-fopen.c (main): Likewise.
35532         * tests/test-fpending.c (main): Likewise.
35533         * tests/test-fpurge.c (main): Likewise.
35534         * tests/test-freading.c (main): Likewise.
35535         * tests/test-fstatat.c (main): Likewise.
35536         * tests/test-fsync.c (main): Likewise.
35537         * tests/test-futimens.c (main): Likewise.
35538         * tests/test-getndelim2.c (main): Likewise.
35539         * tests/test-gettimeofday.c (main): Likewise.
35540         * tests/test-getopt.c (main): Likewise.
35541         * tests/test-i-ring.c (main): Likewise.
35542         * tests/test-inttypes.c (main): Likewise.
35543         * tests/test-link.c (main): Likewise.
35544         * tests/test-lstat.c (main): Likewise.
35545         * tests/test-math.c (main): Likewise.
35546         * tests/test-md5.c (main): Likewise.
35547         * tests/test-memchr2.c (main): Likewise.
35548         * tests/test-memrchr.c (main): Likewise.
35549         * tests/test-mkdir.c (main): Likewise.
35550         * tests/test-mkdirat.c (main): Likewise.
35551         * tests/test-mkfifoat.c (main): Likewise.
35552         * tests/test-open.c (main): Likewise.
35553         * tests/test-openat-safer.c (main): Likewise.
35554         * tests/test-openat.c (main): Likewise.
35555         * tests/test-quotearg.c (main): Likewise.
35556         * tests/test-rawmemchr.c (main): Likewise.
35557         * tests/test-readlink.c (main): Likewise.
35558         * tests/test-remove.c (main): Likewise.
35559         * tests/test-rename.c (main): Likewise.
35560         * tests/test-renameat.c (main): Likewise.
35561         * tests/test-rmdir.c (main): Likewise.
35562         * tests/test-sha1.c (main): Likewise.
35563         * tests/test-signal.c (main): Likewise.
35564         * tests/test-sigaction.c (main): Likewise.
35565         * tests/test-stat.c (main): Likewise.
35566         * tests/test-stat-time.c (main): Likewise.
35567         * tests/test-stddef.c (main): Likewise.
35568         * tests/test-stdint.c (main): Likewise.
35569         * tests/test-stdio.c (main): Likewise.
35570         * tests/test-stdlib.c (main): Likewise.
35571         * tests/test-strchrnul.c (main): Likewise.
35572         * tests/test-strerror.c (main): Likewise.
35573         * tests/test-string.c (main): Likewise.
35574         * tests/test-strtod.c (main): Likewise.
35575         * tests/test-strverscmp.c (main): Likewise.
35576         * tests/test-symlink.c (main): Likewise.
35577         * tests/test-symlinkat.c (main): Likewise.
35578         * tests/test-sys_stat.c (main): Likewise.
35579         * tests/test-sys_time.c (main): Likewise.
35580         * tests/test-time.c (main): Likewise.
35581         * tests/test-unistd.c (main): Likewise.
35582         * tests/test-unlink.c (main): Likewise.
35583         * tests/test-unlinkat.c (main): Likewise.
35584         * tests/test-utimens.c (main): Likewise.
35585         * tests/test-utimensat.c (main): Likewise.
35586         * tests/test-version-etc.c (main): Likewise.
35587         * tests/test-wchar.c (main): Likewise.
35588         * tests/test-wctype.c (main): Likewise.
35589         * tests/test-xprintf-posix.c (main): Likewise.
35590         * tests/test-posixtm.c (main): Likewise.
35591         (STREQ): Delete unused macro.
35592         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
35593         shadowed variables.
35594         * tests/test-memchr.c (main): Likewise.
35595
35596 2009-10-21  Eric Blake  <ebb9@byu.net>
35597
35598         areadlinkat: avoid failure on older glibc
35599         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
35600         rather than mis-comparing 0 against FUNC_RESULT of char*.
35601
35602 2009-10-21  Bruno Haible  <bruno@clisp.org>
35603
35604         * modules/stpncpy (License): Relicense under LGPLv2+.
35605         Reported by David Lutterkort <lutter@redhat.com>.
35606
35607 2009-10-20  Eric Blake  <ebb9@byu.net>
35608
35609         utimensat: work around Solaris 9 bug
35610         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
35611         has trailing slash bugs.
35612         * tests/test-lutimens.h (test_lutimens): Enhance test.
35613         * tests/test-utimens.h (test_utimens): Likewise.
35614         * doc/posix-functions/utime.texi (utime): Enhance documentation.
35615         * doc/posix-functions/utimes.texi (utimes): Likewise.
35616         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35617         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
35618         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
35619         * doc/posix-functions/futimens.texi (futimens): Likewise.
35620
35621         fdutimensat: new module
35622         * modules/fdutimensat: New file.
35623         * lib/fdutimensat.c (fdutimensat): Likewise.
35624         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
35625         * MODULES.html.sh (File system functions): Mention module.
35626         * modules/fdutimensat-tests: New test.
35627         * tests/test-fdutimensat.c: Likewise.
35628
35629         doc: regenerate INSTALL
35630         * doc/INSTALL: Reflect recent autoconf update.
35631         * doc/INSTALL.ISO: Likewise.
35632         * doc/INSTALL.UTF-8: Likewise.
35633
35634 2009-10-20  Pádraig Brady  <P@draigBrady.com>
35635
35636         acl: warn if ACL support is not detected
35637         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
35638
35639 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
35640
35641         * lib/nproc.h: Add extern "C" block for C++.
35642
35643 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
35644             Bruno Haible  <bruno@clisp.org>
35645
35646         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
35647         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
35648         * doc/posix-functions/isalpha.texi: Likewise.
35649         * doc/posix-functions/isblank.texi: Likewise.
35650         * doc/posix-functions/iscntrl.texi: Likewise.
35651         * doc/posix-functions/isdigit.texi: Likewise.
35652         * doc/posix-functions/isgraph.texi: Likewise.
35653         * doc/posix-functions/islower.texi: Likewise.
35654         * doc/posix-functions/isprint.texi: Likewise.
35655         * doc/posix-functions/ispunct.texi: Likewise.
35656         * doc/posix-functions/isspace.texi: Likewise.
35657         * doc/posix-functions/isupper.texi: Likewise.
35658         * doc/posix-functions/isxdigit.texi: Likewise.
35659
35660 2009-10-18  Bruno Haible  <bruno@clisp.org>
35661
35662         Tests for module 'isblank'.
35663         * modules/isblank-tests: New file.
35664         * tests/test-isblank.c: New file.
35665
35666         New module 'isblank'.
35667         * lib/isblank.c: New file.
35668         * m4/isblank.m4: New file.
35669         * modules/isblank: New file.
35670         * doc/posix-functions/isblank.texi: Mention the new module.
35671
35672 2009-10-18  Bruno Haible  <bruno@clisp.org>
35673
35674         New module 'ctype'.
35675         * lib/ctype.in.h: New file.
35676         * m4/ctype.m4: New file.
35677         * modules/ctype: New file.
35678         * doc/posix-headers/ctype.texi: Mention the new module.
35679
35680 2009-10-18  Jim Meyering  <meyering@redhat.com>
35681
35682         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
35683         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
35684         right after its initialization, rather than farther down.
35685         Keeping these in close proximity makes it easier to ensure
35686         that each such variable is initialized.  E.g.,
35687
35688             LIB_CLOCK_GETTIME=
35689             AC_SUBST([LIB_CLOCK_GETTIME])
35690
35691         This change also increments these serial numbers.
35692         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
35693         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
35694         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
35695
35696 2009-10-18  Bruno Haible  <bruno@clisp.org>
35697
35698         Don't let environment variables perturb build.
35699         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
35700         (gl_PREREQ_GETHRXTIME): ... not here.
35701
35702 2009-10-18  Bruno Haible  <bruno@clisp.org>
35703
35704         Avoid symlink attack in localcharset module.
35705         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
35706         (O_NOFOLLOW): Define fallback.
35707         (get_charset_aliases): Don't open the file if it is a symbolic link.
35708         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
35709         gl_FCNTL_H.
35710         (gl_FCNTL_H): Require it.
35711         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
35712         * modules/localcharset (Files): Add m4/fcntl_h.m4.
35713         Reported by Fergal Glynn <fglynn@veracode.com>.
35714
35715 2009-10-18  Bruno Haible  <bruno@clisp.org>
35716
35717         Implement nproc for mingw.
35718         * lib/nproc.c: Include <windows.h>
35719         (num_processors): On native Windows platforms, try GetSystemInfo.
35720
35721 2009-10-18  Bruno Haible  <bruno@clisp.org>
35722
35723         Implement nproc for IRIX.
35724         * lib/nproc.c: Include <sys/sysmp.h>.
35725         (num_processors): On IRIX systems, try sysmp.
35726         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
35727
35728 2009-10-18  Bruno Haible  <bruno@clisp.org>
35729
35730         Implement nproc for HP-UX.
35731         * lib/nproc.c: Include <sys/pstat.h>
35732         (num_processors): On HP-UX systems, try pstat_getdynamic.
35733         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
35734         pstat_getdynamic.
35735
35736 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
35737             Bruno Haible  <bruno@clisp.org>
35738
35739         Implement nproc for NetBSD, OpenBSD.
35740         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
35741         (ARRAY_SIZE): New macro.
35742         (num_processors): On BSD systems, try sysctl of HW_NCPU.
35743         * m4/nproc.m4: New file.
35744         * modules/nproc (Files): Add m4/nproc.m4.
35745         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
35746         (Makefile.am): Instead, augment lib_SOURCES.
35747
35748 2009-10-18  Bruno Haible  <bruno@clisp.org>
35749
35750         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
35751         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
35752         sys/param.h.
35753
35754 2009-10-16  Eric Blake  <ebb9@byu.net>
35755
35756         utimensat: new module
35757         * modules/utimensat: New file.
35758         * lib/utimensat.c (utimensat): Likewise.
35759         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35760         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
35761         so we can work around Linux bugs.
35762         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35763         * modules/sys_stat (Makefile.am): Substitute them.
35764         * lib/sys_stat.in.h (utimensat): Declare it.
35765         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35766         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35767         * modules/utimensat-tests: New test.
35768         * tests/test-utimensat.c: Likewise.
35769
35770         utimens: let lutimens work on non-symlinks
35771         * lib/utimens.c (lutimens): Fall back to utimens rather than
35772         failing with ENOSYS, when file is not a symlink.
35773         (utimens): Reduce redirection.
35774         * tests/test-lutimens.h (test_lutimens): Update test to cover
35775         non-symlinks.
35776         * tests/test-utimens.h (test_utimens): Update test to cover
35777         symlinks.
35778         * tests/test-utimens.c (main): Update caller.
35779
35780         utimens: cache whether utimensat syscall works
35781         * lib/utimens.c (utimensat_works_really): New cache variable.
35782         (fdutimens, lutimens): Use it to avoid failing syscall.
35783
35784         test-stat-time, test-utimens: improve portability
35785         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
35786         ext4 on alpha, and for cygwin.
35787         * tests/test-utimens-common.h: New file.
35788         (nap): Factor delays into single function.
35789         * tests/test-lutimens.h (test_lutimens): Use new header.
35790         * tests/test-futimens.h (test_futimens): Likewise.
35791         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
35792         timestamps to occur from same machine, as was done previously for
35793         test_utimens.
35794         * modules/utimens-tests (Files): Ship new file.
35795         * modules/futimens-tests (Files): Likewise.
35796         Reported in part by Jim Meyering.
35797
35798         sys_stat: sort replacement declarations
35799         * lib/sys_stat.in.h: Sort declarations.
35800         * lib/futimens.c (futimens): Fix typo.
35801
35802 2009-10-15  Jim Meyering  <meyering@redhat.com>
35803
35804         don't let environment settings perturb build
35805         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
35806         could cause a configure-time and/or build-time malfunction.
35807         Typically, a configure-time function-in-library test is performed
35808         via code like this:
35809
35810           LIB_VAR=
35811           AC_SUBST([LIB_VAR])
35812           prefix_saved_LIBS=$LIBS
35813             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
35814                        [test "$ac_cv_search_FUNC" = "none required" ||
35815                         LIB_VAR=$ac_cv_search_FUNC])
35816           LIBS=$prefix_saved_LIBS
35817
35818         However, in each of the files affected by this change, the LIB_VAR=
35819         initialization was omitted.  Thus, when set in the environment, its
35820         value would propagate into generated Makefiles when FUNC is not found
35821         in LIB_NAME.
35822         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
35823         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
35824         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
35825
35826 2009-10-14  Eric Blake  <ebb9@byu.net>
35827
35828         fchdir: avoid infinite recursion in mingw
35829         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
35830         recursing.
35831
35832         test-stat-time: port to mingw
35833         * tests/test-stat-time.c (force_unlink): Return a value.
35834         (test_ctime) [W32]: Fix compilation error.
35835         (nap): Don't call usleep with too large an argument.  Use
35836         force_unlink.
35837         * doc/pastposix-functions/usleep.texi (usleep): Document the
35838         portability issue.
35839
35840 2009-10-13  Jim Meyering  <meyering@redhat.com>
35841
35842         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
35843         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
35844         * modules/pipe-filter-ii: Likewise.
35845         * modules/sys_socket-tests: Likewise.
35846         * modules/tsearch-tests: Likewise.
35847         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
35848         (check): Depend on it.
35849
35850 2009-10-12  Eric Blake  <ebb9@byu.net>
35851
35852         utimens-tests: port to NFS file systems
35853         * tests/test-utimens.h (test_utimens): Refactor utimecmp
35854         comparisons to avoid spurious failures from timestamp drift
35855         between NFS machines.
35856
35857 2009-10-12  Eric Blake  <ebb9@byu.net>
35858
35859         stat-time-tests: minor cleanups
35860         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
35861         * tests/test-stat-time.c (nap): Separate assignment from call.
35862         Suggested by Paolo Bonzini and Bruno Haible.
35863
35864         sys_stat: guarantee struct timespec
35865         * lib/sys_stat.in.h (includes): Always include <time.h>
35866         * modules/sys_stat (Depends-on): Add time.
35867         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
35868         mode_t permission values.
35869         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
35870         get at subsecond timestamps.
35871
35872 2009-10-10  Eric Blake  <ebb9@byu.net>
35873
35874         futimens: new module
35875         * modules/futimens: New file.
35876         * lib/futimens.c (futimens): Likewise.
35877         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
35878         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
35879         we can work around Linux bugs.
35880         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35881         * modules/sys_stat (Makefile.am): Substitute them.
35882         * lib/sys_stat.in.h (futimens): Declare it.
35883         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35884         * doc/posix-functions/futimens.texi (futimens): Likewise.
35885         * modules/futimens-tests: New test.
35886         * tests/test-futimens.c: Likewise.
35887
35888         utimens: introduce fdutimens
35889         * lib/utimens.h (fdutimens): New prototype.
35890         * lib/utimens.c (gl_futimens): Move guts...
35891         (fdutimens): ...to new interface.
35892         * tests/test-utimens.c (do_fdutimens): Use it.
35893
35894         utimens: add UTIME_NOW and UTIME_OMIT support
35895         * lib/utimens.c (validate_timespec, update_timespec): New helper
35896         functions.
35897         (gl_futimens, lutimens): Use them.
35898         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
35899         stdbool, sys_stat.
35900         (Link): Mention resulting library dependency.
35901         * modules/utimecmp (Link): Likewise.
35902         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
35903         (Makefile.am): Pick up library dependency.
35904         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
35905         definition.
35906         * tests/test-sys_stat.c: Test the definitions.
35907         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
35908         * NEWS: Document library dependency.
35909
35910         utimecmp: support symlink timestamps
35911         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
35912         hashing when possible.  Use pathconf when available.
35913         (SYSCALL_RESOLUTION): Recognize tighter resolution.
35914         * modules/utimecmp (Depends-on): Add lstat.
35915
35916         utimens: add lutimens interface
35917         * lib/utimens.c (lutimens): New function.
35918         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
35919         * lib/utimens.h (lutimens): Declare new interface.
35920         * tests/test-utimens.c (main): Enhance test.
35921         * tests/test-lutimens.h (test_lutimens): New file.
35922         * modules/utimens-tests (Files): Distribute it.
35923         (Depends-on): Add symlink.
35924         (configure.ac): Check for usleep.
35925
35926         utimens: validate futimens usage
35927         * lib/utimens.c (gl_futimens): Require valid fd up front, using
35928         fewer syscalls on failure later on.  Avoid compiler warning on
35929         mingw.
35930         * modules/utimens (Depends-on): Add dup2.
35931
35932         utimens: add test
35933         * modules/utimens-tests: New test.
35934         * tests/test-utimens.h: New file.
35935         * tests/test-futimens.h: Likewise.
35936         * tests/test-utimens.c: Likewise.
35937
35938         doc: mention timestamp portability issues
35939         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
35940         instead.
35941         * doc/posix-functions/utime.texi (utime): Likewise.
35942         * doc/posix-functions/utimes.texi (utimes): Likewise.
35943         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
35944         instead.
35945         * doc/posix-functions/futimens.texi (futimens): Mention utimens
35946         module.
35947         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35948         Mention weakness with symlink timestamps.
35949         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
35950         to utimensat/futimens instead.
35951         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
35952
35953         test-dup2: enhance test
35954         * tests/test-dup2.c (main): Also check AT_FDCWD.
35955
35956         test-stat-time: avoid more spurious failures
35957         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
35958         xfs; and avoid race if the two timestamps cross quantization edge.
35959
35960         relocatable: prefer 'file system' over 'filesystem'
35961         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
35962         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
35963         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
35964         * doc/relocatable.texi (Enabling Relocatability): Likewise.
35965         * lib/relocatable.c (compute_curr_prefix): Likewise.
35966
35967 2009-10-10  Jim Meyering  <meyering@redhat.com>
35968
35969         stat-time-tests: check for the usleep function
35970         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
35971
35972 2009-10-10  Bruno Haible  <bruno@clisp.org>
35973
35974         * modules/xnanosleep: Put the Link section after the Include section.
35975
35976 2009-10-09  Eric Blake  <ebb9@byu.net>
35977
35978         dup2: work around FreeBSD 6.1 bug
35979         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
35980         * doc/posix-functions/dup2.texi (dup2): Document it.
35981         Reported by Nelson H. F. Beebe and Jim Meyering.
35982
35983         test-stat-time: port to buggy NFS clients
35984         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
35985         (test_ctime): Also skip test if mtime and ctime are skewed.
35986
35987         maint: prefer 'file system' over 'filesystem'
35988         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
35989         * doc/posix-functions/lstat.texi (lstat): Likewise.
35990         * lib/file-has-acl.c (file_has_acl): Likewise.
35991         * lib/fwriteerror.c [TEST]: Likewise.
35992         * tests/test-areadlink.h (test_areadlink): Likewise.
35993         * tests/test-areadlinkat-with-size.c (main): Likewise.
35994         * tests/test-areadlinkat.c (main): Likewise.
35995         * tests/test-canonicalize-lgpl.c (main): Likewise.
35996         * tests/test-canonicalize.c (main): Likewise.
35997         * tests/test-fstatat.c (main): Likewise.
35998         * tests/test-linkat.c (main): Likewise.
35999         * tests/test-lstat.h (test_lstat_func): Likewise.
36000         * tests/test-mkdir.h (test_mkdir): Likewise.
36001         * tests/test-readlink.h (test_readlink): Likewise.
36002         * tests/test-remove.c (main): Likewise.
36003         * tests/test-rename.h (test_rename): Likewise.
36004         * tests/test-renameat.c (main): Likewise.
36005         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36006         * tests/test-symlink.h (test_symlink): Likewise.
36007         * tests/test-symlinkat.c (main): Likewise.
36008         * tests/test-unlink.h (test_unlink_func): Likewise.
36009         * tests/test-unlinkat.c (main): Likewise.
36010
36011         maint: make realtime library usage explicit
36012         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
36013         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
36014         * modules/settime (Link): Likewise.
36015         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
36016
36017         test-stat-time: speed up execution
36018         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
36019         warning on mingw.
36020         (nap): New helper function.
36021         (prepare_test): Use it to reduce sleep time.
36022         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
36023         execution.
36024         * modules/stat-time-tests (configure.ac): Check for usleep.
36025
36026 2009-10-09  Jim Meyering  <meyering@redhat.com>
36027
36028         selinux-h: always use getfilecon wrappers
36029         * lib/getfilecon.c: New file.
36030         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
36031         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
36032         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
36033         (fgetfilecon): Provide a stub.
36034         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
36035         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
36036         file unconditionally.
36037         When <selinux/selinux.h> is found, arrange to use wrappers.
36038         * modules/selinux-h (Files): Add getfilecon.c.
36039         (Makefile.am): Substitute include-next-related bits
36040         into the now-always-generated selinux/selinux.h file.
36041         * doc/glibc-functions/lgetfilecon.texi: New file.
36042         * doc/glibc-functions/fgetfilecon.texi: New file.
36043         * doc/glibc-functions/getfilecon.texi: New file.
36044         * doc/glibc-functions/getfilecon-desc.texi: New file.
36045         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
36046         which to pull in the new files.
36047         * MODULES.html.sh (Misc): Add selinux-h.
36048
36049 2009-10-08  Jim Meyering  <meyering@redhat.com>
36050
36051         unistd: fix comment typo
36052         * lib/unistd.in.h (euidaccess): Fix a comment typo.
36053
36054 2009-10-08  Eric Blake  <ebb9@byu.net>
36055
36056         areadlink: use SIZE_MAX consistently
36057         * modules/areadlink (Depends-on): Add stdint.
36058         * modules/areadlink-with-size (Depends-on): Likewise.
36059         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
36060         gives NULL; drop sys/types, since unistd gives size_t; and add
36061         stdint for SIZE_MAX.
36062         (SIZE_MAX): Rely on headers.
36063         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
36064         and add stdint.
36065         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
36066         (SIZE_MAX): Likewise.
36067         (INITIAL_BUF_SIZE): Turn into enum.
36068         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
36069
36070 2009-10-08  Jim Meyering  <meyering@redhat.com>
36071
36072         areadlinkat: avoid compilation failure
36073         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
36074         Fix typo in comment.
36075
36076 2009-10-07  Eric Blake  <ebb9@byu.net>
36077
36078         areadlinkat-with-size: new module
36079         * modules/areadlinkat-with-size: New module.
36080         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
36081         * lib/areadlink.h (areadlinkat): Declare it.
36082         * MODULES.html.sh (File system functions): Mention it.
36083         * modules/areadlinkat-with-size-tests: New test.
36084         * tests/test-areadlinkat-with-size.c: New file.
36085
36086         xreadlinkat: new module
36087         * modules/xreadlinkat: New module.
36088         * lib/xreadlinkat.c (xreadlinkat): New file.
36089         * lib/xreadlink.h (xreadlinkat): Declare it.
36090         * MODULES.html.sh (File system functions): Mention it.
36091
36092         areadlinkat: new module
36093         * lib/at-func.c (FUNC_FAIL): New define.
36094         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
36095         * modules/areadlinkat: New module.
36096         * lib/linkat.c (areadlinkat): Move...
36097         * lib/areadlinkat.c (areadlinkat): ...to new file.
36098         * lib/areadlink.h (areadlinkat): Declare it.
36099         * modules/linkat (Depends-on): Add areadlinkat.
36100         * MODULES.html.sh (File system functions): Mention it.
36101         * modules/areadlinkat-tests: New test.
36102         * tests/test-areadlinkat.c: New file.
36103
36104         areadlink, areadlink-with-size: add tests
36105         * modules/areadlink-tests: New test.
36106         * modules/areadlink-with-size-tests: Likewise.
36107         * tests/test-areadlink.h: New file.
36108         * tests/test-areadlink.c: Likewise.
36109         * tests/test-areadlink-with-size.c: Likewise.
36110
36111         maint: minor cleanups
36112         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
36113         _UNUSED_PARAMETER_ instead.
36114         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
36115         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
36116         * modules/linkat-tests (Files): Distribute test-link.h.
36117
36118         openat, utimens: whitespace cleanup
36119         * lib/openat.c: Prefer space throughout, rather than mix of 8
36120         spaces vs. tabs.
36121         * lib/at-func.c: Likewise.
36122         * lib/utimens.c: Likewise.
36123
36124         openat: avoid using wrong fd
36125         * lib/openat.c (openat_permissive): Reject user's fd if saving the
36126         working directory chooses same fd.
36127         * lib/at-func.c (AT_FUNC_NAME): Likewise.
36128
36129         mkdir, mkdirat: fix cygwin 1.5.x bug
36130         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
36131         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
36132         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
36133         bug.
36134         (gl_PREREQ_MKDIR): Delete unused macro.
36135         * modules/mkdir (Files): Track file rename.
36136         (configure.ac): Update macro name.
36137         * modules/openat (Depends-on): Add mkdir.
36138         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
36139
36140         mkdir, mkdirat: add tests
36141         * modules/mkdir-tests: New test.
36142         * tests/test-mkdir.h: New file.
36143         * tests/test-mkdir.c: Likewise.
36144         * tests/test-mkdirat.c: Likewise.
36145         * modules/openat-tests (Files): Add new files.
36146         (Makefile.am): Run new test.
36147
36148 2009-10-06  Eric Blake  <ebb9@byu.net>
36149
36150         doc: tweak *at function documentation
36151         * doc/posix-functions/faccessat.texi (faccessat): Mention
36152         known issue with replacement.
36153         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
36154         * doc/posix-functions/linkat.texi (linkat): Likewise.
36155         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
36156         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
36157         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
36158         * doc/posix-functions/renameat.texi (renameat): Likewise.
36159         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36160
36161         openat: fix GNU/Hurd bug in unlinkat
36162         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
36163         broken.
36164         * doc/posix-functions/unlink.texi (unlink): Document this.
36165         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
36166
36167         fdopendir: fix GNU/Hurd bug
36168         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
36169         allowing non-directory fds.
36170         * lib/fdopendir.c (rpl_fdopendir): Work around it.
36171         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
36172         * modules/dirent (Makefile.am): Substitute it.
36173         * lib/dirent.in.h (fdopendir): Declare replacement.
36174         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
36175         * tests/test-fdopendir.c (main): Test something other than
36176         /dev/null, since on Hurd that behaves like a directory.
36177
36178         test-symlink: port to GNU/Hurd
36179         * tests/test-symlink.h (test_symlink): Relax expected errno.
36180
36181         doc: tweak more cygwin information
36182         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
36183         now compatible with glibc.
36184         * doc/posix-functions/getopt.texi (getopt): Likewise.
36185
36186         getopt-gnu: add another test
36187         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
36188         guarantee behavior relied on by m4.
36189         * tests/test-getopt.c (main): Use it.
36190         * modules/getopt-posix-tests (Depends-on): Add setenv.
36191         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
36192
36193         getopt: fix compilation on darwin
36194         * lib/getopt.in.h (includes): Leave breadcrumbs during system
36195         include.
36196         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
36197         Reported by Ludovic Courtès.
36198
36199 2009-10-06  Bruno Haible  <bruno@clisp.org>
36200
36201         * modules/size_max (Description): Discourage its use.
36202         Reported by Simon Josefsson.
36203
36204 2009-10-06  Jim Meyering  <meyering@redhat.com>
36205
36206         linkat: avoid compilation failure
36207         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
36208
36209 2009-10-05  Eric Blake  <ebb9@byu.net>
36210
36211         linkat: support Linux 2.6.17
36212         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
36213         linkat on Linux, but allow cache variable override.
36214         * lib/linkat.c (rpl_linkat): Define override.
36215         * modules/linkat (Depends-on): Add symlinkat.
36216         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
36217         * modules/unistd (Makefile.am): Substitute it.
36218         * lib/unistd.in.h (linkat): Declare replacement.
36219         Reported by Pádraig Brady.
36220
36221         quotearg: port test to systems with C.UTF-8 locale
36222         * tests/test-quotearg.c (struct result_strings): Add another
36223         member, differentiating between C.ASCII and C.UTF-8 handling.
36224         (compare_strings): Add parameter.
36225         (main): Adjust all callers.
36226
36227         getopt: avoid clash with FreeBSD _getopt_internal
36228         * lib/getopt.in.h (_getopt_internal): Override the name.
36229         * lib/getopt_int.h (includes): Pick up any overrides.
36230         Reported by Reuben Thomas.
36231
36232         hash: allow C89 compilation
36233         * lib/hash.c (check_tuning): Move declaration before statement.
36234         Reported by Reuben Thomas.
36235
36236 2009-10-05  Karl Berry  <karl@gnu.org>
36237
36238         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
36239
36240 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
36241             Bruno Haible  <bruno@clisp.org>
36242
36243         * lib/uname.c (uname): Use a table-driven algorithm to compute
36244         Windows NT versions.
36245
36246 2009-10-04  Bruno Haible  <bruno@clisp.org>
36247
36248         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
36249         program_invocation_short_name.
36250         * modules/progname (configure.ac): Test for presence of
36251         program_invocation_short_name.
36252         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
36253
36254 2009-10-04  Bruno Haible  <bruno@clisp.org>
36255
36256         * lib/progname.c (set_program_name): Fix comment.
36257         Reported by Jim Meyering.
36258
36259 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
36260             Bruno Haible  <bruno@clisp.org>
36261
36262         * lib/uname.c: Include <string.h>.
36263         (uname): Do only one call to GetVersionEx in the common case.
36264
36265 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
36266             Bruno Haible  <bruno@clisp.org>
36267
36268         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
36269         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
36270         (uname): Add support for Windows CE and various non-x86 CPU types.
36271
36272 2009-10-03  Bruno Haible  <bruno@clisp.org>
36273
36274         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
36275         invocation to tests/configure.ac.
36276         Reported by Ian Beckwith <ianb@erislabs.net>.
36277
36278 2009-10-02  Eric Blake  <ebb9@byu.net>
36279
36280         fchdir: avoid compiler warning
36281         * lib/fchdir.c (canonicalize_file_name)
36282         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
36283
36284         test-open: support mingw errno values
36285         * tests/test-open.h (test_open): Relax test.
36286         * tests/test-fopen.h (test_fopen): Likewise.
36287         * tests/test-openat-safer.c (main): Likewise.
36288
36289         open: fix opening directory on mingw
36290         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
36291
36292         test-open: on GNU/Hurd, /dev/null is a directory
36293         * tests/test-fopen.h (main): Rename...
36294         (test_fopen): ...to this.  Use a guaranteed non-directory when
36295         confirming open behavior on trailing slash.
36296         * tests/test-openat-safer.c (main): Likewise.
36297         * tests/test-open.h (main): Likewise....
36298         (test_open): ...to this.
36299         * tests/test-fopen.c (main): Adjust caller.
36300         * tests/test-fopen-safer.c (main): Likewise.
36301         * tests/test-open.c (main): Likewise.
36302         * tests/test-fcntl-safer.c (main): Likewise.
36303         Reported by Samuel Thibault.
36304
36305         rename, fchdir: don't ignore chdir failure
36306         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
36307         * lib/rename.c (rpl_rename) [W32]: Likewise.
36308         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
36309         an empty destination directory if source cannot be renamed,
36310         although there is still possibility for failure.
36311         * doc/posix-functions/rename.texi (rename): Document the race.
36312         Reported by Jim Meyering.
36313
36314         maint: cleanup whitespace in recent commits
36315         * lib/rename.c (rpl_rename): Remove tabs.
36316         * tests/test-link.h (test_link): Likewise.
36317         * lib/fchdir.c (get_name): Likewise.
36318         Reported by Jim Meyering.
36319
36320 2009-10-02  Ben Pfaff  <blp@gnu.org>
36321
36322         relocatable-prog-wrapper: Add missing dependency on
36323         double-slash-root.
36324         * modules/relocatable-prog-wrapper: Add dependency.
36325         Reported by Ian Beckwith <ianb@erislabs.net>.
36326
36327 2009-10-02  Eric Blake  <ebb9@byu.net>
36328
36329         renameat: fix Solaris bugs
36330         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
36331         needed fixing.
36332         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
36333         * modules/stdio (Makefile.am): Substitute it.
36334         * lib/stdio.in.h (renameat): Declare replacement.
36335         * lib/renameat.c (rpl_renameat): Implement fix.
36336
36337         renameat: new module
36338         * modules/renameat: New file.
36339         * lib/renameat.c (renameat): Likewise.
36340         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
36341         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
36342         * modules/stdio (Makefile.am): Substitute them.
36343         * lib/stdio.in.h (renameat): Declare it.
36344         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36345         * doc/posix-functions/renameat.texi (renameat): Likewise.
36346         * modules/renameat-tests: New test.
36347         * tests/test-renameat.c: Likewise.
36348
36349         rename: fix mingw bugs
36350         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
36351         directory overwrite bugs.
36352
36353         rename: fix another cygwin 1.5 bug
36354         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
36355         checks.
36356         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
36357         unnecessary cygwin workarounds.  Also work around bug with moving
36358         full directory onto an empty one.
36359         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
36360
36361         rename-dest-slash: merge into rename module
36362         * modules/rename-dest-slash (Status): Mark obsolete.
36363         (Depends-on): Add rename.
36364         (Files): Let rename do it all.
36365         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
36366         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
36367         * m4/rename-dest-slash.m4: ...so this file can be deleted.
36368         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
36369         * lib/rename.c (rpl_rename): Update comments.
36370
36371         rename: fix cygwin 1.5.x bugs
36372         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
36373         * lib/rename.c (rpl_rename): Work around them.
36374         * modules/rename (Depends-on): Add same-inode.
36375
36376         rename: fix Solaris 10 bug
36377         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
36378         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
36379         was the only bug.
36380
36381         rename: fix Solaris 9 bug
36382         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
36383         on non-directory.  Avoid calling exit.
36384         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
36385         strdup.
36386         * modules/rename-tests (Depends-on): Drop lstat.
36387         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
36388         (gl_PREREQ_RENAME): Delete unused macro.
36389
36390         rename-dest-slash: fix NetBSD bug
36391         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
36392         links.
36393         * modules/rename-dest-slash (Depends-on): Add same-inode.
36394
36395         rename-tests: new test, exposes several platform bugs
36396         * modules/rename-tests: New file.
36397         * tests/test-rename.h: Likewise.
36398         * tests/test-rename.c: Likewise.
36399         * doc/posix-functions/rename.texi (rename): Improve documentation,
36400         including bugs that will eventually be fixed in gnulib.
36401
36402 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
36403
36404         * lib/uname.c: Include <stdlib.h>
36405         (uname): Assume version info is available.
36406
36407 2009-10-02  Jim Meyering  <meyering@redhat.com>
36408
36409         gnu-web-doc-update: correct --help output
36410         * build-aux/gnu-web-doc-update: Make --help output relevant.
36411
36412         gnu-web-doc-update: add standard options
36413         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
36414
36415         gnu-web-doc-update: New module.
36416         Use this script to automatically update the on-line web documentation
36417         for your GNU project at http://www.gnu.org/software/$pkg/manual/
36418         * modules/gnu-web-doc-update: New file, from coreutils.
36419         * build-aux/gnu-web-doc-update: New script.
36420
36421 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
36422
36423         link: LoadLibrary is not needed.
36424         * lib/link.c: Use GetModuleHandle.
36425
36426 2009-10-01  Eric Blake  <ebb9@byu.net>
36427
36428         getopt: bump serial number
36429         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
36430         change.
36431
36432         tests: tighten link, rmdir, and remove tests
36433         * tests/test-link.h (includes): No need to use <config.h> here.
36434         Clean up if directory hard link was created, otherwise test for
36435         trailing '.'.
36436         * tests/test-linkat.c (main): Simplify.
36437         * tests/test-remove.c (main): Enhance test for trailing '.'.
36438         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36439
36440 2009-10-01  Jim Meyering  <meyering@redhat.com>
36441
36442         maint.mk: requiring "make major" was annoying, for a "minor" release.
36443         What is intended is "stable", to contrast with alpha and beta,
36444         so require "make stable", not "make major".
36445         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
36446         (get_tool_versions): Likewise.
36447         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
36448
36449 2009-09-30  Ben Pfaff  <blp@gnu.org>
36450
36451         Fix broken build of replacement for Windows tmpfile().
36452         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
36453         flags argument added along with the 'mkostemp' module.
36454
36455 2009-09-28  Bruno Haible  <bruno@clisp.org>
36456
36457         Avoid identifier clash with POSIX function 'remove' defined as a macro.
36458         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
36459         to 'remove_elt'.
36460         (gl_list_remove): Update.
36461         * lib/gl_list.c (gl_list_remove): Update.
36462         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
36463         to 'remove_elt'.
36464         (gl_oset_remove): Update.
36465         * lib/gl_list.c (gl_oset_remove): Update.
36466         Reported by Eric Blake.
36467
36468 2009-09-28  Eric Blake  <ebb9@byu.net>
36469
36470         doc: mention yet more cygwin 1.7 status
36471         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
36472         cygwin.
36473         * doc/glibc-functions/execvpe.texi (execvpe): New file.
36474         * doc/gnulib.texi (Glibc unistd.h): Mention it.
36475
36476         argp: fix test failure
36477         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
36478         that are not upper-case.  Pass correct range to tolower.
36479
36480 2009-09-27  Jim Meyering  <meyering@redhat.com>
36481
36482         test-yesno: work around sparc-dash here-document infelicity
36483         Without this change, the literal \177 byte in a here document
36484         would make dash 0.5.5.1-3 access uninitialized memory.
36485         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
36486         Instead, use a marker, "@", and filter through tr to create the desired
36487         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
36488
36489 2009-09-27  Bruno Haible  <bruno@clisp.org>
36490
36491         Disable untested support for new flavours of ACLs on AIX.
36492         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
36493         progress.
36494         * lib/set-mode-acl.c (qset_acl): Likewise.
36495
36496 2008-12-07  Bruno Haible  <bruno@clisp.org>
36497
36498         Add support for new flavours of ACLs on AIX. (Untested.)
36499         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
36500         (file_has_acl): Add support for newer AIX.
36501         * lib/set-mode-acl.c (qset_acl): Likewise.
36502         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
36503         Rainer Tammer <tammer@tammer.net>.
36504
36505 2009-09-26  Eric Blake  <ebb9@byu.net>
36506
36507         argp: fix compilation of getopt
36508         * lib/getopt.in.h (includes): Use different guard than glibc.
36509         Reported by Sergey Poznyakoff.
36510
36511         doc: mention more cygwin 1.7 status
36512         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
36513         bug.
36514         * doc/posix-functions/execl.texi (execl): Likewise.
36515         * doc/posix-functions/execle.texi (execle): Likewise.
36516         * doc/posix-functions/execlp.texi (execlp): Likewise.
36517         * doc/posix-functions/execv.texi (execv): Likewise.
36518         * doc/posix-functions/execve.texi (execve): Likewise.
36519         * doc/posix-functions/execvp.texi (execvp): Likewise.
36520         * doc/glibc-functions/canonicalize_file_name.texi
36521         (canonicalize_file_name): Cygwin 1.7 now provides this.
36522         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
36523         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
36524         on AT_SYMLINK_NOFOLLOW.
36525
36526 2009-09-24  Eric Blake  <ebb9@byu.net>
36527
36528         test-linkat: make test more robust
36529         * tests/test-linkat.c (main): Avoid collision with EEXIST.
36530
36531         getopt: fix inclusion guards for cygwin
36532         * modules/getopt-posix (Depends-on): Add include-next.
36533         (Makefile.am): Substitute more items in replacement header.
36534         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
36535         <getopt.h>.
36536         * lib/getopt.in.h (includes): Use split inclusion guard, and
36537         prefer <getopt.h> over include <unistd.h> when one is present.
36538         (option): Also override name of 'struct option'.
36539
36540         same-inode: revert prior change; it is not yet ready
36541         * NEWS: Undo mention of this change.
36542         * lib/same-inode.h (same-inode.h): Undo tri-state change.
36543         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
36544         * lib/cycle-check.c (cycle_check): Likewise.
36545         * lib/same.c (same_name): Likewise.
36546         * lib/at-func2.c (at_func2): Likewise.
36547
36548 2009-09-23  Eric Blake  <ebb9@byu.net>
36549
36550         linkat: new module
36551         * modules/linkat: New file.
36552         * lib/at-func2.c (at_func2): Likewise.
36553         * lib/linkat.c (linkat): Likewise.
36554         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
36555         * lib/openat-priv.h (at_func2): Add declaration.
36556         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
36557         * modules/unistd (Makefile.am): Substitute them.
36558         * lib/unistd.in.h (linkat): Declare it.
36559         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36560         * doc/posix-functions/linkat.texi (linkat): Likewise.
36561         * doc/posix-functions/link.texi (link): Tweak wording.
36562         * tests/test-link.c (main): Move guts...
36563         * tests/test-link.h (test_link): ...into new file.
36564         * modules/linkat-tests: New test.
36565         * tests/test-linkat.c: Likewise.
36566         * modules/link-tests (Files): Ship new file.
36567         (Depends-on): Add stdbool.
36568
36569         dirname: add library-safe mdir_name
36570         * lib/dirname.h (mdir_name): New prototype.
36571         * lib/dirname.c (dir_name): Move guts...
36572         (mdir_name): ...to new function that avoids xalloc_die.
36573
36574         fchdir: another mingw fix
36575         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
36576         * lib/fchdir.c (get_name): New helper method; skips canonicalize
36577         on mingw (where it has not yet been ported), and make it optional
36578         elsewhere.
36579         (_gl_register_fd): Use it.
36580
36581         same-inode: make SAME_INODE tri-state, to port to mingw
36582         * NEWS: Mention this change.
36583         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
36584         st_ino always being 0.
36585         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
36586         * lib/cycle-check.c (cycle_check): Likewise.
36587         * lib/same.c (same_name): Likewise.
36588
36589         lstat: avoid mingw compilation error
36590         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
36591         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
36592         lstat ourselves.
36593         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
36594         was adequate.
36595         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
36596         the checks for lstat.
36597         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
36598
36599         link: fix test failure on Solaris 9
36600         * lib/link.c (rpl_link): Don't assume link will catch bogus
36601         trailing slash on source.
36602
36603         test-symlinkat: enhance test
36604         * tests/test-readlink.c (main): Move guts...
36605         * tests/test-readlink.h (test_readlink): ...into new file.
36606         * tests/test-symlink.c (main): Move guts...
36607         * tests/test-symlink.h (test_symlink): ...into new file.
36608         * tests/test-symlinkat.c (main): Use new files for further
36609         coverage.
36610         (do_symlink, do_readlink): New helper functions.
36611         * modules/symlink-tests (Files): Ship new file.
36612         (Depends-on): Add stdbool.
36613         * modules/readlink-tests (Files): Ship new file.
36614         (Depends-on): Add stdbool.
36615         * modules/symlinkat-tests (Files): Use new files.
36616
36617 2009-09-23  Eric Blake  <ebb9@byu.net>
36618
36619         readlink: document portability issue with symlink length
36620         * doc/posix-functions/lstat.texi (lstat): Mention that some file
36621         systems have bogus st_size on symlinks, and mention the
36622         areadlink-with-size module.
36623         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
36624         * doc/posix-functions/readlink.texi (readlink): Mention the
36625         areadlink module, and ERANGE failure.
36626         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
36627         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
36628
36629         readlink: fix Solaris 9 bug with trailing slash
36630         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
36631         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
36632         * doc/posix-functions/readlink.texi (readlink): Document this.
36633         * modules/readlink-tests: New test.
36634         * tests/test-readlink.c: Likewise.
36635
36636         readlink: fix cygwin 1.5.x bug with return type
36637         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
36638         * lib/unistd.in.h (readlink): Use ssize_t.
36639         * lib/readlink.c (readlink): Likewise.
36640         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36641         * modules/unistd (Makefile.am): Substitute it.
36642         * lib/unistd.in.h (readlink): Declare replacement.
36643         * doc/posix-functions/readlink.texi (readlink): Document this.
36644
36645         symlink: use throughout gnulib
36646         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
36647         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
36648         symlink is not used.
36649         * modules/symlinkat (Depends-on): Add symlink.
36650         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
36651         * modules/canonicalize-tests (Depends-on): Likewise.
36652         * modules/lstat-tests (Depends-on): Likewise.
36653         * modules/openat-tests (Depends-on): Likewise.
36654         * modules/remove-tests (Depends-on): Likewise.
36655         * modules/rmdir-tests (Depends-on): Likewise.
36656         * modules/unlink-tests (Depends-on): Likewise.
36657         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
36658         * tests/test-canonicalize.c (symlink): Likewise.
36659         * tests/test-fstatat.c (symlink): Likewise.
36660         * tests/test-lstat.c (symlink): Likewise.
36661         * tests/test-remove.c (symlink): Likewise.
36662         * tests/test-rmdir.c (symlink): Likewise.
36663         * tests/test-unlink.c (symlink): Likewise.
36664         * tests/test-unlinkat.c (symlink): Likewise.
36665
36666         symlink: new module, for Solaris 9 bug
36667         * modules/symlink: New file.
36668         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
36669         * lib/symlink.c: Likewise.
36670         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
36671         * modules/unistd (Makefile.am): Substitute them.
36672         * lib/unistd.in.h (symlink): Declare replacement.
36673         * MODULES.html.sh (File system functions): Mention it.
36674         * doc/posix-functions/symlink.texi (symlink): Likewise.
36675         * modules/symlink-tests: New test.
36676         * tests/test-symlink.c: Likewise.
36677
36678 2009-09-23  Bruno Haible  <bruno@clisp.org>
36679
36680         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
36681         when needed.
36682         Test case: gnulib-tool --import --with-tests atexit inttypes.
36683         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
36684
36685 2009-09-23  Bruno Haible  <bruno@clisp.org>
36686
36687         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
36688         subcommand, not in a subshell.
36689
36690 2009-09-22  Eric Blake  <ebb9@byu.net>
36691
36692         unistd: sort replacement declarations
36693         * lib/unistd.in.h: Sort declarations.
36694
36695         open, openat: minor optimization
36696         * lib/open.c (open): If open succeeded, len is non-zero.
36697         * lib/openat.c (rpl_openat): Likewise.
36698
36699         link-follow: ensure correct result
36700         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
36701         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
36702         distinguish between possible failures.
36703
36704 2009-09-21  Eric Blake  <ebb9@byu.net>
36705
36706         fts: avoid compiler warning
36707         * lib/fts.c (dirent_inode_sort_may_be_useful)
36708         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
36709
36710 2009-09-19  Bruno Haible  <bruno@clisp.org>
36711
36712         * lib/progreloc.c (canonicalize_file_name): New declaration.
36713
36714 2009-09-19  Eric Blake  <ebb9@byu.net>
36715
36716         link: fix quoting
36717         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
36718
36719         openat: fix openat bugs on Solaris 9
36720         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
36721         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
36722         * modules/openat (Depends-on): Add open.
36723         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
36724         * modules/fcntl-h (Makefile.am): Substitute it.
36725         * lib/fcntl.in.h (openat): Declare replacement.
36726         * doc/posix-functions/openat.texi (openat): Document this.
36727
36728         openat: move fstatat and unlinkat into correct files
36729         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
36730         compiled.
36731         * lib/openat.c (fstatat, unlinkat): Move...
36732         * lib/fstatat.c (fstatat): ...into correct files.
36733         * lib/unlinkat.c (unlinkat): Likewise.
36734
36735         openat: fix unlinkat bugs on Solaris 9
36736         * lib/unlinkat.c (unlinkat): New file.
36737         * modules/openat (Depends-on): Add unlink.
36738         (Files): Distribute it.
36739         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
36740         trailing slash behavior is broken.
36741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36742         * modules/unistd (Makefile.am): Substitute it.
36743         * lib/unistd.in.h (unlinkat): Declare replacement.
36744         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
36745
36746         openat: fix fstatat bugs on Solaris 9
36747         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
36748         stat.
36749         * doc/posix-functions/fstatat.texi (fstatat): Document this.
36750
36751         test-unlinkat: enhance test, to expose Solaris 9 bug
36752         * tests/test-unlink.c (main): Factor guts...
36753         * tests/test-unlink.h (test_rmdir_func): ...into new file.
36754         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
36755         * tests/test-rmdir.c (main): Adjust caller.
36756         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
36757         (unlinker): New helper function.
36758         (rmdirat): Enhance check.
36759         * modules/rmdir-tests (Depends-on): Add stdbool.
36760         * modules/unlink-tests (Depends-on): Likewise.
36761         (Files): Add test-unlink.h.
36762         * modules/openat-tests (Files): Likewise.
36763         (Depends-on): Add unlinkdir.
36764
36765         test-fstatat: new test, to expose Solaris 9 bugs
36766         * tests/test-stat.c (main): Factor guts...
36767         * tests/test-stat.h (test_stat_func): ...into new file.
36768         * tests/test-lstat.c (main): Factor guts...
36769         * tests/test-lstat.h (test_lstat_func): ...into new file.
36770         * tests/test-fstatat.c: New file.
36771         * modules/stat-tests (Files): Add test-stat.h.
36772         * modules/lstat-tests (Files): Add test-lstat.h.
36773         (Depends-on): Add stdbool.
36774         * modules/openat-tests (Depends-on): Add pathmax.
36775         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
36776         (Makefile.am): Run new test.
36777
36778         remove: new module, for mingw and Solaris 9 bugs
36779         * modules/remove: New file.
36780         * lib/remove.c: Likewise.
36781         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
36782         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
36783         * modules/stdio (Makefile.am): Use them.
36784         * lib/stdio.in.h (remove): Declare replacement.
36785         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36786         * doc/posix-functions/remove.texi (remove): Likewise.
36787         * modules/remove-tests: New test.
36788         * tests/test-remove.c: Likewise.
36789
36790         unlink: new module, for Solaris 9 bug
36791         * modules/unlink: New file.
36792         * lib/unlink.c: Likewise.
36793         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
36794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
36795         * modules/unistd (Makefile.am): Use them.
36796         * lib/unistd.in.h (stat): Declare replacement.
36797         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36798         * doc/posix-functions/unlink.texi (unlink): Likewise.
36799         * modules/unlink-tests: New test.
36800         * tests/test-unlink.c: Likewise.
36801
36802         lstat: fix Solaris 9 bug
36803         * lib/lstat.c (lstat): Also check for trailing slash on
36804         non-symlink, non-directories.  Use stat module to simplify logic.
36805         * doc/posix-functions/lstat.texi (lstat): Document it.
36806         * modules/lstat-tests (Depends-on): Add errno, same-inode.
36807         (configure.ac): Check for symlink.
36808         * tests/test-lstat.c (main): Add more tests.
36809
36810         stat: add as dependency to other modules
36811         * modules/chown (Depends-on): Add stat.
36812         * modules/euidaccess (Depends-on): Likewise.
36813         * modules/fchdir (Depends-on): Likewise.
36814         * modules/isdir (Depends-on): Likewise.
36815         * modules/link (Depends-on): Likewise.
36816         * modules/lstat (Depends-on): Likewise.
36817         * modules/mkdir-p (Depends-on): Likewise.
36818         * modules/modechange (Depends-on): Likewise.
36819         * modules/open (Depends-on): Likewise.
36820         * modules/readlink (Depends-on): Likewise.
36821         * modules/same (Depends-on): Likewise.
36822
36823         stat: fix Solaris 9 bug
36824         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
36825         slash.
36826         * lib/stat.c (rpl_stat): Work around it.
36827         * doc/posix-functions/stat.texi (stat): Update documentation.
36828
36829         stat: new module, for mingw bug
36830         * modules/stat: New file.
36831         * lib/stat.c: Likewise.
36832         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
36833         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36834         * modules/sys_stat (Makefile.am): Use them.
36835         * lib/sys_stat.in.h (stat): Declare replacement.
36836         * lib/openat.c (fstatat): Deal with lstat and stat being function
36837         macros.
36838         * modules/openat (Depends-on): Add inline.
36839         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36840         * doc/posix-functions/stat.texi (stat): Likewise.
36841         * modules/stat-tests: New test.
36842         * tests/test-stat.c: Likewise.
36843
36844 2009-09-19  Jim Meyering  <meyering@redhat.com>
36845
36846         syntax-check: detect unnecessary inclusion of canonicalize.h
36847         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
36848
36849 2009-09-19  Eric Blake  <ebb9@byu.net>
36850
36851         canonicalize-lgpl: adjust clients to use correct header
36852         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
36853         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
36854         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
36855         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
36856         * lib/progreloc.c (includes): Likewise.
36857
36858 2009-09-19  Jim Meyering  <meyering@redhat.com>
36859
36860         test-posixtm.c: correct a comment
36861         * tests/test-posixtm.c: Correct first-line comment.
36862         Spotted by Eric Blake.
36863
36864 2009-09-16  Jim Meyering  <meyering@redhat.com>
36865
36866         posixtm-tests: make T const-correct; add a test case
36867         * tests/test-posixtm.c (T): Declare const.
36868         Add a test for -(2^31+1).
36869         Remove useless can-succeed-only-in-2002 test.
36870
36871         posixtm-tests: adjust the sole failing test
36872         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
36873         expected output matches what mktime now produces.  Cross-checked via
36874         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
36875
36876         posixtm: move #ifdef'd tests into a new module
36877         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
36878         * tests/test-posixtm.c: ... this new file.
36879         * modules/posixtm-tests: New module.
36880
36881 2009-09-19  Eric Blake  <ebb9@byu.net>
36882
36883         openat: simplify use of at-func.c
36884         * lib/at-func.c (includes): Include prerequisites here, to
36885         simplify requirements on client files.
36886         * lib/openat-priv.h: Add double-inclusion guard.
36887         * lib/faccessat.c (includes): Simplify.
36888         * lib/fchmodat.c (includes): Likewise.
36889         * lib/fchownat.c (includes): Likewise.
36890         * lib/mkdirat.c (includes): Likewise.
36891         * lib/mkfifoat.c (includes): Likewise.
36892         * lib/symlinkat.c (includes): Likewise.
36893
36894         openat: allow return of fd 0
36895         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
36896         * modules/save-cwd (Depends-on): Replace fcntl-safer with
36897         unistd-safer.
36898         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
36899         <fcntl.h>; this module does not leak fds.
36900         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
36901         must be allowed to return 0, leaving openat_safer to add the
36902         safety.
36903         (openat_permissive): Avoid writing to just-opened fd 2 if
36904         restoring the current directory fails.
36905         * lib/openat-die.c (openat_restore_fail): Add comment.
36906         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
36907         (save_cwd): Guarantee safe fd, but without use of open_safer.
36908         * tests/test-openat.c: New test.
36909         * modules/openat-tests (Files, Makefile.am): Distribute and build
36910         new file.
36911
36912         relocatable-prog-wrapper: fix build
36913         * modules/relocatable-prog-wrapper (Files): Update name of
36914         canonicalize m4 file, broken on 2009-09-17.
36915         Reported by emad hajjar <aleppos@hotmail.com>.
36916
36917 2009-09-19  Bruno Haible  <bruno@clisp.org>
36918
36919         * lib/safe-alloc.h: Use the standard header with GPL copyright.
36920         * lib/safe-alloc.c: Likewise.
36921         Reported by Ian Beckwith <ianb@erislabs.net>.
36922
36923 2009-09-18  Bruno Haible  <bruno@clisp.org>
36924
36925         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
36926         Reported by <erobles@sensacd.com.mx>.
36927
36928 2009-09-17  Eric Blake  <ebb9@byu.net>
36929
36930         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
36931         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
36932         slashes when checking if last component is missing.
36933         * tests/test-canonicalize.c (main): Test this.
36934
36935         canonicalize, canonicalize-lgpl: honor // if distinct from /
36936         * modules/canonicalize (Files): Add double-slash-root.m4.
36937         * modules/canonicalize-lgpl (Files): Likewise.
36938         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
36939         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
36940         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
36941         fallback definition.
36942         (canonicalize_filename_mode): Use it to protect //.
36943         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
36944         (__realpath): Likewise.
36945         * tests/test-canonicalize.c (main): Test this.
36946         * tests/test-canonicalize-lgpl.c (main): Likewise.
36947         * modules/canonicalize-tests (Depends-on): Add same-inode.
36948         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
36949
36950         canonicalize-lgpl: fix glibc bug with trailing slash
36951         * m4/canonicalize-lgpl.m4: Move contents...
36952         * m4/canonicalize.m4: ...here.
36953         (gl_CANONICALIZE_LGPL): Factor realpath check...
36954         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
36955         glibc 2.3.5 bug, fixed 2005-04-27.
36956         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
36957         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
36958         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
36959         * modules/canonicalize-lgpl (Files): Manage file rename.
36960         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
36961         * modules/stdlib (Makefile.am): Substitute witness.
36962         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
36963         is needed.
36964         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
36965         replacement is required.
36966         * lib/canonicalize.c (canonicalize_file_name): Likewise.
36967         * doc/glibc-functions/canonicalize_file_name.texi
36968         (canonicalize_file_name): Document this.
36969         * doc/posix-functions/realpath.texi (realpath): Likewise.
36970
36971         canonicalize-lgpl: reject non-directory with trailing slash
36972         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
36973         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
36974         catches failures in glibc 2.3.5.
36975         * tests/test-canonicalize.c (main): Likewise.
36976
36977         canonicalize-lgpl: use native realpath if it works
36978         * lib/canonicalize-lgpl.c (realpath): Guard with
36979         FUNC_REALPATH_WORKS.
36980         * lib/stdlib.in.h (realpath): Make declaration optional based on
36981         HAVE_REALPATH.
36982         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
36983         native realpath works.
36984         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
36985         * modules/stdlib (Makefile.am): Substitute witness.
36986
36987         canonicalize, canonicalize-lgpl: use <stdlib.h>
36988         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
36989         (Include): Mention <stdlib.h>.
36990         (configure.ac): Mention functions we provide.
36991         * modules/canonicalize (configure.ac): Likewise.
36992         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
36993         realpath if canonicalize_file_name is missing.
36994         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
36995         * modules/stdlib (Makefile.am): Substitute witnesses.
36996         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
36997         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
36998         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
36999         * NEWS: Document this.
37000         * doc/glibc-functions/canonicalize_file_name.texi
37001         (canonicalize_file_name): Likewise.
37002         * doc/posix-functions/realpath.texi (realpath): Likewise.
37003         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
37004
37005         test-canonicalize: consolidate into single C program
37006         * tests/test-canonicalize.sh: Delete; move setup into...
37007         * tests/test-canonicalize.c (main): ...the program, making it
37008         easier to run in debugger.  Add some tests.
37009         * modules/canonicalize-tests (Files): Remove unused file.
37010         (Depends-on): Add progname.
37011         (configure.ac, Makefile.am): Simplify.
37012
37013         test-canonicalize-lgpl: consolidate into single C program
37014         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
37015         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
37016         easier to run in debugger.  Add some tests.
37017         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
37018         (configure.ac, Makefile.am): Simplify.
37019
37020         canonicalize: avoid resolvepath
37021         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
37022         unnecessary checks.
37023         * lib/canonicalize.c (includes): Simplify.
37024         (canonicalize_file_name): Drop resolvepath implementation.
37025         * modules/canonicalize (Depends-on): Drop filenamecat.
37026
37027         canonicalize: don't lose errno
37028         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
37029         over calls to free.
37030
37031         canonicalize: simplify errno handling
37032         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
37033         assignment.
37034
37035         canonicalize, canonicalize-lgpl: update module dependencies
37036         * modules/canonicalize (Depends-on): Add extensions, lstat,
37037         pathmax, stdlib.
37038         (Files): Drop pathmax.h.
37039         (configure.ac): Adjust macro name.
37040         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
37041         lstat, stdlib, sys_stat.
37042         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
37043         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
37044         extensions.
37045         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
37046         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
37047         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
37048         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
37049         declaration, if available.
37050         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
37051         we can rely on the readlink module.
37052         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
37053         (includes): Use <unistd.h> unconditionally.
37054
37055 2009-09-17  Eric Blake  <ebb9@byu.net>
37056
37057         maint: make Include sections of modules consistent
37058         * modules/alloca: Use only header name; no need to list #include.
37059         * modules/alloca-opt: Likewise.
37060         * modules/arpa_inet: Likewise.
37061         * modules/canon-host: Likewise.
37062         * modules/configmake: Likewise.
37063         * modules/dirent: Likewise.
37064         * modules/eealloc: Likewise.
37065         * modules/environ: Likewise.
37066         * modules/fchdir: Likewise.
37067         * modules/fcntl: Likewise.
37068         * modules/fcntl-h: Likewise.
37069         * modules/gethrxtime: Likewise.
37070         * modules/gettime: Likewise.
37071         * modules/ignore-value: Likewise.
37072         * modules/inet_ntop: Likewise.
37073         * modules/inet_pton: Likewise.
37074         * modules/inttypes: Likewise.
37075         * modules/isnand-nolibm: Likewise.
37076         * modules/isnanf-nolibm: Likewise.
37077         * modules/mbchar: Likewise.
37078         * modules/mbfile: Likewise.
37079         * modules/mbiter: Likewise.
37080         * modules/mbuiter: Likewise.
37081         * modules/netdb: Likewise.
37082         * modules/netinet_in: Likewise.
37083         * modules/nproc: Likewise.
37084         * modules/pagealign_alloc: Likewise.
37085         * modules/poll: Likewise.
37086         * modules/printf-frexp: Likewise.
37087         * modules/pthread: Likewise.
37088         * modules/putenv: Likewise.
37089         * modules/random_r: Likewise.
37090         * modules/relocatable-prog: Likewise.
37091         * modules/search: Likewise.
37092         * modules/select: Likewise.
37093         * modules/selinux-h: Likewise.
37094         * modules/settime: Likewise.
37095         * modules/signal: Likewise.
37096         * modules/size_max: Likewise.
37097         * modules/socklen: Likewise.
37098         * modules/ssize_t: Likewise.
37099         * modules/stdarg: Likewise.
37100         * modules/stdbool: Likewise.
37101         * modules/stddef: Likewise.
37102         * modules/stdint: Likewise.
37103         * modules/stdio: Likewise.
37104         * modules/stdlib: Likewise.
37105         * modules/string: Likewise.
37106         * modules/strings: Likewise.
37107         * modules/sys_file: Likewise.
37108         * modules/sys_ioctl: Likewise.
37109         * modules/sys_select: Likewise.
37110         * modules/sys_socket: Likewise.
37111         * modules/sys_stat: Likewise.
37112         * modules/sys_time: Likewise.
37113         * modules/sys_times: Likewise.
37114         * modules/sys_utsname: Likewise.
37115         * modules/sys_wait: Likewise.
37116         * modules/sysexits: Likewise.
37117         * modules/time: Likewise.
37118         * modules/times: Likewise.
37119         * modules/tmpfile: Likewise.
37120         * modules/trim: Likewise.
37121         * modules/unistd: Likewise.
37122         * modules/wchar: Likewise.
37123         * modules/wctype: Likewise.
37124
37125 2009-09-17  Bruno Haible  <bruno@clisp.org>
37126
37127         Make getdate.y compile on QNX and NetBSD 5 / i386.
37128         * m4/getdate.m4 (gl_GETDATE): Conditionally define
37129         TIME_T_FITS_IN_LONG_INT.
37130         * lib/getdate.y (long_time_t): New type.
37131         (relative_time): Change type of 'seconds' field to long_time_t.
37132         (get_date): Update types of local variables. Check against overflow
37133         during conversion from long_time_t to time_t.
37134         Reported by Matt Kraai <kraai@ftbfs.org>
37135         and Hasso Tepper <hasso@netbsd.org>.
37136
37137 2009-09-17  Bruno Haible  <bruno@clisp.org>
37138
37139         * modules/COPYING: Update copyright years.
37140         * modules/README: Likeiwse.
37141         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
37142         Reported by Ian Beckwith <ianb@erislabs.net>.
37143
37144 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
37145
37146         * users.txt: Update references for gnuit package.
37147
37148 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
37149
37150         * m4/getdelim.m4: Fix typo in copyright line.
37151
37152 2009-09-17  Bruno Haible  <bruno@clisp.org>
37153
37154         * lib/atoll.c: Use the standard header with GPL copyright.
37155         * lib/argz.in.h: Likewise.
37156         * lib/glob.c: Likewise.
37157         * lib/glob-libc.h: Likewise.
37158         * lib/random_r.c: Likewise.
37159         * lib/siglist.h: Likewise.
37160         * lib/strsignal.c: Likewise.
37161         Reported by Ian Beckwith <ianb@erislabs.net>.
37162
37163 2009-09-17  Eric Blake  <ebb9@byu.net>
37164
37165         rmdir: ensure correct dependency order
37166         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
37167
37168 2009-09-17  Bruno Haible  <bruno@clisp.org>
37169
37170         Disable assertion that fails on NetBSD 5 / i386.
37171         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
37172         Reported by Sam Steingold <sds@gnu.org>
37173         and Hasso Tepper <hasso@netbsd.org>.
37174
37175 2009-09-16  Eric Blake  <ebb9@byu.net>
37176
37177         unlinkdir: port to mingw
37178         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
37179         on which no one can unlink a directory.
37180
37181         stdlib: sort witness names
37182         * modules/stdlib (Makefile.am): Sort replacements.
37183         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
37184         * lib/stdlib.in.h: Likewise.
37185
37186         parse-duration-tests: avoid link failure
37187         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
37188         LIBINTL.
37189         Reported by Tom G. Christensen.
37190
37191         openat-tests: ensure unlinkat behaves like rmdir
37192         * tests/test-rmdir.c (main): Factor guts...
37193         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
37194         * modules/rmdir-tests (Files): Ship new file.
37195         * modules/openat-tests: New test.
37196         * tests/test-unlinkat.c: Likewise.
37197
37198         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
37199         * modules/rmdir-errno (Status, Notice): Now obsolete.
37200
37201         rmdir: work around cygwin 1.5.x and mingw bugs
37202         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
37203         * lib/rmdir.c (rmdir): Work around it.
37204         * modules/rmdir (Status, Notice): No longer obsolete.
37205         (Files): Add dos.m4.
37206         (Depends-on): Add unistd.
37207         (configure.ac): Set witnesses.
37208         (License): Relax to LGPLv2+.
37209         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
37210         * modules/unistd (Makefile.am): Substitute witnesses.
37211         * lib/unistd.in.h (rmdir): Declare replacement.
37212         * doc/posix-functions/rmdir.texi (rmdir): Document this.
37213         * modules/rmdir-tests: New tests.
37214         * tests/test-rmdir.c: Likewise.
37215
37216 2009-09-15  Eric Blake  <ebb9@byu.net>
37217
37218         fchdir: improve use of replacement functions
37219         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
37220         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
37221         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
37222         REPLACE_CLOSEDIR.
37223         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
37224         * modules/sys_stat (Makefile.am): Substitute correct witness.
37225         * modules/dirent (Makefile.am): Likewise.
37226         * modules/unistd (Makefile.am): Likewise.
37227         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
37228         * lib/unistd.in.h (dup): Likewise.
37229         * lib/sys_stat.in.h (fstat): Likewise.
37230
37231         maint: ignore gnulib-tool temp files
37232         * .gitignore: Ignore files created during gnulib-tool --test.
37233
37234 2009-09-13  Jim Meyering  <meyering@redhat.com>
37235
37236         posixtm: don't reject a time that specify "60" as the number of seconds
37237         * lib/posixtm.c (posixtime): The code to reject invalid dates
37238         would also reject a time specified with the .60 suffix.
37239         But POSIX allows that, in order to accommodate leap seconds.
37240         So don't reject it.
37241         (main): Adjust tests accordingly.
37242         * modules/posixtm (Depends-on): Add stpcpy.
37243
37244 2009-09-11  Jim Meyering  <meyering@redhat.com>
37245
37246         announce-gen: include [$release_type] in emitted Subject:
37247         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
37248         e.g., [stable] in the emitted Subject: line.
37249
37250 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37251
37252         Remove obsolete macros from several modules.
37253         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
37254         obsolete Autoconf macros with their modern counterparts.
37255         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
37256         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
37257         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
37258         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
37259         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
37260         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
37261         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
37262         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
37263         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
37264         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
37265         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
37266         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
37267         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
37268         * m4/sockets.m4 (gl_SOCKETS): Likewise.
37269         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
37270         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
37271         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
37272         * m4/time_r.m4 (gl_TIME_R): Likewise.
37273         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
37274         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
37275         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
37276
37277         Fix copyright header in build-aux scripts.
37278         * build-aux/git-version-gen: Fix copyright header to match GPLv3
37279         recommendation.
37280         * build-aux/ncftpput-ftp: Likewise.
37281         * build-aux/update-copyright: Likewise.
37282
37283 2009-09-09  Eric Blake  <ebb9@byu.net>
37284
37285         test-link: allow Linux choice of errno
37286         * tests/test-link.c (main): Relax test for alternate error.
37287
37288         strndup: fix improper m4 caching
37289         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
37290         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
37291         (gl_PREREQ_STRNDUP): Delete.
37292         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
37293         * modules/string (Makefile.am): Substitute it.
37294         * lib/string.in.h (strndup): Modernize prototype.
37295
37296         getcwd: port to mingw
37297         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
37298         different from the POSIX assumptions made throughout the getcwd
37299         module; fortunately, the mingw getcwd does not need replacement.
37300         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
37301         * modules/getcwd-tests: New test.
37302         * tests/test-getcwd.c: Likewise.
37303
37304         link: fix platform bugs
37305         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
37306         * lib/link.c (link): Work around them.  Fix related mingw bug.
37307         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
37308         * modules/unistd (Makefile.am): Substitute it.
37309         * lib/unistd.in.h (link): Declare replacement.
37310         * doc/posix-functions/link.texi (link): Document this.
37311         * modules/link (Depends-on): Add strdup-posix, sys_stat.
37312
37313         test-link: consolidate into single C program, test more cases
37314         * tests/test-link.sh: Delete.
37315         * tests/test-link.c: Test more error conditions.  Exposes bugs on
37316         at least Cygwin and Solaris.
37317         * modules/link-tests (Files): Remove unused file.
37318         (Depends-on): Add errno, sys_stat.
37319         (Makefile.am): Simplify.
37320
37321 2009-09-08  Bruno Haible  <bruno@clisp.org>
37322
37323         Work around towlower, towupper bug on mingw.
37324         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
37325         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
37326         * doc/posix-functions/towlower.texi: Mention the mingw bug.
37327         * doc/posix-functions/towupper.texi: Likewise.
37328         Reported by Eric Blake.
37329
37330 2009-09-08  Jim Meyering  <meyering@redhat.com>
37331
37332         build: don't try to run autoheader if we don't use it
37333         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
37334         is not used in configure.ac.
37335
37336 2009-09-08  Eric Blake  <ebb9@byu.net>
37337
37338         euidaccess: fix compilation error
37339         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
37340
37341         rawmemchr: relax license
37342         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
37343         okay.
37344         Reported by Jim Meyering.
37345
37346         mkfifoat: new module
37347         * modules/mkfifoat: New file.
37348         * lib/mkfifoat.c: Likewise.
37349         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
37350         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37351         * modules/sys_stat (Makefile.am): Use them.
37352         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
37353         * MODULES.html.sh (File system functions): Mention module.
37354         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
37355         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
37356         * modules/mkfifoat-tests: New test.
37357         * tests/test-mkfifoat.c: Likewise.
37358
37359         strchrnul: relax license
37360         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
37361         okay.
37362         Reported by Jim Meyering.
37363
37364 2009-09-08  Eric Blake  <ebb9@byu.net>
37365
37366         fstatat: fix compilation on Solaris
37367         * lib/fstatat.c (includes): Add fcntl.h.
37368         Reported by Pádraig Brady.
37369
37370 2009-09-07  Eric Blake  <ebb9@byu.net>
37371
37372         rename: modernize replacement
37373         * modules/rename (Depends-on): Add stdio.
37374         (configure.ac): Declare witness.
37375         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
37376         stdio take care of replacement.
37377         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
37378         * modules/stdio (Makefile.am): Substitute them.
37379         * lib/stdio.in.h (rename): Declare replacement.
37380         * lib/rename.c (includes): Allow cross-compilation to non-windows
37381         machines.
37382         * doc/posix-functions/rename.texi (rename): Improve
37383         documentation.
37384
37385         stdio: sort witness names
37386         * modules/stdio (Makefile.am): Sort replacements.
37387         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37388         * lib/stdio.in.h: Likewise.
37389
37390         getcwd: minor cleanups
37391         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
37392         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
37393
37394         openat: provide more convenience names
37395         * modules/faccessat (configure.ac): Add C witness.
37396         * lib/unistd.in.h (readlinkat): Fix typo.
37397         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
37398         convenience wrappers.
37399         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
37400         wrappers in syntax checks.
37401
37402 2009-09-06  Eric Blake  <ebb9@byu.net>
37403
37404         doc: fix comments in recent patches
37405         * lib/faccessat.c: Mention correct function.
37406         * lib/fchmodat.c: Likewise.
37407         * lib/fchownat.c: Likewise.
37408         * lib/symlinkat.c: Likewise.
37409         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
37410         constants.
37411
37412         faccessat, symlinkat: continue cleanup of previous patch
37413         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
37414         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
37415         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
37416         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
37417         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
37418         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
37419         set.
37420
37421 2009-09-06  Bruno Haible  <bruno@clisp.org>
37422
37423         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
37424         (fstatat): Declare if GNULIB_FSTATAT is set.
37425         (mkdirat): Declare if GNULIB_MKDIRAT is set.
37426         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
37427         (unlinkat): Declare if GNULIB_UNLINKAT is set.
37428         * modules/fcntl-h (Files): Remove m4/openat.m4.
37429         * modules/sys_stat (Files): Remove m4/openat.m4.
37430         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
37431         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
37432         * modules/unistd (Files): Remove m4/openat.m4.
37433         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
37434         GNULIB_OPENAT.
37435         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
37436         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
37437         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
37438         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
37439         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
37440         gl_OPENAT_DEFAULTS.
37441         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
37442         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
37443         Don't require gl_OPENAT_DEFAULTS.
37444         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
37445         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
37446         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
37447         (gl_OPENAT_DEFAULTS): Remove macro.
37448
37449 2009-09-06  Bruno Haible  <bruno@clisp.org>
37450
37451         * modules/openat (configure.ac): Remove unneeded witness.
37452
37453 2009-09-06  Bruno Haible  <bruno@clisp.org>
37454
37455         Set errno to ENOSYS when a function is entirely unsupported.
37456         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
37457         EOPNOTSUPP.
37458         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
37459         * modules/chown (Depends-on): Remove errno.
37460
37461 2009-09-06  Bruno Haible  <bruno@clisp.org>
37462
37463         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
37464
37465 2009-09-06  Bruno Haible  <bruno@clisp.org>
37466
37467         * lib/sys_stat.in.h: Fix preprocessor command indentation.
37468
37469 2009-09-06  Ben Pfaff  <blp@gnu.org>
37470             Bruno Haible  <bruno@clisp.org>
37471
37472         Work around a glibc bug in strtok_r.
37473         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
37474         Undefine if UNDEFINE_STRTOK_R is set.
37475         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
37476         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37477         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
37478         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
37479         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
37480         UNDEFINE_STRTOK_R.
37481         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
37482
37483 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
37484
37485         exclude: minor fix
37486         * lib/exclude.c: Include wctype.h
37487
37488 2009-09-06  Akim Demaille  <demaille@gostai.com>
37489
37490         bootstrap: improve error message
37491         * build-aux/bootstrap (find_tool): Upon failure, report the list
37492         of candidates.
37493         Honor the initial value of the envvar.
37494
37495 2009-09-05  Eric Blake  <ebb9@byu.net>
37496
37497         symlinkat: new module
37498         * modules/symlinkat: New file.
37499         * lib/symlinkat.c: Likewise.
37500         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
37501         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37502         * modules/unistd (Makefile.am): Use them.
37503         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
37504         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
37505         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
37506         * MODULES.html.sh (File system functions): Mention module.
37507         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37508         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37509         * modules/symlinkat-tests: New test.
37510         * tests/test-symlinkat.c: Likewise.
37511
37512         test-openat-safer: add more checks
37513         * tests/test-openat-safer.c (main): Check more code paths.
37514
37515 2009-09-05  Jim Meyering  <meyering@redhat.com>
37516
37517         syntax-check: detect unnecessary inclusion of openat.h
37518         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
37519
37520 2009-09-05  Bruno Haible  <bruno@clisp.org>
37521
37522         Support towlower, towupper.
37523         * doc/posix-functions/towlower.texi: Mention module wctype.
37524         * doc/posix-functions/towupper.texi: Likewise.
37525         * lib/wctype.in.h (towlower, towupper): New functions.
37526         * tests/test-wctype.c: Include stdio.h, stdlib.h.
37527         (ASSERT): New macro.
37528         (e): New variable.
37529         (main): Test also towlower, towupper. Test WEOF argument.
37530         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
37531
37532 2009-09-05  Bruno Haible  <bruno@clisp.org>
37533
37534         Fix conversion behaviour when the input is invalid.
37535         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
37536         mark occurring in first pass of indirect conversion.
37537         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
37538         input.
37539         Found by clang's static analyzer.
37540
37541 2009-09-05  Bruno Haible  <bruno@clisp.org>
37542
37543         * tests/test-striconveh.c (main): Test indirect conversion on platforms
37544         where direct conversion is possible.
37545
37546 2009-09-04  Eric Blake  <ebb9@byu.net>
37547
37548         openat: fail with ENOENT on empty name
37549         * lib/openat-proc.c (openat_proc_name): Special-case the empty
37550         buffer.
37551
37552         link-follow: fix logic bug in prior patch
37553         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
37554         reversed sense of yes and no in prior patch.  Avoid confusing
37555         compilation failure with desired semantics.
37556
37557         link-follow: accomodate mingw and cross-compilation
37558         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
37559         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
37560         cross-compilation results to -1, to make linkat easier to
37561         implement when cross-compiling.  Trivially support mingw.
37562         * modules/link-follow (configure.ac): Call new name.
37563         * NEWS: Mention this.
37564
37565 2009-09-03  Eric Blake  <ebb9@byu.net>
37566
37567         faccessat: compile replacement
37568         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
37569         needed.
37570
37571         fts: fix compilation error
37572         * lib/fts.c (includes): Re-add "openat.h", for
37573         openat_needs_fchdir.
37574
37575         faccessat: new module
37576         * modules/faccessat: New file.
37577         * lib/faccessat.c: Likewise.
37578         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
37579         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37580         * modules/unistd (Makefile.am): Use it.
37581         * lib/unistd.in.h (faccessat): Declare it.
37582         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
37583         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
37584         * MODULES.html.sh (File system functions): Mention it.
37585         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
37586         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
37587
37588         euidaccess: prefer POSIX over non-standard implementation
37589         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
37590         * lib/euidaccess.c (euidaccess): Use it if available.
37591
37592         openat: make template easier to use
37593         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
37594         AT_FUNC_F2 to be undefined.
37595         (VALIDATE_FLAG): New macro; use it to reject bad flags.
37596         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
37597         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
37598         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
37599         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
37600         Likewise.
37601         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
37602         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
37603         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
37604         Likewise.
37605
37606         openat: declare in POSIX headers
37607         * NEWS: Mention this.
37608         * modules/openat (configure.ac): Declare witnesses.
37609         (Depends-on): Add fcntl-h, sys_stat, unistd.
37610         (Include): Mention correct headers.
37611         * modules/fcntl-h (Depends-on): Add link-warning.
37612         (Files): Add openat.m4.
37613         (Makefile.am): Substitute witnesses.
37614         * modules/sys_stat (Files, Makefile.am): Likewise.
37615         * modules/unistd (Files, Makefile.am): Likewise.
37616         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
37617         (gl_OPENAT_DEFAULTS): New macro.
37618         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
37619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
37620         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
37621         (SYS_STAT_H): Remove unused variable.
37622         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
37623         * lib/fcntl--.h (includes): Remove unneeded header.
37624         * lib/openat-safer.c (includes): Likewise.
37625         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
37626         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
37627         appropriate headers.
37628         (__OPENAT_PREFIX): Delete.
37629         * lib/fcntl.in.h (openat): Provide declaration.
37630         (AT_FDCWD): Fix Solaris bug.
37631         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
37632         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
37633         * lib/fchmodat.c (includes):  Adjust to find declaration.
37634         * lib/fchownat.c (includes): Likewise.
37635         * lib/mkdirat.c (includes): Likewise.
37636         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
37637         still visible.
37638
37639 2009-09-02  Eric Blake  <ebb9@byu.net>
37640
37641         errno: use consistently
37642         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
37643         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
37644         * lib/canonicalize.c (ELOOP): Likewise.
37645         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
37646         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
37647         * lib/lchown.c (EOPNOTSUPP): Likewise.
37648         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
37649         * lib/savewd.c (ESTALE): Likewise.
37650         * lib/settime.c (ENOSYS): Likewise.
37651         * lib/utimens.c (ENOSYS): Likewise.
37652         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
37653         * lib/chdir-safer.c (ELOOP): Likewise.
37654         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
37655         * modules/c-stack (Depends-on): Add errno.
37656         * modules/canonicalize (Depends-on): Likewise.
37657         * modules/chdir-safer (Depends-on): Likewise.
37658         * modules/fdopendir (Depends-on): Likewise.
37659         * modules/inet_ntop (Depends-on): Likewise.
37660         * modules/inet_pton (Depends-on): Likewise.
37661         * modules/lchown (Depends-on): Likewise.
37662         * modules/openat (Depends-on): Likewise.
37663         * modules/savewd (Depends-on): Likewise.
37664         * modules/settime (Depends-on): Likewise.
37665         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
37666
37667         fts: avoid leaking fds
37668         * modules/fts (Depends-on): Add cloexec.
37669         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
37670         flag.
37671
37672         fts: make directory fds more robust
37673         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
37674         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
37675
37676         backupfile, chdir-long, fts, savedir: make safer
37677         * lib/backupfile.c (includes): Use "dirent--.h", since
37678         numbered_backup can write to stderr during readdir.
37679         * lib/savedir.c (includes): Likewise.
37680         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
37681         emulation can write to stderr on failure.
37682         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
37683         * lib/getcwd.c: Document why opendir_safer is unused.
37684         * lib/glob.c: Likewise.
37685         * lib/scandir.c: Likewise.
37686         * lib/openat-proc.c: Likewise, for open_safer.
37687         * modules/backupfile (Depends-on): Add dirent-safer.
37688         * modules/savedir (Depends-on): Likewise.
37689         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
37690         * modules/chdir-long (Depends-on): Add openat-safer.
37691
37692         openat-safer: new module
37693         * modules/openat-safer: New file.
37694         * lib/openat-safer.c: Likewise.
37695         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
37696         * lib/fcntl-safer.h (openat_safer): Declare.
37697         * lib/fcntl--.h (openat): Override.
37698         * MODULES.html.sh (File descriptor based I/O): Mention it.
37699         * lib/openat.h: Add double-inclusion guards.
37700         * lib/openat.c (includes): Only include "fcntl-safer.h", not
37701         "fcntl--.h", so we can implement openat.
37702         * modules/openat-safer-tests: New test.
37703         * tests/test-openat-safer.c: New file.
37704
37705         dirent-safer: new module
37706         * modules/dirent-safer: New file.
37707         * lib/dirent--.h: Likewise.
37708         * lib/dirent-safer.h: Likewise.
37709         * lib/opendir-safer.c: Likewise.
37710         * m4/dirent-safer.m4: Likewise.
37711         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
37712         * modules/dirent-safer-tests: New test.
37713         * tests/test-dirent-safer.c: New file.
37714         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
37715
37716         fdopendir: optimize on mingw
37717         * lib/unistd.in.h (_gl_directory_name): New prototype.
37718         * lib/fchdir.c (_gl_directory_name): Implement it.
37719         (fchdir): Use it to simplify implementation.
37720         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
37721         fchdir, when available, to avoid calling [f]chdir().
37722
37723         fdopendir: split into its own module
37724         * lib/openat.c (fdopendir): Move...
37725         * lib/fdopendir.c: ...into new file.
37726         * modules/fdopendir: New module.
37727         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
37728         * modules/openat (Depends-on): Add fdopendir.
37729         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
37730         fdopendir here.
37731         * modules/savedir (Depends-on): Only need fdopendir, not full
37732         openat.
37733         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
37734         * lib/openat.h (fdopendir): Drop prototype.
37735         * lib/dirent.in.h (fdopendir): Provide prototype.
37736         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
37737         * modules/dirent (Makefile.am): Substitute them.
37738         * MODULES.html.sh (File system functions): Mention it.
37739         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
37740         * modules/fdopendir-tests: New file.
37741         * tests/test-fdopendir.c: Likewise.
37742
37743         fchdir: use more consistent macro convention
37744         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
37745         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
37746         REPLACE_FCHDIR, rather than relying on config.h macros.
37747         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
37748         inside a single make-time REPLACE_FCHDIR block, rather than using
37749         the config.h FCHDIR_REPLACEMENT.
37750         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
37751         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
37752         Manage fstat replacement.
37753         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
37754         REPLACE_FCHDIR.
37755         * modules/sys_stat (Files): Add m4/unistd_h.m4.
37756         (Makefile.am): Substitute REPLACE_FCHDIR.
37757         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
37758         FCHDIR_REPLACEMENT.
37759         * lib/dup-safer.c (dup_safer): Likewise.
37760         * lib/dup2.c (rpl_dup2): Likewise.
37761         * lib/dup3.c (rpl_dup3): Likewise.
37762         * lib/open.c (rpl_open): Likewise.
37763
37764         fchdir: simplify error handling, and support dup3
37765         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
37766         stdbool, malloc-posix, realloc-posix.
37767         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
37768         (ensure_dirs_slot): Return false on allocation failure.
37769         (rpl_dup2): Delete.
37770         (_gl_register_dup): New function.
37771         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
37772         (_gl_register_fd): Close fd on allocation failure.
37773         * lib/fcntl.in.h (_gl_register_fd): Update signature.
37774         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
37775         prototype.
37776         (rpl_dup2_fchdir): Delete prototype.
37777         * lib/open.c (open): Update caller.
37778         * lib/dup2.c (dup2): Track fchdir metadata.
37779         * lib/dup3.c (dup3): Likewise.
37780         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
37781         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
37782
37783 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37784
37785         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
37786         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
37787         don't pass arguments to AC_OUTPUT.
37788
37789 2009-09-02  Bruno Haible  <bruno@clisp.org>
37790
37791         * modules/mkdtemp (License): Relicense under LGPLv2+.
37792         Reported by Paolo Bonzini.
37793
37794 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37795
37796         Replace uses of obsolete autoconf macros in Jim's modules.
37797         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
37798         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
37799         can evoke a warning from autoconf when run with -Wobsolete
37800         enabled.  They were declared obsolete for good reasons (see
37801         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
37802         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
37803         should not continue using the deprecated macros.
37804         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
37805         obsolete Autoconf macros with modern counterparts.
37806         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
37807         * m4/dos.m4 (gl_AC_DOS): Likewise.
37808         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
37809         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
37810         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
37811         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
37812         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
37813         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
37814         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
37815         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
37816         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
37817         Likewise.
37818         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
37819         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
37820         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
37821         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
37822         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
37823         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
37824
37825 2009-09-01  Eric Blake  <ebb9@byu.net>
37826
37827         fchdir: fix off-by-one bug in previous patch
37828         * lib/fchdir.c (rpl_fstat): Use correct bounds.
37829         (_gl_unregister_fd): Delete useless if.
37830
37831 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
37832
37833         maint.mk: sort the list of syntax-check rules
37834         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
37835         easier to get a sense of progress when the rules are run sequentially
37836         and take a long time.
37837
37838 2009-09-01  Simon Josefsson  <simon@josefsson.org>
37839
37840         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
37841         * modules/netinet_in: Likewise.
37842         * modules/sys_file: Likewise.
37843         * modules/sys_ioctl: Likewise.
37844         * modules/sys_select: Likewise.
37845         * modules/sys_socket: Likewise.
37846         * modules/sys_stat: Likewise.
37847         * modules/sys_time: Likewise.
37848         * modules/sys_times: Likewise.
37849         * modules/sys_utsname: Likewise.
37850         * modules/sys_wait: Likewise.
37851
37852 2009-09-01  Jim Meyering  <meyering@redhat.com>
37853
37854         fts: help ensure that return values are not ignored
37855         * lib/fts_.h (__GNUC_PREREQ): Define.
37856         (__attribute_warn_unused_result__): Define.
37857         (fts_children, fts_close, fts_open, fts_read): Declare with
37858         __attribute_warn_unused_result__.
37859
37860         fts: fts_close now fails also when closing a dir file descriptor fails
37861         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
37862         and propagate to caller, along with errno.
37863
37864         announce-gen: correct formatting in --help output
37865         * build-aux/announce-gen (usage): Move the one-line description in
37866         --help output "up", to where it belongs, just after Usage:.
37867
37868 2009-08-31  Eric Blake  <ebb9@byu.net>
37869
37870         fchdir: port to mingw
37871         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
37872         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
37873         opened, then use a substitute.
37874         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
37875         replacement.
37876         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
37877         (_gl_register_fd): No need to check stat if open already filters
37878         all directories.
37879         (fchdir): Fix error condition to match POSIX.
37880         * modules/fchdir (Depends-on): Add sys_stat.
37881         * doc/posix-functions/open.texi (open): Document the limitation.
37882         * modules/fchdir-tests: New file.
37883         * tests/test-fchdir.c: Likewise.
37884
37885         canonicalize: allow cross-testing from cygwin to mingw
37886         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
37887         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
37888         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
37889         Likewise.
37890         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
37891         target does not support symlinks.
37892         * tests/test-canonicalize-lgpl.sh: Likewise.
37893
37894         chown: avoid compilation warning on mingw
37895         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
37896         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
37897         mingw.
37898         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
37899         * modules/chown (Depends-on): Add errno.
37900
37901 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
37902
37903         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
37904         command.
37905
37906 2009-08-31  Jim Meyering  <meyering@redhat.com>
37907
37908         canonicalize: remove useless initialization
37909         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
37910         initialization of local, "end".
37911
37912 2009-08-30  Bruno Haible  <bruno@clisp.org>
37913
37914         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
37915         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
37916         ENOSYS.
37917
37918 2009-08-30  Bruno Haible  <bruno@clisp.org>
37919
37920         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
37921         /usr/xpg4/bin/tr when it exists.
37922         * tests/test-pipe-filter-gi1.sh: Likewise.
37923
37924 2009-08-30  Bruno Haible  <bruno@clisp.org>
37925
37926         Work around deficient /usr/bin/id program on Solaris.
37927         * tests/test-file-has-acl.sh (ID): New variable.
37928         * tests/test-set-mode-acl.sh (ID): Likewise.
37929         * tests/test-copy-acl.sh (ID): Likewise.
37930         * tests/test-copy-file.sh (ID): Likewise.
37931
37932 2009-08-30  Bruno Haible  <bruno@clisp.org>
37933
37934         New module 'xstriconveh'.
37935         * lib/xstriconveh.h: New file.
37936         * lib/xstriconveh.c: New file.
37937         * modules/xstriconveh: New file.
37938
37939 2009-08-30  Bruno Haible  <bruno@clisp.org>
37940
37941         Make it easier to use mem_cd_iconveh.
37942         * lib/striconveh.h (iconveh_t): New type.
37943         (iconveh_open, iconveh_close): New declarations.
37944         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
37945         with a single 'const iconveh_t *' argument.
37946         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
37947         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
37948         with a single 'const iconveh_t *' argument.
37949         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
37950         * tests/test-striconveh.c (main): Update.
37951         * NEWS: Mention the change.
37952
37953 2009-08-30  Bruno Haible  <bruno@clisp.org>
37954
37955         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
37956         problem.
37957
37958 2009-08-30  Bruno Haible  <bruno@clisp.org>
37959
37960         Work around iconv_open problem on Solaris.
37961         * lib/iconv_open-solaris.gperf: New file.
37962         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
37963         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
37964         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
37965         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
37966         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
37967         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
37968
37969 2009-08-29  Jim Meyering  <meyering@redhat.com>
37970
37971         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
37972         * top/maint.mk (cvs-check): Remove target; it was just an alias
37973         to the better-named vc-diff-check.
37974         (maintainer-distcheck): Remove rule.  It was used only from
37975         the (alpha/beta/major) target, and all of its commands but one
37976         were coreutils-specific.
37977         (vc-dist): Remove rule.
37978         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
37979         Run vc-diff-check, not vc-dist.
37980         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
37981
37982 2009-08-27  Bruno Haible  <bruno@clisp.org>
37983
37984         * tests/test-bitrotate.c (main): Remove test that uses a shift count
37985         of 0.
37986
37987 2009-08-27  Bruno Haible  <bruno@clisp.org>
37988
37989         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
37990         compilers.
37991         * doc/func.texi: Document the SunPRO C bug.
37992
37993 2009-08-27  Bruno Haible  <bruno@clisp.org>
37994
37995         Fix link error on Solaris.
37996         * tests/test-parse-duration.c (xstrdup): Remove function.
37997
37998 2009-08-26  Pádraig Brady  <P@draigbrady.com>
37999
38000         ignore-value: handle pointer types, too
38001         * lib/ignore-value.h (__attribute__): Remove definition.
38002         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
38003         of a more concise and more-often effective "(void) i" statement.
38004         (ignore_ptr): New function to suppress warnings from functions that
38005         return pointers, and to make it explicit that one function doesn't
38006         handle all cases.
38007
38008 2009-08-25  Bruno Haible  <bruno@clisp.org>
38009
38010         dup2: work around a Linux bug.
38011         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
38012         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
38013         * doc/posix-functions/dup2.texi: Mention the Linux bug.
38014         Reported by Simon Josefsson.
38015
38016 2009-08-25  Jim Meyering  <meyering@redhat.com>
38017
38018         libguestfs uses gnulib
38019         * users.txt: Add libguestfs.
38020
38021 2009-08-24  Eric Blake  <ebb9@byu.net>
38022
38023         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
38024         * lib/pipe2.c (includes): Add binary-io.h.
38025         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
38026
38027 2009-08-24  Bruno Haible  <bruno@clisp.org>
38028
38029         Tolerate declared but missing accept4 syscall.
38030         * lib/accept4.c (accept4): Invoke original accept4 function first, if
38031         available.
38032         * lib/sys_socket.in.h (accept4): If the function is already present,
38033         override it.
38034         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
38035         * modules/accept4 (Makefile.am): Compile accept4.c always.
38036         Reported by Paolo Bonzini and Eric Blake.
38037
38038 2009-08-23  Bruno Haible  <bruno@clisp.org>
38039
38040         New module 'accept4'.
38041         * lib/sys_socket.in.h (accept4): New declaration.
38042         * lib/accept4.c: New file.
38043         * m4/accept4.m4: New file.
38044         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
38045         GNULIB_ACCEPT4, HAVE_ACCEPT4.
38046         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
38047         HAVE_ACCEPT4.
38048         * modules/accept4: New file.
38049         * doc/glibc-functions/accept4.texi: Mention the new module.
38050
38051 2009-08-24  Jim Meyering  <meyering@redhat.com>
38052
38053         progname: also set global program_invocation_name, when possible
38054         Before this change, a libtool-enabled program that calls glibc's
38055         error function would report the program name as
38056         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
38057         * modules/progname (configure.ac): Check for a declaration of
38058         program_invocation_name.
38059         * lib/progname.c:  Include <errno.h>.
38060         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
38061         Set program_invocation_name.
38062
38063 2009-08-23  Bruno Haible  <bruno@clisp.org>
38064
38065         * lib/dup3.c: Include <string.h>.
38066
38067 2009-08-23  Bruno Haible  <bruno@clisp.org>
38068
38069         * lib/dup3.c (dup3): Test only once whether the system actually exists.
38070         * lib/pipe2.c (pipe2): Likewise.
38071         Suggested by Eric Blake.
38072
38073 2009-08-23  Bruno Haible  <bruno@clisp.org>
38074
38075         Tolerate declared but missing dup3 syscall.
38076         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
38077         * lib/unistd.in.h (dup3): If the function is already present,
38078         override it.
38079         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
38080         * modules/dup3 (Makefile.am): Compile dup3.c always.
38081         Reported by Paolo Bonzini.
38082
38083 2009-08-23  Bruno Haible  <bruno@clisp.org>
38084
38085         Tolerate declared but missing pipe2 syscall.
38086         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
38087         available.
38088         * lib/unistd.in.h (pipe2): If the function is already present,
38089         override it.
38090         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
38091         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
38092         Reported by Paolo Bonzini.
38093
38094 2009-08-23  Bruno Haible  <bruno@clisp.org>
38095
38096         * lib/pipe2.c (pipe2): Move #ifs inside function.
38097
38098 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38099
38100         quotearg: document limitations of quote_these_too
38101         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
38102         those limitations are created.
38103         * lib/quotearg.h (set_char_quoting): Document that digits and
38104         letters that are special after backslash are not permitted.
38105         (quotearg_char): Cross-reference set_char_quoting documentation.
38106
38107 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
38108
38109         quotearg: implement custom_quoting_style
38110         * lib/quotearg.c: (struct quoting_options): Add left_quote and
38111         right_quote fields.
38112         (set_custom_quoting): New public function.
38113         (quotearg_buffer_restyled): Add left_quote and right_quote
38114         arguments, handle them very much like locale quoting, and update
38115         all uses.
38116         (quotearg_n_custom): New public function.
38117         (quotearg_n_custom_mem): New public function.
38118         (quotearg_custom): New public function.
38119         (quotearg_custom_mem): New public function.
38120         * lib/quotearg.h: Prototype and document new public functions.
38121         (enum quoting_style): For escape_quoting_style and
38122         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
38123         ignored even though they're otherwise like c_quoting_style.
38124         Add custom_quoting_style member and document with comparison to
38125         clocale_quoting_style.
38126         * tests/test-quotearg.c (custom_quotes): New array.
38127         (custom_results): New array.
38128         (main): Extend to test custom quoting.
38129
38130 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38131
38132         quotearg: fix right quote escaping when it's in quote_these_too
38133         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
38134         quote, be sure to prepend only one backslash.
38135         * tests/test-quotearg.c (use_quote_double_quotes): New function.
38136         (main): Test it.
38137
38138 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38139
38140         quotearg-tests: test escaping of embedded locale quotes
38141         * tests/test-quotearg.c (struct result_strings): Add member for
38142         new input.
38143         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
38144         (inputs): Add new input.
38145         (results_g): Add expected results.
38146         (flag_results): Likewise.
38147         (locale_results): Likewise.
38148         (compare_strings): Check those.
38149
38150 2009-08-23  Bruno Haible  <bruno@clisp.org>
38151
38152         Tests for module 'dup3'.
38153         * modules/dup3-tests: New file.
38154         * tests/test-dup3.c: New file.
38155
38156         New module 'dup3'.
38157         * lib/unistd.in.h (dup3): New declaration.
38158         * lib/dup3.c: New file.
38159         * m4/dup3.m4: New file.
38160         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
38161         HAVE_DUP3.
38162         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
38163         * modules/dup3: New file.
38164         * doc/glibc-functions/dup3.texi: Mention the new module.
38165
38166 2009-08-23  Bruno Haible  <bruno@clisp.org>
38167
38168         Tweak the dup2 test.
38169         * tests/test-dup2.c (main): Create the test file empty. Verify that an
38170         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
38171         the test file is still empty. Fix argument order of lseek.
38172
38173 2009-08-23  Bruno Haible  <bruno@clisp.org>
38174
38175         Avoid test link errors when the modules getopt-gnu, gettext are used.
38176         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
38177         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38178
38179 2009-08-23  Bruno Haible  <bruno@clisp.org>
38180
38181         Fix getdtablesize() on mingw.
38182         * lib/getdtablesize.c (getdtablesize): Implement differently.
38183         * lib/unistd.in.h (getdtablesize): Improve comment.
38184
38185 2009-08-23  Bruno Haible  <bruno@clisp.org>
38186
38187         New module 'mkostemp'.
38188         Based on Ulrich Drepper's 2007-08-10 change in glibc.
38189         * lib/stdlib.in.h (mksotemp): New declaration.
38190         * lib/mkostemp.c: New file, from glibc with modifications.
38191         * lib/tempname.h (GT_FILE): Remove outdated comment.
38192         (gen_tempname): Add flags argument.
38193         * lib/tempname.c (__GT_BIGFILE): Remove macro.
38194         (__GT_FILE): Map to 1.
38195         (small_open, large_open): Remove macros.
38196         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
38197         * lib/mkstemp.c (mkstemp): Update.
38198         * lib/mkdtemp.c (mkdtemp): Likewise.
38199         * m4/mkostemp.m4: New file.
38200         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
38201         HAVE_MKOSTEMP.
38202         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
38203         HAVE_MKOSTEMP.
38204         * modules/mkostemp: New file, based on modules/mkstemp.
38205         * doc/glibc-functions/mkostemp.texi: Mention the new module.
38206         * NEWS: Mention the change.
38207
38208 2009-08-23  Bruno Haible  <bruno@clisp.org>
38209
38210         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
38211         Reported by Eric Blake.
38212
38213 2009-08-23  Bruno Haible  <bruno@clisp.org>
38214
38215         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
38216         Reported by Eric Blake.
38217
38218 2009-08-23  Bruno Haible  <bruno@clisp.org>
38219
38220         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
38221         * modules/pipe2 (Depends-on): Likewise.
38222
38223 2009-08-23  Eric Blake  <ebb9@byu.net>
38224
38225         fcntl-h: add O_TTY_INIT support
38226         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
38227         * tests/test-fcntl-h.c (o): Test it.
38228         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38229
38230         fcntl-h: rename from fcntl, in preparation for fcntl(2)
38231         * modules/fcntl: Move <fcntl.h> header replacement...
38232         * modules/fcntl-h: ...to new name, so as not to collide with
38233         like-named function.
38234         * tests/test-fcntl.c: Rename...
38235         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
38236         * modules/fcntl-tests: Rename...
38237         * modules/fcntl-h-tests: ...to this.  Update test file name.
38238         * modules/chdir-long (Depends-on): Update clients.
38239         * modules/chdir-safer (Depends-on): Likewise.
38240         * modules/fcntl-safer (Depends-on): Likewise.
38241         * modules/fts (Depends-on): Likewise.
38242         * modules/mkancesdirs (Depends-on): Likewise.
38243         * modules/mkdir-p (Depends-on): Likewise.
38244         * modules/open (Depends-on): Likewise.
38245         * modules/savewd (Depends-on): Likewise.
38246         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
38247         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38248
38249 2009-08-22  Bruno Haible  <bruno@clisp.org>
38250
38251         * modules/binary-io (License): Relicense under LGPL.
38252         * modules/pipe2 (License): Likewise.
38253
38254 2009-08-22  Bruno Haible  <bruno@clisp.org>
38255
38256         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
38257         return value.
38258         * lib/pipe-filter-gi.c (filter_init): Likewise.
38259         Reported by Eric Blake.
38260
38261 2009-08-22  Bruno Haible  <bruno@clisp.org>
38262
38263         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
38264         * modules/pipe (Depends-on): Add pipe2.
38265
38266 2009-08-22  Bruno Haible  <bruno@clisp.org>
38267
38268         Tests for module 'pipe2'.
38269         * modules/pipe2-tests: New file.
38270         * tests/test-pipe2.c: New file.
38271
38272         New module 'pipe2'.
38273         * lib/unistd.in.h (pipe2): New declaration.
38274         * lib/pipe2.c: New file.
38275         * m4/pipe2.m4: New file.
38276         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
38277         HAVE_PIPE2.
38278         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
38279         * modules/pipe2: New file.
38280         * doc/glibc-functions/pipe2.texi: Mention the new module.
38281
38282 2009-08-22  Bruno Haible  <bruno@clisp.org>
38283
38284         Reference some new glibc functions.
38285         * doc/glibc-functions/accept4.texi: New file.
38286         * doc/glibc-functions/dup3.texi: New file.
38287         * doc/glibc-functions/mkostemp.texi: New file.
38288         * doc/glibc-functions/pipe2.texi: New file.
38289         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
38290         (Glibc sys/socket.h): Refer to accept4.
38291         (Glibc unistd.h): Refer to dup3, pipe2.
38292         Reported by Eric Blake.
38293
38294 2009-08-22  Jim Meyering  <meyering@redhat.com>
38295             Bruno Haible  <bruno@clisp.org>
38296
38297         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
38298         This makes it so packages using automake-1.11's silent-rules option
38299         can print e.g., a single "GEN    configmake.h" line, rather than
38300         the 30+ statements that perform the job.  If you want to see the
38301         actual commands, you can still run "make V=1".
38302         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
38303         so that make output is abbreviated when those variables are defined
38304         appropriately.
38305         * modules/argz: Likewise.
38306         * modules/arpa_inet: Likewise.
38307         * modules/byteswap: Likewise.
38308         * modules/configmake: Likewise.
38309         * modules/dirent: Likewise.
38310         * modules/errno: Likewise.
38311         * modules/fcntl: Likewise.
38312         * modules/float: Likewise.
38313         * modules/fnmatch: Likewise.
38314         * modules/getopt-posix: Likewise.
38315         * modules/glob: Likewise.
38316         * modules/iconv_open: Likewise.
38317         * modules/inttypes: Likewise.
38318         * modules/localcharset: Likewise.
38319         * modules/locale: Likewise.
38320         * modules/math: Likewise.
38321         * modules/netdb: Likewise.
38322         * modules/netinet_in: Likewise.
38323         * modules/poll: Likewise.
38324         * modules/posix_spawnp-tests: Likewise.
38325         * modules/sched: Likewise.
38326         * modules/search: Likewise.
38327         * modules/selinux-h: Likewise.
38328         * modules/signal: Likewise.
38329         * modules/spawn: Likewise.
38330         * modules/stdarg: Likewise.
38331         * modules/stdbool: Likewise.
38332         * modules/stddef: Likewise.
38333         * modules/stdint: Likewise.
38334         * modules/stdio: Likewise.
38335         * modules/stdlib: Likewise.
38336         * modules/string: Likewise.
38337         * modules/strings: Likewise.
38338         * modules/sys_file: Likewise.
38339         * modules/sys_ioctl: Likewise.
38340         * modules/sys_select: Likewise.
38341         * modules/sys_socket: Likewise.
38342         * modules/sys_stat: Likewise.
38343         * modules/sys_time: Likewise.
38344         * modules/sys_times: Likewise.
38345         * modules/sys_utsname: Likewise.
38346         * modules/sys_wait: Likewise.
38347         * modules/sysexits: Likewise.
38348         * modules/time: Likewise.
38349         * modules/unistd: Likewise.
38350         * modules/wchar: Likewise.
38351         * modules/wctype: Likewise.
38352
38353 2009-08-22  Jim Meyering  <meyering@redhat.com>
38354
38355         announce-gen: detect write failure
38356         * build-aux/announce-gen: Add Coda at end.
38357         Remove equivalent-but-more-verbose block at top.
38358
38359 2009-08-19  Akim Demaille  <demaille@gostai.com>
38360
38361         bootstrap: --help to stdout.
38362         * bootstrap (usage): Don't send --help to stderr.
38363         Use a here doc instead of a long string.
38364
38365 2009-08-21  Eric Blake  <ebb9@byu.net>
38366
38367         test-popen-safer: split from test-popen
38368         * tests/test-popen.c (main): Move...
38369         * tests/test-popen.h: ...into new file.
38370         * tests/test-popen-safer2.c: New file.
38371         * modules/popen-tests (Files): Add test-popen.h.
38372         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
38373         Suggested by Bruno Haible.
38374
38375         test-fcntl-safer: split from test-open
38376         * tests/test-open.c (main): Move...
38377         * tests/test-open.h: ...into new file.
38378         * tests/test-fcntl-safer.c: New file.
38379         * modules/open-tests (Files): Add test-open.h.
38380         * modules/fcntl-safer-tests: New file.
38381         Suggested by Bruno Haible.
38382
38383         test-fopen-safer: split from test-fopen
38384         * tests/test-fopen.c (main): Move...
38385         * tests/test-fopen.h: ...into new file.
38386         * tests/test-fopen-safer.c: New file.
38387         * modules/fopen-tests (Files): Add test-fopen.h.
38388         * modules/fopen-safer-tests: New file.
38389         Suggested by Bruno Haible.
38390
38391 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
38392
38393         popen-safer: test O_CLOEXEC at run-time.
38394         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
38395
38396 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
38397
38398         fcntl: move more flags to the header
38399         * lib/cloexec.c: Do not define FD_CLOEXEC here.
38400         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
38401         * lib/fcntl.in.h: Do both things here.
38402
38403 2009-08-21  Jim Meyering  <meyering@redhat.com>
38404
38405         consistently remove $@-t before redirecting to it
38406         * modules/argz: Remove $@-t and $@ before redirecting to the former.
38407         * modules/alloca-opt: Likewise.
38408         * modules/byteswap: Likewise.
38409         * modules/fnmatch: Likewise.
38410         * modules/getopt-posix: Likewise.
38411         * modules/glob: Likewise.
38412         * modules/poll: Likewise.
38413         * modules/posix_spawnp-tests: Likewise.
38414         * modules/sys_socket: Likewise.
38415         * modules/sysexits: Likewise.
38416
38417 2009-08-21  Eric Blake  <ebb9@byu.net>
38418
38419         popen: simplify access to original popen
38420         * lib/popen.c (rpl_popen): No need to worry about popen being a
38421         macro.
38422         Reported by Bruno Haible.
38423
38424 2009-08-20  Eric Blake  <ebb9@byu.net>
38425
38426         build: avoid some compiler warnings
38427         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
38428         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
38429         type.
38430         (new_exclude_segment, excluded_file_pattern_p)
38431         (excluded_file_name_p): Reduce scope.
38432         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
38433         old-style declaration.
38434
38435 2009-08-20  Simon Josefsson  <simon@josefsson.org>
38436
38437         * tests/test-exclude1.sh: Handle Windows EOL.
38438         * tests/test-exclude2.sh: Likewise.
38439         * tests/test-exclude3.sh: Likewise.
38440         * tests/test-exclude4.sh: Likewise.
38441         * tests/test-exclude5.sh: Likewise.
38442         * tests/test-exclude6.sh: Likewise.
38443         * tests/test-exclude7.sh: Likewise.
38444
38445 2009-08-19  Akim Demaille  <demaille@gostai.com>
38446
38447         bootstrap: find sha1sum when named gsha1sum.
38448         * bootstrap (find_tool): New.
38449         ($SHA1SUM): New.
38450         Use it.
38451
38452 2009-08-20  Jim Meyering  <meyering@redhat.com>
38453
38454         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
38455         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
38456         expression that converts "." in a file name to "\." in the resulting
38457         regexp.  Start with a dummy statement, so that prior shell variable
38458         definitions are expanded portably.  Reported by Simon Josefsson.
38459
38460 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
38461
38462         Fix polling for writeability of a screen buffer.
38463         * lib/poll.c: Distinguish input and screen buffers for the
38464         Win32 implementation.
38465         * lib/select.c: Likewise.
38466
38467 2009-08-19  Eric Blake  <ebb9@byu.net>
38468
38469         popen-safer: prevent popen from clobbering std descriptors
38470         * modules/popen-safer: New file.
38471         * lib/popen-safer.c: Likewise.
38472         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
38473         * lib/stdio--.h (popen): Provide override.
38474         * lib/stdio-safer.h (popen_safer): Provide declaration.
38475         * tests/test-popen.c (includes): Partially test this.
38476         * modules/popen-safer-tests: New file, for more tests.
38477         * tests/test-popen-safer.c: Likewise.
38478         * MODULES.html.sh (file stream based Input/Output): Mention it.
38479
38480         tests: test some of the *-safer modules
38481         * modules/fopen-safer (Depends-on): Add fopen.
38482         * modules/fcntl-safer (Depends-on): Add fcntl.
38483         * modules/stdlib-safer (Depends-on): Add stdlib.
38484         (configure.ac): Set indicator.
38485         * modules/unistd-safer (configure.ac): Likewise.
38486         * modules/tmpfile-safer (configure.ac): Likewise.
38487         (Depends-on): Add tmpfile.
38488         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
38489         active.
38490         * tests/test-fopen.c (includes): Test safer versions when they are
38491         in use.
38492         * tests/test-open.c (includes): Likewise.
38493
38494         popen: fix cygwin 1.5 bug when stdin closed
38495         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
38496         * modules/popen: New file.
38497         * modules/popen-tests: Likewise.
38498         * tests/test-popen.c: Likewise.
38499         * m4/popen.m4: Likewise.
38500         * lib/popen.c: Likewise.
38501         * lib/stdio.in.h (popen): New declaration.
38502         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
38503         * modules/stdio (Makefile.am): Likewise.
38504         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
38505
38506 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
38507
38508         maint.mk: give full control over update-copyright exclusions
38509         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
38510         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
38511         (update-copyright): Don't force inclusion of top-level
38512         ChangeLog.  Don't force exclusion of all COPYING files, but make
38513         them the default exclusion instead.
38514
38515 2009-08-16  Bruno Haible  <bruno@clisp.org>
38516
38517         Fix test failures on Solaris 10.
38518         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
38519         tests when Solaris iconv() is used.
38520         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
38521         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
38522         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
38523         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
38524         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
38525
38526 2009-08-16  Bruno Haible  <bruno@clisp.org>
38527
38528         Fix test failures on Solaris 10.
38529         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
38530         'tr' program and pass it as first argument.
38531         * tests/test-pipe-filter-gi1.sh: Likewise.
38532         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
38533         program as first argument.
38534         * tests/test-pipe-filter-gi1.c (main): Likewise.
38535
38536 2009-08-16  Eric Blake  <ebb9@byu.net>
38537
38538         fpurge: fix previous commits
38539         * modules/fpurge (Makefile.am): Make replacement conditional,
38540         partially reverting 2007-04-29 change; missed in previous
38541         attempt.
38542         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
38543         is missing.
38544
38545 2009-08-16  Bruno Haible  <bruno@clisp.org>
38546
38547         Clarify fpurge's effect on the file position.
38548         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
38549         * tests/test-fpurge.c (main): Make a second pass for checking the file
38550         position.
38551
38552 2009-08-16  Bruno Haible  <bruno@clisp.org>
38553
38554         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
38555         declaration of fpurge is missing.
38556         * tests/test-fpurge.c (main): Check that the file has not more contents
38557         than expected. Close the file before removing it.
38558
38559 2009-08-15  Eric Blake  <ebb9@byu.net>
38560
38561         fpurge: don't wrap working cygwin implementation
38562         * lib/fpurge.c (fpurge): Fix comment typo.
38563         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
38564         1.7 to avoid replacement.
38565         * tests/test-fpurge.c (main): Enhance test.
38566
38567 2009-08-15  Eric Blake  <ebb9@byu.net>
38568         and Jim Meyering  <meyering@redhat.com>
38569
38570         test-update-copyright: skip if perl is insufficient
38571         * tests/test-update-copyright.sh: Failure to run maintainer tool
38572         should not cause testsuite failure on cygwin 1.5.
38573
38574 2009-08-14  Eric Blake  <ebb9@byu.net>
38575
38576         doc: mention more functions added in cygwin 1.7.0
38577         * doc/posix-headers/limits.texi (limits.h): Update for recent
38578         cygwin additions.
38579         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
38580         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
38581         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
38582         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
38583         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
38584
38585 2009-08-14  Eric Blake  <ebb9@byu.net>
38586
38587         maint.mk: simplify update-copyright rule
38588         * top/maint.mk (update-copyright-local): Delete, and document how
38589         to do it in cfg.mk instead.
38590         (update-copyright-exclude-regexp): Delete, and document how to do
38591         it in .x-update-copyright instead.
38592         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
38593         exclude ChangeLog.
38594
38595 2009-08-14  Bruno Haible  <bruno@clisp.org>
38596
38597         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
38598
38599 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
38600
38601         maint.mk: support update-copyright-env
38602         * top/maint.mk (update-copyright-env): Define place-holder.
38603         (update-copyright): Expand $(update-copyright-env) before
38604         invoking update-copyright.
38605
38606 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
38607
38608         update-copyright: implement forced reformatting
38609         * build-aux/update-copyright: Implement and document
38610         UPDATE_COPYRIGHT_FORCE.
38611         * tests/test-update-copyright.sh: Test it.
38612
38613 2009-08-14  Eric Blake  <ebb9@byu.net>
38614         and Bruno Haible  <bruno@clisp.org>
38615
38616         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
38617         * tests/test-locale.c: Revert previous patch related to NULL.
38618         * tests/test-stdio.c: Likewise.
38619         * tests/test-stdlib.c: Likewise.
38620         * tests/test-string.c: Likewise.
38621         * tests/test-unistd.c: Likewise.
38622         * modules/time-tests (Depends-on): Add verify.
38623         * modules/wchar-tests (Depends-on): Likewise.
38624         * tests/test-time.c: Test for NULL compliance.
38625         * tests/test-wchar.c: Likewise.
38626         * modules/locale (Depends-on): Add stddef.
38627         * modules/stdio (Depends-on): Likewise.
38628         * modules/stdlib (Depends-on): Likewise.
38629         * modules/string (Depends-on): Likewise.
38630         * modules/time (Depends-on): Likewise.
38631         * modules/unistd (Depends-on): Likewise.
38632         * modules/wchar (Depends-on): Likewise.
38633         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
38634         * lib/stdlib.in.h (includes): Likewise.
38635         * lib/string.in.h (includes): Likewise.
38636         * lib/time.in.h (includes): Likewise.
38637         * lib/unistd.in.h (includes): Likewise.
38638         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
38639         replaced.
38640         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38641         * m4/stddef_h.m4: New file.
38642         * modules/stddef: Likewise.
38643         * lib/stddef.in.h: Likewise.
38644         * modules/stddef-tests: Likewise.
38645         * tests/test-stddef.c: Likewise.
38646         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
38647         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
38648         * doc/posix-headers/locale.texi (locale.h): Likewise.
38649         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
38650         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
38651         * doc/posix-headers/string.texi (string.h): Likewise.
38652         * doc/posix-headers/time.texi (time.h): Likewise.
38653         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
38654         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
38655
38656 2009-08-14  Eric Blake  <ebb9@byu.net>
38657
38658         doc: improve git diff of texinfo files
38659         * .gitattributes: Add rule for *.texi files, with hint on how to
38660         use it.
38661         Copied from m4, and based on a report by Bruno Haible.
38662
38663 2009-08-14  Bruno Haible  <bruno@clisp.org>
38664
38665         Disable multithread support by default on Cygwin 1.5.x for real.
38666         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
38667
38668 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
38669
38670         update-copyright: much ado about intervals
38671         * build-aux/update-copyright: Implement and document
38672         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
38673         of copyright year intervals.
38674         Also, document UPDATE_COPYRIGHT_YEAR.
38675         * tests/test-update-copyright.sh: Test it.
38676
38677         update-copyright: convert 2-digit to 4-digit years
38678         * build-aux/update-copyright: Implement and document.
38679         * tests/test-update-copyright.sh: Update.
38680
38681 2009-08-14  Jim Meyering  <meyering@redhat.com>
38682
38683         test-exclude: avoid coreutils "make check" failure
38684         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
38685         just as in test-argmatch.c.
38686
38687 2009-08-13  Eric Blake  <ebb9@byu.net>
38688
38689         test-dup2: fix bad assumption
38690         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
38691         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
38692
38693         test-version-etc: fix CRLF portability issue
38694         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
38695         recognize \r.
38696         * tests/test-argp-version-etc-1.sh: Likewise.
38697
38698         getopt: update client modules
38699         * modules/argp (Depends-on): Use getopt-gnu.
38700         * modules/git-merge-changelog (Depends-on): Likewise.
38701         * modules/long-options (Depends-on): Likewise.
38702         * modules/xstrtol (Depends-on): Likewise.
38703
38704 2009-08-13  Simon Josefsson  <simon@josefsson.org>
38705
38706         * tests/test-version-etc.sh: Don't fail on different
38707         project/version.  Don't fail on CRLF differences.  Rewrite to use
38708         multiple -e instead of multiple sed forks, suggested by Eric Blake
38709         <ebb9@byu.net>.
38710         * tests/test-argp-version-etc-1.sh: Likewise.
38711
38712 2009-08-13  Simon Josefsson  <simon@josefsson.org>
38713
38714         * tests/test-version-etc.sh: Don't fail on different
38715         project/version.
38716
38717 2009-08-12  Bruno Haible  <bruno@clisp.org>
38718
38719         Tests for modules 'getopt-posix', 'getopt-gnu'.
38720         * modules/getopt-posix-tests: New file.
38721         * tests/test-getopt.c: New file.
38722         * tests/test-getopt.h: New file.
38723         * tests/test-getopt_long.h: New file.
38724
38725         New modules 'getopt-posix', 'getopt-gnu'.
38726         * modules/getopt-gnu: New file, renamed from modules/getopt.
38727         * modules/getopt-posix: New file.
38728         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
38729         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
38730         (gl_GETOPT): Remove macro.
38731         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
38732         Disable the test against BSD systems that declare optreset. Test
38733         against mingw bug. Test against lack of support of optional arguments
38734         on many platforms.
38735         * doc/glibc-headers/getopt.texi: Update module name and list of
38736         relevant platforms.
38737         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
38738         'getopt-gnu' and more portability problems.
38739         * NEWS: Mention the changes.
38740
38741 2009-08-12  Bruno Haible  <bruno@clisp.org>
38742
38743         Ensure that optarg etc. get declared by <unistd.h>.
38744         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
38745         AC_USE_SYSTEM_EXTENSIONS.
38746         * modules/getopt (Depends-on): Add 'extensions'.
38747
38748 2009-08-12  Bruno Haible  <bruno@clisp.org>
38749
38750         Avoid test link errors.
38751         * modules/pipe-filter-ii-tests (Makefile.am): Define
38752         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
38753         * modules/pipe-filter-gi-tests (Makefile.am): Define
38754         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
38755         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38756
38757 2009-08-12  Bruno Haible  <bruno@clisp.org>
38758
38759         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
38760         gl_GETOPT_SUBSTITUTE before.
38761         (gl_GETOPT): Use it.
38762         * m4/argp.m4 (gl_ARGP): Update.
38763         Reported by Sergey Poznyakoff.
38764
38765         * m4/getopt.m4: Reorder macros.
38766         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
38767         (gl_GETOPT_SUBSTITUTE): Remove macro.
38768
38769 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
38770
38771         Minor improvement in gitlog-to-changelog
38772
38773         * build-aux/gitlog-to-changelog: New option `--format' makes
38774         output format string configurable.
38775
38776 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
38777
38778         Optimize exclude: use hash tables for non-wildcard patterns.
38779
38780         * lib/exclude.c: Include hash.h and mbuiter.h
38781         (struct exclude_pattern, exclude_segment): New data types.
38782         (struct exclude): Rewrite.
38783         (fnmatch_pattern_has_wildcards): New function.
38784         (new_exclude_segment, free_exclude_segment): New functions.
38785         (excluded_file_pattern_p, excluded_file_name_p): New functions.
38786         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
38787         * lib/exclude.h (is_fnmatch_pattern): New prototype.
38788         * modules/exclude: Depend on hash and mbuiter.
38789
38790         * modules/exclude-tests: New file.
38791         * tests/test-exclude.c: New file.
38792         * tests/test-exclude1.sh: New file.
38793         * tests/test-exclude2.sh: New file.
38794         * tests/test-exclude3.sh: New file.
38795         * tests/test-exclude4.sh: New file.
38796         * tests/test-exclude5.sh: New file.
38797         * tests/test-exclude6.sh: New file.
38798         * tests/test-exclude7.sh: New file.
38799
38800 2009-08-12  Bruno Haible  <bruno@clisp.org>
38801
38802         Ensure that getopt() gets declared by <unistd.h>.
38803         * lib/unistd.in.h: Conditionally include getopt.h.
38804         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
38805         Set GNULIB_UNISTD_H_GETOPT.
38806         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38807         GNULIB_UNISTD_H_GETOPT.
38808         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
38809
38810 2009-08-12  Bruno Haible  <bruno@clisp.org>
38811
38812         Clarify logic.
38813         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
38814         gl_replace_getopt instead of GETOPT_H.
38815
38816 2009-08-12  Bruno Haible  <bruno@clisp.org>
38817
38818         * m4/getopt.m4: Add comments.
38819
38820 2009-08-12  Bruno Haible  <bruno@clisp.org>
38821
38822         Disable multithread support by default on Cygwin 1.5.x.
38823         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
38824         set gl_use_threads=no if not specified otherwise.
38825
38826 2009-08-11  Bruno Haible  <bruno@clisp.org>
38827
38828         Avoid compilation error on NetBSD 5.0.
38829         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
38830         * tests/test-stdio.c: Likewise.
38831         * tests/test-stdlib.c: Likewise.
38832         * tests/test-string.c: Likewise.
38833         * tests/test-unistd.c: Likewise.
38834         Reported by Greg Troxel <gdt@ir.bbn.com>
38835         at <https://savannah.gnu.org/support/?106973>.
38836
38837 2009-08-11  Bruno Haible  <bruno@clisp.org>
38838
38839         * modules/dup2-tests (Depends-on): Remove close.
38840
38841         Undo 2009-07-19 commit.
38842         * modules/acl-tests (Depends-on): Remove close.
38843         * modules/binary-io-tests (Depends-on): Likewise.
38844         * modules/closein-tests (Depends-on): Likewise.
38845         * modules/flock-tests (Depends-on): Likewise.
38846         * modules/fsync-tests (Depends-on): Likewise.
38847         * modules/lseek-tests (Depends-on): Likewise.
38848         * modules/pipe-tests (Depends-on): Likewise.
38849         * modules/posix_spawn-tests (Depends-on): Likewise.
38850         * modules/posix_spawnp-tests (Depends-on): Likewise.
38851         * modules/stat-time-tests (Depends-on): Likewise.
38852         * modules/yesno-tests (Depends-on): Likewise.
38853
38854 2009-08-10  Bruno Haible  <bruno@clisp.org>
38855
38856         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
38857
38858 2009-08-10  Bruno Haible  <bruno@clisp.org>
38859
38860         Fix a gcc warning.
38861         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
38862
38863 2009-08-10  Bruno Haible  <bruno@clisp.org>
38864
38865         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
38866         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
38867         not only the first time.
38868         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
38869         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
38870         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
38871         is 1, not only the the first time.
38872
38873 2009-08-10  Bruno Haible  <bruno@clisp.org>
38874
38875         Make it possible to use module 'gethostname' without module 'close'.
38876         * lib/unistd.in.h (close): Evoke a link error only if
38877         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
38878         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38879         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
38880         * modules/unistd (Makefile.am): Substitute
38881         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
38882         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
38883         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
38884         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
38885         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
38886         * modules/sys_ioctl (Makefile.am): Substitute
38887         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
38888         * modules/socket (configure.ac): On native Windows, set
38889         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
38890         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
38891         Reported by Sam Steingold <sds@gnu.org>.
38892
38893 2009-08-10  Bruno Haible  <bruno@clisp.org>
38894
38895         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
38896         * modules/ioctl (configure.ac): Likewise.
38897
38898 2009-08-10  Bruno Haible  <bruno@clisp.org>
38899
38900         Avoid collision between gnulib wrapper and libintl wrapper.
38901         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
38902         already defined in intl/printf.c.
38903         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
38904         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
38905
38906 2009-08-09  Bruno Haible  <bruno@clisp.org>
38907
38908         Make <sys/select.h> really self-contained, also on Solaris 10.
38909         * lib/sys_select.in.h: Include <string.h>.
38910         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
38911         Solaris 10 problem.
38912         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
38913         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
38914         Reported by Jim Meyering.
38915
38916 2009-08-09  Bruno Haible  <bruno@clisp.org>
38917
38918         Avoid warnings from 'aclocal' that are due to a use of macro name
38919         AM_XGETTEXT_OPTION that is not defined in automake.
38920         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
38921         automake.
38922         * modules/error (configure.ac): Likewise.
38923         * modules/propername (configure.ac): Likewise.
38924         * modules/vasprintf (configure.ac): Likewise.
38925         * modules/verror (configure.ac): Likewise.
38926         * modules/xprintf (configure.ac): Likewise.
38927         * modules/xvasprintf (configure.ac): Likewise.
38928
38929 2009-08-08  Bruno Haible  <bruno@clisp.org>
38930
38931         Avoid compilation error in C++ mode.
38932         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
38933         Reported by Sam Steingold <sds@gnu.org>.
38934
38935 2009-08-08  Bruno Haible  <bruno@clisp.org>
38936
38937         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
38938         for the various Unix platforms.
38939         * doc/posix-headers/limits.texi: Update platforms list regarding
38940         HOST_NAME_MAX.
38941         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38942
38943 2009-08-07  Jim Meyering  <meyering@redhat.com>
38944
38945         selinux-at: fix typo in a comment
38946         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
38947         Spotted by Paolo Bonzini.
38948
38949         selinux-at: remove redundant m4 code, add documentation
38950         * modules/selinux-at (configure.ac): Remove redundant code.
38951         LIB_SELINUX is already set via the dependent module, selinux-h.
38952         (Include): Add quotes around selinux-at.h.
38953         * lib/selinux-at.h: Add documentation.
38954         Reported by Bruno Haible in
38955         http://marc.info/?l=gnulib-bug&m=124958988300749
38956
38957 2009-08-07  Bruno Haible  <bruno@clisp.org>
38958
38959         Avoid link error on MacOS X 10.3 and 10.4.
38960         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
38961         on non-ELF systems.
38962         * lib/argp-pv.c (argp_program_version): Likewise.
38963         Reported by Simon Josefsson.
38964
38965 2009-08-07  Simon Josefsson  <simon@josefsson.org>
38966
38967         * tests/test-version-etc.sh: Use $EXEEXT.
38968
38969 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
38970
38971         update-copyright: update documentation to point to maint.mk
38972         * build-aux/update-copyright: Here.
38973
38974 2009-08-06  Jim Meyering  <meyering@redhat.com>
38975
38976         maint.mk: support update-copyright-local
38977         * top/maint.mk (update-copyright-local): Define place-holder.
38978         (update-copyright): Depend on $(update-copyright-local).
38979
38980 2009-08-06  Jim Meyering  <meyering@redhat.com>
38981
38982         selinux-at: new module
38983         Initially written for coreutils, this module will soon be
38984         used by findutils, too.
38985         * MODULES.html.sh [Misc]: Add selinux-at.
38986         * lib/selinux-at.h: New file, from coreutils.
38987         * lib/selinux-at.c: Likewise.
38988         * modules/selinux-at: Likewise.
38989         (License): Change from LGPL to GPL, since it depends
38990         on the GPL'd openat module.
38991
38992         doc: update README
38993         * README: Remove references to cogito.
38994         Remove cvs-repo-updating instructions from 2007.
38995         Don't imply that CVS is better if you have limited disk space.
38996
38997 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
38998
38999         update-copyright: support C-style comments
39000         * build-aux/update-copyright: Implement and document.
39001         * tests/test-update-copyright.sh: Test.
39002
39003 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39004
39005         update-copyright: support omitted "(C)"
39006         * build-aux/update-copyright: Implement and document.  Also,
39007         allow variable whitespace before "(C)".
39008         * tests/test-update-copyright.sh: Test.
39009
39010 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39011
39012         update-copyright: don't trip on non-FSF copyright statements
39013         * build-aux/update-copyright: Fix so that the first correctly
39014         formatted FSF copyright statement is recognized no matter what
39015         appears before it.  Update documentation.
39016         * tests/test-update-copyright.sh: Test that.
39017
39018 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39019
39020         update-copyright: clean up code a little
39021         * build-aux/update-copyright: Append "_re" to the name of any
39022         variable holding a regular expression.
39023         Replace "old" and "new" with "stmt" in variable names.
39024         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
39025         handled correctly.
39026         Format code more consistently.
39027
39028 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39029
39030         update-copyright-tests: improve portability
39031         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
39032         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
39033
39034 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39035
39036         update-copyright: support @copyright{} and &copy;
39037         * build-aux/update-copyright: Implement and document.
39038         * tests/test-update-copyright.sh: Test.
39039
39040 2009-08-04  Jim Meyering  <meyering@redhat.com>
39041
39042         update-copyright-tests: correctly test EOL=\r\n handling
39043         * tests/test-update-copyright.sh: Put \r at the end of some lines
39044         for the dos-eol tests.  Based on a patch by Joel E. Denny.
39045
39046         maint.mk: make update-copyright exclusion list more configurable
39047         * top/maint.mk (update-copyright): Default to excluding COPYING,
39048         but allow an override, in case someone does want to update that file.
39049
39050         maint.mk: don't update copyright date in COPYING
39051         * top/maint.mk (update-copyright): Exclude COPYING.
39052
39053         maint.mk: add a copyright-updating rule
39054         * top/maint.mk (update-copyright): New rule.
39055         Derived from coreutils/Makefile.am.
39056
39057         update-copyright: rename some variables
39058         * build-aux/update-copyright: Rename a few variables for clarity.
39059         Tweak syntax.  List Joel E. Denny as coauthor.
39060
39061 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39062
39063         update-copyright: fix bug for 2-digit last year and add tests
39064         * build-aux/update-copyright: Fix bug.
39065         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
39066         specified.
39067         * modules/update-copyright-tests: New
39068         * tests/test-update-copyright.sh: New.
39069
39070 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39071
39072         update-copyright: handle leading tabs in line prefix
39073         * build-aux/update-copyright: Count leading tabs as 8 spaces
39074         when computing margin.  This helps with the formatting of
39075         ChangeLogs, for example.
39076         Fix documentation a little.
39077
39078 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39079
39080         update-copyright: support EOL=\r\n
39081         * build-aux/update-copyright: Implement that.
39082
39083 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39084
39085         update-copyright: automatically format copyright statements
39086         * build-aux/update-copyright: Implement that.
39087         Also, be a little more predictable and safer by always failing
39088         when the full copyright format is not perfectly recognized as an
39089         unbroken whole.  Discussed at
39090         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
39091         Rewrite documentation.
39092
39093 2009-08-03  Bruno Haible  <bruno@clisp.org>
39094
39095         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
39096
39097 2009-08-02  Bruno Haible  <bruno@clisp.org>
39098
39099         Tests for module 'uname'.
39100         * modules/uname-tests: New file.
39101         * tests/test-uname.c: New file.
39102
39103         New module 'uname'.
39104         * lib/uname.c: New file.
39105         * m4/uname.m4: New file.
39106         * modules/uname: New file.
39107         * doc/posix-functions/uname.texi: Mention the new module.
39108
39109 2009-08-02  Bruno Haible  <bruno@clisp.org>
39110
39111         Tests for module 'sys_utsname'.
39112         * modules/sys_utsname-tests: New file.
39113         * tests/test-sys_utsname.c: New file.
39114
39115         New module 'sys_utsname'.
39116         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
39117         * m4/sys_utsname_h.m4: New file.
39118         * modules/sys_utsname: New file.
39119         * doc/posix-headers/sys_utsname.texi: Mention the new module.
39120
39121 2009-08-02  Bruno Haible  <bruno@clisp.org>
39122
39123         Implicitly initialize the sockets library.
39124         * lib/gethostname.c: Include sockets.h.
39125         (rpl_gethostname): Invoke gl_sockets_startup.
39126         * lib/socket.c: Include sockets.h.
39127         (rpl_socket): Invoke gl_sockets_startup.
39128         * modules/gethostname (Depends-on): Add sockets.
39129         * modules/socket (Depends-on): Likewise.
39130         * tests/test-poll.c: Don't include sockets.h.
39131         (main): Don't invoke gl_sockets_startup.
39132         * tests/test-select.c: Don't include sockets.h.
39133         (main): Don't invoke gl_sockets_startup.
39134
39135 2009-08-02  Bruno Haible  <bruno@clisp.org>
39136
39137         Allow multiple calls to gl_sockets_startup.
39138         * lib/sockets.c (initialized_sockets_version): New variable.
39139         (gl_sockets_startup): Do nothing if already called for this or a higher
39140         version.
39141         (gl_sockets_cleanup): Reset initialized_sockets_version.
39142
39143 2009-08-03  Simon Josefsson  <simon@josefsson.org>
39144
39145         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
39146         different project/version.
39147
39148 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
39149             Bruno Haible  <bruno@clisp.org>
39150
39151         Tests for module 'pipe-filter-gi'.
39152         * modules/pipe-filter-gi-tests: New file.
39153         * tests/test-pipe-filter-gi1.sh: New file.
39154         * tests/test-pipe-filter-gi1.c: New file.
39155         * tests/test-pipe-filter-gi2.sh: New file.
39156         * tests/test-pipe-filter-gi2-main.c: New file.
39157         * tests/test-pipe-filter-gi2-child.c: New file.
39158
39159         New module 'pipe-filter-gi'.
39160         * lib/pipe-filter-gi.c: New file.
39161         * modules/pipe-filter-gi: New file.
39162
39163 2009-08-02  Bruno Haible  <bruno@clisp.org>
39164             Paolo Bonzini  <bonzini@gnu.org>
39165
39166         Tests for module 'pipe-filter-ii'.
39167         * modules/pipe-filter-ii-tests: New file.
39168         * tests/test-pipe-filter-ii1.sh: New file.
39169         * tests/test-pipe-filter-ii1.c: New file.
39170         * tests/test-pipe-filter-ii2.sh: New file.
39171         * tests/test-pipe-filter-ii2-main.c: New file.
39172         * tests/test-pipe-filter-ii2-child.c: New file.
39173
39174         New module 'pipe-filter-ii'.
39175         * lib/pipe-filter.h: New file.
39176         * lib/pipe-filter-ii.c: New file.
39177         * lib/pipe-filter-aux.h: New file.
39178         * modules/pipe-filter-ii: New file.
39179
39180 2009-08-02  Simon Josefsson  <simon@josefsson.org>
39181
39182         * lib/gc-libgcrypt.c: Change copyright to FSF.
39183         * lib/gc-gnulib.c: Likewise.
39184
39185 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
39186
39187         * lib/gethostname.c: Include limits.h.
39188
39189 2009-08-02  Simon Josefsson  <simon@josefsson.org>
39190             Bruno Haible  <bruno@clisp.org>
39191
39192         Ensure HOST_NAME_MAX as part of the gethostname module.
39193         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
39194         define also HOST_NAME_MAX.
39195         * tests/test-gethostname.c: Include <limits.h>.
39196         (main): Check also HOST_NAME_MAX.
39197         * doc/posix-headers/limits.texi: Document the mingw problem.
39198
39199 2009-08-02  Bruno Haible  <bruno@clisp.org>
39200
39201         * lib/gethostname.c (gethostname): Fix handling of large len argument.
39202         Add comments.
39203
39204 2009-03-31  Simon Josefsson  <simon@josefsson.org>
39205
39206         * lib/gethostname.c: Add Windows wrapper.
39207         * m4/gethostname.m4: Look for gethostname in -lws2_32.
39208         * modules/gethostname: Depend on sys_socket & errno, for also
39209         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
39210         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
39211
39212 2009-07-31  Jim Meyering  <meyering@redhat.com>
39213
39214         getloadavg: fix symbol name in comment
39215         * lib/getloadavg.c: Correct a typo I introduced when adding
39216         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
39217         Matt Kraai spotted the problem.
39218
39219 2009-07-29  Matt Kraai  <mkraai@beckman.com>
39220
39221         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
39222         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
39223         code also if ! defined N_NAME_POINTER.
39224         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
39225         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
39226         but the n_name member is a 12-byte array.
39227
39228 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
39229
39230         update-copyright: generalize comment handling
39231         * build-aux/update-copyright: Handle copyright statements
39232         within more comment styles.
39233         Document usage.
39234         Report any file with an external copyright holder or parse failure.
39235
39236 2009-07-29  Jim Meyering  <meyering@redhat.com>
39237
39238         mktime: correct setting of REPLACE_MKTIME
39239         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
39240
39241         update-copyright: new module
39242         * modules/update-copyright: New file.
39243         * build-aux/update-copyright: New file.
39244         * MODULES.html.sh (maint+release support): Add update-copyright.
39245
39246 2009-07-27  Bruno Haible  <bruno@clisp.org>
39247
39248         Fix compilation error when <ctime> is used and mktime is replaced.
39249         * lib/time.in.h (mktime): New declaration.
39250         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
39251         REPLACE_MKTIME instead of defining mktime in config.h.
39252         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
39253         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
39254         Reported by Ross McFarland <rwmcfa1@neces.com>.
39255
39256 2009-07-27  Bruno Haible  <bruno@clisp.org>
39257
39258         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
39259         Reported by Matt Kraai <mkraai@beckman.com>.
39260
39261 2009-07-25  Jim Meyering  <meyering@redhat.com>
39262
39263         maint.mk: avoid warnings about missing files
39264         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
39265         diagnostic when .prev-version does not exist.
39266         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
39267         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
39268         nonexistent cfg.mk.
39269         Suggestions from Simon Josefsson.
39270
39271 2009-07-25  Bruno Haible  <bruno@clisp.org>
39272
39273         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
39274         defined as macros. Needed on QNX 6.4.1.
39275         Reported by Matt Kraai <mkraai@beckman.com>.
39276
39277 2009-07-23  Jim Meyering  <meyering@redhat.com>
39278
39279         maint.mk: invoke "make dist" with a working value of XZ_OPT
39280         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
39281
39282 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
39283
39284         Make fseeko.c compile on QNX.
39285         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
39286
39287 2009-07-22  Peter Simons  <simons@cryp.to>
39288
39289         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
39290         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
39291         * lib/md4.h: Likewise.
39292         * lib/md5.h: Likewise.
39293         * lib/sha1.h: Likewise.
39294         * lib/sha256.h: Likewise.
39295         * lib/sha512.h: Likewise.
39296
39297         tests-sha1: don't assign literal string to 'char *' variable
39298         * tests/test-sha1.c (main): Declare locals with "const" to match
39299         attributes of the right hand side.
39300
39301 2009-07-21  Eric Blake  <ebb9@byu.net>
39302
39303         dup2: fix more mingw problems
39304         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
39305         fd to itself.
39306         * doc/posix-functions/dup2.texi (dup2): Document the bug.
39307         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
39308         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
39309         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
39310         care of mingw bugs.
39311
39312 2009-07-21  Jim Meyering  <meyering@redhat.com>
39313
39314         vc-list-files: avoid failure when /bin/sh is dash
39315         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
39316         On some Debian based systems, /bin/sh is a symlink to dash, and running
39317         this command would omit the "/" following each 'tests' prefix:
39318           dash -x build-aux/vc-list-files -C . tests
39319         That is because bash and dash work differently:
39320           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
39321           bash ok
39322           dash odd
39323
39324 2009-07-21  Eric Blake  <ebb9@byu.net>
39325
39326         dup2-tests: test previous patch
39327         * modules/dup2-tests: New file.
39328         * tests/test-dup2.c: Likewise.
39329         * tests/test-open.c (main): Avoid unspecified behavior.
39330         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
39331         test.
39332
39333         dup2: work around mingw and cygwin 1.5 bug
39334         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
39335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39336         * modules/unistd (Makefile.am): Substitute it.
39337         * lib/unistd.in.h (dup2): Declare the replacement.
39338         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
39339         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
39340         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
39341         * modules/execute (Depends-on): Add dup2.
39342         * modules/fseterr (Depends-on): Likewise.
39343         * modules/pipe (Depends-on): Likewise.
39344         * modules/posix_spawn-internal (Depends-on): Likewise.
39345
39346 2009-07-21  Bruno Haible  <bruno@clisp.org>
39347
39348         * modules/.gitattributes: New file.
39349
39350 2009-07-20  Bruno Haible  <bruno@clisp.org>
39351
39352         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
39353         (main): Use it.
39354
39355 2009-07-20  Eric Blake  <ebb9@byu.net>
39356
39357         test-pipe: make a bit more robust.
39358         * tests/test-pipe.c (myerr): Allow error messages regardless of
39359         what we do to stderr.
39360         (test_pipe): Rearrange to avoid deadlock.
39361         (child_main): Try a larger read, to ensure we avoided deadlock.
39362         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
39363         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
39364         if misused.
39365
39366 2009-07-19  Jim Meyering  <meyering@redhat.com>
39367
39368         fts: avoid false-positive cycle-detection
39369         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
39370         for each new command line argument.
39371
39372 2009-07-19  Bruno Haible  <bruno@clisp.org>
39373
39374         Fix build error on mingw with the modules sys_select and unistd.
39375         * modules/acl-tests (Depends-on): Add close.
39376         * modules/binary-io-tests (Depends-on): Likewise.
39377         * modules/closein-tests (Depends-on): Likewise.
39378         * modules/flock-tests (Depends-on): Likewise.
39379         * modules/fsync-tests (Depends-on): Likewise.
39380         * modules/lseek-tests (Depends-on): Likewise.
39381         * modules/pipe-tests (Depends-on): Likewise.
39382         * modules/posix_spawn-tests (Depends-on): Likewise.
39383         * modules/posix_spawnp-tests (Depends-on): Likewise.
39384         * modules/stat-time-tests (Depends-on): Likewise.
39385         * modules/yesno-tests (Depends-on): Likewise.
39386
39387 2009-07-19  Bruno Haible  <bruno@clisp.org>
39388
39389         Unify conditionals.
39390         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
39391         macros, not at the compiler macros.
39392         * lib/pipe.c: Likewise.
39393         * lib/execute.c: Likewise.
39394         * lib/spawni.c: Likewise.
39395
39396 2009-07-19  Bruno Haible  <bruno@clisp.org>
39397
39398         Fix handling of closed stdin/stdout/stderr on mingw.
39399         * lib/w32spawn.h: Include unistd.h.
39400         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
39401         file descriptor with O_NOINHERIT flag.
39402         (fd_safer_noinherit): New function, based on fd-safer.c.
39403         (dup_safer_noinherit): New function, based on dup-safer.c.
39404         (undup_safer_noinherit): New function.
39405         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
39406         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
39407         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
39408         instead of fd_safer.
39409         * tests/test-pipe.c: Include <windows.h>.
39410         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
39411         result.
39412
39413         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
39414         from main.
39415         (test_pipe): Pass an extra argument for disambiguation.
39416         (main): Invoke parent_main or child_main.
39417
39418         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
39419         consistently.
39420
39421 2009-07-18  Eric Blake  <ebb9@byu.net>
39422
39423         test-pipe: fix mingw build
39424         * tests/test-pipe.c (main): Avoid fcntl on mingw.
39425
39426 2009-07-18  Bruno Haible  <bruno@clisp.org>
39427
39428         * modules/pipe-tests (Makefile.am): Fix typo.
39429
39430 2009-07-18  Eric Blake  <ebb9@byu.net>
39431
39432         error: fix mingw build
39433         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
39434         Reported by Bruno Haible.
39435
39436         error: avoid undefined use of stdout
39437         * lib/error.c (error, error_at_line): Check that fd 1 is open
39438         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
39439         is handling faults and the close_stdout module wants to report the
39440         detection of closed stdout as an error.
39441
39442 2009-07-17  Eric Blake  <ebb9@byu.net>
39443
39444         pipe: be robust in face of closed fds
39445         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
39446         should cause child to misbehave.
39447         * modules/pipe-tests: New module.
39448         * tests/test-pipe.c: New file.
39449         * tests/test-pipe.sh: New file.
39450         Reported by Akim Demaille.
39451
39452 2009-07-14  Bruno Haible  <bruno@clisp.org>
39453
39454         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
39455         Reported by anonymous kc.
39456
39457 2009-07-07  Jim Meyering  <meyering@redhat.com>
39458
39459         maint.mk: don't look for translatable strings in *.m4 or *.mk
39460         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
39461         when searching for translatable strings.
39462
39463 2009-07-05  Jim Meyering  <meyering@redhat.com>
39464
39465         remove superfluous parentheses in STREQ definition
39466         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
39467         * lib/getugroups.c (STREQ): Likewise.
39468         * lib/fnmatch.c (STREQ): Likewise.
39469         Spotted by Bruno Haible.
39470
39471 2009-07-04  Jim Meyering  <meyering@redhat.com>
39472
39473         argv-iter: new module
39474         * MODULES.html.sh: Add argv-iter.
39475         * lib/argv-iter.c, lib/argv-iter.h: New files.
39476         * modules/argv-iter: New file.
39477         * modules/argv-iter-tests: New file.
39478         * tests/test-argv-iter.c: Test it.
39479
39480 2009-07-04  Bruno Haible  <bruno@clisp.org>
39481
39482         Fix assertion.
39483         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
39484         contains more exact copies of a given entry than file2, leave the extra
39485         copies unpaired rather than aborting.
39486         Reported by Eric Blake.
39487
39488 2009-07-02  Bruno Haible  <bruno@clisp.org>
39489
39490         Speedup git-merge-changelog for git cherry-pick.
39491         * lib/git-merge-changelog.c (struct entries_mapping): New type.
39492         (entries_mapping_get): New function, extracted from compute_mapping.
39493         (entries_mapping_reverse_get): New function.
39494         (compute_mapping): Add a 'full' argument. Return the result in a
39495         'struct entries_mapping'.
39496         (main): Update. Access the mappings through entries_mapping_get.
39497         Reported by Eric Blake.
39498
39499 2009-07-02  Bruno Haible  <bruno@clisp.org>
39500
39501         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
39502         best_i.
39503
39504 2009-07-02  Bruno Haible  <bruno@clisp.org>
39505
39506         Speed up approximate search for matching ChangeLog entries.
39507         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
39508         argument. Call fstrcmp_bounded instead of fstrcmp.
39509         (compute_mapping, try_split_merged_entry, main): Update callers.
39510
39511 2009-07-02  Bruno Haible  <bruno@clisp.org>
39512
39513         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
39514
39515 2009-06-30  Bruno Haible  <bruno@clisp.org>
39516
39517         Reduce the number of uc_is_cased calls.
39518         * lib/unicase.h (casing_suffix_context_t): Add
39519         'first_char_except_ignorable' field.
39520         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
39521         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
39522         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
39523         Update initializer.
39524         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
39525         case-ignorable characters.
39526         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
39527         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
39528         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
39529         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
39530         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
39531
39532 2009-06-30  Bruno Haible  <bruno@clisp.org>
39533
39534         Tests for module 'unicase/ignorable'.
39535         * modules/unicase/ignorable-tests: New file.
39536         * tests/unicase/test-ignorable.c: New file, generated by
39537         gen-uni-tables.
39538
39539         Tests for module 'unicase/cased'.
39540         * modules/unicase/cased-tests: New file.
39541         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
39542         * tests/unicase/test-predicate-part1.h: New file, derived from
39543         tests/unictype/test-predicate-part1.h.
39544         * tests/unicase/test-predicate-part2.h: New file, same as
39545         tests/unictype/test-predicate-part2.h.
39546
39547         Fix evaluation of "Before C" condition of FINAL_SIGMA.
39548         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
39549         (output_casing_properties): New function.
39550         (main): Call it.
39551         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
39552         * lib/unicase/cased.c: Include unictype/bitmap.h.
39553         (uc_is_cased): Define through a bitmap lookup.
39554         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
39555         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
39556         (uc_is_case_ignorable): Define through a bitmap lookup.
39557         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
39558         lib/unictype/bitmap.h.
39559         (Depends-on): Add inline. Clean up.
39560         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
39561         lib/unictype/bitmap.h.
39562         (Depends-on): Add inline. Clean up.
39563         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
39564         recognition.
39565         * tests/unicase/test-u16-tolower.c (main): Likewise.
39566         * tests/unicase/test-u32-tolower.c (main): Likewise.
39567
39568 2009-06-30  Bruno Haible  <bruno@clisp.org>
39569
39570         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
39571         * lib/unicase/u16-casemap.c: Likewise.
39572         * lib/unicase/u32-casemap.c: Likewise.
39573
39574 2009-06-29  Bruno Haible  <bruno@clisp.org>
39575
39576         Define u32_casefold as a wrapper around u32_ct_casefold.
39577         * lib/unicase/u32-casefold.c: Update.
39578         * modules/unicase/u32-casefold (Depends-on): Add
39579         unicase/u32-ct-casefold, unicase/empty-prefix-context,
39580         unicase/empty-suffix-context. Clean up.
39581
39582         Define u16_casefold as a wrapper around u16_ct_casefold.
39583         * lib/unicase/u16-casefold.c: Update.
39584         * modules/unicase/u16-casefold (Depends-on): Add
39585         unicase/u16-ct-casefold, unicase/empty-prefix-context,
39586         unicase/empty-suffix-context. Clean up.
39587
39588         Define u8_casefold as a wrapper around u8_ct_casefold.
39589         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
39590         * lib/unicase/u8-casefold.c: Update.
39591         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
39592         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39593
39594         Define u32_totitle as a wrapper around u32_ct_totitle.
39595         * lib/unicase/u32-totitle.c: Update.
39596         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
39597         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39598
39599         Define u16_totitle as a wrapper around u16_ct_totitle.
39600         * lib/unicase/u16-totitle.c: Update.
39601         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
39602         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39603
39604         Define u8_totitle as a wrapper around u8_ct_totitle.
39605         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
39606         functions.
39607         (FUNC): Delegate to U_CT_TOTITLE.
39608         * lib/unicase/u8-totitle.c: Update.
39609         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
39610         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39611
39612         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
39613         invocation.
39614         * modules/unicase/u32-tolower (Depends-on): Add
39615         unicase/empty-prefix-context, unicase/empty-suffix-context.
39616
39617         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
39618         invocation.
39619         * modules/unicase/u16-tolower (Depends-on): Add
39620         unicase/empty-prefix-context, unicase/empty-suffix-context.
39621
39622         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
39623         * modules/unicase/u8-tolower (Depends-on): Add
39624         unicase/empty-prefix-context, unicase/empty-suffix-context.
39625
39626         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
39627         invocation.
39628         * modules/unicase/u32-toupper (Depends-on): Add
39629         unicase/empty-prefix-context, unicase/empty-suffix-context.
39630
39631         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
39632         invocation.
39633         * modules/unicase/u16-toupper (Depends-on): Add
39634         unicase/empty-prefix-context, unicase/empty-suffix-context.
39635
39636         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
39637         * modules/unicase/u8-toupper (Depends-on): Add
39638         unicase/empty-prefix-context, unicase/empty-suffix-context.
39639
39640         New module 'unicase/u32-ct-casefold'.
39641         * lib/unicase/u32-ct-casefold.c: New file.
39642         * modules/unicase/u32-ct-casefold: New file.
39643
39644         New module 'unicase/u16-ct-casefold'.
39645         * lib/unicase/u16-ct-casefold.c: New file.
39646         * modules/unicase/u16-ct-casefold: New file.
39647
39648         New module 'unicase/u8-ct-casefold'.
39649         * lib/unicase/u8-ct-casefold.c: New file.
39650         * lib/unicase/u-ct-casefold.h: New file, derived from
39651         lib/unicase/u-casefold.h.
39652         * modules/unicase/u8-ct-casefold: New file.
39653
39654         New module 'unicase/u32-ct-totitle'.
39655         * lib/unicase/u32-ct-totitle.c: New file.
39656         * modules/unicase/u32-ct-totitle: New file.
39657
39658         New module 'unicase/u16-ct-totitle'.
39659         * lib/unicase/u16-ct-totitle.c: New file.
39660         * modules/unicase/u16-ct-totitle: New file.
39661
39662         New module 'unicase/u8-ct-totitle'.
39663         * lib/unicase/u8-ct-totitle.c: New file.
39664         * lib/unicase/u-ct-totitle.h: New file, derived from
39665         lib/unicase/u-totitle.h.
39666         * modules/unicase/u8-ct-totitle: New file.
39667
39668         New module 'unicase/u32-ct-tolower'.
39669         * lib/unicase/u32-ct-tolower.c: New file.
39670         * modules/unicase/u32-ct-tolower: New file.
39671
39672         New module 'unicase/u16-ct-tolower'.
39673         * lib/unicase/u16-ct-tolower.c: New file.
39674         * modules/unicase/u16-ct-tolower: New file.
39675
39676         New module 'unicase/u8-ct-tolower'.
39677         * lib/unicase/u8-ct-tolower.c: New file.
39678         * modules/unicase/u8-ct-tolower: New file.
39679
39680         New module 'unicase/u32-ct-toupper'.
39681         * lib/unicase/u32-ct-toupper.c: New file.
39682         * modules/unicase/u32-ct-toupper: New file.
39683
39684         New module 'unicase/u16-ct-toupper'.
39685         * lib/unicase/u16-ct-toupper.c: New file.
39686         * modules/unicase/u16-ct-toupper: New file.
39687
39688         New module 'unicase/u8-ct-toupper'.
39689         * lib/unicase/u8-ct-toupper.c: New file.
39690         * modules/unicase/u8-ct-toupper: New file.
39691
39692         Add context arguments to u*_casemap functions.
39693         * lib/unicase/unicasemap.h: Include unicase.h.
39694         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
39695         suffix_context arguments.
39696         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
39697         functions.
39698         (FUNC): Add prefix_context and suffix_context arguments. Use
39699         uc_is_cased and uc_is_case_ignorable.
39700         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
39701         * lib/unicase/u16-casemap.c: Likewise.
39702         * lib/unicase/u32-casemap.c: Likewise.
39703         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
39704         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
39705         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
39706         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
39707         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
39708         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
39709
39710         New module 'unicase/u32-suffix-context'.
39711         * lib/unicase/u32-suffix-context.c: New file.
39712         * modules/unicase/u32-suffix-context: New file.
39713
39714         New module 'unicase/u16-suffix-context'.
39715         * lib/unicase/u16-suffix-context.c: New file.
39716         * modules/unicase/u16-suffix-context: New file.
39717
39718         New module 'unicase/u8-suffix-context'.
39719         * lib/unicase/u8-suffix-context.c: New file.
39720         * lib/unicase/u-suffix-context.h: New file.
39721         * modules/unicase/u8-suffix-context: New file.
39722
39723         New module 'unicase/empty-suffix-context'.
39724         * lib/unicase/empty-suffix-context.c: New file.
39725         * modules/unicase/empty-suffix-context: New file.
39726
39727         New module 'unicase/u32-prefix-context'.
39728         * lib/unicase/u32-prefix-context.c: New file.
39729         * modules/unicase/u32-prefix-context: New file.
39730
39731         New module 'unicase/u16-prefix-context'.
39732         * lib/unicase/u16-prefix-context.c: New file.
39733         * modules/unicase/u16-prefix-context: New file.
39734
39735         New module 'unicase/u8-prefix-context'.
39736         * lib/unicase/u8-prefix-context.c: New file.
39737         * lib/unicase/u-prefix-context.h: New file.
39738         * lib/unicase/context.h: New file.
39739         * modules/unicase/u8-prefix-context: New file.
39740
39741         New module 'unicase/empty-prefix-context'.
39742         * lib/unicase/empty-prefix-context.c: New file.
39743         * modules/unicase/empty-prefix-context: New file.
39744
39745         New module 'unicase/ignorable'.
39746         * lib/unicase/ignorable.c: New file.
39747         * modules/unicase/ignorable: New file.
39748
39749         New module 'unicase/cased'.
39750         * lib/unicase/caseprop.h: New file.
39751         * lib/unicase/cased.c: New file.
39752         * modules/unicase/cased: New file.
39753
39754         New functions for case mapping of substrings.
39755         * lib/unicase.h (casing_prefix_context_t): New type.
39756         (unicase_empty_prefix_context): New variable.
39757         (u8_casing_prefix_context, u16_casing_prefix_context,
39758         u32_casing_prefix_context, u8_casing_prefixes_context,
39759         u16_casing_prefixes_context, u32_casing_prefixes_context): New
39760         declarations.
39761         (casing_suffix_context_t): New type.
39762         (unicase_empty_suffix_context): New variable.
39763         (u8_casing_suffix_context, u16_casing_suffix_context,
39764         u32_casing_suffix_context, u8_casing_suffixes_context,
39765         u16_casing_suffixes_context, u32_casing_suffixes_context,
39766         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
39767         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
39768         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
39769         declarations.
39770
39771 2009-06-28  Jim Meyering  <meyering@redhat.com>
39772
39773         boostrap: indent only with spaces
39774         * build-aux/bootstrap: Indent only with spaces, never TABs.
39775
39776         bootstrap: split long lines
39777         * build-aux/bootstrap: Keep line length < 80.
39778
39779         bootstrap: sync from coreutils
39780         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
39781         just as autoreconf does.  Verify a list of prerequisite
39782         package-name,version-number pairs if defined in bootstrap.conf.
39783         Refer to README-prereq, if prerequisites are not satisfied.
39784
39785 2009-06-27  Eric Blake  <ebb9@byu.net>
39786
39787         tests: add test for bogus NULL definition
39788         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
39789         * tests/test-stdlib.c: Likewise.
39790         * tests/test-string.c: Likewise.
39791         * tests/test-locale.c: Likewise.
39792         * tests/test-unistd.c: Likewise.
39793         * modules/stdio-tests (Depends-on): Add verify.
39794         * modules/stdlib-tests (Depends-on): Likewise.
39795         * modules/string-tests (Depends-on): Likewise.
39796         * modules/locale-tests (Depends-on): Likewise.
39797         * modules/unistd-tests (Depends-on): Likewise.
39798
39799 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
39800
39801         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
39802         self-explaining comment.
39803         * m4/selinux-selinux-h: Update serial.
39804         (gl_LIBSELINUX): New macro, adding a warning for missing development
39805         packages to code extracted from...
39806         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
39807         Add warning for missing development packages here, too.
39808
39809 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
39810
39811         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
39812
39813 2009-06-25  Eric Blake  <ebb9@byu.net>
39814
39815         version-etc: fix regression
39816         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
39817         gcc.
39818         (version_etc): Use it, to catch bugs with trailing NULL.
39819         * lib/version-etc.c (version_etc_arn): Delete unused argument.
39820         (version_etc_va): Fix logic bug.
39821         * modules/version-etc-tests: Add test.
39822         * tests/test-version-etc.c: New file.
39823         * tests/test-version-etc.sh: Likewise.
39824
39825 2009-06-25  Sam Steingold  <sds@gnu.org>
39826
39827         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
39828         mbtowc declaration.
39829
39830 2009-06-25  Eric Blake  <ebb9@byu.net>
39831
39832         fpurge: migrate into <stdio.h>
39833         * lib/fpurge.h: Delete...
39834         * lib/stdio.in.h (fpurge): ...and declare here, instead.
39835         * lib/fpurge.c (fpurge): Change declaring header.
39836         * modules/fpurge (Files): Drop deleted file.
39837         (Depends-on): Add stdio.
39838         (configure.ac): Set witness.
39839         * modules/stdio (Makefile.am): Support fpurge macros.
39840         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39841         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
39842         * lib/fflush.c: Update client.
39843         * tests/test-fpurge.c: Likewise.
39844         * NEWS: Mention the change.
39845
39846 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
39847
39848         * lib/argp-version-etc.c (program_authors): Add const
39849         qualifier.
39850         * lib/version-etc.c: Fix typos in the comments.
39851         * modules/argp-version-etc: Depends on version-etc.
39852
39853 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
39854
39855         argp-version-etc: new module.
39856
39857         * lib/argp-version-etc.c: New file.
39858         * lib/argp-version-etc.h: New file.
39859         * modules/argp-version-etc: New file.
39860         * modules/argp-version-etc-tests: New file.
39861         * tests/test-argp-version-etc.c: New test.
39862         * tests/test-argp-version-etc-1.sh: New test.
39863
39864 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
39865
39866         Provide additional interfaces and documentation for version-etc
39867         module.
39868
39869         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
39870         interfaces.
39871         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
39872         prototypes.
39873
39874 2009-06-24  Bruno Haible  <bruno@clisp.org>
39875
39876         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
39877         HAVE_LIB${NAME} macro.
39878         Reported by Sam Steingold <sds@gnu.org>.
39879
39880 2009-06-23  Simon Josefsson  <simon@josefsson.org>
39881
39882         * modules/hash-tests (test_hash_LDADD): Link to libintl when
39883         needed.
39884
39885 2009-06-21  Bruno Haible  <bruno@clisp.org>
39886
39887         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
39888         work.
39889         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
39890         together with LIB${NAME}, LTLIB${NAME}.
39891         Reported by Sam Steingold <sds@gnu.org>.
39892
39893 2009-06-20  Jim Meyering  <meyering@redhat.com>
39894
39895         tests: make sc_require_test_exit_idiom more generic
39896         * top/maint.mk (Exit_witness_file): New overridable variable.
39897         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
39898         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
39899
39900 2009-06-19  Jim Meyering  <meyering@redhat.com>
39901
39902         hash: reverse order of src/dst parameters in an internal interface
39903         * lib/hash.c (transfer_entries): Reverse order of parameters to
39904         put DST before SRC.  Adjust callers.
39905
39906         tests: test-hash: avoid wholesale duplication
39907         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
39908         Instead, use a loop and add a single conditional.
39909
39910         tests: test-hash: allow seed selection via a command line argument
39911         * tests/test-hash.c (get_seed): New function.
39912         (main): Use it.
39913
39914 2009-06-19  Eric Blake  <ebb9@byu.net>
39915
39916         hash: avoid memory leak on allocation failure
39917         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
39918         failure.  Factor repeated algorithm...
39919         (transfer_entries): ...into new helper routine.
39920         (hash_delete): React to hash_rehash return value.
39921
39922         hash: reduce memory pressure in hash_rehash no-op case
39923         * lib/hash.c (next_prime): Avoid overflow.
39924         (hash_initialize): Factor bucket size computation...
39925         (compute_bucket_size): ...into new helper function.
39926         (hash_rehash): Use new function and open coding to reduce memory
39927         pressure, and avoid a memory leak in USE_OBSTACK code.
39928         Reported by Jim Meyering.
39929
39930 2009-06-18  Eric Blake  <ebb9@byu.net>
39931
39932         hash: make rotation more obvious
39933         * modules/hash (Depends-on): Add bitrotate and stdint.
39934         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
39935         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
39936         (SIZE_MAX): Rely on headers for definition.
39937         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
39938         (raw_hasher): Use rotr_sz.
39939         Suggested by Jim Meyering.
39940
39941         hash: fix memory leak in last patch
39942         * lib/hash.c (hash_rehash): Avoid memory leak.
39943
39944         hash: avoid no-op rehashing
39945         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
39946
39947         hash: provide default callback functions
39948         * lib/hash.c (raw_hasher, raw_comparator): New functions.
39949         (hash_initialize): Use them as defaults.
39950         * tests/test-hash.c (main): Test this.
39951
39952         hash: minor optimization
39953         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
39954         when possible.
39955         (hash_initialize): Document this promise.
39956         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
39957         * tests/test-hash.c (hash_compare_strings): Test this.
39958
39959 2009-06-18  Bruno Haible  <bruno@clisp.org>
39960
39961         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
39962         going to be replaced anyway.
39963
39964 2009-06-18  Bruno Haible  <bruno@clisp.org>
39965
39966         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
39967         in one place.
39968         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
39969         be replaced anyway.
39970
39971 2009-06-18  Eric Blake  <ebb9@byu.net>
39972
39973         hash: check for resize before insertion
39974         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
39975         threshold before insertion, so that a pathological hash_rehash
39976         that fills every bucket can still trigger another rehash.
39977
39978 2009-06-18  Jim Meyering  <meyering@redhat.com>
39979
39980         hash-tests: add a loop around the small tests
39981         * tests/test-hash.c (main): Repeat small tests with selected
39982         small initial table sizes.
39983
39984 2009-06-17  Eric Blake  <ebb9@byu.net>
39985
39986         hash: minor cleanups
39987         * lib/hash.h (hash_entry): Make opaque, by moving...
39988         * lib/hash.c (hash_entry): ...here.
39989         (hash_insert): Clarify restrictions on what can be inserted.
39990         (hash_get_next): Clarify when it is safe to remove an element
39991         during traversal.
39992         (check_tuning): Skip verification when tuning is known safe.
39993         (hash_initialize): Clarify restrictions on tuning.
39994
39995 2009-06-17  Jim Meyering  <jim@meyering.net>
39996         and Eric Blake  <ebb9@byu.net>
39997
39998         hash-tests: new module
39999         * modules/hash-tests: New file.
40000         * tests/test-hash.c: New file.
40001
40002 2009-06-17  Eric Blake  <ebb9@byu.net>
40003
40004         strstr-simple: document new module
40005         * MODULES.html.sh: Document new module.
40006
40007         strstr, strcasestr: replace on platforms with broken memchr
40008         * modules/strstr: Split into...
40009         * modules/strstr-simple: ...new module that does not care about
40010         performance, but does care about glibc bug.
40011         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
40012         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
40013         if platform memchr is broken, per Debian bug 521737.
40014         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
40015         memchr.
40016         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
40017         * doc/posix-functions/strstr.texi (strstr): Document the fix.
40018         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
40019         * modules/mountlist (Depends-on): Add strstr-simple.
40020         * modules/gen-uni-tables (Depends-on): Likewise.
40021         * modules/argz (Depends-on): Add strstr.
40022
40023 2009-06-17  Bruno Haible  <bruno@clisp.org>
40024
40025         * modules/posix_spawn-internal (Depends-on): Add errno.
40026
40027 2009-06-17  Bruno Haible  <bruno@clisp.org>
40028
40029         Define missing ESTALE on Interix 3.5.
40030         * lib/errno.in.h (ESTALE): Assign a value if missing.
40031         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
40032         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
40033         missing.
40034         * doc/posix-headers/errno.texi: Mention the Interix bug.
40035         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
40036
40037 2009-06-15  Eric Blake  <ebb9@byu.net>
40038
40039         memchr, memchr2: add valgrind exception
40040         * lib/memchr.valgrind: New file.
40041         * lib/memchr2.valgrind: New file.
40042         * modules/memchr (Files): Distribute valgrind file.
40043         * modules/memchr2 (Files): Likewise.
40044
40045         docs: memchr is no longer obsolete
40046         * MODULES.html.sh: Move memchr from obsolete to string.h section.
40047         * lib/string.in.h (memchr): Simplify logic.
40048
40049 2009-06-14  Jim Meyering  <meyering@redhat.com>
40050
40051         link-follow: fix the "checking..." message to not mention trailing slash
40052         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
40053         never considered trailing slashes.
40054
40055 2009-06-14  Bruno Haible  <bruno@clisp.org>
40056
40057         * m4/memchr.m4: Mention also the bug on IA-64.
40058         * doc/posix-functions/memchr.texi: Likewise.
40059
40060 2009-06-12  Eric Blake  <ebb9@byu.net>
40061
40062         memchr: detect broken x86_64 and alpha implementations
40063         * modules/memchr-tests (Depends-on): Move mmap detection...
40064         * modules/memchr (Depends-on): ...here.
40065         (configure.ac): Set indicator.
40066         * lib/string.in.h (memchr): Declare replacement.
40067         * modules/string (Makefile.am): Trigger replacement.
40068         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40069         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
40070         bugs.
40071         * doc/posix-functions/memchr.texi (memchr): Document the bug.
40072         * modules/getpagesize (License): Relax license.
40073
40074 2009-06-11  Bruno Haible  <bruno@clisp.org>
40075
40076         * lib/idpriv.h: Add more references.
40077
40078 2009-06-08  Bruno Haible  <bruno@clisp.org>
40079
40080         Tests for module 'idpriv-droptemp'.
40081         * modules/idpriv-droptemp-tests: New file.
40082         * tests/test-idpriv-droptemp.sh: New file.
40083         * tests/test-idpriv-droptemp.su.sh: New file.
40084         * tests/test-idpriv-droptemp.c: New file.
40085
40086         New module 'idpriv-droptemp'.
40087         * lib/idpriv-droptemp.c: New file.
40088         * modules/idpriv-droptemp: New file.
40089
40090 2009-06-08  Bruno Haible  <bruno@clisp.org>
40091
40092         Tests for module 'idpriv-drop'.
40093         * modules/idpriv-drop-tests: New file.
40094         * tests/test-idpriv-drop.sh: New file.
40095         * tests/test-idpriv-drop.su.sh: New file.
40096         * tests/test-idpriv-drop.c: New file.
40097
40098         New module 'idpriv-drop'.
40099         * lib/idpriv.h: New file.
40100         * lib-idpriv-drop.c: New file.
40101         * m4/idpriv.m4: New file.
40102         * modules/idpriv-drop: New file.
40103
40104 2009-06-08  Bruno Haible  <bruno@clisp.org>
40105
40106         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
40107         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40108         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40109         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40110         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40111         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40112         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40113
40114 2009-06-08  Eric Blake  <ebb9@byu.net>
40115
40116         test-strstr: use memory fence, when possible
40117         * tests/test-strstr.c (main): Use memory fence, in order to be
40118         more likely to trigger Debian bug 521737.
40119         * modules/strstr-tests (Files): Pull in additional files.
40120
40121         memchr: no longer obsolete, for wider field testing
40122         * modules/memchr (Status, Notice): Delete, this module is no
40123         longer obsolete.
40124         * modules/vasnprintf (Depends-on): Add memchr.
40125
40126 2009-06-07  Jim Meyering  <meyering@redhat.com>
40127
40128         hash: declare some functions with the warn_unused_result attribute
40129         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
40130
40131 2009-06-07  Bruno Haible  <bruno@clisp.org>
40132
40133         * tests/test-alignof.c: Don't test int64_t if it does not exist.
40134         Reported by Eric Blake.
40135
40136 2009-06-06  Eric Blake  <ebb9@byu.net>
40137
40138         test-alignof: fix typo with long double
40139         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
40140         compiler error.
40141
40142 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
40143
40144         Escape non-texinfo { and }s.
40145         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
40146         markup error.
40147
40148 2009-06-04  Jim Meyering  <meyering@redhat.com>
40149
40150         gitlog-to-changelog: don't infloop on an empty commit log
40151         * build-aux/gitlog-to-changelog: Warn about an empty log message.
40152         Reported by Boris Petersen <transacid@centerim.org>.
40153
40154 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
40155
40156         version-etc: extend for packagers
40157         Add three new configure options, intended for packagers:
40158           --with-packager="packager name"
40159           --with-packager-version="packager-specific version"
40160           --with-packager-bug-reports="packager bug reporting"
40161         An example with coreutils:
40162           $ ./configure \
40163             --with-packager=Gentoo \
40164             --with-packager-bug-report=http://bugs.gentoo.org/ \
40165             --with-packager-version="patchset 1.6"
40166           $ ./src/ls --version | head -n2
40167           ls (GNU coreutils) 7.1-dirty
40168           Packaged by Gentoo (patchset 1.6)
40169         Note that the bug reporting info via --help doesn't show up because
40170         coreutils uses its own custom emit_bug_reporting_address() implementation
40171         in src/system.h.  If it didn't, it'd look like:
40172           $ ./src/ls --help | tail -n4
40173           Report bugs to <bug-coreutils@gnu.org>.
40174           Report Gentoo bugs to <http://bugs.gentoo.org/>.
40175           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
40176           General help using GNU software: <http://www.gnu.org/gethelp/>.
40177         * lib/version-etc.c: Print new information, if provided.
40178         * m4/version-etc.m4: New file.
40179         * modules/version-etc (Files): Add m4/version-etc.m4.
40180         (configure.ac): Add gl_VERSION_ETC.
40181
40182 2009-05-31  Bruno Haible  <bruno@clisp.org>
40183
40184         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
40185         and 'int64_t'.
40186         * modules/alignof-tests (Dependencies): Add stdint.
40187         Reported by Eric Blake.
40188
40189 2009-05-31  Bruno Haible  <bruno@clisp.org>
40190
40191         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
40192         restriction due to compiler bugs.
40193         Reported by Eric Blake.
40194
40195 2009-05-31  Simon Josefsson  <simon@josefsson.org>
40196             Bruno Haible  <bruno@clisp.org>
40197
40198         Fix test-alignof failure.
40199         * lib/alignof.h (alignof_slot): New macro.
40200         (alignof_type): New macro, with the same semantics as the previous
40201         'alignof'.
40202         (alignof): Alias to alignof_slot.
40203         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
40204         check that the results are usable as constant expressions.
40205
40206 2009-05-31  Bruno Haible  <bruno@clisp.org>
40207
40208         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
40209         * tests/test-memchr.c (main): Check that memchr does not read past the
40210         first occurrence of the byte.
40211         * tests/test-strstr.c (main): Update comment.
40212         Suggested by Eric Blake.
40213
40214 2009-05-30  Bruno Haible  <bruno@clisp.org>
40215
40216         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
40217         detail how to use dumpbin.
40218         Reported by David Byron <dbyron@dbyron.com>.
40219
40220 2009-06-02  Simon Josefsson  <simon@josefsson.org>
40221
40222         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
40223
40224 2009-06-02  Simon Josefsson  <simon@josefsson.org>
40225
40226         * m4/manywarnings.m4: Add GCC 4.4 warnings.
40227
40228 2009-05-28  Bruno Haible  <bruno@clisp.org>
40229
40230         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
40231         build-aux/ files.
40232
40233 2009-05-28  Simon Josefsson  <simon@josefsson.org>
40234
40235         * gnulib-tool (func_import): Transform license on build-aux/ files too.
40236
40237 2009-05-27  Simon Josefsson  <simon@josefsson.org>
40238
40239         * gnulib-tool (sed_transform_main_lib_file)
40240         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
40241         regexps.
40242
40243 2009-05-26  Simon Josefsson  <simon@josefsson.org>
40244
40245         * tests/test-strstr.c: Add another self-test.
40246         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
40247         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
40248
40249 2009-05-23  Bruno Haible  <bruno@clisp.org>
40250
40251         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
40252         change.
40253
40254 2009-05-21  Bruno Haible  <bruno@clisp.org>
40255
40256         Simplify use of mode_t varargs.
40257         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
40258         uses 'mode_t' or 'int'.
40259         * lib/openat.c (openat): Likewise.
40260         * lib/open-safer.c (open_safer): Likewise.
40261         * m4/mode_t.m4: New file.
40262         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
40263         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
40264         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
40265         * modules/open (Files): Add m4/mode_t.m4.
40266         * modules/openat (Files): Likewise.
40267         * modules/fcntl-safer (Files): Likewise.
40268         Suggested by Eric Blake.
40269
40270 2009-05-21  Pádraig Brady  <P@draigbrady.com>
40271
40272         * doc/glibc-functions/fallocate.texi: New file.
40273         * doc/gnulib.texi: Include it.
40274
40275 2009-05-21  Eric Blake  <ebb9@byu.net>
40276             Bruno Haible  <bruno@clisp.org>
40277
40278         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
40279         invocations.
40280         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40281
40282 2009-05-21  Eric Blake  <ebb9@byu.net>
40283             Bruno Haible  <bruno@clisp.org>
40284
40285         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
40286         include_next. Fix of 2008-11-20 commit.
40287         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
40288         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
40289         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
40290         NEXT_MATH_H.
40291         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
40292         instead of NEXT_MATH_H.
40293
40294 2009-05-21  Bruno Haible  <bruno@clisp.org>
40295
40296         Avoid redefinition warnings for SIZE_MAX.
40297         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
40298         Reported by Simon Josefsson.
40299
40300 2009-05-21  Bruno Haible  <bruno@clisp.org>
40301
40302         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
40303         AC_CACHE_VAL.
40304
40305 2009-05-20  Bruno Haible  <bruno@clisp.org>
40306
40307         Make zeroptr.h work on mingw.
40308         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
40309         mprotect.
40310         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
40311         * modules/memchr2-tests (configure.ac): Likewise.
40312         * modules/memcmp-tests (configure.ac): Likewise.
40313         * modules/memmem-tests (configure.ac): Likewise.
40314         * modules/memrchr-tests (configure.ac): Likewise.
40315         Reported by Simon Josefsson.
40316
40317 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40318
40319         * tests/test-glob.c: Include string.h for strcmp prototype.
40320
40321 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40322
40323         * modules/getdelim (Depends-on): Add explicit stdint, although it
40324         was implicitly already pulled in via realloc-posix.
40325         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
40326
40327 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40328
40329         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
40330         G. Christensen" <tgc@jupiterrise.com>.
40331         * m4/sys_socket_h.m4: Check for sa_family_t.
40332         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
40333         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
40334         * tests/test-sys_socket.c: Check that sa_family_t works.
40335
40336 2009-05-18  Eric Blake  <ebb9@byu.net>
40337
40338         maint.mk: allow gnulib_dir in VPATH build
40339         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
40340
40341 2009-05-15  Jim Meyering  <meyering@redhat.com>
40342
40343         maint.mk: Give gnulib_dir a default definition.
40344         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
40345         Thus, most packages no longer need to specify this variable in cfg.mk
40346
40347 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
40348
40349         rename.m4: fix typos that would make non-mingw cross-configure fail
40350         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
40351
40352 2009-05-13  Eric Blake  <ebb9@byu.net>
40353
40354         mmap-anon: avoid out-of-order autoconf expansion
40355         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
40356         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
40357         * modules/memchr-tests (Depends-on): Add extensions.
40358         * modules/memchr2-tests (Depends-on): Add extensions.
40359         * modules/memcmp-tests (Depends-on): Add extensions.
40360         * modules/memmem-tests (Depends-on): Add extensions.
40361         * modules/memrchr-tests (Depends-on): Add extensions.
40362
40363 2009-05-13  Bruno Haible  <bruno@clisp.org>
40364
40365         Make some tests ISO C 99 compliant.
40366         * tests/zerosize-ptr.h: New file.
40367         * tests/test-memchr.c: Include zerosize-ptr.h.
40368         (main): Use a zero-size object pointer instead of NULL.
40369         * tests/test-memchr2.c: Include zerosize-ptr.h.
40370         (main): Use a zero-size object pointer instead of NULL.
40371         * tests/test-memcmp.c: Include zerosize-ptr.h.
40372         (main): Use a zero-size object pointer instead of NULL.
40373         * tests/test-memmem.c: Include zerosize-ptr.h.
40374         (main): Use a zero-size object pointer instead of NULL.
40375         * tests/test-memrchr.c: Include zerosize-ptr.h.
40376         (main): Use a zero-size object pointer instead of NULL.
40377         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
40378         m4/mmap-anon.m4.
40379         (Depends-on): Add getpagesize.
40380         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40381         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
40382         m4/mmap-anon.m4.
40383         (Depends-on): Add getpagesize.
40384         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40385         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
40386         m4/mmap-anon.m4.
40387         (Depends-on): Add getpagesize.
40388         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40389         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
40390         m4/mmap-anon.m4.
40391         (Depends-on): Add getpagesize.
40392         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40393         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
40394         m4/mmap-anon.m4.
40395         (Depends-on): Add getpagesize.
40396         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40397
40398 2009-05-12  Bruno Haible  <bruno@clisp.org>
40399
40400         Tests for module 'alignof'.
40401         * modules/alignof-tests: New file.
40402         * tests/test-alignof.c: New file.
40403
40404 2009-05-12  Bruno Haible  <bruno@clisp.org>
40405
40406         Fix alignof macro.
40407         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
40408         vendor compilers that are always correct.
40409
40410 2009-05-12  Bruno Haible  <bruno@clisp.org>
40411
40412         Make the MAP_ANONYMOUS detection work on HP-UX 11.
40413         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
40414         not whether its fully works.
40415
40416 2009-05-12  Bruno Haible  <bruno@clisp.org>
40417
40418         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
40419
40420 2009-05-12  Jim Meyering  <meyering@redhat.com>
40421
40422         * top/maint.mk: Adjust backslash alignment.
40423
40424 2009-05-11  Simon Josefsson  <simon@josefsson.org>
40425
40426         * top/maint.mk: Make $(srcdir)/build-aux configurable.
40427
40428 2009-05-11  Eric Blake  <ebb9@byu.net>
40429
40430         argp: avoid undefined behavior
40431         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
40432         macros.
40433
40434 2009-05-08  Simon Josefsson  <simon@josefsson.org>
40435
40436         * tests/test-vc-list-files-git.sh: Do git config of user.email and
40437         user.name to prevent git commit from complaining.
40438
40439 2009-05-10  Bruno Haible  <bruno@clisp.org>
40440
40441         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
40442         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
40443         it rewrites every file name only once.
40444         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
40445
40446 2009-05-08  Bruno Haible  <bruno@clisp.org>
40447
40448         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
40449         instead of 'max'.
40450
40451 2009-05-08  Simon Josefsson  <simon@josefsson.org>
40452
40453         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
40454         sockaddr_storage test.
40455
40456 2009-05-07  Simon Josefsson  <simon@josefsson.org>
40457
40458         * modules/sys_socket (Makefile.am): Substitute
40459         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
40460         * m4/sys_socket_h.m4: Check for sockaddr_storage.
40461         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
40462         * tests/test-sys_socket.c: Check sockaddr_storage.
40463
40464 2009-05-08  Bruno Haible  <bruno@clisp.org>
40465
40466         New module 'alignof'.
40467         * lib/alignof.h: New file.
40468         * modules/alignof: New file.
40469
40470 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40471             Bruno Haible  <bruno@clisp.org>
40472
40473         Fix test-file-has-acl on FreeBSD.
40474         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
40475         mask is implicitly added.
40476         * tests/test-file-has-acl.c: Include <signal.h>.
40477         (main): Terminate the test after 5 seconds.
40478         * modules/acl-tests (configure.ac): Check for alarm function.
40479
40480 2009-05-04  Bruno Haible  <bruno@clisp.org>
40481
40482         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
40483         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
40484         * modules/errno (configure.ac): Drop AC_REQUIRE.
40485         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
40486         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
40487
40488 2009-05-04  Simon Josefsson  <simon@josefsson.org>
40489
40490         * modules/glob-tests: New module.
40491         * tests/test-glob.c: Add.
40492
40493 2009-05-04  Simon Josefsson  <simon@josefsson.org>
40494
40495         * modules/fnmatch-tests: New module.
40496         * tests/test-fnmatch.c: Add.
40497
40498 2009-05-04  Eric Blake  <ebb9@byu.net>
40499
40500         maint: make the new no-submodule-changes rule VPATH-safe
40501         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
40502
40503 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40504             Bruno Haible  <bruno@clisp.org>
40505
40506         acl: Fix infinite loop on FreeBSD.
40507         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
40508         of return value from acl_get_entry.
40509         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
40510         Likewise.
40511
40512 2009-05-03  Bruno Haible  <bruno@clisp.org>
40513
40514         * lib/acl-internal.h (acl_entries): Clarify return value.
40515         * lib/acl_entries.c (acl_entries): Likewise.
40516
40517 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40518
40519         Bug fix in acl module.
40520         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
40521
40522 2009-05-03  Bruno Haible  <bruno@clisp.org>
40523
40524         Create gperf-generated file in the source dir, not in the build dir.
40525         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
40526         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
40527         * modules/unicase/locale-language (unicase/locale-languages.h):
40528         Likewise.
40529         * modules/unicase/special-casing (unicase/special-casing-table.h):
40530         Likewise.
40531         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
40532         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
40533         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
40534         Reported by Ralf Wildenhues.
40535
40536 2009-05-03  Bruno Haible  <bruno@clisp.org>
40537
40538         * modules/fnmatch (Description, configure.ac): Taken from
40539         fnmatch-posix.
40540         * modules/fnmatch-posix: Turn into a symbolic reference to the
40541         'fnmatch' module, and deprecate.
40542         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
40543
40544 2009-05-03  Bruno Haible  <bruno@clisp.org>
40545
40546         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
40547         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
40548         Reported by Ralf Wildenhues.
40549
40550 2009-05-04  Simon Josefsson  <simon@josefsson.org>
40551
40552         * m4/fnmatch.m4: Fix fnmatch re-define.
40553
40554 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40555
40556         priv-set: new module and tests; adapt write-any-file
40557         * lib/priv-set.c: New file.
40558         * lib/priv-set.h: New file.
40559         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
40560         * lib/write-any-file.c: Simplify by using priv-set module.
40561         * m4/priv-set.m4: New file.
40562         * modules/priv-set: New file.
40563         * modules/unlinkdir: Add dependency on priv-set module.
40564         * modules/write-any-file: Likewise.
40565
40566         Tests for module 'priv-set'.
40567         * modules/priv-set-tests: New file.
40568         * tests/test-priv-set.c: New file.
40569
40570 2009-05-03  Jim Meyering  <meyering@redhat.com>
40571             Bruno Haible  <bruno@clisp.org>
40572
40573         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
40574         use the converted UTF-8 variant of the name instead.
40575
40576 2009-05-03  Jim Meyering  <meyering@redhat.com>
40577
40578         tests: tighten some getdate tests
40579         * tests/test-getdate.c (main): Tighten tests: require equality,
40580         not just greater than.  Set TZ envvar to UTC0.
40581
40582 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
40583
40584         getdate: correctly interpret "next monday" when run on a Monday
40585         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
40586         that e.g., "next tues" (when run on a tuesday) results in a date
40587         that is one week in the future, and not today's date.
40588         I.e., add a week when the wday is the same as the current one.
40589         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
40590         and earlier by Martin Bernreuther and Jan Minář.
40591         * tests/test-getdate.c (main): Check that "next DAY" is always in
40592         the future and that "last DAY" is always in the past.
40593
40594 2009-05-02  Jim Meyering  <meyering@redhat.com>
40595
40596         build: ensure that a release build fails when a submodule is unclean
40597         * top/maint.mk (no-submodule-changes): New rule.
40598         (alpha beta major): Depend on it.
40599
40600 2009-05-02  Bruno Haible  <bruno@clisp.org>
40601
40602         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
40603         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
40604         shell variable gl_fnmatch_required to detect which variant is
40605         requested.
40606         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
40607         gl_FUNC_FNMATCH_POSIX.
40608         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
40609         exclude fnmatch-posix.
40610
40611 2009-05-02  Bruno Haible  <bruno@clisp.org>
40612
40613         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
40614         * modules/mbsrtowcs (License): Change to LGPLv2+.
40615         * modules/strnlen1 (License): Likewise.
40616         Reported by Simon Josefsson.
40617
40618 2009-05-02  Bruno Haible  <bruno@clisp.org>
40619
40620         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
40621         "cross".
40622         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
40623         gnulib-tool was called with option --source-base=lib.
40624
40625 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40626
40627         Use automake *-local hooks without commands, for extensibility.
40628         * modules/localcharset (Makefile.am): Rename install-exec-local
40629         rule to install-exec-localcharset, and make it a prerequisite of
40630         install-exec-local.  Likewise, rename the uninstall-local rule to
40631         uninstall-localcharset, and make it a prerequisite of the former.
40632
40633 2009-05-01  Bruno Haible  <bruno@clisp.org>
40634
40635         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
40636         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
40637         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
40638         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
40639         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
40640         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
40641         m4/locale-zh.m4, m4/codeset.m4.
40642
40643         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
40644         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
40645         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
40646         m4/locale-zh.m4.
40647
40648         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
40649         REPLACE_WCRTOMB if mbstate_t must be replaced.
40650         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
40651         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
40652
40653 2009-05-01  Bruno Haible  <bruno@clisp.org>
40654
40655         Avoid compiler warnings when redefining macros defined by <libintl.h>.
40656         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
40657         dngettext, dcngettext, textdomain, bindtextdomain,
40658         bind_textdomain_codeset): Undefine before redefining.
40659
40660 2009-04-30  Bruno Haible  <bruno@clisp.org>
40661
40662         Fix bug introduced on 2009-04-25.
40663         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
40664         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
40665         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
40666         is defined.
40667         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
40668         is defined.
40669         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
40670         is defined.
40671         Reported by Elbert_Pol <elbert.pol@gmail.com>.
40672
40673 2009-04-28  Bruno Haible  <bruno@clisp.org>
40674
40675         Comment tweaks.
40676         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
40677         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
40678         * lib/unicase.h (u*_casexfrm): Likewise.
40679         Reported by Paolo Bonzini.
40680
40681 2009-04-28  Bruno Haible  <bruno@clisp.org>
40682
40683         Fix a compilation error.
40684         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
40685         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
40686         Reported by Jim Meyering.
40687
40688 2009-04-27  Bruno Haible  <bruno@clisp.org>
40689
40690         New module 'libunistring'.
40691         * modules/libunistring: New file.
40692         * m4/libunistring.m4: New file.
40693         * MODULES.html.sh (Unicode string functions): Add it.
40694
40695 2009-04-27  Eric Blake  <ebb9@byu.net>
40696
40697         maint.mk: allow package-specific header to provide <config.h>
40698         * top/maint.mk (sc_require_config_h): New variable.
40699         (sc_require_config_h, sc_require_config_h_first): Use it.
40700
40701 2009-04-27  Simon Josefsson  <simon@josefsson.org>
40702
40703         * top/maint.mk (sc_avoid_if_before_free): Except
40704         useless-if-before-free script.
40705
40706 2009-04-27  Eric Blake  <ebb9@byu.net>
40707
40708         maintainer-makefile: depend on all required helper scripts
40709         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
40710         useless-if-before-free.
40711         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
40712         version, rather than assuming gnulib checkout is available.
40713         Reported by Simen Josefsson.
40714
40715 2009-04-26  Bruno Haible  <bruno@clisp.org>
40716
40717         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
40718         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
40719         "../" or "..".
40720
40721 2009-04-26  Bruno Haible  <bruno@clisp.org>
40722
40723         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
40724         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
40725         AC_LIB_HAVE_LINKFLAGS.
40726
40727 2009-04-26  Bruno Haible  <bruno@clisp.org>
40728
40729         Simplify calling convention of u*_conv_from_encoding.
40730         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
40731         u32_conv_from_encoding): Expect a resultbuf argument and return the
40732         result directly as a pointer.
40733         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
40734         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
40735         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
40736         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
40737         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
40738         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
40739         Update.
40740         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
40741         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
40742         * lib/vasnprintf.c (VASNPRINTF): Update.
40743         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
40744         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
40745         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
40746         * NEWS: Mention the change.
40747
40748 2009-04-26  Bruno Haible  <bruno@clisp.org>
40749
40750         Simplify calling convention of u*_conv_to_encoding.
40751         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
40752         u32_conv_to_encoding): Expect a resultbuf argument and return the
40753         result directly as a pointer.
40754         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
40755         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
40756         freeing scaled_offsets if mem_iconveha failed.
40757         * lib/unicase/u-casexfrm.h (FUNC): Update.
40758         * lib/uninorm/u-normxfrm.h (FUNC): Update.
40759         * lib/vasnprintf.c (VASNPRINTF): Update.
40760         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
40761         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
40762         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
40763         * NEWS: Mention the change.
40764
40765 2009-04-26  Bruno Haible  <bruno@clisp.org>
40766
40767         Avoid test failures on AIX and OSF/1.
40768         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
40769         malloc(0).
40770         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
40771         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
40772         Likewise.
40773         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
40774         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
40775         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
40776         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
40777         * doc/posix-functions/malloc.texi: Document the portability problem
40778         related to malloc(0).
40779
40780 2009-04-26  Bruno Haible  <bruno@clisp.org>
40781
40782         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
40783         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
40784         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
40785
40786 2009-04-25  Bruno Haible  <bruno@clisp.org>
40787
40788         Avoid link error when creating a namespace clean library.
40789         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
40790         as macro with arguments if already defined as an alias.
40791         * lib/signbitf.c (gl_signbitf): Don't undefine.
40792         * lib/signbitd.c (gl_signbitd): Don't undefine.
40793         * lib/signbitl.c (gl_signbitl): Don't undefine.
40794
40795 2009-04-25  Jim Meyering  <meyering@redhat.com>
40796
40797         vc-list-files: fix another quoting bug
40798         * build-aux/vc-list-files: Avoid sed backslash expansion
40799         of pathological directory names.
40800
40801 2009-04-25  Eric Blake  <ebb9@byu.net>
40802
40803         vc-list-files: fix shell quoting error
40804         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
40805         timestamp.
40806
40807 2009-04-25  Jim Meyering  <meyering@redhat.com>
40808
40809         vc-list-files: restore lost functionality with subdir argument
40810         * build-aux/vc-list-files: When given a non-"." sub-directory
40811         argument, substitute the $dir/ prefix back onto each resulting name.
40812         Otherwise, coreutils' root_tests check would fail.
40813
40814 2009-04-24  Eric Blake  <ebb9@byu.net>
40815
40816         vc-list-files: ignore git symlinks
40817         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
40818         than ls-files, to ignore git symlinks.
40819
40820         maint.mk: import improvements from m4
40821         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
40822         (move_if_change): Delete unused macro.
40823         (news-date-check, vc-diff-check): Support VPATH builds.
40824         (announcement): Likewise.  Split --bootstrap-tools list...
40825         (boostrap-tools): ...into separate list, which can be overridden
40826         in cfg.mk.
40827         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
40828         requiring dependency on useless-if-before-free module.
40829         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
40830         Support VPATH builds.
40831
40832 2009-04-24  Jim Meyering  <meyering@redhat.com>
40833
40834         maint.mk: remove coreutils-specific rules and variables
40835         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
40836         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
40837         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
40838
40839         maint.mk: remove obsolete rule
40840         * top/maint.mk (rel-check): Remove rule.
40841         (WGET, WGETFLAGS): Remove now-unused variables.
40842
40843 2009-04-24  Simon Josefsson  <simon@josefsson.org>
40844
40845         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
40846         consistency.
40847
40848         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
40849         '$(PATH_SEPARATOR)' instead of ':'.
40850
40851 2009-04-24  Simon Josefsson  <simon@josefsson.org>
40852
40853         * lib/getopt1.c (main): Use 'const' for static array.
40854
40855 2009-04-24  Simon Josefsson  <simon@josefsson.org>
40856
40857         * top/maint.mk: Sync with coreutils.
40858         * NEWS: Explain incompatibilities.
40859
40860 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40861             Bruno Haible  <bruno@clisp.org>
40862
40863         Fix cross-compilation results.
40864         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
40865         statement, as third argument of AC_TRY_RUN.
40866         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
40867         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
40868         Likewise.
40869         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
40870         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
40871         Likewise.
40872         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
40873         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
40874         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
40875
40876 2009-04-20  Bruno Haible  <bruno@clisp.org>
40877
40878         Avoid test failure on mingw.
40879         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
40880
40881 2009-04-20  Bruno Haible  <bruno@clisp.org>
40882
40883         Avoid compilation error on mingw.
40884         * modules/localename-tests (Depends-on): Add locale.
40885
40886 2009-04-19  Bruno Haible  <bruno@clisp.org>
40887
40888         Support for building a shared library on Windows platforms.
40889         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
40890         (main): Test the presence of UNINORM_NFC here.
40891         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
40892         (main): Test the presence of UNINORM_NFD here.
40893         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
40894         (main): Test the presence of UNINORM_NFKC here.
40895         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
40896         (main): Test the presence of UNINORM_NFKD here.
40897
40898 2009-04-19  Bruno Haible  <bruno@clisp.org>
40899
40900         Avoid a compiler warning.
40901         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
40902         Change type of variable 'sequence'.
40903
40904 2009-04-19  Bruno Haible  <bruno@clisp.org>
40905
40906         * modules/configmake (Makefile.am): When the contents of configmake.h
40907         does not change, arrange to preserve its modification time.
40908
40909 2009-04-17  Simon Josefsson  <simon@josefsson.org>
40910
40911         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
40912         gettext domain.
40913
40914 2009-04-16  Jim Meyering  <meyering@redhat.com>
40915
40916         useless-if-before-free: improve conversion code
40917         * build-aux/useless-if-before-free: Adjust code-in-comment to match
40918         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
40919
40920 2009-04-14  Bruno Haible  <bruno@clisp.org>
40921
40922         * modules/fcntl (Depends-on): Add extensions.
40923         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
40924
40925 2009-04-12  Ben Pfaff  <blp@gnu.org>
40926
40927         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
40928         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
40929
40930 2009-03-20  Ben Pfaff  <blp@gnu.org>
40931
40932         Make rename replace existing destinations on Windows.
40933         * m4/rename.m4: Add test for Mingw.
40934         * lib/rename.c: Add rename replacement that uses MoveFileEx with
40935         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
40936         * doc/posix-functions/rename.texi: Document.
40937
40938 2009-04-10  Bruno Haible  <bruno@clisp.org>
40939
40940         New include file "iconveh.h".
40941         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
40942         * lib/striconveh.h: Include it.
40943         (enum iconv_ilseq_handler): Remove definition.
40944         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
40945         striconveh.h.
40946         * lib/striconveha.c: Include striconveh.h.
40947         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
40948         * modules/striconveh (Files): Add lib/iconveh.h.
40949         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
40950         lib/striconveh.h.
40951
40952 2009-04-10  Bruno Haible  <bruno@clisp.org>
40953
40954         * lib/uniconv.h: Update comment.
40955
40956 2009-04-10  Bruno Haible  <bruno@clisp.org>
40957
40958         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
40959         always.
40960         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
40961         * lib/unistr/u16-mbtouc-aux.c: Likewise.
40962         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
40963         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
40964         "unistring-notinline.h", so that the function gets defined always.
40965         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
40966         * lib/unistr/u8-uctomb.c: Likewise.
40967         * lib/unistr/u16-mbtouc.c: Likewise.
40968         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
40969         * lib/unistr/u16-uctomb.c: Likewise.
40970         * lib/unistr/u32-mbtouc.c: Likewise.
40971         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
40972         * lib/unistr/u32-uctomb.c: Likewise.
40973
40974 2009-04-10  Bruno Haible  <bruno@clisp.org>
40975
40976         Mark 'utime' obsolete.
40977         * modules/utime (Status, Notice): New sections.
40978         Suggested by Jim Meyering.
40979
40980         Fix cross-compile guess for utime test.
40981         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
40982         autoconf.
40983         * doc/posix-functions/utime.texi: Give more precisions.
40984         Reported by Jan <ipif@ymail.com>.
40985
40986 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
40987
40988         filevercmp: correct today's change
40989         * lib/filevercmp.c: Also handle coreutils' test inputs.
40990         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
40991
40992         Fix regression in 'filevercmp' module. Thanks Sven Joachim
40993         for reporting it.
40994         * lib/filevercmp.c: Special handle for "", "." and "..".
40995         * tests/test-filevercmp.c: Enlarge the set suite.
40996
40997 2009-04-07  Jim Meyering  <meyering@redhat.com>
40998
40999         useless-if-before-free: show how to remove braced useless free, too
41000         * build-aux/useless-if-before-free: still only in a comment, though.
41001
41002 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
41003
41004         maint.mk: import changes to syntax-check macros from coreutils
41005         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
41006         Use them in the relevant macros.
41007
41008 2009-04-06  Bruno Haible  <bruno@clisp.org>
41009
41010         Fix unportable use of bit-fields.
41011         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
41012         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
41013         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
41014
41015 2009-04-06  Bruno Haible  <bruno@clisp.org>
41016
41017         Avoid test failures on AIX and OSF/1.
41018         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
41019         that malloc(0) = NULL.
41020         * tests/unicase/test-u8-tolower.c (check): Likewise.
41021         * tests/unicase/test-u8-totitle.c (check): Likewise.
41022         * tests/unicase/test-u8-toupper.c (check): Likewise.
41023         * tests/unicase/test-u16-casefold.c (check): Likewise.
41024         * tests/unicase/test-u16-tolower.c (check): Likewise.
41025         * tests/unicase/test-u16-totitle.c (check): Likewise.
41026         * tests/unicase/test-u16-toupper.c (check): Likewise.
41027         * tests/unicase/test-u32-casefold.c (check): Likewise.
41028         * tests/unicase/test-u32-tolower.c (check): Likewise.
41029         * tests/unicase/test-u32-totitle.c (check): Likewise.
41030         * tests/unicase/test-u32-toupper.c (check): Likewise.
41031         * tests/uninorm/test-u8-nfc.c (check): Likewise.
41032         * tests/uninorm/test-u8-nfd.c (check): Likewise.
41033         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
41034         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
41035         * tests/uninorm/test-u16-nfc.c (check): Likewise.
41036         * tests/uninorm/test-u16-nfd.c (check): Likewise.
41037         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
41038         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
41039         * tests/uninorm/test-u32-nfc.c (check): Likewise.
41040         * tests/uninorm/test-u32-nfd.c (check): Likewise.
41041         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
41042         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
41043
41044 2009-04-05  Bruno Haible  <bruno@clisp.org>
41045
41046         Work around an autoconf limitation.
41047         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
41048         comment line if it would be longer than 3 KB.
41049
41050 2009-04-05  Bruno Haible  <bruno@clisp.org>
41051
41052         Avoid test failure with libiconv-1.13.
41053         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
41054         of the expected test results.
41055
41056 2009-04-05  Bruno Haible  <bruno@clisp.org>
41057
41058         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
41059         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
41060         that it should be installed.
41061
41062 2009-04-05  Bruno Haible  <bruno@clisp.org>
41063
41064         * gnulib-tool: New option --copy-file.
41065         (func_usage): Document it.
41066         (func_dest_tmpfilename): Moved out of func_import.
41067         (func_add_file, func_update_file): New functions, extracted from
41068         func_import.
41069         (func_import): Update.
41070
41071 2009-04-05  Karl Berry  <karl@gnu.org>
41072
41073         * README: prominently mention gnulib-tool.
41074         Rearrange sections so getting the code is near the top.
41075
41076 2009-04-05  Bruno Haible  <bruno@clisp.org>
41077
41078         * lib/unicase.h: Mention u*_cmp2.
41079         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
41080         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
41081         * lib/unicase/ulc-casecmp.c: Likewise.
41082         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
41083         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
41084         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
41085         unistr/u8-cmp.
41086         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
41087         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
41088         unistr/u16-cmp.
41089         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
41090         unistr/u32-cmp.
41091
41092         * lib/uninorm.h: Mention u*_cmp2.
41093         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
41094         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
41095         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
41096         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
41097         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
41098         unistr/u8-cmp.
41099         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
41100         unistr/u16-cmp.
41101         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
41102         unistr/u32-cmp.
41103
41104         New module 'unistr/u32-cmp2'.
41105         * lib/unistr/u32-cmp2.c: New file.
41106         * modules/unistr/u32-cmp2: New file.
41107
41108         New module 'unistr/u16-cmp2'.
41109         * lib/unistr/u16-cmp2.c: New file.
41110         * modules/unistr/u16-cmp2: New file.
41111
41112         New module 'unistr/u8-cmp2'.
41113         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
41114         * lib/unistr/u8-cmp2.c: New file.
41115         * lib/unistr/u-cmp2.h: New file.
41116         * modules/unistr/u8-cmp2: New file.
41117
41118 2009-04-05  Bruno Haible  <bruno@clisp.org>
41119
41120         * lib/unictype.h (uc_property_is_valid): New macro.
41121         * tests/unictype/test-pr_byname.c (main): Use it.
41122
41123         * lib/unistr.h: Doc fixes.
41124         * lib/uniconv.h: Doc fixes.
41125         * lib/unictype.h: Doc fixes.
41126
41127 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
41128
41129         Port coreutils 7.2 to Solaris 8.
41130
41131         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
41132         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
41133         for Solaris 8.  This is a bit of a hack, as it means it's the
41134         caller's responsibility to add -lnsl if needed, but most likely it
41135         won't be needed since only getaddrinfo uses this and getaddrinfo
41136         isn't needed on Solaris 8.
41137
41138         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
41139         problem to Solaris 8 encountered with coreutils 7.2, which
41140         resulted in a message "fnmatch.c:292: warning: passing argument 4
41141         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
41142         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
41143
41144 2009-04-03  Simon Josefsson  <simon@josefsson.org>
41145
41146         * m4/ld-version-script.m4: Add FIXME comment.
41147
41148 2009-04-02  Simon Josefsson  <simon@josefsson.org>
41149
41150         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
41151         SOVERSION variable.
41152
41153 2009-04-02  Bruno Haible  <bruno@clisp.org>
41154
41155         * Makefile (info, html, dvi, pdf): Combine the rules.
41156         Suggested by Jim Meyering.
41157
41158 2009-04-01  Bruno Haible  <bruno@clisp.org>
41159
41160         * Makefile (info, html, dvi, pdf): New targets.
41161         Reported by Reuben Thomas <rrt@sc3d.org>.
41162
41163 2009-04-01  Bruno Haible  <bruno@clisp.org>
41164
41165         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
41166         can be put into PATH.
41167         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
41168
41169 2009-04-01  Bruno Haible  <bruno@clisp.org>
41170
41171         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
41172
41173 2009-04-01  Bruno Haible  <bruno@clisp.org>
41174
41175         Rename module 'visibility'.
41176         * modules/lib-symbol-visibility: Renamed from modules/visibility.
41177         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
41178         * doc/gnulib.texi: Update.
41179         * MODULES.html.sh (Misc): Update.
41180         * NEWS: Mention the change.
41181
41182 2009-04-01  Simon Josefsson  <simon@josefsson.org>
41183
41184         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
41185         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
41186         Eric Blake <ebb9@byu.net> for review.
41187         * MODULES.html.sh: Add lib-msvc-compat.
41188         * doc/gnulib.texi: Link to new section.
41189         * m4/ld-output-def.m4: New file.
41190         * doc/ld-output-def.texi: New file.
41191
41192 2009-04-01  Simon Josefsson  <simon@josefsson.org>
41193
41194         Rename ld-version-script to lib-symbol-versions.  Suggested by
41195         Bruno Haible <bruno@clisp.org>.
41196         * modules/ld-version-script: Renamed to lib-symbol-versions.
41197         * doc/ld-version-script.texi: Fix module name.
41198         * MODULES.html.sh: Add lib-symbol-versions.
41199
41200 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41201
41202         * modules/u64-tests: New file.
41203         * tests/test-u64.c: New file.
41204
41205 2009-03-04  Simon Josefsson  <simon@josefsson.org>
41206
41207         * MODULES.html.sh: Mention u64.
41208         * modules/u64: New module.
41209         * modules/crypto/sha512: Depend on u64 module instead of providing
41210         u64.h.
41211
41212 2009-03-27  Eric Blake  <ebb9@byu.net>
41213
41214         test-strerror: make debugging EAI_SYSTEM easier
41215         * modules/getaddrinfo-tests (Depends-on): Add strerror.
41216         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
41217         failure was EAI_SYSTEM.
41218
41219 2009-03-25  Bruno Haible  <bruno@clisp.org>
41220
41221         Fix a problem with --enable-relocatable on Solaris 7.
41222         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
41223         since 2008-02-24.
41224
41225 2009-03-25  Eric Blake  <ebb9@byu.net>
41226
41227         test-sockets: avoid gcc warning
41228         * tests/test-sockets.c (main): Silence compiler warning.
41229
41230 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
41231
41232         New modules nproc, pthread, contributed by Glen Lenker.
41233
41234         * MODULES.html.sh: Add pthread, nproc.
41235         * lib/nproc.c: New file.
41236         * lib/nproc.h: New file.
41237         * lib/pthread.in.h: New file.
41238         * m4/pthread.m4: New file.
41239         * modules/nproc: New file.
41240         * modules/pthread: New file.
41241
41242 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41243
41244         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
41245         New variable.
41246
41247 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
41248
41249         filevercmp: handle simple~ and numbered.~3~ backup suffixes
41250         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
41251         * tests/test-filevercmp.c: Add tests for backup suffixes.
41252
41253 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41254
41255         * modules/stdlib (Depends-on): Add stdint, needed when defining
41256         struct random_data on, for example, HP-UX 10.20.  Reported by
41257         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41258
41259 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41260
41261         * lib/readline.c (readline): Call fflush on stdout after printing
41262         prompt.
41263
41264 2009-03-20  Bruno Haible  <bruno@clisp.org>
41265
41266         Remove dependency from 'close' module to -lws2_32 on native Windows.
41267         * lib/close-hook.h: New file.
41268         * lib/close-hook.c: New file.
41269         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
41270         w32sock.h.
41271         (_gl_close_fd_maybe_socket): Remove function.
41272         (rpl_close): Invoke execute_all_close_hooks instead of
41273         _gl_close_fd_maybe_socket.
41274         * lib/sockets.c: Include close-hook.h, w32sock.h.
41275         (close_fd_maybe_socket): New function, essentially from lib/close.c.
41276         (close_sockets_hook): New variable.
41277         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
41278         (gl_sockets_cleanup): Unregister it.
41279         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
41280         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
41281         * modules/close-hook: New file.
41282         * modules/close (Files): Remove lib/w32sock.h.
41283         (Depends-on): Add close-hook.
41284         (Link): Remove section.
41285         * modules/sockets (Files): Add lib/w32sock.h.
41286         (Depends-on): Add close-hook.
41287         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
41288         invocation.
41289         * NEWS: Mention that LIB_CLOSE is gone.
41290
41291 2009-03-23  Eric Blake  <ebb9@byu.net>
41292
41293         signal-tests: test previous patch
41294         * tests/test-signal.c: New file.
41295         * modules/signal-tests: Likewise.
41296
41297         signal.h: always support 'volatile sig_atomic_t'
41298         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
41299         (gl_SIGNAL_H_DEFAULTS): Add a default.
41300         * modules/signal (Makefile.am): Substitute if needed.
41301         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
41302         users can blindly add volatile.
41303         * doc/posix-headers/signal.texi (signal.h): Document it.
41304         Reported by Matthew Woehlke.
41305
41306 2009-03-23  Jim Meyering  <meyering@redhat.com>
41307
41308         pathmax: PATH_MAX: use pathconf only when available
41309         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
41310         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
41311         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
41312         This avoids a link failure in a PSP cross-compilation environment
41313         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
41314
41315         * lib/vasnprintf.c (divide): Fix typo in comment.
41316
41317 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41318
41319         * gnulib-tool (func_filter_filelist): Fix comment.
41320
41321 2009-03-20  Bruno Haible  <bruno@clisp.org>
41322
41323         Make sockets.h self-contained.
41324         * lib/sockets.c: Include sockets.h first.
41325         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
41326
41327 2009-03-19  Eric Blake  <ebb9@byu.net>
41328
41329         doc: mention more functions added in cygwin 1.7.0
41330         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
41331         addition.
41332         * doc/posix-functions/log2f.texi: Likewise.
41333
41334 2009-03-19  Jim Meyering  <meyering@redhat.com>
41335
41336         fsusage: avoid syntax error due to statement-before-declaration
41337         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
41338         after all declarations.  Reported by Matthew Woehlke in
41339         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
41340
41341 2009-03-18  Eric Blake  <ebb9@byu.net>
41342
41343         build-aux/compile: sync from automake
41344         * build-aux/compile: New file, from automake.
41345         * config/srclist.txt: Mention build-aux/compile.
41346
41347 2009-03-17  Bruno Haible  <bruno@clisp.org>
41348
41349         * lib/git-merge-changelog.c: Fix typo in comment.
41350         Reported by Reuben Thomas <rrt@sc3d.org>.
41351
41352 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
41353
41354         * m4/regex.m4: update and improve help for
41355         --without-included-regex.
41356
41357 2009-03-17  Simon Josefsson  <simon@josefsson.org>
41358
41359         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
41360         failure on missing include files.
41361
41362 2009-03-17  Eric Blake  <ebb9@byu.net>
41363
41364         doc: mention more functions added in cygwin 1.7.0
41365         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
41366         addition.
41367         * doc/posix-functions/fwscanf.texi: Likewise.
41368         * doc/posix-functions/swprintf.texi: Likewise.
41369         * doc/posix-functions/swscanf.texi: Likewise.
41370         * doc/posix-functions/vfwprintf.texi: Likewise.
41371         * doc/posix-functions/vfwscanf.texi: Likewise.
41372         * doc/posix-functions/vswprintf.texi: Likewise.
41373         * doc/posix-functions/vswscanf.texi: Likewise.
41374         * doc/posix-functions/vwprintf.texi: Likewise.
41375         * doc/posix-functions/vwscanf.texi: Likewise.
41376         * doc/posix-functions/wcscasecmp.texi: Likewise.
41377         * doc/posix-functions/wcsdup.texi: Likewise.
41378         * doc/posix-functions/wcsftime.texi: Likewise.
41379         * doc/posix-functions/wcsncasecmp.texi: Likewise.
41380         * doc/posix-functions/wprintf.texi: Likewise.
41381         * doc/posix-functions/wscanf.texi: Likewise.
41382         * doc/glibc-functions/gethostbyname2.texi: Likewise.
41383
41384 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41385
41386         maint.mk: really add $(AM_MAKEFLAGS)
41387         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
41388         was inadvertently omitted in the last commit.
41389         Spotted by Bruno Haible.
41390
41391         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
41392         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
41393         $(AM_MAKEFLAGS)' rather than plain `make'.
41394
41395         gnulib-tool: execute $MAKE not make
41396         * gnulib-tool: Default $MAKE to 'make'.
41397         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
41398         than make.  Initialize $MAKE in the do-autobuild script.
41399
41400         gnulib-tool: use $MAKE not make in generated files
41401         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
41402         make, in generated files.  Initialize $MAKE in the do-autobuild
41403         script.
41404
41405         * top/GNUmakefile (_have-git-version-gen): Fix typo.
41406
41407         GNUmakefile: disable parallelism only for multiple, recursive targets
41408         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
41409         additions in the Makefile.
41410         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
41411         by Automake.
41412         (.NOTPARALLEL): Only disable parallel builds if multiple targets
41413         are listed on the command line and at least one of them is
41414         listed in $(ALL_RECURSIVE_TARGETS).
41415
41416 2009-03-14  Bruno Haible  <bruno@clisp.org>
41417
41418         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
41419         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
41420         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
41421         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
41422         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
41423         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
41424         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
41425         unistr/u8-uctomb.
41426         * modules/unistr/u8-strchr (Depends-on): Likewise.
41427         * modules/unistr/u8-strrchr (Depends-on): Likewise.
41428         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
41429         unistr/u16-uctomb.
41430         * modules/unistr/u16-strchr (Depends-on): Likewise.
41431         * modules/unistr/u16-strrchr (Depends-on): Likewise.
41432
41433 2009-03-12  Bruno Haible  <bruno@clisp.org>
41434
41435         Work around select() bug on Interix 3.5.
41436         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
41437         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
41438         * m4/select.m4: New file.
41439         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
41440         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
41441         * modules/select (Files): Add m4/select.m4.
41442         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
41443         * modules/nanosleep (Depends-on): Add select.
41444         * modules/poll (Depends-on): Likewise.
41445         * doc/posix-functions/select.texi: Mention the Interix bug.
41446         Reported by Markus Duft <mduft@gentoo.org>.
41447
41448         * lib/select.c: Renamed from lib/winsock-select.c.
41449         * modules/select (Files): Add lib/select.c, remove
41450         lib/winsock-select.c.
41451         (configure.ac): Update.
41452
41453 2009-03-12  Jim Meyering  <meyering@redhat.com>
41454
41455         avoid gcc warnings about unused macro definitions
41456         * lib/readtokens.c (STREQ): Remove unused definition.
41457         * lib/xmalloc.c (SIZE_MAX): Likewise.
41458         * lib/openat-die.c (N_): Likewise.
41459         * lib/mountlist.c (SIZE_MAX): Remove definition.
41460         Instead, include <stdint.h>.
41461         * lib/readutmp.c: Likewise.
41462         * modules/readutmp (Depends-on): Add stdint.
41463         * modules/mountlist (Depends-on): Add stdint.
41464         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
41465
41466 2009-03-10  Bruno Haible  <bruno@clisp.org>
41467
41468         Tests for module 'mbmemcasecoll'.
41469         * modules/mbmemcasecoll-tests: New file.
41470         * tests/test-mbmemcasecoll1.sh: New file.
41471         * tests/test-mbmemcasecoll2.sh: New file.
41472         * tests/test-mbmemcasecoll3.sh: New file.
41473         * tests/test-mbmemcasecoll.c: New file.
41474
41475         New module 'mbmemcasecoll'.
41476         * lib/mbmemcasecoll.h: New file.
41477         * lib/mbmemcasecoll.c: New file.
41478         * modules/mbmemcasecoll: New file.
41479
41480         * tests/test-mbmemcasecmp.h: New file, extracted from
41481         tests/test-mbmemcasecmp.c.
41482         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
41483         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
41484         (main): Update.
41485         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
41486
41487 2009-03-09  Bruno Haible  <bruno@clisp.org>
41488
41489         Tests for module 'mbmemcasecmp'.
41490         * modules/mbmemcasecmp-tests: New file.
41491         * tests/test-mbmemcasecmp1.sh: New file.
41492         * tests/test-mbmemcasecmp2.sh: New file.
41493         * tests/test-mbmemcasecmp3.sh: New file.
41494         * tests/test-mbmemcasecmp.c: New file.
41495
41496         New module 'mbmemcasecmp'.
41497         * lib/mbmemcasecmp.h: New file.
41498         * lib/mbmemcasecmp.c: New file.
41499         * modules/mbmemcasecmp: New file.
41500
41501 2009-03-09  Bruno Haible  <bruno@clisp.org>
41502
41503         Tests for module 'unicase/ulc-casecoll'.
41504         * modules/unicase/ulc-casecoll-tests: New file.
41505         * tests/unicase/test-ulc-casecoll1.sh: New file.
41506         * tests/unicase/test-ulc-casecoll2.sh: New file.
41507         * tests/unicase/test-ulc-casecoll.c: New file.
41508
41509         New module 'unicase/ulc-casecoll'.
41510         * lib/unicase.h (ulc_casecoll): New declaration.
41511         * lib/unicase/ulc-casecoll.c: New file.
41512         * modules/unicase/ulc-casecoll: New file.
41513
41514         New module 'unicase/ulc-casexfrm'.
41515         * lib/unicase.h (ulc_casexfrm): New declaration.
41516         * lib/unicase/ulc-casexfrm.c: New file.
41517         * modules/unicase/ulc-casexfrm: New file.
41518
41519 2009-03-09  Bruno Haible  <bruno@clisp.org>
41520
41521         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
41522         invocations.
41523
41524         * m4/mbscasecmp.m4: Remove file.
41525         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
41526         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
41527
41528         * m4/mbscasestr.m4: Remove file.
41529         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
41530         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
41531
41532         * m4/mbschr.m4: Remove file.
41533         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
41534         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
41535
41536         * m4/mbscspn.m4: Remove file.
41537         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
41538         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
41539
41540         * m4/mbslen.m4: Remove file.
41541         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
41542         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
41543
41544         * m4/mbsncasecmp.m4: Remove file.
41545         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
41546         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
41547
41548         * m4/mbsnlen.m4: Remove file.
41549         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
41550         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
41551
41552         * m4/mbspbrk.m4: Remove file.
41553         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
41554         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
41555
41556         * m4/mbspcasecmp.m4: Remove file.
41557         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
41558         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
41559
41560         * m4/mbsrchr.m4: Remove file.
41561         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
41562         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
41563
41564         * m4/mbssep.m4: Remove file.
41565         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
41566         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
41567
41568         * m4/mbsspn.m4: Remove file.
41569         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
41570         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
41571
41572         * m4/mbsstr.m4: Remove file.
41573         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
41574         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
41575
41576         * m4/mbstok_r.m4: Remove file.
41577         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
41578         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
41579
41580         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
41581
41582         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
41583         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
41584
41585         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
41586
41587 2009-03-08  Bruno Haible  <bruno@clisp.org>
41588
41589         Tests for module 'unicase/ulc-casecmp'.
41590         * modules/unicase/ulc-casecmp-tests: New file.
41591         * tests/unicase/test-ulc-casecmp1.sh: New file.
41592         * tests/unicase/test-ulc-casecmp2.sh: New file.
41593         * tests/unicase/test-ulc-casecmp.c: New file.
41594
41595         New module 'unicase/ulc-casecmp'.
41596         * lib/unicase.h (ulc_casecmp): New declaration.
41597         * lib/unicase/ulc-casecmp.c: New file.
41598         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
41599         'const SRC_UNIT *'.
41600         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
41601         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
41602         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
41603         * modules/unicase/ulc-casecmp: New file.
41604
41605         Tests for module 'unicase/u32-is-cased'.
41606         * modules/unicase/u32-is-cased-tests: New file.
41607         * tests/unicase/test-u32-is-cased.c: New file.
41608
41609         Tests for module 'unicase/u16-is-cased'.
41610         * modules/unicase/u16-is-cased-tests: New file.
41611         * tests/unicase/test-u16-is-cased.c: New file.
41612
41613         Tests for module 'unicase/u8-is-cased'.
41614         * modules/unicase/u8-is-cased-tests: New file.
41615         * tests/unicase/test-u8-is-cased.c: New file.
41616         * tests/unicase/test-is-cased.h: New file.
41617
41618         New module 'unicase/u32-is-cased'.
41619         * lib/unicase/u32-is-cased.c: New file.
41620         * modules/unicase/u32-is-cased: New file.
41621
41622         New module 'unicase/u16-is-cased'.
41623         * lib/unicase/u16-is-cased.c: New file.
41624         * modules/unicase/u16-is-cased: New file.
41625
41626         New module 'unicase/u8-is-cased'.
41627         * lib/unicase/u8-is-cased.c: New file.
41628         * lib/unicase/u-is-cased.h: New file.
41629         * modules/unicase/u8-is-cased: New file.
41630
41631         Tests for module 'unicase/u32-is-casefolded'.
41632         * modules/unicase/u32-is-casefolded-tests: New file.
41633         * tests/unicase/test-u32-is-casefolded.c: New file.
41634
41635         Tests for module 'unicase/u16-is-casefolded'.
41636         * modules/unicase/u16-is-casefolded-tests: New file.
41637         * tests/unicase/test-u16-is-casefolded.c: New file.
41638
41639         Tests for module 'unicase/u8-is-casefolded'.
41640         * modules/unicase/u8-is-casefolded-tests: New file.
41641         * tests/unicase/test-u8-is-casefolded.c: New file.
41642         * tests/unicase/test-is-casefolded.h: New file.
41643
41644         New module 'unicase/u32-is-casefolded'.
41645         * lib/unicase/u32-is-casefolded.c: New file.
41646         * modules/unicase/u32-is-casefolded: New file.
41647
41648         New module 'unicase/u16-is-casefolded'.
41649         * lib/unicase/u16-is-casefolded.c: New file.
41650         * modules/unicase/u16-is-casefolded: New file.
41651
41652         New module 'unicase/u8-is-casefolded'.
41653         * lib/unicase/u8-is-casefolded.c: New file.
41654         * modules/unicase/u8-is-casefolded: New file.
41655
41656         Tests for module 'unicase/u32-is-titlecase'.
41657         * modules/unicase/u32-is-titlecase-tests: New file.
41658         * tests/unicase/test-u32-is-titlecase.c: New file.
41659
41660         Tests for module 'unicase/u16-is-titlecase'.
41661         * modules/unicase/u16-is-titlecase-tests: New file.
41662         * tests/unicase/test-u16-is-titlecase.c: New file.
41663
41664         Tests for module 'unicase/u8-is-titlecase'.
41665         * modules/unicase/u8-is-titlecase-tests: New file.
41666         * tests/unicase/test-u8-is-titlecase.c: New file.
41667         * tests/unicase/test-is-titlecase.h: New file.
41668
41669         New module 'unicase/u32-is-titlecase'.
41670         * lib/unicase/u32-is-titlecase.c: New file.
41671         * modules/unicase/u32-is-titlecase: New file.
41672
41673         New module 'unicase/u16-is-titlecase'.
41674         * lib/unicase/u16-is-titlecase.c: New file.
41675         * modules/unicase/u16-is-titlecase: New file.
41676
41677         New module 'unicase/u8-is-titlecase'.
41678         * lib/unicase/u8-is-titlecase.c: New file.
41679         * modules/unicase/u8-is-titlecase: New file.
41680
41681         Tests for module 'unicase/u32-is-lowercase'.
41682         * modules/unicase/u32-is-lowercase-tests: New file.
41683         * tests/unicase/test-u32-is-lowercase.c: New file.
41684
41685         Tests for module 'unicase/u16-is-lowercase'.
41686         * modules/unicase/u16-is-lowercase-tests: New file.
41687         * tests/unicase/test-u16-is-lowercase.c: New file.
41688
41689         Tests for module 'unicase/u8-is-lowercase'.
41690         * modules/unicase/u8-is-lowercase-tests: New file.
41691         * tests/unicase/test-u8-is-lowercase.c: New file.
41692         * tests/unicase/test-is-lowercase.h: New file.
41693
41694         New module 'unicase/u32-is-lowercase'.
41695         * lib/unicase/u32-is-lowercase.c: New file.
41696         * modules/unicase/u32-is-lowercase: New file.
41697
41698         New module 'unicase/u16-is-lowercase'.
41699         * lib/unicase/u16-is-lowercase.c: New file.
41700         * modules/unicase/u16-is-lowercase: New file.
41701
41702         New module 'unicase/u8-is-lowercase'.
41703         * lib/unicase/u8-is-lowercase.c: New file.
41704         * modules/unicase/u8-is-lowercase: New file.
41705
41706         Tests for module 'unicase/u32-is-uppercase'.
41707         * modules/unicase/u32-is-uppercase-tests: New file.
41708         * tests/unicase/test-u32-is-uppercase.c: New file.
41709
41710         Tests for module 'unicase/u16-is-uppercase'.
41711         * modules/unicase/u16-is-uppercase-tests: New file.
41712         * tests/unicase/test-u16-is-uppercase.c: New file.
41713
41714         Tests for module 'unicase/u8-is-uppercase'.
41715         * modules/unicase/u8-is-uppercase-tests: New file.
41716         * tests/unicase/test-u8-is-uppercase.c: New file.
41717         * tests/unicase/test-is-uppercase.h: New file.
41718
41719         New module 'unicase/u32-is-uppercase'.
41720         * lib/unicase/u32-is-uppercase.c: New file.
41721         * modules/unicase/u32-is-uppercase: New file.
41722
41723         New module 'unicase/u16-is-uppercase'.
41724         * lib/unicase/u16-is-uppercase.c: New file.
41725         * modules/unicase/u16-is-uppercase: New file.
41726
41727         New module 'unicase/u8-is-uppercase'.
41728         * lib/unicase/u8-is-uppercase.c: New file.
41729         * modules/unicase/u8-is-uppercase: New file.
41730
41731         New module 'unicase/u32-is-invariant'.
41732         * lib/unicase/u32-is-invariant.c: New file.
41733         * modules/unicase/u32-is-invariant: New file.
41734
41735         New module 'unicase/u16-is-invariant'.
41736         * lib/unicase/u16-is-invariant.c: New file.
41737         * modules/unicase/u16-is-invariant: New file.
41738
41739         New module 'unicase/u8-is-invariant'.
41740         * lib/unicase/u8-is-invariant.c: New file.
41741         * lib/unicase/invariant.h: New file.
41742         * lib/unicase/u-is-invariant.h: New file.
41743         * modules/unicase/u8-is-invariant: New file.
41744
41745         Tests for module 'unicase/u32-casecoll'.
41746         * modules/unicase/u32-casecoll-tests: New file.
41747         * tests/unicase/test-u32-casecoll.c: New file.
41748
41749         Tests for module 'unicase/u16-casecoll'.
41750         * modules/unicase/u16-casecoll-tests: New file.
41751         * tests/unicase/test-u16-casecoll.c: New file.
41752
41753         Tests for module 'unicase/u8-casecoll'.
41754         * modules/unicase/u8-casecoll-tests: New file.
41755         * tests/unicase/test-u8-casecoll.c: New file.
41756
41757         New module 'unicase/u32-casecoll'.
41758         * lib/unicase/u32-casecoll.c: New file.
41759         * modules/unicase/u32-casecoll: New file.
41760
41761         New module 'unicase/u16-casecoll'.
41762         * lib/unicase/u16-casecoll.c: New file.
41763         * modules/unicase/u16-casecoll: New file.
41764
41765         New module 'unicase/u8-casecoll'.
41766         * lib/unicase/u8-casecoll.c: New file.
41767         * lib/unicase/u-casecoll.h: New file.
41768         * modules/unicase/u8-casecoll: New file.
41769
41770         New module 'unicase/u32-casexfrm'.
41771         * lib/unicase/u32-casexfrm.c: New file.
41772         * modules/unicase/u32-casexfrm: New file.
41773
41774         New module 'unicase/u16-casexfrm'.
41775         * lib/unicase/u16-casexfrm.c: New file.
41776         * modules/unicase/u16-casexfrm: New file.
41777
41778         New module 'unicase/u8-casexfrm'.
41779         * lib/unicase/u8-casexfrm.c: New file.
41780         * lib/unicase/u-casexfrm.h: New file.
41781         * modules/unicase/u8-casexfrm: New file.
41782
41783         Tests for module 'unicase/u32-casecmp'.
41784         * modules/unicase/u32-casecmp-tests: New file.
41785         * tests/unicase/test-u32-casecmp.c: New file.
41786
41787         Tests for module 'unicase/u16-casecmp'.
41788         * modules/unicase/u16-casecmp-tests: New file.
41789         * tests/unicase/test-u16-casecmp.c: New file.
41790
41791         Tests for module 'unicase/u8-casecmp'.
41792         * modules/unicase/u8-casecmp-tests: New file.
41793         * tests/unicase/test-u8-casecmp.c: New file.
41794         * tests/unicase/test-casecmp.h: New file.
41795
41796         New module 'unicase/u32-casecmp'.
41797         * lib/unicase/u32-casecmp.c: New file.
41798         * modules/unicase/u32-casecmp: New file.
41799
41800         New module 'unicase/u16-casecmp'.
41801         * lib/unicase/u16-casecmp.c: New file.
41802         * modules/unicase/u16-casecmp: New file.
41803
41804         New module 'unicase/u8-casecmp'.
41805         * lib/unicase/u8-casecmp.c: New file.
41806         * lib/unicase/u-casecmp.h: New file.
41807         * modules/unicase/u8-casecmp: New file.
41808
41809         Tests for module 'unicase/u32-casefold'.
41810         * modules/unicase/u32-casefold-tests: New file.
41811         * tests/unicase/test-u32-casefold.c: New file.
41812
41813         Tests for module 'unicase/u16-casefold'.
41814         * modules/unicase/u16-casefold-tests: New file.
41815         * tests/unicase/test-u16-casefold.c: New file.
41816
41817         Tests for module 'unicase/u8-casefold'.
41818         * modules/unicase/u8-casefold-tests: New file.
41819         * tests/unicase/test-u8-casefold.c: New file.
41820
41821         New module 'unicase/u32-casefold'.
41822         * lib/unicase/u32-casefold.c: New file.
41823         * modules/unicase/u32-casefold: New file.
41824
41825         New module 'unicase/u16-casefold'.
41826         * lib/unicase/u16-casefold.c: New file.
41827         * modules/unicase/u16-casefold: New file.
41828
41829         New module 'unicase/u8-casefold'.
41830         * lib/unicase/u8-casefold.c: New file.
41831         * lib/unicase/u-casefold.h: New file.
41832         * modules/unicase/u8-casefold: New file.
41833
41834         New module 'unicase/tocasefold'.
41835         * lib/unicase/casefold.h: New file.
41836         * lib/unicase/tocasefold.c: New file.
41837         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
41838         * modules/unicase/tocasefold: New file.
41839
41840         Tests for module 'unicase/u32-totitle'.
41841         * modules/unicase/u32-totitle-tests: New file.
41842         * tests/unicase/test-u32-totitle.c: New file.
41843
41844         Tests for module 'unicase/u16-totitle'.
41845         * modules/unicase/u16-totitle-tests: New file.
41846         * tests/unicase/test-u16-totitle.c: New file.
41847
41848         Tests for module 'unicase/u8-totitle'.
41849         * modules/unicase/u8-totitle-tests: New file.
41850         * tests/unicase/test-u8-totitle.c: New file.
41851
41852         New module 'unicase/u32-totitle'.
41853         * lib/unicase/u32-totitle.c: New file.
41854         * modules/unicase/u32-totitle: New file.
41855
41856         New module 'unicase/u16-totitle'.
41857         * lib/unicase/u16-totitle.c: New file.
41858         * modules/unicase/u16-totitle: New file.
41859
41860         New module 'unicase/u8-totitle'.
41861         * lib/unicase/u8-totitle.c: New file.
41862         * lib/unicase/u-totitle.h: New file.
41863         * modules/unicase/u8-totitle: New file.
41864
41865         Tests for module 'unicase/u32-tolower'.
41866         * modules/unicase/u32-tolower-tests: New file.
41867         * tests/unicase/test-u32-tolower.c: New file.
41868
41869         Tests for module 'unicase/u16-tolower'.
41870         * modules/unicase/u16-tolower-tests: New file.
41871         * tests/unicase/test-u16-tolower.c: New file.
41872
41873         Tests for module 'unicase/u8-tolower'.
41874         * modules/unicase/u8-tolower-tests: New file.
41875         * tests/unicase/test-u8-tolower.c: New file.
41876
41877         New module 'unicase/u32-tolower'.
41878         * lib/unicase/u32-tolower.c: New file.
41879         * modules/unicase/u32-tolower: New file.
41880
41881         New module 'unicase/u16-tolower'.
41882         * lib/unicase/u16-tolower.c: New file.
41883         * modules/unicase/u16-tolower: New file.
41884
41885         New module 'unicase/u8-tolower'.
41886         * lib/unicase/u8-tolower.c: New file.
41887         * modules/unicase/u8-tolower: New file.
41888
41889         Tests for module 'unicase/u32-toupper'.
41890         * modules/unicase/u32-toupper-tests: New file.
41891         * tests/unicase/test-u32-toupper.c: New file.
41892
41893         Tests for module 'unicase/u16-toupper'.
41894         * modules/unicase/u16-toupper-tests: New file.
41895         * tests/unicase/test-u16-toupper.c: New file.
41896
41897         Tests for module 'unicase/u8-toupper'.
41898         * modules/unicase/u8-toupper-tests: New file.
41899         * tests/unicase/test-u8-toupper.c: New file.
41900
41901         New module 'unicase/u32-toupper'.
41902         * lib/unicase/u32-toupper.c: New file.
41903         * modules/unicase/u32-toupper: New file.
41904
41905         New module 'unicase/u16-toupper'.
41906         * lib/unicase/u16-toupper.c: New file.
41907         * modules/unicase/u16-toupper: New file.
41908
41909         New module 'unicase/u8-toupper'.
41910         * lib/unicase/u8-toupper.c: New file.
41911         * modules/unicase/u8-toupper: New file.
41912
41913         New module 'unicase/u32-casemap'.
41914         * lib/unicase/u32-casemap.c: New file.
41915         * modules/unicase/u32-casemap: New file.
41916
41917         New module 'unicase/u16-casemap'.
41918         * lib/unicase/u16-casemap.c: New file.
41919         * modules/unicase/u16-casemap: New file.
41920
41921         New module 'unicase/u8-casemap'.
41922         * lib/unicase/unicasemap.h: New file.
41923         * lib/unicase/u8-casemap.c: New file.
41924         * lib/unicase/u-casemap.h: New file.
41925         * modules/unicase/u8-casemap: New file.
41926
41927         New module 'unicase/special-casing'.
41928         * lib/unicase/special-casing.h: New file.
41929         * lib/unicase/special-casing.c: New file.
41930         * lib/unicase/special-casing-table.gperf: New file, generated by
41931         gen-uni-tables.c.
41932         * modules/unicase/special-casing: New file.
41933
41934         Tests for module 'unicase/locale-language'.
41935         * modules/unicase/locale-language-tests: New file.
41936         * tests/unicase/test-locale-language.sh: New file.
41937         * tests/unicase/test-locale-language.c: New file.
41938
41939         New module 'unicase/locale-language'.
41940         * lib/unicase/locale-language.c: New file.
41941         * lib/unicase/locale-languages.gperf: New file.
41942         * modules/unicase/locale-language: New file.
41943
41944         Generate more tables for case conversion and case folding.
41945         * lib/gen-uni-tables.c (SCC_*): New enum items.
41946         (struct special_casing_rule): New type.
41947         (casing_rules, num_casing_rules, allocated_casing_rules): New
41948         variables.
41949         (add_casing_rule, fill_casing_rules): New functions.
41950         (struct casefold_rule): New type.
41951         (casefolding_rules, num_casefolding_rules,
41952         allocated_casefolding_rules): New variables.
41953         (fill_casefolding_rules): New function.
41954         (unicode_casefold): New variable.
41955         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
41956         sort_casing_rules, output_casing_rules): New functions.
41957         (main): Accept to more arguments: SpecialCasing.txt and
41958         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
41959         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
41960         Output mapping for casefolding.
41961
41962         * lib/unicase.h: Include stdbool.h, uninorm.h.
41963         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
41964         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
41965         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
41966         arguments.
41967         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
41968         resultp arguments.
41969         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
41970         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
41971         resultp arguments.
41972         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
41973         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
41974         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
41975         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
41976         declarations.
41977         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
41978
41979 2009-03-08  Bruno Haible  <bruno@clisp.org>
41980
41981         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
41982         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
41983         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
41984         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
41985
41986 2009-03-07  Bruno Haible  <bruno@clisp.org>
41987
41988         Adjust u*_normcmp, u*_normcoll API.
41989         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
41990         u16_normcoll, u32_normcoll): Change failure conventions.
41991         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
41992         errno and return -1.
41993         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
41994
41995 2009-03-07  Bruno Haible  <bruno@clisp.org>
41996
41997         Tests for module 'uninorm/u32-normcoll'.
41998         * modules/uninorm/u32-normcoll-tests: New file.
41999         * tests/uninorm/test-u32-normcoll.c: New file.
42000
42001         Tests for module 'uninorm/u16-normcoll'.
42002         * modules/uninorm/u16-normcoll-tests: New file.
42003         * tests/uninorm/test-u16-normcoll.c: New file.
42004
42005         Tests for module 'uninorm/u8-normcoll'.
42006         * modules/uninorm/u8-normcoll-tests: New file.
42007         * tests/uninorm/test-u8-normcoll.c: New file.
42008
42009 2009-03-07  Bruno Haible  <bruno@clisp.org>
42010
42011         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
42012         tests/uninorm/test-u32-normcmp.c.
42013         * tests/uninorm/test-u32-normcmp.c: Include it.
42014         (test_nonascii): New function, extracted from main. Add some more
42015         tests.
42016         (main): Invoke test_ascii and test_nonascii.
42017         * modules/uninorm/u32-normcmp-tests (Files): Add
42018         tests/uninorm/test-u32-normcmp.h.
42019         (Depends-on): Remove uninorm/u32-normcmp.
42020
42021         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
42022         tests/uninorm/test-u16-normcmp.c.
42023         * tests/uninorm/test-u16-normcmp.c: Include it.
42024         (test_nonascii): New function, extracted from main. Add some more
42025         tests.
42026         (main): Invoke test_ascii and test_nonascii.
42027         * modules/uninorm/u16-normcmp-tests (Files): Add
42028         tests/uninorm/test-u16-normcmp.h.
42029         (Depends-on): Remove uninorm/u16-normcmp.
42030
42031         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
42032         tests/uninorm/test-u8-normcmp.c.
42033         * tests/uninorm/test-u8-normcmp.c: Include it.
42034         (test_nonascii): New function, extracted from main. Add some more
42035         tests.
42036         (main): Invoke test_ascii and test_nonascii.
42037         * modules/uninorm/u8-normcmp-tests (Files): Add
42038         tests/uninorm/test-u8-normcmp.h.
42039         (Depends-on): Remove uninorm/u8-normcmp.
42040
42041 2009-03-07  Bruno Haible  <bruno@clisp.org>
42042
42043         New module 'uninorm/u32-normcoll'.
42044         * lib/uninorm/u32-normcoll.c: New file.
42045         * modules/uninorm/u32-normcoll: New file.
42046
42047         New module 'uninorm/u16-normcoll'.
42048         * lib/uninorm/u16-normcoll.c: New file.
42049         * modules/uninorm/u16-normcoll: New file.
42050
42051         New module 'uninorm/u8-normcoll'.
42052         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
42053         declarations.
42054         * lib/uninorm/u8-normcoll.c: New file.
42055         * lib/uninorm/u-normcoll.h: New file.
42056         * modules/uninorm/u8-normcoll: New file.
42057
42058         New module 'uninorm/u32-normxfrm'.
42059         * lib/uninorm/u32-normxfrm.c: New file.
42060         * modules/uninorm/u32-normxfrm: New file.
42061
42062         New module 'uninorm/u16-normxfrm'.
42063         * lib/uninorm/u16-normxfrm.c: New file.
42064         * modules/uninorm/u16-normxfrm: New file.
42065
42066         New module 'uninorm/u8-normxfrm'.
42067         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
42068         declarations.
42069         * lib/uninorm/u8-normxfrm.c: New file.
42070         * lib/uninorm/u-normxfrm.h: New file.
42071         * modules/uninorm/u8-normxfrm: New file.
42072
42073 2009-03-07  Bruno Haible  <bruno@clisp.org>
42074
42075         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
42076         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
42077         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
42078
42079 2009-03-07  Bruno Haible  <bruno@clisp.org>
42080
42081         New module 'memxfrm'.
42082         * lib/memxfrm.h: New file.
42083         * lib/memxfrm.c: New file.
42084         * modules/memxfrm: New file.
42085
42086 2009-03-07  Bruno Haible  <bruno@clisp.org>
42087
42088         New module 'memcmp2'.
42089         * lib/memcmp2.h: New file.
42090         * lib/memcmp2.c: New file.
42091         * modules/memcmp2: New file.
42092
42093 2009-03-07  Bruno Haible  <bruno@clisp.org>
42094
42095         Tests for module 'uninorm/decomposing-form'.
42096         * modules/uninorm/decomposing-form-tests: New file.
42097         * tests/uninorm/test-decomposing-form.c: New file.
42098
42099         New module 'uninorm/decomposing-form'.
42100         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
42101         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
42102         Add 'decomposing_variant' field.
42103         * lib/uninorm/decomposing-form.c: New file.
42104         * lib/uninorm/nfc.c (uninorm_nfc): Update.
42105         * lib/uninorm/nfd.c (uninorm_nfd): Update.
42106         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
42107         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
42108         * modules/uninorm/decomposing-form: New file.
42109         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
42110         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
42111
42112 2009-03-07  Bruno Haible  <bruno@clisp.org>
42113
42114         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
42115         strings.
42116
42117 2009-03-06  Bruno Haible  <bruno@clisp.org>
42118
42119         Tests for module 'uninorm/u32-normcmp'.
42120         * tests/uninorm/test-u32-normcmp.c: New file.
42121         * modules/uninorm/u32-normcmp-tests: New file.
42122
42123         Tests for module 'uninorm/u16-normcmp'.
42124         * tests/uninorm/test-u16-normcmp.c: New file.
42125         * modules/uninorm/u16-normcmp-tests: New file.
42126
42127         Tests for module 'uninorm/u8-normcmp'.
42128         * tests/uninorm/test-u8-normcmp.c: New file.
42129         * modules/uninorm/u8-normcmp-tests: New file.
42130
42131         New module 'uninorm/u32-normcmp'.
42132         * lib/uninorm/u32-normcmp.c: New file.
42133         * modules/uninorm/u32-normcmp: New file.
42134
42135         New module 'uninorm/u16-normcmp'.
42136         * lib/uninorm/u16-normcmp.c: New file.
42137         * modules/uninorm/u16-normcmp: New file.
42138
42139         New module 'uninorm/u8-normcmp'.
42140         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
42141         declarations.
42142         * lib/uninorm/u8-normcmp.c: New file.
42143         * lib/uninorm/u-normcmp.h: New file.
42144         * modules/uninorm/u8-normcmp: New file.
42145
42146 2009-03-06  Bruno Haible  <bruno@clisp.org>
42147
42148         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
42149         Reported by Eric Blake.
42150
42151 2009-03-06  Eric Blake  <ebb9@byu.net>
42152             Bruno Haible  <bruno@clisp.org>
42153
42154         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
42155         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
42156         condition.
42157         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
42158         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
42159         condition.
42160         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
42161
42162 2009-03-06  Eric Blake  <ebb9@byu.net>
42163
42164         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
42165         to avoid compiler warnings.
42166         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
42167
42168 2009-03-05  Bruno Haible  <bruno@clisp.org>
42169
42170         * tests/test-ftell.c (main): Disable test beyond end of file on
42171         FreeMiNT.
42172         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
42173
42174 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
42175
42176         * lib/filevercmp.c: Move hidden files up in ordering.
42177         * tests/test-filevercmp.c: Add tests for hidden files.
42178
42179 2009-03-04  Bruno Haible  <bruno@clisp.org>
42180
42181         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
42182         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
42183         AM_CFLAGS.
42184         Reported by Simon Josefsson.
42185
42186 2009-03-03  Bruno Haible  <bruno@clisp.org>
42187
42188         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
42189         Reported by Simon Josefsson.
42190
42191         * doc/ld-version-script.texi: Update node reference.
42192
42193 2009-03-03  Bruno Haible  <bruno@clisp.org>
42194
42195         * modules/visibility (License): Change to 'unlimited'.
42196         Suggested by Simon Josefsson.
42197
42198 2009-03-03  Jim Meyering  <meyering@redhat.com>
42199
42200         unlinkdir: cannot_unlink_dir may modify process state
42201         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
42202         it's neither thread-safe nor appropriate for use in a library.
42203
42204 2009-03-03  Eric Blake  <ebb9@byu.net>
42205
42206         test-closein: silence test under Darwin
42207         * tests/test-closein.sh: Ignore stderr from cat, since we don't
42208         care if it dies from EPIPE or EBADF.
42209
42210 2009-03-03  Bruno Haible  <bruno@clisp.org>
42211
42212         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
42213         earlier.
42214         * doc/visibility.texi: Fix @node and @section.
42215
42216 2009-03-03  Simon Josefsson  <simon@josefsson.org>
42217
42218         * doc/gnulib.texi: Link to sections for ld version script and
42219         visibility.
42220         * doc/visibility.texi: Add @node and @section.
42221         * modules/ld-version-script: New module.
42222         * m4/ld-version-script.m4: New file.
42223         * doc/ld-version-script.texi: New file.
42224
42225 2009-03-02  David Lutterkort  <lutter@redhat.com>
42226
42227         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
42228         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42229
42230 2009-03-02  Bruno Haible  <bruno@clisp.org>
42231
42232         * doc/visibility.texi: Mention libtool's -export-symbols option.
42233
42234 2009-03-02  Jim Meyering  <meyering@redhat.com>
42235
42236         announce-gen: new option: --no-print-checksums
42237         * build-aux/announce-gen (usage): Describe it.
42238         (print_checksums): Print a newline here, not in the [*] footnote.
42239         (main): Honor it.
42240
42241 2009-03-01  Bruno Haible  <bruno@clisp.org>
42242
42243         Use socklen_t in the native Windows replacements prototypes.
42244         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
42245         instead of 'int'.
42246         * lib/getsockopt.c (rpl_getsockopt): Likewise.
42247         * lib/setsockopt.c (rpl_setsockopt): Likewise.
42248         * modules/getsockopt (Depends-on): Add socklen.
42249         * modules/setsockopt (Depends-on): Add socklen.
42250
42251 2009-03-01  Bruno Haible  <bruno@clisp.org>
42252
42253         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
42254         least 4.2.
42255
42256 2009-03-01  Eric Blake  <ebb9@byu.net>
42257             Bruno Haible  <bruno@clisp.org>
42258
42259         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
42260         error messages.
42261         * lib/wait-process.c (wait_subprocess): Omit error message about
42262         deadly signal sent to the child of termsigp != NULL.
42263
42264 2009-03-01  Eric Blake  <ebb9@byu.net>
42265
42266         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
42267
42268 2009-03-01  Bruno Haible  <bruno@clisp.org>
42269
42270         Avoid a gcc warning.
42271         * tests/test-sched.c (b): Make global.
42272         Reported by Eric Blake.
42273
42274 2009-01-19  Martin Lambers  <marlam@marlam.de>
42275
42276         Provide POSIX semantics for socket timeout options on W32.
42277         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
42278         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
42279         * modules/setsockopt: Depend on sys_time module for struct timeval.
42280         * modules/getsockopt: Depend on sys_time module for struct timeval.
42281
42282 2009-03-01  Simon Josefsson  <simon@josefsson.org>
42283
42284         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
42285         __USE_GNU, for consistency with netdb.in.h.
42286         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42287
42288 2009-03-01  Bruno Haible  <bruno@clisp.org>
42289
42290         More support for FreeMiNT.
42291         * lib/fseeko.c (rpl_fseeko): Complete last commit.
42292         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42293
42294 2009-03-01  Bruno Haible  <bruno@clisp.org>
42295
42296         More support for FreeMiNT.
42297         * lib/fpurge.c (fpurge): Correct last commit.
42298         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42299
42300 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42301
42302         Fix unportable awk script in vc-list-files.
42303         * build-aux/vc-list-files: In the replacement awk script, use
42304         substr with a second argument of 1, not zero.
42305         Report by Simon Josefsson.
42306
42307 2009-02-28  Bruno Haible  <bruno@clisp.org>
42308
42309         More support for FreeMiNT.
42310         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
42311         to FreeMiNT today.
42312         * lib/fwriting.c (fwriting): Likewise.
42313         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
42314
42315 2009-02-28  Bruno Haible  <bruno@clisp.org>
42316
42317         * tests/test-freadseek.c (main): Disable test beyond end of file on
42318         FreeMiNT.
42319         * tests/test-ftello.c (main): Likewise.
42320         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
42321
42322 2009-02-28  Bruno Haible  <bruno@clisp.org>
42323
42324         Add tentative support for FreeMiNT.
42325         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
42326         * lib/fpurge.c (fpurge): Likewise.
42327         * lib/freadable.c (freadable): Likewise.
42328         * lib/freading.c (freading): Likewise.
42329         * lib/freadptr.c (freadptr): Likewise.
42330         * lib/freadseek.c (freadptrinc): Likewise.
42331         * lib/fseeko.c (rpl_fseeko): Likewise.
42332         * lib/fseterr.c (fseterr): Likewise.
42333         * lib/fwritable.c (fwritable): Likewise.
42334         * lib/fwriting.c (fwriting): Likewise.
42335         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
42336         Hourihane.
42337         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42338
42339 2009-02-28  Bruno Haible  <bruno@clisp.org>
42340
42341         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
42342         SIGCHLD.
42343         Reported by Jim Meyering.
42344
42345 2009-02-28  Bruno Haible  <bruno@clisp.org>
42346
42347         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
42348         Mention the results of these tests on various platforms.
42349         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
42350         order.
42351         * doc/posix-functions/printf.texi: Likewise.
42352         * doc/posix-functions/snprintf.texi: Likewise.
42353         * doc/posix-functions/sprintf.texi: Likewise.
42354         * doc/posix-functions/vfprintf.texi: Likewise.
42355         * doc/posix-functions/vprintf.texi: Likewise.
42356         * doc/posix-functions/vsnprintf.texi: Likewise.
42357         * doc/posix-functions/vsprintf.texi: Likewise.
42358         * doc/glibc-functions/obstack_printf.texi: Likewise.
42359         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
42360
42361 2009-02-28  Bruno Haible  <bruno@clisp.org>
42362
42363         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
42364         Reported by Loïc Minier <lool@dooz.org>.
42365
42366 2009-02-27  Bruno Haible  <bruno@clisp.org>
42367
42368         * gnulib-tool (func_import): Make the sed expression used to create the
42369         sed script for updating the .gitignore file POSIX compliant.
42370         Reported by Eric Blake.
42371
42372 2009-02-27  Bruno Haible  <bruno@clisp.org>
42373
42374         * gnulib-tool (sed): Don't alias as "sed --posix".
42375         Reported by Eric Blake.
42376
42377 2009-02-27  Bruno Haible  <bruno@clisp.org>
42378
42379         Avoid test link errors.
42380         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
42381         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
42382         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
42383         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
42384         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42385
42386 2009-02-27  Bruno Haible  <bruno@clisp.org>
42387
42388         Avoid spurious "(cached)" in configure output.
42389         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
42390         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
42391         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
42392         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
42393         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
42394         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
42395         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
42396         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
42397         Reported by Eric Blake.
42398
42399 2009-02-27  Eric Blake  <ebb9@byu.net>
42400
42401         printf: fix regression in previous patch
42402         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
42403
42404 2009-02-27  Bruno Haible  <bruno@clisp.org>
42405
42406         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
42407         value.
42408         * lib/stdint.in.h: Likewise.
42409         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
42410
42411 2009-02-27  Eric Blake  <ebb9@byu.net>
42412
42413         doc: mention more functions added in cygwin 1.7.0
42414         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
42415         addition.
42416         * doc/posix-functions/open_wmemstream.texi: Likewise.
42417         * doc/posix-functions/wcsnlen.texi: Likewise.
42418         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42419         * doc/posix-functions/wcstod.texi: Likewise.
42420         * doc/posix-functions/wcstof.texi: Likewise.
42421         * doc/posix-functions/wcstoimax.texi: Likewise.
42422         * doc/posix-functions/wcstok.texi: Likewise.
42423         * doc/posix-functions/wcstoumax.texi: Likewise.
42424
42425         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
42426         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
42427         * doc/posix-functions/fprintf.texi: Update.
42428         * doc/posix-functions/printf.texi: Update.
42429         * doc/posix-functions/snprintf.texi: Update.
42430         * doc/posix-functions/sprintf.texi: Update.
42431         * doc/posix-functions/vfprintf.texi: Update.
42432         * doc/posix-functions/vprintf.texi: Update.
42433         * doc/posix-functions/vsnprintf.texi: Update.
42434         * doc/posix-functions/vsprintf.texi: Update.
42435         * doc/glibc-functions/obstack_printf.texi: Update.
42436         * doc/glibc-functions/obstack_vprintf.texi: Update.
42437
42438 2009-02-26  Eric Blake  <ebb9@byu.net>
42439
42440         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
42441         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
42442         compilation bug by using runtime conversion.
42443         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
42444         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
42445         * modules/ceill-tests (Files): Use nan.h.
42446         * modules/floorl-tests (Files): Likewise.
42447         * modules/frexpl-tests (Files): Likewise.
42448         * modules/isnanl-tests (Files): Likewise.
42449         * modules/ldexpl-tests (Files): Likewise.
42450         * modules/roundl-tests (Files): Likewise.
42451         * modules/truncl-tests (Files): Likewise.
42452         * tests/test-ceill.c (main): Use a working NaN.
42453         * tests/test-floorl.c (main): Likewise.
42454         * tests/test-frexpl.c (main): Likewise.
42455         * tests/test-isnan.c (test_long_double): Likewise.
42456         * tests/test-isnanl.h (main): Likewise.
42457         * tests/test-ldexpl.h (main): Likewise.
42458         * tests/test-roundl.h (main): Likewise.
42459         * tests/test-truncl.h (main): Likewise.
42460         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
42461
42462 2009-02-26  Eric Blake  <ebb9@byu.net>
42463             Bruno Haible  <bruno@clisp.org>
42464
42465         Work around a *printf bug with %ls on Solaris.
42466         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
42467         precision is specified, sprintf stops converting the wide string
42468         argument when the number of bytes that have been produced by this
42469         conversion equals or exceeds the precision.
42470         * doc/posix-functions/fprintf.texi: Update.
42471         * doc/posix-functions/printf.texi: Update.
42472         * doc/posix-functions/snprintf.texi: Update.
42473         * doc/posix-functions/sprintf.texi: Update.
42474         * doc/posix-functions/vfprintf.texi: Update.
42475         * doc/posix-functions/vprintf.texi: Update.
42476         * doc/posix-functions/vsnprintf.texi: Update.
42477         * doc/posix-functions/vsprintf.texi: Update.
42478         * doc/glibc-functions/obstack_printf.texi: Update.
42479         * doc/glibc-functions/obstack_vprintf.texi: Update.
42480
42481 2009-02-26  Eric Blake  <ebb9@byu.net>
42482
42483         stdlib: favor compiler check of random.h
42484         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
42485         to avoid an ObjC random.h installed by Swarm.
42486
42487 2009-02-26  Bruno Haible  <bruno@clisp.org>
42488
42489         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
42490         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
42491         Reported by Gary V. Vaughan <gary@gnu.org>.
42492
42493 2009-02-26  Bruno Haible  <bruno@clisp.org>
42494
42495         Fix *printf behaviour regarding the %ls directive.
42496         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
42497         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
42498         NEED_PRINTF_DIRECTIVE_LS.
42499         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
42500         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42501         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42502         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
42503         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
42504         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
42505         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
42506         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42507         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42508         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42509         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42510         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
42511         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42512         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42513         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42514         * doc/posix-functions/fprintf.texi: Update.
42515         * doc/posix-functions/printf.texi: Update.
42516         * doc/posix-functions/snprintf.texi: Update.
42517         * doc/posix-functions/sprintf.texi: Update.
42518         * doc/posix-functions/vfprintf.texi: Update.
42519         * doc/posix-functions/vprintf.texi: Update.
42520         * doc/posix-functions/vsnprintf.texi: Update.
42521         * doc/posix-functions/vsprintf.texi: Update.
42522         * doc/glibc-functions/obstack_printf.texi: Update.
42523         * doc/glibc-functions/obstack_vprintf.texi: Update.
42524         Reported by Eric Blake.
42525
42526 2009-02-25  Bruno Haible  <bruno@clisp.org>
42527
42528         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
42529         with known value.
42530         Reported by Gary V. Vaughan <gary@gnu.org>.
42531
42532 2009-02-25  Bruno Haible  <bruno@clisp.org>
42533
42534         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
42535         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
42536         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
42537         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
42538         Reported by Gary V. Vaughan <gary@gnu.org>.
42539
42540 2009-02-25  Bruno Haible  <bruno@clisp.org>
42541
42542         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
42543         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
42544         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
42545         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
42546         Reported by Gary V. Vaughan <gary@gnu.org>.
42547
42548 2009-02-25  Eric Blake  <ebb9@byu.net>
42549
42550         tests: skip fseek/ftell tests if ungetc is broken
42551         * m4/ungetc.m4: New file.
42552         * modules/fseek-tests: Split test, so ungetc dependency is
42553         separate from rest of test.
42554         * modules/fseeko-tests: Likewise.
42555         * modules/ftell-tests: Likewise.
42556         * modules/ftello-tests: Likewise.
42557         * tests/test-fseek.c (main): Isolate ungetc dependency.
42558         * tests/test-fseeko.c (main): Likewise.
42559         * tests/test-ftell.c (main): Likewise.
42560         * tests/test-ftello.c (main): Likewise.
42561         * tests/test-fseek2.sh: New file.
42562         * tests/test-fseeko2.sh: Likewise.
42563         * tests/test-ftell2.sh: Likewise.
42564         * tests/test-ftello2.sh: Likewise.
42565
42566 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
42567
42568         test-getaddrinfo: fix usage of skip return code 77
42569         * tests/test-gettaddrinfo.c: Return skip code 77 only
42570         for first occurance of skip (4x77 is not 77)
42571
42572 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
42573
42574         strtod: avoid C99 decl-after-statement
42575         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
42576
42577 2009-02-24  Eric Blake  <ebb9@byu.net>
42578
42579         strtod: detect HP-UX 11.31 bug
42580         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
42581         Reported by Gary V. Vaughan.
42582
42583 2009-02-23  Bruno Haible  <bruno@clisp.org>
42584
42585         Fix invalid read past end of memory block.
42586         * lib/vasnprintf.c (DCHAR_SET): Define.
42587         (local_wcslen): Define only when needed.
42588         (local_strnlen, local_wcsnlen): New functions.
42589         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
42590         directives that involve a conversion ourselves.
42591         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
42592         wcsnlen, mbrtowc, wcrtomb.
42593         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
42594         * tests/test-vasprintf-posix.c (test_function): Likewise.
42595         * tests/test-snprintf-posix.h (test_function): Likewise.
42596         * tests/test-sprintf-posix.h (test_function): Likewise.
42597         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42598
42599 2009-02-22  Bruno Haible  <bruno@clisp.org>
42600
42601         Implement new clarified decomposition of Hangul syllables.
42602         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
42603         of type LTV, return only a pairwise decomposition.
42604         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
42605         Likewise.
42606         * tests/uninorm/test-decomposition.c (main): Updated expected result.
42607         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
42608         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
42609
42610 2009-02-22  Bruno Haible  <bruno@clisp.org>
42611
42612         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
42613         zero-length results and shrink excess allocated memory.
42614         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
42615         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
42616         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
42617         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
42618         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
42619         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
42620         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
42621         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
42622         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
42623         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
42624         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
42625         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
42626
42627 2009-02-21  Bruno Haible  <bruno@clisp.org>
42628
42629         * doc/gnulib.texi: Include safe-alloc.texi earlier.
42630         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
42631         spaces after a period. Put a space between a macro name and its
42632         argument list. Trivial rewordings.
42633         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
42634         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
42635         (main): Return 0 explicitly.
42636
42637 2009-02-21  Bruno Haible  <bruno@clisp.org>
42638
42639         Tests for module 'uninorm/filter'.
42640         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
42641         * modules/uninorm/filter-tests: New file.
42642
42643         New module 'uninorm/filter'.
42644         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
42645         uninorm_filter_flush, uninorm_filter_free): New declarations.
42646         * lib/uninorm/uninorm-filter.c: New file.
42647         * modules/uninorm/filter: New file.
42648
42649 2009-02-21  Bruno Haible  <bruno@clisp.org>
42650
42651         Tests for module 'uninorm/nfkc'.
42652         * tests/uninorm/test-nfkc.c: New file.
42653         * tests/uninorm/test-u8-nfkc.c: New file.
42654         * tests/uninorm/test-u16-nfkc.c: New file.
42655         * tests/uninorm/test-u32-nfkc.c: New file.
42656         * tests/uninorm/test-u32-nfkc-big.sh: New file.
42657         * tests/uninorm/test-u32-nfkc-big.c: New file.
42658         * modules/uninorm/nfkc-tests: New file.
42659
42660         New module 'uninorm/nfkc'.
42661         * lib/uninorm/nfkc.c: New file.
42662         * modules/uninorm/nfkc: New file.
42663
42664         Tests for module 'uninorm/nfkd'.
42665         * tests/uninorm/test-nfkd.c: New file.
42666         * tests/uninorm/test-u8-nfkd.c: New file.
42667         * tests/uninorm/test-u16-nfkd.c: New file.
42668         * tests/uninorm/test-u32-nfkd.c: New file.
42669         * tests/uninorm/test-u32-nfkd-big.sh: New file.
42670         * tests/uninorm/test-u32-nfkd-big.c: New file.
42671         * modules/uninorm/nfkd-tests: New file.
42672
42673         New module 'uninorm/nfkd'.
42674         * lib/uninorm/nfkd.c: New file.
42675         * modules/uninorm/nfkd: New file.
42676
42677         Tests for module 'uninorm/nfc'.
42678         * tests/uninorm/test-nfc.c: New file.
42679         * tests/uninorm/test-u8-nfc.c: New file.
42680         * tests/uninorm/test-u16-nfc.c: New file.
42681         * tests/uninorm/test-u32-nfc.c: New file.
42682         * tests/uninorm/test-u32-nfc-big.sh: New file.
42683         * tests/uninorm/test-u32-nfc-big.c: New file.
42684         * modules/uninorm/nfc-tests: New file.
42685
42686         New module 'uninorm/nfc'.
42687         * lib/uninorm/nfc.c: New file.
42688         * modules/uninorm/nfc: New file.
42689
42690         Tests for module 'uninorm/nfd'.
42691         * tests/uninorm/test-nfd.c: New file.
42692         * tests/uninorm/test-u8-nfd.c: New file.
42693         * tests/uninorm/test-u16-nfd.c: New file.
42694         * tests/uninorm/test-u32-nfd.c: New file.
42695         * tests/uninorm/test-u32-nfd-big.sh: New file.
42696         * tests/uninorm/test-u32-nfd-big.c: New file.
42697         * tests/uninorm/test-u32-normalize-big.h: New file.
42698         * tests/uninorm/test-u32-normalize-big.c: New file.
42699         * tests/uninorm/NormalizationTest.txt: New file, created from
42700         Unicode 5.1.0 NormalizationTest.txt.
42701         * modules/uninorm/nfd-tests: New file.
42702
42703         New module 'uninorm/nfd'.
42704         * lib/uninorm/nfd.c: New file.
42705         * modules/uninorm/nfd: New file.
42706
42707         New module 'uninorm/u32-normalize'.
42708         * lib/uninorm/u32-normalize.c: New file.
42709         * modules/uninorm/u32-normalize: New file.
42710
42711         New module 'uninorm/u16-normalize'.
42712         * lib/uninorm/u16-normalize.c: New file.
42713         * modules/uninorm/u16-normalize: New file.
42714
42715         New module 'uninorm/u8-normalize'.
42716         * lib/uninorm/u8-normalize.c: New file.
42717         * lib/uninorm/normalize-internal.h: New file.
42718         * lib/uninorm/u-normalize-internal.h: New file.
42719         * modules/uninorm/u8-normalize: New file.
42720
42721         New module 'uninorm/decompose-internal'.
42722         * lib/uninorm/decompose-internal.c: New file.
42723         * modules/uninorm/decompose-internal: New file.
42724
42725         Tests for module 'uninorm/composition'.
42726         * tests/uninorm/test-composition.c: New file.
42727         * modules/uninorm/composition-tests: New file.
42728
42729         New module 'uninorm/composition'.
42730         * lib/uninorm/composition.c: New file.
42731         * lib/uninorm/composition-table.gperf: New file, generated by
42732         gen-uni-tables.
42733         * modules/uninorm/composition: New file.
42734
42735         Tests for module 'uninorm/compat-decomposition'.
42736         * tests/uninorm/test-compat-decomposition.c: New file.
42737         * modules/uninorm/compat-decomposition-tests: New file.
42738
42739         New module 'uninorm/compat-decomposition'.
42740         * lib/uninorm/decompose-internal.h: New file.
42741         * lib/uninorm/compat-decomposition.c: New file.
42742         * modules/uninorm/compat-decomposition: New file.
42743
42744         Tests for module 'uninorm/canonical-decomposition'.
42745         * tests/uninorm/test-canonical-decomposition.c: New file.
42746         * modules/uninorm/canonical-decomposition-tests: New file.
42747
42748         New module 'uninorm/canonical-decomposition'.
42749         * lib/uninorm/canonical-decomposition.c: New file.
42750         * modules/uninorm/canonical-decomposition: New file.
42751
42752         Tests for module 'uninorm/decomposition'.
42753         * tests/uninorm/test-decomposition.c: New file.
42754         * modules/uninorm/decomposition-tests: New file.
42755
42756         New module 'uninorm/decomposition'.
42757         * lib/uninorm/decomposition.c: New file.
42758         * modules/uninorm/decomposition: New file.
42759
42760         New module 'uninorm/decomposition-table'.
42761         * lib/uninorm/decomposition-table.h: New file.
42762         * lib/uninorm/decomposition-table.c: New file.
42763         * lib/uninorm/decomposition-table1.h: New file, generated by
42764         gen-uni-tables.
42765         * lib/uninorm/decomposition-table2.h: New file, generated by
42766         gen-uni-tables.
42767         * modules/uninorm/decomposition-table: New file.
42768
42769         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
42770         (UC_DECOMP_*): New enumeration items.
42771         (get_decomposition): New function.
42772         (struct decomp_table): New type.
42773         (output_decomposition, output_decomposition_tables): New functions.
42774         (unicode_composition_exclusions): New variable.
42775         (fill_composition_exclusions, debug_output_composition_tables): New
42776         functions.
42777         (main): Accept one more argument. Invoke fill_composition_exclusions.
42778         Output decomposition and composition tables.
42779
42780         New module 'uninorm/base'.
42781         * lib/uninorm.h: New file.
42782         * lib/unictype.h: Update comment.
42783         * modules/uninorm/base: New file.
42784
42785 2009-02-21  David Lutterkort  <lutter@redhat.com>
42786
42787         Tests for module 'safe-alloc'.
42788         * tests/test-safe-alloc.c: New file.
42789         * modules/safe-alloc-tests: New file.
42790
42791         New module 'safe-alloc'.
42792         * lib/safe-alloc.h: New file.
42793         * lib/safe-alloc.c: New file.
42794         * m4/safe-alloc.m4: New file.
42795         * modules/safe-alloc: New file.
42796         * doc/safe-alloc.texi: New file.
42797         * doc/gnulib.texi: Include it.
42798         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
42799         safe-alloc.
42800
42801 2009-02-18  Bruno Haible  <bruno@clisp.org>
42802
42803         Fix link error on non-glibc systems.
42804         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
42805         variable.
42806         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42807
42808 2009-02-18  Jim Meyering  <meyering@redhat.com>
42809
42810         fts: avoid used-uninitialized error due to recent change
42811         * lib/fts.c (fts_read): Guard uses of the new member,
42812         parent->fts_n_dirs_remaining, since it's not relevant for
42813         the parent of a directory specified on the command-line.
42814
42815 2009-02-17  James Youngman  <jay@gnu.org>
42816             Bruno Haible  <bruno@clisp.org>
42817
42818         * m4/include_next.m4: Reformulate comment.
42819
42820 2009-02-16  Jim Meyering  <meyering@redhat.com>
42821
42822         fts: add #if guards so that the fts_lgpl module still builds
42823         * lib/fts.c: Guard just-added hash-table-using parts with
42824         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
42825         Reported by Simon Josefsson.
42826
42827 2009-02-15  Bruno Haible  <bruno@clisp.org>
42828
42829         * modules/array-mergesort-tests: New file.
42830         * tests/test-array-mergesort.c: New file.
42831
42832         New module 'array-mergesort'.
42833         * modules/array-mergesort: New file.
42834         * lib/array-mergesort.h: New file.
42835
42836 2009-02-15  Bruno Haible  <bruno@clisp.org>
42837
42838         Fix 2009-02-07 commit.
42839         * lib/gen-uni-tables.c (output_predicate, output_category,
42840         output_combclass, output_bidi_category, output_decimal_digit,
42841         output_digit, output_numeric, output_mirror, output_scripts,
42842         output_ident_category, output_simple_mapping): Fix format directives.
42843         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
42844
42845 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
42846
42847         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
42848         fixes are available from IBM.
42849
42850 2009-02-13  Jim Meyering  <meyering@redhat.com>
42851
42852         fts: arrange not to stat non-directories in more cases
42853         This makes GNU find (when it doesn't need to stat each file)
42854         *much* more efficient at traversing reiserfs file systems.
42855         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
42856         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
42857         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
42858         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
42859         (leaf_optimization_applies): New function.
42860         (LCO_hash, LCO_compare): New helper functions.
42861         (link_count_optimize_ok): New function.
42862         (fts_stat): Initialize new member (if dir).
42863         (fts_read): Decrement parent's fts_n_dirs_remaining count if
42864         we've just stat'ed a directory.  Skip the stat call when possible.
42865         ---
42866         Note this AFS-related exchange:
42867         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
42868         and note find's pioctl call in find/fstype.c.
42869         But that is necessary only if you want to enable the
42870         optimization for AFS, and for now, I don't.
42871
42872         fts: move a function definition "up" (no semantic change)
42873         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
42874         "up" to precede upcoming use of a related function.
42875
42876 2009-02-11  Jim Meyering  <meyering@redhat.com>
42877
42878         fts: correct internal computation of nlinks (optimization-related)
42879         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
42880         whether the current entry is a directory, so don't test it.
42881
42882 2009-02-10  Bruno Haible  <bruno@clisp.org>
42883
42884         Tests for module 'uniwbrk/ulc-wordbreaks'.
42885         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
42886         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
42887         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
42888
42889         Tests for module 'uniwbrk/u32-wordbreaks'.
42890         * modules/uniwbrk/u32-wordbreaks-tests: New file.
42891         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
42892
42893         Tests for module 'uniwbrk/u16-wordbreaks'.
42894         * modules/uniwbrk/u16-wordbreaks-tests: New file.
42895         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
42896
42897         Tests for module 'uniwbrk/u8-wordbreaks'.
42898         * modules/uniwbrk/u8-wordbreaks-tests: New file.
42899         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
42900
42901 2009-02-10  Bruno Haible  <bruno@clisp.org>
42902
42903         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
42904         property.
42905         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
42906         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
42907         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
42908
42909 2009-02-10  Simon Josefsson  <simon@josefsson.org>
42910
42911         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
42912         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
42913
42914 2009-02-10  Bruno Haible  <bruno@clisp.org>
42915
42916         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
42917         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
42918         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
42919         * lib/unilbrk/u8-possible-linebreaks.c: Update.
42920         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
42921         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
42922
42923 2009-02-09  Simon Josefsson  <simon@josefsson.org>
42924
42925         * lib/sockets.h (gl_fd_to_handle): New function.
42926
42927         * tests/test-sockets.c: Call gl_fd_to_handle.
42928
42929 2009-02-09  Bruno Haible  <bruno@clisp.org>
42930
42931         * doc/havelib.texi: Document the conventions on bi-arch systems.
42932
42933 2009-02-08  Bruno Haible  <bruno@clisp.org>
42934
42935         Document the AC_LIB_LINKFLAGS macro.
42936         * doc/havelib.texi: New file, mostly written on 2005-05-24.
42937         * doc/gnulib.texi: Include it.
42938
42939 2009-02-08  Bruno Haible  <bruno@clisp.org>
42940
42941         Fix wrong order of sections, compared to TOC.
42942         * doc/gnulib.texi: Include relocatable-maint.texi after the
42943         "Regular expressions" node, not before.
42944
42945 2009-02-08  Bruno Haible  <bruno@clisp.org>
42946
42947         Tests for module 'unicase/totitle'.
42948         * modules/unicase/totitle-tests: New file.
42949
42950         Tests for module 'unicase/tolower'.
42951         * modules/unicase/tolower-tests: New file.
42952
42953         Tests for module 'unicase/toupper'.
42954         * modules/unicase/toupper-tests: New file.
42955         * tests/unicase/test-mapping-part1.h: New file.
42956         * tests/unicase/test-mapping-part2.h: New file.
42957
42958         New module 'unicase/totitle'.
42959         * modules/unicase/totitle: New file.
42960         * lib/unicase/totitle.c: New file.
42961
42962         New module 'unicase/tolower'.
42963         * modules/unicase/tolower: New file.
42964         * lib/unicase/tolower.c: New file.
42965
42966         New module 'unicase/toupper'.
42967         * modules/unicase/toupper: New file.
42968         * lib/unicase/toupper.c: New file.
42969         * lib/unicase/simple-mapping.h: New file.
42970
42971         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
42972         (mapping_table): New structure.
42973         (output_simple_mapping): New function.
42974         (main): Invoke output_simple_mapping_test and output_simple_mapping.
42975         * modules/gen-uni-tables (Description): Update.
42976         * lib/unicase/toupper.h: New file, automatically generated by
42977         gen-uni-tables.
42978         * lib/unicase/tolower.h: New file, automatically generated by
42979         gen-uni-tables.
42980         * lib/unicase/totitle.h: New file, automatically generated by
42981         gen-uni-tables.
42982         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
42983         gen-uni-tables.
42984         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
42985         gen-uni-tables.
42986         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
42987         gen-uni-tables.
42988
42989         New module 'unicase/base'.
42990         * modules/unicase/base: New file.
42991         * lib/unicase.h: New file.
42992
42993 2009-02-08  Bruno Haible  <bruno@clisp.org>
42994
42995         New module 'uniwbrk/ulc-wordbreaks'.
42996         * modules/uniwbrk/ulc-wordbreaks: New file.
42997         * lib/uniwbrk/ulc-wordbreaks.c: New file.
42998
42999         New module 'uniwbrk/u32-wordbreaks'.
43000         * modules/uniwbrk/u32-wordbreaks: New file.
43001         * lib/uniwbrk/u32-wordbreaks.c: New file.
43002
43003         New module 'uniwbrk/u16-wordbreaks'.
43004         * modules/uniwbrk/u16-wordbreaks: New file.
43005         * lib/uniwbrk/u16-wordbreaks.c: New file.
43006
43007         New module 'uniwbrk/u8-wordbreaks'.
43008         * modules/uniwbrk/u8-wordbreaks: New file.
43009         * lib/uniwbrk/u8-wordbreaks.c: New file.
43010         * lib/uniwbrk/u-wordbreaks.h: New file.
43011
43012         New module 'uniwbrk/table'.
43013         * modules/uniwbrk/table: New file.
43014         * lib/uniwbrk/wbrktable.h: New file.
43015         * lib/uniwbrk/wbrktable.c: New file.
43016
43017         New module 'uniwbrk/wordbreak-property'.
43018         * modules/uniwbrk/wordbreak-property: New file.
43019         * lib/uniwbrk/wordbreak-property.c: New file.
43020
43021         * lib/gen-uni-tables.c (WBP_*): New enum items.
43022         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
43023         (unicode_org_wbp): New variable.
43024         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
43025         New functions.
43026         (wbp_table): New structure.
43027         (output_wbp, output_wbrk_tables): New functions.
43028         (main): Accept additional argument. Invoke fill_org_wbp,
43029         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
43030         output_wbrk_tables.
43031         * modules/gen-uni-tables (Description): Update.
43032         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
43033         gen-uni-tables.
43034
43035         New module 'uniwbrk/base'.
43036         * modules/uniwbrk/base: New file.
43037         * lib/uniwbrk.h: New file.
43038
43039 2009-02-08  Bruno Haible  <bruno@clisp.org>
43040
43041         Update to Unicode 5.1.0.
43042         * lib/gen-uni-tables.c (is_property_alphabetic): Include
43043         U+2185..U+2188.
43044         (is_property_default_ignorable_code_point): Don't include characters
43045         of category Cc or Cs and not-a-characters.
43046         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
43047         U+0D79, U+109E, U+109F, U+A60C.
43048         * lib/unictype/bidi_of.h: Regenerated.
43049         * lib/unictype/blocks.h: Regenerated.
43050         * lib/unictype/categ_C.h: Regenerated.
43051         * lib/unictype/categ_Cf.h: Regenerated.
43052         * lib/unictype/categ_Cn.h: Regenerated.
43053         * lib/unictype/categ_L.h: Regenerated.
43054         * lib/unictype/categ_Ll.h: Regenerated.
43055         * lib/unictype/categ_Lm.h: Regenerated.
43056         * lib/unictype/categ_Lo.h: Regenerated.
43057         * lib/unictype/categ_Lu.h: Regenerated.
43058         * lib/unictype/categ_M.h: Regenerated.
43059         * lib/unictype/categ_Mc.h: Regenerated.
43060         * lib/unictype/categ_Me.h: Regenerated.
43061         * lib/unictype/categ_Mn.h: Regenerated.
43062         * lib/unictype/categ_N.h: Regenerated.
43063         * lib/unictype/categ_Nd.h: Regenerated.
43064         * lib/unictype/categ_Nl.h: Regenerated.
43065         * lib/unictype/categ_No.h: Regenerated.
43066         * lib/unictype/categ_P.h: Regenerated.
43067         * lib/unictype/categ_Pd.h: Regenerated.
43068         * lib/unictype/categ_Pe.h: Regenerated.
43069         * lib/unictype/categ_Pf.h: Regenerated.
43070         * lib/unictype/categ_Pi.h: Regenerated.
43071         * lib/unictype/categ_Po.h: Regenerated.
43072         * lib/unictype/categ_Ps.h: Regenerated.
43073         * lib/unictype/categ_S.h: Regenerated.
43074         * lib/unictype/categ_Sk.h: Regenerated.
43075         * lib/unictype/categ_Sm.h: Regenerated.
43076         * lib/unictype/categ_So.h: Regenerated.
43077         * lib/unictype/categ_of.h: Regenerated.
43078         * lib/unictype/combining.h: Regenerated.
43079         * lib/unictype/ctype_alnum.h: Regenerated.
43080         * lib/unictype/ctype_alpha.h: Regenerated.
43081         * lib/unictype/ctype_graph.h: Regenerated.
43082         * lib/unictype/ctype_lower.h: Regenerated.
43083         * lib/unictype/ctype_print.h: Regenerated.
43084         * lib/unictype/ctype_punct.h: Regenerated.
43085         * lib/unictype/ctype_upper.h: Regenerated.
43086         * lib/unictype/decdigit.h: Regenerated.
43087         * lib/unictype/digit.h: Regenerated.
43088         * lib/unictype/mirror.h: Regenerated.
43089         * lib/unictype/numeric.h: Regenerated.
43090         * lib/unictype/pr_alphabetic.h: Regenerated.
43091         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
43092         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
43093         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
43094         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
43095         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
43096         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
43097         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
43098         * lib/unictype/pr_combining.h: Regenerated.
43099         * lib/unictype/pr_dash.h: Regenerated.
43100         * lib/unictype/pr_decimal_digit.h: Regenerated.
43101         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
43102         * lib/unictype/pr_deprecated.h: Regenerated.
43103         * lib/unictype/pr_diacritic.h: Regenerated.
43104         * lib/unictype/pr_extender.h: Regenerated.
43105         * lib/unictype/pr_format_control.h: Regenerated.
43106         * lib/unictype/pr_grapheme_base.h: Regenerated.
43107         * lib/unictype/pr_grapheme_extend.h: Regenerated.
43108         * lib/unictype/pr_grapheme_link.h: Regenerated.
43109         * lib/unictype/pr_id_continue.h: Regenerated.
43110         * lib/unictype/pr_id_start.h: Regenerated.
43111         * lib/unictype/pr_ideographic.h: Regenerated.
43112         * lib/unictype/pr_ignorable_control.h: Regenerated.
43113         * lib/unictype/pr_lowercase.h: Regenerated.
43114         * lib/unictype/pr_math.h: Regenerated.
43115         * lib/unictype/pr_numeric.h: Regenerated.
43116         * lib/unictype/pr_other_alphabetic.h: Regenerated.
43117         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
43118         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
43119         * lib/unictype/pr_other_id_continue.h: Regenerated.
43120         * lib/unictype/pr_other_lowercase.h: Regenerated.
43121         * lib/unictype/pr_other_math.h: Regenerated.
43122         * lib/unictype/pr_punctuation.h: Regenerated.
43123         * lib/unictype/pr_sentence_terminal.h: Regenerated.
43124         * lib/unictype/pr_soft_dotted.h: Regenerated.
43125         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
43126         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
43127         * lib/unictype/pr_unified_ideograph.h: Regenerated.
43128         * lib/unictype/pr_uppercase.h: Regenerated.
43129         * lib/unictype/pr_xid_continue.h: Regenerated.
43130         * lib/unictype/pr_xid_start.h: Regenerated.
43131         * lib/unictype/pr_zero_width.h: Regenerated.
43132         * lib/unictype/scripts.h: Regenerated.
43133         * lib/unictype/scripts_byname.gperf: Regenerated.
43134         * lib/unictype/sy_java_ident.h: Regenerated.
43135         * lib/unilbrk/lbrkprop1.h: Regenerated.
43136         * lib/unilbrk/lbrkprop2.h: Regenerated.
43137         * tests/unictype/test-categ_C.c: Regenerated.
43138         * tests/unictype/test-categ_Cf.c: Regenerated.
43139         * tests/unictype/test-categ_Cn.c: Regenerated.
43140         * tests/unictype/test-categ_L.c: Regenerated.
43141         * tests/unictype/test-categ_Ll.c: Regenerated.
43142         * tests/unictype/test-categ_Lm.c: Regenerated.
43143         * tests/unictype/test-categ_Lo.c: Regenerated.
43144         * tests/unictype/test-categ_Lu.c: Regenerated.
43145         * tests/unictype/test-categ_M.c: Regenerated.
43146         * tests/unictype/test-categ_Mc.c: Regenerated.
43147         * tests/unictype/test-categ_Me.c: Regenerated.
43148         * tests/unictype/test-categ_Mn.c: Regenerated.
43149         * tests/unictype/test-categ_N.c: Regenerated.
43150         * tests/unictype/test-categ_Nd.c: Regenerated.
43151         * tests/unictype/test-categ_Nl.c: Regenerated.
43152         * tests/unictype/test-categ_No.c: Regenerated.
43153         * tests/unictype/test-categ_P.c: Regenerated.
43154         * tests/unictype/test-categ_Pd.c: Regenerated.
43155         * tests/unictype/test-categ_Pe.c: Regenerated.
43156         * tests/unictype/test-categ_Pf.c: Regenerated.
43157         * tests/unictype/test-categ_Pi.c: Regenerated.
43158         * tests/unictype/test-categ_Po.c: Regenerated.
43159         * tests/unictype/test-categ_Ps.c: Regenerated.
43160         * tests/unictype/test-categ_S.c: Regenerated.
43161         * tests/unictype/test-categ_Sk.c: Regenerated.
43162         * tests/unictype/test-categ_Sm.c: Regenerated.
43163         * tests/unictype/test-categ_So.c: Regenerated.
43164         * tests/unictype/test-ctype_alnum.c: Regenerated.
43165         * tests/unictype/test-ctype_alpha.c: Regenerated.
43166         * tests/unictype/test-ctype_graph.c: Regenerated.
43167         * tests/unictype/test-ctype_lower.c: Regenerated.
43168         * tests/unictype/test-ctype_print.c: Regenerated.
43169         * tests/unictype/test-ctype_punct.c: Regenerated.
43170         * tests/unictype/test-ctype_upper.c: Regenerated.
43171         * tests/unictype/test-decdigit.h: Regenerated.
43172         * tests/unictype/test-digit.h: Regenerated.
43173         * tests/unictype/test-numeric.h: Regenerated.
43174         * tests/unictype/test-pr_alphabetic.c: Regenerated.
43175         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
43176         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
43177         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
43178         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
43179         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
43180         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
43181         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
43182         * tests/unictype/test-pr_combining.c: Regenerated.
43183         * tests/unictype/test-pr_dash.c: Regenerated.
43184         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
43185         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
43186         * tests/unictype/test-pr_deprecated.c: Regenerated.
43187         * tests/unictype/test-pr_diacritic.c: Regenerated.
43188         * tests/unictype/test-pr_extender.c: Regenerated.
43189         * tests/unictype/test-pr_format_control.c: Regenerated.
43190         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
43191         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
43192         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
43193         * tests/unictype/test-pr_id_continue.c: Regenerated.
43194         * tests/unictype/test-pr_id_start.c: Regenerated.
43195         * tests/unictype/test-pr_ideographic.c: Regenerated.
43196         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
43197         * tests/unictype/test-pr_lowercase.c: Regenerated.
43198         * tests/unictype/test-pr_math.c: Regenerated.
43199         * tests/unictype/test-pr_numeric.c: Regenerated.
43200         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
43201         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
43202         Regenerated.
43203         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
43204         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
43205         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
43206         * tests/unictype/test-pr_other_math.c: Regenerated.
43207         * tests/unictype/test-pr_punctuation.c: Regenerated.
43208         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
43209         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
43210         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
43211         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
43212         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
43213         * tests/unictype/test-pr_uppercase.c: Regenerated.
43214         * tests/unictype/test-pr_xid_continue.c: Regenerated.
43215         * tests/unictype/test-pr_xid_start.c: Regenerated.
43216         * tests/unictype/test-pr_zero_width.c: Regenerated.
43217
43218         Update to Unicode 5.1.0.
43219         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
43220         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
43221         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
43222         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
43223         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
43224         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
43225         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
43226         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
43227         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
43228         (nonspacing_table_ind): Update.
43229         * tests/uniwidth/test-uc_width2.sh: Update expected result.
43230
43231         Update to Unicode 5.1.0.
43232         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
43233         code transform.
43234         * lib/uniname/uniname.c (unicode_character_name,
43235         unicode_name_character): Add the range 0x1Fxxx to the code transform.
43236         * lib/uniname/uninames.h: Regenerated.
43237         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
43238
43239 2009-02-07  Bruno Haible  <bruno@clisp.org>
43240
43241         Merge gen-ctype and gen-lbrk into a single program.
43242         * lib/gen-uni-tables.c: New file, incorporating
43243         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
43244         Add directory prefixes to the names of the generated files.
43245         * lib/unictype/gen-ctype.c: Remove file.
43246         * lib/unilbrk/gen-lbrk.c: Remove file.
43247         * modules/gen-uni-tables: New file.
43248         * modules/unictype/gen-ctype: Remove file.
43249         * modules/unilbrk/gen-lbrk: Remove file.
43250
43251 2009-02-07  Bruno Haible  <bruno@clisp.org>
43252
43253         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
43254
43255         New module 'unistr/u32-strcoll'.
43256         * modules/unistr/u32-strcoll: New file.
43257         * lib/unistr/u32-strcoll.c: New file.
43258
43259         New module 'unistr/u16-strcoll'.
43260         * modules/unistr/u16-strcoll: New file.
43261         * lib/unistr/u16-strcoll.c: New file.
43262
43263         New module 'unistr/u8-strcoll'.
43264         * modules/unistr/u8-strcoll: New file.
43265         * lib/unistr/u8-strcoll.c: New file.
43266         * lib/unistr/u-strcoll.h: New file.
43267
43268 2009-02-07  Bruno Haible  <bruno@clisp.org>
43269
43270         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
43271         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
43272         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
43273         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
43274         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
43275         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
43276
43277 2009-02-07  Bruno Haible  <bruno@clisp.org>
43278
43279         Make 64-bit clean.
43280         * lib/unictype/gen-ctype.c (output_predicate, output_category,
43281         output_combclass, output_bidi_category, output_decimal_digit,
43282         output_digit, output_numeric, output_mirror, output_scripts,
43283         output_ident_category): Use proper width specifier in format strings.
43284
43285 2009-02-07  Bruno Haible  <bruno@clisp.org>
43286
43287         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
43288         failure behaviour.
43289
43290 2009-02-07  Jim Meyering  <meyering@redhat.com>
43291
43292         regex: avoid compilation failure with upcoming gcc-4.4
43293         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
43294         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
43295         "... error: integer overflow in preprocessor expression".
43296
43297 2009-02-05  Ben Pfaff  <blp@gnu.org>
43298
43299         Fix link errors on Windows when close module is used.
43300         * modules/close: Add $(LIB_CLOSE) to Link section.
43301         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
43302         $(LIB_CLOSE) on Windows.
43303
43304 2009-02-05  Jim Meyering  <meyering@redhat.com>
43305
43306         still avoid unused-parameter warnings, but do it cleanly
43307         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
43308         (get_fs_usage): Cast to void instead.
43309         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
43310         (dev_from_mount_options, read_file_system_list): Cast to void.
43311         Prompted by Bruno Haible.
43312
43313 2009-02-04  Jim Meyering  <meyering@redhat.com>
43314
43315         fsusage.c: correct copyright year
43316         * lib/fsusage.c: Reflect year in which the change is pushed into
43317
43318         avoid misc. warnings
43319         * lib/fsusage.c (UNUSED_PARAM): Define.
43320         (get_fs_usage): Mark parameter "disk" as unused.
43321         * lib/getugroups.c (getgrent): Use "void" in prototype.
43322         * lib/mountlist.c: Mark unused parameters.
43323         (read_file_system_list): Declare a local with "const".
43324         * lib/nanosleep.c (getnow): Declare static.
43325         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
43326
43327         dirfd: set errno upon failure
43328         * lib/dirfd.c: Include <errno.h>.
43329         Set errno to ENOTSUP when returning -1.
43330         * modules/dirfd (Depends-on): Add errno.
43331         Suggested by John Kodis <kodis@comcast.net>.
43332
43333 2009-02-01  Bruno Haible  <bruno@clisp.org>
43334
43335         Don't assume sizeof (long) >= sizeof (void *).
43336         * lib/memcmp.c: Include stdint.h.
43337         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
43338         srcp2 to 'const byte *'.
43339         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
43340         types to uintptr_t.
43341         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
43342         * modules/memcmp (Depends-on): Add stdint.
43343         Reported by Ozkan Sezer <sezeroz@gmail.com>.
43344
43345 2009-01-30  Eric Blake  <ebb9@byu.net>
43346
43347         fix more require-before-expand issues
43348         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
43349         expand, AC_PROG_AWK.
43350         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
43351
43352 2009-01-28  Eric Blake  <ebb9@byu.net>
43353
43354         version-etc: use consistent URL formatting
43355         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
43356         Improve formatting.  Use fputs for string without %.
43357
43358 2009-01-28  Jim Meyering  <meyering@redhat.com>
43359
43360         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
43361         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
43362         "underquoted definition of NAME" from autoconf-2.59.
43363
43364 2009-01-28  Bruno Haible  <bruno@clisp.org>
43365
43366         * doc/gnulib.texi: Add "Obsolete modules" to index.
43367
43368 2009-01-28  Jim Meyering  <meyering@redhat.com>
43369
43370         useless-if-before-free: recognize more variants
43371         * build-aux/useless-if-before-free: Also recognize e.g.,
43372         if (NULL != p) free (p);
43373
43374 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
43375
43376         test-getaddrinfo: skip (don't fail) this test when there's no network
43377         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
43378         on the presumption that it means you lack network access.
43379
43380 2009-01-26  Jim Meyering  <meyering@redhat.com>
43381
43382         fflush: avoid warnings on modern systems
43383         * lib/fflush.c (rpl_fflush): Move declarations of locals,
43384         pos and result, into scopes where they're used.
43385
43386 2009-01-26  Eric Blake  <ebb9@byu.net>
43387
43388         Silence warning reintroduced by recent extensions patch.
43389         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
43390         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
43391         autoconf.
43392
43393         Backport improved autoconf semantics of AC_DEFUN_ONCE.
43394         * m4/00gnulib.m4: New file.
43395         * gnulib-tool (func_get_filelist): Always use it.
43396         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
43397         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
43398
43399 2009-01-25  Bruno Haible  <bruno@clisp.org>
43400
43401         Make test-quotearg work on MacOS X and AIX.
43402         * tests/test-quotearg.sh: New file.
43403         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
43404         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
43405         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
43406         include <libintl.h>.
43407         (fake_locale): Remove variable.
43408         (gettext, dgettext, dcgettext): Remove functions.
43409         (main): Instead of setting a fake locale, set a real locale. Call
43410         textdomain and bindtextdomain.
43411         * modules/quotearg-tests (Files): Add the new files.
43412         (Depends-on): Add gettext, setenv, unsetenv.
43413         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
43414         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
43415         Augment TESTS_ENVIRONMENT.
43416
43417 2009-01-25  Bruno Haible  <bruno@clisp.org>
43418
43419         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
43420         fr_FR.ISO8859-1 locale on MacOS X.
43421         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
43422         ja_JP.eucJP locale on MacOS X.
43423         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
43424         zh_CN.GB18030 locale on MacOS X.
43425
43426 2009-01-25  Bruno Haible  <bruno@clisp.org>
43427
43428         Avoid link errors on MacOS X 10.3.
43429         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
43430         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
43431
43432 2009-01-25  Bruno Haible  <bruno@clisp.org>
43433
43434         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
43435         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
43436         * modules/pipe (Files): Remove m4/posix_spawn.m4.
43437         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
43438         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
43439         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
43440         posix_spawnattr_init, posix_spawnattr_setsigmask,
43441         posix_spawnattr_setflags, posix_spawnattr_destroy.
43442
43443         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
43444         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
43445         * modules/execute (Files): Remove m4/posix_spawn.m4.
43446         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
43447         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
43448         posix_spawnattr_init, posix_spawnattr_setsigmask,
43449         posix_spawnattr_setflags, posix_spawnattr_destroy.
43450
43451 2009-01-25  Bruno Haible  <bruno@clisp.org>
43452
43453         * lib/glthread/threadlib.c: Include <stdlib.h>.
43454
43455 2009-01-25  Bruno Haible  <bruno@clisp.org>
43456
43457         * lib/glthread/threadlib.c (dummy): New declaration.
43458
43459 2009-01-25  Bruno Haible  <bruno@clisp.org>
43460
43461         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
43462         multibyte characters also for the GB18030 encoding. Don't crash when
43463         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
43464
43465 2009-01-25  Bruno Haible  <bruno@clisp.org>
43466
43467         Avoid redefining 'struct random_data' on OSF/1 5.1.
43468         * lib/stdlib.in.h: Include <random.h> if it exists.
43469         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
43470         HAVE_RANDOM_H. Include <random.h> when testing whether
43471         'struct random_data' exists.
43472         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
43473
43474 2009-01-25  Bruno Haible  <bruno@clisp.org>
43475
43476         Don't install charset.alias on MacOS X >= 10.3.
43477         * lib/localcharset.c (DARWIN7): New macro.
43478         (get_charset_aliases): Hardcode the result for Darwin7.
43479         * modules/localcharset (install-exec-local): Don't install
43480         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
43481
43482 2009-01-25  Bruno Haible  <bruno@clisp.org>
43483
43484         Don't install charset.alias on mingw and Cygwin.
43485         * modules/localcharset (install-exec-local): Don't install
43486         charset.alias on mingw and Cygwin, if the file does not yet exist.
43487         The result for these platforms is hardcoded in localcharset.c.
43488
43489 2009-01-25  Bruno Haible  <bruno@clisp.org>
43490
43491         Make it possible again to use AC_GNU_SOURCE together with gnulib.
43492         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
43493         before requiring AC_USE_SYSTEM_EXTENSIONS.
43494
43495 2009-01-25  Jim Meyering  <meyering@redhat.com>
43496
43497         c-strtod: avoid warnings
43498         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
43499         "assignment discards qualifiers from pointer target type" warnings.
43500
43501 2009-01-24  Bruno Haible  <bruno@clisp.org>
43502
43503         Add support for non-UTF-8 locales on MacOS X.
43504         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
43505         canonical encodings. For Darwin 7 and newer, don't map traditional
43506         encodings to UTF-8.
43507         Reported by Vincent Lefevre <vincent@vinc17.org>
43508         at <http://savannah.gnu.org/bugs/?25235>.
43509
43510 2009-01-24  Bruno Haible  <bruno@clisp.org>
43511
43512         * doc/gnulib.texi (Obsolete modules): New section.
43513         Reported by Mike Frysinger <vapier@gentoo.org>.
43514
43515 2009-01-24  Bruno Haible  <bruno@clisp.org>
43516
43517         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
43518         (%.dvi): New rule.
43519
43520 2009-01-24  Bruno Haible  <bruno@clisp.org>
43521
43522         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
43523         Reported by Eric Blake.
43524
43525 2009-01-24  Bruno Haible  <bruno@clisp.org>
43526
43527         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
43528         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
43529         Reported by Gary V. Vaughan <gary@gnu.org>.
43530
43531 2009-01-24  Bruno Haible  <bruno@clisp.org>
43532
43533         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
43534
43535 2009-01-23  Bruno Haible  <bruno@clisp.org>
43536
43537         Make c-strtod, c-strtold usable in libraries.
43538         * lib/c-strtod.c: Include string.h instead of xalloc.h.
43539         (C_STRTOD): Call strdup instead of xstrdup.
43540         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
43541         * modules/c-strtold (Depends-on): Likewise.
43542         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
43543         * NEWS: Mention the change.
43544         Reported by Michael Gold <mgold@ncf.ca>.
43545
43546 2009-01-23  Jim Meyering  <meyering@redhat.com>
43547
43548         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
43549         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
43550         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
43551
43552 2009-01-23  Simon Josefsson  <simon@josefsson.org>
43553
43554         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
43555         GNU CoreUtils.
43556         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
43557         * modules/version-etc (Description): Update.
43558
43559 2009-01-22  Bruno Haible  <bruno@clisp.org>
43560
43561         Cache the C locale object.
43562         * lib/c-strtod.c (c_locale_cache): New variable.
43563         (c_locale): New function.
43564         (C_STRTOD): Use it, and don't call freelocale.
43565         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
43566         Suggested by Paolo Bonzini.
43567
43568 2009-01-21  Bruno Haible  <bruno@clisp.org>
43569
43570         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
43571         conditions other than overflow.
43572
43573 2009-01-21  Bruno Haible  <bruno@clisp.org>
43574
43575         * lib/c-strtod.c: Include errno.h.
43576         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
43577         value from STRTOD_L and STRTOD.
43578
43579 2009-01-21  Bruno Haible  <bruno@clisp.org>
43580         and Jim Meyering  <meyering@redhat.com>
43581
43582         nanosleep: skip configure test (fail it) for apple universal builds
43583         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
43584         universal builds, assume that nanosleep does not work.
43585         * modules/nanosleep (Depends-on): Add multiarch.
43586
43587         mktime: skip configure test (fail it) for apple universal builds
43588         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
43589         universal builds, assume that mktime does not work.
43590         * modules/mktime (Depends-on): Add multiarch.
43591
43592 2009-01-21  Eric Blake  <ebb9@byu.net>
43593
43594         multiarch: avoid expand-before-require warning
43595         * modules/multiarch (configure.ac): Require, rather than expand,
43596         gl_MULTIARCH.
43597         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
43598         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
43599         enforce that all clients require it.  Partial reversion of
43600         2008-12-29 patch.
43601
43602         error: avoid expand-before-require warning
43603         * modules/errno (configure.ac): Require, rather than expand,
43604         gl_HEADER_ERRNO_H.
43605         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
43606         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
43607         enforce that all clients require it.
43608
43609         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
43610         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
43611         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
43612         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
43613
43614 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
43615
43616         Revert:
43617         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
43618
43619         regex: do not depend on obsolete modules.
43620         * modules/regex: Remove memcmp and memmove.
43621
43622 2009-01-20  Bruno Haible  <bruno@clisp.org>
43623
43624         Make the 'link' module link on Windows NT 4.
43625         * lib/link.c (_WIN32_WINNT): Don't define.
43626         (CreateHardLinkFuncType): New type.
43627         (CreateHardLinkFunc, initialized): New variables.
43628         (initialize): New function.
43629         (link): Invoke CreateHardLink indirectly through the function pointer.
43630
43631 2009-01-20  Bruno Haible  <bruno@clisp.org>
43632
43633         Fix compilation failure on mingw.
43634         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
43635
43636 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
43637
43638         * doc/c-strtod.texi: Mention a couple of restrictions.
43639
43640 2009-01-20  Jim Meyering  <meyering@redhat.com>
43641
43642         gettimeofday: move more declarations out of functions
43643         * lib/gettimeofday.c: Move extern declarations of tzset and
43644         gmtime out of containing functions.  Prompted by Bruno Haible.
43645
43646 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
43647
43648         regex: do not depend on obsolete modules.
43649         * modules/regex: Remove memcmp and memmove.
43650
43651 2009-01-19  Bruno Haible  <bruno@clisp.org>
43652
43653         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
43654         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
43655         gl_BIGENDIAN, not AC_C_BIGENDIAN.
43656         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
43657         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
43658
43659 2009-01-19  Bruno Haible  <bruno@clisp.org>
43660
43661         * tests/test-link.c: Include <errno.h>.
43662         (main): Exit with code 77 when a hard link cannot be created due to
43663         the file system.
43664         * tests/test-link.sh: Skip test when a hard link cannot be created due
43665         to the file system.
43666         Suggested by Eric Blake.
43667
43668 2009-01-19  Martin Lambers  <marlam@marlam.de>
43669
43670         * modules/link-tests: New file.
43671         * tests/test-link.sh: New file.
43672         * tests/test-link.c: New file.
43673
43674 2009-01-19  Eric Blake  <ebb9@byu.net>
43675
43676         doc: mention another function added in cygwin 1.7.0
43677         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
43678         Another new function in cygwin 1.7.
43679
43680 2009-01-19  Bruno Haible  <bruno@clisp.org>
43681
43682         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
43683         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
43684         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
43685         gl_BIGENDIAN, not AC_C_BIGENDIAN.
43686         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
43687         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
43688         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
43689         * m4/md4.m4 (gl_MD4): Likewise.
43690         * m4/md5.m4 (gl_MD5): Likewise.
43691         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
43692         * m4/sha1.m4 (gl_SHA1): Likewise.
43693         * m4/sha256.m4 (gl_SHA256): Likewise.
43694         * m4/sha512.m4 (gl_SHA512): Likewise.
43695
43696 2009-01-19  Bruno Haible  <bruno@clisp.org>
43697
43698         * modules/uniname/uniname-tests (Depends-on): Add progname.
43699         * tests/uniname/test-uninames.c: Include progname.h.
43700         (main): Call set_program_name.
43701
43702         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
43703         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
43704         (main): Call set_program_name.
43705
43706         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
43707         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
43708         (main): Call set_program_name.
43709
43710         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
43711         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
43712         (main): Call set_program_name.
43713
43714         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
43715         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
43716         (main): Call set_program_name.
43717
43718         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
43719         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
43720         (main): Call set_program_name.
43721
43722         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
43723         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
43724         (main): Call set_program_name.
43725
43726         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
43727         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
43728         (main): Call set_program_name.
43729
43730         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
43731         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
43732         (main): Call set_program_name.
43733
43734 2009-01-19  Eric Blake  <ebb9@byu.net>
43735
43736         test-unistd: test previous patch
43737         * tests/test-unistd.c: Test *_FILENO macros.
43738
43739         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
43740         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
43741         Guarantee a definition.
43742         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
43743         * modules/unistd-safer (Depends-on): Add dependency on unistd.
43744         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
43745         * lib/dup-safer.c (STDERR_FILENO): Likewise.
43746         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
43747         Likewise.
43748         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
43749         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
43750         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
43751         Likewise.
43752         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
43753         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
43754         (STDERR_FILENO): Likewise.
43755         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
43756         (STDERR_FILENO): Likewise.
43757         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
43758         (STDERR_FILENO): Likewise.
43759         Reported by Elbert Pol.
43760
43761 2009-01-19  Eric Blake  <ebb9@byu.net>
43762
43763         doc: mention more functions added in cygwin 1.7.0
43764         * doc/posix-functions/abort.texi (abort): Update wording related
43765         to cygwin.
43766         * doc/posix-functions/daylight.texi (daylight): Likewise.
43767         * doc/posix-functions/optarg.texi (optarg): Likewise.
43768         * doc/posix-functions/optarg.texi (opterr): Likewise.
43769         * doc/posix-functions/optarg.texi (optind): Likewise.
43770         * doc/posix-functions/optarg.texi (optopt): Likewise.
43771         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
43772         worked in 1.5.x, and was withdrawn in 1.7.
43773         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
43774         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
43775         cygwin versions.
43776         * doc/posix-functions/perror.texi (perror): Likewise.
43777         * doc/posix-functions/printf.texi (printf): Likewise.
43778         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
43779         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
43780         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
43781         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
43782         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
43783         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
43784         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
43785         Likewise.
43786         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
43787         Likewise.
43788         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
43789         this function.
43790         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
43791         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
43792         Likewise.
43793         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
43794         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
43795         * doc/posix-functions/confstr.texi (confstr): Likewise.
43796         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
43797         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
43798         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
43799         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
43800         * doc/posix-functions/fputws.texi (fputws): Likewise.
43801         * doc/posix-functions/fwide.texi (fwide): Likewise.
43802         * doc/posix-functions/getwc.texi (getwc): Likewise.
43803         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
43804         * doc/posix-functions/putwc.texi (putwc): Likewise.
43805         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
43806         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
43807         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
43808         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
43809         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
43810         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
43811         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
43812         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
43813         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
43814         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
43815         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
43816
43817 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
43818
43819         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
43820         * lib/ioctl.c: Include <sys/ioctl.h>.
43821
43822 2009-01-19  Simon Josefsson  <simon@josefsson.org>
43823
43824         * modules/getdate-tests (Depends-on): Add progname.
43825         * tests/test-getdate.c: Use progname module, to avoid link errors
43826         on non-glibc systems.
43827
43828 2009-01-18  Simon Josefsson  <simon@josefsson.org>
43829
43830         * modules/filenamecat-tests (Depends-on): Add progname.
43831         * modules/fstrcmp-tests (Depends-on): Likewise.
43832
43833         * tests/test-filenamecat.c: Use progname module, to avoid link
43834         errors on non-glibc systems.
43835         * tests/test-fstrcmp.c: Likewise.
43836
43837 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
43838
43839         gettimeofday: avoid warning: nested extern declaration of 'localtime'
43840         * lib/gettimeofday.c: Move extern declaration out of function.
43841
43842 2009-01-18  Bruno Haible  <bruno@clisp.org>
43843
43844         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
43845         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
43846         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
43847
43848 2009-01-18  Bruno Haible  <bruno@clisp.org>
43849
43850         * lib/strftime.c (MEMPCPY): Remove unused macro.
43851         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
43852
43853 2009-01-18  Martin Lambers  <marlam@marlam.de>
43854
43855         New module 'link'.
43856         * lib/unistd.in.h (link): New declaration.
43857         * lib/link.c: New file.
43858         * m4/link.m4: New file.
43859         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
43860         HAVE_LINK.
43861         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
43862         * modules/link: New file.
43863         * doc/posix-functions/link.texi: Mention the new module.
43864
43865 2009-01-18  Bruno Haible  <bruno@clisp.org>
43866
43867         * tests/test-avltree_list.c (main): Call set_program_name.
43868         * tests/test-avltree_oset.c (main): Likewise.
43869         * tests/test-obstack-printf.c: Include progname.h.
43870         (main): Call set_program_name.
43871         * tests/test-quotearg.c: Include progname.h.
43872         (main): Call set_program_name.
43873         * tests/test-xmemdup0.c: Include progname.h.
43874         (main): Call set_program_name.
43875
43876 2009-01-18  Bruno Haible  <bruno@clisp.org>
43877
43878         New module 'alphasort'.
43879         * lib/dirent.in.h (alphasort): New declaration.
43880         * lib/alphasort.c: New file, from glibc with modifications.
43881         * m4/alphasort.m4: New file.
43882         * modules/alphasort: New file.
43883         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
43884         HAVE_ALPHASORT.
43885         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
43886         HAVE_ALPHASORT.
43887         * doc/posix-functions/alphasort.texi: Mention the new module and the
43888         portability problems.
43889
43890 2009-01-18  Bruno Haible  <bruno@clisp.org>
43891
43892         New module 'scandir'.
43893         * lib/dirent.in.h (scandir): New declaration.
43894         * lib/scandir.c: New file, from glibc with modifications.
43895         * m4/scandir.m4: New file.
43896         * modules/scandir: New file.
43897         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
43898         HAVE_SCANDIR.
43899         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
43900         HAVE_SCANDIR.
43901         * doc/posix-functions/scandir.texi: Mention the new module and the
43902         portability problems.
43903
43904 2009-01-17  Bruno Haible  <bruno@clisp.org>
43905
43906         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
43907         Update documentation.
43908         (func_remove_suffix): Escape all dots in the suffix. Update
43909         documentation.
43910         (func_filter_filelist): Update documentation.
43911         Reported by Ralf Wildenhues.
43912
43913 2009-01-17  Bruno Haible  <bruno@clisp.org>
43914
43915         * modules/dprintf-posix-tests: New file.
43916         * tests/test-dprintf-posix.sh: New file.
43917         * tests/test-dprintf-posix.c: New file.
43918
43919         New modules 'dprintf', 'dprintf-posix'.
43920         * lib/stdio.in.h (dprintf): New declaration.
43921         * lib/dprintf.c: New file.
43922         * m4/dprintf.m4: New file.
43923         * m4/dprintf-posix.m4: New file.
43924         * modules/dprintf: New file.
43925         * modules/dprintf-posix: New file.
43926         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
43927         HAVE_DPRINTF, REPLACE_DPRINTF.
43928         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
43929         HAVE_DPRINTF, REPLACE_DPRINTF.
43930         * doc/posix-functions/dprintf.texi: Mention the new modules.
43931
43932 2009-01-17  Bruno Haible  <bruno@clisp.org>
43933
43934         * modules/vdprintf-posix-tests: New file.
43935         * tests/test-vdprintf-posix.sh: New file.
43936         * tests/test-vdprintf-posix.c: New file.
43937
43938         New modules 'vdprintf', 'vdprintf-posix'.
43939         * lib/stdio.in.h (vdprintf): New declaration.
43940         * lib/vdprintf.c: New file.
43941         * m4/vdprintf.m4: New file.
43942         * m4/vdprintf-posix.m4: New file.
43943         * modules/vdprintf: New file.
43944         * modules/vdprintf-posix: New file.
43945         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
43946         HAVE_VDPRINTF, REPLACE_VDPRINTF.
43947         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
43948         HAVE_VDPRINTF, REPLACE_VDPRINTF.
43949         * doc/posix-functions/vdprintf.texi: Mention the new modules.
43950
43951 2009-01-17  Bruno Haible  <bruno@clisp.org>
43952
43953         Fix replacement of fopen on mingw.
43954         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
43955         mingw.
43956
43957 2009-01-17  Bruno Haible  <bruno@clisp.org>
43958
43959         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
43960         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
43961
43962 2009-01-17  Bruno Haible  <bruno@clisp.org>
43963
43964         Avoid test-fflush2.sh failure on mingw.
43965         * tests/test-fflush2.c: Include binary-io.h.
43966         (main): Put standard input into binary mode.
43967         * modules/fflush-tests (Depends-on): Add binary-io.
43968
43969 2009-01-17  Bruno Haible  <bruno@clisp.org>
43970
43971         * lib/wchar.in.h: In another particular situation, include only the
43972         system's <wchar.h> file.
43973         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
43974         Reported by Albert Chin-A-Young <china@thewrittenword.com>
43975         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
43976
43977 2009-01-17  Bruno Haible  <bruno@clisp.org>
43978
43979         Support for stripping executables in --enable-relocatable.
43980         * build-aux/install-reloc: Expect one more argument, or an environment
43981         variable RELOC_STRIP_PROG. If set, strip the destination program and
43982         its wrapper.
43983         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
43984         RELOC_STRIP_PROG.
43985         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
43986         to set RELOCATABLE_STRIP.
43987         * NEWS: Mention the new Makefile requirement.
43988
43989 2009-01-17  Bruno Haible  <bruno@clisp.org>
43990
43991         * build-aux/install-reloc: Remove debugging information left over by
43992         C compiler on MacOS X.
43993
43994 2009-01-17  Bruno Haible  <bruno@clisp.org>
43995
43996         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
43997         * lib/progreloc.c (find_executable): Fix type of pointer passed to
43998         _NSGetExecutablePath.
43999
44000 2009-01-16  Jim Meyering  <meyering@redhat.com>
44001
44002         strerror: avoid warnings about discarding "const"
44003         * lib/strerror.c (rpl_strerror): Instead of returning a const
44004         string from each and every "case", use a variable, and add a single
44005         cast after the switch.
44006
44007 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
44008
44009         * lib/arpa_inet.in.h: Add extern "C" block for C++.
44010
44011 2009-01-16  Bruno Haible  <bruno@clisp.org>
44012
44013         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
44014         array initializer syntax that also works in C++ mode.
44015         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44016
44017 2009-01-16  Jim Meyering  <meyering@redhat.com>
44018
44019         poll: suppress a warning
44020         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
44021         to ignore "...unsigned expression < 0 is always false" warnings.
44022
44023 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
44024
44025         poll: remove declarations of unused variables
44026         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
44027         sockbuf and optlen.
44028
44029 2009-01-15  Bruno Haible  <bruno@clisp.org>
44030
44031         Make fflush-after-ungetc POSIX compliant on BSD systems.
44032         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
44033         (clear_ungetc_buffer): Implement also for other systems.
44034         (rpl_fflush): On glibc systems, invoke
44035         clear_ungetc_buffer_preserving_position. Otherwise, invoke
44036         clear_ungetc_buffer after fetching the stream's position, not before.
44037
44038 2009-01-15  Bruno Haible  <bruno@clisp.org>
44039
44040         Make fflush-after-ungetc POSIX compliant on glibc systems.
44041         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
44042         after ungetc.
44043         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
44044         (rpl_fflush): On glibc systems, simply call the system's fflush
44045         function after clearing the ungetc buffer.
44046         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
44047         Instead, lseek only to the end of file, then use the system's fseeko
44048         for the rest. On glibc systems, reset the EOF indicator bit.
44049
44050 2009-01-15  Jim Meyering  <meyering@redhat.com>
44051
44052         openmp.m4: revert quote-adding change, for portability to older autoconf
44053         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
44054         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
44055         Simon Josefsson noticed the problem when using autoconf-2.61.
44056
44057 2009-01-15  Bruno Haible  <bruno@clisp.org>
44058
44059         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
44060         * tests/test-fflush2.c (ASSERT): Always fail.
44061         (main): Add two tests for fflush() after ungetc(), taking into account
44062         the Austin Group's clarification.
44063         Suggested by Eric Blake.
44064
44065 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
44066
44067         mktime.m4: remove K&R-style function prototypes
44068         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
44069         for the Sun C++ compiler.
44070
44071 2009-01-14  Bruno Haible  <bruno@clisp.org>
44072
44073         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
44074         while including <wchar.h>.
44075         * lib/wchar.in.h: In two particular situations on HP-UX, include only
44076         the system's <wchar.h> file.
44077         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44078
44079 2009-01-14  Bruno Haible  <bruno@clisp.org>
44080
44081         * m4/csharp.m4: Don't mention gettext on the serial number line.
44082         * m4/csharpexec.m4: Likewise.
44083         * m4/eaccess.m4: Likewise.
44084         * m4/javaexec.m4: Likewise.
44085         * m4/sig_atomic_t.m4: Likewise.
44086         * m4/tmpdir.m4: Likewise.
44087         * m4/intldir.m4: Bump gettext version.
44088         * m4/lib-ld.m4: Likewise.
44089
44090 2009-01-14  Bruno Haible  <bruno@clisp.org>
44091
44092         * lib/progname.c (set_program_name): Add more comments.
44093         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44094
44095 2009-01-14  Simon Josefsson  <simon@josefsson.org>
44096
44097         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
44098         were sys/stat.h does not define it.
44099
44100 2009-01-14  Jim Meyering  <meyering@redhat.com>
44101
44102         many *.m4 files: improve m4 quoting
44103         99% of this change was performed by running the following commands:
44104         git ls-files | grep '\.m4$' | xargs perl -pi \
44105           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
44106           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
44107           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
44108           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
44109         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
44110         The remainder were to add Copyright dates, increment serial numbers,
44111         undo some changes in comments, exclude m4/intl.m4, and add quotes
44112         around the "1" in ",1" where the unusual spacing prohibited the
44113         above regexps from doing the job.  For more details, see
44114         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
44115         * m4/acl.m4: Modified.
44116         * m4/afs.m4: Likewise.
44117         * m4/alloca.m4: Likewise.
44118         * m4/argp.m4: Likewise.
44119         * m4/argz.m4: Likewise.
44120         * m4/atexit.m4: Likewise.
44121         * m4/bison-i18n.m4: Likewise.
44122         * m4/bison.m4: Likewise.
44123         * m4/byteswap.m4: Likewise.
44124         * m4/c-stack.m4: Likewise.
44125         * m4/c-strtod.m4: Likewise.
44126         * m4/calloc.m4: Likewise.
44127         * m4/canonicalize-lgpl.m4: Likewise.
44128         * m4/chown.m4: Likewise.
44129         * m4/clock_time.m4: Likewise.
44130         * m4/codeset.m4: Likewise.
44131         * m4/copy-file.m4: Likewise.
44132         * m4/csharp.m4: Likewise.
44133         * m4/csharpcomp.m4: Likewise.
44134         * m4/csharpexec.m4: Likewise.
44135         * m4/d-ino.m4: Likewise.
44136         * m4/d-type.m4: Likewise.
44137         * m4/dirfd.m4: Likewise.
44138         * m4/double-slash-root.m4: Likewise.
44139         * m4/eaccess.m4: Likewise.
44140         * m4/eealloc.m4: Likewise.
44141         * m4/environ.m4: Likewise.
44142         * m4/errno_h.m4: Likewise.
44143         * m4/euidaccess.m4: Likewise.
44144         * m4/execute.m4: Likewise.
44145         * m4/fatal-signal.m4: Likewise.
44146         * m4/fchdir.m4: Likewise.
44147         * m4/fcntl_h.m4: Likewise.
44148         * m4/fileblocks.m4: Likewise.
44149         * m4/filenamecat.m4: Likewise.
44150         * m4/findprog.m4: Likewise.
44151         * m4/flexmember.m4: Likewise.
44152         * m4/fnmatch.m4: Likewise.
44153         * m4/fopen.m4: Likewise.
44154         * m4/fpending.m4: Likewise.
44155         * m4/fprintf-posix.m4: Likewise.
44156         * m4/free.m4: Likewise.
44157         * m4/frexp.m4: Likewise.
44158         * m4/frexpl.m4: Likewise.
44159         * m4/fsusage.m4: Likewise.
44160         * m4/ftruncate.m4: Likewise.
44161         * m4/gc-camellia.m4: Likewise.
44162         * m4/gc-random.m4: Likewise.
44163         * m4/gc.m4: Likewise.
44164         * m4/getaddrinfo.m4: Likewise.
44165         * m4/getcwd-abort-bug.m4: Likewise.
44166         * m4/getcwd-path-max.m4: Likewise.
44167         * m4/getdate.m4: Likewise.
44168         * m4/getdomainname.m4: Likewise.
44169         * m4/getgroups.m4: Likewise.
44170         * m4/gethostname.m4: Likewise.
44171         * m4/gethrxtime.m4: Likewise.
44172         * m4/getline.m4: Likewise.
44173         * m4/getloadavg.m4: Likewise.
44174         * m4/getndelim2.m4: Likewise.
44175         * m4/getpass.m4: Likewise.
44176         * m4/gettext.m4: Likewise.
44177         * m4/gettime.m4: Likewise.
44178         * m4/gettimeofday.m4: Likewise.
44179         * m4/gnulib-common.m4: Likewise.
44180         * m4/group-member.m4: Likewise.
44181         * m4/host-os.m4: Likewise.
44182         * m4/iconv.m4: Likewise.
44183         * m4/iconv_open.m4: Likewise.
44184         * m4/inet_ntop.m4: Likewise.
44185         * m4/inet_pton.m4: Likewise.
44186         * m4/inline.m4: Likewise.
44187         * m4/intldir.m4: Likewise.
44188         * m4/intlmacosx.m4: Likewise.
44189         * m4/intmax.m4: Likewise.
44190         * m4/intmax_t.m4: Likewise.
44191         * m4/inttypes.m4: Likewise.
44192         * m4/inttypes_h.m4: Likewise.
44193         * m4/inttypes-pri.m4: Likewise.
44194         * m4/isapipe.m4: Likewise.
44195         * m4/isnand.m4: Likewise.
44196         * m4/isnanf.m4: Likewise.
44197         * m4/isnanl.m4: Likewise.
44198         * m4/javacomp.m4: Likewise.
44199         * m4/javaexec.m4: Likewise.
44200         * m4/jm-winsz1.m4: Likewise.
44201         * m4/jm-winsz2.m4: Likewise.
44202         * m4/lchown.m4: Likewise.
44203         * m4/lcmessage.m4: Likewise.
44204         * m4/ldexpl.m4: Likewise.
44205         * m4/lib-ld.m4: Likewise.
44206         * m4/lib-link.m4: Likewise.
44207         * m4/libsigsegv.m4: Likewise.
44208         * m4/link-follow.m4: Likewise.
44209         * m4/localcharset.m4: Likewise.
44210         * m4/locale-fr.m4: Likewise.
44211         * m4/locale-ja.m4: Likewise.
44212         * m4/locale-tr.m4: Likewise.
44213         * m4/locale-zh.m4: Likewise.
44214         * m4/lock.m4: Likewise.
44215         * m4/longlong.m4: Likewise.
44216         * m4/ls-mntd-fs.m4: Likewise.
44217         * m4/lstat.m4: Likewise.
44218         * m4/malloc.m4: Likewise.
44219         * m4/mathl.m4: Likewise.
44220         * m4/mbrtowc.m4: Likewise.
44221         * m4/mbstate_t.m4: Likewise.
44222         * m4/mbswidth.m4: Likewise.
44223         * m4/memchr.m4: Likewise.
44224         * m4/memcmp.m4: Likewise.
44225         * m4/memcpy.m4: Likewise.
44226         * m4/memmem.m4: Likewise.
44227         * m4/memmove.m4: Likewise.
44228         * m4/mempcpy.m4: Likewise.
44229         * m4/memrchr.m4: Likewise.
44230         * m4/memset.m4: Likewise.
44231         * m4/minmax.m4: Likewise.
44232         * m4/mkdir-slash.m4: Likewise.
44233         * m4/mkdtemp.m4: Likewise.
44234         * m4/mktime.m4: Likewise.
44235         * m4/mmap-anon.m4: Likewise.
44236         * m4/mountlist.m4: Likewise.
44237         * m4/nanosleep.m4: Likewise.
44238         * m4/nls.m4: Likewise.
44239         * m4/nocrash.m4: Likewise.
44240         * m4/open.m4: Likewise.
44241         * m4/openat.m4: Likewise.
44242         * m4/openmp.m4: Likewise.
44243         * m4/pathmax.m4: Likewise.
44244         * m4/perl.m4: Likewise.
44245         * m4/physmem.m4: Likewise.
44246         * m4/pipe.m4: Likewise.
44247         * m4/po.m4: Likewise.
44248         * m4/poll.m4: Likewise.
44249         * m4/posixtm.m4: Likewise.
44250         * m4/posixver.m4: Likewise.
44251         * m4/printf-frexp.m4: Likewise.
44252         * m4/printf-frexpl.m4: Likewise.
44253         * m4/printf-posix.m4: Likewise.
44254         * m4/printf-posix-rpl.m4: Likewise.
44255         * m4/printf.m4: Likewise.
44256         * m4/progtest.m4: Likewise.
44257         * m4/putenv.m4: Likewise.
44258         * m4/readline.m4: Likewise.
44259         * m4/readlink.m4: Likewise.
44260         * m4/readutmp.m4: Likewise.
44261         * m4/realloc.m4: Likewise.
44262         * m4/regex.m4: Likewise.
44263         * m4/relocatable.m4: Likewise.
44264         * m4/relocatable-lib.m4: Likewise.
44265         * m4/rename-dest-slash.m4: Likewise.
44266         * m4/rename.m4: Likewise.
44267         * m4/rmdir-errno.m4: Likewise.
44268         * m4/rmdir.m4: Likewise.
44269         * m4/roundf.m4: Likewise.
44270         * m4/roundl.m4: Likewise.
44271         * m4/rpmatch.m4: Likewise.
44272         * m4/save-cwd.m4: Likewise.
44273         * m4/selinux-selinux-h.m4: Likewise.
44274         * m4/setenv.m4: Likewise.
44275         * m4/settime.m4: Likewise.
44276         * m4/sig2str.m4: Likewise.
44277         * m4/sig_atomic_t.m4: Likewise.
44278         * m4/signalblocking.m4: Likewise.
44279         * m4/signbit.m4: Likewise.
44280         * m4/sigpipe.m4: Likewise.
44281         * m4/sockets.m4: Likewise.
44282         * m4/sockpfaf.m4: Likewise.
44283         * m4/st_dm_mode.m4: Likewise.
44284         * m4/stat-time.m4: Likewise.
44285         * m4/stdbool.m4: Likewise.
44286         * m4/stdint.m4: Likewise.
44287         * m4/stdint_h.m4: Likewise.
44288         * m4/stpcpy.m4: Likewise.
44289         * m4/stpncpy.m4: Likewise.
44290         * m4/strcase.m4: Likewise.
44291         * m4/strchrnul.m4: Likewise.
44292         * m4/strcspn.m4: Likewise.
44293         * m4/strdup.m4: Likewise.
44294         * m4/strftime.m4: Likewise.
44295         * m4/strndup.m4: Likewise.
44296         * m4/strnlen.m4: Likewise.
44297         * m4/strpbrk.m4: Likewise.
44298         * m4/strptime.m4: Likewise.
44299         * m4/strsep.m4: Likewise.
44300         * m4/strtod.m4: Likewise.
44301         * m4/strtoimax.m4: Likewise.
44302         * m4/strtok_r.m4: Likewise.
44303         * m4/strtol.m4: Likewise.
44304         * m4/strtoll.m4: Likewise.
44305         * m4/strtoul.m4: Likewise.
44306         * m4/strtoull.m4: Likewise.
44307         * m4/strtoumax.m4: Likewise.
44308         * m4/strverscmp.m4: Likewise.
44309         * m4/threadlib.m4: Likewise.
44310         * m4/timegm.m4: Likewise.
44311         * m4/tm_gmtoff.m4: Likewise.
44312         * m4/tmpdir.m4: Likewise.
44313         * m4/tmpfile.m4: Likewise.
44314         * m4/tzset.m4: Likewise.
44315         * m4/uintmax_t.m4: Likewise.
44316         * m4/unlinkdir.m4: Likewise.
44317         * m4/unlocked-io.m4: Likewise.
44318         * m4/uptime.m4: Likewise.
44319         * m4/userspec.m4: Likewise.
44320         * m4/utimbuf.m4: Likewise.
44321         * m4/utime.m4: Likewise.
44322         * m4/utimes-null.m4: Likewise.
44323         * m4/utimes.m4: Likewise.
44324         * m4/vararrays.m4: Likewise.
44325         * m4/vasnprintf.m4: Likewise.
44326         * m4/vfprintf-posix.m4: Likewise.
44327         * m4/vprintf-posix.m4: Likewise.
44328         * m4/wait-process.m4: Likewise.
44329         * m4/wchar_t.m4: Likewise.
44330         * m4/wint_t.m4: Likewise.
44331         * m4/write-any-file.m4: Likewise.
44332         * m4/yield.m4: Likewise.
44333
44334 2009-01-13  Bruno Haible  <bruno@clisp.org>
44335
44336         Avoid test-copy-file.sh failures when ACL support insufficient.
44337         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
44338         TESTS_ENVIRONMENT.
44339         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
44340         Reported by Jim Meyering.
44341
44342 2009-01-13  Bruno Haible  <bruno@clisp.org>
44343
44344         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
44345         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
44346         * modules/unistdio/u8-printf-parse (Files): Likewise.
44347         * modules/unistdio/u32-printf-parse (Files): Likewise.
44348         * modules/unistdio/ulc-printf-parse (Files): Likewise.
44349
44350 2009-01-13  Simon Josefsson  <simon@josefsson.org>
44351
44352         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
44353         and m4/inttypes_h.m4 too.
44354
44355 2009-01-12  Eric Blake  <ebb9@byu.net>
44356
44357         tests: IRIX 6.2 cc can't compile -0.0 into .data
44358         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
44359         rather than at compile-time.
44360         * tests/test-floorl.c (minus_zero): Likewise.
44361         * tests/test-frexpl.c (minus_zero): Likewise.
44362         * tests/test-isnan.c (minus_zerol): Likewise.
44363         * tests/test-isnanl.h (minus_zero): Likewise.
44364         * tests/test-ldexpl.c (minus_zero): Likewise.
44365         * tests/test-roundl.c (minus_zero): Likewise.
44366         * tests/test-signbit.c (minus_zerol): Likewise.
44367         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44368         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44369         * tests/test-truncl.c (minus_zero): Likewise.
44370         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44371         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44372         Reported by Tom G. Christensen and Nelson H. F. Beebe.
44373
44374 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44375
44376         regex: fix glibc bug 9697
44377         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
44378         handling.
44379
44380 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44381
44382         regex: fix glibc bug 697
44383         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
44384         being NULL also if there are no backreferences.
44385
44386 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44387
44388         regex: merge glibc changes
44389         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
44390         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
44391         re_string_skip_chars, re_string_reconstruct): Likewise.
44392         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
44393
44394 2009-01-07  Jim Meyering  <meyering@redhat.com>
44395
44396         poll: filter through cppi
44397         * lib/poll.c: Indent cpp directives to reflect nesting.
44398
44399 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
44400
44401         poll: don't return uninitialized
44402         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
44403
44404 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
44405
44406         avoid compile failure on AIX 6.1
44407         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
44408         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
44409
44410 2009-01-04  Jim Meyering  <meyering@redhat.com>
44411
44412         remove duplicate inclusion of <stdio.h>
44413         * tests/test-fprintf-posix.c: Likewise.
44414         * tests/test-printf-posix.c: Likewise.
44415         * tests/test-snprintf-posix.c: Likewise.
44416         * tests/test-sprintf-posix.c: Likewise.
44417         * tests/test-vasprintf-posix.c: Likewise.
44418         * tests/test-vfprintf-posix.c: Likewise.
44419         * tests/test-vprintf-posix.c: Likewise.
44420         * tests/test-vsnprintf-posix.c: Likewise.
44421         * tests/test-vsprintf-posix.c: Likewise.
44422
44423 2009-01-03  Jim Meyering  <meyering@redhat.com>
44424
44425         gnulib-tool: fix sed-based filtering
44426         * gnulib-tool (func_filter_filelist): Remove extra backslash
44427         in sed_fff_filter definition.
44428
44429 2009-01-02  Jim Meyering  <meyering@redhat.com>
44430
44431         strftime: avoid compilation failure on Solaris 2.6
44432         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
44433         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
44434         Don't #define mbrlen or mbsinit, since now they're guaranteed to
44435         be available.  Reported by Tom G. Christensen.  Details in
44436         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
44437
44438 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44439             Bruno Haible  <bruno@clisp.org>
44440
44441         Speed up gnulib-tool by doing more string processing through shell
44442         built-ins.
44443         * gnulib-tool (fast_func_append): New variable.
44444         (func_remove_prefix, func_remove_suffix): New functions.
44445         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
44446         (func_filter_filelist): New function.
44447         (func_get_dependencies): Use func_remove_suffix instead of sed.
44448         (func_get_automake_snippet): Use func_filter_filelist instead of a
44449         subshell and sed invocation.
44450
44451 2009-01-01  Bruno Haible  <bruno@clisp.org>
44452
44453         Fix a security bug.
44454         * gnulib-tool (func_import, import, update): Don't allow the characters
44455         '"', '$', '`', '\' in macro arguments that become part of commands that
44456         are evaluated.
44457
44458 2009-01-01  Bruno Haible  <bruno@clisp.org>
44459
44460         * gnulib-tool (func_reset_sigpipe): Add more comments.
44461
44462 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44463
44464         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
44465         func_emit_tests_Makefile_am, func_import): Abort loops early if we
44466         already know the answer.
44467
44468 2009-01-01  Jim Meyering  <meyering@redhat.com>
44469
44470         * lib/version-etc.c (version_etc_va): Update copyright year.
44471
44472 2008-12-30  Bruno Haible  <bruno@clisp.org>
44473
44474         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
44475         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
44476         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
44477
44478 2008-12-29  Eric Blake  <ebb9@byu.net>
44479
44480         multiarch: avoid autoconf AC_REQUIRE bug
44481         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
44482         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
44483         2.63 and older.
44484         Reported by Bruno Haible, and analyzed in
44485         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
44486
44487 2008-12-29  Bruno Haible  <bruno@clisp.org>
44488
44489         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
44490         files in subdirectories correctly.
44491         Reported by Ralf Wildenhues.
44492
44493 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44494
44495         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
44496         rather than 'join FILE -', for Solaris join.
44497
44498 2008-12-29  Bruno Haible  <bruno@clisp.org>
44499
44500         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
44501         quoting.
44502         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
44503         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
44504         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
44505         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
44506         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
44507         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
44508         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
44509         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
44510         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
44511         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
44512         * m4/nls.m4 (AM_NLS): Likewise.
44513         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
44514         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
44515         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
44516         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
44517         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
44518         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
44519         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
44520         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
44521         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
44522         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
44523         * m4/xsize.m4 (gl_XSIZE): Likewise.
44524         Suggested by Jim Meyering.
44525
44526 2008-11-17  Bruce Korb  <bkorb@gnu.org>
44527
44528         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
44529         * lib/parse-duration.c: use a switch instead of cascading if's.
44530
44531 2008-12-29  Eric Blake  <ebb9@byu.net>
44532
44533         wchar.h: supply WEOF on Irix 5.3
44534         * lib/wchar.in.h (wint_t): Also supply WEOF.
44535         * lib/wctype.in.h (wint_t): Likewise.
44536         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
44537         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
44538         Reported by Tom G. Christensen.
44539
44540 2008-12-26  Bruno Haible  <bruno@clisp.org>
44541
44542         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
44543         i486, i586, i686.
44544
44545 2008-12-26  Bruno Haible  <bruno@clisp.org>
44546
44547         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
44548
44549 2008-12-26  Bruno Haible  <bruno@clisp.org>
44550
44551         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
44552         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
44553         not __STDC_CONSTANT_MACROS.
44554         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
44555
44556 2008-12-25  Bruno Haible  <bruno@clisp.org>
44557
44558         Add support for universal builds to vasnprintf.
44559         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
44560         universal builds, guess no.
44561         * modules/vasnprintf-posix (Depends-on): Add multiarch.
44562         * modules/vasprintf-posix (Depends-on): Likewise.
44563         * modules/fprintf-posix (Depends-on): Likewise.
44564         * modules/vfprintf-posix (Depends-on): Likewise.
44565         * modules/snprintf-posix (Depends-on): Likewise.
44566         * modules/vsnprintf-posix (Depends-on): Likewise.
44567         * modules/sprintf-posix (Depends-on): Likewise.
44568         * modules/vsprintf-posix (Depends-on): Likewise.
44569         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44570         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44571         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44572         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44573         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44574         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44575         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44576
44577         Add support for universal builds to <inttypes.h>.
44578         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
44579         _SCNu64_PREFIX): In Apple
44580         universal builds, define directly, using _LP64.
44581         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
44582         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
44583         * modules/inttypes (Depends-on): Add multiarch.
44584         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
44585
44586         Add support for universal builds to <stdint.h>.
44587         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
44588         universal builds, define directly, using _LP64.
44589         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
44590         Apple universal builds, don't test for the size and suffix of ptrdiff_t
44591         and size_t.
44592         * modules/stdint (Depends-on): Add multiarch.
44593         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
44594
44595         New module 'multiarch'.
44596         * modules/multiarch: New file.
44597         * m4/multiarch.m4: New file.
44598
44599 2008-12-25  Bruno Haible  <bruno@clisp.org>
44600
44601         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
44602
44603 2008-12-25  Bruno Haible  <bruno@clisp.org>
44604
44605         * modules/btowc (License): Relicense under LGPLv2+.
44606         * modules/mbsinit (License): Likewise.
44607         * modules/mbrtowc (License): Likewise.
44608         * modules/wcrtomb (License): Likewise.
44609         * modules/streq (License): Likewise.
44610         Reported by David Lutterkort <lutter@redhat.com>.
44611
44612 2008-12-23  Bruno Haible  <bruno@clisp.org>
44613
44614         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
44615
44616 2008-12-23  Bruno Haible  <bruno@clisp.org>
44617
44618         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
44619         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
44620         GETADDRINFO_LIB, not in LIBS.
44621         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
44622         * modules/canon-host (Link): Likewise.
44623         * NEWS: Mention the change.
44624         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
44625         GETADDRINFO_LIB.
44626
44627 2008-12-22  Bruno Haible  <bruno@clisp.org>
44628
44629         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
44630         * doc/posix-functions/iswalpha_l.texi: Likewise.
44631         * doc/posix-functions/iswblank_l.texi: Likewise.
44632         * doc/posix-functions/iswcntrl_l.texi: Likewise.
44633         * doc/posix-functions/iswctype_l.texi: Likewise.
44634         * doc/posix-functions/iswdigit_l.texi: Likewise.
44635         * doc/posix-functions/iswgraph_l.texi: Likewise.
44636         * doc/posix-functions/iswlower_l.texi: Likewise.
44637         * doc/posix-functions/iswprint_l.texi: Likewise.
44638         * doc/posix-functions/iswpunct_l.texi: Likewise.
44639         * doc/posix-functions/iswspace_l.texi: Likewise.
44640         * doc/posix-functions/iswupper_l.texi: Likewise.
44641         * doc/posix-functions/iswxdigit_l.texi: Likewise.
44642         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
44643         * doc/posix-functions/open_wmemstream.texi: Likewise.
44644         * doc/posix-functions/swscanf.texi: Likewise.
44645         * doc/posix-functions/towctrans_l.texi: Likewise.
44646         * doc/posix-functions/towlower.texi: Likewise.
44647         * doc/posix-functions/towlower_l.texi: Likewise.
44648         * doc/posix-functions/towupper.texi: Likewise.
44649         * doc/posix-functions/towupper_l.texi: Likewise.
44650         * doc/posix-functions/vfwprintf.texi: Likewise.
44651         * doc/posix-functions/vfwscanf.texi: Likewise.
44652         * doc/posix-functions/vswscanf.texi: Likewise.
44653         * doc/posix-functions/vwprintf.texi: Likewise.
44654         * doc/posix-functions/vwscanf.texi: Likewise.
44655         * doc/posix-functions/wcpcpy.texi: Likewise.
44656         * doc/posix-functions/wcpncpy.texi: Likewise.
44657         * doc/posix-functions/wcscasecmp.texi: Likewise.
44658         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
44659         * doc/posix-functions/wcscoll_l.texi: Likewise.
44660         * doc/posix-functions/wcsdup.texi: Likewise.
44661         * doc/posix-functions/wcsncasecmp.texi: Likewise.
44662         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
44663         * doc/posix-functions/wcsnlen.texi: Likewise.
44664         * doc/posix-functions/wcsnrtombs.texi: Likewise.
44665         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
44666         * doc/posix-functions/wctrans_l.texi: Likewise.
44667         * doc/posix-functions/wctype_l.texi: Likewise.
44668         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
44669         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
44670         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
44671         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
44672         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
44673         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
44674         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
44675         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
44676         * doc/glibc-functions/wcschrnul.texi: Likewise.
44677         * doc/glibc-functions/wcsftime_l.texi: Likewise.
44678         * doc/glibc-functions/wcstod_l.texi: Likewise.
44679         * doc/glibc-functions/wcstof_l.texi: Likewise.
44680         * doc/glibc-functions/wcstol_l.texi: Likewise.
44681         * doc/glibc-functions/wcstold_l.texi: Likewise.
44682         * doc/glibc-functions/wcstoll_l.texi: Likewise.
44683         * doc/glibc-functions/wcstoq.texi: Likewise.
44684         * doc/glibc-functions/wcstoul_l.texi: Likewise.
44685         * doc/glibc-functions/wcstoull_l.texi: Likewise.
44686         * doc/glibc-functions/wcstouq.texi: Likewise.
44687         * doc/glibc-functions/wmempcpy.texi: Likewise.
44688
44689 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
44690             Eric Blake  <ebb9@byu.net>
44691             Paolo Bonzini  <bonzini@gnu.org>
44692             Bruno Haible  <bruno@clisp.org>
44693
44694         Make c-stack work on Haiku.
44695         * lib/c-stack.c (SA_ONSTACK): Define fallback.
44696         (c_stack_action): Use SA_ONSTACK flag.
44697
44698 2008-12-22  Bruno Haible  <bruno@clisp.org>
44699
44700         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
44701
44702 2008-12-22  Bruno Haible  <bruno@clisp.org>
44703
44704         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
44705         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
44706         being overridden.
44707         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
44708         New macros.
44709         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
44710         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
44711         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
44712         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
44713
44714 2008-12-22  Bruno Haible  <bruno@clisp.org>
44715
44716         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
44717         from test code.
44718
44719 2008-12-22  Eric Blake  <ebb9@byu.net>
44720
44721         Avoid gcc warnings on cygwin.
44722         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
44723         Avoid unused variable.
44724         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
44725         Likewise.
44726
44727 2008-12-22  Bruno Haible  <bruno@clisp.org>
44728
44729         Remove HAVE_MBRTOWC conditionals.
44730         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
44731         (mbscasecmp): Assume mbrtowc function.
44732         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
44733         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
44734         * lib/mbschr.c: Include mbuiter.h unconditionally.
44735         (mbschr): Assume mbrtowc function.
44736         * lib/mbscspn.c: Include mbuiter.h unconditionally.
44737         (mbscspn): Assume mbrtowc function.
44738         * lib/mbslen.c: Include mbuiter.h unconditionally.
44739         (mbslen): Assume mbrtowc function.
44740         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
44741         (mbsncasecmp): Assume mbrtowc function.
44742         * lib/mbsnlen.c: Include mbiter.h unconditionally.
44743         (mbsnlen): Assume mbrtowc function.
44744         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
44745         (mbspbrk): Assume mbrtowc function.
44746         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
44747         (mbspcasecmp): Assume mbrtowc function.
44748         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
44749         (mbsrchr): Assume mbrtowc function.
44750         * lib/mbssep.c: Include mbuiter.h unconditionally.
44751         (mbssep): Assume mbrtowc function.
44752         * lib/mbsspn.c: Include mbuiter.h unconditionally.
44753         (mbsspn): Assume mbrtowc function.
44754         * lib/mbsstr.c: Include mbuiter.h unconditionally.
44755         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
44756         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
44757         (mbstok_r): Assume mbrtowc function.
44758         * lib/propername.c: Include mbuiter.h unconditionally.
44759         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
44760         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
44761         (trim2): Assume mbrtowc function.
44762         * lib/mbswidth.c (mbsinit): Remove fallback definition.
44763         (mbsnwidth): Assume mbrtowc function.
44764         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
44765         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
44766         fallback definitions.
44767         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
44768
44769 2008-12-22  Bruno Haible  <bruno@clisp.org>
44770
44771         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
44772
44773 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
44774
44775         * modules/regex: Request emulations for the mb*/wc* functions we need.
44776         * m4/regex.m4: Don't look for those functions here.
44777         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
44778
44779 2008-12-22  Bruno Haible  <bruno@clisp.org>
44780
44781         * modules/fnmatch (Depends-on): Remove duplicated dependency.
44782
44783 2008-12-21  Bruno Haible  <bruno@clisp.org>
44784
44785         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
44786         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
44787         (Include): Remove conditionalization.
44788         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
44789         (Include): Remove conditionalization.
44790         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
44791         (Include): Remove conditionalization.
44792         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
44793         * m4/mbfile.m4 (gl_MBFILE): Likewise.
44794         * NEWS: Mention the change.
44795         Reported by Alan Hourihane <alanh@fairlite.co.uk>
44796         via Sergey Poznyakoff <gray@gnu.org.ua>.
44797
44798 2008-12-21  Bruno Haible  <bruno@clisp.org>
44799
44800         * MODULES.html.sh (Extended multibyte and wide character utilities
44801         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
44802         wcrtomb, wcsrtombs.
44803         (Support for systems lacking POSIX:2008): Add accept, bind, close,
44804         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
44805         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
44806         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
44807
44808 2008-12-21  Bruno Haible  <bruno@clisp.org>
44809
44810         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
44811
44812 2008-12-21  Bruno Haible  <bruno@clisp.org>
44813
44814         * modules/wcsnrtombs-tests: New file.
44815         * tests/test-wcsnrtombs1.sh: New file.
44816         * tests/test-wcsnrtombs2.sh: New file.
44817         * tests/test-wcsnrtombs3.sh: New file.
44818         * tests/test-wcsnrtombs4.sh: New file.
44819         * tests/test-wcsnrtombs.c: New file.
44820
44821         New module 'wcsnrtombs'.
44822         * lib/wchar.in.h (wcsnrtombs): New declaration.
44823         * lib/wcsnrtombs.c: New file.
44824         * lib/wcsrtombs-state.c: New file.
44825         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
44826         (internal_state): Remove variable.
44827         * m4/wcsnrtombs.m4: New file.
44828         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
44829         compilation units.
44830         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
44831         HAVE_WCSNRTOMBS.
44832         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
44833         HAVE_WCSNRTOMBS.
44834         * modules/wcsnrtombs: New file.
44835         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
44836         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
44837
44838 2008-12-21  Bruno Haible  <bruno@clisp.org>
44839
44840         * modules/wcsrtombs-tests: New file.
44841         * tests/test-wcsrtombs1.sh: New file.
44842         * tests/test-wcsrtombs2.sh: New file.
44843         * tests/test-wcsrtombs3.sh: New file.
44844         * tests/test-wcsrtombs4.sh: New file.
44845         * tests/test-wcsrtombs.c: New file.
44846
44847         New module 'wcsrtombs'.
44848         * lib/wchar.in.h (wcsrtombs): New declaration.
44849         * lib/wcsrtombs.c: New file.
44850         * m4/wcsrtombs.m4: New file.
44851         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
44852         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
44853         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
44854         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
44855         * modules/wcsrtombs: New file.
44856         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
44857         bugs.
44858
44859 2008-12-21  Bruno Haible  <bruno@clisp.org>
44860
44861         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
44862         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
44863         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
44864         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
44865         if not correct.
44866         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
44867         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
44868         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
44869         m4/locale-zh.m4, m4/codeset.m4.
44870         * doc/posix-functions/wcrtomb.texi: Document the bug.
44871
44872 2008-12-21  Bruno Haible  <bruno@clisp.org>
44873
44874         Work around a btowc() bug on IRIX 6.5.
44875         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
44876         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
44877         REPLACE_WTOBC if not.
44878         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
44879         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
44880         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
44881
44882 2008-12-21  Bruno Haible  <bruno@clisp.org>
44883
44884         * modules/wcrtomb-tests: New file.
44885         * tests/test-wcrtomb.sh: New file.
44886         * tests/test-wcrtomb.c: New file.
44887
44888         New module 'wcrtomb'.
44889         * lib/wchar.in.h (wcrtomb): New declaration.
44890         * lib/wcrtomb.c: New file.
44891         * m4/wcrtomb.m4: New file.
44892         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
44893         HAVE_WCRTOMB.
44894         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
44895         HAVE_WCRTOMB.
44896         * modules/wcrtomb: New file.
44897         * doc/posix-functions/wcrtomb.texi: Mention the new module.
44898
44899 2008-12-21  Bruno Haible  <bruno@clisp.org>
44900
44901         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
44902         * modules/mbsrtowcs (Files): Likewise.
44903         * modules/wctob (Files): Likewise.
44904         * modules/c-strcase-tests (Files): Likewise.
44905         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
44906         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
44907         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
44908         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
44909         * modules/vasnprintf-posix-tests (Files): Likewise.
44910
44911 2008-12-21  William Pursell  <bill.pursell@gmail.com>
44912
44913         gitlog-to-changelog: pass all command-line arguments to git-log
44914         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
44915         it is sometimes convenient to filter the commits in various ways.
44916         gitlog-to-changelog only allows --since to specify a start date,
44917         but git-log itself supports many other filtering mechanisms.
44918         At the moment, I want to filter by branch name.  Rather than
44919         adding a --branch option to gitlog-to-changelog, it seems more
44920         flexible to simply pass all options directly to git-log and let
44921         git do the work.  Notice that this effectively makes --since a
44922         redundant option for gitlog-to-changelog, but removing it would
44923         require current usage to change since calls would then require
44924         an additional '--'.
44925
44926 2008-12-21  Bruno Haible  <bruno@clisp.org>
44927
44928         * modules/mbsnrtowcs-tests: New file.
44929         * tests/test-mbsnrtowcs1.sh: New file.
44930         * tests/test-mbsnrtowcs2.sh: New file.
44931         * tests/test-mbsnrtowcs3.sh: New file.
44932         * tests/test-mbsnrtowcs4.sh: New file.
44933         * tests/test-mbsnrtowcs.c: New file.
44934
44935         New module 'mbsnrtowcs'.
44936         * lib/wchar.in.h (mbsnrtowcs): New declaration.
44937         * lib/mbsnrtowcs.c: New file.
44938         * lib/mbsrtowcs-state.c: New file.
44939         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
44940         (internal_state): Remove variable.
44941         * m4/mbsnrtowcs.m4: New file.
44942         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
44943         compilation units.
44944         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
44945         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
44946         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
44947         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
44948         * modules/mbsnrtowcs: New file.
44949         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
44950         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
44951         portability problem.
44952
44953 2008-12-21  Bruno Haible  <bruno@clisp.org>
44954
44955         Work around mbsrtowcs bug.
44956         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
44957         (gl_FUNC_MBSRTOWCS): Invoke it.
44958         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
44959         m4/locale-zh.m4.
44960         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
44961
44962 2008-12-21  Bruno Haible  <bruno@clisp.org>
44963
44964         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
44965
44966 2008-12-21  Bruno Haible  <bruno@clisp.org>
44967
44968         Update doc for AIX.
44969         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
44970         16-bit wchar_t type.
44971         * doc/posix-functions/btowc.texi: Likewise.
44972         * doc/posix-functions/fgetwc.texi: Likewise.
44973         * doc/posix-functions/fgetws.texi: Likewise.
44974         * doc/posix-functions/fputwc.texi: Likewise.
44975         * doc/posix-functions/fputws.texi: Likewise.
44976         * doc/posix-functions/fwide.texi: Likewise.
44977         * doc/posix-functions/fwprintf.texi: Likewise.
44978         * doc/posix-functions/fwscanf.texi: Likewise.
44979         * doc/posix-functions/getwchar.texi: Likewise.
44980         * doc/posix-functions/getwc.texi: Likewise.
44981         * doc/posix-functions/iswalnum.texi: Likewise.
44982         * doc/posix-functions/iswalpha.texi: Likewise.
44983         * doc/posix-functions/iswblank.texi: Likewise.
44984         * doc/posix-functions/iswcntrl.texi: Likewise.
44985         * doc/posix-functions/iswctype.texi: Likewise.
44986         * doc/posix-functions/iswdigit.texi: Likewise.
44987         * doc/posix-functions/iswgraph.texi: Likewise.
44988         * doc/posix-functions/iswlower.texi: Likewise.
44989         * doc/posix-functions/iswprint.texi: Likewise.
44990         * doc/posix-functions/iswpunct.texi: Likewise.
44991         * doc/posix-functions/iswspace.texi: Likewise.
44992         * doc/posix-functions/iswupper.texi: Likewise.
44993         * doc/posix-functions/iswxdigit.texi: Likewise.
44994         * doc/posix-functions/mbrtowc.texi: Likewise.
44995         * doc/posix-functions/mbsrtowcs.texi: Likewise.
44996         * doc/posix-functions/mbstowcs.texi: Likewise.
44997         * doc/posix-functions/mbtowc.texi: Likewise.
44998         * doc/posix-functions/putwchar.texi: Likewise.
44999         * doc/posix-functions/putwc.texi: Likewise.
45000         * doc/posix-functions/swprintf.texi: Likewise.
45001         * doc/posix-functions/tolower.texi: Likewise.
45002         * doc/posix-functions/toupper.texi: Likewise.
45003         * doc/posix-functions/towctrans.texi: Likewise.
45004         * doc/posix-functions/ungetwc.texi: Likewise.
45005         * doc/posix-functions/vswprintf.texi: Likewise.
45006         * doc/posix-functions/wcrtomb.texi: Likewise.
45007         * doc/posix-functions/wcscat.texi: Likewise.
45008         * doc/posix-functions/wcschr.texi: Likewise.
45009         * doc/posix-functions/wcscmp.texi: Likewise.
45010         * doc/posix-functions/wcscoll.texi: Likewise.
45011         * doc/posix-functions/wcscpy.texi: Likewise.
45012         * doc/posix-functions/wcscspn.texi: Likewise.
45013         * doc/posix-functions/wcsftime.texi: Likewise.
45014         * doc/posix-functions/wcslen.texi: Likewise.
45015         * doc/posix-functions/wcsncat.texi: Likewise.
45016         * doc/posix-functions/wcsncmp.texi: Likewise.
45017         * doc/posix-functions/wcsncpy.texi: Likewise.
45018         * doc/posix-functions/wcspbrk.texi: Likewise.
45019         * doc/posix-functions/wcsrchr.texi: Likewise.
45020         * doc/posix-functions/wcsrtombs.texi: Likewise.
45021         * doc/posix-functions/wcsspn.texi: Likewise.
45022         * doc/posix-functions/wcsstr.texi: Likewise.
45023         * doc/posix-functions/wcstod.texi: Likewise.
45024         * doc/posix-functions/wcstof.texi: Likewise.
45025         * doc/posix-functions/wcstoimax.texi: Likewise.
45026         * doc/posix-functions/wcstok.texi: Likewise.
45027         * doc/posix-functions/wcstold.texi: Likewise.
45028         * doc/posix-functions/wcstoll.texi: Likewise.
45029         * doc/posix-functions/wcstol.texi: Likewise.
45030         * doc/posix-functions/wcstombs.texi: Likewise.
45031         * doc/posix-functions/wcstoull.texi: Likewise.
45032         * doc/posix-functions/wcstoul.texi: Likewise.
45033         * doc/posix-functions/wcstoumax.texi: Likewise.
45034         * doc/posix-functions/wcswidth.texi: Likewise.
45035         * doc/posix-functions/wcsxfrm.texi: Likewise.
45036         * doc/posix-functions/wctob.texi: Likewise.
45037         * doc/posix-functions/wctomb.texi: Likewise.
45038         * doc/posix-functions/wctrans.texi: Likewise.
45039         * doc/posix-functions/wctype.texi: Likewise.
45040         * doc/posix-functions/wcwidth.texi: Likewise.
45041         * doc/posix-functions/wmemchr.texi: Likewise.
45042         * doc/posix-functions/wmemcmp.texi: Likewise.
45043         * doc/posix-functions/wmemcpy.texi: Likewise.
45044         * doc/posix-functions/wmemmove.texi: Likewise.
45045         * doc/posix-functions/wmemset.texi: Likewise.
45046         * doc/posix-functions/wprintf.texi: Likewise.
45047         * doc/posix-functions/wscanf.texi: Likewise.
45048
45049 2008-12-21  Bruno Haible  <bruno@clisp.org>
45050
45051         Update doc for HP-UX 11.11.
45052         * doc/posix-functions/btowc.texi: Clarify that the function is missing
45053         in HP-UX version 11.00, not in all versions of HP-UX 11.
45054         * doc/posix-functions/fwide.texi: Likewise.
45055         * doc/posix-functions/fwprintf.texi: Likewise.
45056         * doc/posix-functions/fwscanf.texi: Likewise.
45057         * doc/posix-functions/inet_ntop.texi: Likewise.
45058         * doc/posix-functions/inet_pton.texi: Likewise.
45059         * doc/posix-functions/mbrlen.texi: Likewise.
45060         * doc/posix-functions/mbrtowc.texi: Likewise.
45061         * doc/posix-functions/mbsinit.texi: Likewise.
45062         * doc/posix-functions/mbsrtowcs.texi: Likewise.
45063         * doc/posix-functions/swprintf.texi: Likewise.
45064         * doc/posix-functions/swscanf.texi: Likewise.
45065         * doc/posix-functions/towctrans.texi: Likewise.
45066         * doc/posix-functions/vfwprintf.texi: Likewise.
45067         * doc/posix-functions/vswprintf.texi: Likewise.
45068         * doc/posix-functions/vwprintf.texi: Likewise.
45069         * doc/posix-functions/wcrtomb.texi: Likewise.
45070         * doc/posix-functions/wcsrtombs.texi: Likewise.
45071         * doc/posix-functions/wcsstr.texi: Likewise.
45072         * doc/posix-functions/wctob.texi: Likewise.
45073         * doc/posix-functions/wctrans.texi: Likewise.
45074         * doc/posix-functions/wmemchr.texi: Likewise.
45075         * doc/posix-functions/wmemcmp.texi: Likewise.
45076         * doc/posix-functions/wmemcpy.texi: Likewise.
45077         * doc/posix-functions/wmemmove.texi: Likewise.
45078         * doc/posix-functions/wmemset.texi: Likewise.
45079         * doc/posix-functions/wprintf.texi: Likewise.
45080         * doc/posix-functions/wscanf.texi: Likewise.
45081
45082 2008-12-21  Bruno Haible  <bruno@clisp.org>
45083
45084         Work around a portability problem.
45085         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
45086         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
45087
45088 2008-12-20  Bruno Haible  <bruno@clisp.org>
45089
45090         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
45091         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
45092         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
45093         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
45094         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
45095
45096         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
45097         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
45098         set.
45099         (GNULIB_defined_mbstate_t): New macro.
45100         (mbsinit): Redefine if REPLACE_MBSINIT is set.
45101         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
45102         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
45103         reuses the system's mbrtowc function but works around the bugs.
45104         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
45105         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
45106         macros.
45107         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
45108         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
45109         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
45110         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
45111         REPLACE_MBSINIT if mbsinit needs to be overridden.
45112         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
45113         REPLACE_MBSINIT, REPLACE_MBRTOWC.
45114         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
45115         REPLACE_MBSINIT, REPLACE_MBRTOWC.
45116         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45117         m4/locale-zh.m4.
45118         (Depends): Add mbsinit.
45119         * modules/mbsinit (Depends): Add mbrtowc.
45120         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
45121
45122 2008-12-20  Bruno Haible  <bruno@clisp.org>
45123
45124         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
45125         so that there are no conversion errors on AIX.
45126         * tests/test-mbsrtowcs.c (main): LIkewise.
45127
45128 2008-12-20  Bruno Haible  <bruno@clisp.org>
45129
45130         Work around wctob bug on Solaris <= 9.
45131         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
45132         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
45133         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
45134         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
45135         * modules/wctob (Files): Add m4/locale-fr.m4.
45136         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
45137
45138 2008-12-20  Bruno Haible  <bruno@clisp.org>
45139
45140         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
45141         /dev/null.
45142         * tests/test-select-in.sh: Likewise.
45143         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45144
45145 2008-12-20  Bruno Haible  <bruno@clisp.org>
45146
45147         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
45148         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
45149         Cygwin 1.5.x.
45150
45151 2008-12-20  Bruno Haible  <bruno@clisp.org>
45152
45153         Ensure mbstate_t is defined on HP-UX 11.11.
45154         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
45155         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
45156         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
45157         AC_USE_SYSTEM_EXTENSIONS.
45158         * modules/fnmatch (Depends-on): Add extensions.
45159         * modules/mbrlen (Depends-on): Likewise.
45160         * modules/mbrtowc (Depends-on): Likewise.
45161         * modules/mbsinit (Depends-on): Likewise.
45162         * modules/mbsrtowcs (Depends-on): Likewise.
45163         * modules/mbswidth (Depends-on): Likewise.
45164         * modules/quotearg (Depends-on): Likewise.
45165         * modules/strftime (Depends-on): Likewise.
45166
45167 2008-12-20  Bruno Haible  <bruno@clisp.org>
45168
45169         Ensure wctob is declared on IRIX 6.5.
45170         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
45171         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
45172         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
45173         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
45174         of HAVE_WCTOB.
45175         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
45176         HAVE_WCTOB.
45177         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
45178
45179 2008-12-19  Bruno Haible  <bruno@clisp.org>
45180
45181         * modules/mbsrtowcs-tests: New file.
45182         * tests/test-mbsrtowcs1.sh: New file.
45183         * tests/test-mbsrtowcs2.sh: New file.
45184         * tests/test-mbsrtowcs3.sh: New file.
45185         * tests/test-mbsrtowcs4.sh: New file.
45186         * tests/test-mbsrtowcs.c: New file.
45187
45188         New module 'mbsrtowcs'.
45189         * lib/wchar.in.h (mbsrtowcs): New declaration.
45190         * lib/mbsrtowcs.c: New file.
45191         * m4/mbsrtowcs.m4: New file.
45192         * modules/mbsrtowcs: New file.
45193         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
45194         HAVE_MBSRTOWCS.
45195         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
45196         HAVE_MBSRTOWCS.
45197         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
45198
45199 2008-12-19  Bruno Haible  <bruno@clisp.org>
45200
45201         New module 'mbrlen'.
45202         * lib/wchar.in.h (mbrlen): New declaration.
45203         * lib/mbrlen.c: New file.
45204         * m4/mbrlen.m4: New file.
45205         * modules/mbrlen: New file.
45206         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
45207         HAVE_MBRLEN.
45208         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
45209         HAVE_MBRLEN.
45210         * doc/posix-functions/mbrlen.texi: Document the new module.
45211
45212 2008-12-19  Bruno Haible  <bruno@clisp.org>
45213
45214         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
45215         * modules/mbrtowc (Depends-on): Add verify.
45216         Suggested by Paul Eggert.
45217
45218 2008-12-18  Bruno Haible  <bruno@clisp.org>
45219
45220         * modules/mbsinit-tests: New file.
45221         * tests/test-mbsinit.sh: New file.
45222         * tests/test-mbsinit.c: New file.
45223
45224 2008-12-18  Bruno Haible  <bruno@clisp.org>
45225
45226         * modules/mbrtowc-tests: New file.
45227         * tests/test-mbrtowc1.sh: New file.
45228         * tests/test-mbrtowc2.sh: New file.
45229         * tests/test-mbrtowc3.sh: New file.
45230         * tests/test-mbrtowc4.sh: New file.
45231         * tests/test-mbrtowc.c: New file.
45232
45233         New module 'mbrtowc'.
45234         * lib/wchar.in.h (mbstate_t): Override when the system does not have
45235         mbsinit and mbrtowc.
45236         (mbrtowc): New declaration.
45237         * lib/mbrtowc.c: New file.
45238         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
45239         * modules/mbrtowc: New file.
45240         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
45241         HAVE_MBRTOWC.
45242         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
45243         HAVE_MBRTOWC.
45244         * doc/posix-functions/mbrtowc.texi: Document the new module.
45245
45246 2008-12-18  Bruno Haible  <bruno@clisp.org>
45247
45248         New module 'wctob'.
45249         * lib/wchar.in.h (wctob): New declaration.
45250         * lib/wctob.c: New file.
45251         * m4/wctob.m4: New file.
45252         * modules/wctob: New file.
45253         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
45254         HAVE_WCTOB.
45255         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
45256         * doc/posix-functions/wctob.texi: Document the new module.
45257
45258 2008-12-18  Bruno Haible  <bruno@clisp.org>
45259
45260         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
45261         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
45262
45263 2008-12-18  Simon Josefsson  <simon@josefsson.org>
45264
45265         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
45266         G. Christensen" <tgc@jupiterrise.com>.
45267
45268         * lib/flock.c: Need to include errno.h.  Reported by "Tom
45269         G. Christensen" <tgc@jupiterrise.com>.
45270
45271         * lib/flock.c: Need to include string.h.  Reported by "Tom
45272         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
45273         <ebb9@byu.net>.
45274
45275 2008-12-18  Bruno Haible  <bruno@clisp.org>
45276
45277         * m4/locale-ja.m4: New file, from GNU gettext.
45278
45279 2008-12-17  Bruno Haible  <bruno@clisp.org>
45280
45281         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
45282         Suggested by Eric Blake.
45283
45284 2008-12-17  Bruno Haible  <bruno@clisp.org>
45285
45286         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
45287
45288 2008-12-17  Bruno Haible  <bruno@clisp.org>
45289
45290         * lib/mbsinit.c: Include verify.h. Verify an assumption.
45291         * modules/mbsinit (Depends-on): Add verify.
45292         Suggested by Paul Eggert.
45293
45294 2008-12-17  Bruno Haible  <bruno@clisp.org>
45295
45296         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
45297         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
45298         gl_FUNC_MBRTOWC.
45299         * m4/mbiter.m4 (gl_MBITER): LIkewise.
45300         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
45301         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
45302         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
45303         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
45304         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
45305         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
45306         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
45307         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
45308         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
45309         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
45310         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
45311         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
45312         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
45313         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
45314         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
45315         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
45316         * modules/trim (configure.ac): Likewise.
45317
45318 2008-12-17  Bruno Haible  <bruno@clisp.org>
45319
45320         * modules/btowc-tests: New file.
45321         * tests/test-btowc1.sh: New file.
45322         * tests/test-btowc2.sh: New file.
45323         * tests/test-btowc.c: New file.
45324
45325         New module 'btowc'.
45326         * lib/wchar.in.h (btowc): New declaration.
45327         * lib/btowc.c: New file.
45328         * m4/btowc.m4: New file.
45329         * modules/btowc: New file.
45330         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
45331         HAVE_BTOWC.
45332         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
45333         * doc/posix-functions/btowc.texi: Document the new module.
45334
45335 2008-12-17  Bruno Haible  <bruno@clisp.org>
45336
45337         New module 'mbsinit'.
45338         * lib/wchar.in.h (mbsinit): New declaration.
45339         * lib/mbsinit.c: New file.
45340         * m4/mbsinit.m4: New file.
45341         * modules/mbsinit: New file.
45342         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
45343         HAVE_MBSINIT.
45344         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
45345         HAVE_MBSINIT.
45346         * doc/posix-functions/mbsinit.texi: Document the new module.
45347
45348 2008-12-16  Bruno Haible  <bruno@clisp.org>
45349
45350         * lib/unistd.in.h: Add comment.
45351         * tests/test-environ.c: Don't include <stdlib.h>.
45352
45353 2008-12-16  Bruno Haible  <bruno@clisp.org>
45354
45355         * lib/parse-duration.h (parse_duration): Document return value
45356         convention.
45357         * lib/parse-duration.c: Include specification header first. Add
45358         comments.
45359         (_): Remove macro.
45360         (parse_year_month_day, parse_hour_minute_second): Move side effects
45361         outside of strchr call.
45362         (parse_non_iso8601): Move side effects outside of isspace call.
45363         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
45364         call.
45365
45366 2008-12-16  Bruno Haible  <bruno@clisp.org>
45367
45368         * tests/test-parse-duration.sh: Produce no output when the test
45369         succeeds.
45370
45371 2008-12-16  Bruno Haible  <bruno@clisp.org>
45372
45373         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
45374         expressions.
45375
45376 2008-12-15  Bruno Haible  <bruno@clisp.org>
45377
45378         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
45379         * doc/glibc-functions/flistxattr.texi: Likewise.
45380         * doc/glibc-functions/fopencookie.texi: Likewise.
45381         * doc/glibc-functions/fremovexattr.texi: Likewise.
45382         * doc/glibc-functions/fsetxattr.texi: Likewise.
45383         * doc/glibc-functions/getxattr.texi: Likewise.
45384         * doc/glibc-functions/lgetxattr.texi: Likewise.
45385         * doc/glibc-functions/listxattr.texi: Likewise.
45386         * doc/glibc-functions/llistxattr.texi: Likewise.
45387         * doc/glibc-functions/lremovexattr.texi: Likewise.
45388         * doc/glibc-functions/lsetxattr.texi: Likewise.
45389         * doc/glibc-functions/removexattr.texi: Likewise.
45390         * doc/glibc-functions/setxattr.texi: Likewise.
45391         * doc/posix-functions/open_memstream.texi: Likewise.
45392
45393 2008-12-15  Eric Blake  <ebb9@byu.net>
45394
45395         Update doc for cygwin 1.7.
45396         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
45397         functions.
45398         * doc/posix-functions/fchmodat.texi: Likewise.
45399         * doc/posix-functions/fchownat.texi: Likewise.
45400         * doc/posix-functions/fdopendir.texi: Likewise.
45401         * doc/posix-functions/fmemopen.texi: Likewise.
45402         * doc/posix-functions/freeaddrinfo.texi: Likewise.
45403         * doc/posix-functions/fstatat.texi: Likewise.
45404         * doc/posix-functions/futimens.texi: Likewise.
45405         * doc/posix-functions/gai_strerror.texi: Likewise.
45406         * doc/posix-functions/getaddrinfo.texi: Likewise.
45407         * doc/posix-functions/getnameinfo.texi: Likewise.
45408         * doc/posix-functions/if_freenameindex.texi: Likewise.
45409         * doc/posix-functions/if_indextoname.texi: Likewise.
45410         * doc/posix-functions/if_nameindex.texi: Likewise.
45411         * doc/posix-functions/if_nametoindex.texi: Likewise.
45412         * doc/posix-functions/insque.texi: Likewise.
45413         * doc/posix-functions/linkat.texi: Likewise.
45414         * doc/posix-functions/llrint.texi: Likewise.
45415         * doc/posix-functions/llrintf.texi: Likewise.
45416         * doc/posix-functions/llrintl.texi: Likewise.
45417         * doc/posix-functions/lockf.texi: Likewise.
45418         * doc/posix-functions/lrintl.texi: Likewise.
45419         * doc/posix-functions/mkdirat.texi: Likewise.
45420         * doc/posix-functions/mkfifoat.texi: Likewise.
45421         * doc/posix-functions/mknodat.texi: Likewise.
45422         * doc/posix-functions/mq_close.texi: Likewise.
45423         * doc/posix-functions/mq_getattr.texi: Likewise.
45424         * doc/posix-functions/mq_notify.texi: Likewise.
45425         * doc/posix-functions/mq_open.texi: Likewise.
45426         * doc/posix-functions/mq_receive.texi: Likewise.
45427         * doc/posix-functions/mq_send.texi: Likewise.
45428         * doc/posix-functions/mq_setattr.texi: Likewise.
45429         * doc/posix-functions/mq_timedreceive.texi: Likewise.
45430         * doc/posix-functions/mq_timedsend.texi: Likewise.
45431         * doc/posix-functions/mq_unlink.texi: Likewise.
45432         * doc/posix-functions/open_memstream.texi: Likewise.
45433         * doc/posix-functions/openat.texi: Likewise.
45434         * doc/posix-functions/posix_fadvise.texi: Likewise.
45435         * doc/posix-functions/posix_fallocate.texi: Likewise.
45436         * doc/posix-functions/posix_madvise.texi: Likewise.
45437         * doc/posix-functions/posix_memalign.texi: Likewise.
45438         * doc/posix-functions/posix_openpt.texi: Likewise.
45439         * doc/posix-functions/readlinkat.texi: Likewise.
45440         * doc/posix-functions/remque.texi: Likewise.
45441         * doc/posix-functions/renameat.texi: Likewise.
45442         * doc/posix-functions/rintl.texi: Likewise.
45443         * doc/posix-functions/sem_unlink.texi: Likewise.
45444         * doc/posix-functions/shm_open.texi: Likewise.
45445         * doc/posix-functions/shm_unlink.texi: Likewise.
45446         * doc/posix-functions/signgam.texi: Likewise.
45447         * doc/posix-functions/sigset.texi: Likewise.
45448         * doc/posix-functions/stpcpy.texi: Likewise.
45449         * doc/posix-functions/stpncpy.texi: Likewise.
45450         * doc/posix-functions/strerror.texi: Likewise.
45451         * doc/posix-functions/strtod.texi: Likewise.
45452         * doc/posix-functions/symlinkat.texi: Likewise.
45453         * doc/posix-functions/unlinkat.texi: Likewise.
45454         * doc/posix-functions/utimensat.texi: Likewise.
45455         * doc/glibc-functions/bindresvport.texi: Likewise.
45456         * doc/glibc-functions/dn_expand.texi: Likewise.
45457         * doc/glibc-functions/exp10.texi: Likewise.
45458         * doc/glibc-functions/exp10f.texi: Likewise.
45459         * doc/glibc-functions/fgetxattr.texi: Likewise.
45460         * doc/glibc-functions/flistxattr.texi: Likewise.
45461         * doc/glibc-functions/fopencookie.texi: Likewise.
45462         * doc/glibc-functions/freeifaddrs.texi: Likewise.
45463         * doc/glibc-functions/fremovexattr.texi: Likewise.
45464         * doc/glibc-functions/fsetxattr.texi: Likewise.
45465         * doc/glibc-functions/getifaddrs.texi: Likewise.
45466         * doc/glibc-functions/getxattr.texi: Likewise.
45467         * doc/glibc-functions/lgetxattr.texi: Likewise.
45468         * doc/glibc-functions/listxattr.texi: Likewise.
45469         * doc/glibc-functions/llistxattr.texi: Likewise.
45470         * doc/glibc-functions/lremovexattr.texi: Likewise.
45471         * doc/glibc-functions/lsetxattr.texi: Likewise.
45472         * doc/glibc-functions/pow10.texi: Likewise.
45473         * doc/glibc-functions/pow10f.texi: Likewise.
45474         * doc/glibc-functions/rcmd_af.texi: Likewise.
45475         * doc/glibc-functions/removexattr.texi: Likewise.
45476         * doc/glibc-functions/res_init.texi: Likewise.
45477         * doc/glibc-functions/res_mkquery.texi: Likewise.
45478         * doc/glibc-functions/res_query.texi: Likewise.
45479         * doc/glibc-functions/res_querydomain.texi: Likewise.
45480         * doc/glibc-functions/res_send.texi: Likewise.
45481         * doc/glibc-functions/rresvport_af.texi: Likewise.
45482         * doc/glibc-functions/setxattr.texi: Likewise.
45483         * doc/glibc-functions/strcasestr.texi: Likewise.
45484
45485 2008-12-15  Bruno Haible  <bruno@clisp.org>
45486
45487         Fix compilation error on OSF/1 4.0.
45488         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
45489         <sys/time.h>, simply delegate to the system header.
45490         Reported by Daniel Richard G. <oss@teragram.com>.
45491
45492 2008-12-15  Bruno Haible  <bruno@clisp.org>
45493
45494         * doc/posix-functions/openat.texi: Mention the 'openat' module.
45495         * doc/posix-functions/fchmodat.texi: Likewise.
45496         * doc/posix-functions/fchownat.texi: Likewise.
45497         * doc/posix-functions/fdopendir.texi: Likewise.
45498         * doc/posix-functions/fstatat.texi: Likewise.
45499         * doc/posix-functions/mkdirat.texi: Likewise.
45500         * doc/posix-functions/unlinkat.texi: Likewise.
45501
45502 2008-12-14  Bruno Haible  <bruno@clisp.org>
45503
45504         Update doc for POSIX:2008.
45505         * doc/posix-functions/faccessat.texi: New file.
45506         * doc/posix-functions/fchmodat.texi: New file.
45507         * doc/posix-functions/fchownat.texi: New file.
45508         * doc/posix-functions/fdopendir.texi: New file.
45509         * doc/posix-functions/fstatat.texi: New file.
45510         * doc/posix-functions/futimens.texi: New file.
45511         * doc/posix-functions/linkat.texi: New file.
45512         * doc/posix-functions/mkdirat.texi: New file.
45513         * doc/posix-functions/mkfifoat.texi: New file.
45514         * doc/posix-functions/mknodat.texi: New file.
45515         * doc/posix-functions/open_wmemstream.texi: New file.
45516         * doc/posix-functions/openat.texi: New file.
45517         * doc/posix-functions/psiginfo.texi: New file.
45518         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
45519         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
45520         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
45521         * doc/posix-functions/readlinkat.texi: New file.
45522         * doc/posix-functions/renameat.texi: New file.
45523         * doc/posix-functions/strerror_l.texi: New file.
45524         * doc/posix-functions/symlinkat.texi: New file.
45525         * doc/posix-functions/unlinkat.texi: New file.
45526         * doc/posix-functions/utimensat.texi: New file.
45527         * doc/gnulib.texi (Function Substitutes): Add these subsections.
45528
45529 2008-12-14  Bruno Haible  <bruno@clisp.org>
45530
45531         Update doc for POSIX:2008.
45532         * doc/posix-functions/alphasort.texi: Renamed from
45533         doc/glibc-functions/alphasort.texi.
45534         * doc/posix-functions/dirfd.texi: Renamed from
45535         doc/glibc-functions/dirfd.texi.
45536         * doc/posix-functions/dprintf.texi: Renamed from
45537         doc/glibc-functions/dprintf.texi.
45538         * doc/posix-functions/duplocale.texi: Renamed from
45539         doc/glibc-functions/duplocale.texi.
45540         * doc/posix-functions/fexecve.texi: Renamed from
45541         doc/glibc-functions/fexecve.texi.
45542         * doc/posix-functions/fmemopen.texi: Renamed from
45543         doc/glibc-functions/fmemopen.texi.
45544         * doc/posix-functions/freelocale.texi: Renamed from
45545         doc/glibc-functions/freelocale.texi.
45546         * doc/posix-functions/getdate_err.texi: Renamed from
45547         doc/glibc-functions/getdate_err.texi.
45548         * doc/posix-functions/isalnum_l.texi: Renamed from
45549         doc/glibc-functions/isalnum_l.texi.
45550         * doc/posix-functions/isalpha_l.texi: Renamed from
45551         doc/glibc-functions/isalpha_l.texi.
45552         * doc/posix-functions/isblank_l.texi: Renamed from
45553         doc/glibc-functions/isblank_l.texi.
45554         * doc/posix-functions/iscntrl_l.texi: Renamed from
45555         doc/glibc-functions/iscntrl_l.texi.
45556         * doc/posix-functions/isdigit_l.texi: Renamed from
45557         doc/glibc-functions/isdigit_l.texi.
45558         * doc/posix-functions/isgraph_l.texi: Renamed from
45559         doc/glibc-functions/isgraph_l.texi.
45560         * doc/posix-functions/islower_l.texi: Renamed from
45561         doc/glibc-functions/islower_l.texi.
45562         * doc/posix-functions/isprint_l.texi: Renamed from
45563         doc/glibc-functions/isprint_l.texi.
45564         * doc/posix-functions/ispunct_l.texi: Renamed from
45565         doc/glibc-functions/ispunct_l.texi.
45566         * doc/posix-functions/isspace_l.texi: Renamed from
45567         doc/glibc-functions/isspace_l.texi.
45568         * doc/posix-functions/isupper_l.texi: Renamed from
45569         doc/glibc-functions/isupper_l.texi.
45570         * doc/posix-functions/iswalnum_l.texi: Renamed from
45571         doc/glibc-functions/iswalnum_l.texi.
45572         * doc/posix-functions/iswalpha_l.texi: Renamed from
45573         doc/glibc-functions/iswalpha_l.texi.
45574         * doc/posix-functions/iswblank_l.texi: Renamed from
45575         doc/glibc-functions/iswblank_l.texi.
45576         * doc/posix-functions/iswcntrl_l.texi: Renamed from
45577         doc/glibc-functions/iswcntrl_l.texi.
45578         * doc/posix-functions/iswctype_l.texi: Renamed from
45579         doc/glibc-functions/iswctype_l.texi.
45580         * doc/posix-functions/iswdigit_l.texi: Renamed from
45581         doc/glibc-functions/iswdigit_l.texi.
45582         * doc/posix-functions/iswgraph_l.texi: Renamed from
45583         doc/glibc-functions/iswgraph_l.texi.
45584         * doc/posix-functions/iswlower_l.texi: Renamed from
45585         doc/glibc-functions/iswlower_l.texi.
45586         * doc/posix-functions/iswprint_l.texi: Renamed from
45587         doc/glibc-functions/iswprint_l.texi.
45588         * doc/posix-functions/iswpunct_l.texi: Renamed from
45589         doc/glibc-functions/iswpunct_l.texi.
45590         * doc/posix-functions/iswspace_l.texi: Renamed from
45591         doc/glibc-functions/iswspace_l.texi.
45592         * doc/posix-functions/iswupper_l.texi: Renamed from
45593         doc/glibc-functions/iswupper_l.texi.
45594         * doc/posix-functions/iswxdigit_l.texi: Renamed from
45595         doc/glibc-functions/iswxdigit_l.texi.
45596         * doc/posix-functions/isxdigit_l.texi: Renamed from
45597         doc/glibc-functions/isxdigit_l.texi.
45598         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
45599         doc/glibc-functions/mbsnrtowcs.texi.
45600         * doc/posix-functions/mkdtemp.texi: Renamed from
45601         doc/glibc-functions/mkdtemp.texi.
45602         * doc/posix-functions/newlocale.texi: Renamed from
45603         doc/glibc-functions/newlocale.texi.
45604         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
45605         doc/glibc-functions/nl_langinfo_l.texi.
45606         * doc/posix-functions/open_memstream.texi: Renamed from
45607         doc/glibc-functions/open_memstream.texi.
45608         * doc/posix-functions/opterr.texi: Renamed from
45609         doc/glibc-functions/opterr.texi.
45610         * doc/posix-functions/optind.texi: Renamed from
45611         doc/glibc-functions/optind.texi.
45612         * doc/posix-functions/optopt.texi: Renamed from
45613         doc/glibc-functions/optopt.texi.
45614         * doc/posix-functions/psignal.texi: Renamed from
45615         doc/glibc-functions/psignal.texi.
45616         * doc/posix-functions/scandir.texi: Renamed from
45617         doc/glibc-functions/scandir.texi.
45618         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
45619         doc/glibc-functions/sched_get_priority_min.texi.
45620         * doc/posix-functions/signgam.texi: Renamed from
45621         doc/glibc-functions/signgam.texi.
45622         * doc/posix-functions/stpcpy.texi: Renamed from
45623         doc/glibc-functions/stpcpy.texi.
45624         * doc/posix-functions/stpncpy.texi: Renamed from
45625         doc/glibc-functions/stpncpy.texi.
45626         * doc/posix-functions/strcasecmp_l.texi: Renamed from
45627         doc/glibc-functions/strcasecmp_l.texi.
45628         * doc/posix-functions/strcoll_l.texi: Renamed from
45629         doc/glibc-functions/strcoll_l.texi.
45630         * doc/posix-functions/strfmon_l.texi: Renamed from
45631         doc/glibc-functions/strfmon_l.texi.
45632         * doc/posix-functions/strftime_l.texi: Renamed from
45633         doc/glibc-functions/strftime_l.texi.
45634         * doc/posix-functions/strncasecmp_l.texi: Renamed from
45635         doc/glibc-functions/strncasecmp_l.texi.
45636         * doc/posix-functions/strndup.texi: Renamed from
45637         doc/glibc-functions/strndup.texi.
45638         * doc/posix-functions/strnlen.texi: Renamed from
45639         doc/glibc-functions/strnlen.texi.
45640         * doc/posix-functions/strsignal.texi: Renamed from
45641         doc/glibc-functions/strsignal.texi.
45642         * doc/posix-functions/strxfrm_l.texi: Renamed from
45643         doc/glibc-functions/strxfrm_l.texi.
45644         * doc/posix-functions/timer_gettime.texi: Renamed from
45645         doc/glibc-functions/timer_gettime.texi.
45646         * doc/posix-functions/tolower_l.texi: Renamed from
45647         doc/glibc-functions/tolower_l.texi.
45648         * doc/posix-functions/toupper_l.texi: Renamed from
45649         doc/glibc-functions/toupper_l.texi.
45650         * doc/posix-functions/towctrans_l.texi: Renamed from
45651         doc/glibc-functions/towctrans_l.texi.
45652         * doc/posix-functions/towlower_l.texi: Renamed from
45653         doc/glibc-functions/towlower_l.texi.
45654         * doc/posix-functions/towupper_l.texi: Renamed from
45655         doc/glibc-functions/towupper_l.texi.
45656         * doc/posix-functions/uselocale.texi: Renamed from
45657         doc/glibc-functions/uselocale.texi.
45658         * doc/posix-functions/vdprintf.texi: Renamed from
45659         doc/glibc-functions/vdprintf.texi.
45660         * doc/posix-functions/wcpcpy.texi:
45661         Renamed from doc/glibc-functions/wcpcpy.texi.
45662         * doc/posix-functions/wcpncpy.texi: Renamed from
45663         doc/glibc-functions/wcpncpy.texi.
45664         * doc/posix-functions/wcscasecmp.texi: Renamed from
45665         doc/glibc-functions/wcscasecmp.texi.
45666         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
45667         doc/glibc-functions/wcscasecmp_l.texi.
45668         * doc/posix-functions/wcscoll_l.texi: Renamed from
45669         doc/glibc-functions/wcscoll_l.texi.
45670         * doc/posix-functions/wcsdup.texi: Renamed from
45671         doc/glibc-functions/wcsdup.texi.
45672         * doc/posix-functions/wcsncasecmp.texi: Renamed from
45673         doc/glibc-functions/wcsncasecmp.texi.
45674         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
45675         doc/glibc-functions/wcsncasecmp_l.texi.
45676         * doc/posix-functions/wcsnlen.texi: Renamed from
45677         doc/glibc-functions/wcsnlen.texi.
45678         * doc/posix-functions/wcsnrtombs.texi: Renamed from
45679         doc/glibc-functions/wcsnrtombs.texi.
45680         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
45681         doc/glibc-functions/wcsxfrm_l.texi.
45682         * doc/posix-functions/wctrans_l.texi: Renamed from
45683         doc/glibc-functions/wctrans_l.texi.
45684         * doc/posix-functions/wctype_l.texi: Renamed from
45685         doc/glibc-functions/wctype_l.texi.
45686         * doc/gnulib.texi (Function Substitutes): Add these subsections.
45687         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
45688         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
45689         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
45690         these subsections.
45691         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
45692         Remove sections.
45693
45694 2008-12-14  Bruno Haible  <bruno@clisp.org>
45695
45696         Update doc for POSIX:2008.
45697         * doc/posix-functions/*.texi: Update URL of POSIX specification.
45698
45699 2008-12-14  Bruno Haible  <bruno@clisp.org>
45700
45701         Update doc for POSIX:2008.
45702         * doc/pastposix-functions/bcmp.texi: Renamed from
45703         doc/posix-functions/bcmp.texi.
45704         * doc/pastposix-functions/bcopy.texi: Renamed from
45705         doc/posix-functions/bcopy.texi.
45706         * doc/pastposix-functions/bsd_signal.texi: Renamed from
45707         doc/posix-functions/bsd_signal.texi.
45708         * doc/pastposix-functions/bzero.texi: Renamed from
45709         doc/posix-functions/bzero.texi.
45710         * doc/pastposix-functions/ecvt.texi: Renamed from
45711         doc/posix-functions/ecvt.texi.
45712         * doc/pastposix-functions/fcvt.texi: Renamed from
45713         doc/posix-functions/fcvt.texi.
45714         * doc/pastposix-functions/ftime.texi: Renamed from
45715         doc/posix-functions/ftime.texi.
45716         * doc/pastposix-functions/gcvt.texi: Renamed from
45717         doc/posix-functions/gcvt.texi.
45718         * doc/pastposix-functions/getcontext.texi: Renamed from
45719         doc/posix-functions/getcontext.texi.
45720         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
45721         doc/posix-functions/gethostbyaddr.texi.
45722         * doc/pastposix-functions/gethostbyname.texi: Renamed from
45723         doc/posix-functions/gethostbyname.texi.
45724         * doc/pastposix-functions/getwd.texi: Renamed from
45725         doc/posix-functions/getwd.texi.
45726         * doc/pastposix-functions/h_errno.texi: Renamed from
45727         doc/posix-functions/h_errno.texi.
45728         * doc/pastposix-functions/index.texi: Renamed from
45729         doc/posix-functions/index.texi.
45730         * doc/pastposix-functions/makecontext.texi: Renamed from
45731         doc/posix-functions/makecontext.texi.
45732         * doc/pastposix-functions/mktemp.texi: Renamed from
45733         doc/posix-functions/mktemp.texi.
45734         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
45735         doc/posix-functions/pthread_attr_getstackaddr.texi.
45736         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
45737         doc/posix-functions/pthread_attr_setstackaddr.texi.
45738         * doc/pastposix-functions/rindex.texi: Renamed from
45739         doc/posix-functions/rindex.texi.
45740         * doc/pastposix-functions/scalb.texi: Renamed from
45741         doc/posix-functions/scalb.texi.
45742         * doc/pastposix-functions/setcontext.texi: Renamed from
45743         doc/posix-functions/setcontext.texi.
45744         * doc/pastposix-functions/swapcontext.texi: Renamed from
45745         doc/posix-functions/swapcontext.texi.
45746         * doc/pastposix-functions/ualarm.texi: Renamed from
45747         doc/posix-functions/ualarm.texi.
45748         * doc/pastposix-functions/usleep.texi: Renamed from
45749         doc/posix-functions/usleep.texi.
45750         * doc/pastposix-functions/vfork.texi: Renamed from
45751         doc/posix-functions/vfork.texi.
45752         * doc/pastposix-functions/wcswcs.texi: Renamed from
45753         doc/posix-functions/wcswcs.texi.
45754         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
45755         (Function Substitutes): Update.
45756
45757 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45758
45759         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
45760         m4/strerror.m4.
45761
45762 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45763             Bruno Haible  <bruno@clisp.org>
45764
45765         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
45766
45767 2008-12-13  Bruno Haible  <bruno@clisp.org>
45768
45769         * modules/strtoull (Depends-on): Remove unistd.
45770
45771 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45772
45773         * modules/strtoull (Depends-on): Add stdlib.
45774
45775 2008-12-11  Simon Josefsson  <simon@josefsson.org>
45776
45777         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
45778
45779 2008-12-10  Jim Meyering  <meyering@redhat.com>
45780
45781         gl_ASSERT: don't say assertions are disabled when they're not
45782         * m4/assert.m4 (gl_ASSERT): Do not make configure report
45783         "checking whether to enable assertions... no", when they are in
45784         fact enabled.  This is solely a bug in the output of configure.
45785         In spite of saying "no", NDEBUG was not defined in that case.
45786         Also, as noted by Eric Blake, leave assertions enabled upon
45787         --enable-assert=INVALID.
45788
45789 2008-12-10  Bruno Haible  <bruno@clisp.org>
45790
45791         Change MODULES.html to refer to POSIX:2008 where possible.
45792         * MODULES.html.sh (POSIX2008_URL): New variable.
45793         (posix_headers): Remove sys/timeb, ucontext.
45794         (posix2001_headers): New variable.
45795         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
45796         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
45797         index, makecontext, mktemp, pthread_attr_getstackaddr,
45798         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
45799         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
45800         (posix2001_functions): New variable.
45801         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
45802         otherwise.
45803
45804 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45805
45806         add missing include to parse-duration.c
45807         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
45808         * modules/parse-duration (Depends-on): Add xalloc.
45809
45810         fix sed script reading maint.mk
45811         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
45812         (syntax-check-rules): Use it.
45813
45814 2008-12-09  Bruno Haible  <bruno@clisp.org>
45815
45816         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
45817         MacOS X 10.4/PowerPC.
45818         Reported by Simon Josefsson.
45819
45820 2008-12-08  Jim Meyering  <meyering@redhat.com>
45821
45822         work around mingw's lack of some S_IF definitions
45823         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
45824         Reported by Simon Josefsson.
45825
45826 2008-12-08  Bruno Haible  <bruno@clisp.org>
45827
45828         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
45829         applied to variables. Needed on MacOS X 10.4/PowerPC.
45830         Reported by Simon Josefsson.
45831
45832 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
45833         and Eric Blake  <ebb9@byu.net>
45834
45835         assert: honor --enable-assert
45836         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
45837         order to honor --enable-assert, rather than treating it as a
45838         synonym for --disable-assert.
45839
45840 2008-12-08  Jim Meyering  <meyering@redhat.com>
45841
45842         * lib/posixtm.c: Remove now-useless declaration of mktime.
45843
45844         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
45845
45846 2008-12-07  Bruno Haible  <bruno@clisp.org>
45847
45848         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
45849         test_once): Mark functions as static.
45850         * tests/test-tls.c (test_tls): Likewise.
45851
45852 2008-12-07  Bruno Haible  <bruno@clisp.org>
45853
45854         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
45855         iconv_register_autodetect.
45856
45857 2008-12-07  Jim Meyering  <meyering@redhat.com>
45858
45859         posixtm.c: avoid a warning
45860         * lib/posixtm.c (posixtime): Don't initialize tm0.
45861         It's no longer needed to placate gcc4's -Wuninitialized,
45862         and the attempt to placate would elicit a new warning.
45863
45864         unicodeio.c: mark unused parameters
45865         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
45866         (fallback_failure_callback): Likewise.
45867
45868 2008-12-07  Bruno Haible  <bruno@clisp.org>
45869
45870         * gnulib-tool (func_create_testdir): When building the tests
45871         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
45872         Reported by Simon Josefsson.
45873
45874 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45875
45876         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
45877
45878 2008-12-06  Bruno Haible  <bruno@clisp.org>
45879
45880         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
45881         Suggested by Eric Blake.
45882
45883 2008-12-06  Bruno Haible  <bruno@clisp.org>
45884
45885         Fix a c-stack test failure on MacOS X.
45886         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
45887         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
45888         handler for SIGBUS as well.
45889         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
45890         install a signal handler for SIGBUS as well.
45891         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
45892
45893 2008-12-06  Bruno Haible  <bruno@clisp.org>
45894
45895         Advocacy documentation.
45896         * doc/gnulib-intro.texi (Benefits): New section.
45897         * doc/gnulib.texi: Update.
45898
45899 2008-12-06  Bruno Haible  <bruno@clisp.org>
45900
45901         Document the 'manywarnings' module.
45902         * doc/manywarnings.texi: New file.
45903         * doc/gnulib.texi: Include it.
45904
45905 2008-12-05  Eric Blake  <ebb9@byu.net>
45906
45907         tests: silence some gcc warnings
45908         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
45909         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
45910         type mismatches.
45911
45912 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45913             Bruno Haible  <bruno@clisp.org>
45914
45915         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
45916
45917 2008-11-29  Jim Meyering  <meyering@redhat.com>
45918
45919         unicodeio.c: mark unused parameters
45920         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
45921         (fallback_failure_callback): Likewise.
45922
45923         fts: fix a thinko
45924         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
45925         (set_stat_type): Return S_IF*-valued "type" directly.
45926         Prompted by James Youngman's spotting a related bug.
45927         Confirmed by further testing through find.
45928
45929         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
45930         * lib/fts.c (D_TYPE): Define.
45931         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
45932         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
45933         (s_ifmt_shift_bits): New function.
45934         (set_stat_type): New function.
45935         (fts_build): When not calling fts_stat, call set_stat_type
45936         to propagate dirent.d_type info to fts_read caller.
45937         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
45938         fts_statp->st_mode type information may be valid.
45939
45940 2008-11-28  Simon Josefsson  <simon@josefsson.org>
45941
45942         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
45943         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
45944         <sds@gnu.org>.
45945
45946 2008-11-20  Bruno Haible  <bruno@clisp.org>
45947
45948         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
45949         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
45950         INCLUDE_NEXT.
45951         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
45952         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
45953         * modules/math (Makefile.am): Substitute
45954         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
45955         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45956
45957 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
45958             Bruno Haible  <bruno@clisp.org>
45959
45960         * lib/stdint.in.h: Define all type macros so that their expansion is
45961         a single typedef'ed token. Fixes a compilation failure in Boost which
45962         does "using ::int8_t;".
45963
45964 2008-11-18  Simon Josefsson  <simon@josefsson.org>
45965
45966         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
45967         gl_MANYWARN_ALL_GCC.
45968         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
45969         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
45970         * modules/manywarnings: New file.
45971         * MODULES.html.sh: Mention manywarnings module.
45972
45973 2008-11-18  Bruno Haible  <bruno@clisp.org>
45974
45975         * doc/gnulib-tool.texi (Unit tests): New section.
45976
45977 2008-11-18  Simon Josefsson  <simon@josefsson.org>
45978
45979         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
45980         paths like 'lib/po/foo.po'.
45981
45982 2008-11-17  Simon Josefsson  <simon@josefsson.org>
45983
45984         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
45985         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
45986
45987 2008-11-17  Simon Josefsson  <simon@josefsson.org>
45988
45989         * m4/warnings.m4: Use CPPFLAGS to really check whether the
45990         parameter works.
45991
45992 2008-11-17  Simon Josefsson  <simon@josefsson.org>
45993
45994         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
45995
45996 2008-11-17  Bruce Korb  <bkorb@gnu.org>
45997
45998         * modules/parse-duration-tests: New file.
45999         * tests/test-parse-duration.sh: New file.
46000         * tests/test-parse-duration.c: New file.
46001
46002         New module 'parse-duration'.
46003         * lib/parse-duration.h: New file.
46004         * lib/parse-duration.c: New file.
46005         * modules/parse-duration: New file.
46006
46007 2008-11-17  Bruno Haible  <bruno@clisp.org>
46008
46009         * tests/test-select-out.sh: Comment out the first pipe test.
46010         Reported by Simon Josefsson.
46011
46012 2008-11-17  Bruno Haible  <bruno@clisp.org>
46013
46014         * modules/getaddrinfo (Depends-on): Add servent, hostent.
46015         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
46016         gl_HOSTENT.
46017
46018 2008-11-17  Bruno Haible  <bruno@clisp.org>
46019
46020         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
46021         -lnetwork and -lnet. Needed for Haiku and BeOS.
46022
46023 2008-11-16  Bruno Haible  <bruno@clisp.org>
46024
46025         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
46026
46027 2008-11-16  Bruno Haible  <bruno@clisp.org>
46028
46029         Avoid test failure on Haiku.
46030         * tests/test-fsync.c: Include <errno.h>.
46031         (main): Don't require that fsync (0) fails.
46032
46033 2008-11-15  Bruno Haible  <bruno@clisp.org>
46034
46035         New module 'hostent'.
46036         * modules/hostent: New file.
46037         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
46038
46039 2008-11-15  Bruno Haible  <bruno@clisp.org>
46040
46041         New module 'servent'.
46042         * modules/servent: New file.
46043         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
46044
46045 2008-11-15  Bruno Haible  <bruno@clisp.org>
46046
46047         Avoid generating same test program with two different rules.
46048         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
46049         test-frexp to test-frexp-nolibm.
46050         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
46051         test-frexpl to test-frexpl-nolibm.
46052
46053 2008-11-15  Bruno Haible  <bruno@clisp.org>
46054
46055         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
46056         $(FREXPL_LIBM).
46057
46058 2008-11-15  Bruno Haible  <bruno@clisp.org>
46059
46060         * lib/netdb.in.h: Activate the definitions also when the system's
46061         <netdb.h> has 'struct addrinfo'.
46062         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
46063         EAI_OVERFLOW or AI_NUMERICSERV.
46064         * doc/posix-headers/netdb.texi: Document the problem.
46065
46066 2008-11-15  Bruno Haible  <bruno@clisp.org>
46067
46068         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
46069
46070         Make the 'sched' module work on platforms where <sched.h> exists but
46071         is incomplete (such as Haiku).
46072         * lib/sched.in.h; Include the system's <sched.h> if it exists.
46073         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
46074         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
46075         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
46076         HAVE_STRUCT_SCHED_PARAM.
46077         * modules/sched (Depends-on): Add include_next.
46078         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
46079         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
46080         * doc/posix-headers/sched.texi: Document the issue.
46081
46082 2008-11-13  Jim Meyering  <meyering@redhat.com>
46083
46084         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
46085         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
46086         test would fail due to the difference in the Report bugs to ...
46087         line.  The expected address is empty, "<>", while the actual
46088         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
46089
46090 2008-11-12  Bruno Haible  <bruno@clisp.org>
46091
46092         lstat: don't compile lstat.c on systems lacking lstat
46093         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
46094         which don't have lstat; this is handled by lib/sys_stat.in.h already.
46095         Reported by Daniel P. Berrange via Jim Meyering.
46096
46097 2008-11-12  Jim Meyering  <meyering@redhat.com>
46098
46099         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
46100
46101 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46102
46103         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
46104         instead.
46105
46106 2008-11-12  Bruno Haible  <bruno@clisp.org>
46107
46108         * lib/unicodeio.c: Include unistr.h.
46109         (utf8_wctomb): Remove function.
46110         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
46111
46112 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46113
46114         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
46115         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
46116         <bruno@clisp.org>.
46117         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
46118
46119 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46120
46121         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
46122         * doc/gnulib.texi: Add section for warnings.
46123
46124 2008-11-11  Bruno Haible  <bruno@clisp.org>
46125
46126         * lib/sockets.h: Add a comment.
46127
46128 2008-11-11  Karl Berry  <karl@gnu.org>
46129
46130         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
46131
46132 2008-11-11  Eric Blake  <ebb9@byu.net>
46133
46134         fdl.texi: avoid git symlinks
46135         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
46136
46137 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46138
46139         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
46140
46141 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46142
46143         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
46144         (gl_WARN_ADD): Substitute $2 if literal.
46145
46146 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46147
46148         * m4/warning.m4: Remove.
46149
46150 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46151
46152         * m4/warnings.m4: Almost complete rewrite. :-)
46153
46154 2008-11-10  Simon Josefsson  <simon@josefsson.org>
46155
46156         * modules/warnings: New module.
46157         * m4/warnings.m4: New file.
46158         * MODULES.html.sh: Mention warnings module.
46159         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
46160         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46161
46162 2008-11-10  Eric Blake  <ebb9@byu.net>
46163
46164         fdl.texi: make a symlink to the latest version
46165         * doc/standards.texi: Revert today's earlier change.
46166         * doc/fdl-1.2.texi: Rename from old fdl.texi...
46167         * doc/fdl.texi: ...and replace this with a symlink to the newer
46168         fdl-1.3.texi.
46169
46170 2008-11-10  Bruno Haible  <bruno@clisp.org>
46171
46172         * tests/test-select-fd.c (main): Accept the result file name as fourth
46173         argument.
46174         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
46175         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
46176
46177 2008-11-10  Bruno Haible  <bruno@clisp.org>
46178
46179         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
46180         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
46181         as autoconf-substituted macros.
46182         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
46183         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
46184         gl_NETDB_H_DEFAULTS. Set these variables.
46185         * modules/netdb (Makefile.am): Substitute these variables.
46186
46187 2008-11-10  Eric Blake  <ebb9@byu.net>
46188
46189         standards.texi: include correct file for FDL 1.3
46190         * doc/standards.texi (GNU Free Documentation License): Change
46191         include file to pull in FDL 1.3, not 1.2.
46192
46193         fdl.texi: revert accidental change to license
46194         * doc/fdl.texi: This is FDL 1.2, not 1.3.
46195
46196 2008-11-10  Bruno Haible  <bruno@clisp.org>
46197
46198         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
46199         cross-compiling guesses also when the native compile gives no result.
46200
46201 2008-11-10  Bruno Haible  <bruno@clisp.org>
46202
46203         * lib/spawni.c (__spawni): Force variable into the stack.
46204
46205 2008-11-10  Bruno Haible  <bruno@clisp.org>
46206
46207         Add support for Haiku.
46208         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
46209         glibc and BeOS, but also on Haiku.
46210         * lib/fpurge.c (fpurge): Likewise.
46211         * lib/freadable.c (freadable): Likewise.
46212         * lib/freadahead.c (freadahead): Likewise.
46213         * lib/freading.c (freading): Likewise.
46214         * lib/freadptr.c (freadptr): Likewise.
46215         * lib/freadseek.c (freadptrinc): Likewise.
46216         * lib/fseeko.c (rpl_fseeko): Likewise.
46217         * lib/fseterr.c (fseterr): Likewise.
46218         * lib/fwritable.c (fwritable): Likewise.
46219         * lib/fwriting.c (fwriting): Likewise.
46220         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
46221
46222 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
46223
46224         * lib/config.charset: Treat Haiku like BeOS.
46225
46226 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
46227
46228         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
46229         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
46230
46231 2008-11-08  Bruno Haible  <bruno@clisp.org>
46232
46233         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
46234         AC_CACHE_CHECK.
46235
46236 2008-11-08  Bruno Haible  <bruno@clisp.org>
46237
46238         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
46239
46240 2008-11-08  Bruno Haible  <bruno@clisp.org>
46241
46242         * tests/test-select-fd.c: New file.
46243         * tests/test-select-in.sh: New file.
46244         * tests/test-select-out.sh: New file.
46245         * tests/test-select-stdin.c: New file.
46246         * modules/select-tests (Files): Add the new files.
46247         (Depends-on): Add gettimeofday.
46248         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
46249         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
46250         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
46251
46252 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
46253             Bruno Haible  <bruno@clisp.org>
46254
46255         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
46256
46257 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
46258
46259         * build-aux/pmccabe2html: Added support for C++ source files.
46260
46261 2008-11-05  Ben Pfaff  <blp@gnu.org>
46262
46263         Fix lib/close.c build on Windows.
46264         * modules/close (Files): Add lib/w32sock.h.
46265
46266 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
46267
46268         Accept Bison's NEWS format.
46269         * build-aux/announce-gen (print_news_deltas): Tweak
46270         $re_prefix.
46271
46272 2008-11-04  Bruno Haible  <bruno@clisp.org>
46273
46274         * modules/random_r (Maintainer): Add glibc.
46275
46276 2008-11-04  Simon Josefsson  <simon@josefsson.org>
46277
46278         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
46279         by karl@freefriends.org (Karl Berry).
46280         * doc/alloca.texi: Likewise.
46281         * doc/c-ctype.texi: Likewise.
46282         * doc/c-strcase.texi: Likewise.
46283         * doc/c-strcaseeq.texi: Likewise.
46284         * doc/c-strcasestr.texi: Likewise.
46285         * doc/c-strstr.texi: Likewise.
46286         * doc/c-strtod.texi: Likewise.
46287         * doc/c-strtold.texi: Likewise.
46288         * doc/ctime.texi: Likewise.
46289         * doc/error.texi: Likewise.
46290         * doc/fdl.texi: Likewise.
46291         * doc/gcd.texi: Likewise.
46292         * doc/getdate.texi: Likewise.
46293         * doc/gnulib-intro.texi: Likewise.
46294         * doc/gnulib-tool.texi: Likewise.
46295         * doc/gnulib.texi: Likewise.
46296         * doc/inet_ntoa.texi: Likewise.
46297         * doc/maintain.texi: Likewise.
46298         * doc/make-stds.texi: Likewise.
46299         * doc/quote.texi: Likewise.
46300         * doc/regexprops-generic.texi: Likewise.
46301         * doc/standards.texi: Likewise.
46302         * doc/verify.texi: Likewise.
46303         * doc/visibility.texi: Likewise.
46304         * doc/gnulib.texi (GNU Free Documentation License): Include
46305         fdl-1.3.texi instead of fdl.texi.
46306
46307 2008-11-04  Simon Josefsson  <simon@josefsson.org>
46308
46309         * doc/fdl-1.3.texi: New file, from
46310         <http://www.gnu.org/licenses/fdl-1.3.texi>.
46311         * modules/fdl-1.3: Add.
46312         * MODULES.html.sh: Add fdl-1.3.
46313
46314 2008-11-03  Bruno Haible  <bruno@clisp.org>
46315
46316         Make determination of absolute name of header file work with AIX xlc.
46317         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
46318         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
46319         preprocessing.
46320         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46321         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
46322
46323 2008-11-03  Simon Josefsson  <simon@josefsson.org>
46324
46325         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
46326         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
46327         <ludo@gnu.org>.
46328
46329 2008-11-02  Bruno Haible  <bruno@clisp.org>
46330
46331         Mark 'strpbrk' obsolete.
46332         * modules/strpbrk (Status, Notice): New sections.
46333         * modules/strtok_r (Depends-on): Add strpbrk.
46334
46335 2008-11-02  Bruno Haible  <bruno@clisp.org>
46336
46337         Mark 'strdup' obsolete.
46338         * modules/strdup (Status, Notice): New sections.
46339         * modules/findprog (Depends-on): Add strdup.
46340         * modules/getaddrinfo (Depends-on): Likewise.
46341         * modules/localename (Depends-on): Likewise.
46342         * modules/relocatable-lib (Depends-on): Likewise.
46343         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
46344         * modules/relocatable-prog (Depends-on): Likewise.
46345         * modules/trim (Depends-on): Likewise.
46346         * modules/unictype/gen-ctype (Depends-on): Likewise.
46347         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
46348
46349 2008-11-02  Bruno Haible  <bruno@clisp.org>
46350
46351         Mark 'strcspn' obsolete.
46352         * modules/strcspn (Status, Notice): New sections.
46353
46354 2008-11-02  Bruno Haible  <bruno@clisp.org>
46355
46356         Mark 'rmdir' obsolete.
46357         * modules/rmdir (Status, Notice): New sections.
46358         * modules/clean-temp (Depends-on): Add rmdir.
46359         * modules/openat (Depends-on): Likewise.
46360
46361 2008-11-02  Bruno Haible  <bruno@clisp.org>
46362
46363         Mark 'raise' obsolete.
46364         * modules/raise (Status, Notice): New sections.
46365         (Include): Specify <signal.h>.
46366         * modules/stdio (Depends-on): Add raise.
46367         * modules/write (Depends-on): Likewise.
46368
46369 2008-11-02  Bruno Haible  <bruno@clisp.org>
46370
46371         Mark 'memset' obsolete.
46372         * modules/memset (Status, Notice): New sections.
46373
46374 2008-11-02  Bruno Haible  <bruno@clisp.org>
46375
46376         Mark 'memmove' obsolete.
46377         * modules/memmove (Status, Notice): New sections.
46378         * modules/argp (Depends-on): Add memmove.
46379         * modules/argz (Depends-on): Likewise.
46380         * modules/canonicalize (Depends-on): Likewise.
46381         * modules/canonicalize-lgpl (Depends-on): Likewise.
46382         * modules/fts (Depends-on): Likewise.
46383         * modules/getcwd (Depends-on): Likewise.
46384         * modules/human (Depends-on): Likewise.
46385         * modules/regex (Depends-on): Likewise.
46386         * modules/striconveh (Depends-on): Likewise.
46387         * modules/trim (Depends-on): Likewise.
46388         * modules/unistr/u8-move (Depends-on): Likewise.
46389         * modules/unistr/u16-move (Depends-on): Likewise.
46390         * modules/unistr/u32-move (Depends-on): Likewise.
46391
46392 2008-11-02  Bruno Haible  <bruno@clisp.org>
46393
46394         Mark 'memcpy' obsolete.
46395         * modules/memcpy (Status, Notice): New sections.
46396
46397 2008-11-02  Bruno Haible  <bruno@clisp.org>
46398
46399         Mark 'memcmp' obsolete.
46400         * modules/memcmp (Status, Notice): New sections.
46401         * modules/argmatch (Depends-on): Add memchr.
46402         * modules/backupfile (Depends-on): Likewise.
46403         * modules/c-strcasestr (Depends-on): Likewise.
46404         * modules/crypto/des (Depends-on): Likewise.
46405         * modules/csharpcomp (Depends-on): Likewise.
46406         * modules/fnmatch (Depends-on): Likewise.
46407         * modules/git-merge-changelog (Depends-on): Likewise.
46408         * modules/isnand (Depends-on): Likewise.
46409         * modules/isnand-nolibm (Depends-on): Likewise.
46410         * modules/isnanf (Depends-on): Likewise.
46411         * modules/isnanf-nolibm (Depends-on): Likewise.
46412         * modules/isnanl (Depends-on): Likewise.
46413         * modules/isnanl-nolibm (Depends-on): Likewise.
46414         * modules/mbchar (Depends-on): Likewise.
46415         * modules/memcoll (Depends-on): Likewise.
46416         * modules/quotearg (Depends-on): Likewise.
46417         * modules/regex (Depends-on): Likewise.
46418         * modules/relocatable-prog (Depends-on): Likewise.
46419         * modules/same (Depends-on): Likewise.
46420         * modules/signbit (Depends-on): Likewise.
46421         * modules/strcasestr-simple (Depends-on): Likewise.
46422         * modules/unictype/gen-ctype (Depends-on): Likewise.
46423         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
46424         * modules/uniname/uniname (Depends-on): Likewise.
46425         * modules/unistr/u8-cmp (Depends-on): Likewise.
46426
46427 2008-11-02  Bruno Haible  <bruno@clisp.org>
46428
46429         Mark 'memchr' obsolete.
46430         * modules/memchr (Status, Notice): New sections.
46431         * modules/argp (Depends-on): Add memchr.
46432         * modules/base64 (Depends-on): Likewise.
46433         * modules/c-strcasestr (Depends-on): Likewise.
46434         * modules/chdir-long (Depends-on): Likewise.
46435         * modules/fnmatch (Depends-on): Likewise.
46436         * modules/getsubopt (Depends-on): Likewise.
46437         * modules/git-merge-changelog (Depends-on): Likewise.
46438         * modules/glob (Depends-on): Likewise.
46439         * modules/strcasestr-simple (Depends-on): Likewise.
46440         * modules/strnlen (Depends-on): Likewise.
46441
46442 2008-11-02  Bruno Haible  <bruno@clisp.org>
46443
46444         Mark 'atexit' obsolete.
46445         * modules/atexit (Status, Notice): New sections.
46446         * modules/chdir-long (Depends-on): Add atexit.
46447         * modules/wait-process (Depends-on): Likewise.
46448
46449 2008-11-02  Bruno Haible  <bruno@clisp.org>
46450
46451         * gnulib-tool: New option --with-obsolete.
46452         (func_usage): Document it.
46453         (func_modules_transitive_closure): Drop obsolete dependencies if
46454         incobsolete is not true.
46455         (func_import): Read and save the incobsolete variable to the cache.
46456
46457 2008-11-02  Bruno Haible  <bruno@clisp.org>
46458
46459         * modules/TEMPLATE-EXTENDED: New field 'Status'.
46460         * gnulib-tool: New option --extract-status.
46461         (func_usage): Document it.
46462         (sed_extract_prog): Recognize it.
46463         (func_get_status): New function.
46464
46465 2008-10-30  Simon Josefsson  <simon@josefsson.org>
46466
46467         * modules/sockets (License): Change from LGPL to LGPLv2+.
46468
46469 2008-10-28  Simon Josefsson  <simon@josefsson.org>
46470
46471         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
46472
46473 2008-10-28  Simon Josefsson  <simon@josefsson.org>
46474
46475         * MODULES.html.sh (Support for systems lacking POSIX:2001):
46476         Mention times and sys_times.
46477         * modules/sys_times, modules/sys_times-tests: New modules.
46478         * modules/times, modules/times-tests: Likewise
46479         * m4/sys_times_h.m4: New file.
46480         * lib/sys_times.in.h: Likewise
46481         * lib/times.c: Likewise.
46482         * tests/test-sys_times.c: Likewise.
46483         * tests/test-times.c: Likewise.
46484         * doc/posix-headers/sys_times.texi: Update.
46485         * doc/posix-functions/times.texi: Update.
46486
46487 2008-10-28  Jim Meyering  <meyering@redhat.com>
46488
46489         * modules/tempname (Depends-on): Add lstat.
46490
46491         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
46492
46493 2008-10-28  Simon Josefsson  <simon@josefsson.org>
46494
46495         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
46496         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
46497         using idiom used elsewhere in gnulib.
46498
46499 2008-10-27  Jim Meyering  <meyering@redhat.com>
46500
46501         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
46502
46503 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46504
46505         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
46506         TESTS_ENVIRONMENT, for shell scripts that needs to call built
46507         programs.
46508         * tests/test-argp-2.sh: Use $EXEEXT when needed.
46509
46510 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46511
46512         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
46513
46514 2008-10-27  Bruno Haible  <bruno@clisp.org>
46515
46516         * tests/test-lstat.c: Include <stdio.h>.
46517
46518 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46519
46520         * modules/lstat-tests: New module.
46521         * tests/test-lstat.c: New file.
46522
46523 2008-10-26  Jim Meyering  <meyering@redhat.com>
46524
46525         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
46526
46527 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46528             Bruno Haible  <bruno@clisp.org>
46529
46530         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
46531         * modules/configmake (Include): Add a note that the include must come
46532         after all system headers.
46533         * lib/javaversion.c: Include configmake.h after all other includes.
46534
46535 2008-10-26  Bruno Haible  <bruno@clisp.org>
46536
46537         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
46538         HAVE_STRUCT_RANDOM_DATA to 1.
46539         (gl_STDLIB_H): Simplify.
46540
46541 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46542
46543         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
46544         substitute HAVE_STRUCT_RANDOM_DATA.
46545         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
46546         random_data.
46547         * modules/stdlib (Makefile.am): Substitute
46548         HAVE_STRUCT_RANDOM_DATA.
46549
46550 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46551
46552         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
46553         * doc/gnulib-intro.texi (Copyright): Likewise.
46554
46555 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46556
46557         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
46558         findings.
46559
46560 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
46561             Bruno Haible  <bruno@clisp.org>
46562
46563         * lib/unistd.in.h: Include <winsock2.h>.
46564         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
46565         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
46566         Provide dummy declarations.
46567         (gethostname): Override.
46568         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
46569         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
46570         gl_PREREQ_SYS_H_WINSOCK2.
46571         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
46572         * doc/posix-functions/gethostname.texi: More details.
46573
46574 2008-10-25  Bruno Haible  <bruno@clisp.org>
46575
46576         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
46577         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
46578         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
46579
46580         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
46581         here ...
46582         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
46583         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
46584         gl_UNISTD_H_DEFAULTS.
46585
46586 2008-10-25  Eric Blake  <ebb9@byu.net>
46587
46588         signbit: avoid spurious compiler failure
46589         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
46590         declarations inside function.
46591
46592 2008-10-24  Simon Josefsson  <simon@josefsson.org>
46593             Bruno Haible  <bruno@clisp.org>
46594
46595         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
46596         * modules/random_r (Depends-on): Add stdint.
46597
46598 2008-10-24  Bruno Haible  <bruno@clisp.org>
46599
46600         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
46601         Eggert.
46602         * modules/strerror (License): Likewise.
46603
46604 2008-10-24  Jim Meyering  <meyering@redhat.com>
46605
46606         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
46607         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
46608
46609 2008-10-24  Eric Blake  <ebb9@byu.net>
46610
46611         getgroups: fix compilation when getgroups is available
46612         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
46613         but with <config.h> override of getgroups disabled.
46614
46615 2008-10-24  Simon Josefsson  <simon@josefsson.org>
46616
46617         * doc/gnulib.texi (Header files): Add note about C++ problems.
46618         Explained by Bruno Haible <bruno@clisp.org>.
46619
46620 2008-10-23  Bruno Haible  <bruno@clisp.org>
46621
46622         Define a dummy SA_NODEFER macro on Interix.
46623         * lib/signal.in.h (SA_NODEFER): Define fallback.
46624         Reported by Aleksey Cheusov <cheusov@tut.by> via
46625         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
46626
46627 2008-10-23  Bruno Haible  <bruno@clisp.org>
46628
46629         * modules/freadahead (License): Change to LGPLv2+.
46630         Suggested by Simon Josefsson.
46631
46632 2008-10-23  Jim Meyering  <meyering@redhat.com>
46633
46634         random_r: new module
46635         * modules/random_r: New file.
46636         * m4/random_r.m4: New file.
46637         * lib/random_r.c: New file, from glibc.
46638         * modules/random_r-tests: New file.
46639         * tests/test-random_r.c: New file.
46640         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
46641          Declare.
46642         (RAND_MAX): Define.
46643         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
46644         * modules/stdlib: Substitute them, too.
46645         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
46646         * doc/glibc-functions/initstate_r.texi: Mention the new module.
46647         * doc/glibc-functions/random_r.texi: Likewise.
46648         * doc/glibc-functions/setstate_r.texi: Likewise.
46649         * doc/glibc-functions/srandom_r.texi: Likewise.
46650         * config/srclist.txt: Mention it.
46651
46652 2008-10-23  David Lutterkort  <lutter@redhat.com>
46653
46654         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
46655         link requirement
46656
46657 2008-10-23  Jim Meyering  <meyering@redhat.com>
46658
46659         selinux-h: mark parameters of stub functions as intentionally unused
46660         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
46661         * lib/se-context.in.h: Likewise.
46662
46663 2008-10-22  Simon Josefsson  <simon@josefsson.org>
46664
46665         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
46666
46667 2008-10-22  Simon Josefsson  <simon@josefsson.org>
46668
46669         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
46670
46671 2008-10-22  Eric Blake  <ebb9@byu.net>
46672
46673         glthread/thread: avoid compiler warning
46674         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
46675         Add unreachable abort to silence compiler.
46676
46677 2008-10-22  Eric Blake  <ebb9@byu.net>
46678
46679         netdb: also supply struct addrinfo for cygwin 1.5.x
46680         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
46681         older cygwin.
46682         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
46683         cygwin.
46684         * doc/posix-headers/netdb.texi (netdb.h): Document this.
46685
46686 2008-10-22  Bruno Haible  <bruno@clisp.org>
46687
46688         * users.txt: Update entry about pspp.
46689
46690 2008-10-21  Bruno Haible  <bruno@clisp.org>
46691
46692         Simplification.
46693         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
46694         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
46695
46696         Simplification.
46697         * lib/ioctl.c (ioctl): Don't undefine.
46698         * lib/socket.c (socket): Don't undefine.
46699
46700         Remove unused module indicator macros.
46701         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
46702         GNULIB_$1 as a C macro.
46703
46704         * doc/posix-functions/close.texi: Undo last change.
46705         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
46706         Windows platforms.
46707
46708 2008-10-21  Bruno Haible  <bruno@clisp.org>
46709
46710         Add gethostname() declaration to <unistd.h>.
46711         * lib/unistd.in.h (gethostname): New declaration.
46712         * lib/gethostname.c: Include <unistd.h>.
46713         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
46714         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
46715         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
46716         and HAVE_GETHOSTNAME.
46717         * modules/gethostname (Depends-on): Add unistd.
46718         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46719         (Include): Specify <unistd.h>.
46720         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
46721         HAVE_GETHOSTNAME.
46722         * tests/test-gethostname.c: Include <unistd.h> first.
46723
46724 2008-10-21  Bruno Haible  <bruno@clisp.org>
46725
46726         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
46727         * modules/select-tests (Depends-on): Likewise.
46728         Reported by Simon Josefsson.
46729
46730 2008-10-21  Simon Josefsson  <simon@josefsson.org>
46731
46732         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
46733         * lib/accept.c: New file, based on winsock.c.
46734         * lib/bind.c: New file, based on winsock.c.
46735         * lib/connect.c: New file, based on winsock.c.
46736         * lib/getpeername.c: New file, based on winsock.c.
46737         * lib/getsockname.c: New file, based on winsock.c.
46738         * lib/getsockopt.c: New file, based on winsock.c.
46739         * lib/ioctl.c: New file, based on winsock.c.
46740         * lib/listen.c: New file, based on winsock.c.
46741         * lib/recv.c: New file, based on winsock.c.
46742         * lib/recvfrom.c: New file, based on winsock.c.
46743         * lib/send.c: New file, based on winsock.c.
46744         * lib/sendto.c: New file, based on winsock.c.
46745         * lib/setsockopt.c: New file, based on winsock.c.
46746         * lib/shutdown.c: New file, based on winsock.c.
46747         * lib/socket.c: New file, based on winsock.c.
46748         * lib/w32sock.h: New file, based on winsock.c.
46749         * lib/winsock.c: Remove file.
46750         * modules/accept: Likewise.
46751         * modules/bind: Likewise.
46752         * modules/connect: Likewise.
46753         * modules/getpeername: Likewise.
46754         * modules/getsockname: Likewise.
46755         * modules/getsockopt: Likewise.
46756         * modules/ioctl: Likewise.
46757         * modules/listen: Likewise.
46758         * modules/recv: Likewise.
46759         * modules/recvfrom: Likewise.
46760         * modules/send: Likewise.
46761         * modules/sendto: Likewise.
46762         * modules/setsockopt: Likewise.
46763         * modules/shutdown: Likewise.
46764         * modules/socket: Use socket.c instead of winsock.c.
46765         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
46766         * doc/posix-functions/accept.texi: Doc fix.
46767         * doc/posix-functions/bind.texi: Doc fix.
46768         * doc/posix-functions/close.texi: Doc fix.
46769         * doc/posix-functions/connect.texi: Doc fix.
46770         * doc/posix-functions/getpeername.texi: Doc fix.
46771         * doc/posix-functions/getsockname.texi: Doc fix.
46772         * doc/posix-functions/getsockopt.texi: Doc fix.
46773         * doc/posix-functions/ioctl.texi: Doc fix.
46774         * doc/posix-functions/listen.texi: Doc fix.
46775         * doc/posix-functions/recv.texi: Doc fix.
46776         * doc/posix-functions/recvfrom.texi: Doc fix.
46777         * doc/posix-functions/send.texi: Doc fix.
46778         * doc/posix-functions/sendto.texi: Doc fix.
46779         * doc/posix-functions/setsockopt.texi: Doc fix.
46780         * doc/posix-functions/shutdown.texi: Doc fix.
46781         * doc/posix-functions/socket.texi: Doc fix.
46782
46783 2008-10-20  Bruno Haible  <bruno@clisp.org>
46784
46785         Take into account the role of SIGABRT_COMPAT on Windows 2008.
46786         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
46787         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
46788         as an alias for SIGABRT.
46789         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
46790         (sigaction): Map it to SIGABRT.
46791         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
46792
46793 2008-10-20  Bruno Haible  <bruno@clisp.org>
46794
46795         * lib/fts.c: Don't include lstat.h.
46796         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
46797
46798         Move the lstat() declaration to <sys/stat.h>.
46799         * lib/lstat.h: Remove file.
46800         * lib/sys_stat.in.h: Add special invocation convention.
46801         (lstat): New declaration.
46802         * lib/lstat.c (orig_lstat): New function.
46803         (rpl_lstat): Use orig_lstat instead of lstat.
46804         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
46805         AC_C_INLINE. Set REPLACE_LSTAT.
46806         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
46807         and REPLACE_LSTAT.
46808         * modules/lstat (Files): Remove lib/lstat.h.
46809         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
46810         (Include): Specify <sys/stat.h> instead of lstat.h.
46811         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
46812         REPLACE_LSTAT.
46813         * NEWS: Mention the change.
46814
46815 2008-10-20  Bruno Haible  <bruno@clisp.org>
46816
46817         * modules/posix_spawn-tests: New file.
46818         * tests/test-posix_spawn3.c: New file.
46819
46820 2008-10-20  Bruno Haible  <bruno@clisp.org>
46821
46822         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
46823         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
46824         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
46825         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
46826         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
46827
46828 2008-10-20  Bruno Haible  <bruno@clisp.org>
46829
46830         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
46831         of posix_spawn on AIX 5.3.
46832
46833 2008-10-20  Bruno Haible  <bruno@clisp.org>
46834
46835         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
46836
46837 2008-10-20  Bruno Haible  <bruno@clisp.org>
46838
46839         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
46840         of AC_LANG_PROGRAM.
46841
46842 2008-10-20  Simon Josefsson  <simon@josefsson.org>
46843
46844         * lib/netdb.in.h: Don't define GNU specific constants until they
46845         are supported or needed.  Reported by Bruno Haible
46846         <bruno@clisp.org>.
46847
46848 2008-10-20  Simon Josefsson  <simon@josefsson.org>
46849
46850         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
46851
46852 2008-10-20  Simon Josefsson  <simon@josefsson.org>
46853
46854         * lib/getaddrinfo.h: Remove file.
46855         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
46856         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
46857         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
46858         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
46859         * modules/netdb: Substitute GNULIB_GETADDRINFO.
46860         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
46861         * tests/test-getaddrinfo.c: Likewise.
46862         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
46863         * NEWS: Mention change.
46864
46865 2008-10-19  Bruno Haible  <bruno@clisp.org>
46866
46867         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
46868
46869 2008-10-19  Bruno Haible  <bruno@clisp.org>
46870
46871         * lib/wait-process.c: Include simply <sys/wait.h>.
46872         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
46873         WIFSTOPPED): Remove fallback definitions.
46874         * modules/wait-process (Depends-on): Add sys_wait.
46875
46876         New module 'sys_wait'.
46877         * modules/sys_wait: New file.
46878         * lib/sys_wait.in.h: New file, partially copied from
46879         lib/wait-process.c.
46880         * m4/sys_wait_h.m4: New file.
46881         * doc/posix-headers/sys_wait.texi: Mention the new module.
46882
46883 2008-10-19  Bruno Haible  <bruno@clisp.org>
46884
46885         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
46886
46887 2008-10-19  Bruno Haible  <bruno@clisp.org>
46888
46889         Assume that waitpid() fills an 'int' status, not a 'union wait'.
46890         * lib/wait-process.c (WAIT_T): Remove type.
46891         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
46892         (wait_subprocess): Update.
46893
46894 2008-10-19  Bruno Haible  <bruno@clisp.org>
46895
46896         New module 'atoll'.
46897         * modules/atoll: New file.
46898         * lib/stdlib.in.h (atoll): New declaration.
46899         * lib/atoll.c: New file, from glibc with modifications.
46900         * m4/atoll.m4: New file.
46901         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
46902         HAVE_ATOLL.
46903         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
46904         * doc/posix-functions/atoll.texi: Mention the new module.
46905
46906 2008-10-19  Bruno Haible  <bruno@clisp.org>
46907
46908         Add strtoull() declaration to <stdlib.h>.
46909         * lib/stdlib.in.h (strtoull): New declaration.
46910         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
46911         Set HAVE_STRTOULL.
46912         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
46913         HAVE_STRTOULL.
46914         * modules/strtoull (Depends-on): Add stdlib.
46915         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46916         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
46917         HAVE_STRTOULL.
46918
46919 2008-10-19  Bruno Haible  <bruno@clisp.org>
46920
46921         Add strtoll() declaration to <stdlib.h>.
46922         * lib/stdlib.in.h (strtoll): New declaration.
46923         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
46924         Set HAVE_STRTOLL.
46925         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
46926         HAVE_STRTOLL.
46927         * modules/strtoll (Depends-on): Add stdlib.
46928         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46929         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
46930
46931 2008-10-19  Bruno Haible  <bruno@clisp.org>
46932
46933         * modules/bcopy (Depends-on): Add strings.
46934         (Include): Specify <strings.h>.
46935
46936 2008-10-19  Bruno Haible  <bruno@clisp.org>
46937
46938         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
46939
46940 2008-10-19  Bruno Haible  <bruno@clisp.org>
46941
46942         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
46943         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
46944         mingw.
46945
46946 2008-10-19  Bruno Haible  <bruno@clisp.org>
46947
46948         * lib/atanl.c: Don't include isnanl.h.
46949         * lib/cosl.c: Likewise.
46950         * lib/ldexpl.c: Likewise.
46951         * lib/logl.c: Likewise.
46952         * lib/sinl.c: Likewise.
46953         * lib/sqrtl.c: Likewise.
46954         * lib/tanl.c: Likewise.
46955
46956         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
46957         * lib/isnanf.h: Remove file.
46958         * lib/isnand.h: Remove file.
46959         * lib/isnanl.h: Remove file.
46960         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
46961         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
46962         macros.
46963         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
46964         HAVE_ISNANF, don't define it as a C macro.
46965         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
46966         HAVE_ISNAND, don't define it as a C macro.
46967         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
46968         HAVE_ISNANL, don't define it as a C macro.
46969         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
46970         HAVE_ISNAN[FDL].
46971         * modules/isnanf (Files): Remove lib/isnanf.h.
46972         (Depends-on): Add math.
46973         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
46974         (Include): Specify <math.h> instead of isnanf.h.
46975         * modules/isnand (Files): Remove lib/isnand.h.
46976         (Depends-on): Add math.
46977         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
46978         (Include): Specify <math.h> instead of isnand.h.
46979         * modules/isnanl (Files): Remove lib/isnanl.h.
46980         (Depends-on): Add math.
46981         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
46982         (Include): Specify <math.h> instead of isnanl.h.
46983         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
46984         HAVE_ISNAN[FDL].
46985         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
46986         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
46987         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
46988         * NEWS: Mention the change.
46989
46990 2008-10-18  Bruno Haible  <bruno@clisp.org>
46991
46992         Add getusershell(), setusershell(), endusershell() declarations to
46993         <unistd.h>.
46994         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
46995         declarations.
46996         * lib/getusershell.c: Include unistd.h.
46997         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
46998         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
46999         HAVE_GETUSERSHELL.
47000         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
47001         and HAVE_GETUSERSHELL.
47002         * modules/getusershell (Depends-on): Add unistd, extensions.
47003         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47004         (Include): Specify <unistd.h>.
47005         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
47006         HAVE_GETUSERSHELL.
47007
47008 2008-10-18  Bruno Haible  <bruno@clisp.org>
47009
47010         Add a getloadavg() declaration to <stdlib.h>.
47011         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
47012         getloadavg declaration.
47013         (getloadavg): New declaration.
47014         * lib/getloadavg.c: Include <stdlib.h> first.
47015         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
47016         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
47017         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
47018         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
47019         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47020         * modules/getloadavg (Depends-on): Add stdlib, extensions.
47021         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47022         (Include): Specify <stdlib.h>.
47023         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
47024         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47025
47026 2008-10-18  Bruno Haible  <bruno@clisp.org>
47027
47028         * lib/dirchownmod.c: Don't include lchmod.h.
47029
47030         Move the lchmod() declaration to <sys/stat.h>.
47031         * lib/lchmod.h: Remove file.
47032         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
47033         (lchmod): New declaration, moved here from lib/lchown.h.
47034         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
47035         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
47036         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
47037         and HAVE_LCHMOD.
47038         * modules/lchmod (Files): Remove lib/lchmod.h.
47039         (Depends-on): Add sys_stat, extensions.
47040         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47041         (Include): Specify <sys/stat.h> instead of lchmod.h.
47042         * modules/sys_stat (Depends-on): Add link-warning.
47043         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
47044         definition of GL_LINK_WARNING.
47045         * NEWS: Mention the change.
47046
47047 2008-10-18  Bruno Haible  <bruno@clisp.org>
47048
47049         * lib/fchdir.c: Don't include dirfd.h.
47050         * lib/fts.c: Likewise.
47051         * lib/getcwd.c: Likewise.
47052         * lib/glob.c: Likewise.
47053
47054         Move the dirfd() declaration to <dirent.h>.
47055         * lib/dirfd.h: Remove file.
47056         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
47057         (dirfd): New declaration.
47058         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
47059         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
47060         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
47061         HAVE_DECL_DIRFD.
47062         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
47063         HAVE_DECL_DIRFD.
47064         * modules/dirfd (Files): Remove lib/dirfd.h.
47065         (Depends-on): Add dirent, extensions.
47066         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
47067         (Include): Specify <dirent.h> instead of dirfd.h.
47068         * modules/dirent (Depends-on): Add link-warning.
47069         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
47070         definition of GL_LINK_WARNING.
47071         * NEWS: Mention the change.
47072
47073 2008-10-18  Bruno Haible  <bruno@clisp.org>
47074
47075         Move the euidaccess() declaration to <unistd.h>.
47076         * lib/euidaccess.h: Remove file.
47077         * lib/unistd.in.h (euidaccess): New declaration.
47078         * lib/euidaccess.c: Don't include euidaccess.h.
47079         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
47080         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
47081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
47082         and HAVE_EUIDACCESS.
47083         * modules/euidaccess (Files): Remove lib/euidaccess.h.
47084         (Depends-on): Add unistd.
47085         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47086         (Include): Specify <unistd.h> instead of euidaccess.h.
47087         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
47088         HAVE_EUIDACCESS.
47089         * NEWS: Mention the change.
47090
47091 2008-10-18  Bruno Haible  <bruno@clisp.org>
47092
47093         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
47094
47095         Move the getdomainname() declaration to <unistd.h>.
47096         * lib/getdomainname.h: Remove file.
47097         * lib/unistd.in.h (getdomainname): New declaration.
47098         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
47099         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
47100         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
47101         HAVE_GETDOMAINNAME.
47102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47103         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
47104         * modules/getdomainname (Files): Remove lib/getdomainname.h.
47105         (Depends-on): Add unistd, extensions.
47106         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47107         (Includes): Specify <unistd.h> instead of getdomainname.h.
47108         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
47109         HAVE_GETDOMAINNAME.
47110         * NEWS: Mention the change.
47111
47112 2008-10-18  Bruno Haible  <bruno@clisp.org>
47113
47114         * modules/dirent: New file.
47115         * m4/dirent_h.m4: New file.
47116         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
47117         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
47118         * modules/fchdir (Files): Remove lib/dirent.in.h.
47119         (Depends-on): Add dirent.
47120         (Makefile.am): Move rules to modules/dirent.
47121         * doc/posix-headers/dirent.texi: Mention the new module.
47122
47123 2008-10-18  Bruno Haible  <bruno@clisp.org>
47124
47125         Avoid -Wunused-parameter warnings in public gnulib header files.
47126         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
47127         macro.
47128         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
47129
47130 2008-10-18  Bruno Haible  <bruno@clisp.org>
47131
47132         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
47133         * doc/glibc-functions/error.texi: Mention the module 'error'.
47134         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
47135         * doc/glibc-functions/getdomainname.texi: Mention the module
47136         'getdomainname'.
47137         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
47138         * doc/glibc-functions/getpagesize.texi: Mention the module
47139         'getpagesize'.
47140         * doc/glibc-functions/getusershell.texi: Mention the module
47141         'getusershell'.
47142         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
47143         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
47144         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
47145         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
47146         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
47147         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
47148         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
47149         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
47150         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
47151         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
47152         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
47153         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
47154         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
47155         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
47156
47157 2008-10-17  Bruno Haible  <bruno@clisp.org>
47158
47159         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
47160         HP-UX and IRIX, use -0.0L.
47161         * tests/test-ceill.c (minus_zero): Likewise.
47162         * tests/test-floorl.c (minus_zero): Likewise.
47163         * tests/test-frexpl.c (minus_zero): Likewise.
47164         * tests/test-isnan.c (minus_zerol): Likewise.
47165         * tests/test-isnanl.h (minus_zero): Likewise.
47166         * tests/test-ldexpl.c (minus_zero): Likewise.
47167         * tests/test-roundl.c (minus_zero): Likewise.
47168         * tests/test-signbit.c (minus_zerol): Likewise.
47169         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
47170         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
47171         * tests/test-truncl.c (minus_zero): Likewise.
47172         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
47173         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
47174         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
47175         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
47176
47177 2008-10-17  Bruno Haible  <bruno@clisp.org>
47178
47179         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
47180         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
47181         that it gets activated only for gcc >= 3.0.
47182         * lib/dirent.in.h: Likewise.
47183         * lib/errno.in.h: Likewise.
47184         * lib/fcntl.in.h: Likewise.
47185         * lib/float.in.h: Likewise.
47186         * lib/iconv.in.h: Likewise.
47187         * lib/inttypes.in.h: Likewise.
47188         * lib/locale.in.h: Likewise.
47189         * lib/math.in.h: Likewise.
47190         * lib/netdb.in.h: Likewise.
47191         * lib/netinet_in.in.h: Likewise.
47192         * lib/search.in.h: Likewise.
47193         * lib/signal.in.h: Likewise.
47194         * lib/spawn.in.h: Likewise.
47195         * lib/stdarg.in.h: Likewise.
47196         * lib/stdint.in.h: Likewise.
47197         * lib/stdio.in.h: Likewise.
47198         * lib/stdlib.in.h: Likewise.
47199         * lib/string.in.h: Likewise.
47200         * lib/strings.in.h: Likewise.
47201         * lib/sys_file.in.h: Likewise.
47202         * lib/sys_ioctl.in.h: Likewise.
47203         * lib/sys_select.in.h: Likewise.
47204         * lib/sys_socket.in.h: Likewise.
47205         * lib/sys_stat.in.h: Likewise.
47206         * lib/sys_time.in.h: Likewise.
47207         * lib/sysexits.in.h: Likewise.
47208         * lib/time.in.h: Likewise.
47209         * lib/unistd.in.h: Likewise.
47210         * lib/wchar.in.h: Likewise.
47211         * lib/wctype.in.h: Likewise.
47212         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47213
47214 2008-10-17  Jim Meyering  <meyering@redhat.com>
47215
47216         ignore-value: don't depend on inline module
47217         * modules/ignore-value (Depends-on): Remove 'inline'.
47218         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
47219         Suggestion from Bruno Haible.
47220
47221 2008-10-17  Bruno Haible  <bruno@clisp.org>
47222
47223         New implementation of condition variables for Win32.
47224         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
47225         (gl_linked_waitqueue_t): New type.
47226         (gl_cond_t): Use it.
47227         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
47228         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
47229         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
47230         (glthread_cond_init_func, glthread_cond_wait_func,
47231         glthread_cond_timedwait_func, glthread_cond_signal_func,
47232         glthread_cond_broadcast_func, glthread_cond_destroy_func):
47233         Reimplemented on the basis of gl_linked_waitqueue_t.
47234         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
47235         gl_waitqueue_t.
47236         (gl_rwlock_t): Update.
47237         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
47238
47239 2008-10-17  Simon Josefsson  <simon@josefsson.org>
47240
47241         * modules/recvfrom (Depends-on): Add dependency on getpeername.
47242         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47243
47244 2008-10-17  Jim Meyering  <meyering@redhat.com>
47245
47246         ignore-value: new module
47247         * modules/ignore-value: New file.
47248         * lib/ignore-value.h: New file.
47249         * MODULES.html.sh (Compiler warning management): New section,
47250         just for this module.  More to come.
47251
47252 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47253
47254         open-safer.c: avoid 'signed and unsigned in conditional...' warning
47255         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
47256         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
47257
47258 2008-10-16  Jim Meyering  <meyering@redhat.com>
47259
47260         openat-die.c: avoid 'no previous prototype' warning
47261         * lib/openat-die.c: Include "openat.h".
47262         Reported by Reuben Thomas <rrt@sc3d.org>.
47263
47264 2008-10-16  Simon Josefsson  <simon@josefsson.org>
47265
47266         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
47267         * lib/netdb.in.h: Fix typo.
47268         Reported by Bruno Haible  <bruno@clisp.org>
47269
47270         * lib/netdb.in.h: Include sys/socket.h for platforms without
47271         netdb.h, to get structures like hostent on MinGW.
47272         * modules/netdb (Depends-on): Add sys_socket.
47273
47274 2008-10-15  Simon Josefsson  <simon@josefsson.org>
47275
47276         * modules/netdb, modules/netdb-tests: New file.
47277         * m4/netdb_h.m4: New file.
47278         * lib/netdb.in.h: Add, currently just an empty file pending
47279         definitions.
47280         * tests/test-netdb.c: New file.
47281         * doc/posix-headers/netdb.texi: Mention that we replace it if
47282         needed.
47283         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47284         netdb.
47285
47286 2008-10-15  Simon Josefsson  <simon@josefsson.org>
47287
47288         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
47289         with code.
47290
47291 2008-10-13  Bruno Haible  <bruno@clisp.org>
47292
47293         * lib/glthread/cond.c (glthread_cond_wait_func,
47294         glthread_cond_timedwait_func): Add a comment.
47295
47296 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47297
47298         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
47299         * tests/test-select.c: Likewise,
47300
47301 2008-10-13  Bruno Haible  <bruno@clisp.org>
47302
47303         * lib/glthread/cond.c (glthread_cond_wait_func,
47304         glthread_cond_timedwait_func): Fix variable name.
47305         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47306
47307 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
47308
47309         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
47310         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
47311         struct sockaddr.sa_len.
47312         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
47313
47314 2008-10-13  Simon Josefsson  <simon@josefsson.org>
47315
47316         * build-aux/pmccabe2html: Add css and css_url parameters.
47317
47318 2008-10-12  Bruno Haible  <bruno@clisp.org>
47319
47320         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
47321         calling aclx_get.
47322         Reported by Rainer Tammer <tammer@tammer.net>.
47323
47324 2008-10-12  Bruno Haible  <bruno@clisp.org>
47325
47326         Use msvcrt aware primitives for creation/termination of Win32 threads.
47327         * lib/glthread/thread.c: Include <process.h>.
47328         (glthread_create_func): Use _beginthreadex instead of CreateThread.
47329         (wrapper_func): Update signature.
47330         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
47331
47332 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47333             Bruno Haible  <bruno@clisp.org>
47334
47335         Provide a Win32 implementation of the 'cond' module.
47336         * lib/glthread/cond.h [USE_WIN32]: New implementation.
47337         * lib/glthread/cond.c (glthread_cond_init_func,
47338         glthread_cond_wait_func, glthread_cond_timedwait_func,
47339         glthread_cond_signal_func, glthread_cond_broadcast_func,
47340         glthread_cond_destroy_func) [USE_WIN32]: New functions.
47341         * modules/cond (Dependencies): Add gettimeofday.
47342
47343 2008-10-11  Bruno Haible  <bruno@clisp.org>
47344
47345         Make sleep work on older versions of mingw.
47346         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
47347         only whether it exists.
47348         * doc/posix-functions/sleep.texi: Mention the problem with older
47349         versions of mingw.
47350
47351 2008-10-11  Bruno Haible  <bruno@clisp.org>
47352
47353         New module 'shutdown'.
47354         * modules/shutdown: New file.
47355         * lib/sys_socket.in.h (shutdown): New declaration.
47356         * lib/winsock.c (shutdown): New function.
47357         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
47358         GNULIB_SHUTDOWN.
47359         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
47360         * doc/posix-functions/shutdown.texi: Document the new module.
47361
47362 2008-10-11  Jim Meyering  <meyering@redhat.com>
47363
47364         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
47365
47366 2008-10-11  Bruno Haible  <bruno@clisp.org>
47367
47368         New module 'fclose'.
47369         * modules/fclose: New file.
47370         * lib/stdio.in.h (fclose): New declaration.
47371         * lib/fclose.c: New file.
47372         * m4/fclose.m4: New file.
47373         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
47374         REPLACE_FCLOSE.
47375         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
47376         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
47377         REPLACE_FCLOSE.
47378         * modules/close (Depends-on): fclose.
47379         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
47380
47381 2008-10-11  Bruno Haible  <bruno@clisp.org>
47382
47383         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
47384         set errno and don't call _close.
47385
47386 2008-10-10  Bruno Haible  <bruno@clisp.org>
47387
47388         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
47389         ACL, not afterwards. Fixes test failure on Cygwin.
47390
47391 2008-10-09  Ben Pfaff  <blp@gnu.org>
47392
47393         * build-aux/announce-gen: Fix gnulib version related part of usage
47394         message.  Die with a useful error message if no tarballs are
47395         found.
47396
47397 2008-10-10  Jim Meyering  <meyering@redhat.com>
47398
47399         bootstrap: use git's --depth=N option only if it's supported
47400         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
47401         recognize the --depth option.  Reported by Pádraig Brady.
47402
47403 2008-10-09  Bruno Haible  <bruno@clisp.org>
47404
47405         New module 'ioctl'.
47406         * modules/ioctl: New file.
47407         * lib/sys_socket.in.h (ioctl): Remove declaration.
47408         * lib/winsock.c: Include <sys/ioctl.h>.
47409         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
47410         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
47411         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
47412         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
47413         * doc/posix-functions/ioctl.texi: Mention the new module.
47414
47415 2008-10-09  Bruno Haible  <bruno@clisp.org>
47416
47417         New module 'sys_ioctl'.
47418         * lib/sys_ioctl.in.h: New file.
47419         * m4/sys_ioctl_h.m4: New file.
47420         * modules/sys_ioctl: New file.
47421         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
47422
47423 2008-10-09  Bruno Haible  <bruno@clisp.org>
47424
47425         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
47426         * lib/winsock.c: Include <stdarg.h>.
47427         (rpl_ioctl): Change to second argument 'int' and then varargs.
47428
47429 2008-10-09  Bruno Haible  <bruno@clisp.org>
47430
47431         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
47432         when the sys_socket module is present and the system has <winsock2.h>.
47433
47434 2008-10-09  Bruno Haible  <bruno@clisp.org>
47435
47436         * doc/posix-functions/close.texi: Mention module 'close' instead of
47437         module 'sys_socket'.
47438
47439 2008-10-09  Bruno Haible  <bruno@clisp.org>
47440
47441         * doc/glibc-headers/sys_ioctl.texi: New file.
47442         * doc/gnulib.texi: Include it.
47443
47444 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47445             Bruno Haible  <bruno@clisp.org>
47446
47447         Combine the two replacements of 'close'.
47448         * lib/sys_socket.in.h (close): Define to a reminder to include
47449         <unistd.h>.
47450         (_gl_close_fd_maybe_socket): New declaration.
47451         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
47452         * lib/winsock.c (close): Remove undefinition.
47453         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
47454         needed for the gnulib module 'close'.
47455         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
47456         define to an error symbol or to a warning, if suitable.
47457         * lib/close.c: Include <sys/socket.h>.
47458         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
47459         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
47460         UNISTD_H_HAVE_WINSOCK2_H.
47461         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
47462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47463         UNISTD_H_HAVE_WINSOCK2_H.
47464         * modules/sys_socket (Files): Add m4/unistd_h.m4.
47465         (configure.ac): Set a module indicator.
47466         (Makefile.am): Substitute GNULIB_CLOSE.
47467         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
47468         * modules/poll-tests (Depends-on): Add close.
47469         * modules/select-tests (Depends-on): Likewise.
47470
47471 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47472             Bruno Haible  <bruno@clisp.org>
47473
47474         New module 'close'.
47475         * modules/close: New file.
47476         * lib/unistd.in.h (close): Move declaration out of the
47477         FCHDIR_REPLACEMENT scope.
47478         (_gl_unregister_fd): New declaration.
47479         * lib/close.c: New file.
47480         * lib/fchdir.c (rpl_close): Remove function.
47481         * m4/close.m4: New file.
47482         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
47483         close.
47484         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
47485         REPLACE_CLOSE.
47486         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
47487         REPLACE_CLOSE.
47488         * modules/fchdir (Depends-on): Add close.
47489
47490 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47491             Bruno Haible  <bruno@clisp.org>
47492
47493         * lib/fcntl.in.h (open): Simplify conditionals.
47494         (_gl_register_fd): New declaration.
47495         * lib/fchdir.c (rpl_open): Remove function.
47496         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
47497         also.
47498         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
47499         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
47500         open.
47501
47502 2008-10-09  Jim Meyering  <meyering@redhat.com>
47503
47504         GNUmakefile: use the more name-space-friendly "_version"
47505         * top/GNUmakefile (_dummy): Update.
47506         (_version): Rename from "version".
47507
47508 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47509             Bruno Haible  <bruno@clisp.org>
47510
47511         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
47512         rpl_close.
47513         (_gl_register_fd): New function, extracted from rpl_open.
47514         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
47515         (rpl_open, rpl_opendir): Use _gl_register_fd.
47516
47517 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47518
47519         Fix organization of 'open' replacement.
47520         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
47521         (gl_FUNC_OPEN): Use it.
47522         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
47523
47524 2008-10-08  Bruno Haible  <bruno@clisp.org>
47525
47526         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
47527
47528 2008-10-08  Simon Josefsson  <simon@josefsson.org>
47529
47530         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
47531         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
47532         listen).
47533
47534 2008-10-08  Eric Blake  <ebb9@byu.net>
47535
47536         GNUmakefile: add 'make version' target
47537         * top/GNUmakefile (_curr-ver): Split version update rules...
47538         (version): ...into a target.
47539
47540 2008-10-07  Bruno Haible  <bruno@clisp.org>
47541
47542         Use a more portable replacement expression for -0.0L.
47543         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
47544         instead of -0.0L. Fix m4 quotation.
47545
47546         * tests/test-signbit.c: Include <float.h>.
47547         (minus_zero): New variable.
47548         (test_signbitl): Use minus_zero instead of -zero.
47549         * modules/signbit-tests (Depends-on): Add float.
47550
47551         * tests/test-ceill.c: Include <float.h>.
47552         (zero): Remove variable.
47553         (minus_zero): New variable.
47554         (main): Use minus_zero instead of -zero.
47555         * modules/ceill-tests (Depends-on): Add float.
47556
47557         * tests/test-floorl.c: Include <float.h>.
47558         (zero): Remove variable.
47559         (minus_zero): New variable.
47560         (main): Use minus_zero instead of -zero.
47561         * modules/floorl-tests (Depends-on): Add float.
47562
47563         * tests/test-roundl.c: Include <float.h>.
47564         (zero): Remove variable.
47565         (minus_zero): New variable.
47566         (main): Use minus_zero instead of -zero.
47567         * modules/roundl-tests (Depends-on): Add float.
47568
47569         * tests/test-truncl.c: Include <float.h>.
47570         (zero): Remove variable.
47571         (minus_zero): New variable.
47572         (main): Use minus_zero instead of -zero.
47573         * modules/truncl-tests (Depends-on): Add float.
47574
47575         * tests/test-frexpl.c (zero): Remove variable.
47576         (minus_zero): New variable.
47577         (main): Use minus_zero instead of -zero.
47578         * modules/frexpl-tests (Depends-on): Add float.
47579
47580         * tests/test-isnan.c (zerol): Remove variable.
47581         (minus_zerol): New variable.
47582         (test_long_double): Use minus_zerol instead of -zerol.
47583         * modules/isnan-tests (Depends-on): Add float.
47584
47585         * tests/test-isnanl.h (zero): Remove variable.
47586         (minus_zero): New variable.
47587         (main): Use minus_zero instead of -zero.
47588         * modules/isnanl-nolibm-tests (Depends-on): Add float.
47589         * modules/isnanl-tests (Depends-on): Add float.
47590
47591         * tests/test-ldexpl.c (zero): Remove variable.
47592         (minus_zero): New variable.
47593         (main): Use minus_zero instead of -zero.
47594         * modules/ldexpl-tests (Depends-on): Add float.
47595
47596         * tests/test-snprintf-posix.h (zerol): Remove variable.
47597         (minus_zerol): New variable.
47598         (test_function): Use minus_zerol instead of -zerol.
47599         * modules/snprintf-posix-tests (Depends-on): Add float.
47600         * modules/vsnprintf-posix-tests (Depends-on): Add float.
47601
47602         * tests/test-sprintf-posix.h (zerol): Remove variable.
47603         (minus_zerol): New variable.
47604         (test_function): Use minus_zerol instead of -zerol.
47605         * modules/sprintf-posix-tests (Depends-on): Add float.
47606         * modules/vsprintf-posix-tests (Depends-on): Add float.
47607
47608         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
47609         (minus_zerol): New variable.
47610         (test_function): Use minus_zerol instead of -zerol.
47611         * modules/vasnprintf-posix-tests (Depends-on): Add float.
47612
47613         * tests/test-vasprintf-posix.c (zerol): Remove variable.
47614         (minus_zerol): New variable.
47615         (test_function): Use minus_zerol instead of -zerol.
47616         * modules/vasprintf-posix-tests (Depends-on): Add float.
47617
47618 2008-10-07  Simon Josefsson  <simon@josefsson.org>
47619
47620         * MODULES.html.sh (Support for building documentation): Mention
47621         pmccabe2html.  Sort entries.
47622
47623         Add pmccabe2html module, from gnupdf.
47624         * build-aux/pmccabe.css: New file.
47625         * build-aux/pmccabe2html: New file.
47626         * m4/pmccabe2html.m4: New file.
47627         * modules/pmccabe2html: New file.
47628
47629 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
47630
47631         flock: new module
47632         * MODULES.html.sh: Add to list of modules.
47633         * lib/flock.c: flock implementation for Windows and Unix systems
47634         which have fcntl.
47635         * doc/glibc-functions/flock.texi: Update documentation.
47636         * lib/sys_file.in.h: <sys/file.h> header file.
47637         * m4/flock.m4: M4 macros.
47638         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
47639         * modules/flock: flock module.
47640         * modules/flock-tests: flock tests module.
47641         * modules/sys_file: sys/file.h module.
47642         * tests/test-flock.c: test suite for flock.
47643
47644 2008-10-06  Jim Meyering  <meyering@redhat.com>
47645
47646         bootstrap: check for LT_INIT more portably still ;-)
47647         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
47648         Spotted by Bruno Haible.
47649
47650 2008-10-06  Eric Blake  <ebb9@byu.net>
47651
47652         test-signbit: avoid tripping Irix cc bug on -0.0L
47653         * tests/test-signbit.c (minus_zerol): Delete, and replace with
47654         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
47655         entire testsuite consistent and avoids an Irix 6.2 bug.
47656
47657 2008-10-05  Bruno Haible  <bruno@clisp.org>
47658             Jim Meyering  <jim@meyering.net>
47659
47660         Add an option for ignoring EPIPE during close_stdout.
47661         * lib/closeout.h: Include <stdbool.h>.
47662         (close_stdout_set_ignore_EPIPE): New declaration.
47663         * lib/closeout.c: Include <stdbool.h>.
47664         (ignore_EPIPE): New variable.
47665         (close_stdout_set_ignore_EPIPE): New function.
47666         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
47667         * lib/close-stream.c (close_stream): Mention the possible EPIPE
47668         failure.
47669         * modules/closeout (Depends-on): Add stdbool.
47670
47671 2008-10-05  Bruno Haible  <bruno@clisp.org>
47672
47673         * modules/accept: New file.
47674         * modules/bind: New file.
47675         * modules/connect: New file.
47676         * modules/getpeername: New file.
47677         * modules/getsockname: New file.
47678         * modules/getsockopt: New file.
47679         * modules/listen: New file.
47680         * modules/recv: New file.
47681         * modules/recvfrom: New file.
47682         * modules/send: New file.
47683         * modules/sendto: New file.
47684         * modules/setsockopt: New file.
47685         * modules/socket: New file.
47686         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
47687         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
47688         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
47689         the particular module is requested. Add a link warning when the
47690         particular module is not requested.
47691         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
47692         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
47693         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
47694         the particular module is requested.
47695         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
47696         gl_SYS_SOCKET_H_DEFAULTS): New macros.
47697         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
47698         * modules/sys_socket (Depends-on): Add link-warning.
47699         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
47700         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
47701         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
47702         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
47703         GL_LINK_WARNING.
47704         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
47705         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
47706         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
47707         * doc/posix-functions/getpeername.texi: Mention the new module
47708         'getpeername'.
47709         * doc/posix-functions/getsockname.texi: Mention the new module
47710         'getsockname'.
47711         * doc/posix-functions/getsockopt.texi: Mention the new module
47712         'getsockopt'.
47713         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
47714         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
47715         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
47716         * doc/posix-functions/send.texi: Mention the new module 'send'.
47717         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
47718         * doc/posix-functions/setsockopt.texi: Mention the new module
47719         'setsockopt'.
47720         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
47721         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
47722         listen, connect, accept.
47723         * modules/select-tests (Depends-on): Likewise.
47724
47725 2008-10-05  Bruno Haible  <bruno@clisp.org>
47726
47727         * lib/winsock.c (strerror): Remove unused #undef.
47728         (rpl_close): Remove unused local variable.
47729
47730         * modules/sys_socket (Depends-on); Add errno.
47731
47732 2008-10-05  Bruno Haible  <bruno@clisp.org>
47733
47734         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
47735         (select): Add a link warning when the 'select' module is not used.
47736         * modules/sys_select (Depends-on): Add link-warning.
47737         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
47738         Suggested by Paolo Bonzini.
47739
47740 2008-10-05  Jim Meyering  <meyering@redhat.com>
47741
47742         bootstrap: check for LT_INIT more portably
47743         * build-aux/bootstrap: Avoid using grep -E, since it's not
47744         portable enough.  Suggestion from Bruno Haible.
47745
47746 2008-10-05  Bruno Haible  <bruno@clisp.org>
47747
47748         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
47749         as being fixed by gnulib.
47750
47751 2008-10-05  Bruno Haible  <bruno@clisp.org>
47752
47753         * modules/select-tests: New file, mostly copied from
47754         modules/sys_select-tests.
47755         * tests/test-select.c: New file, mostly copied from
47756         tests/test-sys_select.c.
47757         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
47758         * modules/sys_select-tests (Depends-on): Remove all dependencies.
47759         (Makefile.am): Remove test_sys_select_LDADD.
47760
47761         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
47762         to an undefined symbol, for an error message.
47763         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
47764         (gl_SYS_SELECT_H_DEFAULTS): New macro.
47765         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
47766         winsock-select.c here.
47767         * modules/sys_select (Files): Remove lib/winsock-select.c.
47768         (Depends-on): Remove alloca.
47769         (Makefile.am): Substitute GNULIB_SELECT.
47770         * modules/select: New file.
47771         * doc/posix-functions/select.texi: Update.
47772
47773 2008-10-05  Bruno Haible  <bruno@clisp.org>
47774
47775         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
47776         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
47777         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
47778         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
47779         getdtablesize.
47780         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
47781         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
47782
47783 2008-10-05  Bruno Haible  <bruno@clisp.org>
47784
47785         * modules/getdtablesize-tests: New file.
47786         * tests/test-getdtablesize.c: New file.
47787
47788         New module 'getdtablesize'.
47789         * lib/unistd.in.h (getdtablesize): New declaration.
47790         * lib/getdtablesize.c: New file.
47791         * m4/getdtablesize.m4: New file.
47792         * modules/getdtablesize: New file.
47793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47794         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
47795         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
47796         HAVE_GETDTABLESIZE.
47797         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
47798
47799 2008-10-05  Bruno Haible  <bruno@clisp.org>
47800
47801         * modules/sched (Makefile.am): Fix typo.
47802         Reported by Simon Josefsson.
47803
47804 2008-10-05  Jim Meyering  <meyering@redhat.com>
47805
47806         bootstrap: check for LT_INIT, too
47807         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
47808         are deprecated.  Suggestion from Ralf Wildenhues.
47809
47810 2008-10-05  Bruno Haible  <bruno@clisp.org>
47811
47812         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
47813         overriding them by ours.
47814         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
47815
47816 2008-10-05  Jim Meyering  <meyering@redhat.com>
47817
47818         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
47819         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
47820         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
47821
47822 2008-10-04  Bruno Haible  <bruno@clisp.org>
47823
47824         * modules/dup2 (License): Change to LGPLv2+.
47825         * modules/sleep (License): Likewise.
47826         * modules/perror (License): Likewise.
47827         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
47828         Blake.
47829         * modules/signal (License): Likewise.
47830         * modules/sigprocmask (License): Likewise.
47831         * modules/raise (License): Change to LGPLv2+, with approval by Jim
47832         Meyering.
47833
47834 2008-10-04  Bruno Haible  <bruno@clisp.org>
47835
47836         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
47837         Reported by Rainer Tammer <tammer@tammer.net>.
47838
47839 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
47840             Bruno Haible  <bruno@clisp.org>
47841
47842         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
47843         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
47844         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
47845
47846 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
47847
47848         filevercmp: new module
47849         * lib/filevercmp.h: New function filevercmp comparing version strings.
47850         * lib/filevercmp.c: Implementation of filevercmp function.
47851         * modules/filevercmp: Module metadata.
47852         * tests/test-filevercmp.c: Unit test for new module.
47853         * modules/filevercmp-tests: Unit test metadata.
47854         * MODULES.html.sh: Add filevercmp module.
47855
47856 2008-10-03  Bruno Haible  <bruno@clisp.org>
47857
47858         * lib/c-ctype.h: Add comment.
47859         Reported by Jim Meyering.
47860
47861 2008-10-02  Bruno Haible  <bruno@clisp.org>
47862
47863         * modules/posix_spawn-internal (Depends-on): Add 'open'.
47864
47865 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
47866
47867         * build-aux/bootstrap: Allow renaming bootstrap, and change the
47868         name of bootstrap.conf accordingly.
47869
47870 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
47871
47872         * build-aux/bootstrap: Install git-merge-changelog configuration
47873         items into .gitconfig if needed.
47874
47875 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
47876
47877         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
47878         git repository, and initialize/update it accordingly.
47879
47880 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
47881
47882         * modules/fsync-tests: New file.
47883         * tests/test-fsync.c: New file.
47884
47885         New module 'fsync'.
47886         * lib/fsync.c: New file.
47887         * m4/fsync.m4: New file.
47888         * modules/fsync: New file.
47889         * lib/unistd.in.h (fsync): New declaration.
47890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
47891         GNULIB_FSYNC and HAVE_FSYNC.
47892         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
47893         * MODULES.html.sh (posix_functions): Add fsync.
47894         * doc/posix-functions/fsync.texi: Mention the new module.
47895
47896 2008-10-02  Jim Meyering  <meyering@redhat.com>
47897
47898         fts.c: sync with similar code from coreutils' remove.c
47899         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
47900         Guard also with "#if defined __linux__", since for now at least,
47901         this code is Linux-kernel-specific.
47902
47903 2008-10-02  Jim Meyering  <meyering@redhat.com>
47904
47905         fts: bug fixes
47906         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
47907         Include <sys/vfs.h>, not <sys/statfs.h>.
47908
47909         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
47910         Include <sys/vfs.h>, not <sys/statfs.h>.
47911
47912 2008-10-01  Bruno Haible  <bruno@clisp.org>
47913
47914         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
47915         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
47916         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
47917         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
47918         * doc/posix-functions/posix_spawnp.texi: Likewise.
47919         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
47920         whether posix_spawn actually works.
47921         * m4/pipe.m4 (gl_PIPE): Likewise.
47922         * modules/execute (Files): Add m4/posix_spawn.m4.
47923         * modules/pipe (Files): Add m4/posix_spawn.m4.
47924         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
47925
47926 2008-10-01  Jim Meyering  <meyering@redhat.com>
47927
47928         remove trailing spaces
47929         * NEWS: Likewise.
47930         * lib/poll.c (poll): Likewise.
47931         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
47932         * lib/winsock.c (rpl_close): Likewise.
47933         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
47934         * modules/yield: Likewise.
47935         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
47936         * tests/test-sys_select.c (connect_to_socket): Likewise.
47937
47938         fts.c: adjust a new interface to be more generally useful
47939         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
47940         (fts_build): Adjust caller.
47941
47942 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47943
47944         * modules/cond-tests: New file.
47945         * tests/test-cond.c: New file.
47946
47947 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47948             Bruno Haible  <bruno@clisp.org>
47949
47950         * modules/cond (Dependencies): Add errno, time.
47951         * lib/glthread/cond.h: Include <time.h>.
47952         (gl_cond_define, gl_cond_define_initialized): Use the same definition
47953         across platforms.
47954
47955 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47956             Bruno Haible  <bruno@clisp.org>
47957
47958         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
47959
47960 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47961             Bruno Haible  <bruno@clisp.org>
47962
47963         * modules/tls-tests (Depends-on): Add thread, yield.
47964         (configure.ac): Remove all checks.
47965         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
47966         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
47967         gl_thread_self): Remove definitions. Include glthread/thread.h and
47968         glthread/yield.h instead.
47969         (test_tls): Pass an additional NULL argument to gl_thread_join.
47970
47971 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47972             Bruno Haible  <bruno@clisp.org>
47973
47974         * modules/lock-tests (Depends-on): Add thread, yield.
47975         (configure.ac): Remove all checks.
47976         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
47977         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
47978         gl_thread_self): Remove definitions. Include glthread/thread.h and
47979         glthread/yield.h instead.
47980         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
47981         additional NULL argument to gl_thread_join.
47982
47983 2008-09-30  Bruno Haible  <bruno@clisp.org>
47984
47985         Fix the Win32 implementation of the 'thread' module.
47986         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
47987         pointer type.
47988         (gl_thread_self): Invoke gl_thread_self_func.
47989         (gl_thread_self_func): New declaration.
47990         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
47991         (do_init_self_key, init_self_key): New functions.
47992         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
47993         Remove some fields.
47994         (running_threads, running_lock): Remove variables.
47995         (get_current_thread_handle): New function.
47996         (gl_thread_self_func, wrapper_func, glthread_create_func,
47997         glthread_join_func, gl_thread_exit_func): Largely rewritten and
47998         simplified.
47999
48000 2008-09-30  Bruno Haible  <bruno@clisp.org>
48001
48002         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
48003         files.
48004
48005 2008-09-30  Jim Meyering  <meyering@redhat.com>
48006
48007         fts.m4: correct the test for statfs.f_type
48008         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
48009         when checking for statfs.f_type.
48010
48011 2008-09-15  Simon Josefsson  <simon@josefsson.org>
48012
48013         tests: avoid some compiler warnings
48014         * tests/test-memchr.c (main): Pass NULL indirectly.
48015         * tests/test-getdate.c (main): Remove unused variable 'ret'.
48016
48017 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
48018
48019         getdate.y: disallow countable dayshifts like "4 yesterday ago"
48020         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
48021         exactly specified dayshifts.
48022         (dayshift): New rule.
48023         (rel): Add dayshift.
48024         (relative_time_table) [tomorrow, yesterday, today, now]:
48025         Use tDAY_SHIFT in place of tDAY_UNIT.
48026         * tests/test-getdate.c: Add tests for now-disallowed countable
48027         dayshifts, e.g., "4 yesterday ago".
48028
48029 2008-09-29  Bruno Haible  <bruno@clisp.org>
48030
48031         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
48032         * tests/test-posix_spawn1.in.sh: Renamed from
48033         tests/test-posix_spawn.in.sh.
48034         * tests/test-posix_spawn2.c: New file.
48035         * tests/test-posix_spawn2.in.sh: New file.
48036         * modules/posix_spawnp-tests (Files): Update.
48037         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
48038
48039 2008-09-29  Bruno Haible  <bruno@clisp.org>
48040
48041         Propagate effects of putenv/setenv/unsetenv to child processes.
48042         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
48043         * lib/pipe.c (create_pipe): Likewise.
48044
48045 2008-09-29  Bruno Haible  <bruno@clisp.org>
48046
48047         Enable use of shell scripts as executables in mingw.
48048         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
48049         run the program as a shell script.
48050         * lib/pipe.c (create_pipe): Likewise.
48051         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
48052         resulting array.
48053
48054 2008-09-29  Eric Blake  <ebb9@byu.net>
48055
48056         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
48057
48058 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
48059
48060         * doc/posix-functions/accept.texi: Update mingw problems.
48061         * doc/posix-functions/bind.texi: Update mingw problems.
48062         * doc/posix-functions/close.texi: Update mingw problems.
48063         * doc/posix-functions/connect.texi: Update mingw problems.
48064         * doc/posix-functions/getpeername.texi: Update mingw problems.
48065         * doc/posix-functions/getsockname.texi: Update mingw problems.
48066         * doc/posix-functions/getsockopt.texi: Update mingw problems.
48067         * doc/posix-functions/ioctl.texi: Update mingw problems.
48068         * doc/posix-functions/listen.texi: Update mingw problems.
48069         * doc/posix-functions/recv.texi: Update mingw problems.
48070         * doc/posix-functions/recvfrom.texi: Update mingw problems.
48071         * doc/posix-functions/select.texi: Update mingw problems.
48072         * doc/posix-functions/send.texi: Update mingw problems.
48073         * doc/posix-functions/sendto.texi: Update mingw problems.
48074         * doc/posix-functions/setsockopt.texi: Update mingw problems.
48075         * doc/posix-functions/socket.texi: Update mingw problems.
48076
48077 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
48078             Bruno Haible  <bruno@clisp.org>
48079
48080         * lib/sys_select.in.h: Include sys/time.h.
48081         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
48082         * modules/sys_select: Depend on sys_time.
48083         * tests/test-sys_select.c: Test that sys/select.h defines struct
48084         timeval fully.
48085
48086 2008-09-29  Bruno Haible  <bruno@clisp.org>
48087
48088         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
48089         * lib/sys_select.in.h: Likewise.
48090
48091 2008-09-29  Bruno Haible  <bruno@clisp.org>
48092
48093         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
48094
48095 2008-09-29  Bruno Haible  <bruno@clisp.org>
48096
48097         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
48098         Set LIBSOCKET instead of augmenting LIBS.
48099         * modules/sockets (Link): New section.
48100         * modules/sockets-tests (test_sockets_LDADD): New variable.
48101         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
48102         * modules/poll-tests (test_poll_LDADD): New variable.
48103         * NEWS: Document the change.
48104
48105 2008-09-29  Bruno Haible  <bruno@clisp.org>
48106
48107         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
48108         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
48109         ARPA_INET_H directly.
48110         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
48111
48112 2008-09-28  Bruno Haible  <bruno@clisp.org>
48113
48114         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
48115         from gl_HEADER_SYS_SOCKET.
48116         (gl_HEADER_SYS_SOCKET): Invoke it.
48117         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
48118
48119 2008-09-28  Bruno Haible  <bruno@clisp.org>
48120
48121         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
48122         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
48123         Needed on OSF/1 4.0.
48124
48125 2008-09-28  Bruno Haible  <bruno@clisp.org>
48126
48127         Override open more carefully.
48128         * lib/open.c (orig_open): New function.
48129         (rpl_open): Use orig_open instead of open.
48130         * lib/fcntl.in.h: Add special invocation convention.
48131         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
48132         (gl_FUNC_OPEN): Invoke it.
48133
48134         Override freopen more carefully.
48135         * lib/freopen.c (orig_freopen): New function.
48136         (rpl_freopen): Use orig_freopen instead of freopen.
48137         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
48138         (gl_FUNC_FREOPEN): Invoke it.
48139
48140         Override fopen more carefully.
48141         * lib/fopen.c (orig_fopen): New function.
48142         (rpl_fopen): Use orig_fopen instead of fopen.
48143         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
48144         (gl_FUNC_FOPEN): Invoke it.
48145         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
48146
48147 2008-09-28  Bruno Haible  <bruno@clisp.org>
48148
48149         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
48150         SIGPIPE.
48151
48152 2008-09-28  Bruno Haible  <bruno@clisp.org>
48153
48154         * tests/test-sigaction.c (handler, main): Disable the check whether
48155         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
48156         glibc systems with LinuxThreads.
48157
48158 2008-09-28  Bruno Haible  <bruno@clisp.org>
48159
48160         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
48161
48162         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
48163         with AIX xlc.
48164         * lib/fcntl.in.h (open): Likewise.
48165         Reported by Rainer Tammer <tammer@tammer.net>.
48166
48167 2008-09-28  Bruno Haible  <bruno@clisp.org>
48168
48169         * modules/posix_spawnp-tests: New file.
48170         * tests/test-posix_spawn.c: New file.
48171         * tests/test-posix_spawn.in.sh: New file.
48172
48173         New module 'posix_spawnp'.
48174         * modules/posix_spawnp: New file.
48175         * lib/spawnp.c: New file, from GNU libc with modifications.
48176         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
48177
48178         New module 'posix_spawn'.
48179         * modules/posix_spawn: New file.
48180         * lib/spawn.c: New file, from GNU libc with modifications.
48181         * doc/posix-functions/posix_spawn.texi: Mention the new module.
48182
48183         New module 'posix_spawnattr_destroy'.
48184         * modules/posix_spawnattr_destroy: New file.
48185         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
48186         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
48187         module.
48188
48189         New module 'posix_spawnattr_setsigmask'.
48190         * modules/posix_spawnattr_setsigmask: New file.
48191         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
48192         modifications.
48193         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
48194         new module.
48195
48196         New module 'posix_spawnattr_getsigmask'.
48197         * modules/posix_spawnattr_getsigmask: New file.
48198         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
48199         modifications.
48200         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
48201         new module.
48202
48203         New module 'posix_spawnattr_setsigdefault'.
48204         * modules/posix_spawnattr_setsigdefault: New file.
48205         * lib/spawnattr_setdefault.c: New file, from GNU libc with
48206         modifications.
48207         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
48208         new module.
48209
48210         New module 'posix_spawnattr_getsigdefault'.
48211         * modules/posix_spawnattr_getsigdefault: New file.
48212         * lib/spawnattr_getdefault.c: New file, from GNU libc with
48213         modifications.
48214         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
48215         new module.
48216
48217         New module 'posix_spawnattr_setschedpolicy'.
48218         * modules/posix_spawnattr_setschedpolicy: New file.
48219         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
48220         modifications.
48221         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
48222         new module.
48223
48224         New module 'posix_spawnattr_getschedpolicy'.
48225         * modules/posix_spawnattr_getschedpolicy: New file.
48226         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
48227         modifications.
48228         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
48229         new module.
48230
48231         New module 'posix_spawnattr_setschedparam'.
48232         * modules/posix_spawnattr_setschedparam: New file.
48233         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
48234         modifications.
48235         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
48236         new module.
48237
48238         New module 'posix_spawnattr_getschedparam'.
48239         * modules/posix_spawnattr_getschedparam: New file.
48240         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
48241         modifications.
48242         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
48243         new module.
48244
48245         New module 'posix_spawnattr_setpgroup'.
48246         * modules/posix_spawnattr_setpgroup: New file.
48247         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
48248         modifications.
48249         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
48250         module.
48251
48252         New module 'posix_spawnattr_getpgroup'.
48253         * modules/posix_spawnattr_getpgroup: New file.
48254         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
48255         modifications.
48256         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
48257         module.
48258
48259         New module 'posix_spawnattr_setflags'.
48260         * modules/posix_spawnattr_setflags: New file.
48261         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
48262         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
48263         module.
48264
48265         New module 'posix_spawnattr_getflags'.
48266         * modules/posix_spawnattr_getflags: New file.
48267         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
48268         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
48269         module.
48270
48271         New module 'posix_spawnattr_init'.
48272         * modules/posix_spawnattr_init: New file.
48273         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
48274         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
48275         module.
48276
48277         New module 'posix_spawn_file_actions_destroy'.
48278         * modules/posix_spawn_file_actions_destroy: New file.
48279         * lib/spawn_faction_destroy.c: New file, from GNU libc with
48280         modifications.
48281         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
48282         the new module.
48283
48284         New module 'posix_spawn_file_actions_addopen'.
48285         * modules/posix_spawn_file_actions_addopen: New file.
48286         * lib/spawn_faction_addopen.c: New file, from GNU libc with
48287         modifications.
48288         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
48289         the new module.
48290
48291         New module 'posix_spawn_file_actions_adddup2'.
48292         * modules/posix_spawn_file_actions_adddup2: New file.
48293         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
48294         modifications.
48295         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
48296         the new module.
48297
48298         New module 'posix_spawn_file_actions_addclose'.
48299         * modules/posix_spawn_file_actions_addclose: New file.
48300         * lib/spawn_faction_addclose.c: New file, from GNU libc with
48301         modifications.
48302         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
48303         the new module.
48304
48305         New module 'posix_spawn_file_actions_init'.
48306         * modules/posix_spawn_file_actions_init: New file.
48307         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
48308         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
48309         new module.
48310
48311         New module 'posix_spawn-internal'.
48312         * modules/posix_spawn-internal: New file.
48313         * lib/spawn_int.h: New file, from GNU libc with modifications.
48314         * lib/spawni.c: New file, from GNU libc with modifications.
48315         * m4/posix_spawn.m4: New file.
48316
48317         New module 'spawn'.
48318         * modules/spawn: New file.
48319         * lib/spawn.in.h: New file, from GNU libc with modifications.
48320         * m4/spawn_h.m4: New file.
48321         * doc/posix-headers/spawn.texi: Mention the new module.
48322
48323 2008-09-28  Bruno Haible  <bruno@clisp.org>
48324
48325         * modules/sched-tests: New file.
48326         * tests/test-sched.c: New file.
48327
48328         New module 'sched'.
48329         * modules/sched: New file.
48330         * lib/sched.in.h: New file.
48331         * m4/sched_h.m4: New file.
48332         * doc/posix-headers/sched.texi: Mention the new module.
48333
48334 2008-09-27  Eric Blake  <ebb9@byu.net>
48335
48336         Fix previous patch, and tweak references to $0.
48337         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
48338         (func_version, func_gnulib_dir): Don't call this program
48339         gnulib-tool.
48340         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
48341         with using $0 in function.
48342         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
48343         (func_fatal_error): Reuse the name the user invoked us with.
48344
48345 2008-09-27  Bruno Haible  <bruno@clisp.org>
48346
48347         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
48348         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
48349         (gl_ICONV_H): Not here.
48350         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
48351         instead of assigning ICONV_H directly.
48352
48353         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
48354         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
48355         WCHAR_H directly.
48356
48357 2008-09-27  Bruno Haible  <bruno@clisp.org>
48358
48359         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
48360         * modules/arpa_inet (Depends-on): Add link-warning.
48361         (Makefile.am): Insert the definition of GL_LINK-WARNING.
48362         * modules/unistd (Makefile.am): Likewise.
48363
48364 2008-09-26  Bruno Haible  <bruno@clisp.org>
48365
48366         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
48367         variables.
48368         (func_version): Essentially copied from gnulib-tool.
48369         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
48370         func_readlink): Copied from gnulib-tool.
48371
48372 2008-09-26  Bruno Haible  <bruno@clisp.org>
48373
48374         * gnulib-tool (func_version): Change directory to $gnulib_dir before
48375         invoking git-version-gen.
48376
48377 2008-09-26  Bruno Haible  <bruno@clisp.org>
48378
48379         * posix-modules: Update to directory names changed on 2008-01-19.
48380         Remove commas in output before splitting into words. No more need to
48381         avoid 'ftruncate' since 2007-02-19.
48382
48383 2008-09-26  Bruno Haible  <bruno@clisp.org>
48384
48385         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
48386
48387 2008-09-26  Bruno Haible  <bruno@clisp.org>
48388
48389         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
48390         * modules/fwriteerror (Depends-on): Add errno.
48391
48392 2008-09-26  Bruno Haible  <bruno@clisp.org>
48393
48394         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
48395         * tests/test-vc-list-files-cvs.sh: Likewise.
48396
48397 2008-09-26  Bruno Haible  <bruno@clisp.org>
48398
48399         * doc/posix-headers/sys_resource.texi: Reorder items.
48400
48401 2008-09-26  Jim Meyering  <meyering@redhat.com>
48402
48403         fts: tweak inode comparison function
48404         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
48405         inode numbers, as documented.
48406
48407         fts: sort dirent entries on inode number before traversing
48408         This avoids a quadratic, seek-related performance penalty when
48409         operating on a directory containing many entries (measurable at 10k;
48410         3.5 hours at 2 million entries with a cold cache) on certain types
48411         of file systems, including ext3 and ext4, but not tmpfs.
48412         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
48413         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
48414         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
48415         (fs_handles_readdir_ordered_dirents_efficiently): New function.
48416         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
48417         (fts_build): Set the stat.st_ino member from D_INO.
48418         If it is likely to be useful, sort dirent entries on inode number.
48419
48420         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
48421         and the struct statfs.f_type member.
48422         * modules/fts (Depends-on): Add d-ino.
48423
48424 2008-09-26  Bruno Haible  <bruno@clisp.org>
48425
48426         * modules/sigpipe-die (Depends-on): Add sigpipe.
48427
48428         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
48429         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
48430         and GNULIB_STDIO_H_SIGPIPE are set.
48431         * lib/stdio-write.c: New file.
48432         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
48433         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
48434         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
48435         REPLACE_STDIO_WRITE_FUNCS.
48436         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
48437         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
48438         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
48439         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
48440         * modules/stdio (Files): Add lib/stdio-write.c.
48441         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
48442         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
48443         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
48444         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
48445         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
48446         REPLACE_FPRINTF_POSIX.
48447         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
48448         REPLACE_PRINTF_POSIX.
48449         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
48450         REPLACE_VFPRINTF_POSIX.
48451         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
48452         REPLACE_VPRINTF_POSIX.
48453         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
48454         SIGPIPE issue.
48455         * doc/posix-functions/fputc.texi: Likewise.
48456         * doc/posix-functions/fputs.texi: Likewise.
48457         * doc/posix-functions/fwrite.texi: Likewise.
48458         * doc/posix-functions/printf.texi: Likewise.
48459         * doc/posix-functions/putc.texi: Likewise.
48460         * doc/posix-functions/putchar.texi: Likewise.
48461         * doc/posix-functions/puts.texi: Likewise.
48462         * doc/posix-functions/vfprintf.texi: Likewise.
48463         * doc/posix-functions/vprintf.texi: Likewise.
48464
48465         * modules/safe-write (Depends-on): Add write.
48466
48467         * modules/sigpipe-tests: New file.
48468         * tests/test-sigpipe.c: New file.
48469         * tests/test-sigpipe.sh: New file.
48470
48471         * modules/write: New file.
48472         * lib/unistd.in.h: Include <sys/types.h>.
48473         (write): New declaration.
48474         * lib/write.c: New file.
48475         * m4/write.m4: New file.
48476         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48477         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
48478         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
48479         GNULIB_WRITE, REPLACE_WRITE.
48480         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
48481         and the SIGPIPE issue.
48482
48483         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
48484         (raise): New declaration.
48485         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
48486         (ext_signal): New function.
48487         (rpl_raise): New function.
48488         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
48489         GNULIB_SIGNAL_H_SIGPIPE.
48490         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
48491         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
48492
48493         * modules/sigpipe: New file.
48494         * m4/sigpipe.m4: New file.
48495
48496 2008-09-25  Derek Price  <derek@ximbiot.com>
48497             Bruno Haible  <bruno@clisp.org>
48498
48499         * gnulib-tool (func_import): Report all license incompatibilities, not
48500         just the first one.
48501
48502 2008-09-25  Bruno Haible  <bruno@clisp.org>
48503
48504         * gnulib-tool (func_import): When computing the edits, consider not
48505         only the Makefile.ams that exist but also those that will be generated.
48506
48507 2008-09-25  Simon Josefsson  <simon@josefsson.org>
48508
48509         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
48510         fixes gnulib-tool --test warning about duplicate dependency.
48511
48512 2008-09-25  Bruno Haible  <bruno@clisp.org>
48513
48514         * gnulib-tool: Don't ask the user to perform edits in the generated
48515         Makefile.ams.
48516         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
48517         apply to the Makefile.am being generated.
48518         (func_emit_tests_Makefile_am): Execute edits that apply to the
48519         Makefile.am being generated.
48520         (func_import): Setup list of Makefile.am edits before emitting the
48521         Makefile.ams, not at the end.
48522         (func_create_testdir): Update.
48523         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48524
48525 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48526
48527         * gnulib-tool (func_import): Store the --tests-base option in the
48528         comment in gnulib-cache.m4.
48529
48530 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
48531
48532         * NEWS: Document increased portability that sys_select now provides.
48533
48534         * lib/sys_select.in.h: Install select wrapper.
48535         * lib/sys_socket.in.h: Use more descriptive name when there is no
48536         select wrapper.
48537         * lib/winsock-select.c: New.
48538         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
48539         Require gl_HEADER_SYS_SOCKET.
48540         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
48541         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
48542         * tests/test-sys_select.c: Add functional tests.
48543
48544 2008-09-24  Eric Blake  <ebb9@byu.net>
48545
48546         open, fopen: close fd leak in last patch
48547         * lib/open.c (rpl_open): Close fd before returning error.
48548         * lib/fopen.c (rpl_fopen): Close fd before returning error.
48549         * doc/posix-functions/open.texi (open): Document that Irix also
48550         has the bug.
48551         * doc/posix-functions/fopen.texi (fopen): Likewise.
48552         Reported by Paolo Bonzini.
48553
48554 2008-09-24  Bruno Haible  <bruno@clisp.org>
48555
48556         Ensure that a filename ending in a slash cannot be used to access a
48557         non-directory.
48558         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
48559         to check whether it's really a directory.
48560         * lib/fopen.c: Include fcntl.h, unistd.h.
48561         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
48562         and fdopen().
48563         * modules/fopen (Depends-on): Add unistd.
48564         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
48565         * tests/test-fopen.c (main): Likewise.
48566         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
48567         * doc/posix-functions/fopen.texi: Likewise.
48568         Reported by Eric Blake.
48569
48570 2008-09-23  Eric Blake  <ebb9@byu.net>
48571
48572         c-stack: avoid compiler optimizations when provoking overflow
48573         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
48574         recursion harder to optimize, to ensure a stack overflow occurs.
48575         * tests/test-c-stack.c (recurse): Likewise.
48576         Borrowed from libsigsegv.
48577
48578         c-stack: work around Irix sigaltstack bug
48579         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
48580         whether sigaltstack uses wrong end of stack_t (copied in part from
48581         libsigsegv).
48582         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
48583         Irix bug, without requiring an over-allocation.
48584         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
48585         bug.
48586
48587         fopen: document mingw bug on directories
48588         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
48589         not allowing a stream visiting a directory, even though reading
48590         from such a stream is not portable.
48591
48592 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
48593
48594         * lib/poll.c: Rewrite.
48595         * modules/poll: Depend on alloca.
48596
48597 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
48598
48599         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
48600         instead define prototypes for a full set of wrappers.  Ensure
48601         that Cygwin does not use the compatibility code, which is only
48602         for MinGW.
48603         * lib/winsock.c: New.
48604         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
48605         * modules/sys_socket: Add lib/winsock.c.
48606
48607         * modules/poll-tests: Add errno and perror.
48608         * tests/test-poll.c: Use ioctl, not ioctlsocket.
48609
48610 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
48611
48612         * tests/test-poll.c: Downgrade minimum needed Winsock version.
48613
48614 2008-09-23  Bruno Haible  <bruno@clisp.org>
48615
48616         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
48617         * doc/glibc-functions/*: Likewise.
48618
48619 2008-09-23  Simon Josefsson  <simon@josefsson.org>
48620
48621         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
48622         success.
48623
48624 2008-09-22  Eric Blake  <ebb9@byu.net>
48625             Bruno Haible  <bruno@clisp.org>
48626
48627         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
48628         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
48629         supply %A but mishandle pseudo-NaN.
48630         Reported by Simon Josefsson.
48631
48632 2008-09-21  Bruno Haible  <bruno@clisp.org>
48633
48634         * tests/test-lock.c (main): Tweak skip message.
48635         * tests/test-tls.c (main): Likewise.
48636
48637 2008-09-21  Bruno Haible  <bruno@clisp.org>
48638
48639         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
48640         whether 'struct sigaction' has sa_sigaction here...
48641         (gl_PREREQ_SIG_HANDLER_H): ... not here.
48642         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
48643
48644 2008-09-21  Bruno Haible  <bruno@clisp.org>
48645
48646         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
48647         section.
48648         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
48649         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
48650         the new section.
48651         (Support for obsolete systems lacking POSIX:2001): New section.
48652         (String handling <string.h>): Move strdup to the new section.
48653         Suggested by Simon Josefsson and Paolo Bonzini.
48654
48655 2008-09-21  Bruno Haible  <bruno@clisp.org>
48656
48657         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
48658         exponents in %e and %g results on 'long double'. Needed for mingw's
48659         improved *printf functions.
48660         * tests/test-vasprintf-posix.c (test_function): Likewise.
48661         * tests/test-snprintf-posix.h (test_function): Likewise.
48662         * tests/test-sprintf-posix.h (test_function): Likewise.
48663         Reported by Eric Blake.
48664
48665 2008-09-21  Bruno Haible  <bruno@clisp.org>
48666
48667         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
48668         * tests/test-sprintf-posix.h (test_function): Likewise.
48669
48670 2008-09-21  Bruno Haible  <bruno@clisp.org>
48671
48672         * modules/getpass (Depends-on): Add strdup-posix.
48673
48674         New module 'strdup-posix'.
48675         * modules/strdup-posix: New file.
48676         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
48677         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
48678         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
48679         REPLACE_STRDUP.
48680         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
48681         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
48682         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48683         strdup-posix.
48684
48685         * modules/strdup (Depends-on): Remove malloc-posix.
48686
48687 2008-09-20  Bruno Haible  <bruno@clisp.org>
48688
48689         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
48690         Wildenhues.
48691
48692 2008-09-20  Bruno Haible  <bruno@clisp.org>
48693
48694         Ensure that wint_t gets defined on IRIX 5.3.
48695         * lib/wchar.in.h (wint_t): Define if not defined by the system.
48696         * lib/wctype.in.h (wint_t): Likewise.
48697         (__wctype_wint_t): Remove type.
48698         (isw*): Use wint_t instead of __wctype_wint_t.
48699         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
48700         * modules/wchar (Files): Add m4/wint_t.m4.
48701         (Makefile.am): Substitute HAVE_WINT_T.
48702         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
48703         * tests/test-wctype.c: Check that wint_t is defined.
48704         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
48705         * doc/posix-headers/wctype.texi: Likewise.
48706         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48707
48708 2008-09-18  Bruno Haible  <bruno@clisp.org>
48709
48710         * gnulib-tool (func_exit): Update comment.
48711
48712 2008-09-18  Simon Josefsson  <simon@josefsson.org>
48713
48714         * modules/getaddrinfo (Depends-on): Remove strdup, this module
48715         assumes strdup exists and does not depend on strdup to return
48716         ENOMEM on out of memory conditions.
48717
48718 2008-09-18  Bruno Haible  <bruno@clisp.org>
48719
48720         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
48721         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
48722         digits for the exponent.
48723
48724 2008-09-18  Jim Meyering  <meyering@redhat.com>
48725             Bruno Haible  <bruno@clisp.org>
48726
48727         * lib/vasnprintf.c (decimal_point_char): Define also if
48728         NEED_PRINTF_INFINITE_LONG_DOUBLE.
48729
48730 2008-09-16  Bruno Haible  <bruno@clisp.org>
48731         and Eric Blake  <ebb9@byu.net>
48732
48733         vasnprintf: support Irix 5.3
48734         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
48735         that mishandle long double infinity.
48736         Reported by Tom G. Christensen.
48737
48738 2008-09-16  Bruno Haible  <bruno@clisp.org>
48739
48740         * doc/glibc-functions/scandir.texi: Mention the function is missing on
48741         Solaris 9.
48742         * doc/glibc-functions/alphasort.texi: Likewise.
48743         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
48744
48745 2008-09-16  Jim Meyering  <meyering@redhat.com>
48746
48747         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
48748         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
48749         a umask modification leak out of a subshell.  Otherwise, the
48750         opensolaris /bin/sh would be accepted and thus cause unwarranted
48751         failures in the coreutils test suite.
48752
48753 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
48754
48755         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
48756         to succeed.
48757
48758 2008-09-16  Jim Meyering  <meyering@redhat.com>
48759
48760         avoid spurious test failure when library is built without ACL support
48761         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
48762         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
48763         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
48764         * tests/test-copy-acl.sh: Likewise.
48765
48766 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48767
48768         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
48769         based on character occurrence counts.
48770
48771 2008-09-15  Eric Blake  <ebb9@byu.net>
48772
48773         tests: avoid some compiler warnings
48774         * tests/test-memchr.c (main): Pass NULL indirectly.
48775         * tests/test-closein.c (main): Avoid unused variable.
48776
48777 2008-09-15  Bruno Haible  <bruno@clisp.org>
48778
48779         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
48780         are missing on OpenBSD 4.0 individually.
48781         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48782
48783 2008-09-15  Bruno Haible  <bruno@clisp.org>
48784
48785         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
48786         * doc/posix-functions/strerror.texi: Mention also Cygwin.
48787         * doc/posix-functions/perror.texi: Likewise.
48788         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
48789         is missing.
48790         Reported by Eric Blake.
48791
48792         * lib/errno.in.h: Use replacement values >= 2000.
48793         Reported by Eric Blake.
48794
48795 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48796
48797         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
48798         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
48799         limit.
48800         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
48801         compareseq was aborted.
48802
48803 2008-09-14  Bruno Haible  <bruno@clisp.org>
48804
48805         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
48806         yvec_edit_count.
48807         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
48808         (fstrcmp_bounded): Simplify result computation accordingly.
48809
48810 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48811
48812         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
48813         (fstrcmp): Define in terms of fstrcmp_bounded.
48814         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
48815         lower_bound argument.
48816         Return quickly if the result is certainly < lower_bound.
48817         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
48818
48819 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48820
48821         * lib/diffseq.h (EARLY_ABORT): New macro.
48822         (compareseq): Change return type to bool. Return true when EARLY_ABORT
48823         evaluates to true.
48824
48825 2008-09-14  Bruno Haible  <bruno@clisp.org>
48826
48827         * modules/perror-tests: New file.
48828         * tests/test-perror.sh: New file.
48829         * tests/test-perror.c: New file.
48830
48831         New module 'perror'.
48832         * lib/stdio.in.h (perror): New declaration.
48833         * lib/perror.c: New file.
48834         * m4/perror.m4: New file.
48835         * modules/perror: New file.
48836         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
48837         * doc/posix-functions/perror.texi: Mention the perror module.
48838         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
48839         REPLACE_PERROR.
48840         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
48841         REPLACE_PERROR.
48842
48843 2008-09-14  Bruno Haible  <bruno@clisp.org>
48844
48845         * modules/stdio (Makefile.am): Reorder to match the order in
48846         lib/stdio.in.h.
48847         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48848
48849 2008-09-13  Bruno Haible  <bruno@clisp.org>
48850
48851         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
48852
48853 2008-09-13  Bruno Haible  <bruno@clisp.org>
48854
48855         Extend strerror to cover the added errno values.
48856         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
48857         (rpl_strerror): Provide error messages for the added errno values and
48858         for the WSA* values.
48859         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
48860         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
48861         strerror.
48862         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
48863         * modules/strerror (Depends-on): Add errno.
48864         * doc/posix-functions/strerror.texi: Document the change.
48865         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
48866         and EOVERFLOW.
48867
48868 2008-09-13  Bruno Haible  <bruno@clisp.org>
48869
48870         * modules/EOVERFLOW: Remove file.
48871         * m4/eoverflow.m4: Remove file.
48872         * modules/EOVERFLOW-tests: Remove file.
48873         * tests/test-EOVERFLOW.c: Remove file.
48874         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
48875         * modules/ftell (Depends-on): Likewise.
48876         * modules/getdelim (Depends-on): Likewise.
48877         * modules/getugroups (Depends-on): Likewise.
48878         * modules/poll (Depends-on): Likewise.
48879         * modules/snprintf (Depends-on): Likewise.
48880         * modules/sprintf-posix (Depends-on): Likewise.
48881         * modules/vasnprintf (Depends-on): Likewise.
48882         * modules/vasprintf (Depends-on): Likewise.
48883         * modules/vfprintf-posix (Depends-on): Likewise.
48884         * modules/vsnprintf (Depends-on): Likewise.
48885         * modules/vsprintf-posix (Depends-on): Likewise.
48886         * modules/xvasprintf (Depends-on): Likewise.
48887         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48888         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
48889         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
48890         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
48891         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48892         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
48893         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
48894         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
48895         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48896         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
48897         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
48898         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
48899         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48900         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
48901         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
48902         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
48903         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48904         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
48905         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
48906         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
48907         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48908         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
48909         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
48910         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
48911         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
48912         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48913         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
48914         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
48915         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
48916         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
48917         * MODULES.html.sh: Remove EOVERFLOW.
48918         * NEWS: Mention the change.
48919
48920 2008-09-13  Bruno Haible  <bruno@clisp.org>
48921
48922         * modules/errno-tests: New file.
48923         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
48924
48925         * lib/errno.in.h: New file.
48926         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
48927         * modules/errno: New file.
48928         * doc/posix-headers/errno.texi: Update documentation.
48929         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
48930
48931 2008-09-13  Bruno Haible  <bruno@clisp.org>
48932
48933         * tests/test-poll.c: Use #if for native Windows, rather than testing
48934         __MSVCRT__.
48935
48936 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48937             Bruno Haible  <bruno@clisp.org>
48938
48939         * lib/glob.c: Don't include <pwd.h> on native Windows.
48940         (WINDOWS32): New macro.
48941         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
48942
48943 2008-09-13  Bruno Haible  <bruno@clisp.org>
48944
48945         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
48946         (ETIMEDOUT): Remove macro.
48947         (glthread_cond_timedwait_multithreaded): New declaration.
48948         (glthread_cond_timedwait): Use it.
48949         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
48950         (glthread_cond_timedwait_multithreaded): New function.
48951
48952 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
48953
48954         * modules/poll-tests: Do not check for io.h.
48955         * tests/test-poll.c: Check for __MSVCRT__ instead.
48956
48957 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
48958
48959         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
48960         * modules/poll-tests: Add inet_pton, stdbool, sockets.
48961         * tests/test-poll.c: Use them.  Use _pipe on Windows.
48962
48963 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
48964
48965         * modules/poll-tests: New.
48966         * tests/test-poll.c: New.
48967
48968 2008-09-12  Eric Blake  <ebb9@byu.net>
48969
48970         frexp: test for NetBSD failure on -0.0
48971         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
48972         not all, bugs from NetBSD 3.0 have been fixed.
48973         * doc/posix-functions/frexp.texi (frexp): Document bug.
48974         Reported by Thomas Klausner.
48975
48976         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
48977         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
48978         literal -0.0.
48979         Reported by Jonathan C. Patschke <jp@centtech.com>.
48980
48981 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48982
48983         * lib/glthread/cond.h: Use dummy implementation also if
48984         USE_WIN32_THREADS.
48985
48986 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48987
48988         * modules/fnmatch-posix (License): Change to LGPLv2+.
48989         * modules/fnmatch-gnu (License): Likewise.
48990
48991 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48992
48993         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
48994
48995 2008-09-11  Jim Meyering  <meyering@redhat.com>
48996
48997         * users.txt: Add gtk-vnc.
48998
48999 2008-09-08  Simon Josefsson  <simon@josefsson.org>
49000
49001         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
49002         rotate amounts.
49003
49004         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
49005         required for 16-bit and 8-bit rotates.
49006         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
49007         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
49008         UINT8_MAX instead of hard-coded constants.
49009         Suggested by Paul Eggert.
49010
49011 2008-09-07  Bruno Haible  <bruno@clisp.org>
49012
49013         * tests/test-striconveh.c (main): Check behaviour when converting from
49014         UTF-7.
49015
49016         Make striconveh work better with stateful encodings.
49017         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
49018         that iconv does not increment the inptr when returning -1/EINVAL.
49019
49020 2008-09-07  Bruno Haible  <bruno@clisp.org>
49021
49022         * build-aux/config.rpath: Update according to libtool-2.2.6.
49023         * build-aux/config.libpath: Likewise.
49024
49025 2008-09-06  Bruno Haible  <bruno@clisp.org>
49026
49027         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
49028         * lib/freadptr.c (freadptr): Likewise.
49029         * lib/freadseek.c (freadptrinc): Likewise.
49030         Reported by Simon Josefsson.
49031
49032 2008-09-06  Bruno Haible  <bruno@clisp.org>
49033
49034         * modules/freadptr (License): Change to LGPLv2+.
49035         * modules/freadseek (License): Likewise.
49036         Suggested by Eric Blake.
49037
49038         * modules/memchr2 (License): Change to LGPLv2+.
49039         Approved by Eric Blake.
49040
49041 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49042             Bruno Haible  <bruno@clisp.org>
49043
49044         Make gnulib-tool work with native 'sed' on AIX.
49045         * gnulib-tool (sed_noop): New variable.
49046         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
49047         func_add_or_update, func_create_testdir): Use it to initialize sed
49048         script variables.
49049         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49050
49051 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
49052             Bruno Haible  <bruno@clisp.org>
49053
49054         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
49055         also works after #include directives.
49056
49057 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
49058
49059         getdate.y: reject an out-of-range timezone value
49060         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
49061         the range [-24...+24].  When specified with only one or two digits,
49062         * tests/test-getdate.c: Tests for the fix.
49063         * doc/getdate.texi: Document this change.
49064
49065 2008-09-03  Bruno Haible  <bruno@clisp.org>
49066
49067         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
49068
49069 2008-09-02  Simon Josefsson  <simon@josefsson.org>
49070
49071         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
49072         <bruce.korb@gmail.com> with ideas from Ben Pfaff
49073         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
49074         Blake <ebb9@byu.net>.
49075
49076         * tests/test-bitrotate.c: Add more test vectors.
49077
49078 2008-09-02  Eric Blake  <ebb9@byu.net>
49079
49080         vasnprintf-posix: handle large precision via %.*d
49081         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
49082         when handling it ourselves.
49083         * tests/test-vasnprintf-posix.c (test_function): Add test.
49084         * tests/test-snprintf-posix.h (test_function): Likewise.
49085         * tests/test-sprintf-posix.h (test_function): Likewise.
49086         * tests/test-vasprintf-posix.c (test_function): Likewise.
49087         Reported by Alain Guibert.
49088
49089 2008-09-01  Eric Blake  <ebb9@byu.net>
49090
49091         c-stack: make configure-time check more robust
49092         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
49093         successful sigaction call.
49094         Reported by Tom G. Christensen.
49095
49096 2008-09-01  Bruno Haible  <bruno@clisp.org>
49097
49098         New module 'findprog-lgpl'.
49099         * modules/findprog-lgpl: New file.
49100         * lib/findprog-lgpl.c: New file.
49101         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
49102         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
49103         to decide whether to use strdup or xstrdup, concatenated_filename or
49104         xconcatenated_filename.
49105
49106 2008-09-01  Bruno Haible  <bruno@clisp.org>
49107
49108         Split module 'concat-filename' into 'concat-filename' (LGPL) and
49109         'xconcat-filename' (GPL).
49110         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
49111         (License): Change to LGPLv2+.
49112         * modules/xconcat-filename: New file.
49113         * lib/concat-filename.h (concatenated_filename): Change specification.
49114         (xconcatenated_filename): New declaration.
49115         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
49116         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
49117         memory situations.
49118         * lib/xconcat-filename.c: New file.
49119         * NEWS: Mention the change.
49120         * lib/findprog.c: Include concat-filename.h, not filename.h.
49121         (find_in_path): Use xconcatenated_filename instead of
49122         concatenated_filename.
49123         * lib/javacomp.c: Include concat-filename.h, not filename.h.
49124         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
49125         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
49126         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
49127         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
49128         instead of concatenated_filename.
49129         * lib/javaexec.c: Include concat-filename.h, not filename.h.
49130         (execute_java_class): Use xconcatenated_filename instead of
49131         concatenated_filename.
49132         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
49133         * modules/javacomp (Depends-on): Likewise.
49134         * modules/javaexec (Depends-on): Likewise.
49135
49136 2008-09-01  Bruno Haible  <bruno@clisp.org>
49137
49138         Split module 'filename' into 'filename' and 'concat-filename'.
49139         * modules/filename: Keep only lib/filename.h.
49140         (License): Change to LGPLv2+.
49141         * modules/concat-filename: New file, extracted from modules/filename.
49142         * lib/filename.h (concatenated_filename): Remove declaration.
49143         * lib/concat-filename.h: New file, extracted from lib/filename.h.
49144         * lib/concat-filename.c: Include concat-filename.h.
49145         * NEWS: Mention the change.
49146
49147 2008-09-01  Simon Josefsson  <simon@josefsson.org>
49148
49149         * lib/bitrotate.h (rotl8, rotr8): Add.
49150
49151         * modules/bitrotate (configure.ac): Need
49152         AC_REQUIRE([AC_C_INLINE]).
49153         (Description): Mention stdint.h.  Reported by Bruno Haible
49154         <bruno@clisp.org>.
49155
49156         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
49157         Paolo Bonzini <bonzini@gnu.org>.
49158
49159 2008-08-31  Bruno Haible  <bruno@clisp.org>
49160
49161         Assume Solaris specific bi-arch conventions on Solaris systems.
49162         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
49163         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
49164         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
49165         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
49166         like acl_libdirstem.
49167         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
49168         acl_libdirstem.
49169         * NEWS: Mention the change.
49170         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
49171
49172 2008-08-31  Jim Meyering  <meyering@redhat.com>
49173
49174         * lib/strftime.h: Add comments describing the two added arguments.
49175
49176         remove duplicate #include directives
49177         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
49178         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
49179
49180 2008-08-31  Bruno Haible  <bruno@clisp.org>
49181
49182         New module 'sigpipe-die'.
49183         * modules/sigpipe-die: New file.
49184         * lib/sigpipe-die.h: New file.
49185         * lib/sigpipe-die.c: New file.
49186         * MODULES.html.sh (Signal handling): Add sigpipe-die.
49187
49188 2008-08-31  Bruno Haible  <bruno@clisp.org>
49189
49190         Don't override previously installed signal handlers.
49191         * lib/fatal-signal.c (saved_sigactions): New variable.
49192         (uninstall_handlers): Reset the signal to the saved handler, not
49193         to SIG_DFL (except when ignored).
49194         (install_handlers): Save the previous handlers.
49195
49196 2008-08-30  Bruno Haible  <bruno@clisp.org>
49197
49198         * gnulib-tool (func_reset_sigpipe): New function.
49199         (func_get_automake_snippet, func_modules_transitive_closure,
49200         func_import): Invoke it before a join command that reads from stdin,
49201         to avoid "echo: write error: Broken pipe" error messages on stderr.
49202         Reported by Sam Steingold <sds@gnu.org>.
49203
49204 2008-08-30  Bruno Haible  <bruno@clisp.org>
49205
49206         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
49207         Code copied from m4/open.m4.
49208         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
49209         access and the filename ends in a slash. Code copied from lib/open.c.
49210         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
49211         * tests/test-fopen.c (main): Check against bug with trailing slash.
49212
49213 2008-08-29  Bruno Haible  <bruno@clisp.org>
49214
49215         Avoid some "gcc -pedantic" warnings.
49216         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
49217         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
49218         * lib/dirent.in.h: Likewise.
49219         * lib/fcntl.in.h: Likewise.
49220         * lib/float.in.h: Likewise.
49221         * lib/iconv.in.h: Likewise.
49222         * lib/inttypes.in.h: Likewise.
49223         * lib/locale.in.h: Likewise.
49224         * lib/math.in.h: Likewise.
49225         * lib/netinet_in.in.h: Likewise.
49226         * lib/search.in.h: Likewise.
49227         * lib/signal.in.h: Likewise.
49228         * lib/stdarg.in.h: Likewise.
49229         * lib/stdint.in.h: Likewise.
49230         * lib/stdio.in.h: Likewise.
49231         * lib/stdlib.in.h: Likewise.
49232         * lib/string.in.h: Likewise.
49233         * lib/strings.in.h: Likewise.
49234         * lib/sys_select.in.h: Likewise.
49235         * lib/sys_socket.in.h: Likewise.
49236         * lib/sys_stat.in.h: Likewise.
49237         * lib/sys_time.in.h: Likewise.
49238         * lib/sysexits.in.h: Likewise.
49239         * lib/time.in.h: Likewise.
49240         * lib/unistd.in.h: Likewise.
49241         * lib/wchar.in.h: Likewise.
49242         * lib/wctype.in.h: Likewise.
49243         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
49244         * modules/fchdir (Makefile.am): Likewise.
49245         * modules/fcntl (Makefile.am): Likewise.
49246         * modules/float (Makefile.am): Likewise.
49247         * modules/iconv_open (Makefile.am): Likewise.
49248         * modules/inttypes (Makefile.am): Likewise.
49249         * modules/locale (Makefile.am): Likewise.
49250         * modules/math (Makefile.am): Likewise.
49251         * modules/netinet_in (Makefile.am): Likewise.
49252         * modules/search (Makefile.am): Likewise.
49253         * modules/signal (Makefile.am): Likewise.
49254         * modules/stdarg (Makefile.am): Likewise.
49255         * modules/stdint (Makefile.am): Likewise.
49256         * modules/stdio (Makefile.am): Likewise.
49257         * modules/stdlib (Makefile.am): Likewise.
49258         * modules/string (Makefile.am): Likewise.
49259         * modules/strings (Makefile.am): Likewise.
49260         * modules/sys_select (Makefile.am): Likewise.
49261         * modules/sys_socket (Makefile.am): Likewise.
49262         * modules/sys_stat (Makefile.am): Likewise.
49263         * modules/sys_time (Makefile.am): Likewise.
49264         * modules/sysexits (Makefile.am): Likewise.
49265         * modules/time (Makefile.am): Likewise.
49266         * modules/unistd (Makefile.am): Likewise.
49267         * modules/wchar (Makefile.am): Likewise.
49268         * modules/wctype (Makefile.am): Likewise.
49269         Reported by Reuben Thomas <rrt@sc3d.org>.
49270
49271 2008-08-29  Bruno Haible  <bruno@clisp.org>
49272
49273         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
49274         any more.
49275
49276 2008-08-29  Simon Josefsson  <simon@josefsson.org>
49277
49278         * MODULES.html.sh (Misc): Add bitrotate.
49279
49280         * modules/bitrotate: New file.
49281
49282         * lib/bitrotate.h: New file.
49283
49284         * modules/bitrotate-tests: New file.
49285
49286         * tests/test-bitrotate.c: New file.
49287
49288         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
49289         on the bitrotate module.
49290
49291         * lib/arctwo.c: Use new bitrotate module.
49292
49293 2008-08-29  Jim Meyering  <meyering@redhat.com>
49294
49295         bootstrap: merge changes from coreutils
49296         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
49297         of copied files.  Remove a kludge, now that this is fixed.
49298         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
49299         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
49300         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
49301
49302 2008-08-29  Bruno Haible  <bruno@clisp.org>
49303
49304         * MODULES.html.sh: Remove --cvs-urls option.
49305
49306 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
49307
49308         maint.mk: adjust to file name change
49309         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
49310
49311 2008-08-28  Jim Meyering  <meyering@redhat.com>
49312
49313         * modules/getndelim2 (License): Relicense to LGPLv2+.
49314         Approved by Richard Stallman for the version of 1995, and by
49315         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
49316
49317 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
49318
49319         * lib/getdelim.c (flockfile, funlockfile): Make all of them
49320         dummy if one is not available.  Do not touch them if
49321         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
49322         (getc_maybe_unlocked): New.
49323         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
49324
49325 2008-08-26  Eric Blake  <ebb9@byu.net>
49326
49327         doc/INSTALL: resync from autoconf
49328         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
49329         (INSTALL_PRELUDE): Delete; this is done more efficiently by
49330         moving...
49331         * install.texi [!autoconf]: ...here.  Resync from autoconf.
49332         * INSTALL: Regenerate.
49333         * INSTALL.ISO: New file.
49334         * INSTALL.UTF-8: Likewise.
49335
49336 2008-08-26  Jim Meyering  <meyering@redhat.com>
49337
49338         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
49339         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
49340         these definitions conditional, so that they may be overridden, too.
49341
49342 2008-08-26  Bruno Haible  <bruno@clisp.org>
49343
49344         Generate INSTALL file variants with prettier quotes.
49345         * doc/Makefile (INSTALL_PRELUDE): New macro.
49346         (INSTALL): Use it.
49347         (INSTALL.ISO, INSTALL.UTF-8): New rules.
49348
49349 2008-08-26  Bruno Haible  <bruno@clisp.org>
49350
49351         Run makeinfo in an English locale.
49352         * doc/Makefile (MAKEINFO): New variable.
49353
49354 2008-08-26  Bruno Haible  <bruno@clisp.org>
49355
49356         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
49357         Suggested by Eric Blake.
49358
49359 2008-08-25  Bruno Haible  <bruno@clisp.org>
49360
49361         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
49362
49363 2008-08-25  Eric Blake  <ebb9@byu.net>
49364
49365         c-stack: test that stack overflow can be caught
49366         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
49367         that platform allows handling stack overflow; at least OS/2 EMX
49368         has sigaltstack, but crashes before transferring control to
49369         handler on stack overflow.
49370         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
49371         check for HAVE_STACK_OVERFLOW_HANDLING.
49372         Reported by Elbert Pol.
49373
49374 2008-08-25  Bruno Haible  <bruno@clisp.org>
49375
49376         * doc/posix-functions/strftime.texi: Fix description of strftime
49377         module.
49378
49379 2008-08-24  Bruno Haible  <bruno@clisp.org>
49380
49381         * tests/uniwidth/test-uc_width2.c: New file.
49382         * tests/uniwidth/test-uc_width2.sh: New file.
49383         * modules/uniwidth/width-tests (Files): Add the new files.
49384         (TESTS): Add uniwidth/test-uc_width2.sh.
49385         (TESTS_ENVIRONMENT): New variable.
49386         (check_PROGRAMS): Add test-uc_width2.
49387         (test_uc_width2_SOURCES): New variable.
49388
49389         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
49390         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
49391         not 0x00AB.
49392         Reported by Alexander V. Lukyanov <lav@netis.ru>.
49393
49394 2008-08-22  Eric Blake  <ebb9@byu.net>
49395
49396         test-lock, test-tls: mention why a test is skipped
49397         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
49398         skipped.
49399         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
49400
49401         count-one-bits: relax license
49402         * modules/count-one-bits (License): Relicense to LGPLv2+.
49403         Suggested by Ludovic Courtès, approved by Ben Pfaff.
49404
49405 2008-08-22  Andreas Schwab  <schwab@suse.de>
49406
49407         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
49408         Remove spurious space in assignment.
49409
49410 2008-08-21  Simon Josefsson  <simon@josefsson.org>
49411
49412         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
49413         Paul Eggert <eggert@CS.UCLA.EDU>.
49414
49415 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
49416
49417         * modules/gettext: Add m4/threadlib.m4.
49418
49419 2008-08-19  Eric Blake  <ebb9@byu.net>
49420
49421         test-c-stack: fix compilation failure on FreeBSD 5.0
49422         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
49423         headers before <sys/resource.h>.
49424         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
49425         the bug.
49426         Reported by Nelson H. F. Beebe.
49427
49428         strverscmp: migrate from "strverscmp.h" to <string.h>
49429         * modules/string (Makefile.am): Add new hooks.
49430         * modules/strverscmp (Files): Remove strverscmp.h.
49431         (Depends-on): Add string.
49432         (configure.ac): Add indicator.
49433         (Include): Mention new header.
49434         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
49435         defaults.
49436         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
49437         results.
49438         * lib/strverscmp.h: Delete.
49439         * lib/string.in.h (strverscmp): Provide declaration, when needed.
49440         * tests/test-strverscmp.c (includes): Adjust client.
49441         * lib/check-version.c (includes): Likewise.
49442         * NEWS: Document the change.
49443
49444         strverscmp: add unit test
49445         * modules/strverscmp-tests: New file.
49446         * tests/test-strverscmp.c: Likewise.
49447
49448 2008-08-19  Simon Josefsson  <simon@josefsson.org>
49449
49450         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
49451         regarding Windows crypto stuff, from Mono.
49452
49453 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
49454
49455         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
49456         if present, for intel RND.  Return error on failures.
49457
49458 2008-08-18  Ben Pfaff  <blp@gnu.org>
49459
49460         gitlog-to-changelog: give better diagnostic for failed pipe-open
49461         * build-aux/gitlog-to-changelog: Improve error message: suggest
49462         that the version of Git may be too old.
49463
49464 2008-08-18  Simon Josefsson  <simon@josefsson.org>
49465
49466         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
49467         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
49468
49469 2008-08-18  Bruno Haible  <bruno@clisp.org>
49470
49471         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
49472         pthread_in_use().
49473
49474 2008-08-18  Bruno Haible  <bruno@clisp.org>
49475
49476         * lib/glthread/threadlib.c: Include <pthread.h>.
49477
49478 2008-08-18  Bruno Haible  <bruno@clisp.org>
49479
49480         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
49481         glthread_recursive_lock_* macros.
49482         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
49483         Fix syntax error.
49484
49485 2008-08-18  Bruno Haible  <bruno@clisp.org>
49486
49487         * lib/glthread/thread.c: Avoid forcing a context switch right after
49488         thread creation.
49489
49490 2008-08-17  Bruno Haible  <bruno@clisp.org>
49491
49492         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
49493         * lib/glthread/thread.h: Provide Win32 specific implementation.
49494         * modules/thread (Files): Add lib/glthread/thread.c.
49495         (Depends-on): Add lock.
49496         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
49497
49498 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49499
49500         New module 'yield'.
49501         * modules/yield: New file.
49502         * lib/glthread/yield.h: New file.
49503         * m4/yield.m4: New file.
49504         * MODULES.html.sh (Multithreading): Add yield.
49505
49506 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49507
49508         New module 'thread'.
49509         * modules/thread: New file.
49510         * lib/glthread/thread.h: New file.
49511         * m4/thread.m4: New file.
49512         * MODULES.html.sh (Multithreading): Add thread.
49513
49514 2008-08-17  Bruno Haible  <bruno@clisp.org>
49515
49516         * lib/glthread/lock.h: Include <stdlib.h> always.
49517         * lib/glthread/tls.h: Likewise.
49518         * lib/glthread/cond.h: Likewise.
49519
49520 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49521
49522         New module 'cond'.
49523         * modules/cond: New file.
49524         * lib/glthread/cond.h: New file.
49525         * lib/glthread/cond.c: New file.
49526         * m4/cond.m4: New file.
49527         * MODULES.html.sh (Multithreading): Add cond.
49528
49529 2008-08-16  Eric Blake  <ebb9@byu.net>
49530
49531         c-stack: fix regression on Irix 5.3 from 2008-06-21
49532         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
49533         sa_sigaction...
49534         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
49535         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
49536         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
49537         * modules/signal (Makefile.am): Use the value.
49538         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
49539         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
49540         * doc/posix-headers/signal.texi (signal.h): Document this
49541         portability issue.
49542         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
49543         Reported by Tom G. Christensen.
49544
49545 2008-08-17  Bruno Haible  <bruno@clisp.org>
49546
49547         New module 'threadlib'.
49548         * modules/threadlib: New file.
49549         * lib/glthread/threadlib.c: New file, extracted from
49550         lib/glthread/lock.c.
49551         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
49552         functions.
49553         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
49554         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
49555         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
49556         macros.
49557         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
49558         (gl_DISABLE_THREADS): Remove macro.
49559         * modules/lock (Files): Remove build-aux/config.rpath.
49560         (Depends-on): Remove havelib. Add threadlib.
49561         (configure.ac-early): Remove section.
49562         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
49563         * modules/tls (Depends-on): Remove lock. Add threadlib.
49564         (Link): New section, copied from threadlib.
49565         * MODULES.html.sh (Multithreading): Add threadlib.
49566
49567 2008-08-14  Bruno Haible  <bruno@clisp.org>
49568
49569         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
49570         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
49571         glthread_rwlock_unlock, glthread_rwlock_destroy,
49572         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
49573         glthread_recursive_lock_destroy): Define as macros always.
49574         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
49575         glthread_lock_lock.
49576         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
49577         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
49578         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
49579         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
49580         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
49581         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
49582         (glthread_recursive_lock_lock_func): Renamed from
49583         glthread_recursive_lock_lock.
49584         (glthread_recursive_lock_unlock_func): Renamed from
49585         glthread_recursive_lock_unlock.
49586         (glthread_recursive_lock_destroy_func): Renamed from
49587         glthread_recursive_lock_destroy.
49588
49589 2008-08-14  Bruno Haible  <bruno@clisp.org>
49590
49591         * lib/glthread/lock.h: Renamed from lib/lock.h.
49592         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
49593         * lib/glthread/tls.h: Renamed from lib/tls.h.
49594         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
49595         * lib/fstrcmp.c: Update includes.
49596         * lib/strsignal.c: Update includes.
49597         * modules/lock (Files, Makefile.am): Update.
49598         (Include): Change to "glthread/lock.h".
49599         * modules/tls (Files, Makefile.am): Update.
49600         (Include): Change to "glthread/tls.h".
49601         * tests/test-lock.c: Update includes.
49602         * tests/test-tls.c: Update includes.
49603         * NEWS: Mention the renamed header files.
49604
49605 2008-08-11  Jim Meyering  <meyering@redhat.com>
49606
49607         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
49608
49609 2008-08-11  Eric Blake  <ebb9@byu.net>
49610
49611         test-c-stack: avoid C99-ism
49612         * tests/test-c-stack.c (main): Fix whitespace, move declaration
49613         before statement.
49614         Reported by Alain Guibert.
49615
49616 2008-08-10  Jim Meyering  <meyering@redhat.com>
49617
49618         ensure that return value of uinttostr et al are not ignored
49619         * lib/inttostr.h (__GNUC_PREREQ): Define.
49620         (__attribute_warn_unused_result__): Define.
49621         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
49622
49623 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
49624
49625         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
49626         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
49627
49628 2008-08-07  Jim Meyering  <meyering@redhat.com>
49629
49630         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
49631
49632         * modules/mkstemp (License): Relicense under LGPLv2+.
49633         * modules/tempname (License): Likewise.
49634
49635 2008-08-06  Bruno Haible  <bruno@clisp.org>
49636
49637         * lib/poll.c (poll): Further micro-optimization.
49638
49639 2008-08-06  Jim Meyering  <meyering@redhat.com>
49640
49641         inet_pton.c: use locale-independent tolower
49642         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
49643         (inet_pton6): Use c_tolower rather than tolower.
49644         * modules/inet_pton (Depends-on): Add c-ctype.
49645
49646 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
49647
49648         * lib/poll.c (poll): Avoid division when timeout is 0, cache
49649         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
49650
49651 2008-08-06  Jim Meyering  <meyering@redhat.com>
49652
49653         * modules/inet_pton (License): Relicense under LGPLv2+.
49654
49655 2008-08-03  Bruno Haible  <bruno@clisp.org>
49656
49657         Additional non-aborting API for lock and tls.
49658         * lib/lock.h: Include <errno.h>.
49659         (glthread_lock_init): New macro/function.
49660         (gl_lock_init): Define as wrapper around glthread_lock_init.
49661         (glthread_lock_lock): New macro/function.
49662         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
49663         (glthread_lock_unlock): New macro/function.
49664         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
49665         (glthread_lock_destroy): New macro/function.
49666         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
49667         (glthread_rwlock_init): New macro/function.
49668         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
49669         (glthread_rwlock_rdlock): New macro/function.
49670         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
49671         (glthread_rwlock_wrlock): New macro/function.
49672         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
49673         (glthread_rwlock_unlock): New macro/function.
49674         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
49675         (glthread_rwlock_destroy): New macro/function.
49676         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
49677         (glthread_recursive_lock_init): New macro/function.
49678         (gl_recursive_lock_init): Define as wrapper around
49679         glthread_recursive_lock_init.
49680         (glthread_recursive_lock_lock): New macro/function.
49681         (gl_recursive_lock_lock): Define as wrapper around
49682         glthread_recursive_lock_lock.
49683         (glthread_recursive_lock_unlock): New macro/function.
49684         (gl_recursive_lock_unlock): Define as wrapper around
49685         glthread_recursive_lock_unlock.
49686         (glthread_recursive_lock_destroy): New macro/function.
49687         (gl_recursive_lock_destroy): Define as wrapper around
49688         glthread_recursive_lock_destroy.
49689         (glthread_once): New macro/function.
49690         (gl_once): Define as wrapper around glthread_once.
49691         Update function declarations.
49692         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
49693         glthread_rwlock_init. Return error code.
49694         (glthread_rwlock_rdlock_multithreaded): Renamed from
49695         glthread_rwlock_rdlock. Return error code.
49696         (glthread_rwlock_wrlock_multithreaded): Renamed from
49697         glthread_rwlock_wrlock. Return error code.
49698         (glthread_rwlock_unlock_multithreaded): Renamed from
49699         glthread_rwlock_unlock. Return error code.
49700         (glthread_rwlock_destroy_multithreaded): Renamed from
49701         glthread_rwlock_destroy. Return error code.
49702         (glthread_recursive_lock_init_multithreaded): Renamed from
49703         glthread_recursive_lock_init. Return error code.
49704         (glthread_recursive_lock_lock_multithreaded): Renamed from
49705         glthread_recursive_lock_lock. Return error code.
49706         (glthread_recursive_lock_unlock_multithreaded): Renamed from
49707         glthread_recursive_lock_unlock. Return error code.
49708         (glthread_recursive_lock_destroy_multithreaded): Renamed from
49709         glthread_recursive_lock_destroy. Return error code.
49710         (glthread_once_call): Make static.
49711         (glthread_once_multithreaded): Renamed from glthread_once.
49712         * lib/tls.h: Include <errno.h>.
49713         (glthread_tls_key_init): New macro/function.
49714         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
49715         (glthread_tls_set): New macro/function.
49716         (gl_tls_set): Define as wrapper around glthread_tls_set.
49717         (glthread_tls_key_destroy): New macro/function.
49718         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
49719         Update function declarations.
49720         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
49721         glthread_tls_get.
49722         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49723
49724 2008-08-04  Eric Blake  <ebb9@byu.net>
49725
49726         gnumakefile: use space, not TAB, outside of targets
49727         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
49728
49729 2008-08-02  Jim Meyering  <meyering@redhat.com>
49730
49731         getdate.y: avoid locale-dependent date parsing failure
49732         In Turkish locales, getdate would fail to recognize keywords
49733         containing a lowercase "i".  The solution is not to rely on
49734         locale-sensitive case-conversion.
49735         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
49736         (lookup_word): Use c_toupper in place of toupper.
49737         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
49738         Reported by Vefa Bicakci <bicave@superonline.com> in
49739         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
49740         * modules/getdate (Depends-on): Add c-ctype.
49741
49742 2008-08-02  Bruno Haible  <bruno@clisp.org>
49743
49744         * gnulib-tool (func_import): When updating or creating a .gitignore
49745         file, prepend each added line with a slash, and ignore leading slashes
49746         from the existing lines.
49747         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
49748
49749 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49750
49751         Portability fix for GNU make 3.79.1.
49752         * top/GNUmakefile: Avoid 'else COND', which older GNU make
49753         versions do not understand.
49754
49755 2008-08-01  Bruno Haible  <bruno@clisp.org>
49756
49757         Work around bug of HP-UX 10.20 cc with -0.0 literal.
49758         * tests/test-isnanf.h (zero): New variable.
49759         (main): Avoid literal -0.0f.
49760         * tests/test-isnand.h (zero): New variable.
49761         (main): Avoid literal -0.0.
49762         * tests/test-isnanl.h (zero): New variable.
49763         (main): Avoid literal -0.0L.
49764         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
49765         (test_float, test_double, test_long_double): Avoid literals -0.0f,
49766         -0.0, -0.0L.
49767         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
49768         (test_signbitd): Avoid literal -0.0.
49769         (test_signbitl): Avoid literal -0.0L.
49770         * tests/test-ceilf1.c (zero): New variable.
49771         (main): Avoid literal -0.0f.
49772         * tests/test-ceill.c (zero): New variable.
49773         (main): Avoid literal -0.0L.
49774         * tests/test-floorf1.c (zero): New variable.
49775         (main): Avoid literal -0.0f.
49776         * tests/test-floorl.c (zero): New variable.
49777         (main): Avoid literal -0.0L.
49778         * tests/test-roundf1.c (zero): New variable.
49779         (main): Avoid literal -0.0f.
49780         * tests/test-round1.c (zero): New variable.
49781         (main): Avoid literal -0.0.
49782         * tests/test-roundl.c (zero): New variable.
49783         (main): Avoid literal -0.0L.
49784         * tests/test-truncf1.c (zero): New variable.
49785         (main): Avoid literal -0.0f.
49786         * tests/test-trunc1.c (zero): New variable.
49787         (main): Avoid literal -0.0.
49788         * tests/test-truncl.c (zero): New variable.
49789         (main): Avoid literal -0.0L.
49790         * tests/test-frexp.c (zero): New variable.
49791         (main): Avoid literal -0.0.
49792         * tests/test-frexpl.c (zero): New variable.
49793         (main): Avoid literal -0.0L.
49794         * tests/test-ldexpl.c (zero): New variable.
49795         (main): Avoid literal -0.0L.
49796         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
49797         (zerod, zerol): New variables.
49798         (test_function): Avoid literals -0.0, -0.0L.
49799         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
49800         (zerod, zerol): New variables.
49801         (test_function): Avoid literals -0.0, -0.0L.
49802         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
49803         (zerod, zerol): New variables.
49804         (test_function): Avoid literals -0.0, -0.0L.
49805         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
49806         (zerod, zerol): New variables.
49807         (test_function): Avoid literals -0.0, -0.0L.
49808         * tests/test-strtod.c (zero): New variable.
49809         (main): Avoid literal -0.0.
49810         Reported by Jonathan C. Patschke <jp@centtech.com>.
49811
49812 2008-07-31  Jim Meyering  <meyering@redhat.com>
49813
49814         sha256.h: correct definition of SHA224_DIGEST_SIZE
49815         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
49816         Reported by Paulie Pena IV <paulie4@gmail.com>.
49817         Define as 224 / 8, rather than as a literal.
49818         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
49819         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
49820         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
49821
49822 2008-07-31  Bruno Haible  <bruno@clisp.org>
49823
49824         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
49825         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
49826         Reported by Jonathan Patschke <jp@centtech.com>.
49827
49828 2008-07-31  Bruno Haible  <bruno@clisp.org>
49829
49830         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
49831         Reported by Paolo Bonzini <bonzini@gnu.org>.
49832
49833 2008-07-30  Eric Blake  <ebb9@byu.net>
49834
49835         test-strtod: allow compilation without -lm
49836         * tests/test-strtod.c (main): Avoid link dependence on fabs.
49837         Reported by Dennis Clarke <blastwave@gmail.com>.
49838
49839 2008-07-28  Jim Meyering  <meyering@redhat.com>
49840
49841         bootstrap: work also when there are no .po files in po/
49842         * build-aux/bootstrap (update_po_files): Complete the change
49843         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
49844
49845 2008-07-27  Jim Meyering  <meyering@redhat.com>
49846
49847         * users.txt: Add zile.
49848
49849 2008-07-26  Ben Pfaff  <blp@gnu.org>
49850
49851         Add missing dependencies on new m4/exponent[fdl].m4 files.
49852         * modules/isnanf-nolibm: Add m4/exponentf.m4.
49853         * modules/isnand-nolibm: Add m4/exponentd.m4.
49854         * modules/isnanl-nolibm: Add m4/exponentl.m4.
49855         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
49856         m4/isnan[fdl].m4, because the macros actually used moved.
49857         Reported by Jim Meyering.
49858
49859 2008-07-14  Ben Pfaff  <blp@gnu.org>
49860
49861         Add isinf module.
49862         * lib/isinf.c: New file.
49863         * lib/math.in.h: Define isinf macro if we have decided to replace
49864         it.
49865         * m4/isinf.m4: New file.
49866         * m4/math_h.m4: Initialize and substitute variables for isinf
49867         module.
49868         * modules/isinf: New file.
49869         * modules/isinf-tests: New file.
49870         * modules/math: Add substitutions for new module.
49871         * tests/test-isinf.c: New file.
49872         * doc/posix-functions/isinf.texi: Mention new module.
49873         * MODULES.html.sh: Mention new module.
49874
49875 2008-07-14  Ben Pfaff  <blp@gnu.org>
49876
49877         Factor out some macros for use by additional modules.
49878         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
49879         exponentf.m4.
49880         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
49881         exponentd.m4.
49882         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
49883         file exponentl.m4.
49884         * m4/exponentf.m4: New file.
49885         * m4/exponentd.m4: New file.
49886         * m4/exponentl.m4: New file.
49887         * modules/isnanf: Use new file m4/exponentf.m4.
49888         * modules/isnand: Use new file m4/exponentd.m4.
49889         * modules/isnanl: Use new file m4/exponentl.m4.
49890
49891 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
49892
49893         mktime.c: normalize tp->tm_isdst value to -1/0/1.
49894         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
49895         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
49896         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
49897
49898         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
49899         readlink on platforms without PATH_MAX.
49900
49901 2008-07-21  Eric Blake  <ebb9@byu.net>
49902
49903         Warn, not fail, on stale version.
49904         * top/GNUmakefile (_curr-ver): Tone down previous patch.
49905
49906         Don't allow installation with stale devel version number.
49907         * top/GNUmakefile (_is-install-target): New macro.
49908         (_curr-ver): Forbid installation with stale version number.
49909
49910 2008-07-20  Bruno Haible  <bruno@clisp.org>
49911
49912         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
49913         TESTS_ENVIRONMENT.
49914         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
49915
49916 2008-07-20  Bruno Haible  <bruno@clisp.org>
49917
49918         * lib/c-stack.h (c_stack_action): Add documentation.
49919         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
49920
49921 2008-07-20  Bruno Haible  <bruno@clisp.org>
49922
49923         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
49924         * modules/readlink (License): Likewise.
49925
49926 2008-07-17  Eric Blake  <ebb9@byu.net>
49927
49928         * modules/c-stack (Link): Fix typo.
49929
49930         Make c-stack use libsigsegv, when available.
49931         * modules/c-stack (Depends-on): Add libsigsegv.
49932         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
49933         needed.
49934         * lib/c-stack.c (SIGSTKSZ): Define fallback.
49935         (segv_handler, overflow_handler, c_stack_action)
49936         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
49937         implementation when libsigsegv is available, but only when using
49938         the library is necessary.
49939         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
49940         comment, explaining why XSI check fails on Linux.
49941         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
49942         * tests/test-c-stack2.sh: Tweak skip message.
49943         * NEWS: Document new link-time requirements.
49944
49945 2008-07-16  Eric Blake  <ebb9@byu.net>
49946
49947         c-stack: Expose false positives when not using libsigsegv.
49948         * modules/c-stack-tests (Files): Expand test.
49949         * tests/test-c-stack.c (main): Add means to conditionally trigger
49950         non-overflow SIGSEGV.
49951         * tests/test-c-stack2.sh: New file.
49952
49953 2008-07-14  Bruno Haible  <bruno@clisp.org>
49954
49955         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
49956         Reported by Eric Blake.
49957
49958 2008-07-14  Sam Steingold  <sds@gnu.org>
49959             Bruno Haible  <bruno@clisp.org>
49960
49961         New module libsigsegv.
49962         * modules/libsigsegv: New file.
49963         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
49964         modifications.
49965         * MODULES.html.sh (Signal handling): New section.
49966
49967 2008-07-14  Bruno Haible  <bruno@clisp.org>
49968
49969         * modules/unictype/ctype-* (Description): Add the word "function".
49970         Improves the resulting doc in MODULES.html.
49971
49972 2008-07-12  Ben Pfaff  <blp@gnu.org>
49973
49974         Add longlong module.
49975         * modules/longlong: New file.
49976
49977 2008-07-12  Bruno Haible  <bruno@clisp.org>
49978
49979         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
49980         to empty.
49981
49982 2008-07-10  Ben Pfaff  <blp@gnu.org>
49983
49984         Add isnan module.
49985         * doc/posix-functions/isnan.texi: Mention new module.
49986         * lib/math.in.h: Define isnan macro if we have decided to replace
49987         it.
49988         * m4/isnan.m4: New file.
49989         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
49990         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
49991         also.
49992         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
49993         redundancy.
49994         * m4/math_h.m4: Initialize and substitute variables for isnan
49995         module.
49996         * modules/isnan: New file.
49997         * modules/isnan-tests: New file.
49998         * modules/math: Add substitutions for new module.
49999         * tests/test-isnan.c: New file.
50000         * MODULES.html.sh: Mention new module.
50001
50002 2008-07-10  Ben Pfaff  <blp@gnu.org>
50003
50004         Add isnanf module.
50005         * lib/isnanf.m4: New file.
50006         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
50007         (gl_HAVE_ISNANF_IN_LIBM): New macro.
50008         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
50009         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
50010         * modules/isnanf: New file.
50011         * modules/isnanf-tests: New file.
50012         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
50013         files.
50014         * tests/test-isnanf-nolibm.c: factored most of its contents into
50015         new file tests/test-isnanf.h.
50016         * tests/test-isnanf.h: New file.
50017         * tests/test-isnanf.c: New file.
50018         * MODULES.html.sh: Mention new module.
50019         * doc/glibc-functions/isnanf.texi: Mention new module.
50020
50021 2008-07-10  Ben Pfaff  <blp@gnu.org>
50022
50023         Add isnand module.
50024         * lib/isnand.h: New file.
50025         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
50026         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
50027         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
50028         functionality also.
50029         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
50030         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
50031         (gl_HAVE_ISNAND_IN_LIBM): New macro.
50032         * modules/isnand: New file.
50033         * modules/isnand-tests: New file.
50034         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
50035         files.
50036         * tests/test-isnand-nolibm.c: factored most of its contents into
50037         new file tests/test-isnand.h.
50038         * tests/test-isnand.h: New file.
50039         * tests/test-isnand.c: New file.
50040         * MODULES.html.sh: Mention new module.
50041
50042 2008-07-10  Ben Pfaff  <blp@gnu.org>
50043
50044         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
50045         * lib/isnand.h: Rename lib/isnand-nolibm.h.
50046         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
50047         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
50048         * modules/isnanf-nolibm: Update references to renamed files.
50049         * modules/isnand-nolibm: Likewise.
50050         * modules/isnanf-nolibm-tests: Likewise.
50051         * modules/isnand-nolibm-tests: Likewise.
50052         * lib/frexp.c: Likewise.
50053         * lib/isfinite.c: Likewise.
50054         * lib/signbitd.c: Likewise.
50055         * lib/signbitf.c: Likewise.
50056         * lib/vasnprintf.c: Likewise.
50057         * tests/test-ceilf1.c: Likewise.
50058         * tests/test-ceilf2.c: Likewise.
50059         * tests/test-floorf1.c: Likewise.
50060         * tests/test-floorf2.c: Likewise.
50061         * tests/test-frexp.c: Likewise.
50062         * tests/test-round1.c: Likewise.
50063         * tests/test-round2.c: Likewise.
50064         * tests/test-roundf1.c: Likewise.
50065         * tests/test-strtod.c: Likewise.
50066         * tests/test-trunc1.c: Likewise.
50067         * tests/test-trunc2.c: Likewise.
50068         * tests/test-truncf1.c: Likewise.
50069         * tests/test-truncf2.c: Likewise.
50070         * NEWS: Mention the renamed header files.
50071
50072 2008-07-11  Jim Meyering  <meyering@redhat.com>
50073
50074         vc-list-files: make the last-resort awk code more portable
50075         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
50076         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
50077         does not support it.
50078
50079 2008-07-10  Eric Blake  <ebb9@byu.net>
50080
50081         Work with tar's bootstrap.
50082         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
50083         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
50084         an m4 comment.
50085
50086 2008-07-09  Jim Meyering  <meyering@redhat.com>
50087
50088         posix-shell.m4: fix typo that made this test malfunction
50089         * m4/posix-shell.m4: Remove capitalization in variable name.
50090
50091 2008-07-08  Bruno Haible  <bruno@clisp.org>
50092
50093         * m4/onceonly.m4: Update comments.
50094         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50095
50096 2008-07-04  Jim Meyering  <meyering@redhat.com>
50097
50098         * users.txt: Add vc-dwim.
50099         (bison, coreutils): Use the gitweb URL.
50100
50101 2008-07-03  Jim Meyering  <meyering@redhat.com>
50102
50103         * users.txt: Add libffcall.  From Sam Steingold.
50104
50105 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
50106
50107         getdate.y: do not ignore TZ with relative day, month or year offset
50108         * lib/getdate.y (get_date): Move the tz-handling block to follow the
50109         relative-date-handling, since otherwise, the latter would clobber the
50110         sole output (an updated Start value) of the tz-handling block.
50111         * tests/test-getdate.c: Tests for the fix
50112
50113 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50114
50115         Recognize 'foo_LIBRARIES += libgnu.a'.
50116         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
50117         makefile snippet has already specified an installation location,
50118         also using '+='.
50119
50120 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
50121
50122         getdate.y: factor out common actions
50123         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
50124         Use them in place of open-coded actions.
50125
50126 2008-07-01  Simon Josefsson  <simon@josefsson.org>
50127
50128         Add self-test for getdate module.
50129         * modules/getdate-tests: New file.
50130         * tests/test-getdate.c: New file.
50131
50132 2008-06-29  Bruno Haible  <bruno@clisp.org>
50133
50134         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
50135         .gitignore.
50136         Reported by Sylvain Beucler <beuc@beuc.net>.
50137
50138 2008-06-29  Bruno Haible  <bruno@clisp.org>
50139
50140         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
50141         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
50142
50143 2008-06-29  Bruno Haible  <bruno@clisp.org>
50144
50145         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
50146         EXTRA_DIST.
50147         Reported by Sylvain Beucler <beuc@beuc.net>.
50148
50149 2008-06-26  Jim Meyering  <meyering@redhat.com>
50150
50151         make several modules depend on the "open" module
50152         This provides slightly increased consistency when opening-for-write
50153         the name of a non-directory spelled with a trailing slash.
50154         * modules/chdir-safer: Likewise.
50155         * modules/chown: Likewise.
50156         * modules/clean-temp: Likewise.
50157         * modules/copy-file: Likewise.
50158         * modules/fchdir: Likewise.
50159         * modules/fcntl-safer: Likewise.
50160         * modules/pipe: Likewise.
50161         * modules/utime: Likewise.
50162         Prompted by Eric Blake and Bruno Haible.
50163
50164 2008-06-24  Andreas Schwab  <schwab@suse.de>
50165
50166         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
50167         literals can be used as initializers for global variables.
50168
50169 2008-06-23  Eric Blake  <ebb9@byu.net>
50170
50171         Make gnulib-cache.m4 easier to diff.
50172         * gnulib-tool (func_import): Allow newlines when reading cached
50173         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
50174
50175 2008-06-23  Bruno Haible  <bruno@clisp.org>
50176
50177         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
50178         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
50179         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
50180         m4/signalblocking.m4.
50181         (gl_PREREQ_SIGACTION): Don't invoke it.
50182         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
50183         gl_PREREQ_SIG_HANDLER_H.
50184         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
50185         Don't check for sigaction here.
50186
50187 2008-06-23  Bruno Haible  <bruno@clisp.org>
50188
50189         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
50190         (install_handlers): Don't set the SA_RESETHAND flag.
50191
50192 2008-06-23  Bruno Haible  <bruno@clisp.org>
50193
50194         * m4/sigaction.m4: Comment fixes.
50195         * lib/signal.in.h: Likewise.
50196
50197 2008-06-23  Eric Blake  <ebb9@byu.net>
50198
50199         Fix typo.
50200         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
50201
50202         Avoid SA_ namespace.
50203         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
50204         Reported by Ralf Wildenhues.
50205
50206         Avoid test failure due to SA_RESTORER.
50207         * tests/test-sigaction.c (SA_MASK): New macro.
50208         (main): Avoid failing due to extension flags being set.
50209         Reported by Jim Meyering.
50210
50211         Revert use of sig-handler.h in sigprocmask.c.
50212         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
50213         it requires the existence of struct sigaction.
50214         * lib/sigprocmask.c (handler_t): Restore typedef.
50215         (rpl_signal, old_handlers): Use local type.
50216
50217 2008-06-22  Bruno Haible  <bruno@clisp.org>
50218
50219         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
50220         conditionally.
50221         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50222
50223 2008-06-22  Bruno Haible  <bruno@clisp.org>
50224
50225         * doc/posix-functions/siginterrupt.texi: Move note.
50226
50227         * lib/signal.in.h (SA_RESTART): New macro.
50228         * lib/sigaction.c: Update comment.
50229
50230         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
50231
50232         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
50233         (gl_PREREQ_SIGPROCMASK): Invoke it.
50234         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
50235
50236         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
50237
50238         * lib/sigprocmask.c: Update a comment.
50239
50240 2008-06-21  Eric Blake  <ebb9@byu.net>
50241
50242         Use sigaction module rather than signal().
50243         * modules/c-stack (Depends-on): Add sigaction.
50244         * modules/fatal-signal (Depends-on): Likewise.
50245         * modules/nanosleep (Depends-on): Likewise.
50246         * modules/sigprocmask (Files): Add sig-handler.h.
50247         * modules/sigaction (Files): Likewise.
50248         * lib/sig-handler.h (get_handler): New file, suggested by Paul
50249         Eggert.
50250         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
50251         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
50252         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
50253         (init_fatal_signals): Likewise.
50254         * lib/nanosleep.c (rpl_nanosleep): Likewise.
50255         (siginterrupt): Delete fallback.
50256         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
50257         instead.
50258         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
50259         siginterrupt.
50260
50261         New module sigaction, for mingw.
50262         * modules/sigaction: New module...
50263         * modules/sigaction-tests: ...and its test.
50264         * m4/sigaction.m4: New file.
50265         * lib/sigaction.c: Likewise.
50266         * tests/test-sigaction.c: Likewise.
50267         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
50268         * modules/signal (Makefile.am): Likewise.
50269         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
50270         needed.
50271         * doc/posix-headers/signal.texi (signal.h): Mention provided
50272         types.
50273         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
50274         that sigaction is preferable.
50275         * doc/posix-functions/sigaction.texi (sigaction): Mention new
50276         module.
50277         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50278         sigaction.
50279
50280         Improve robustness of sigprocmask by overriding signal.
50281         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
50282         is in use.
50283         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
50284         (SIGKILL, SIGSTOP): Provide fallbacks.
50285         (rpl_signal): Implement.
50286         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
50287         signal can be called inside handlers.
50288
50289         Fix nanosleep module on mingw.
50290         * modules/nanosleep (Depends-on): Add sys_select.
50291         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
50292
50293         Fix licensing of sigprocmask.
50294         * modules/raise (License): Relicense as LGPL.
50295
50296 2008-06-21  Bruno Haible  <bruno@clisp.org>
50297
50298         * lib/propername.c (proper_name_utf8): Don't use the transliterated
50299         result if it contains question marks.
50300         Reported by Michael Geng <linux@michaelgeng.de>.
50301
50302 2008-06-19  Bruno Haible  <bruno@clisp.org>
50303
50304         Fix CVS-ism.
50305         * doc/gnulib.texi: Include updated-stamp.texi.
50306         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
50307         (updated-stamp.texi): New rule.
50308         (gnulib.info): Depend on it.
50309         * doc/.gitignore: Add updated-stamp.texi.
50310         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
50311
50312 2008-06-19  Bruno Haible  <bruno@clisp.org>
50313
50314         * doc/Makefile (gnulib.info): Update and simplify dependencies.
50315         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50316
50317 2008-06-19  Eric Blake  <ebb9@byu.net>
50318
50319         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
50320         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
50321         Reported by Stepan Kasal.
50322
50323 2008-06-18  Bruno Haible  <bruno@clisp.org>
50324
50325         * lib/fatal-signal.c (init_fatal_signals): Add comment.
50326         Reported by Eric Blake.
50327
50328 2008-06-18  Eric Blake  <ebb9@byu.net>
50329
50330         Work around cygwin 1.5.25 strsignal bug.
50331         * tests/test-strsignal.c: Allow for const char *.
50332         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
50333
50334 2008-06-18  Simon Josefsson  <simon@josefsson.org>
50335
50336         * users.txt: Update URL to article and add author/date
50337         information.
50338
50339 2008-06-17  Bruno Haible  <bruno@clisp.org>
50340
50341         New macro gl_DISABLE_THREADS.
50342         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
50343         if the user did not pass --enable-threads or --disable-threads option.
50344         (gl_DISABLE_THREADS): New macro.
50345         Reported by Eric Blake <ebb9@byu.net>.
50346
50347 2008-06-17  Bruno Haible  <bruno@clisp.org>
50348
50349         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
50350         when the macro ignores it.
50351         Based on a patch by Eric Blake <ebb9@byu.net>.
50352
50353 2008-06-17  Bruno Haible  <bruno@clisp.org>
50354
50355         * modules/tls (License): Change to LGPLv2+.
50356         Reported by Eric Blake.
50357
50358 2008-06-17  Eric Blake  <ebb9@byu.net>
50359
50360         Simplify c-stack prerequisites.
50361         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
50362         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
50363         no longer requires <ucontext.h> to exist.  Optimize setrlimit
50364         check.
50365         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
50366         <sys/resource.h>.
50367
50368         Move c-stack test into testsuite.
50369         * modules/c-stack-tests: New file.
50370         * lib/c-stack.c [DEBUG]: Move test program...
50371         * tests/test-c-stack.c: ...into this new file.  Skip rather than
50372         fail test if sigaltstack is lacking.
50373         * tests/test-c-stack.sh: New driver file.
50374
50375 2008-06-16  Eric Blake  <ebb9@byu.net>
50376
50377         Use raise module consistently.
50378         * modules/fatal-signal (Depends-on): Add raise.
50379         * modules/sigprocmask (Depends-on): Likewise.
50380         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
50381         * lib/sigprocmask.c (sigprocmask): Likewise.
50382         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
50383         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
50384
50385         Fix compliance bug in sigpending.
50386         * lib/sigprocmask.c (sigpending): Return pending array via
50387         parameter, not return value.
50388
50389 2008-06-14  Eric Blake  <ebb9@byu.net>
50390
50391         Improve obstack-printf test code.
50392         * tests/test-obstack-printf.c (test_function): Fix comment, and
50393         simplify usage of obstack_* in macros.  Add a test for coverage.
50394         Reported by Bruno Haible.
50395
50396 2008-06-14  Bruno Haible  <bruno@clisp.org>
50397
50398         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
50399         array size as a constant, not as a const variable.
50400         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
50401         AC_USE_SYSTEM_EXTENSIONS.
50402         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50403         Test whether the obstack_printf function actually exists.
50404         * modules/obstack-printf (Depends-on): Add extensions.
50405         (Include): Remove obstack.h.
50406         * modules/obstack-printf-posix (Depends-on): Add extensions.
50407         (Include): Remove obstack.h.
50408
50409 2008-06-13  Eric Blake  <ebb9@byu.net>
50410
50411         Add obstack-printf and obstack-printf-posix modules.
50412         * modules/obstack-printf: New file.
50413         * modules/obstack-printf-posix: Likewise.
50414         * MODULES.html.sh (Misc): Mention them.
50415         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
50416         Likewise.
50417         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
50418         Likewise.
50419         * modules/stdio (Makefile.am): Accomodate new modules.
50420         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
50421         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
50422         Declare.
50423         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
50424         functions.
50425         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
50426         (gl_REPLACE_OBSTACK_PRINTF): New macros
50427         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
50428         * tests/test-obstack-printf.c: New file.
50429         * modules/obstack-printf-tests: Likewise.
50430         * modules/obstack-printf-posix-tests: Likewise.
50431
50432 2008-06-11  Bruno Haible  <bruno@clisp.org>
50433
50434         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
50435         * lib/open.c: Include errno.h.
50436         (open): Fail when attempting to write to a file that has a trailing
50437         slash.
50438         * tests/test-open.c (main): Test against trailing slash bug.
50439         * doc/posix-functions/open.texi: Mention the trailing slash bug.
50440
50441 2008-06-10  Bruno Haible  <bruno@clisp.org>
50442
50443         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
50444         for $? to work inside the trap command, with various /bin/sh-s.
50445         * tests/test-vc-list-files-cvs.sh: Likewise.
50446
50447 2008-06-10  Bruno Haible  <bruno@clisp.org>
50448
50449         * lib/acl-internal.h: Don't include gettext.h here.
50450         * lib/set-mode-acl.c: Include gettext.h here.
50451         * lib/copy-acl.c: Likewise.
50452
50453 2008-06-10  Bruno Haible  <bruno@clisp.org>
50454
50455         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
50456         * lib/wait-process.c (wait_subprocess): Likewise.
50457         * lib/execute.h (execute): Add termsigp argument.
50458         * lib/execute.c (execute): Likewise.
50459         * lib/csharpcomp.c (compile_csharp_using_pnet,
50460         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
50461         * lib/csharpexec.c (execute_csharp_using_pnet,
50462         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
50463         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
50464         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
50465         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
50466         is_jikes_present): Update.
50467         * lib/javaexec.c (execute_java_class): Update.
50468         * lib/javaversion.c (execute_and_read_line): Update.
50469         * NEWS: Document the changes.
50470         Reported by Eric Blake.
50471
50472 2008-06-10  Eric Blake  <ebb9@byu.net>
50473
50474         Add missing include.
50475         * tests/test-strstr.c (includes): Add <signal.h>.
50476         * tests/test-strcasestr.c (includes): Likewise.
50477         * tests/test-memmem.c (includes): Likewise.
50478
50479 2008-06-10  Bruno Haible  <bruno@clisp.org>
50480
50481         * lib/wait-process.c (wait_subprocess): Add an assertion.
50482
50483 2008-06-10  Bruno Haible  <bruno@clisp.org>
50484
50485         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
50486
50487 2008-06-10  Bruno Haible  <bruno@clisp.org>
50488
50489         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
50490         using alarm().
50491         * tests/test-strcasestr.c (main): Likewise.
50492         * tests/test-strstr.c (main): Likewise.
50493
50494 2008-06-09  Bruno Haible  <bruno@clisp.org>
50495
50496         Work around the Solaris 10 ACE ACLs ABI change.
50497         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
50498         declare if ACL_NO_TRIVIAL is present.
50499         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
50500         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
50501         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
50502         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
50503         define if ACL_NO_TRIVIAL is present.
50504         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
50505         and use the current ABI.
50506         (file_has_acl): Use same #if condition as elsewhere.
50507         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
50508         in use, and use the current ABI.
50509         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
50510         Reported by Jim Meyering.
50511
50512 2008-06-09  Eric Blake  <ebb9@byu.net>
50513
50514         Work around environments that (stupidly) ignore SIGALRM.
50515         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
50516         before using alarm().
50517         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
50518         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
50519         Reported by Ian Beckwith <ianb@erislabs.net>.
50520
50521         Produce autobuild blurb earlier in log.
50522         * modules/autobuild (configure.ac-early): Move AB_INIT here.
50523
50524 2008-06-09  Jim Meyering  <meyering@redhat.com>
50525         and Ondřej Vašík  <ovasik@redhat.com>
50526
50527         utimens.c: correct kernel bug work-around
50528         Ondřej Vašík found that the invalid return value of 280 indicates
50529         failure, not success, and the kernel bug we're trying to work
50530         around affects not just the utimensat call, but also the fallback
50531         futimens call.
50532         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
50533         not success.
50534         [HAVE_FUTIMENS]: Use the same work-around, here.
50535
50536 2008-06-09  Jim Meyering  <meyering@redhat.com>
50537
50538         add more guards around definition of ACE_-related code
50539         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
50540         ALLOW and ACE_OWNER are also defined.
50541
50542 2008-06-08  Bruno Haible  <bruno@clisp.org>
50543
50544         * lib/acl-internal.h: Add me as co-author.
50545         * lib/file-has-acl.c: Likewise.
50546         * lib/set-mode-acl.c: Likewise.
50547         * lib/copy-acl.c: Likewise.
50548
50549 2008-06-08  Bruno Haible  <bruno@clisp.org>
50550
50551         Add support for AIX ACLs.
50552         * lib/acl-internal.h (acl_nontrivial): New declaration.
50553         * lib/file-has-acl.c (acl_nontrivial): New function.
50554         (file_has_acl): Add implementation using AIX 4 ACL API.
50555         * lib/set-mode-acl.c (qset_acl): Likewise.
50556         * lib/copy-acl.c (qcopy_acl): Likewise.
50557
50558 2008-06-08  Bruno Haible  <bruno@clisp.org>
50559
50560         Add support for HP-UX ACLs.
50561         * lib/acl-internal.h (acl_nontrivial): New declaration.
50562         * lib/file-has-acl.c (acl_nontrivial): New function.
50563         (file_has_acl): Add implementation using HP-UX 11 ACL API.
50564         * lib/set-mode-acl.c (qset_acl): Likewise.
50565         * lib/copy-acl.c (qcopy_acl): Likewise.
50566
50567 2008-06-08  Bruno Haible  <bruno@clisp.org>
50568
50569         Add support for Cygwin ACLs.
50570         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
50571         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
50572         the chmod_or_fchmod call.
50573         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
50574
50575 2008-06-08  Bruno Haible  <bruno@clisp.org>
50576
50577         Fix bug with setuid modes in Solaris 10+ code.
50578         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
50579         succeeded, when the mode contains some special bits.
50580
50581 2008-06-08  Bruno Haible  <bruno@clisp.org>
50582
50583         Add support for Solaris 7..10 ACLs.
50584         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
50585         declarations.
50586         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
50587         functions.
50588         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
50589         * lib/set-mode-acl.c (qset_acl): Likewise.
50590         * lib/copy-acl.c (qcopy_acl): Likewise.
50591
50592 2008-06-08  Bruno Haible  <bruno@clisp.org>
50593
50594         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
50595         declaration.
50596         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
50597         (acl_access_nontrivial): Remove MacOS X case.
50598         (file_has_acl): Use acl_extended_nontrivial.
50599         * lib/copy-acl.c (qcopy_acl): Likewise.
50600
50601 2008-06-08  Bruno Haible  <bruno@clisp.org>
50602
50603         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
50604
50605 2008-06-08  Jim Meyering  <meyering@redhat.com>
50606
50607         * modules/acl (Maintainer): Add Bruno Haible.
50608
50609 2008-06-07  Bruno Haible  <bruno@clisp.org>
50610
50611         Improve support for Tru64 ACLs.
50612         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
50613         ACL on OSF/1.
50614
50615 2008-06-07  Bruno Haible  <bruno@clisp.org>
50616
50617         Add support for MacOS X ACLs.
50618         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
50619         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
50620         * lib/set-mode-acl.c (qset_acl): Likewise.
50621         * lib/copy-acl.c (qcopy_acl): Likewise.
50622
50623 2008-06-07  Bruno Haible  <bruno@clisp.org>
50624
50625         Fix memory leak introduced on 2008-05-22.
50626         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
50627         use.
50628
50629 2008-06-07  Bruno Haible  <bruno@clisp.org>
50630
50631         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
50632         to construct an empty ACL.
50633
50634 2008-06-07  Bruno Haible  <bruno@clisp.org>
50635
50636         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
50637         precisely.
50638         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
50639
50640 2008-06-07  Bruno Haible  <bruno@clisp.org>
50641
50642         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
50643         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
50644
50645 2008-06-07  Bruno Haible  <bruno@clisp.org>
50646
50647         * doc/posix-functions/_setjmp.texi: Explain the use of this function
50648         regardless of POSIX.
50649         * doc/posix-functions/_longjmp.texi: Likewise.
50650         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
50651         SystemV platform in this case.
50652
50653 2008-06-06  Eric Blake  <ebb9@byu.net>
50654
50655         Document abort() bugs.
50656         * doc/posix-functions/abort.texi (abort): Mention anomalies.
50657
50658         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
50659         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
50660         sigsetjmp.
50661         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
50662         siglongjmp, but only as a macro.
50663         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
50664         is obsolete.
50665         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
50666
50667         Tweak documentation to cover cygwin argz bugs.
50668         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
50669         argz bug fix; no code change needed since no cygwin releases
50670         occurred between the last fix and the bug being tested.
50671         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
50672         module and recently fixed cygwin bugs.
50673         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
50674         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
50675         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
50676         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
50677         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
50678         Likewise.
50679         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
50680         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
50681         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
50682         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
50683         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
50684         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
50685         Likewise.
50686
50687         Avoid gcc warning on cygwin.
50688         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
50689         !ACL_NO_TRIVIAL]: Avoid unused variable.
50690
50691 2008-06-05  Eric Blake  <ebb9@byu.net>
50692
50693         Be tolerant of UNKNOWN version in gnulib-tool test dir.
50694         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
50695         git-version-gen fails to come up with a version.
50696         Reported by Simon Josefsson.
50697
50698 2008-06-05  Jim Meyering  <meyering@redhat.com>
50699             Paul Eggert  <eggert@cs.ucla.edu>
50700
50701         utimens.c: work around a probable Linux kernel bug
50702         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
50703         appears to be a kernel bug that causes utimensat to return 280
50704         instead of 0, indicating success.
50705
50706 2008-06-04  Bruno Haible  <bruno@clisp.org>
50707
50708         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
50709         2008-06-01 commit.
50710
50711 2008-06-04  Bruno Haible  <bruno@clisp.org>
50712
50713         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
50714         * lib/file-has-acl.c (acl_access_nontrivial): New function.
50715         (file_has_acl): Use it. Save errno afterwards.
50716         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
50717
50718 2008-06-03  Bruno Haible  <bruno@clisp.org>
50719
50720         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
50721         draft code. Simplify #ifs.
50722         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
50723         Put Solaris code after POSIX-draft code. Fix comments regarding
50724         Solaris 10, HP-UX. Mention Cygwin.
50725         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
50726
50727 2008-06-03  Eric Blake  <ebb9@byu.net>
50728
50729         Provide fallback for older kernels.
50730         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
50731         Provide runtime fallback if kernel lacks support.
50732         Reported by Mike Frysinger.
50733
50734 2008-06-02  Bruno Haible  <bruno@clisp.org>
50735
50736         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
50737         it exists.
50738
50739 2008-06-02  Bruno Haible  <bruno@clisp.org>
50740
50741         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
50742         * lib/copy-acl.c (qcopy_acl): Update comment.
50743
50744 2008-06-02  Bruno Haible  <bruno@clisp.org>
50745
50746         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
50747         like ACL APIs.
50748
50749 2008-06-02  Bruno Haible  <bruno@clisp.org>
50750
50751         * tests/test-file-has-acl.sh: Use different code for Cygwin.
50752         * tests/test-set-mode-acl.sh: Likewise.
50753         * tests/test-copy-acl.sh: Likewise.
50754         * tests/test-copy-file.sh: Likewise.
50755
50756 2008-06-02  Bruno Haible  <bruno@clisp.org>
50757
50758         * tests/test-file-has-acl.sh: Remove unused code.
50759
50760 2008-06-01  Bruno Haible  <bruno@clisp.org>
50761
50762         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
50763         (copy_acl): Just a wrapper around qcopy_acl that emits the error
50764         messages.
50765         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
50766
50767 2008-06-01  Bruno Haible  <bruno@clisp.org>
50768
50769         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
50770         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
50771         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
50772         APIs.
50773         * modules/acl-tests (configure.ac): Remove tests now contained in
50774         m4/acl.m4.
50775
50776 2008-06-02  Jim Meyering  <meyering@redhat.com>
50777
50778         announce-gen: use a better key-server host name
50779         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
50780         it may be more consistently reliable.  Suggested by Werner Koch
50781         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
50782
50783 2008-06-01  Bruno Haible  <bruno@clisp.org>
50784
50785         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
50786         Reported by Voroskoi Andras <voroskoi@gmail.com>.
50787
50788 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
50789
50790         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
50791
50792 2008-06-01  Bruno Haible  <bruno@clisp.org>
50793
50794         New ACL tests.
50795         * tests/test-file-has-acl.sh: New file.
50796         * tests/test-file-has-acl.c: New file.
50797         * tests/test-set-mode-acl.sh: New file.
50798         * tests/test-set-mode-acl.c: New file.
50799         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
50800         * tests/test-copy-acl.c: New file.
50801         * modules/acl-tests: New file, based on modules/copy-file-tests.
50802         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
50803         (Depends-on): Add acl-tests.
50804         (configure.ac): Remove checks.
50805         (Makefile.am): Don't create test-sameacls program here any more.
50806
50807 2008-06-01  Bruno Haible  <bruno@clisp.org>
50808
50809         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
50810         * tests/test-sameacls.c: Include progname.h.
50811         (main): Invoke set_program_name. Portability fixes for MacOS X,
50812         Solaris, HP-UX.
50813
50814 2008-06-01  Bruno Haible  <bruno@clisp.org>
50815
50816         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
50817         function.
50818         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
50819
50820 2008-06-01  Bruno Haible  <bruno@clisp.org>
50821
50822         * modules/rpmatch (Depends-on): Add strdup.
50823
50824 2008-06-01  Bruno Haible  <bruno@clisp.org>
50825
50826         * lib/pipe.c: Include unistd-safer.h.
50827         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
50828         * modules/pipe (Depends-on): Add unistd-safer.
50829
50830 2008-05-30  Simon Josefsson  <simon@josefsson.org>
50831
50832         * modules/autobuild (configure.ac): Call AB_INIT.
50833
50834 2008-05-30  Simon Josefsson  <simon@josefsson.org>
50835
50836         * tests/test-getaddrinfo.c: Don't print debug messages by default.
50837         Suggested by Bruno Haible <bruno@clisp.org>.
50838
50839 2008-05-30  Simon Josefsson  <simon@josefsson.org>
50840
50841         * tests/test-base64.c: Cast size_t to unsigned long when invoking
50842         printf.  Use %lu instead of %d.  Reported by Bruno Haible
50843         <bruno@clisp.org>.
50844
50845 2008-05-29  Eric Blake  <ebb9@byu.net>
50846
50847         Prefer new POSIX 200x interfaces over futimesat.
50848         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
50849         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
50850         when available.
50851         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
50852
50853 2008-05-28  Bruno Haible  <bruno@clisp.org>
50854
50855         * modules/stpcpy (License): Change to LGPLv2+.
50856         Requested by David Lutterkort <dlutter@redhat.com>.
50857
50858 2008-05-27  Bruno Haible  <bruno@clisp.org>
50859
50860         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
50861         current mingw.
50862         Reported by Jose E. Marchesi <jemarch@gnu.org>.
50863
50864 2008-05-27  Bruno Haible  <bruno@clisp.org>
50865
50866         * modules/iconv_open (Link): New section, from module 'iconv'.
50867         * modules/striconv (Link): Likewise.
50868         * modules/striconveh (Link): Likewise.
50869         * modules/xstriconv (Link): Likewise.
50870         * modules/unicodeio (Link): Likewise.
50871         * modules/propername (Link): Likewise.
50872         Reported by Jim Meyering.
50873
50874 2008-05-26  Jim Meyering  <meyering@redhat.com>
50875
50876         sha256: do not artificially restrict buffer length to be < 2^32
50877         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
50878         uint32_t to size_t.
50879         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
50880         to match.
50881
50882         avoid unaligned access errors, e.g., on sparc
50883         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
50884         direct access through a possibly-unaligned uint64* pointer.
50885         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
50886         direct access through a possibly-unaligned uint32* pointer.
50887         Prompted by this patch from Tom "spot" Callaway:
50888         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
50889
50890         sha512.c: fix typo in comment
50891         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
50892
50893 2008-05-25  Bruno Haible  <bruno@clisp.org>
50894
50895         * lib/set-mode-acl.c: Renamed from lib/acl.c.
50896         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
50897         (Makefile.am): Update lib_SOURCES.
50898
50899 2008-05-25  Bruno Haible  <bruno@clisp.org>
50900
50901         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
50902
50903 2008-05-25  Jim Meyering  <meyering@redhat.com>
50904
50905         useless-if-before-free: freed expr may have white-space differences
50906         * build-aux/useless-if-before-free: Recognize cases in which the
50907         freed expression differs from the tested one in embedded white
50908         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
50909         $1 was used, so we can't make any regexp shy.  Improved tests now
50910         detect this.
50911
50912         useless-if-before-free: accept white space in the expression.
50913         * build-aux/useless-if-before-free: For now, any white space
50914         in the expression must be identical in the free argument.
50915
50916         useless-if-before-free: efficiency tweak
50917         * build-aux/useless-if-before-free: Make the expression-matching
50918         regexp "shy".
50919         Make the *outer* regexp shy, not the expr-matching one.
50920
50921         update code-in-comment to accept cast of free arg
50922         * build-aux/useless-if-before-free: Update regexp.
50923
50924 2008-05-25  Bruno Haible  <bruno@clisp.org>
50925
50926         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
50927         * modules/copy-file-tests (Files, Makefile.am): Update.
50928         * tests/test-copy-file.c (func_test_copy): Update.
50929
50930 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
50931
50932         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
50933
50934 2008-05-23  Bruno Haible  <bruno@clisp.org>
50935
50936         Improve support for ACLs on OSF/1.
50937         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
50938         Remove fallback for unknown flavors of ACLs.
50939
50940 2008-05-22  Bruno Haible  <bruno@clisp.org>
50941
50942         Add support for ACLs on OSF/1.
50943         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
50944         replacements.
50945         (acl_free_text): New macro fallback.
50946         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
50947         acl_free.
50948         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
50949         acl_free_text function. Require AC_C_INLINE.
50950
50951 2008-05-22  Bruno Haible  <bruno@clisp.org>
50952
50953         Make copy_acl work on MacOS X 10.5.
50954         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
50955         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
50956         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
50957         If MODE_INSIDE_ACL, don't assume that every system has the same text
50958         representation for ACLs as FreeBSD.
50959         * lib/copy-acl.c (copy_acl): Add support for platforms with
50960         !MODE_INSIDE_ACL.
50961         * lib/file-has-acl.c (file_has_acl): Likewise.
50962         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
50963         FreeBSD, MacOS X, or IRIX, respectively.
50964
50965 2008-05-22  Bruno Haible  <bruno@clisp.org>
50966
50967         * lib/acl.h: Don't include <sys/acl.h>.
50968         (GETACLCNT): Move fallback to lib/acl-internal.h.
50969         * lib/acl-internal.h: Include <sys/acl.h> here.
50970         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
50971
50972 2008-05-22  Bruno Haible  <bruno@clisp.org>
50973
50974         Split off copy_acl function to separate file.
50975         * lib/copy-acl.c: New file, extracted from lib/acl.c.
50976         * lib/acl.c (copy_acl): Moved function to separate file.
50977         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
50978         * modules/acl (Files): Add lib/copy-acl.c.
50979         (Makefiles.am): Augment lib_SOURCES.
50980
50981 2008-05-22  Bruno Haible  <bruno@clisp.org>
50982
50983         * modules/copy-file-tests: New file.
50984         * tests/test-copy-file.sh: New file.
50985         * tests/test-copy-file.c: New file.
50986         * tests/test-copy-file-sameacls.c: New file.
50987
50988 2008-05-22  Eric Blake  <ebb9@byu.net>
50989
50990         Avoid gcc warning.
50991         * tests/test-memcmp.c (main): Pass NULL indirectly.
50992
50993 2008-05-21  Bruno Haible  <bruno@clisp.org>
50994
50995         Add reference doc about ACLs.
50996         * doc/acl-resources.txt: New file.
50997         * doc/acl-cygwin.txt: New file.
50998
50999 2008-05-21  Bruno Haible  <bruno@clisp.org>
51000
51001         Avoid one more warning from gcc.
51002         * lib/vasnprintf.c (IF_LINT): Update comments.
51003         (VASNPRINTF): Use it also for the 'prefix' array initializer.
51004
51005 2008-05-21  Jim Meyering  <meyering@redhat.com>
51006
51007         avoid a warning from gcc
51008         * lib/vasnprintf.c (IF_LINT): Define.
51009         (scale10_round_decimal_long_double):
51010         Use it to avoid a "may be used uninitialized" warning.
51011         (scale10_round_decimal_double): Likewise.
51012
51013 2008-05-21  Simon Josefsson  <simon@josefsson.org>
51014
51015         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
51016         declared.
51017
51018 2008-05-20  Bruno Haible  <bruno@clisp.org>
51019
51020         * tests/test-memcmp.c (main): Test also the sign of the result. Test
51021         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
51022
51023 2008-05-20  Simon Josefsson  <simon@josefsson.org>
51024
51025         * modules/memcmp-tests: New file.
51026         * tests/test-memcmp.c: New file.
51027
51028 2008-05-19  Bruno Haible  <bruno@clisp.org>
51029
51030         * modules/propername (Notice, configure.ac): Put quoted "..." into
51031         --keyword option.
51032         * lib/propername.h: Update comments accordingly.
51033         Reported by Eric Blake.
51034
51035 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
51036
51037         * modules/getpass-gnu (Depends-on): Add fseeko.
51038
51039 2008-05-19  Simon Josefsson  <simon@josefsson.org>
51040
51041         * modules/base64-tests: New file.
51042
51043 2008-05-19  Bo Borgerson <gigabo@gmail.com>
51044
51045         * lib/base64.c (base64_decode_ctx): If a decode context structure
51046         was passed in use it to ignore newlines.  If a context structure
51047         was _not_ passed in, continue to treat newlines as garbage (this
51048         is the historical behavior).  Formerly base64_decode.
51049         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
51050         takes a decode context structure.
51051         * lib/base64.h (base64_decode): Macro for four-argument calls.
51052         (base64_decode_alloc): Likewise.
51053         * lib/base64.c (base64_decode_ctx): If a decode context structure
51054         was passed in use it to ignore newlines.  If a context structure
51055         was _not_ passed in, continue to treat newlines as garbage (this
51056         is the historical behavior).  Formerly base64_decode.
51057         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
51058         takes a decode context structure.
51059         * lib/base64.h (base64_decode): Macro for four-argument calls.
51060         (base64_decode_alloc): Likewise.
51061
51062 2008-05-19  Jim Meyering  <meyering@redhat.com>
51063
51064         avoid a warning from gcc
51065         * lib/trim.c (IF_LINT): Define.
51066         (trim2): Use it to avoid a "may be used uninitialized" warning.
51067
51068         Fix doc typo.
51069         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
51070
51071 2008-05-19  Bruno Haible  <bruno@clisp.org>
51072
51073         * doc/glibc-functions/getpass.texi: Document limits of other
51074         implementations.
51075
51076 2008-05-19  Simon Josefsson  <simon@josefsson.org>
51077             Bruno Haible <bruno@clisp.org>
51078
51079         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
51080
51081 2008-05-18  Bruno Haible  <bruno@clisp.org>
51082
51083         * modules/propername: New file, from GNU gettext.
51084         * lib/propername.h: New file, from GNU gettext.
51085         * lib/propername.c: New file, from GNU gettext.
51086         * MODULES.html.sh (Internationalization functions): Add propername.
51087
51088 2008-05-16  Jim Meyering  <meyering@redhat.com>
51089             Bruno Haible  <bruno@clisp.org>
51090
51091         Avoid some warnings from "gcc -Wshadow".
51092         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
51093
51094 2008-05-15  Eric Blake  <ebb9@byu.net>
51095
51096         Extend previous patch to cygwin 1.7.0.
51097         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
51098         fast implementation in cygwin >= 1.7.0.
51099         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51100         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51101
51102 2008-05-15  Bruno Haible  <bruno@clisp.org>
51103
51104         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
51105         implementation in glibc >= 2.9.
51106         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51107         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51108
51109 2008-05-15  Bruno Haible  <bruno@clisp.org>
51110
51111         * MODULES.html.sh (Internationalization functions): Remove linebreak.
51112         (Unicode string functions): Add unilbrk/*.
51113         Reported by Karl Berry.
51114
51115 2008-05-15  Eric Blake  <ebb9@byu.net>
51116
51117         Fix violation of <stdbool.h> replacement in regex.
51118         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
51119         * lib/regexec.c (re_search_internal): Likewise.
51120         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
51121
51122 2008-05-15  Jim Meyering  <meyering@redhat.com>
51123
51124         avoid distracting test output when git or cvs is not found
51125         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
51126         * tests/test-vc-list-files-git.sh: Likewise.
51127
51128 2008-05-15  Eric Blake  <ebb9@byu.net>
51129
51130         Glibc finally accepted the memmem speedup code, bugzilla #5514.
51131         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
51132         glibc version.
51133         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
51134         * doc/posix-functions/strstr.texi (strstr): Likewise.
51135         * lib/str-two-way.h (MAX): Sychronize with glibc.
51136
51137 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
51138
51139         * lib/regcomp.c (optimize_utf8): Add a note on why we test
51140         opr.ctx_type.
51141         (calc_first): Initialize constraint field.
51142         (duplicate_node_closure): Use it instead of special casing ANCHORS.
51143         Fix grammar.
51144         (duplicate_node): Merge constraint field for all node types.
51145         (calc_eclosure_iter): Look at constraint field for all node types.
51146         * lib/regex_internal.c (create_cd_newstate): Don't look at
51147         opr.ctx_type.
51148
51149 2008-05-14  Bruno Haible  <bruno@clisp.org>
51150
51151         Help GCC to do better code generation.
51152         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
51153         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
51154         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
51155         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
51156         Declare with attribute 'malloc' if supported.
51157
51158 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
51159
51160         use "echo STR|wc -c" rather than unportable "expr length STR"
51161         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
51162         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
51163
51164 2008-05-14  Jim Meyering  <meyering@redhat.com>
51165
51166         use dd ibs=$n count=1 ... rather than less-portable head -c$n
51167         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
51168         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
51169         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
51170         via Collin Lasse.
51171
51172 2008-05-14  Eric Blake  <ebb9@byu.net>
51173
51174         Avoid quadratic growth in gl_LIBSOURCES.
51175         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
51176         Suggested by Bruno Haible.
51177
51178         Test xmemdup0.
51179         * modules/xmemdup0-tests: New file.
51180         * tests/test-xmemdup0.c: Likewise.
51181
51182 2008-05-13  Eric Blake  <ebb9@byu.net>
51183
51184         Split xmemdup0 into its own module.
51185         * modules/xmemdup0: New file.
51186         * lib/xmemdup0.h: Likewise.
51187         * lib/xmemdup0.c: Likewise.
51188         * MODULES.html.sh (Memory management functions): Add xmemdup0.
51189         * lib/xalloc.h (xmemdup0): Remove.
51190         * lib/xmalloc.c (xmemdup0): Likewise.
51191
51192 2008-05-13  Eric Blake  <ebb9@byu.net>
51193             Bruno Haible  <bruno@clisp.org>
51194
51195         Reduce number of forks required during autoconf.
51196         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
51197         and gl_LIBSOURCES_DIR.
51198         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
51199         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
51200         m4_syscmd per file.
51201         <m4_foreach_w>: Move...
51202         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
51203
51204 2008-05-13  Eric Blake  <ebb9@byu.net>
51205
51206         * gnulib-tool: Fix various comment typos.
51207
51208 2008-05-12  Bruno Haible  <bruno@clisp.org>
51209
51210         Tailor the linebreaking algorithm.
51211         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
51212
51213 2008-05-12  Bruno Haible  <bruno@clisp.org>
51214
51215         Update to Unicode 5.0.0.
51216         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
51217         LBP_JV, LBP_JT. Redistribute values.
51218         (unilbrk_table): Change size.
51219         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
51220         Unicode TR#14 rev. 22.
51221         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
51222         LBP_JV, LBP_JT. Redistribute values.
51223         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
51224         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
51225         Update.
51226         * lib/unilbrk/lbrkprop1.h: Regenerated.
51227         * lib/unilbrk/lbrkprop2.h: Regenerated.
51228         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
51229         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
51230         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
51231         Likewise.
51232         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
51233         Likewise.
51234         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
51235         result.
51236         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
51237         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
51238         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
51239         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
51240         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
51241         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
51242
51243 2008-05-11  Bruno Haible  <bruno@clisp.org>
51244
51245         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
51246
51247 2008-05-11  Bruno Haible  <bruno@clisp.org>
51248
51249         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
51250         * modules/unilbrk/gen-lbrk: New file.
51251
51252 2008-05-11  Bruno Haible  <bruno@clisp.org>
51253
51254         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
51255         * m4/sha512.m4 (gl_SHA512): Likewise.
51256
51257 2008-05-11  Jim Meyering  <meyering@redhat.com>
51258
51259         New modules: crypto/sha256, crypto/sha512 (from coreutils)
51260         * modules/crypto/sha256: New file.
51261         * modules/crypto/sha512: Likewise.
51262         * lib/sha256.c: Likewise.
51263         * lib/sha256.h: Likewise.
51264         * lib/sha512.c: Likewise.
51265         * lib/sha512.h: Likewise.
51266         * lib/u64.h: Likewise.
51267         * m4/sha256.m4: Likewise.
51268         * m4/sha512.m4: Likewise.
51269         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
51270
51271 2008-05-10  Bruno Haible  <bruno@clisp.org>
51272
51273         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
51274         (Input/Output <stdio.h>): Add xprintf.
51275         (Signal handling <signal.h>): Add strsignal.
51276         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
51277         (Core language properties): Add func.
51278         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
51279         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
51280         strings.
51281         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
51282         (Input/output): New section.
51283         (File system functions): Add openat-die, stat-macros.
51284         (Networking functions): Add sockets.
51285         (Unicode string functions): Add unictype/*.
51286         (Support for building libraries and executables): Add gperf.
51287         (Support for building documentation): Add agpl-3.0.
51288         (Misc): Add nocrash.
51289
51290 2008-05-10  Bruno Haible  <bruno@clisp.org>
51291
51292         * modules/unictype/gen-ctype: New file.
51293
51294 2008-05-10  Jim Meyering  <meyering@redhat.com>
51295
51296         Make chdir-safer.c more efficient on a system with no symlinks.
51297         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
51298         also if ELOOP is zero.  Suggested by Bruno Haible.
51299
51300         Make chdir-safer.c slightly safer.
51301         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
51302         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
51303
51304         Avoid compile failure on systems without ELOOP (like mingw).
51305         * lib/chdir-safer.c (ELOOP): Define if not already defined.
51306         Reported by Bruno Haible.
51307
51308 2008-05-10  Bruno Haible  <bruno@clisp.org>
51309
51310         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
51311         (is_utf8_encoding): Use a case-insensitive comparison.
51312         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
51313         streq.
51314
51315 2008-05-10  Bruno Haible  <bruno@clisp.org>
51316
51317         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
51318         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
51319         * lib/unilbrk/ulc-common.h (iconv_string_length,
51320         iconv_string_keeping_offsets): Remove declarations.
51321         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
51322         Don't include <iconv.h>, streq.h, xsize.h.
51323         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
51324         conversion.
51325         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
51326         <iconv.h>, streq.h, xsize.h.
51327         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
51328         conversion.
51329         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
51330         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
51331         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
51332         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
51333
51334 2008-05-10  Bruno Haible  <bruno@clisp.org>
51335
51336         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
51337         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
51338
51339         * modules/unilbrk/u32-width-linebreaks-tests: New file.
51340         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
51341
51342         * modules/unilbrk/u16-width-linebreaks-tests: New file.
51343         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
51344
51345         * modules/unilbrk/u8-width-linebreaks-tests: New file.
51346         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
51347
51348         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
51349         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
51350
51351         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
51352         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
51353
51354         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
51355         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
51356
51357         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
51358         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
51359
51360 2008-05-10  Bruno Haible  <bruno@clisp.org>
51361
51362         Split up 'linebreak' module.
51363         * lib/unilbrk.h: New file, based on lib/linebreak.h.
51364         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
51365         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
51366         modifications.
51367         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
51368         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
51369         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
51370         lib/linebreak.c.
51371         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
51372         lib/linebreak.c.
51373         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
51374         lib/linebreak.c.
51375         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
51376         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
51377         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
51378         lib/linebreak.c.
51379         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
51380         lib/linebreak.c.
51381         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
51382         lib/linebreak.c.
51383         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
51384         lib/linebreak.c.
51385         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
51386         lib/linebreak.c.
51387         * modules/unilbrk/base: New file.
51388         * modules/unilbrk/tables: New file.
51389         * modules/unilbrk/u8-possible-linebreaks: New file.
51390         * modules/unilbrk/u16-possible-linebreaks: New file.
51391         * modules/unilbrk/u32-possible-linebreaks: New file.
51392         * modules/unilbrk/ulc-common: New file.
51393         * modules/unilbrk/ulc-possible-linebreaks: New file.
51394         * modules/unilbrk/u8-width-linebreaks: New file.
51395         * modules/unilbrk/u16-width-linebreaks: New file.
51396         * modules/unilbrk/u32-width-linebreaks: New file.
51397         * modules/unilbrk/ulc-width-linebreaks: New file.
51398         * lib/linebreak.h: Remove file.
51399         * lib/linebreak.c: Remove file.
51400         * m4/linebreak.m4: Remove file.
51401         * modules/linebreak: Remove file.
51402         * NEWS: Mention the changes.
51403
51404 2008-05-09  Eric Blake  <ebb9@byu.net>
51405
51406         Add xmemdup0.
51407         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
51408         implementation.
51409         * lib/xmalloc.c (xmemdup0): New C implementation.
51410
51411 2008-05-08  Bruno Haible  <bruno@clisp.org>
51412
51413         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
51414
51415 2008-05-07  Eric Blake  <ebb9@byu.net>
51416
51417         Support cross-compilation of <wctype.h>.
51418         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
51419         AC_CACHE_CHECK.
51420
51421 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
51422
51423         * build-aux/vc-list-files: Add support for bzr.
51424
51425 2008-05-03  Jim Meyering  <meyering@redhat.com>
51426
51427         avoid failed assertion with tight malloc
51428         * tests/test-getndelim2.c: Correct an off-by-one assertion.
51429
51430 2008-05-03  Simon Josefsson  <simon@josefsson.org>
51431
51432         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
51433         are needed from arpa/inet.h.
51434         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
51435         Reported by Bruno Haible.
51436
51437 2008-05-02  Jim Meyering  <meyering@redhat.com>
51438
51439         avoid compilation error on FreeBSD 6
51440         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
51441
51442 2008-05-01  Jim Meyering  <meyering@redhat.com>
51443
51444         useless-if-before-free: correct --help's exit status description
51445         * build-aux/useless-if-before-free (usage): Like grep, exit 0
51446         for one or more matches, etc.  Reported by Bruno Haible.
51447
51448         vc-list-files: make the stand-alone gnulib test work
51449         * modules/vc-list-files-tests (configure.ac):
51450         Define and AC_SUBST abs_aux_dir.
51451         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
51452         $(abs_top_srcdir) to each script and having each of them
51453         duplicate the work of setting PATH, set PATH here, using
51454         the new variable, abs_aux_dir instead.
51455         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
51456         * tests/test-vc-list-files-git.sh: Likewise.
51457         Reported by Bruno Haible.
51458
51459 2008-05-01  Bruno Haible  <bruno@clisp.org>
51460
51461         * lib/getndelim2.c (getndelim2): Fix newsize computation during
51462         reallocation. Rename 'done' to 'found_delimiter'.
51463
51464 2008-05-01  Jim Meyering  <meyering@redhat.com>
51465
51466         vc-list-files: accommodate /bin/sh like the one from Solaris 10
51467         * build-aux/vc-list-files: Use `...`, not $(...).
51468
51469 2008-04-30  Jim Meyering  <meyering@redhat.com>
51470
51471         add tests for vc-list-files
51472         * modules/vc-list-files-tests: New module.
51473         * tests/test-vc-list-files-cvs.sh: New file.
51474         * tests/test-vc-list-files-git.sh: New file.
51475
51476         avoid a warning from gcc
51477         * lib/getndelim2.c (IF_LINT): Define.
51478         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
51479
51480         vc-list-files: work properly with build-aux/cvsu, too
51481         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
51482         to all cvs-based clauses.
51483
51484         vc-list-files: work properly in the CVS+awk case, too
51485         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
51486
51487         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
51488         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
51489         take more than one file argument, so .  Add quotes, just in case $dir
51490         ever contains a shell meta-character.  Prompted by Soren Hansen in
51491         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
51492
51493 2008-04-29  Eric Blake  <ebb9@byu.net>
51494
51495         Optimize getndelim2 to use block operations when possible.
51496         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
51497         freadseek, and memchr2.
51498         * lib/getndelim2.c (getndelim2): Use them for block reads.
51499
51500 2008-04-29  Bruno Haible  <bruno@clisp.org>
51501
51502         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
51503         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
51504         * modules/inet_ntop (Depends-on): Add extensions.
51505         * modules/inet_pton (Depends-on): Likewise.
51506         Reported by Simon Josefsson.
51507
51508 2008-04-29  Jim Meyering  <meyering@redhat.com>
51509
51510         When the is more than one match in a block, match all of them.
51511         * build-aux/useless-if-before-free: Iterate through each block
51512         until there are no more matches.
51513
51514         Fix broken useless-if-before-free script.
51515         * build-aux/useless-if-before-free: Fix typo: missing "?" after
51516         the expression to match cast of argument to free-like function.
51517
51518 2008-04-29  Eric Blake  <ebb9@byu.net>
51519
51520         Use new header.
51521         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
51522
51523 2008-04-29  Jim Meyering  <meyering@redhat.com>
51524
51525         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
51526         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
51527         by gnulib to exist and to declare e.g., inet_ntop.
51528         Don't include "inet_ntop.h", now removed.
51529
51530         * m4/arpa_inet_h.m4: Remove trailing blanks.
51531
51532 2008-04-29  Eric Blake  <ebb9@byu.net>
51533
51534         Silence valgrind on safe reads beyond potential array bounds.
51535         * lib/rawmemchr.valgrind: New file.
51536         * lib/strchrnul.valgrind: Likewise.
51537         * modules/rawmemchr (Files): Distribute new file.
51538         * modules/strchrnul (Files): Likewise.
51539         Suggested by Bruno Haible.
51540
51541 2008-04-29  Bruno Haible  <bruno@clisp.org>
51542
51543         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
51544         (inet_ntop, inet_pton): Change portability warning's wording.
51545         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
51546         Invoke gl_CHECK_NEXT_HEADERS.
51547         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
51548         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
51549         set ARPA_INET_H.
51550         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
51551         * modules/arpa_inet (Description): No longer only for systems that
51552         lack it.
51553         (Depends-on): Add include_next.
51554         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
51555         HAVE_ARPA_INET_H.
51556
51557 2008-04-29  Jim Meyering  <meyering@redhat.com>
51558
51559         * modules/mkdir (License): Re-license as LGPLv2+.
51560
51561 2008-04-29  Bruno Haible  <bruno@clisp.org>
51562
51563         * modules/rawmemchr (Maintainer): Set to Eric.
51564         * modules/strchrnul (Maintainer): Likewise.
51565
51566 2008-04-29  Simon Josefsson  <simon@josefsson.org>
51567
51568         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
51569         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
51570
51571         * modules/arpa_inet (arpa/inet.h): Use them.
51572
51573 2008-04-28  Eric Blake  <ebb9@byu.net>
51574
51575         Test getndelim2.
51576         * modules/getndelim2-tests: New file.
51577         * tests/test-getndelim2.c: Likewise.
51578         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
51579         stream.
51580         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
51581
51582         * MODULES.html.sh: Document new module.
51583
51584 2008-04-20  Bruno Haible  <bruno@clisp.org>
51585
51586         * lib/c-stack.c (die): Use raise.
51587         * modules/c-stack (Depends-on): Add raise.
51588
51589 2008-04-28  Bruno Haible  <bruno@clisp.org>
51590
51591         Expect rpmatch to be declared.
51592         * lib/yesno.c (rpmatch): Remove declaration.
51593
51594         Declare rpmatch.
51595         * lib/stdlib.in.h (rpmatch): New declaration.
51596         * lib/rpmatch.c: Include <stdlib.h> first.
51597         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
51598         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
51599         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
51600         HAVE_RPMATCH.
51601         * modules/rpmatch (Depends-on): Add stdlib, extensions.
51602         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51603         (Include): Set to <stdlib.h>.
51604         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
51605         HAVE_RPMATCH.
51606         * NEWS: Document the change.
51607
51608 2008-04-28  Bruno Haible  <bruno@clisp.org>
51609
51610         Change rpmatch to use nl_langinfo when appropriate.
51611         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
51612         (N_): New macro.
51613         (localized_pattern): New function/macro.
51614         (try): Remove match, nomatch arguments. Copy the pattern into safe
51615         memory before caching it.
51616         (rpmatch): Use localized_pattern. Add translator comments.
51617         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
51618         Suggested by Eric Blake.
51619         * modules/rpmatch (Depends-on): Add stdbool.
51620
51621 2008-04-28  Eric Blake  <ebb9@byu.net>
51622
51623         Add rawmemchr module, matching glibc.
51624         * modules/string (Makefile.am): New indicator.
51625         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
51626         * lib/string.in.h (rawmemchr): Declare when appropriate.
51627         * modules/rawmemchr: New file.
51628         * m4/rawmemchr.m4: Likewise.
51629         * lib/rawmemchr.c: Likewise.
51630         * modules/rawmemchr-tests: Likewise.
51631         * tests/test-rawmemchr.c: Likewise.
51632         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
51633         module.
51634         * modules/strchrnul (Depends-on): Add rawmemchr.
51635         * lib/strchrnul.c (strchrnul): Optimize a corner case.
51636
51637         Whitespace cleanup.
51638         * tests/test-strchrnul.c: Reindent.
51639         * lib/strchrnul.c: Likewise.
51640
51641         Optimize and test strchrnul.
51642         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
51643         * modules/strchrnul-tests: New file.
51644         * tests/test-strchrnul.c: Likewise.
51645
51646         Remove intprops dependency.
51647         * modules/memchr (Depends-on): Remove intprops.
51648         * modules/memrchr (Depends-on): Likewise.
51649         * modules/memchr2 (Depends-on): Likewise.
51650         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
51651         * lib/memrchr.c (__memrchr): Likewise.
51652         * lib/memrchr2.c (memchr2): Likewise.
51653         Reported by Simon Josefsson.
51654
51655 2008-04-28  Simon Josefsson  <simon@josefsson.org>
51656
51657         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
51658         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51659
51660 2008-04-28  Simon Josefsson  <simon@josefsson.org>
51661
51662         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
51663
51664         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
51665
51666         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
51667
51668         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
51669         declarations.
51670         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
51671
51672         * m4/inet_pton.m4: Don't check for header files.
51673
51674         * m4/inet_ntop.m4: Don't check for header files.
51675
51676 2008-04-28  Simon Josefsson  <simon@josefsson.org>
51677
51678         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
51679         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
51680         trigger for cygwin).
51681         Reported by Bruno Haible  <bruno@clisp.org>.
51682
51683 2008-04-28  Bruno Haible  <bruno@clisp.org>
51684
51685         * doc/posix-functions/strdup.texi: Mention mingw problem.
51686
51687 2008-04-27  Bruno Haible  <bruno@clisp.org>
51688
51689         * modules/stat-time-tests (Depends-on): Add sleep.
51690         * tests/test-stat-time.c (force_unlink): New function.
51691         (cleanup): Use it.
51692         (test_mtime): Remove the ctime related tests.
51693         (test_ctime): New function, containing the ctime related tests.
51694         (main): Call test_ctime, except on native Windows platforms.
51695
51696 2008-04-27  Bruno Haible  <bruno@clisp.org>
51697
51698         * lib/rpmatch.c (rpmatch): Add some comments.
51699         Reported by James Youngman <jay@gnu.org>.
51700
51701 2008-04-27  Bruno Haible  <bruno@clisp.org>
51702
51703         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
51704         quiet NaNs.
51705
51706 2008-04-27  Bruno Haible  <bruno@clisp.org>
51707
51708         Make test-yesno.sh work on mingw.
51709         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
51710         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
51711         (main): Set stdin to binary mode.
51712         * modules/yesno-tests (Depends-on): Add binary-io.
51713
51714 2008-04-27  Bruno Haible  <bruno@clisp.org>
51715
51716         Fix 'isfinite' on x86, x86_64, ia64 platforms.
51717         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
51718         argument that lie outside the IEEE 854 domain.
51719         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
51720         (gl_ISFINITE): Use it.
51721         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
51722
51723 2008-04-27  Bruno Haible  <bruno@clisp.org>
51724
51725         Allow local renaming in config.h.
51726         * lib/memrchr.c (memrchr): Don't undefine outside libc.
51727
51728 2008-04-27  Bruno Haible  <bruno@clisp.org>
51729
51730         * lib/memchr.c (__memchr): Change type of 'i'.
51731         * lib/memchr2.c (memchr2): Likewise.
51732
51733 2008-04-26  Eric Blake  <ebb9@byu.net>
51734         and Bruno Haible  <bruno@clisp.org>
51735
51736         Optimize and test memrchr.
51737         * modules/memrchr (Depends-on): Add intprops.
51738         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
51739         * modules/memrchr-tests: New file.
51740         * tests/test-memrchr.c: New file.
51741
51742 2008-04-26  Bruno Haible  <bruno@clisp.org>
51743
51744         Add tentative support for DragonFly BSD.
51745         * lib/stdio-impl.h: Add macros for DragonFly BSD.
51746         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
51747         fp.
51748         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
51749         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
51750         * lib/fpurge.c (fpurge): Likewise.
51751         * lib/freadable.c (freaadable): Likewise.
51752         * lib/freadahead.c (freadahead): Likewise.
51753         * lib/freading.c (freading): Likewise.
51754         * lib/freadptr.c (freadptr): Likewise.
51755         * lib/freadseek.c (freadptrinc): Likewise.
51756         * lib/fseeko.c (fseeko): Likewise.
51757         * lib/fseterr.c (fseterr): Likewise.
51758         * lib/fwritable.c (fwritable): Likewise.
51759         * lib/fwriting.c (fwriting): Likewise.
51760
51761 2008-04-26  Bruno Haible  <bruno@clisp.org>
51762
51763         * lib/stdio-impl.h: New file.
51764         * lib/fbufmode.c: Include stdio-impl.h.
51765         (fbufmode): Use fp_, remove redundant #defines.
51766         * lib/fflush.c: Include stdio-impl.h.
51767         (clear_ungetc_buffer): Remove redundant #defines.
51768         * lib/fpurge.c: Include stdio-impl.h.
51769         (fpurge): Remove redundant #defines.
51770         * lib/freadable.c: Include stdio-impl.h.
51771         (freadable): Remove redundant #defines.
51772         * lib/freadahead.c: Include stdio-impl.h.
51773         (freadahead): Remove redundant #defines.
51774         * lib/freading.c: Include stdio-impl.h.
51775         (freading): Remove redundant #defines.
51776         * lib/freadptr.c: Include stdio-impl.h.
51777         (freadptr): Remove redundant #defines.
51778         * lib/freadseek.c: Include stdio-impl.h.
51779         (freadptrinc): Remove redundant #defines.
51780         * lib/fseeko.c: Include stdio-impl.h.
51781         (rpl_fseeko): Remove redundant #defines.
51782         * lib/fseterr.c: Include stdio-impl.h.
51783         (fseterr): Remove redundant #defines.
51784         * lib/fwritable.c: Include stdio-impl.h.
51785         (fwritable: Remove redundant #defines.
51786         * lib/fwriting.c: Include stdio-impl.h.
51787         (fwriting): Remove redundant #defines.
51788         * modules/fbufmode (Files): Add lib/stdio-impl.h.
51789         * modules/fflush (Files): Likewise.
51790         * modules/fpurge (Files): Likewise.
51791         * modules/freadable (Files): Likewise.
51792         * modules/freadahead (Files): Likewise.
51793         * modules/freading (Files): Likewise.
51794         * modules/freadptr (Files): Likewise.
51795         * modules/freadseek (Files): Likewise.
51796         * modules/fseeko (Files): Likewise.
51797         * modules/fseterr (Files): Likewise.
51798         * modules/fwritable (Files): Likewise.
51799         * modules/fwriting (Files): Likewise.
51800
51801 2008-04-26  Bruno Haible  <bruno@clisp.org>
51802
51803         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
51804         restore_seek_optimization, update_fpos_cache): New functions, extracted
51805         from rpl_fflush.
51806         (rpl_fflush): Use them.
51807         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
51808         (gl_REPLACE_FFLUSH): Use it.
51809
51810 2008-04-26  Bruno Haible  <bruno@clisp.org>
51811
51812         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
51813         on Solaris.
51814         * tests/test-xstrtoimax.sh: Likewise.
51815         * tests/test-xstrtoumax.sh: Likewise.
51816         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51817
51818 2008-04-26  Bruno Haible  <bruno@clisp.org>
51819
51820         * modules/memchr-tests: New file.
51821         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
51822
51823 2008-04-26  Eric Blake  <ebb9@byu.net>
51824             Bruno Haible  <bruno@clisp.org>
51825
51826         * lib/memchr.c: Include intprops.h.
51827         (__memchr): Optimize parallel detection of matching bytes. Rename local
51828         variables. Add explanatory comments.
51829
51830 2008-04-26  Bruno Haible  <bruno@clisp.org>
51831
51832         Fix module 'memchr', broken since 2000-10-28.
51833         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
51834
51835 2008-04-26  Bruno Haible  <bruno@clisp.org>
51836
51837         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
51838         comments.
51839
51840 2008-04-25  Eric Blake  <ebb9@byu.net>
51841
51842         Use native fstatat on cygwin 1.7.0.
51843         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
51844         first.
51845
51846 2008-04-23  Eric Blake  <ebb9@byu.net>
51847
51848         Improve memchr2 performance.
51849         * lib/memchr2.c (memchr2): Further optimize parallel detection of
51850         NUL bytes.
51851         * modules/memchr2 (Depends-on): Use intprops.h.
51852
51853 2008-04-23  Simon Josefsson  <simon@josefsson.org>
51854
51855         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
51856         an inline function instead of a CPP macro.  Patch by Ben Pfaff
51857         <blp@cs.stanford.edu>.
51858
51859 2008-04-23  Simon Josefsson  <simon@josefsson.org>
51860
51861         * lib/arpa_inet.in.h: New file.
51862
51863         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
51864         (Makefile.am): Sed in substitute header file.
51865
51866         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
51867         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
51868
51869         * modules/inet_ntop (configure.ac): Use
51870         gl_ARPA_INET_MODULE_INDICATOR.
51871
51872         * modules/inet_pton (configure.ac): Use
51873         gl_ARPA_INET_MODULE_INDICATOR.
51874
51875 2008-04-22  Jim Meyering  <meyering@redhat.com>
51876
51877         * modules/verify (License): Re-license as LGPLv2+.
51878
51879 2008-04-22  Simon Josefsson  <simon@josefsson.org>
51880
51881         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
51882         parameter to void* as per POSIX standard (MinGW uses char*).
51883
51884 2008-04-21  Bruno Haible  <bruno@clisp.org>
51885
51886         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
51887         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
51888         Define to replacements if REPLACE_ISWCNTRL is 1.
51889         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
51890         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
51891         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
51892         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
51893         what it fixes.
51894         * doc/posix-functions/iswalpha.texi: Likewise.
51895         * doc/posix-functions/iswblank.texi: Likewise.
51896         * doc/posix-functions/iswcntrl.texi: Likewise.
51897         * doc/posix-functions/iswdigit.texi: Likewise.
51898         * doc/posix-functions/iswgraph.texi: Likewise.
51899         * doc/posix-functions/iswlower.texi: Likewise.
51900         * doc/posix-functions/iswprint.texi: Likewise.
51901         * doc/posix-functions/iswpunct.texi: Likewise.
51902         * doc/posix-functions/iswspace.texi: Likewise.
51903         * doc/posix-functions/iswupper.texi: Likewise.
51904         * doc/posix-functions/iswxdigit.texi: Likewise.
51905         Reported by Alain Guibert.
51906
51907 2008-04-21  Bruno Haible  <bruno@clisp.org>
51908
51909         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
51910         Patch by Alain Guibert.
51911
51912 2008-04-21  Bruno Haible  <bruno@clisp.org>
51913
51914         Fix test failures on mingw.
51915         * tests/test-xstrtol.c (print_no_progname): New function.
51916         (main): Install it in error_print_progname hook.
51917         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
51918         * tests/test-xstrtoimax.sh: Likewise.
51919         * tests/test-xstrtoumax.sh: Likewise.
51920
51921 2008-04-21  Bruno Haible  <bruno@clisp.org>
51922
51923         Fix test failure on mingw.
51924         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
51925
51926 2008-04-21  Bruno Haible  <bruno@clisp.org>
51927
51928         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
51929         Actually assign a value.
51930
51931 2008-04-20  Bruno Haible  <bruno@clisp.org>
51932
51933         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
51934         take 2.
51935         * lib/canonicalize.c (canonicalize_file_name): Elide if the
51936         'canonicalize-lgpl' module is also used.
51937         * lib/canonicalize-lgpl.c: Undo last change.
51938         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
51939
51940 2008-04-20  Bruno Haible  <bruno@clisp.org>
51941
51942         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
51943         config.h. Provide _mkdir based fallback for mingw.
51944         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
51945         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
51946         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
51947         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
51948         rather than defining mkdir in config.h.
51949         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
51950         (gl_SYS_STAT_H_DEFAULTS): New macro.
51951         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
51952         HAVE_IO_H any more.
51953         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
51954         HAVE_DECL_MKDIR and HAVE_IO_H.
51955
51956 2008-04-20  Bruno Haible  <bruno@clisp.org>
51957
51958         * lib/isapipe.c: Port to native Windows platforms.
51959
51960 2008-04-20  Bruno Haible  <bruno@clisp.org>
51961
51962         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
51963
51964 2008-04-21  Eric Blake  <ebb9@byu.net>
51965
51966         Work around preprocessors that don't handle UINTMAX_MAX.
51967         * lib/memchr2.c (memchr2): Avoid embedded #if.
51968         Reported by Alain Guibert, fix suggested by Bruno Haible.
51969
51970 2008-04-21  Simon Josefsson  <simon@josefsson.org>
51971
51972         * doc/posix-functions/strftime.texi (strftime): Explain better
51973         Windows incompatibility.  Suggested by Micah Cowan
51974         <micah@cowan.name>.
51975
51976 2008-04-20  Bruno Haible  <bruno@clisp.org>
51977
51978         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
51979         unistr/u8-mblen.
51980
51981 2008-04-20  Bruno Haible  <bruno@clisp.org>
51982
51983         Fix test failure on platforms with non-GNU iconv.
51984         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
51985         (U_TO_U8): Use it, rather than u16_to_u8.
51986         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
51987         units at the end of the input string.
51988         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
51989
51990 2008-04-20  Bruno Haible  <bruno@clisp.org>
51991
51992         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
51993         when the resulting length is 0.
51994         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
51995
51996 2008-04-20  Bruno Haible  <bruno@clisp.org>
51997
51998         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
51999         works.
52000         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
52001
52002 2008-04-20  Bruno Haible  <bruno@clisp.org>
52003
52004         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
52005         * modules/tsearch-tests (configure.ac): Test for initstate function.
52006
52007 2008-04-20  Bruno Haible  <bruno@clisp.org>
52008
52009         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
52010         for nlink_t if missing.
52011         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
52012
52013 2008-04-19  Bruno Haible  <bruno@clisp.org>
52014
52015         Work around snprintf bug on Linux libc5.
52016         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
52017         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52018         gl_SNPRINTF_SIZE1.
52019         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52020         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
52021         that test failed.
52022         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
52023         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
52024         * modules/snprintf (Files): Add m4/printf.m4.
52025         * modules/vsnprintf (Files): Likewise.
52026         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
52027         * doc/posix-functions/vsnprintf.texi: Likewise.
52028
52029 2008-04-19  Bruno Haible  <bruno@clisp.org>
52030
52031         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
52032         from 0.0058 to less than 10^-7.
52033
52034 2008-04-19  Bruno Haible  <bruno@clisp.org>
52035
52036         Fix rounding when a precision is given.
52037         * lib/vasnprintf.c (is_borderline): New function.
52038         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
52039         9...9x.
52040         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
52041         %e, %g.
52042         * tests/test-vasprintf-posix.c (test_function): Likewise.
52043         * tests/test-snprintf-posix.h (test_function): Likewise.
52044         * tests/test-sprintf-posix.h (test_function): Likewise.
52045         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
52046         * tests/test-printf-posix.h (test_function): Likewise.
52047         * tests/test-printf-posix.output: Update.
52048         Reported by John Darrington <john@darrington.wattle.id.au> via
52049         Ben Pfaff <blp@cs.stanford.edu>.
52050
52051 2008-04-18  Simon Josefsson  <simon@josefsson.org>
52052
52053         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
52054         Suggested by Bruno Haible <bruno@clisp.org>.
52055
52056 2008-04-17  Bruno Haible  <bruno@clisp.org>
52057
52058         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
52059         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
52060         implementation.
52061         Patch by Bruce Merry <bmerry@gmail.com>.
52062
52063 2008-04-17  Simon Josefsson  <simon@josefsson.org>
52064
52065         * doc/posix-functions/strftime.texi (strftime): Mention that %e
52066         doesn't work under Windows.
52067
52068 2008-04-16  Bruno Haible  <bruno@clisp.org>
52069
52070         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
52071         New macros.
52072         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
52073         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
52074         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
52075         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
52076         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
52077         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
52078         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
52079         macros.
52080         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
52081         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
52082         Northern Sotho, Uighur.
52083
52084 2008-04-16  Bruno Haible  <bruno@clisp.org>
52085
52086         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
52087         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
52088         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
52089         Reported by Daniel Bergström <daniel@octocode.com>.
52090
52091 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
52092             Bruno Haible  <bruno@clisp.org>
52093
52094         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
52095         function.
52096         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
52097         New functions, mostly extracted from gl_locale_name_default.
52098         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
52099
52100 2008-04-16  Eric Blake  <ebb9@byu.net>
52101
52102         Adjust strtod detection to catch glibc 2.7 bug.
52103         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
52104         Reported by John Gatewood Ham.
52105
52106 2008-04-16  Bruno Haible  <bruno@clisp.org>
52107
52108         Add tentative support for Linux libc5.
52109         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
52110         * lib/fpurge.c (fpurge): Likewise.
52111         * lib/freadable.c (freadable): Likewise.
52112         * lib/freadahead.c (freadahead): Likewise.
52113         * lib/freading.c (freading): Likewise.
52114         * lib/freadptr.c (freadptr): Likewise.
52115         * lib/freadseek.c (freadptrinc): Likewise.
52116         * lib/fseeko.c (rpl_fseeko): Likewise.
52117         * lib/fseterr.c (fseterr): Likewise.
52118         * lib/fwritable.c (fwritable): Likewise.
52119         * lib/fwriting.c (fwriting): Likewise.
52120         Reported by Alain Guibert <alguibert+bts@free.fr>.
52121
52122 2008-04-15  Bruno Haible  <bruno@clisp.org>
52123
52124         * modules/mathl (configure.ac): Define module indicator.
52125
52126 2008-04-15  Bruno Haible  <bruno@clisp.org>
52127
52128         * lib/logl.c (logl): Remove unused variables.
52129
52130 2008-04-15  Bruno Haible  <bruno@clisp.org>
52131
52132         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
52133         fails.
52134
52135 2008-04-15  Bruno Haible  <bruno@clisp.org>
52136
52137         * lib/trim.c (trim2): Fix argument of isspace() macro.
52138
52139 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
52140
52141         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
52142         to 0.
52143         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
52144
52145 2008-04-14  Bruno Haible  <bruno@clisp.org>
52146
52147         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
52148         AC_LANG_PROGRAM argument.
52149         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
52150         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
52151         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
52152         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
52153         * m4/math_h.m4 (gl_MATH_H): Likewise.
52154         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
52155         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52156         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
52157         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
52158         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
52159         * m4/regex.m4 (gl_REGEX): Likewise.
52160         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
52161         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
52162         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52163         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
52164         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52165         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52166         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52167         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
52168
52169 2008-04-14  Jim Meyering  <meyering@redhat.com>
52170
52171         test-strtod: fix typos: s/abs/fabs/
52172         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
52173
52174 2008-04-13  Bruno Haible  <bruno@clisp.org>
52175
52176         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
52177         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
52178         module is also used and while not building the reloc-wrapper.
52179
52180 2008-04-13  Bruno Haible  <bruno@clisp.org>
52181
52182         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
52183
52184 2008-04-13  Bruno Haible  <bruno@clisp.org>
52185
52186         Fix AIX compilation failure introduced on 2008-04-02.
52187         * tests/test-frexp.c (exp): Undefine before redefining.
52188         * tests/test-frexpl.c (exp): Likewise.
52189
52190 2008-04-13  Bruno Haible  <bruno@clisp.org>
52191
52192         Work around a HP-UX stdio bug.
52193         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
52194         * tests/test-ftello.c (main): Likewise.
52195         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
52196         * doc/posix-functions/ftello.texi: Likewise.
52197
52198 2008-04-13  Bruno Haible  <bruno@clisp.org>
52199
52200         Make test-signbit pass on HP-UX/hppa.
52201         * tests/test-signbit.c (minus_zerol): New variable.
52202         (test_signbitl): Use it.
52203
52204 2008-04-13  Bruno Haible  <bruno@clisp.org>
52205
52206         Make truncl work on OSF/1 4.0.
52207         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
52208         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
52209         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
52210         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
52211         HAVE_DECL_TRUNCL.
52212         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
52213         HAVE_DECL_TRUNCL.
52214         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
52215
52216 2008-04-13  Bruno Haible  <bruno@clisp.org>
52217
52218         * lib/unictype.h: Remove trailing comma from enumeration definitions.
52219
52220 2008-04-13  Bruno Haible  <bruno@clisp.org>
52221
52222         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
52223         expression, so as to avoid HP-UX 11 cc compiler bug.
52224
52225 2008-04-13  Bruno Haible  <bruno@clisp.org>
52226
52227         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
52228
52229 2008-04-13  Bruno Haible  <bruno@clisp.org>
52230
52231         * lib/git-merge-changelog.c: Remove empty declaration outside of
52232         functions.
52233
52234 2008-04-13  Bruno Haible  <bruno@clisp.org>
52235
52236         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
52237
52238 2008-04-13  Bruno Haible  <bruno@clisp.org>
52239
52240         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
52241         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
52242         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
52243         also if it exists but lacks definitions of the SHUT_* macros.
52244         * modules/sys_socket (Description): Update.
52245         Reported by Elbert Pol <e.pol@chello.nl>.
52246
52247 2008-04-13  Bruno Haible  <bruno@clisp.org>
52248
52249         * lib/localcharset.c (OS2): Don't redefine if already defined.
52250         Reported by Elbert Pol <e.pol@chello.nl>.
52251
52252 2008-04-13  Bruno Haible  <bruno@clisp.org>
52253
52254         * lib/binary-io.h [__EMX__]: Include <io.h>.
52255         Reported by Elbert Pol <e.pol@chello.nl>.
52256
52257 2008-04-12  Bruno Haible  <bruno@clisp.org>
52258
52259         * lib/fpucw.h: Enable the definitions also for x86_64.
52260         Needed for NetBSD/x86_64.
52261         Reported by Thomas Klausner <tk@giga.or.at>.
52262
52263 2008-04-12  Bruno Haible  <bruno@clisp.org>
52264
52265         * tests/test-strtod.c: Include isnand.h.
52266         (main): Use isnand instead of isnan.
52267         Reported by Jim Meyering.
52268
52269 2008-04-12  Bruno Haible  <bruno@clisp.org>
52270
52271         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
52272         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
52273
52274 2008-04-12  Jim Meyering  <meyering@redhat.com>
52275
52276         * m4/math_h.m4 (gl_MATH_H): Fix typos.
52277
52278 2008-04-12  Bruno Haible  <bruno@clisp.org>
52279
52280         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
52281         Reported by Elbert Pol <e.pol@chello.nl>.
52282
52283 2008-04-12  Eric Blake  <ebb9@byu.net>
52284
52285         Work around Solaris 10 math.h bug.
52286         * m4/math_h.m4 (gl_MATH_H): Check for bug.
52287         (gl_MATH_H_DEFAULTS): Set up default.
52288         * modules/math (Makefile.am): Replace new indicators.
52289         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
52290         * tests/test-math.c (main): Test this.
52291         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
52292         * doc/posix-headers/math.texi (math.h): Mention bug.
52293         Reported by Nelson H. F. Beebe and Jim Meyering.
52294
52295 2008-04-11  Bruno Haible  <bruno@clisp.org>
52296
52297         Adapt to future versions of Apple GCC.
52298         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
52299         Reported by Peter O'Gorman <peter@pogma.com>.
52300
52301 2008-04-11  Bruno Haible  <bruno@clisp.org>
52302
52303         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
52304
52305 2008-04-11  Bruno Haible  <bruno@clisp.org>
52306
52307         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
52308
52309         * modules/getaddrinfo-tests (Makefile.am): Define
52310         test_getaddrinfo_LDADD.
52311
52312 2008-04-11  Bruno Haible  <bruno@clisp.org>
52313
52314         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
52315         (init): Fix syntax error.
52316         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
52317         is declared.
52318
52319 2008-04-11  Bruno Haible  <bruno@clisp.org>
52320
52321         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
52322         * modules/glob (Depends-on): Add stdbool.
52323
52324 2008-04-11  Bruno Haible  <bruno@clisp.org>
52325
52326         * lib/trim.c: Include <string.h>.
52327
52328 2008-04-11  Eric Blake  <ebb9@byu.net>
52329
52330         Avoid compile failure on OS/2.
52331         * lib/regex_internal.h (internal_function): Disable optimization
52332         on OS/2 (__EMX__), where it caused compiler error.
52333         Reported by Elbert Pol.
52334
52335 2008-04-11  Bruno Haible  <bruno@clisp.org>
52336
52337         Flush the standard error stream before aborting. Needed on mingw.
52338         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
52339         * tests/test-array_list.c (ASSERT): Likewise.
52340         * tests/test-array_oset.c (ASSERT): Likewise.
52341         * tests/test-avltree_list.c (ASSERT): Likewise.
52342         * tests/test-avltree_oset.c (ASSERT): Likewise.
52343         * tests/test-avltreehash_list.c (ASSERT): Likewise.
52344         * tests/test-binary-io.c (ASSERT): Likewise.
52345         * tests/test-byteswap.c (ASSERT): Likewise.
52346         * tests/test-c-ctype.c (ASSERT): Likewise.
52347         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
52348         * tests/test-c-strcasestr.c (ASSERT): Likewise.
52349         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
52350         * tests/test-c-strstr.c (ASSERT): Likewise.
52351         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
52352         * tests/test-canonicalize.c (ASSERT): Likewise.
52353         * tests/test-carray_list.c (ASSERT): Likewise.
52354         * tests/test-ceilf1.c (ASSERT): Likewise.
52355         * tests/test-ceilf2.c (ASSERT): Likewise.
52356         * tests/test-ceill.c (ASSERT): Likewise.
52357         * tests/test-count-one-bits.c (ASSERT): Likewise.
52358         * tests/test-fbufmode.c (ASSERT): Likewise.
52359         * tests/test-fflush2.c (ASSERT): Likewise.
52360         * tests/test-floorf1.c (ASSERT): Likewise.
52361         * tests/test-floorf2.c (ASSERT): Likewise.
52362         * tests/test-floorl.c (ASSERT): Likewise.
52363         * tests/test-fopen.c (ASSERT): Likewise.
52364         * tests/test-fpending.c (ASSERT): Likewise.
52365         * tests/test-fprintf-posix.c (ASSERT): Likewise.
52366         * tests/test-fpurge.c (ASSERT): Likewise.
52367         * tests/test-freadable.c (ASSERT): Likewise.
52368         * tests/test-freadahead.c (ASSERT): Likewise.
52369         * tests/test-freading.c (ASSERT): Likewise.
52370         * tests/test-freadptr.c (ASSERT): Likewise.
52371         * tests/test-freadptr2.c (ASSERT): Likewise.
52372         * tests/test-freadseek.c (ASSERT): Likewise.
52373         * tests/test-freopen.c (ASSERT): Likewise.
52374         * tests/test-frexp.c (ASSERT): Likewise.
52375         * tests/test-frexpl.c (ASSERT): Likewise.
52376         * tests/test-fseek.c (ASSERT): Likewise.
52377         * tests/test-fseeko.c (ASSERT): Likewise.
52378         * tests/test-fstrcmp.c (ASSERT): Likewise.
52379         * tests/test-ftell.c (ASSERT): Likewise.
52380         * tests/test-ftello.c (ASSERT): Likewise.
52381         * tests/test-func.c (ASSERT): Likewise.
52382         * tests/test-fwritable.c (ASSERT): Likewise.
52383         * tests/test-fwriting.c (ASSERT): Likewise.
52384         * tests/test-getdelim.c (ASSERT): Likewise.
52385         * tests/test-getline.c (ASSERT): Likewise.
52386         * tests/test-i-ring.c (ASSERT): Likewise.
52387         * tests/test-iconv-utf.c (ASSERT): Likewise.
52388         * tests/test-iconv.c (ASSERT): Likewise.
52389         * tests/test-isfinite.c (ASSERT): Likewise.
52390         * tests/test-isnand.c (ASSERT): Likewise.
52391         * tests/test-isnanf.c (ASSERT): Likewise.
52392         * tests/test-isnanl.h (ASSERT): Likewise.
52393         * tests/test-ldexpl.c (ASSERT): Likewise.
52394         * tests/test-linked_list.c (ASSERT): Likewise.
52395         * tests/test-linkedhash_list.c (ASSERT): Likewise.
52396         * tests/test-localename.c (ASSERT): Likewise.
52397         * tests/test-lseek.c (ASSERT): Likewise.
52398         * tests/test-mbscasecmp.c (ASSERT): Likewise.
52399         * tests/test-mbscasestr1.c (ASSERT): Likewise.
52400         * tests/test-mbscasestr2.c (ASSERT): Likewise.
52401         * tests/test-mbscasestr3.c (ASSERT): Likewise.
52402         * tests/test-mbscasestr4.c (ASSERT): Likewise.
52403         * tests/test-mbschr.c (ASSERT): Likewise.
52404         * tests/test-mbscspn.c (ASSERT): Likewise.
52405         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
52406         * tests/test-mbspbrk.c (ASSERT): Likewise.
52407         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
52408         * tests/test-mbsrchr.c (ASSERT): Likewise.
52409         * tests/test-mbsspn.c (ASSERT): Likewise.
52410         * tests/test-mbsstr1.c (ASSERT): Likewise.
52411         * tests/test-mbsstr2.c (ASSERT): Likewise.
52412         * tests/test-mbsstr3.c (ASSERT): Likewise.
52413         * tests/test-memchr2.c (ASSERT): Likewise.
52414         * tests/test-memmem.c (ASSERT): Likewise.
52415         * tests/test-open.c (ASSERT): Likewise.
52416         * tests/test-printf-frexp.c (ASSERT): Likewise.
52417         * tests/test-printf-frexpl.c (ASSERT): Likewise.
52418         * tests/test-printf-posix.c (ASSERT): Likewise.
52419         * tests/test-quotearg.c (ASSERT): Likewise.
52420         * tests/test-rbtree_list.c (ASSERT): Likewise.
52421         * tests/test-rbtree_oset.c (ASSERT): Likewise.
52422         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
52423         * tests/test-round1.c (ASSERT): Likewise.
52424         * tests/test-roundf1.c (ASSERT): Likewise.
52425         * tests/test-roundl.c (ASSERT): Likewise.
52426         * tests/test-signbit.c (ASSERT): Likewise.
52427         * tests/test-sleep.c (ASSERT): Likewise.
52428         * tests/test-snprintf-posix.c (ASSERT): Likewise.
52429         * tests/test-snprintf.c (ASSERT): Likewise.
52430         * tests/test-sprintf-posix.c (ASSERT): Likewise.
52431         * tests/test-stat-time.c (ASSERT): Likewise.
52432         * tests/test-strcasestr.c (ASSERT): Likewise.
52433         * tests/test-strerror.c (ASSERT): Likewise.
52434         * tests/test-striconv.c (ASSERT): Likewise.
52435         * tests/test-striconveh.c (ASSERT): Likewise.
52436         * tests/test-striconveha.c (ASSERT): Likewise.
52437         * tests/test-strsignal.c (ASSERT): Likewise.
52438         * tests/test-strstr.c (ASSERT): Likewise.
52439         * tests/test-strtod.c (ASSERT): Likewise.
52440         * tests/test-trunc1.c (ASSERT): Likewise.
52441         * tests/test-trunc2.c (ASSERT): Likewise.
52442         * tests/test-truncf1.c (ASSERT): Likewise.
52443         * tests/test-truncf2.c (ASSERT): Likewise.
52444         * tests/test-truncl.c (ASSERT): Likewise.
52445         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
52446         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
52447         * tests/test-vasnprintf.c (ASSERT): Likewise.
52448         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
52449         * tests/test-vasprintf.c (ASSERT): Likewise.
52450         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
52451         * tests/test-vprintf-posix.c (ASSERT): Likewise.
52452         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
52453         * tests/test-vsnprintf.c (ASSERT): Likewise.
52454         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
52455         * tests/test-wcwidth.c (ASSERT): Likewise.
52456         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
52457         * tests/test-xprintf-posix.c (ASSERT): Likewise.
52458         * tests/test-xvasprintf.c (ASSERT): Likewise.
52459         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
52460         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
52461         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
52462         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
52463         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
52464         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
52465         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
52466         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
52467         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
52468         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
52469         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
52470         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
52471         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
52472         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
52473         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
52474         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
52475         * tests/unictype/test-block_list.c (ASSERT): Likewise.
52476         * tests/unictype/test-block_of.c (ASSERT): Likewise.
52477         * tests/unictype/test-block_test.c (ASSERT): Likewise.
52478         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
52479         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
52480         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
52481         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
52482         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
52483         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
52484         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
52485         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
52486         * tests/unictype/test-combining.c (ASSERT): Likewise.
52487         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
52488         * tests/unictype/test-digit.c (ASSERT): Likewise.
52489         * tests/unictype/test-mirror.c (ASSERT): Likewise.
52490         * tests/unictype/test-numeric.c (ASSERT): Likewise.
52491         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
52492         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
52493         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
52494         * tests/unictype/test-scripts.c (ASSERT): Likewise.
52495         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
52496         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
52497         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
52498         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
52499         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
52500         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
52501         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
52502         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
52503         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
52504         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
52505         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
52506         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
52507         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
52508         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
52509         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
52510         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
52511         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
52512         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
52513         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
52514         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
52515         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
52516         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
52517         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
52518         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
52519         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
52520         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
52521         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
52522         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
52523         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
52524         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
52525         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
52526         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
52527         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
52528         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
52529         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
52530         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
52531         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
52532         Reported by Eric Blake.
52533
52534 2008-04-11  Bruno Haible  <bruno@clisp.org>
52535
52536         * lib/wchar.in.h: Tweak comment.
52537
52538 2008-04-11  Bruno Haible  <bruno@clisp.org>
52539
52540         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
52541         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
52542         gl_COMMON.
52543         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
52544
52545 2008-04-11  Bruno Haible  <bruno@clisp.org>
52546
52547         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
52548
52549 2008-04-11  Simon Josefsson  <simon@josefsson.org>
52550
52551         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
52552         of attempting to use non-existing /dev/*random.  Based on patch
52553         from Adam Strzelecki <ono@java.pl> in
52554         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
52555
52556 2008-04-08  Bruno Haible  <bruno@clisp.org>
52557
52558         Add tentative support for emx+gcc.
52559         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
52560         * lib/fpurge.c (fpurge): Likewise.
52561         * lib/freadable.c (freadable): Likewise.
52562         * lib/freadahead.c (freadahead): Likewise.
52563         * lib/freading.c (freading): Likewise.
52564         * lib/freadptr.c (freadptr): Likewise.
52565         * lib/freadseek.c (freadptrinc): Likewise.
52566         * lib/fseeko.c (rpl_fseeko): Likewise.
52567         * lib/fseterr.c (fseterr): Likewise.
52568         * lib/fwritable.c (fwritable): Likewise.
52569         * lib/fwriting.c (fwriting): Likewise.
52570         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
52571
52572 2008-04-09  Eric Blake  <ebb9@byu.net>
52573
52574         Avoid some autoconf warnings.
52575         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
52576         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
52577         * m4/afs.m4 (gl_AFS): Likewise.
52578         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
52579         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
52580         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
52581         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
52582         (gl_INTEGER_TYPE_SUFFIX): Likewise.
52583         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
52584         (AC_CHECK_DECLS_ONCE): Likewise.
52585         Rename file...
52586         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
52587         gnulib-tool requires autoconf 2.59 or better.
52588         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
52589
52590 2008-04-08  Eric Blake  <ebb9@byu.net>
52591
52592         Use 'git describe --match' if present (added in git 1.5.5).
52593         * build-aux/git-version-gen: Limit result to tags that match 'v*'
52594         if possible.
52595
52596 2008-04-08  Bruno Haible  <bruno@clisp.org>
52597
52598         Add tentative support for OpenServer.
52599         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
52600         _ptr, _cnt.
52601         * lib/fpurge.c (fpurge): Likewise.
52602         * lib/freadable.c (freadable): Likewise.
52603         * lib/freadahead.c (freadahead): Likewise.
52604         * lib/freading.c (freading): Likewise.
52605         * lib/freadptr.c (freadptr): Likewise.
52606         * lib/freadseek.c (freadptrinc): Likewise.
52607         * lib/fseeko.c (rpl_fseeko): Likewise.
52608         * lib/fseterr.c (fseterr): Likewise.
52609         * lib/fwritable.c (fwritable): Likewise.
52610         * lib/fwriting.c (fwriting): Likewise.
52611         Reported by Roger Cornelius <rac@tenzing.org> and
52612         Brian K. White <brian@aljex.com>.
52613
52614 2008-04-06  Jim Meyering  <meyering@redhat.com>
52615
52616         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
52617
52618 2008-04-06  Bruno Haible  <bruno@clisp.org>
52619
52620         Avoid possible error with non-ASCII bytes in UTF-8 locales.
52621         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
52622         * tests/test-printf-posix.sh: Likewise.
52623         * tests/test-vfprintf-posix.sh: Likewise.
52624         * tests/test-vprintf-posix.sh: Likewise.
52625         * tests/test-xprintf-posix.sh: Likewise.
52626
52627 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52628
52629         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
52630         hide error from 'ls', needed on OS/2.
52631         Report by Elbert Pol <elbert.pol@gmail.com>.
52632
52633 2008-04-04  Eric Blake  <ebb9@byu.net>
52634
52635         Make test-fseeko.c failures meaningful.
52636         * tests/test-fseeko.c: Print line number on failure.
52637         * tests/test-fseek.c: Likewise.
52638         Reported by Nelson H. F. Beebe.
52639
52640         Improve strtod bug detection check.
52641         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
52642         required for Solaris 10.
52643         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
52644
52645 2008-04-04  Bruno Haible  <bruno@clisp.org>
52646
52647         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
52648         by m4/setenv.m4.
52649
52650 2008-04-03  Eric Blake  <ebb9@byu.net>
52651
52652         Ensure sane .version contents.
52653         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
52654         version string.
52655         * build-aux/git-version-gen: Improve documentation.
52656
52657         Make GNU make output nicer.
52658         * top/GNUmakefile [!_have-Makefile]: Add dependency on
52659         MAKECMDGOALS to enforce message for all command line targets.  Set
52660         srcdir for use in maint.mk.
52661
52662         Another maintainer tweak.
52663         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
52664         a target that regenerates version.
52665
52666 2008-04-03  Jim Meyering  <meyering@redhat.com>
52667
52668         vc-list-files: don't cause coreutils "make po-check" failure
52669         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
52670
52671 2008-04-03  Eric Blake  <ebb9@byu.net>
52672
52673         Allow VPATH usage of vc-list-files.
52674         * build-aux/vc-list-files (scriptversion): Add timestamp.
52675         (options): Add --help, --version, -C.
52676         (CVS): Support installed cvsu.
52677
52678 2008-04-02  Bruno Haible  <bruno@clisp.org>
52679
52680         Avoid some "statement with no effect" warnings from gcc.
52681         * tests/test-wctype.c (main): Explicitly ignore unused values.
52682         Reported by Jim Meyering.
52683
52684 2008-04-02  Jim Meyering  <meyering@redhat.com>
52685
52686         Avoid some warnings from "gcc -Wshadow".
52687         * tests/test-frexp.c (exp): Define to a different identifier.
52688         * tests/test-frexpl.c (exp): Likewise.
52689
52690 2008-04-03  Jim Meyering  <meyering@redhat.com>
52691
52692         bootstrap: remove dangling *.[ch] symlinks from lib
52693         * build-aux/bootstrap [dangling symlink removal]: Move find's
52694         -depth option to precede all others, to avoid a warning.
52695         Remove *.[ch] files too, and from "$source_base" (usually lib/).
52696
52697 2008-04-02  Bruno Haible  <bruno@clisp.org>
52698
52699         Avoid some warnings from "gcc -Wshadow".
52700         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
52701         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
52702         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
52703         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
52704         Reported by Jim Meyering.
52705
52706 2008-04-01  Bruno Haible  <bruno@clisp.org>
52707
52708         Fix test to work on IRIX 6.5 with cc.
52709         * tests/test-math.c (numeric_equal): New function.
52710         (main): Use it.
52711
52712 2008-04-01  Bruno Haible  <bruno@clisp.org>
52713
52714         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
52715
52716 2008-04-01  Bruno Haible  <bruno@clisp.org>
52717
52718         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
52719         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
52720         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
52721         (Depends-on): Remove math.
52722
52723         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
52724         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
52725         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
52726         (Depends-on): Remove math.
52727
52728         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
52729         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
52730         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
52731         (Depends-on): Remove math.
52732         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
52733         (Depends-on): Remove math.
52734
52735         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
52736         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
52737         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
52738         (Depends-on): Remove math.
52739         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
52740         (Depends-on): Remove math.
52741
52742         * tests/test-round1.c: Include nan.h.
52743         (main): Use NaNd instead of NAN.
52744         * modules/round-tests (Files): Add tests/nan.h.
52745
52746         * tests/test-trunc1.c: Include nan.h.
52747         (main): Use NaNd instead of NAN.
52748         * modules/trunc-tests (Files): Add tests/nan.h.
52749
52750         * tests/test-roundf1.c: Include nan.h.
52751         (main): Use NaNf instead of NAN.
52752         * modules/roundf-tests (Files): Add tests/nan.h.
52753
52754         * tests/test-truncf1.c: Include nan.h.
52755         (main): Use NaNf instead of NAN.
52756         * modules/truncf-tests (Files): Add tests/nan.h.
52757
52758         * tests/test-ceilf1.c: Include nan.h.
52759         (main): Use NaNf instead of NAN.
52760         * modules/ceilf-tests (Files): Add tests/nan.h.
52761
52762         * tests/test-floorf1.c: Include nan.h.
52763         (main): Use NaNf instead of NAN.
52764         * modules/floorf-tests (Files): Add tests/nan.h.
52765
52766         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
52767         (main): Use NaNf instead of NAN.
52768         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
52769
52770         * tests/test-isnand.c: Include nan.h instead of <math.h>.
52771         (main): Use NaNd instead of NAN.
52772         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
52773
52774         * tests/test-frexp.c: Include nan.h.
52775         (main): Use NaNd instead of NAN.
52776         * modules/frexp-tests (Files): Add tests/nan.h.
52777
52778         * lib/isnan.c: Don't include <math.h>.
52779         (FUNC): Don't use NAN macro.
52780         * modules/isnand-nolibm (Depends-on): Remove math.
52781         * modules/isnanf-nolibm (Depends-on): Remove math.
52782         * modules/isnanl (Depends-on): Remove math.
52783         * modules/isnanl-nolibm (Depends-on): Remove math.
52784
52785         * tests/nan.h: New file.
52786
52787 2008-04-01  Eric Blake  <ebb9@byu.net>
52788
52789         Fix typos.
52790         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
52791         values to be the right type.
52792
52793         For now, cater to gnulib strtod inaccuracies.
52794         * tests/test-strtod.c (main): Allow 1-ulp error on expected
52795         fractional results.  While not as nice from a QoI perspective, it
52796         is a quicker patch than correctly implementing decimal to binary
52797         rounding.
52798
52799 2008-03-31  Eric Blake  <ebb9@byu.net>
52800
52801         Guarantee a definition of NAN.
52802         * lib/math.in.h (NAN): Define if missing.
52803         * tests/test-math.c (main): Test it.
52804         * doc/posix-headers/math.texi (math.h): Document this.
52805         * lib/isnan.c (rpl_isnand): Use it.
52806         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
52807         * tests/test-floorf1.c (NaN): Likewise.
52808         * tests/test-frexp.c (NaN): Likewise.
52809         * tests/test-isnand.c (NaN): Likewise.
52810         * tests/test-isnanf.c (NaN): Likewise.
52811         * tests/test-round1.c (NaN): Likewise.
52812         * tests/test-roundf1.c (NaN): Likewise.
52813         * tests/test-snprintf-posix.h (NaN): Likewise.
52814         * tests/test-sprintf-posix.h (NaN): Likewise.
52815         * tests/test-trunc1.c (NaN): Likewise.
52816         * tests/test-truncf1.c (NaN): Likewise.
52817         * tests/test-vasnprintf-posix.c (NaN): Likewise.
52818         * tests/test-vasprintf-posix.c (NaN): Likewise.
52819         * modules/isnand-nolibm (Depends-on): Add math.
52820         * modules/isnanf-nolibm (Depends-on): Likewise.
52821         * modules/isnanl (Depends-on): Likewise.
52822         * modules/isnanl-nolibm (Depends-on): Likewise.
52823         * modules/snprintf-posix-tests (Depends-on): Likewise.
52824         * modules/sprintf-posix-tests (Depends-on): Likewise.
52825         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
52826         * modules/vsprintf-posix-tests (Depends-on): Likewise.
52827         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
52828         * modules/vasprintf-posix-tests (Depends-on): Likewise.
52829
52830 2008-03-31  Bruno Haible  <bruno@clisp.org>
52831
52832         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
52833         * doc/posix-functions/strtod.texi: Likewise.
52834
52835 2008-03-31  Bruno Haible  <bruno@clisp.org>
52836
52837         * tests/test-strtod.c (main): Don't use C99 syntax.
52838
52839 2008-03-31  Bruno Haible  <bruno@clisp.org>
52840
52841         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
52842         Reported by Eric Blake.
52843
52844 2008-03-31  Jim Meyering  <meyering@redhat.com>
52845
52846         Don't compare actual signbit return values.
52847         * tests/test-strtod.c (main): Rather, compare only their
52848         zero/non-zero nature.
52849
52850 2008-03-31  Eric Blake  <ebb9@byu.net>
52851
52852         More strtod documentation.
52853         * doc/posix-functions/strtod.texi (strtod): Interpret more test
52854         failures as distinct bugs.
52855
52856 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
52857
52858         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
52859         Problem reported by Erik Benada in
52860         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
52861
52862 2008-03-30  Bruno Haible  <bruno@clisp.org>
52863
52864         * tests/test-strtod.c: Add comments about which assertion fails on which
52865         platform.
52866         * doc/posix-functions/strtod.texi: Add info about many more platforms.
52867
52868 2008-03-30  Eric Blake  <ebb9@byu.net>
52869
52870         Test signbit behavior on zeros.
52871         * tests/test-signbit.c (test_signbitf): Add tests for zero.
52872         (test_signbitd, test_signbitl): Likewise.
52873
52874         More strtod touchups.
52875         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
52876         sign of negative underflow, for now.  Use .5, not .1.
52877         * doc/posix-functions/strtod.texi (strtod): Mention these
52878         limitations.
52879         Reported by Jim Meyering.
52880
52881 2008-03-30  Bruno Haible  <bruno@clisp.org>
52882
52883         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
52884         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
52885
52886 2008-03-30  Bruno Haible  <bruno@clisp.org>
52887
52888         Avoid failure when attempting to return empty iconv results on some
52889         platforms.
52890         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
52891         allocation, don't report ENOMEM when the resulting string is empty.
52892
52893 2008-03-30  Bruno Haible  <bruno@clisp.org>
52894
52895         Fix buffer overrun.
52896         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
52897         Don't consider the width for tmp_length. Check count against tmp_length
52898         before doing the padding. Ensure enough allocation during padding.
52899
52900 2008-03-30  Eric Blake  <ebb9@byu.net>
52901
52902         strtod touchups.
52903         * lib/strtod.c (strtod): Avoid compiler warnings.
52904         Reported by Jim Meyering.
52905
52906 2008-03-30  Bruno Haible  <bruno@clisp.org>
52907
52908         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
52909         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
52910         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
52911         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
52912         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
52913         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
52914         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
52915         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
52916
52917         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
52918         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
52919         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
52920         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
52921         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
52922         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
52923         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
52924         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
52925
52926         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
52927         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
52928         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
52929         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
52930         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
52931         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
52932         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
52933         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
52934
52935         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
52936         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
52937
52938         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
52939         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
52940
52941         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
52942         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
52943
52944         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
52945         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
52946         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
52947
52948         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
52949         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
52950         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
52951
52952         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
52953         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
52954         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
52955
52956         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
52957         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
52958         * modules/vasprintf (Depends-on): Add EOVERFLOW.
52959
52960         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
52961         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
52962         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
52963         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
52964         (Depends-on): Add EOVERFLOW.
52965         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
52966         (Depends-on): Add EOVERFLOW.
52967         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
52968         (Depends-on): Add EOVERFLOW.
52969         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
52970         (Depends-on): Add EOVERFLOW.
52971         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
52972         (Depends-on): Add EOVERFLOW.
52973         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
52974         (Depends-on): Add EOVERFLOW.
52975         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
52976         (Depends-on): Add EOVERFLOW.
52977         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
52978         (Depends-on): Add EOVERFLOW.
52979
52980         * lib/sprintf.c (EOVERFLOW): Remove fallback.
52981         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
52982         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
52983
52984         * lib/snprintf.c (EOVERFLOW): Remove fallback.
52985         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
52986         * modules/snprintf (Depends-on): Add EOVERFLOW.
52987
52988         * lib/poll.c (EOVERFLOW): Remove fallback.
52989         * modules/poll (Depends-on): Add EOVERFLOW.
52990
52991         * lib/getugroups.c (EOVERFLOW): Remove fallback.
52992         * modules/getugroups (Depends-on): Add EOVERFLOW.
52993
52994         * lib/getdelim.c (EOVERFLOW): Remove fallback.
52995         * modules/getdelim (Depends-on): Add EOVERFLOW.
52996
52997         * lib/ftell.c (EOVERFLOW): Remove fallback.
52998         * modules/ftell (Depends-on): Add EOVERFLOW.
52999
53000         * lib/fprintf.c (EOVERFLOW): Remove fallback.
53001         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
53002         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
53003
53004         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
53005
53006         * modules/EOVERFLOW-tests: New file.
53007         * tests/test-EOVERFLOW.c: New file.
53008
53009         * modules/EOVERFLOW: New file.
53010         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
53011
53012 2008-03-30  Bruno Haible  <bruno@clisp.org>
53013
53014         Fix bug introduced on 2007-06-10.
53015         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
53016         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
53017
53018 2008-03-30  Bruno Haible  <bruno@clisp.org>
53019
53020         Improve freadseek's efficiency after ungetc.
53021         * lib/freadseek.c: Include freadahead.h.
53022         (freadptrinc): New function, extracted from freadseek.
53023         (freadseek): Use it in a loop. Use freadahead to determine the number
53024         of loop iterations.
53025         * modules/freadseek (Depends-on): Add freadahead.
53026         (configure.ac): Require AC_C_INLINE.
53027
53028 2008-03-30  Bruno Haible  <bruno@clisp.org>
53029
53030         * lib/freadseek.c (freadseek): Don't ignore the return value of
53031         freadptr.
53032
53033 2008-03-29  Eric Blake  <ebb9@byu.net>
53034
53035         Add hex float support.
53036         * modules/strtod (Depends-on): Add c-ctype.
53037         (Link): Mention POW_LIB.
53038         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
53039         whitespace between 'e' and exponent.
53040         * tests/test-strtod.c (main): Enable hex float tests.
53041         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
53042         now provides.
53043
53044         Document various strtod bugs, with some fixes.
53045         * doc/posix-functions/strtod.texi (strtod): Document bugs with
53046         "-0x", "inf", "nan", and hex constants.
53047         * doc/posix-functions/atof.texi (atof): Likewise.
53048         * modules/stdlib (Makefile.am): Support strtod.
53049         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
53050         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
53051         detect additional strtod bugs.
53052         * lib/stdlib.in.h (rpl_strtod): Add declarations.
53053         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
53054         bool where appropriate.  Parse 'inf' and 'nan'.
53055         * tests/test-strtod.c: New file.
53056         * modules/strtod (Depends-on): Add stdbool, stdlib.
53057         (configure.ac): Turn on module indicator.
53058         * modules/strtod-tests: New module.
53059
53060 2008-03-29  Eric Blake  <ebb9@byu.net>
53061
53062         Fix ftell on mingw.
53063         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
53064         * modules/ftell-tests (Depends-on): Add binary-io.
53065         * modules/ftello-tests (Depends-on): Likewise.
53066         * tests/test-ftell.c (main): Enhance test to cover behavior after
53067         ungetc.  Enforce binary mode.
53068         * tests/test-ftello.c (main): Likewise.
53069
53070         Pass test-freadseek on cygwin.
53071         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
53072         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
53073         ungetc buffer.
53074
53075         * tests/test-fflush2.c (main): Fix typo.
53076
53077 2008-03-29  Bruno Haible  <bruno@clisp.org>
53078
53079         * tests/test-fflush2.c (main): Temporarily disable the contents of
53080         this test.
53081         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
53082         Reported by Eric Blake.
53083
53084 2008-03-28  Simon Josefsson  <simon@josefsson.org>
53085
53086         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
53087         (GC_SHA224_DIGEST_SIZE): Add.
53088
53089         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
53090         (gc_hash_digest_length): Likewise.
53091         (gc_hash_buffer): Likewise.
53092
53093 2008-03-25  Bruno Haible  <bruno@clisp.org>
53094
53095         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
53096         detail which gettext release to use.
53097         Reported by Simon Josefsson.
53098
53099 2008-03-26  Jim Meyering  <meyering@redhat.com>
53100
53101         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
53102         * modules/gnumakefile (clean-GNUmakefile): Also, use
53103         test ... && ... || : syntax rather than if-then ... fi.
53104
53105         gnumakefile: Don't double-quote-expand $(VPATH) value.
53106         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
53107
53108 2008-03-24  Eric Blake  <ebb9@byu.net>
53109
53110         Alter GNUmakefile to install into top directory.
53111         * modules/maintainer-makefile: Split, and add dependency...
53112         * modules/gnumakefile: to this new module.
53113         * build-aux/GNUmakefile: Move...
53114         * top/GNUmakefile: ...here.
53115         * build-aux/maint.mk: Move...
53116         * top/maint.mk: ...here.
53117         * MODULES.html.sh (Support for maintaining...): Document new
53118         module.
53119
53120 2008-03-23  Bruno Haible  <bruno@clisp.org>
53121
53122         * gnulib-tool: New options --vc-files, --no-vc-files.
53123         (func_usage): Document them.
53124         (vc_files): New variable.
53125         (func_import): Consider vc_files.
53126         (func_create_testdir): Set vc_files to empty.
53127         Suggested by Jim Meyering and Karl Berry.
53128
53129 2008-03-23  Bruno Haible  <bruno@clisp.org>
53130
53131         Fix regex compilation error on HP-UX 11.
53132         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
53133         * modules/regex (Files): Add m4/mbstate_t.m4.
53134         Reported by Ton Voon <ton.voon@altinity.com>.
53135
53136 2008-03-23  Bruno Haible  <bruno@clisp.org>
53137
53138         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
53139
53140 2008-03-23  Eric Blake  <ebb9@byu.net>
53141             Bruno Haible  <bruno@clisp.org>
53142
53143         Install files from top/ in the destination directory.
53144         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
53145         augmentation also for the files from top/.
53146         (func_import, func_create_testdir): Rewrite file names:
53147         top/filename -> filename.
53148
53149 2008-03-23  Bruno Haible  <bruno@clisp.org>
53150
53151         Tweak "gnulib --version" output.
53152         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
53153
53154 2008-03-23  Bruno Haible  <bruno@clisp.org>
53155
53156         Tweak "gnulib --version" output.
53157         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
53158         rather than contents of ChangeLog, when possible.
53159
53160 2008-03-21  Eric Blake  <ebb9@byu.net>
53161
53162         More --version tweaks.
53163         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
53164         date of last ChangeLog entry.
53165
53166 2008-03-21  Jim Meyering  <meyering@redhat.com>
53167
53168         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
53169
53170 2008-03-20  Eric Blake  <ebb9@byu.net>
53171
53172         VPATH fix.
53173         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
53174
53175 2008-03-20  Simon Josefsson  <simon@josefsson.org>
53176
53177         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
53178         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
53179
53180 2008-03-20  Eric Blake  <ebb9@byu.net>
53181
53182         Sync GNUmakefile with coreutils.
53183         * build-aux/GNUmakefile (have-Makefile): Rename...
53184         (_have-Makefile): ...to this, for namespace consideration.
53185         (GNUmakefile.cfg): Include, if present.
53186         (_autoreconf): Define a default.
53187         (_is-dist-target): New rule for rebuilds to pick up intra-release
53188         version.
53189         (maint-cfg.mk): Rename...
53190         (cfg.mk): ...to this.
53191
53192 2008-03-18  Jim Meyering  <meyering@redhat.com>
53193
53194         New script and module: mktempd
53195         * MODULES.html.sh (maint+release support): Add mktempd.
53196         * build-aux/mktempd: New file.
53197         * modules/mktempd: New file.
53198
53199 2008-03-15  Jim Meyering  <meyering@redhat.com>
53200
53201         Undo last change.
53202         * lib/sha1.c, lib/md5.c: 63 != ~63.
53203         Reported by Andreas Schwab.
53204
53205         sha1.c, md5.c: Hoist a redundant expression.
53206         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
53207         "ctx->buflen" only once, before calling *_process_block.
53208         * lib/md5.c (md5_process_bytes): Likewise.
53209
53210 2008-03-14  Eric Blake  <ebb9@byu.net>
53211
53212         Bump copyright year in files generated by gnulib-tool.
53213         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
53214         gnulib-tool, rather than hard-coding it.
53215
53216         Fix 'gnulib-tool --version' output to work with git.
53217         * gnulib-tool (func_gnulib_dir): New function, extracted from...
53218         (startup): ...here.
53219         (func_version): Use it to invoke git-version-gen, rather than
53220         relying on CVS keyword expansion.  Modernize wording.
53221         (cvsdatestamp, last_checkin_date, version): Kill unused
53222         variables.
53223
53224 2008-03-12  Jim Meyering  <meyering@redhat.com>
53225
53226         Recognize optional cast of the argument to free.
53227         * build-aux/useless-if-before-free: Update regexps.
53228
53229         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
53230
53231 2008-03-11  Bruno Haible  <bruno@clisp.org>
53232
53233         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
53234         by a single package.
53235         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
53236         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
53237         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
53238         Reported by Sam Steingold <sds@gnu.org>.
53239
53240 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
53241
53242         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
53243         repositories.
53244
53245 2008-03-11  Bruno Haible  <bruno@clisp.org>
53246
53247         Avoid conflicts between local macro definitions.
53248         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
53249         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
53250
53251 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
53252             Bruno Haible  <bruno@clisp.org>
53253
53254         Make va_copy work with some version of xlc on AIX 5.1.
53255         * lib/stdarg.in.h: New file.
53256         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
53257         On AIX, use a <stdarg.h> file substitute.
53258         * modules/stdarg (Files): Add lib/stdarg.in.h.
53259         (Depends-on): Add include_next.
53260         (Makefile.am): Build a stdarg.h substitute if requested.
53261         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
53262
53263 2008-03-10  Bruno Haible  <bruno@clisp.org>
53264
53265         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
53266         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53267         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
53268
53269 2008-03-10  Bruno Haible  <bruno@clisp.org>
53270
53271         * modules/stdlib (Depends-on): Add include_next, remove
53272         absolute-header.
53273
53274 2008-03-09  Bruno Haible  <bruno@clisp.org>
53275
53276         * lib/freadahead.h (freadahead): Document more precisely.
53277         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
53278         the sum of both buffer sizes.
53279         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
53280         * NEWS: Document the change.
53281
53282 2008-03-09  Bruno Haible  <bruno@clisp.org>
53283
53284         Extend freadptr to return also the buffer size.
53285         * lib/freadptr.h (freadptr): Add sizep argument.
53286         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
53287         (freadptr): Add sizep argument. Determine buffer size like freadahead
53288         does.
53289         * tests/test-freadptr.c: Don't include freadahead.h.
53290         (main): Adapt for new calling convention of freadptr.
53291         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
53292         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
53293         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
53294         tests/test-freadptr2.sh.
53295         (Depends): Remove freadahead.
53296         (TESTS): Add test-freadptr2.sh.
53297         (check_PROGRAMS): Add test-freadptr2.
53298
53299 2008-03-09  Bruno Haible  <bruno@clisp.org>
53300
53301         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
53302         Report and solution by Simon Josefsson.
53303
53304 2008-03-06  Bruno Haible  <bruno@clisp.org>
53305
53306         Make fflush after ungetc work on BSD platforms.
53307         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
53308         * tests/test-fflush2.c: New file.
53309         * tests/test-fflush2.sh: New file.
53310         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
53311         tests/test-fflush2.c.
53312         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
53313         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
53314
53315 2008-03-06  Eric Blake  <ebb9@byu.net>
53316
53317         Likewise for ftello.
53318         * modules/ftello (Dependencies): Add extensions.
53319         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
53320
53321 2008-03-06  Bruno Haible  <bruno@clisp.org>
53322
53323         * modules/fseeko (Dependencies): Add extensions.
53324         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
53325         Needed on glibc systems.
53326
53327 2008-03-06  Bruno Haible  <bruno@clisp.org>
53328
53329         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
53330         email address.
53331         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53332
53333 2008-03-06  Bruno Haible  <bruno@clisp.org>
53334
53335         * users.txt: Add libgnupdf.
53336
53337 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
53338
53339         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
53340         (Header File Substitutes, Function Substitutes,
53341         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
53342         (Build robot for gnulib): Fix typo.
53343
53344 2008-03-06  Bruno Haible  <bruno@clisp.org>
53345
53346         * doc/gnulib-tool.texi (VCS Issues): Small updates.
53347         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53348
53349 2008-03-06  Bruno Haible  <bruno@clisp.org>
53350
53351         * doc/func.texi: New file, extracted from doc/gnulib.texi.
53352         * doc/gnulib.texi: Include it.
53353
53354 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53355
53356         * modules/func (License): Change license to unlimited; there was
53357         no LGPL parts in the module anyway.
53358
53359 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53360
53361         * modules/__func__: Renamed to modules/func.
53362         * modules/__func__-tests: Renamed to modules/func-tests.
53363         * tests/test-__func__.c: Renamed to tests/test-func.c.
53364         * m4/__func__.m4: Renamed to m4/func.m4.
53365         * doc/gnulib.texi (__func__): Section renamed to func.
53366         Suggested by Eric Blake <ebb9@byu.net>.
53367
53368 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53369
53370         * doc/gnulib.texi (__func__): Use C99 terminology when talking
53371         about __func__.  Make example self-contained.  Suggested by Eric
53372         Blake <ebb9@byu.net>.
53373
53374         * tests/test-__func__.c (main): Avoid extraneous () around __func.
53375         Suggested by Eric Blake <ebb9@byu.net>.
53376
53377 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53378
53379         * modules/__func__: New file.
53380         * modules/__func__-tests: New file.
53381         * tests/test-__func__.c: New file.
53382         * m4/__func__.m4: New file.
53383         * doc/gnulib.texi (__func__): Document __func__ module.
53384
53385 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53386
53387         * modules/byteswap (License): Re-license as LGPLv2+.
53388
53389 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53390
53391         * doc/Makefile: Add pdf target.
53392
53393 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53394
53395         * modules/inline (License): Use 'unlimited', since there are only
53396         *.m4 files in this module.
53397
53398 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
53399             Bruno Haible  <bruno@clisp.org>
53400
53401         Add support for HP C 7.1 on OpenVMS 8.3.
53402         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
53403
53404 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
53405
53406         Update VMS specifics.
53407         * lib/getopt.c [VMS]: Remove include of unixlib.h.
53408
53409 2008-03-02  Jim Meyering  <meyering@redhat.com>
53410
53411         Remove the last dependency on the "free" module.
53412         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
53413         Reported by Bob Proulx.
53414
53415         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
53416
53417         Remove useless "if" tests before free.  Deprecate "free" module.
53418         * doc/posix-functions/free.texi: Mention that this
53419         module is no longer useful.
53420         * modules/free (Notice): Say this module is obsolete.
53421         * modules/readutmp (Depends-on): Remove free.
53422         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
53423         * lib/putenv.c (putenv): Likewise.
53424         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
53425         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
53426         * tests/test-c-strcasestr.c (main): Likewise.
53427         * tests/test-c-strstr.c (main): Likewise.
53428         * tests/test-mbscasestr1.c (main): Likewise.
53429         * tests/test-mbscasestr2.c (main): Likewise.
53430         * tests/test-mbsstr1.c (main): Likewise.
53431         * tests/test-mbsstr2.c (main): Likewise.
53432         * tests/test-memmem.c (main): Likewise.
53433         * tests/test-strcasestr.c (main): Likewise.
53434         * tests/test-striconv.c (main): Likewise.
53435         * tests/test-striconveh.c (main): Likewise.
53436         * tests/test-striconveha.c (main): Likewise.
53437         * tests/test-strstr.c (main): Likewise.
53438
53439         * build-aux/git-version-gen: Adjust a comment and the Usage string.
53440
53441         bootstrap: sync from coreutils again
53442         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
53443
53444 2008-03-01  Jim Meyering  <meyering@redhat.com>
53445
53446         bootstrap: sync from coreutils
53447         * build-aux/bootstrap (update_po_files): Copy a .po file into place
53448         also when the target doesn't exist.
53449
53450 2008-03-01  Eric Blake  <ebb9@byu.net>
53451
53452         Fix bugs in last patch.
53453         * lib/memchr2.c (memchr2): Fix typo.
53454         * tests/test-memchr2.c: Test previous bug, and don't use GNU
53455         extension.
53456         Reported by Bruce Korb.
53457
53458         New module 'memchr2'.
53459         * modules/memchr2: New file.
53460         * modules/memchr2-tests: Likewise.
53461         * lib/memchr2.h: Likewise.
53462         * lib/memchr2.c: Likewise, based on memchr.c.
53463         * tests/test-memchr2.c: New test.
53464         * MODULES.html.sh (String handling): Add memchr2.
53465
53466 2008-02-29  Bruno Haible  <bruno@clisp.org>
53467
53468         * modules/freadseek-tests: New file.
53469         * tests/test-freadseek.sh: New file.
53470         * tests/test-freadseek.c: New file.
53471
53472         New module 'freadseek'.
53473         * modules/freadseek: New file.
53474         * lib/freadseek.h: New file.
53475         * lib/freadseek.c: New file.
53476         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
53477
53478 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
53479
53480         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
53481         wydawca.
53482
53483         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
53484         program_invocation_name and program_invocation_short_name are
53485         present.
53486
53487 2008-02-28  Bruno Haible  <bruno@clisp.org>
53488
53489         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
53490         * tests/test-freadptr.sh: Also test non-seekable stdin.
53491
53492 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
53493
53494         * build-aux/bootstrap (source_base, m4_base)
53495         (doc_base, tests_base): New variables.
53496         (gnulib_tool_options): Do not hardcode base directories, use
53497         the above variables instead.
53498
53499 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
53500
53501         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
53502
53503 2008-02-28  Bruno Haible  <bruno@clisp.org>
53504
53505         * modules/freadptr-tests: New file.
53506         * tests/test-freadptr.sh: New file.
53507         * tests/test-freadptr.c: New file.
53508
53509         New module 'freadptr'.
53510         * modules/freadptr: New file.
53511         * lib/freadptr.h: New file.
53512         * lib/freadptr.c: New file.
53513         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
53514
53515 2008-02-26  Karl Berry  <karl@freefriends.org>
53516
53517         Sync from Libtool:
53518         * libltdl/argz.c (argz_add, argz_count): New functions.
53519         * libltdl/argz.in.h: Declare them.
53520         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
53521
53522 2008-02-22  Bruno Haible  <bruno@clisp.org>
53523
53524         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
53525         is a pointer type.  Needed for HP-UX 10.
53526         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
53527         * doc/posix-functions/gmtime_r.texi: Likewise.
53528         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
53529
53530 2008-02-24  Bruno Haible  <bruno@clisp.org>
53531
53532         * modules/environ-tests: New file.
53533         * tests/test-environ.c: New file.
53534
53535         New module 'environ'.
53536         * modules/environ: New file.
53537         * lib/unistd.in.h (environ): New declaration.
53538         * m4/environ.m4: New file.
53539         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
53540         after use.
53541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
53542         HAVE_DECL_ENVIRON.
53543         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
53544         HAVE_DECL_ENVIRON.
53545         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
53546         wrong claim that 'environ' is missing on some systems.
53547         * modules/execute (Depends-on): Add environ.
53548         * lib/execute.c (environ): Remove fallback declaration.
53549         * modules/pipe (Depends-on): Add environ.
53550         * lib/pipe.c (environ): Remove fallback declaration.
53551         * modules/setenv (Depends-on): Add environ.
53552         * lib/setenv.c (environ): Remove fallback declaration.
53553         * modules/unsetenv (Depends-on): Add environ.
53554         * lib/unsetenv.c (environ): Remove fallback declaration.
53555         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
53556         m4/environ.m4.
53557         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
53558         (gl_PREREQ_UNSETENV): Likewise.
53559
53560 2008-02-24  Bruno Haible  <bruno@clisp.org>
53561
53562         * doc/posix-functions/environ.texi: Document the MacOS X problem.
53563
53564 2008-02-20  Bob Proulx  <bob@proulx.com>
53565
53566         Enable use of older two part flavor 'git describe'.
53567         * build-aux/git-version-gen: If using the older two part flavor of
53568         git version then recreate the third part now present in the
53569         newer three part flavor of git describe.
53570
53571 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
53572
53573         * lib/fts.c (fts_build): Typo correction to comment.
53574
53575 2008-02-17  Bruno Haible  <bruno@clisp.org>
53576
53577         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
53578         generating no-op conflicts.
53579
53580 2008-02-17  Bruno Haible  <bruno@clisp.org>
53581
53582         Speed up by 10%.
53583         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
53584         result_entries, rather than an index-based loop.
53585
53586 2008-02-17  Bruno Haible  <bruno@clisp.org>
53587
53588         Speed up by 25%.
53589         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
53590         'hashcode_cached'.
53591         (entry_create): New function.
53592         (entry_hashcode): Use the cached hashcode if possible.
53593         (read_changelog_file, try_split_merged_entry): Use entry_create.
53594
53595 2008-02-17  Bruno Haible  <bruno@clisp.org>
53596
53597         Speed up from O(n^2) to O(n) for long ChangeLog files.
53598         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
53599         (read_changelog_file): Change implementation of entries_reversed list
53600         to rbtreehash.
53601         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
53602
53603 2008-02-17  Bruno Haible  <bruno@clisp.org>
53604
53605         New option --split-merged-entry.
53606         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
53607         (find_paragraph_end, try_split_merged_entry): New functions.
53608         (long_options): Add option --split-merged-entry.
53609         (usage): Document option --split-merged-entry.
53610         (main): Implement option --split-merged-entry.
53611         Reported by Eric Blake.
53612
53613 2008-02-17  Bruno Haible  <bruno@clisp.org>
53614
53615         * lib/git-merge-changelog.c: Include c-strstr.h.
53616         (main): Support the "git pull --rebase" situation.
53617         * modules/git-merge-changelog (Depends-on): Add c-strstr.
53618         Reported by Eric Blake.
53619
53620 2008-02-16  Eric Blake  <ebb9@byu.net>
53621
53622         Avoid doubling \ in common case of "c-maybe" quoting style.
53623         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
53624         eliding outer quotes.
53625         * lib/quotearg.h: Document this.
53626         * tests/test-quotearg.c (result_strings, inputs, results_g)
53627         (flag_results, locale_results): Test it by adding a new string to
53628         each test group.
53629         (compare_strings): Test new string.
53630
53631 2008-02-13  Eric Blake  <ebb9@byu.net>
53632
53633         Avoid trigraph quoting in default output.
53634         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
53635         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
53636         unless explicitly requested.
53637         * tests/test-quotearg.c (flag_results, main): Add additional tests.
53638
53639 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
53640
53641         Don't rely on signed integer overflowing to negative value.
53642         * lib/getugroups.c (getugroups): Include <limits.h>.
53643         Instead, compare against INT_MAX, and increment only if the test passes.
53644
53645 2008-02-13  Jim Meyering  <meyering@redhat.com>
53646         and Eric Blake  <ebb9@byu.net>
53647
53648         Avoid shadowing warning and compile errors on Linux.
53649         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
53650         forwarding macros on Linux.
53651         (dcgettext): Define a stub, for Linux.
53652         (results_g, main): Avoid warnings.
53653
53654 2008-02-12  Eric Blake  <ebb9@byu.net>
53655
53656         Silence warning in last patch.
53657         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
53658
53659         Quotearg part 4: add tests, fix c-maybe colon quoting.
53660         * lib/quotearg.h: Improve documentation.
53661         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
53662         escapes when adding outer quotes.  When quoting trigraphs, use
53663         valid C notation.  When quoting NUL, omit extra characters if next
53664         character is not digit.  Alter prototype.
53665         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
53666         callers.
53667         * modules/quotearg-tests: New module.
53668         * tests/test-quotearg.c: New test.
53669
53670 2008-02-07  Eric Blake  <ebb9@byu.net>
53671
53672         Quotearg part 3: add flag to control outer quote elision.
53673         * lib/quotearg.h (c_maybe_quoting_style): New style.
53674         (enum quoting_flags): Better documentation of flags.
53675         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
53676         c-maybe style.
53677         (quotearg_buffer_restyled): Handle new flag to elide outer
53678         quotes.
53679
53680         Quotearg part 2: add flag that can control NUL elision.
53681         * lib/quotearg.h (set_quoting_flags): New prototype.
53682         * lib/quotearg.c (struct quoting_options): Add flag field.
53683         (set_quoting_flags): New function.
53684         (quotearg_buffer_restyled): Add flags parameter.
53685         (quotearg_alloc_mem): Set the flag if length cannot be returned.
53686         (quotearg_n_options): Set the flag, since length cannot be
53687         returned.
53688         (quoting_options_from_style): Default flags correctly.
53689
53690         Quotearg part 1: more wrappers, restore quotearg_char state.
53691         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
53692         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
53693         (quotearg_colon_mem): New wrappers.
53694         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
53695         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
53696         functions.
53697         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
53698         (quotearg_colon_mem): New functions.
53699
53700 2008-02-11  Bruno Haible  <bruno@clisp.org>
53701
53702         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
53703         library in the current directory: it does not work with parallel make.
53704         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53705
53706 2008-02-11  Bruno Haible  <bruno@clisp.org>
53707
53708         * .gitattributes: New file.
53709
53710 2008-02-11  Jim Meyering  <meyering@redhat.com>
53711
53712         useless-if-before-free: Fix reversed exit values.
53713         * build-aux/useless-if-before-free: Use correct values
53714         for EXIT_MATCH and EXIT_NO_MATCH.
53715
53716         * build-aux/useless-if-before-free: Close stdout carefully.
53717
53718 2008-02-10  Bruno Haible  <bruno@clisp.org>
53719
53720         New module 'git-merge-changelog'.
53721         * modules/git-merge-changelog: New file.
53722         * lib/git-merge-changelog.c: New file.
53723
53724 2008-02-10  Jim Meyering  <meyering@redhat.com>
53725
53726         useless-if-before-free: New option: --list (-l).
53727
53728         useless-if-before-free: Don't exit immediately upon open failure.
53729         * build-aux/useless-if-before-free: Exit 2 for errors.
53730         Upon failure to open a file, don't exit immediately.
53731         Rather, just warn and continue with any remaining files.
53732
53733 2008-02-10  Bruno Haible  <bruno@clisp.org>
53734
53735         New abstract list operation 'node_set_value'.
53736         * lib/gl_list.h (gl_list_node_set_value): New function.
53737         (struct gl_list_implementation): New field node_set_value.
53738         * lib/gl_list.c (gl_list_node_set_value): New function.
53739         * lib/gl_array_list.c (gl_array_node_set_value): New function.
53740         (gl_array_list_implementation): Update.
53741         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
53742         (gl_carray_list_implementation): Update.
53743         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
53744         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
53745         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
53746         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
53747         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
53748         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
53749         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
53750         Update.
53751         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
53752         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
53753         (gl_sublist_list_implementation): Update.
53754
53755 2008-02-10  Bruno Haible  <bruno@clisp.org>
53756
53757         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
53758         Needed when ELEMENT is #defined to 'some_type *'.
53759
53760 2008-02-10  Jim Meyering  <meyering@redhat.com>
53761
53762         New script and module: useless-if-before-free
53763         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
53764         * build-aux/useless-if-before-free: New file.
53765         * modules/useless-if-before-free: New file.
53766
53767         * build-aux/gitlog-to-changelog: Use committer date, not author date.
53768
53769         xstrtol_error: Fix typo.
53770         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
53771         s/exit_failure/exit_status/.
53772
53773 2008-02-09  Jim Meyering  <meyering@redhat.com>
53774
53775         New script and module: gitlog-to-changelog
53776         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
53777         * modules/gitlog-to-changelog: New file.
53778         * build-aux/gitlog-to-changelog: New file.
53779
53780 2008-02-08  Jim Meyering  <meyering@redhat.com>
53781
53782         Avoid two "parameter unused" warnings.
53783         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
53784         Mark "st" as used.
53785
53786         Use "git COMMAND", not "git-COMMAND".
53787         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
53788         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
53789         * build-aux/git-version-gen: Use "git status", not "git-status".
53790
53791 2008-02-07  Bruno Haible  <bruno@clisp.org>
53792
53793         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
53794         Avoids a crash on Windows Vista.
53795         Reported by Adam Strzelecki <ono@java.pl> via
53796         Simon Josefsson <simon@josefsson.org>.
53797
53798 2008-02-06  Bruno Haible  <bruno@clisp.org>
53799
53800         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
53801         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
53802         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
53803         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
53804         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53805         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53806         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
53807         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
53808         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53809         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53810         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53811         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53812         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53813         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53814         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53815         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
53816         left-adjust flag.
53817         * tests/test-snprintf-posix.h (test_function): Likewise.
53818         * tests/test-sprintf-posix.h (test_function): Likewise.
53819         * tests/test-vasprintf-posix.c (test_function): Likewise.
53820         * doc/posix-functions/fprintf.texi: Update.
53821         * doc/posix-functions/printf.texi: Update.
53822         * doc/posix-functions/snprintf.texi: Update.
53823         * doc/posix-functions/sprintf.texi: Update.
53824         * doc/posix-functions/vfprintf.texi: Update.
53825         * doc/posix-functions/vprintf.texi: Update.
53826         * doc/posix-functions/vsnprintf.texi: Update.
53827         * doc/posix-functions/vsprintf.texi: Update.
53828         Reported by Peter Fales <psfales@alcatel-lucent.com>.
53829
53830 2008-02-06  Bruno Haible  <bruno@clisp.org>
53831
53832         Fix bug introduced on 2008-01-26.
53833         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
53834
53835 2008-02-06  Bruno Haible  <bruno@clisp.org>
53836
53837         Fix bug introduced on 2007-06-10.
53838         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
53839         !NEED_PRINTF_FLAG_ZERO.
53840
53841 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
53842
53843         getloadavg: use libperfstat on AIX5
53844         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
53845
53846 2008-02-03  Bruno Haible  <bruno@clisp.org>
53847
53848         * lib/diffseq.h: Add comments about required #includes.
53849         Reported by Michael Biggs <gnulib@doubleplum.net>.
53850
53851 2008-02-01  Bruno Haible  <bruno@clisp.org>
53852
53853         * users.txt: Add gnuit.
53854
53855 2008-01-31  Bruno Haible  <bruno@clisp.org>
53856
53857         * lib/md4.c (set_uint32): Mark as inline.
53858         * lib/md5.c (set_uint32): Likewise.
53859         * lib/sha1.c (set_uint32): Likewise.
53860         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
53861         * m4/md5.m4 (gl_MD5): Likewise.
53862         * m4/sha1.m4 (gl_SHA1): Likewise.
53863
53864 2008-01-31  Jim Meyering  <meyering@redhat.com>
53865
53866         Use "sizeof VAR", rather than a literal "4".
53867         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
53868         * lib/md4.c (md4_read_ctx): Likewise.
53869         * lib/sha1.c (sha1_read_ctx): Likewise.
53870
53871 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53872
53873         * tests/test-sha1.c: New file, based on test-md5.c.
53874
53875         * modules/crypto/sha1-tests: New file.
53876
53877 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53878
53879         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
53880
53881 2008-01-31  Jim Meyering  <meyering@redhat.com>
53882
53883         Prefer "sizeof v" over the equivalent "4".
53884         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
53885         * lib/md5.c (set_uint32): Likewise.
53886         * lib/sha1.c (set_uint32): Likewise.
53887
53888 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53889
53890         * lib/sha1.c (set_uint32): Mark function as static.
53891
53892 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53893
53894         md2: clarify comments to say that alignment is not required.
53895         * lib/md2.h: Remove warning about alignment in comment.
53896         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
53897         never been required.
53898
53899 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53900
53901         md4: adapt alignment constraint fix from sha1.
53902         * lib/md4.c (set_uint32): New function, from sha1.c
53903         (md4_read_ctx): Use it.
53904         (md4_finish_ctx): Doc fix.
53905         * lib/md4.h: Doc fix.
53906
53907 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53908
53909         md5: adapt alignment constraint fix from sha1.
53910         * lib/md5.c (set_uint32): New function, from sha1.c
53911         (md5_read_ctx): Use it.
53912         (md5_finish_ctx): Doc fix.
53913         * lib/md5.h: Doc fix.
53914
53915 2008-01-30  Peter Palfrader  <weasel@debian.org>
53916
53917         sha1: remove the result buffer alignment constraint
53918         * lib/sha1.c (set_uint32): New function.
53919         (sha1_read_ctx): Rewrite to remove the result buffer alignment
53920         constraint.
53921         (sha1_finish_ctx): Remove comment warning about alignment constraint.
53922         * lib/sha1.h: Likewise.
53923
53924 2008-01-30  Andreas Schwab  <schwab@suse.de>
53925             Bruno Haible  <bruno@clisp.org>
53926
53927         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
53928         correct definition of LDBL_MIN_EXP.
53929
53930 2008-01-30  Karl Berry  <karl@gnu.org>
53931
53932         * config/srclist-update: try to preserve x bit on updates.
53933         * config/srclistvars.sh: update for karl.
53934
53935 2008-01-29  Jim Meyering  <meyering@redhat.com>
53936
53937         vasnprintf.c: Avoid warning about unused label
53938         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
53939         "overflow" label definition and associated code with the
53940         same cpp condition that guards the sole use of that label.
53941
53942 2008-01-26  Bruno Haible  <bruno@clisp.org>
53943
53944         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
53945         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
53946         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
53947         * lib/isnanl-nolibm.h (isnanl): Likewise.
53948         Reported by Paul Eggert <eggert@cs.ucla.edu>.
53949
53950 2008-01-26  Bruno Haible  <bruno@clisp.org>
53951
53952         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
53953         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
53954
53955 2008-01-26  Bruno Haible  <bruno@clisp.org>
53956
53957         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
53958         GCC >= 4.0 built-in.
53959         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
53960
53961 2008-01-26  Bruno Haible  <bruno@clisp.org>
53962
53963         Rename isnan, applicable to 'double' only, to isnand.
53964         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
53965         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
53966         (configure.ac): Update.
53967         (Include): Replace "isnan.h" with "isnand.h".
53968         * m4/isnand.m4: Renamed from m4/isnan.m4.
53969         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
53970         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
53971         instead of isnan.c.
53972         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
53973         instead of HAVE_ISNAN_IN_LIBC.
53974         (isnand): Renamed from isnan.
53975         * lib/isnand.c: New file.
53976         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
53977         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
53978         (Makefile.am): Update.
53979         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
53980         Include isnand.h instead of isnan.h.
53981         (main): Test isnand instead of isnan.
53982         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
53983         isnan-nolibm.
53984         * modules/frexp (Depends-on): Likewise.
53985         * modules/frexp-tests (Depends-on): Likewise.
53986         * modules/frexp-nolibm (Depends-on): Likewise.
53987         * modules/frexp-nolibm-tests (Depends-on): Likewise.
53988         * modules/isfinite (Depends-on): Likewise.
53989         * modules/round-tests (Depends-on): Likewise.
53990         * modules/signbit (Depends-on): Likewise.
53991         * modules/signbit-tests (Depends-on): Likewise.
53992         * modules/snprintf-posix (Depends-on): Likewise.
53993         * modules/sprintf-posix (Depends-on): Likewise.
53994         * modules/trunc-tests (Depends-on): Likewise.
53995         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53996         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53997         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53998         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53999         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54000         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54001         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54002         * modules/vasnprintf-posix (Depends-on): Likewise.
54003         * modules/vasprintf-posix (Depends-on): Likewise.
54004         * modules/vfprintf-posix (Depends-on): Likewise.
54005         * modules/vsnprintf-posix (Depends-on): Likewise.
54006         * modules/vsprintf-posix (Depends-on): Likewise.
54007         * lib/frexp.c: Include isnand.h instead of isnan.h.
54008         (ISNAN): Set to isnand instead of isnan.
54009         * lib/isfinite.c: Include isnand.h instead of isnan.h.
54010         (gl_isfinited): Use isnand instead of isnan.
54011         * lib/signbitd.c: Include isnand.h instead of isnan.h.
54012         (gl_signbitd): Use isnand instead of isnan.
54013         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
54014         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
54015         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
54016         (main): Use isnand instead of isnan.
54017         * tests/test-round1.c: Include isnand.h.
54018         (main): Use isnand instead of isnan.
54019         * tests/test-round2.c: Include isnand.h instead of isnan.h.
54020         (ISNAN): Set to isnand instead of isnan.
54021         * tests/test-trunc1.c: Include isnand.h.
54022         (main): Use isnand instead of isnan.
54023         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
54024         (equal): Use isnand instead of isnan.
54025         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
54026         isnand-nolibm.
54027         * NEWS: Mention the change.
54028
54029 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
54030             Bruno Haible  <bruno@clisp.org>
54031
54032         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
54033         the GCC builtins for signbits are present and set
54034         REPLACE_SIGNBIT_USING_GCC if so.
54035         * lib/math.in.h (signbit): Define using GCC builtins if
54036         REPLACE_SIGNBIT_USING_GCC is set.
54037         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
54038         REPLACE_SIGNBIT_USING_GCC.
54039         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
54040
54041 2008-01-25  Jim Meyering  <meyering@redhat.com>
54042
54043         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
54044         * lib/poll.c: Include <config.h>, not "config.h".
54045         * tests/test-getaddrinfo.c: Likewise.
54046
54047 2008-01-25  Simon Josefsson  <simon@josefsson.org>
54048
54049         * modules/sockets-tests: New file.
54050
54051 2008-01-24  Simon Josefsson  <simon@josefsson.org>
54052
54053         * modules/sockets: New module, can be used to call WSA_Startup and
54054         WSA_Cleanup when needed.
54055
54056         * lib/sockets.h, lib/sockets.c: New files.
54057
54058         * m4/sockets.m4: New file.
54059
54060         * tests/test-sockets.c: New file.
54061
54062 2008-01-19  Bruno Haible  <bruno@clisp.org>
54063
54064         * doc/posix-headers: Renamed from doc/headers.
54065         * doc/posix-functions: Renamed from doc/functions.
54066         * doc/gnulib.texi: Update.
54067
54068 2008-01-19  Bruno Haible  <bruno@clisp.org>
54069
54070         * doc/glibc-functions/strcasestr.texi: Include contents of
54071         doc/functions/strcasestr.texi, fixing the list of platforms.
54072         * doc/functions/strcasestr.texi: Remove file.
54073
54074 2008-01-19  Bruno Haible  <bruno@clisp.org>
54075
54076         * doc/glibc-functions/memmem.texi: Include contents of
54077         doc/functions/memmem.texi.
54078         * doc/functions/memmem.texi: Remove file.
54079
54080 2008-01-18  Bruno Haible  <bruno@clisp.org>
54081
54082         * doc/glibc-functions/*.texi: New files.
54083         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
54084         to use the new files.
54085
54086 2008-01-17  Bruno Haible  <bruno@clisp.org>
54087
54088         * tests/test-gethostname.c (main): Fix printf statement.
54089
54090 2008-01-17  Simon Josefsson  <simon@josefsson.org>
54091
54092         * modules/gethostname-tests: New file.
54093
54094         * tests/test-gethostname.c: New file.
54095
54096 2008-01-17  Simon Josefsson  <simon@josefsson.org>
54097
54098         * lib/gethostname.c: Include string.h unconditionally, strncpy is
54099         used by the UNAME case.  Reported by Bruno Haible
54100         <bruno@clisp.org>.
54101
54102 2008-01-17  Eric Blake  <ebb9@byu.net>
54103
54104         Convert c-strcasestr to be more efficient.
54105         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
54106         (Depends-on): Add c-strcase, remove malloca, strnlen.
54107         * tests/test-c-strcasestr.c (main): Enhance test.
54108         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
54109
54110 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
54111
54112         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
54113         Use it in creating po/Makevars.
54114
54115 2008-01-15  Simon Josefsson  <simon@josefsson.org>
54116
54117         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
54118         Applications that requires it should initialize libgcrypt
54119         manually.
54120
54121 2008-01-16  Simon Josefsson  <simon@josefsson.org>
54122
54123         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
54124
54125 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
54126
54127         Fix problem with getdate on mingw32 reported by Simon Josefsson
54128         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
54129         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
54130         tzname", when deciding whether to declare tzname.
54131         * lib/strftime.c (tzname): Likewise.
54132
54133 2008-01-15  Bruno Haible  <bruno@clisp.org>
54134
54135         Work around a MacOS X 10.5 bug in frexpl().
54136         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
54137         * doc/functions/frexpl.texi: Document the bug.
54138         Reported by Elias Pipping <pipping@gentoo.org>.
54139
54140 2008-01-14  Eric Blake  <ebb9@byu.net>
54141
54142         Touch up previous patch.
54143         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
54144         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
54145
54146         Convert strcasestr module to use Two-Way algorithm.
54147         * modules/strcasestr-simple: New module, based on the old
54148         strcasestr, but with Two-Way rather than KMP.
54149         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
54150         * lib/string.in.h (rpl_strcasestr): Declare.
54151         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
54152         performance.
54153         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
54154         * modules/string (Makefile.am): Support strcasestr.
54155         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
54156         * modules/strcasestr-tests (Depends-on): Check for alarm.
54157         * tests/test-strcasestr.c: Augment test.
54158         * lib/str-two-way.h: Clean up stray macro.
54159         * NEWS: Document new module.
54160         * MODULES.html.sh (string handling): Likewise.
54161         * doc/functions/strcasestr.texi: New file.
54162         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
54163         here, since it is not a POSIX function.
54164
54165 2008-01-14  Colin Watson  <cjwatson@debian.org>
54166             Bruno Haible  <bruno@clisp.org>
54167
54168         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
54169         works fine; if not, set REPLACE_STRSIGNAL.
54170         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
54171         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54172         REPLACE_STRSIGNAL.
54173         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
54174         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
54175         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
54176
54177 2008-01-14  Bruno Haible  <bruno@clisp.org>
54178
54179         * modules/strsignal (Include): Change to <string.h>.
54180
54181 2008-01-14  Colin Watson  <cjwatson@debian.org>
54182
54183         * modules/argp (Notice): Add a notice recommending to change
54184         XGETTEXT_OPTIONS.
54185         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
54186
54187 2008-01-13  Colin Watson  <cjwatson@debian.org>
54188
54189         * modules/strsignal-tests: New file.
54190         * tests/test-strsignal.c: New file.
54191
54192         * lib/strsignal.c: New file, from glibc with modifications.
54193         * lib/siglist.h: New file, from glibc with modifications.
54194         * lib/string.in.h (strsignal): New declaration.
54195         * m4/strsignal.m4: New file.
54196         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54197         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
54198         * modules/strsignal: New file.
54199         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
54200         HAVE_DECL_STRSIGNAL.
54201
54202 2008-01-13  Bruno Haible  <bruno@clisp.org>
54203
54204         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
54205         locale encoding is not ASCII. Needed for OpenBSD 4.0.
54206         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54207         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54208
54209 2008-01-13  Bruno Haible  <bruno@clisp.org>
54210
54211         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
54212         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
54213         * lib/argp.h (__attribute__): Likewise.
54214         * lib/c-stack.c (__attribute__): Likewise.
54215         * lib/error.h (__attribute__): Likewise.
54216         * lib/fts.c (__attribute__): Likewise.
54217         * lib/openat.h (__attribute__): Likewise.
54218         * lib/stdio.in.h (__attribute__): Likewise.
54219         * lib/string.in.h (__attribute__): Likewise.
54220         * lib/utimens.c (__attribute__): Likewise.
54221         * lib/vasnprintf.h (__attribute__): Likewise.
54222         * lib/xalloc.h (__attribute__): Likewise.
54223         * lib/xprintf.h (__attribute__): Likewise.
54224         * lib/xstrtol.h (__attribute__): Likewise.
54225         * lib/xvasprintf.h (__attribute__): Likewise.
54226
54227 2008-01-12  Bruno Haible  <bruno@clisp.org>
54228
54229         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
54230         * doc/glibc-headers/a.out.texi: New file.
54231         * doc/glibc-headers/aliases.texi: New file.
54232         * doc/glibc-headers/alloca.texi: New file.
54233         * doc/glibc-headers/ar.texi: New file.
54234         * doc/glibc-headers/argp.texi: New file.
54235         * doc/glibc-headers/argz.texi: New file.
54236         * doc/glibc-headers/byteswap.texi: New file.
54237         * doc/glibc-headers/crypt.texi: New file.
54238         * doc/glibc-headers/endian.texi: New file.
54239         * doc/glibc-headers/envz.texi: New file.
54240         * doc/glibc-headers/err.texi: New file.
54241         * doc/glibc-headers/error.texi: New file.
54242         * doc/glibc-headers/execinfo.texi: New file.
54243         * doc/glibc-headers/fpu_control.texi: New file.
54244         * doc/glibc-headers/fstab.texi: New file.
54245         * doc/glibc-headers/fts.texi: New file.
54246         * doc/glibc-headers/getopt.texi: New file.
54247         * doc/glibc-headers/ieee754.texi: New file.
54248         * doc/glibc-headers/ifaddrs.texi: New file.
54249         * doc/glibc-headers/libintl.texi: New file.
54250         * doc/glibc-headers/mcheck.texi: New file.
54251         * doc/glibc-headers/mntent.texi: New file.
54252         * doc/glibc-headers/obstack.texi: New file.
54253         * doc/glibc-headers/paths.texi: New file.
54254         * doc/glibc-headers/printf.texi: New file.
54255         * doc/glibc-headers/pty.texi: New file.
54256         * doc/glibc-headers/resolv.texi: New file.
54257         * doc/glibc-headers/shadow.texi: New file.
54258         * doc/glibc-headers/sysexits.texi: New file.
54259         * doc/glibc-headers/ttyent.texi: New file.
54260
54261 2008-01-12  Jim Meyering  <meyering@redhat.com>
54262
54263         announce-gen: emit Gnulib's git-based version string.
54264         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
54265         New option --gnulib-version=V, where V is expected to be
54266         the output of running git describe in the gnulib directory.
54267         (get_tool_versions): Request feedback on xdelta.  I suspect it's
54268         not useful, and plan to stop publishing an xdelta file with each
54269         coreutils release.
54270
54271         * build-aux/announce-gen: Also check for lzma-compressed files.
54272
54273 2008-01-11  Bruno Haible  <bruno@clisp.org>
54274
54275         * tests/test-memmem.c (main): Increase maximum allowed time.
54276         * tests/test-strstr.c (main): Likewise.
54277
54278 2008-01-11  Bruno Haible  <bruno@clisp.org>
54279
54280         * doc/functions/memmem.texi: Add more precisions about platforms.
54281         * doc/functions/strstr.texi: Likewise.
54282
54283 2008-01-10  Eric Blake  <ebb9@byu.net>
54284
54285         * m4/strstr.m4: Delete cruft from copy-n-paste.
54286         Reported by Bruno Haible.
54287
54288 2008-01-10  Bruno Haible  <bruno@clisp.org>
54289
54290         Make c-strstr rely on strstr.
54291         * lib/c-strstr.c: Don't include str-kmp.h.
54292         (c_strstr): Define in terms of strstr.
54293         * modules/c-strstr (Files): Remove lib/str-kmp.h.
54294         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
54295
54296 2008-01-10  Bruno Haible  <bruno@clisp.org>
54297
54298         * doc/gnulib.texi (String Functions in C Locale): New section.
54299         * doc/c-ctype.texi: New file.
54300         * doc/c-strcase.texi: New file.
54301         * doc/c-strcaseeq.texi: New file.
54302         * doc/c-strcasestr.texi: New file.
54303         * doc/c-strstr.texi: New file.
54304         * doc/c-strtod.texi: New file.
54305         * doc/c-strtold.texi: New file.
54306
54307 2008-01-10  Eric Blake  <ebb9@byu.net>
54308
54309         * lib/relocatable.h: Fix a comment.
54310
54311 2008-01-10  Eric Blake  <ebb9@byu.net>
54312
54313         Share two-way algorithm.
54314         * lib/str-two-way.h: New file, merged from...
54315         * lib/memmem.c: ...here...
54316         * lib/strstr.c: ...and here.
54317         * modules/memmem (Files): Use it.
54318         * modules/strstr (Files): Likewise.
54319
54320         Avoid quadratic strstr implementations.
54321         * lib/strstr.c: New file.
54322         * m4/strstr.m4: Likewise.
54323         * modules/strstr: Likewise.
54324         * modules/strstr-tests: Likewise.
54325         * tests/test-strstr.c: Likewise.
54326         * lib/string.in.h (rpl_strstr): Declare.
54327         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
54328         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
54329         * modules/string (Makefile.am): Likewise.
54330         * MODULES.html.sh (string handling): Mention new module.
54331         * doc/functions/strstr.texi (strstr): Document the bug.
54332
54333 2008-01-10  Bruno Haible  <bruno@clisp.org>
54334
54335         * lib/relocatable.h (relocate): State whether result is freshly
54336         allocated or not.
54337         * lib/relocatable.c (relocate): Return a freshly allocated string
54338         instead of a pointer to a privately held string.
54339         Reported by Sylvain Beucler <beuc@gnu.org>.
54340
54341 2008-01-10  Colin Watson  <cjwatson@debian.org>
54342
54343         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
54344         s/S_ISNLK/S_ISLNK/.
54345
54346 2008-01-09  Bruno Haible  <bruno@clisp.org>
54347
54348         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
54349         and other files.
54350         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
54351         if it's only a guess.
54352         * modules/memmem: Simplify by depending on memmem-simple.
54353
54354 2008-01-09  Bruno Haible  <bruno@clisp.org>
54355
54356         Work around OpenBSD 4.0 tdelete() bug.
54357         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
54358         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
54359         macros and don't redefine the enum values.
54360         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
54361         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
54362         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
54363
54364 2008-01-09  Bruno Haible  <bruno@clisp.org>
54365
54366         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
54367         (main): Don't perform the tests if setlocale did not install a UTF-8
54368         locale. Needed on OpenBSD 4.0.
54369         * modules/wcwidth-tests (Depends-on): Add localcharset.
54370
54371 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54372
54373         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
54374         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
54375         * NEWS: announce this.
54376         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
54377
54378 2008-01-09  Simon Josefsson  <simon@josefsson.org>
54379         and Eric Blake  <ebb9@byu.net>
54380
54381         Add memmem-simple module.
54382         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
54383         (gl_FUNC_MEMMEM): Separate performance from presence checks.
54384         * modules/memmem-simple: New file.
54385         * modules/memmem (Description): Tweak.
54386         * MODULES.html.sh (string handling): Mention new module.
54387         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
54388         addressed by memmem-simple.
54389         * NEWS: Document the difference.
54390
54391 2008-01-09  Eric Blake  <ebb9@byu.net>
54392
54393         Give gcc some memmem optimization hints.
54394         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
54395         (strcasestr): Declare as pure.
54396         * modules/memmem (Maintainer): Claim my implementation.
54397
54398 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54399
54400         Support AIX 6.1 and higher.
54401         * build-aux/config.libpath: Likewise.
54402         * build-aux/config.rpath: Likewise.
54403
54404 2008-01-08  Jim Meyering  <meyering@redhat.com>
54405             Bruno Haible  <bruno@clisp.org>
54406
54407         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
54408         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
54409         Reported by Peter Fales in
54410         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
54411
54412 2008-01-08  Bruno Haible  <bruno@clisp.org>
54413
54414         * modules/unictype/category-of (Depends-on): Add
54415         unictype/category-none.
54416         * modules/unictype/category-and-tests (Depends-on): Add
54417         unictype/category-{L,N,Lu,Nd}.
54418         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
54419         * modules/unictype/category-or-tests (Depends-on): Add
54420         unictype/category-{L,N}.
54421         * modules/unictype/category-name-tests (Depends-on): Add
54422         unictype/category-{Z,Nl}.
54423         Reported by Simon Josefsson.
54424
54425 2008-01-08  Bruno Haible  <bruno@clisp.org>
54426
54427         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
54428         convention better.
54429         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
54430         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
54431         Reported by Peter Miller <millerp@canb.auug.org.au>.
54432
54433 2008-01-08  Eric Blake  <ebb9@byu.net>
54434
54435         Rewrite memmem to guarantee linear complexity without malloc.
54436         * lib/memmem.c (memmem): Use Two-Way rather than
54437         Knuth-Morris-Pratt, to allow O(1) space usage.
54438         (critical_factorization, two_way_short_needle)
54439         (two_way_long_needle): New functions.
54440         (knuth_morris_pratt): Delete.
54441         * modules/memmem (Depends-on): No longer need malloca or stdbool.
54442         Add stdint.
54443         * tests/test-memmem.c (main): Add tests for periodic needle and
54444         sublinear performance.
54445         * doc/functions/memmem.texi (memmem): Document other deficiencies
54446         in cygwin and older glibc.
54447
54448 2008-01-08  Bruno Haible  <bruno@clisp.org>
54449
54450         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
54451         augmentation.
54452
54453 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
54454
54455         Add a configure time option: --disable-acl.
54456         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
54457         AC_ARG_ENABLE(acl).
54458
54459 2008-01-06  Simon Josefsson  <simon@josefsson.org>
54460
54461         * tests/test-localename.c: Don't include obsolete "setenv.h".
54462
54463         * modules/localename-tests (Depends-on): Need unsetenv.
54464
54465 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54466
54467         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
54468
54469 2008-01-06  Colin Watson  <cjwatson@debian.org>
54470
54471         * users.txt: Add man-db.
54472
54473 2008-01-07  Bruno Haible  <bruno@clisp.org>
54474
54475         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
54476         previous section name.
54477
54478 2008-01-07  Bruno Haible  <bruno@clisp.org>
54479
54480         * lib/progname.c (set_program_name): Don't strip off a leading
54481         "lt-" prefix outside a .libs directory.
54482         Suggested by Paul Eggert.
54483
54484 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
54485             Bruno Haible  <bruno@clisp.org>
54486
54487         Improve memory cleanup in 'relocatable' module.
54488         * lib/relocatable.h (compute_curr_prefix): Change return type to
54489         'char *'.
54490         * lib/relocatable.c (compute_curr_prefix): Change return type to
54491         'char *'. Free curr_installdir after use.
54492         (relocate): Free curr_prefix_better after use.
54493         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
54494
54495 2008-01-01  Bruno Haible  <bruno@clisp.org>
54496
54497         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
54498         failure on older glibc systems.
54499         Reported by Peter Fales <psfales@alcatel-lucent.com>.
54500
54501 2008-01-05  Eric Blake  <ebb9@byu.net>
54502
54503         Avoid quadratic system memmem.
54504         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
54505         Reported by Ralf Wildenhues.
54506
54507         Fix memmem test for mingw.
54508         * modules/memmem-tests (configure.ac): Check for alarm.
54509         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
54510         it.
54511         * doc/functions/memmem.texi: New file.
54512         * doc/gnulib.texi (Function Substitutes): Add memmem.
54513         Reported by Bruno Haible.
54514
54515 2008-01-04  Bruno Haible  <bruno@clisp.org>
54516
54517         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
54518         Require gl_HEADER_STRINGS_H_DEFAULTS, not
54519         gl_HEADER_STRING_H_DEFAULTS.
54520
54521 2008-01-04  Eric Blake  <ebb9@byu.net>
54522
54523         Shorten duration of memmem test.
54524         * tests/test-memmem.c (main): Use alarm to declare failure if test
54525         is taking too long.
54526         Reported by Ralf Wildenhues.
54527
54528 2007-12-21  Simon Josefsson  <simon@josefsson.org>
54529
54530         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
54531         string, needed by strerror.
54532
54533 2008-01-03  Colin Watson  <cjwatson@debian.org>
54534             Bruno Haible  <bruno@clisp.org>
54535
54536         * doc/gnulib-tool.texi (Localization): New section.
54537
54538 2008-01-02  Bruno Haible  <bruno@clisp.org>
54539
54540         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
54541         variables to 'unsigned char *' type.
54542         Reported by Paul Eggert.
54543
54544 2008-01-02  Jim Meyering  <jim@meyering.net>
54545
54546         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
54547
54548 2007-12-31  Jim Meyering  <jim@meyering.net>
54549
54550         Avoid use of private FTS type name.
54551         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
54552
54553 2007-12-30  Karl Berry  <karl@gnu.org>
54554
54555         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
54556         work around defect in Texinfo and/or the standalone Info browser.
54557
54558 2007-12-30  Bruno Haible  <bruno@clisp.org>
54559
54560         Unify 5 copies of the KMP code.
54561         * lib/str-kmp.h: New file.
54562         * lib/c-strcasestr.c: Include str-kmp.h.
54563         (knuth_morris_pratt): Remove function.
54564         (c_strcasestr): Update.
54565         * lib/c-strstr.c: Include str-kmp.h.
54566         (knuth_morris_pratt): Remove function.
54567         (c_strcasestr): Update.
54568         * lib/mbscasestr.c: Include str-kmp.h.
54569         (knuth_morris_pratt_unibyte): Remove function.
54570         * lib/mbsstr.c: Include str-kmp.h.
54571         (knuth_morris_pratt_unibyte): Remove function.
54572         * lib/strcasestr.c: Include str-kmp.h.
54573         (knuth_morris_pratt): Remove function.
54574         (strcasestr): Update.
54575         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
54576         * modules/c-strstr (Files): Likewise.
54577         * modules/mbscasestr (Files): Likewise.
54578         * modules/mbsstr (Files): Likewise.
54579         * modules/strcasestr (Files): Likewise.
54580         Suggested by Paul Eggert.
54581
54582 2007-12-30  Bruno Haible  <bruno@clisp.org>
54583
54584         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
54585         defined.
54586
54587 2007-12-30  Bruno Haible  <bruno@clisp.org>
54588
54589         * lib/xmalloca.h: Include xalloc.h.
54590         (xnmalloca): New macro.
54591
54592 2007-12-30  Bruno Haible  <bruno@clisp.org>
54593
54594         * lib/malloca.h (nmalloca): New macro.
54595         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
54596         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
54597         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
54598         knuth_morris_pratt_multibyte): Likewise.
54599         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
54600         knuth_morris_pratt_multibyte): Likewise.
54601         * lib/memmem.c (knuth_morris_pratt): Likewise.
54602         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
54603
54604 2007-12-25  Bruno Haible  <bruno@clisp.org>
54605
54606         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
54607         * lib/glob.c: Don't include openat.h.
54608         (link_exists2_p): Add back the code that deals with the
54609         !GLOB_ALTDIRFUNC case.
54610         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
54611         let it do the filename concatenation.
54612         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
54613         * modules/glob (Depends-on): Remove openat.
54614
54615 2007-12-31  Bruno Haible  <bruno@clisp.org>
54616
54617         * modules/dirfd (License): Change to LGPLv2+.
54618         Approved by Jim Meyering.
54619
54620 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
54621
54622         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
54623         when multiplying M by sizeof (size_t).
54624
54625 2007-12-10  Martin Lambers  <marlam@marlam.de>
54626
54627         Override getpagesize on mingw.
54628         * lib/getpagesize.c: New file.
54629         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
54630         * modules/getpagesize (Files): Add lib/getpagesize.c.
54631         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
54632         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54633         REPLACE_GETPAGESIZE.
54634         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
54635
54636 2007-12-25  Bruno Haible  <bruno@clisp.org>
54637
54638         * modules/localcharset (Notice): New field.
54639         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
54640         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
54641
54642 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
54643             Bruno Haible  <bruno@clisp.org>
54644
54645         Avoid using the syntax symbol() in formatted documentation.
54646         * MODULES.html.sh (func_module): When replacing symbol() with a
54647         hyperlink, remove the parentheses. Show an error if some remain.
54648         Recognize and render the '...' syntax.
54649         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
54650         Rework. Add paragraph about GCC's inlining.
54651         * doc/alloca.texi: Likewise.
54652         * doc/error.texi: Remove parentheses from symbol reference.
54653         * doc/gnulib-intro.texi: Likewise.
54654         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
54655         * modules/fnmatch (Description): Reword to say "the ... function".
54656         * modules/full-read (Description): Likewise.
54657         * modules/full-write (Description): Likewise.
54658         * modules/safe-read (Description): Likewise.
54659         * modules/safe-write (Description): Likewise.
54660         * modules/strchrnul (Description): Likewise.
54661         * modules/trim (Description): Likewise.
54662         * modules/error (Description): Remove parentheses from symbol
54663         references.
54664         * modules/verror (Description): Likewise.
54665         Reported by Karl Berry.
54666
54667 2007-12-25  Bruno Haible  <bruno@clisp.org>
54668
54669         Fixup after 2007-10-16 commit.
54670         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
54671
54672 2007-12-24  Bruno Haible  <bruno@clisp.org>
54673
54674         Make --enable-relocatable work with DESTDIR.
54675         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
54676         to compute installdir from destprog.
54677         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
54678         also set the RELOC_DESTDIR variable.
54679         Reported by Левашев Иван <octagram@bluebottle.com>.
54680
54681 2007-12-24  Bruno Haible  <bruno@clisp.org>
54682
54683         Fix link error due to xalloc_die().
54684         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
54685         of xreadlink.
54686         * lib/relocwrapper.c: Update comments.
54687         * build-aux/install-reloc: Remove xreadlink.c from file list.
54688         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
54689         xreadlink.c.
54690         Reported by Левашев Иван <octagram@bluebottle.com>.
54691
54692 2007-12-24  Bruno Haible  <bruno@clisp.org>
54693
54694         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
54695         * lib/setenv.h: Remove file.
54696         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
54697         lib/setenv.h.
54698         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
54699         (Depends-on): Add stdlib.
54700         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
54701         gl_FUNC_UNSETENV.
54702         (Include): Replace setenv.h with <stdlib.h>.
54703         * modules/unsetenv: New file.
54704         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
54705         * lib/unsetenv.c: Include <stdlib.h> first.
54706         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
54707         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
54708         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
54709         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
54710         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
54711         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
54712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
54713         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
54714         * doc/functions/unsetenv.texi: Update.
54715         * modules/xsetenv (Depends-on): Add unsetenv.
54716         * modules/getdate (Depends-on): Likewise.
54717         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
54718         * lib/xsetenv.c: Don't include setenv.h.
54719         * lib/getdate.y: Likewise.
54720         * lib/relocwrapper.c: Likewise.
54721         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
54722         (Depends-on): Add stdlib.
54723         * NEWS: Mention the changes.
54724         Reported by Левашев Иван <octagram@bluebottle.com>.
54725
54726 2007-12-23  Bruno Haible  <bruno@clisp.org>
54727
54728         * lib/memmem.c (memmem): Use lowercase variable names. Tab
54729         indentation.
54730
54731 2007-12-23  Bruno Haible  <bruno@clisp.org>
54732
54733         * lib/c-strcasestr.c: Add more comments.
54734         * lib/c-strstr.c: Likewise.
54735         * lib/mbscasestr.c: Likewise.
54736         * lib/mbsstr.c: Likewise.
54737         * lib/strcasestr.c: Likewise.
54738         * lib/memmem.c: Likewise.
54739
54740 2007-12-23  Bruno Haible  <bruno@clisp.org>
54741
54742         * tests/test-memmem.c: Include <string.h> first.
54743
54744 2007-12-22  Bruno Haible  <bruno@clisp.org>
54745
54746         * gnulib-tool (func_create_testdir): Change $auxdir while generating
54747         the contents of $testsbase.
54748         Reported by Ralf Wildenhues.
54749
54750 2007-12-22  Bruno Haible  <bruno@clisp.org>
54751
54752         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
54753         two variables local_ldadd_before, local_ldadd_last.
54754
54755 2007-12-20  Eric Blake  <ebb9@byu.net>
54756
54757         Work around circular library issue when cross-compiling.
54758         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
54759         that progname.o does not need to pull in rpl_memcmp.
54760
54761 2007-12-19  Eric Blake  <ebb9@byu.net>
54762
54763         Fix memmem to avoid O(n^2) worst-case complexity.
54764         * lib/memmem.c (knuth_morris_pratt): New function.
54765         (memmem): Use it if first few naive iterations fail.
54766         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
54767         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
54768         * modules/memchr (License): Likewise.
54769         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
54770         malloca.
54771         * tests/test-memmem.c: Rewrite, borrowing ideas from
54772         test-mbsstr1.c; the old version wouldn't even compile!
54773         * modules/memmem-tests: New file.
54774         * lib/string.in.h (rpl_memmem): Add declaration.
54775         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
54776         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
54777         REPLACE_MEMMEM.
54778
54779 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54780
54781         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
54782         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
54783         before any system include files, and undef after them all.  This
54784         should fix a problem on VMS reported by John E. Malmberg in
54785         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
54786
54787 2007-12-17  Eric Blake  <ebb9@byu.net>
54788
54789         Revert addition of verify, for BSD/OS.
54790         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
54791         can't handle large files, for the sake of obsolete platforms.
54792         * modules/fseeko (Depends-on): Remove verify.
54793         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
54794         * doc/functions/ftello.texi (ftello): Likewise.
54795         * doc/functions/fgetpos.texi (fgetpos): Likewise.
54796         Reported by Larry Jones.
54797
54798 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
54799
54800         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
54801         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
54802
54803 2007-12-17  Jim Meyering  <meyering@redhat.com>
54804
54805         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
54806         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
54807         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
54808         * modules/getcwd (Depends-on): Add openat.
54809         Reported by Petr Salinger.
54810
54811 2007-12-17  Bruno Haible  <bruno@clisp.org>
54812
54813         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
54814         avoid a segmentation fault of the configure test on x86_64 systems.
54815
54816 2007-12-15  Jim Meyering  <meyering@redhat.com>
54817
54818         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
54819
54820 2007-12-13  Eric Blake  <ebb9@byu.net>
54821
54822         Another fseek test.
54823         * tests/test-fseek.c (main): Also test ungetc handling.
54824         * tests/test-fseeko.c (main): Likewise.
54825         * modules/fseeko (Depends-on): Add verify.
54826         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
54827         large.
54828         Reported by Larry Jones.
54829
54830         Fix fseeko on mingw.
54831         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
54832         seek.
54833
54834         Beef up fseek tests.
54835         * tests/test-fseek.c (main): Also test eof handling.
54836         * tests/test-fseeko.c (main): Likewise.
54837         Reported by Larry Jones.
54838
54839 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
54840
54841         Fix fseeko on BSD-based platforms.
54842         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
54843         successful seek.
54844
54845 2007-12-12  Eric Blake  <ebb9@byu.net>
54846
54847         Allow circular dependency of separate libtests.a
54848         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
54849         when use_libtests.
54850
54851 2007-12-11  Eric Blake  <ebb9@byu.net>
54852
54853         Fix bug with -0.0L in previous patch.
54854         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
54855         * tests/test-isnan.c (main): Also test on zeroes.
54856         * tests/test-isnanf.c (main): Likewise.
54857         * tests/test-isnanl.h (main): Likewise.
54858
54859         Detect pseudo-denormals on x86 even when cross-compiling.
54860         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
54861         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
54862         invalid bit patterns that happen to satisfy ==.
54863
54864         Avoid link failures with separate libtests.a.
54865         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
54866         last, to satisfy circular dependencies.
54867
54868 2007-12-11  Eric Blake  <ebb9@byu.net>
54869         and Bruno Haible  <bruno@clisp.org>
54870
54871         Fix OpenBSD 4.0 <float.h> handling of long double.
54872         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
54873         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
54874         * doc/headers/float.texi (float.h): Document OpenBSD bug.
54875
54876 2007-12-11  Jim Meyering  <meyering@redhat.com>
54877
54878         * users.txt: Add libvirt.
54879
54880         Support versions of autoconf prior to 2.59c.
54881         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
54882         if it is not already defined.
54883
54884 2007-12-09  Bruno Haible  <bruno@clisp.org>
54885
54886         Let 'gnulib-tool --import' collect sources needed for the tests in
54887         tests/ rather than in lib/.
54888         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
54889         argument. If true, add rules to generate libtests.a, and put libtests.a
54890         into $(LDADD). Consider source files in subdirectories and set
54891         uses_subdirs.
54892         (func_emit_initmacro_start, func_emit_initmacro_end,
54893         func_emit_initmacro_done): Pass all arguments explicitly.
54894         (func_import): Determine two module lists main_modules,
54895         testsrelated_modules. Determine use_libtests. Determine two variables
54896         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
54897         instead of just sed_transform_lib_file. Determine two variables
54898         main_files and testsrelated_files. Compute 'files' as the union of
54899         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
54900         func_add_or_update. In the generated gnulib-comp.m4, collect the
54901         object files for tests/ in different variables than those for lib/.
54902         Substitute LIBTESTS_LIBDEPS.
54903         (func_create_testdir): Combine the uses_subdirs results from
54904         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
54905
54906 2007-12-09  Bruno Haible  <bruno@clisp.org>
54907
54908         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
54909         the build-aux directory.
54910
54911 2007-12-09  Bruno Haible  <bruno@clisp.org>
54912
54913         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
54914         introduced on 2006-09-09.
54915
54916 2007-12-07  Jim Meyering  <meyering@redhat.com>
54917
54918         Let these macros work also with autoconf-2.59.
54919         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
54920         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
54921         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
54922
54923 2007-12-06  Jim Meyering  <meyering@redhat.com>
54924
54925         Avoid a configure-time syntax error in gl_FUNC_ACL.
54926         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
54927         function in each branch, before testing the cache variable.
54928
54929 2007-12-04  Eric Blake  <ebb9@byu.net>
54930
54931         Make scripts executable.
54932         * build-aux/config.guess: Add execute permissions.
54933         * build-aux/config.sub: Likewise.
54934         * build-aux/gendocs.sh: Likewise.
54935
54936         Fix frexp on mingw.
54937         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
54938         cross-compiling.
54939         * doc/functions/frexp.texi (frexp): Document the bug.
54940
54941         Make cygwin fseeko check more reliable.
54942         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
54943         version numbers, rather than unrelated feature check.
54944         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
54945         * doc/functions/ftello.texi (ftello): Likewise.
54946         Reported by Bruno Haible.
54947
54948         * m4/strerror.m4: Bump version number.
54949
54950 2007-12-03  Bruno Haible  <bruno@clisp.org>
54951
54952         * doc/functions/mprotect.texi: Mention the mingw problem.
54953
54954 2007-12-03  Eric Blake  <ebb9@byu.net>
54955
54956         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
54957         REPLACE_STRERROR is initialized before this macro.
54958
54959 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
54960
54961         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
54962         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
54963         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
54964         put -lsec in even for programs other than 'ls'.  This fixes a problem
54965         for gettext reported by Bruno Haible in
54966         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
54967         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
54968         Add support for Solaris 10.  This isn't efficient, but should get the
54969         job done for now.
54970
54971 2007-12-03  James Youngman  <jay@gnu.org>
54972
54973         * doc/regexprops-generic.texi: change "an close-group" to "a
54974         close-group" and "illegal" to "not allowed".
54975
54976 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54977
54978         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
54979         pr_byname.h. Needed for the rare case when the maintainer has done
54980         "make maintainer-clean" in the source directory and then attempts a
54981         build outside the source directory.
54982         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
54983         scripts_byname.h.
54984
54985 2007-12-02  Martin Lambers <marlam@marlam.de>
54986             Bruno Haible  <bruno@clisp.org>
54987
54988         * lib/getpagesize.h: Remove file.
54989         * lib/unistd.in.h: Include declaration of getpagesize here.
54990         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
54991         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
54992         HAVE_SYS_PARAM_H.
54993         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
54994         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
54995         * modules/getpagesize (Files): Remove lib/getpagesize.h.
54996         (Depends-on): Add unistd.
54997         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54998         (Include): Use <unistd.h> instead of getpagesize.h.
54999         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
55000         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55001         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
55002         gl_GETPAGESIZE invocation, already handled by module dependency.
55003         * lib/pagealign_alloc.c: Don't include getpagesize.h.
55004
55005 2007-12-02  Bruno Haible  <bruno@clisp.org>
55006
55007         * modules/strings-tests: New file.
55008         * tests/test-strings.c: New file.
55009
55010         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
55011         * lib/strings.in.h: New file.
55012         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
55013         * m4/strings_h.m4: New file.
55014         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
55015         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
55016         * modules/strings: New file.
55017         * modules/string (Makefile.am): Update.
55018         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
55019         Reported by Karl Berry.
55020
55021 2007-12-01  Eric Blake  <ebb9@byu.net>
55022
55023         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
55024         accomodate fix in cygwin 1.5.25.
55025
55026 2007-12-01  Jim Meyering  <meyering@redhat.com>
55027
55028         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
55029         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
55030         that would inhibit utf8-optimization of a regexp containing line-
55031         or buffer-anchors, e.g., `^', `$'.
55032
55033 2007-11-30  Bruno Haible  <bruno@clisp.org>
55034
55035         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
55036         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
55037         glthread_recursive_lock_init.
55038         * lib/lock.c (glthread_recursive_lock_init)
55039         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
55040         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55041
55042 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
55043
55044         New function qset_acl, like set_acl but with syscall semantics.
55045         * lib/acl.h (qset_acl): New decl.
55046         * lib/acl.c (qset_acl): New function.
55047         (set_acl): Use new function.  Use more-consistent diagnostics.
55048
55049 2007-11-28  Jim Meyering  <meyering@redhat.com>
55050
55051         * modules/physmem (License): Change from GPL to LGPLv2+.
55052
55053 2007-11-26  Bruno Haible  <bruno@clisp.org>
55054
55055         * lib/vasnprintf.c (decode_long_double): Don't abort if the
55056         'long double' type has excess precision.
55057         Reported by Jim Meyering in
55058         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
55059
55060 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55061
55062         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
55063         Sync from <http://gnu.org/licenses>.
55064         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
55065         with license text from same location.
55066         * doc/maintain.texi, doc/standards.texi:  Sync from
55067         <http://savannah.gnu.org/projects/gnustandards>.
55068
55069 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
55070         and Jim Meyering  <meyering@redhat.com>
55071
55072         Adjust getdate' grammar to accept a slightly more regular language.
55073         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
55074         Before, the former was rejected.
55075         * lib/getdate.y (digits_to_date_time): New function, factored
55076         out of ...
55077         (number): ...here.  Just call digits_to_date_time.
55078         (hybrid): New non-terminal to handle an <unsigned number,
55079         signed relative offset> sequence consistently.
55080
55081 2007-11-18  Jim Meyering  <meyering@redhat.com>
55082
55083         Pull my changes from coreutils:
55084         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
55085         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
55086         use of $gnulib_tool_option_extras, so that it's separated from the
55087         preceding argument.
55088
55089         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
55090         * build-aux/bootstrap (cp_mark_as_generated): Create any required
55091         parent destination directories before copying a file into place.
55092
55093 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
55094
55095         bootstrap: work also with 4-argument variant of AC_INIT
55096         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
55097
55098 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55099
55100         Port test-getaddrinfo to Solaris.
55101         Problem reported by Bruno Haible in
55102         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
55103         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
55104         explanation of setting 'hints'.
55105         Don't reject an implementation merely because it returns EAI_SERVICE.
55106         (EAI_SERVICE): Define to 0 if not defined.
55107
55108 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
55109
55110         The license of gnu-make and posix-shell is now "GPLed build tool".
55111         * modules/gnu-make (License): Likewise.
55112         * modules/posix-shell (License): Likewise.
55113
55114         New module posix-shell, for determining a POSIX shell
55115         or perhaps something that is close enough to a POSIX shell.
55116         * m4/posix-shell.m4: New file.
55117         * modules/posix-shell: New file.
55118
55119         * MODULES.html.sh: Mention new module.
55120
55121         New module gnu-make, for determining whether we're using GNU Make.
55122         * m4/gnu-make.m4: New file.
55123         * modules/gnu-make: New file.
55124         * MODULES.html.sh: Mention new module.
55125
55126 2007-11-14  Jim Meyering  <meyering@redhat.com>
55127
55128         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
55129         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
55130         use this macro to create a function _definition_.
55131         Remove useless "#undef ARGMATCH_DIE".
55132
55133 2007-11-14  Bruno Haible  <bruno@clisp.org>
55134
55135         * lib/config.charset: Update for OpenBSD 4.1.
55136         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
55137
55138 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
55139
55140         Document 64-bit #if problems in stdint.texi.
55141         * doc/headers/stdint.texi (stdint.h): Mention problems with
55142         64-bit-#if, and how to work around them.
55143
55144         Don't insist on 'long long int' support in the preprocessor.  It
55145         breaks too many things.  For example, PRIdMAX still uses a 'long
55146         long int' format with the latest Sun compiler, even though
55147         HAVE_LONG_LONG_INT isn't defined due to that compiler's
55148         preprocessor problem.  This causes the latest coreutils to dump
55149         core on Solaris 10 sparc with the Sun C compiler.
55150         Instead, fix the 2007-10-16 problem in a different way, by evaluating
55151         the troublesome expressions at configure-time, not at #if-time.
55152         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
55153         preprocessor.
55154         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
55155         compile-time C checks, done at 'configure'-time.
55156         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
55157         * modules/inttypes (Makefile): Substitute the new symbols that
55158         gl_INTTYPES_H now generates.
55159         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
55160
55161 2007-11-12  Bruno Haible  <bruno@clisp.org>
55162
55163         Tests for Unicode character classification functions.
55164
55165         * modules/unictype/bidicategory-byname-tests: New file.
55166         * modules/unictype/bidicategory-name-tests: New file.
55167         * modules/unictype/bidicategory-of-tests: New file.
55168         * modules/unictype/bidicategory-test-tests: New file.
55169         * modules/unictype/block-list-tests: New file.
55170         * modules/unictype/block-of-tests: New file.
55171         * modules/unictype/block-test-tests: New file.
55172         * modules/unictype/category-C-tests: New file.
55173         * modules/unictype/category-Cc-tests: New file.
55174         * modules/unictype/category-Cf-tests: New file.
55175         * modules/unictype/category-Cn-tests: New file.
55176         * modules/unictype/category-Co-tests: New file.
55177         * modules/unictype/category-Cs-tests: New file.
55178         * modules/unictype/category-L-tests: New file.
55179         * modules/unictype/category-Ll-tests: New file.
55180         * modules/unictype/category-Lm-tests: New file.
55181         * modules/unictype/category-Lo-tests: New file.
55182         * modules/unictype/category-Lt-tests: New file.
55183         * modules/unictype/category-Lu-tests: New file.
55184         * modules/unictype/category-M-tests: New file.
55185         * modules/unictype/category-Mc-tests: New file.
55186         * modules/unictype/category-Me-tests: New file.
55187         * modules/unictype/category-Mn-tests: New file.
55188         * modules/unictype/category-N-tests: New file.
55189         * modules/unictype/category-Nd-tests: New file.
55190         * modules/unictype/category-Nl-tests: New file.
55191         * modules/unictype/category-No-tests: New file.
55192         * modules/unictype/category-P-tests: New file.
55193         * modules/unictype/category-Pc-tests: New file.
55194         * modules/unictype/category-Pd-tests: New file.
55195         * modules/unictype/category-Pe-tests: New file.
55196         * modules/unictype/category-Pf-tests: New file.
55197         * modules/unictype/category-Pi-tests: New file.
55198         * modules/unictype/category-Po-tests: New file.
55199         * modules/unictype/category-Ps-tests: New file.
55200         * modules/unictype/category-S-tests: New file.
55201         * modules/unictype/category-Sc-tests: New file.
55202         * modules/unictype/category-Sk-tests: New file.
55203         * modules/unictype/category-Sm-tests: New file.
55204         * modules/unictype/category-So-tests: New file.
55205         * modules/unictype/category-Z-tests: New file.
55206         * modules/unictype/category-Zl-tests: New file.
55207         * modules/unictype/category-Zp-tests: New file.
55208         * modules/unictype/category-Zs-tests: New file.
55209         * modules/unictype/category-and-not-tests: New file.
55210         * modules/unictype/category-and-tests: New file.
55211         * modules/unictype/category-byname-tests: New file.
55212         * modules/unictype/category-name-tests: New file.
55213         * modules/unictype/category-none-tests: New file.
55214         * modules/unictype/category-of-tests: New file.
55215         * modules/unictype/category-or-tests: New file.
55216         * modules/unictype/category-test-withtable-tests: New file.
55217         * modules/unictype/combining-class-tests: New file.
55218         * modules/unictype/ctype-alnum-tests: New file.
55219         * modules/unictype/ctype-alpha-tests: New file.
55220         * modules/unictype/ctype-blank-tests: New file.
55221         * modules/unictype/ctype-cntrl-tests: New file.
55222         * modules/unictype/ctype-digit-tests: New file.
55223         * modules/unictype/ctype-graph-tests: New file.
55224         * modules/unictype/ctype-lower-tests: New file.
55225         * modules/unictype/ctype-print-tests: New file.
55226         * modules/unictype/ctype-punct-tests: New file.
55227         * modules/unictype/ctype-space-tests: New file.
55228         * modules/unictype/ctype-upper-tests: New file.
55229         * modules/unictype/ctype-xdigit-tests: New file.
55230         * modules/unictype/decimal-digit-tests: New file.
55231         * modules/unictype/digit-tests: New file.
55232         * modules/unictype/mirror-tests: New file.
55233         * modules/unictype/numeric-tests: New file.
55234         * modules/unictype/property-alphabetic-tests: New file.
55235         * modules/unictype/property-ascii-hex-digit-tests: New file.
55236         * modules/unictype/property-bidi-arabic-digit-tests: New file.
55237         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
55238         * modules/unictype/property-bidi-block-separator-tests: New file.
55239         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
55240         * modules/unictype/property-bidi-common-separator-tests: New file.
55241         * modules/unictype/property-bidi-control-tests: New file.
55242         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
55243         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
55244         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
55245         * modules/unictype/property-bidi-european-digit-tests: New file.
55246         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
55247         * modules/unictype/property-bidi-left-to-right-tests: New file.
55248         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
55249         * modules/unictype/property-bidi-other-neutral-tests: New file.
55250         * modules/unictype/property-bidi-pdf-tests: New file.
55251         * modules/unictype/property-bidi-segment-separator-tests: New file.
55252         * modules/unictype/property-bidi-whitespace-tests: New file.
55253         * modules/unictype/property-byname-tests: New file.
55254         * modules/unictype/property-combining-tests: New file.
55255         * modules/unictype/property-composite-tests: New file.
55256         * modules/unictype/property-currency-symbol-tests: New file.
55257         * modules/unictype/property-dash-tests: New file.
55258         * modules/unictype/property-decimal-digit-tests: New file.
55259         * modules/unictype/property-default-ignorable-code-point-tests: New file.
55260         * modules/unictype/property-deprecated-tests: New file.
55261         * modules/unictype/property-diacritic-tests: New file.
55262         * modules/unictype/property-extender-tests: New file.
55263         * modules/unictype/property-format-control-tests: New file.
55264         * modules/unictype/property-grapheme-base-tests: New file.
55265         * modules/unictype/property-grapheme-extend-tests: New file.
55266         * modules/unictype/property-grapheme-link-tests: New file.
55267         * modules/unictype/property-hex-digit-tests: New file.
55268         * modules/unictype/property-hyphen-tests: New file.
55269         * modules/unictype/property-id-continue-tests: New file.
55270         * modules/unictype/property-id-start-tests: New file.
55271         * modules/unictype/property-ideographic-tests: New file.
55272         * modules/unictype/property-ids-binary-operator-tests: New file.
55273         * modules/unictype/property-ids-trinary-operator-tests: New file.
55274         * modules/unictype/property-ignorable-control-tests: New file.
55275         * modules/unictype/property-iso-control-tests: New file.
55276         * modules/unictype/property-join-control-tests: New file.
55277         * modules/unictype/property-left-of-pair-tests: New file.
55278         * modules/unictype/property-line-separator-tests: New file.
55279         * modules/unictype/property-logical-order-exception-tests: New file.
55280         * modules/unictype/property-lowercase-tests: New file.
55281         * modules/unictype/property-math-tests: New file.
55282         * modules/unictype/property-non-break-tests: New file.
55283         * modules/unictype/property-not-a-character-tests: New file.
55284         * modules/unictype/property-numeric-tests: New file.
55285         * modules/unictype/property-other-alphabetic-tests: New file.
55286         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
55287         * modules/unictype/property-other-grapheme-extend-tests: New file.
55288         * modules/unictype/property-other-id-continue-tests: New file.
55289         * modules/unictype/property-other-id-start-tests: New file.
55290         * modules/unictype/property-other-lowercase-tests: New file.
55291         * modules/unictype/property-other-math-tests: New file.
55292         * modules/unictype/property-other-uppercase-tests: New file.
55293         * modules/unictype/property-paired-punctuation-tests: New file.
55294         * modules/unictype/property-paragraph-separator-tests: New file.
55295         * modules/unictype/property-pattern-syntax-tests: New file.
55296         * modules/unictype/property-pattern-white-space-tests: New file.
55297         * modules/unictype/property-private-use-tests: New file.
55298         * modules/unictype/property-punctuation-tests: New file.
55299         * modules/unictype/property-quotation-mark-tests: New file.
55300         * modules/unictype/property-radical-tests: New file.
55301         * modules/unictype/property-sentence-terminal-tests: New file.
55302         * modules/unictype/property-soft-dotted-tests: New file.
55303         * modules/unictype/property-space-tests: New file.
55304         * modules/unictype/property-terminal-punctuation-tests: New file.
55305         * modules/unictype/property-test-tests: New file.
55306         * modules/unictype/property-titlecase-tests: New file.
55307         * modules/unictype/property-unassigned-code-value-tests: New file.
55308         * modules/unictype/property-unified-ideograph-tests: New file.
55309         * modules/unictype/property-uppercase-tests: New file.
55310         * modules/unictype/property-variation-selector-tests: New file.
55311         * modules/unictype/property-white-space-tests: New file.
55312         * modules/unictype/property-xid-continue-tests: New file.
55313         * modules/unictype/property-xid-start-tests: New file.
55314         * modules/unictype/property-zero-width-tests: New file.
55315         * modules/unictype/scripts-tests: New file.
55316         * modules/unictype/syntax-c-ident-tests: New file.
55317         * modules/unictype/syntax-c-whitespace-tests: New file.
55318         * modules/unictype/syntax-java-ident-tests: New file.
55319         * modules/unictype/syntax-java-whitespace-tests: New file.
55320         * tests/unictype/test-bidi_byname.c: New file.
55321         * tests/unictype/test-bidi_name.c: New file.
55322         * tests/unictype/test-bidi_of.c: New file.
55323         * tests/unictype/test-bidi_test.c: New file.
55324         * tests/unictype/test-block_list.c: New file.
55325         * tests/unictype/test-block_of.c: New file.
55326         * tests/unictype/test-block_test.c: New file.
55327         * tests/unictype/test-categ_and.c: New file.
55328         * tests/unictype/test-categ_and_not.c: New file.
55329         * tests/unictype/test-categ_byname.c: New file.
55330         * tests/unictype/test-categ_name.c: New file.
55331         * tests/unictype/test-categ_none.c: New file.
55332         * tests/unictype/test-categ_of.c: New file.
55333         * tests/unictype/test-categ_or.c: New file.
55334         * tests/unictype/test-categ_test_withtable.c: New file.
55335         * tests/unictype/test-combining.c: New file.
55336         * tests/unictype/test-decdigit.c: New file.
55337         * tests/unictype/test-digit.c: New file.
55338         * tests/unictype/test-mirror.c: New file.
55339         * tests/unictype/test-numeric.c: New file.
55340         * tests/unictype/test-pr_byname.c: New file.
55341         * tests/unictype/test-pr_test.c: New file.
55342         * tests/unictype/test-predicate-part1.h: New file.
55343         * tests/unictype/test-predicate-part2.h: New file.
55344         * tests/unictype/test-scripts.c: New file.
55345         * tests/unictype/test-sy_c_ident.c: New file.
55346         * tests/unictype/test-sy_java_ident.c: New file.
55347
55348         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
55349         for Unicode 5.0.0.
55350         * tests/unictype/test-categ_Cc.c: Likewise.
55351         * tests/unictype/test-categ_Cf.c: Likewise.
55352         * tests/unictype/test-categ_Cn.c: Likewise.
55353         * tests/unictype/test-categ_Co.c: Likewise.
55354         * tests/unictype/test-categ_Cs.c: Likewise.
55355         * tests/unictype/test-categ_L.c: Likewise.
55356         * tests/unictype/test-categ_Ll.c: Likewise.
55357         * tests/unictype/test-categ_Lm.c: Likewise.
55358         * tests/unictype/test-categ_Lo.c: Likewise.
55359         * tests/unictype/test-categ_Lt.c: Likewise.
55360         * tests/unictype/test-categ_Lu.c: Likewise.
55361         * tests/unictype/test-categ_M.c: Likewise.
55362         * tests/unictype/test-categ_Mc.c: Likewise.
55363         * tests/unictype/test-categ_Me.c: Likewise.
55364         * tests/unictype/test-categ_Mn.c: Likewise.
55365         * tests/unictype/test-categ_N.c: Likewise.
55366         * tests/unictype/test-categ_Nd.c: Likewise.
55367         * tests/unictype/test-categ_Nl.c: Likewise.
55368         * tests/unictype/test-categ_No.c: Likewise.
55369         * tests/unictype/test-categ_P.c: Likewise.
55370         * tests/unictype/test-categ_Pc.c: Likewise.
55371         * tests/unictype/test-categ_Pd.c: Likewise.
55372         * tests/unictype/test-categ_Pe.c: Likewise.
55373         * tests/unictype/test-categ_Pf.c: Likewise.
55374         * tests/unictype/test-categ_Pi.c: Likewise.
55375         * tests/unictype/test-categ_Po.c: Likewise.
55376         * tests/unictype/test-categ_Ps.c: Likewise.
55377         * tests/unictype/test-categ_S.c: Likewise.
55378         * tests/unictype/test-categ_Sc.c: Likewise.
55379         * tests/unictype/test-categ_Sk.c: Likewise.
55380         * tests/unictype/test-categ_Sm.c: Likewise.
55381         * tests/unictype/test-categ_So.c: Likewise.
55382         * tests/unictype/test-categ_Z.c: Likewise.
55383         * tests/unictype/test-categ_Zl.c: Likewise.
55384         * tests/unictype/test-categ_Zp.c: Likewise.
55385         * tests/unictype/test-categ_Zs.c: Likewise.
55386         * tests/unictype/test-ctype_alnum.c: Likewise.
55387         * tests/unictype/test-ctype_alpha.c: Likewise.
55388         * tests/unictype/test-ctype_blank.c: Likewise.
55389         * tests/unictype/test-ctype_cntrl.c: Likewise.
55390         * tests/unictype/test-ctype_digit.c: Likewise.
55391         * tests/unictype/test-ctype_graph.c: Likewise.
55392         * tests/unictype/test-ctype_lower.c: Likewise.
55393         * tests/unictype/test-ctype_print.c: Likewise.
55394         * tests/unictype/test-ctype_punct.c: Likewise.
55395         * tests/unictype/test-ctype_space.c: Likewise.
55396         * tests/unictype/test-ctype_upper.c: Likewise.
55397         * tests/unictype/test-ctype_xdigit.c: Likewise.
55398         * tests/unictype/test-decdigit.h: Likewise.
55399         * tests/unictype/test-digit.h: Likewise.
55400         * tests/unictype/test-numeric.h: Likewise.
55401         * tests/unictype/test-pr_alphabetic.c: Likewise.
55402         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
55403         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
55404         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
55405         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
55406         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
55407         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
55408         * tests/unictype/test-pr_bidi_control.c: Likewise.
55409         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
55410         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
55411         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
55412         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
55413         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
55414         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
55415         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
55416         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
55417         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
55418         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
55419         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
55420         * tests/unictype/test-pr_combining.c: Likewise.
55421         * tests/unictype/test-pr_composite.c: Likewise.
55422         * tests/unictype/test-pr_currency_symbol.c: Likewise.
55423         * tests/unictype/test-pr_dash.c: Likewise.
55424         * tests/unictype/test-pr_decimal_digit.c: Likewise.
55425         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
55426         * tests/unictype/test-pr_deprecated.c: Likewise.
55427         * tests/unictype/test-pr_diacritic.c: Likewise.
55428         * tests/unictype/test-pr_extender.c: Likewise.
55429         * tests/unictype/test-pr_format_control.c: Likewise.
55430         * tests/unictype/test-pr_grapheme_base.c: Likewise.
55431         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
55432         * tests/unictype/test-pr_grapheme_link.c: Likewise.
55433         * tests/unictype/test-pr_hex_digit.c: Likewise.
55434         * tests/unictype/test-pr_hyphen.c: Likewise.
55435         * tests/unictype/test-pr_id_continue.c: Likewise.
55436         * tests/unictype/test-pr_id_start.c: Likewise.
55437         * tests/unictype/test-pr_ideographic.c: Likewise.
55438         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
55439         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
55440         * tests/unictype/test-pr_ignorable_control.c: Likewise.
55441         * tests/unictype/test-pr_iso_control.c: Likewise.
55442         * tests/unictype/test-pr_join_control.c: Likewise.
55443         * tests/unictype/test-pr_left_of_pair.c: Likewise.
55444         * tests/unictype/test-pr_line_separator.c: Likewise.
55445         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
55446         * tests/unictype/test-pr_lowercase.c: Likewise.
55447         * tests/unictype/test-pr_math.c: Likewise.
55448         * tests/unictype/test-pr_non_break.c: Likewise.
55449         * tests/unictype/test-pr_not_a_character.c: Likewise.
55450         * tests/unictype/test-pr_numeric.c: Likewise.
55451         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
55452         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
55453         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
55454         * tests/unictype/test-pr_other_id_continue.c: Likewise.
55455         * tests/unictype/test-pr_other_id_start.c: Likewise.
55456         * tests/unictype/test-pr_other_lowercase.c: Likewise.
55457         * tests/unictype/test-pr_other_math.c: Likewise.
55458         * tests/unictype/test-pr_other_uppercase.c: Likewise.
55459         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
55460         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
55461         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
55462         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
55463         * tests/unictype/test-pr_private_use.c: Likewise.
55464         * tests/unictype/test-pr_punctuation.c: Likewise.
55465         * tests/unictype/test-pr_quotation_mark.c: Likewise.
55466         * tests/unictype/test-pr_radical.c: Likewise.
55467         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
55468         * tests/unictype/test-pr_soft_dotted.c: Likewise.
55469         * tests/unictype/test-pr_space.c: Likewise.
55470         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
55471         * tests/unictype/test-pr_titlecase.c: Likewise.
55472         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
55473         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
55474         * tests/unictype/test-pr_uppercase.c: Likewise.
55475         * tests/unictype/test-pr_variation_selector.c: Likewise.
55476         * tests/unictype/test-pr_white_space.c: Likewise.
55477         * tests/unictype/test-pr_xid_continue.c: Likewise.
55478         * tests/unictype/test-pr_xid_start.c: Likewise.
55479         * tests/unictype/test-pr_zero_width.c: Likewise.
55480         * tests/unictype/test-sy_c_whitespace.c: Likewise.
55481         * tests/unictype/test-sy_java_whitespace.c: Likewise.
55482
55483 2007-11-12  Bruno Haible  <bruno@clisp.org>
55484
55485         Unicode character classification functions.
55486         * lib/unictype.h: New file.
55487         * modules/unictype/base: New file.
55488         * modules/unictype/category-L: New file.
55489         * modules/unictype/category-Lu: New file.
55490         * modules/unictype/category-Ll: New file.
55491         * modules/unictype/category-Lt: New file.
55492         * modules/unictype/category-Lm: New file.
55493         * modules/unictype/category-Lo: New file.
55494         * modules/unictype/category-M: New file.
55495         * modules/unictype/category-Mn: New file.
55496         * modules/unictype/category-Mc: New file.
55497         * modules/unictype/category-Me: New file.
55498         * modules/unictype/category-N: New file.
55499         * modules/unictype/category-Nd: New file.
55500         * modules/unictype/category-Nl: New file.
55501         * modules/unictype/category-No: New file.
55502         * modules/unictype/category-P: New file.
55503         * modules/unictype/category-Pc: New file.
55504         * modules/unictype/category-Pd: New file.
55505         * modules/unictype/category-Ps: New file.
55506         * modules/unictype/category-Pe: New file.
55507         * modules/unictype/category-Pi: New file.
55508         * modules/unictype/category-Pf: New file.
55509         * modules/unictype/category-Po: New file.
55510         * modules/unictype/category-S: New file.
55511         * modules/unictype/category-Sm: New file.
55512         * modules/unictype/category-Sc: New file.
55513         * modules/unictype/category-Sk: New file.
55514         * modules/unictype/category-So: New file.
55515         * modules/unictype/category-Z: New file.
55516         * modules/unictype/category-Zs: New file.
55517         * modules/unictype/category-Zl: New file.
55518         * modules/unictype/category-Zp: New file.
55519         * modules/unictype/category-C: New file.
55520         * modules/unictype/category-Cc: New file.
55521         * modules/unictype/category-Cf: New file.
55522         * modules/unictype/category-Cs: New file.
55523         * modules/unictype/category-Co: New file.
55524         * modules/unictype/category-Cn: New file.
55525         * modules/unictype/category-or: New file.
55526         * modules/unictype/category-of: New file.
55527         * modules/unictype/category-test: New file.
55528         * modules/unictype/category-test-withtable: New file.
55529         * modules/unictype/category-byname: New file.
55530         * modules/unictype/category-none: New file.
55531         * modules/unictype/category-and: New file.
55532         * modules/unictype/category-and-not: New file.
55533         * modules/unictype/category-name: New file.
55534         * modules/unictype/combining-class: New file.
55535         * modules/unictype/category-all: New file.
55536         * modules/unictype/bidicategory-all: New file.
55537         * modules/unictype/bidicategory-byname: New file.
55538         * modules/unictype/bidicategory-name: New file.
55539         * modules/unictype/bidicategory-of: New file.
55540         * modules/unictype/bidicategory-test: New file.
55541         * modules/unictype/decimal-digit: New file.
55542         * modules/unictype/digit: New file.
55543         * modules/unictype/numeric: New file.
55544         * modules/unictype/mirror: New file.
55545         * modules/unictype/property-white-space: New file.
55546         * modules/unictype/property-alphabetic: New file.
55547         * modules/unictype/property-other-alphabetic: New file.
55548         * modules/unictype/property-not-a-character: New file.
55549         * modules/unictype/property-default-ignorable-code-point: New file.
55550         * modules/unictype/property-other-default-ignorable-code-point: New
55551         file.
55552         * modules/unictype/property-deprecated: New file.
55553         * modules/unictype/property-logical-order-exception: New file.
55554         * modules/unictype/property-variation-selector: New file.
55555         * modules/unictype/property-private-use: New file.
55556         * modules/unictype/property-unassigned-code-value: New file.
55557         * modules/unictype/property-uppercase: New file.
55558         * modules/unictype/property-other-uppercase: New file.
55559         * modules/unictype/property-lowercase: New file.
55560         * modules/unictype/property-other-lowercase: New file.
55561         * modules/unictype/property-titlecase: New file.
55562         * modules/unictype/property-soft-dotted: New file.
55563         * modules/unictype/property-id-start: New file.
55564         * modules/unictype/property-other-id-start: New file.
55565         * modules/unictype/property-id-continue: New file.
55566         * modules/unictype/property-other-id-continue: New file.
55567         * modules/unictype/property-xid-start: New file.
55568         * modules/unictype/property-xid-continue: New file.
55569         * modules/unictype/property-pattern-white-space: New file.
55570         * modules/unictype/property-pattern-syntax: New file.
55571         * modules/unictype/property-join-control: New file.
55572         * modules/unictype/property-grapheme-base: New file.
55573         * modules/unictype/property-grapheme-extend: New file.
55574         * modules/unictype/property-other-grapheme-extend: New file.
55575         * modules/unictype/property-grapheme-link: New file.
55576         * modules/unictype/property-bidi-control: New file.
55577         * modules/unictype/property-bidi-left-to-right: New file.
55578         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
55579         * modules/unictype/property-bidi-arabic-right-to-left: New file.
55580         * modules/unictype/property-bidi-european-digit: New file.
55581         * modules/unictype/property-bidi-eur-num-separator: New file.
55582         * modules/unictype/property-bidi-eur-num-terminator: New file.
55583         * modules/unictype/property-bidi-arabic-digit: New file.
55584         * modules/unictype/property-bidi-common-separator: New file.
55585         * modules/unictype/property-bidi-block-separator: New file.
55586         * modules/unictype/property-bidi-segment-separator: New file.
55587         * modules/unictype/property-bidi-whitespace: New file.
55588         * modules/unictype/property-bidi-non-spacing-mark: New file.
55589         * modules/unictype/property-bidi-boundary-neutral: New file.
55590         * modules/unictype/property-bidi-pdf: New file.
55591         * modules/unictype/property-bidi-embedding-or-override: New file.
55592         * modules/unictype/property-bidi-other-neutral: New file.
55593         * modules/unictype/property-hex-digit: New file.
55594         * modules/unictype/property-ascii-hex-digit: New file.
55595         * modules/unictype/property-ideographic: New file.
55596         * modules/unictype/property-unified-ideograph: New file.
55597         * modules/unictype/property-radical: New file.
55598         * modules/unictype/property-ids-binary-operator: New file.
55599         * modules/unictype/property-ids-trinary-operator: New file.
55600         * modules/unictype/property-zero-width: New file.
55601         * modules/unictype/property-space: New file.
55602         * modules/unictype/property-non-break: New file.
55603         * modules/unictype/property-iso-control: New file.
55604         * modules/unictype/property-format-control: New file.
55605         * modules/unictype/property-dash: New file.
55606         * modules/unictype/property-hyphen: New file.
55607         * modules/unictype/property-punctuation: New file.
55608         * modules/unictype/property-line-separator: New file.
55609         * modules/unictype/property-paragraph-separator: New file.
55610         * modules/unictype/property-quotation-mark: New file.
55611         * modules/unictype/property-sentence-terminal: New file.
55612         * modules/unictype/property-terminal-punctuation: New file.
55613         * modules/unictype/property-currency-symbol: New file.
55614         * modules/unictype/property-math: New file.
55615         * modules/unictype/property-other-math: New file.
55616         * modules/unictype/property-paired-punctuation: New file.
55617         * modules/unictype/property-left-of-pair: New file.
55618         * modules/unictype/property-combining: New file.
55619         * modules/unictype/property-composite: New file.
55620         * modules/unictype/property-decimal-digit: New file.
55621         * modules/unictype/property-numeric: New file.
55622         * modules/unictype/property-diacritic: New file.
55623         * modules/unictype/property-extender: New file.
55624         * modules/unictype/property-ignorable-control: New file.
55625         * modules/unictype/property-test: New file.
55626         * modules/unictype/property-byname: New file.
55627         * modules/unictype/property-all: New file.
55628         * modules/unictype/scripts: New file.
55629         * modules/unictype/scripts-all: New file.
55630         * modules/unictype/block-of: New file.
55631         * modules/unictype/block-test: New file.
55632         * modules/unictype/block-list: New file.
55633         * modules/unictype/block-all: New file.
55634         * modules/unictype/syntax-c-whitespace: New file.
55635         * modules/unictype/syntax-java-whitespace: New file.
55636         * modules/unictype/syntax-c-ident: New file.
55637         * modules/unictype/syntax-java-ident: New file.
55638         * modules/unictype/ctype-alnum: New file.
55639         * modules/unictype/ctype-alpha: New file.
55640         * modules/unictype/ctype-cntrl: New file.
55641         * modules/unictype/ctype-digit: New file.
55642         * modules/unictype/ctype-graph: New file.
55643         * modules/unictype/ctype-lower: New file.
55644         * modules/unictype/ctype-print: New file.
55645         * modules/unictype/ctype-punct: New file.
55646         * modules/unictype/ctype-space: New file.
55647         * modules/unictype/ctype-upper: New file.
55648         * modules/unictype/ctype-xdigit: New file.
55649         * modules/unictype/ctype-blank: New file.
55650         * lib/unictype/bidi_byname.c: New file.
55651         * lib/unictype/bidi_name.c: New file.
55652         * lib/unictype/bidi_of.c: New file.
55653         * lib/unictype/bidi_test.c: New file.
55654         * lib/unictype/bitmap.h: New file.
55655         * lib/unictype/block_test.c: New file.
55656         * lib/unictype/blocks.c: New file.
55657         * lib/unictype/categ_C.c: New file.
55658         * lib/unictype/categ_Cc.c: New file.
55659         * lib/unictype/categ_Cf.c: New file.
55660         * lib/unictype/categ_Cn.c: New file.
55661         * lib/unictype/categ_Co.c: New file.
55662         * lib/unictype/categ_Cs.c: New file.
55663         * lib/unictype/categ_L.c: New file.
55664         * lib/unictype/categ_Ll.c: New file.
55665         * lib/unictype/categ_Lm.c: New file.
55666         * lib/unictype/categ_Lo.c: New file.
55667         * lib/unictype/categ_Lt.c: New file.
55668         * lib/unictype/categ_Lu.c: New file.
55669         * lib/unictype/categ_M.c: New file.
55670         * lib/unictype/categ_Mc.c: New file.
55671         * lib/unictype/categ_Me.c: New file.
55672         * lib/unictype/categ_Mn.c: New file.
55673         * lib/unictype/categ_N.c: New file.
55674         * lib/unictype/categ_Nd.c: New file.
55675         * lib/unictype/categ_Nl.c: New file.
55676         * lib/unictype/categ_No.c: New file.
55677         * lib/unictype/categ_P.c: New file.
55678         * lib/unictype/categ_Pc.c: New file.
55679         * lib/unictype/categ_Pd.c: New file.
55680         * lib/unictype/categ_Pe.c: New file.
55681         * lib/unictype/categ_Pf.c: New file.
55682         * lib/unictype/categ_Pi.c: New file.
55683         * lib/unictype/categ_Po.c: New file.
55684         * lib/unictype/categ_Ps.c: New file.
55685         * lib/unictype/categ_S.c: New file.
55686         * lib/unictype/categ_Sc.c: New file.
55687         * lib/unictype/categ_Sk.c: New file.
55688         * lib/unictype/categ_Sm.c: New file.
55689         * lib/unictype/categ_So.c: New file.
55690         * lib/unictype/categ_Z.c: New file.
55691         * lib/unictype/categ_Zl.c: New file.
55692         * lib/unictype/categ_Zp.c: New file.
55693         * lib/unictype/categ_Zs.c: New file.
55694         * lib/unictype/categ_and.c: New file.
55695         * lib/unictype/categ_and_not.c: New file.
55696         * lib/unictype/categ_byname.c: New file.
55697         * lib/unictype/categ_name.c: New file.
55698         * lib/unictype/categ_none.c: New file.
55699         * lib/unictype/categ_of.c: New file.
55700         * lib/unictype/categ_or.c: New file.
55701         * lib/unictype/categ_test.c: New file.
55702         * lib/unictype/combining.c: New file.
55703         * lib/unictype/ctype_alnum.c: New file.
55704         * lib/unictype/ctype_alpha.c: New file.
55705         * lib/unictype/ctype_blank.c: New file.
55706         * lib/unictype/ctype_cntrl.c: New file.
55707         * lib/unictype/ctype_digit.c: New file.
55708         * lib/unictype/ctype_graph.c: New file.
55709         * lib/unictype/ctype_lower.c: New file.
55710         * lib/unictype/ctype_print.c: New file.
55711         * lib/unictype/ctype_punct.c: New file.
55712         * lib/unictype/ctype_space.c: New file.
55713         * lib/unictype/ctype_upper.c: New file.
55714         * lib/unictype/ctype_xdigit.c: New file.
55715         * lib/unictype/decdigit.c: New file.
55716         * lib/unictype/digit.c: New file.
55717         * lib/unictype/identsyntaxmap.h: New file.
55718         * lib/unictype/mirror.c: New file.
55719         * lib/unictype/numeric.c: New file.
55720         * lib/unictype/pr_alphabetic.c: New file.
55721         * lib/unictype/pr_ascii_hex_digit.c: New file.
55722         * lib/unictype/pr_bidi_arabic_digit.c: New file.
55723         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
55724         * lib/unictype/pr_bidi_block_separator.c: New file.
55725         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
55726         * lib/unictype/pr_bidi_common_separator.c: New file.
55727         * lib/unictype/pr_bidi_control.c: New file.
55728         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
55729         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
55730         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
55731         * lib/unictype/pr_bidi_european_digit.c: New file.
55732         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
55733         * lib/unictype/pr_bidi_left_to_right.c: New file.
55734         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
55735         * lib/unictype/pr_bidi_other_neutral.c: New file.
55736         * lib/unictype/pr_bidi_pdf.c: New file.
55737         * lib/unictype/pr_bidi_segment_separator.c: New file.
55738         * lib/unictype/pr_bidi_whitespace.c: New file.
55739         * lib/unictype/pr_byname.c: New file.
55740         * lib/unictype/pr_byname.gperf: New file.
55741         * lib/unictype/pr_combining.c: New file.
55742         * lib/unictype/pr_composite.c: New file.
55743         * lib/unictype/pr_currency_symbol.c: New file.
55744         * lib/unictype/pr_dash.c: New file.
55745         * lib/unictype/pr_decimal_digit.c: New file.
55746         * lib/unictype/pr_default_ignorable_code_point.c: New file.
55747         * lib/unictype/pr_deprecated.c: New file.
55748         * lib/unictype/pr_diacritic.c: New file.
55749         * lib/unictype/pr_extender.c: New file.
55750         * lib/unictype/pr_format_control.c: New file.
55751         * lib/unictype/pr_grapheme_base.c: New file.
55752         * lib/unictype/pr_grapheme_extend.c: New file.
55753         * lib/unictype/pr_grapheme_link.c: New file.
55754         * lib/unictype/pr_hex_digit.c: New file.
55755         * lib/unictype/pr_hyphen.c: New file.
55756         * lib/unictype/pr_id_continue.c: New file.
55757         * lib/unictype/pr_id_start.c: New file.
55758         * lib/unictype/pr_ideographic.c: New file.
55759         * lib/unictype/pr_ids_binary_operator.c: New file.
55760         * lib/unictype/pr_ids_trinary_operator.c: New file.
55761         * lib/unictype/pr_ignorable_control.c: New file.
55762         * lib/unictype/pr_iso_control.c: New file.
55763         * lib/unictype/pr_join_control.c: New file.
55764         * lib/unictype/pr_left_of_pair.c: New file.
55765         * lib/unictype/pr_line_separator.c: New file.
55766         * lib/unictype/pr_logical_order_exception.c: New file.
55767         * lib/unictype/pr_lowercase.c: New file.
55768         * lib/unictype/pr_math.c: New file.
55769         * lib/unictype/pr_non_break.c: New file.
55770         * lib/unictype/pr_not_a_character.c: New file.
55771         * lib/unictype/pr_numeric.c: New file.
55772         * lib/unictype/pr_other_alphabetic.c: New file.
55773         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
55774         * lib/unictype/pr_other_grapheme_extend.c: New file.
55775         * lib/unictype/pr_other_id_continue.c: New file.
55776         * lib/unictype/pr_other_id_start.c: New file.
55777         * lib/unictype/pr_other_lowercase.c: New file.
55778         * lib/unictype/pr_other_math.c: New file.
55779         * lib/unictype/pr_other_uppercase.c: New file.
55780         * lib/unictype/pr_paired_punctuation.c: New file.
55781         * lib/unictype/pr_paragraph_separator.c: New file.
55782         * lib/unictype/pr_pattern_syntax.c: New file.
55783         * lib/unictype/pr_pattern_white_space.c: New file.
55784         * lib/unictype/pr_private_use.c: New file.
55785         * lib/unictype/pr_punctuation.c: New file.
55786         * lib/unictype/pr_quotation_mark.c: New file.
55787         * lib/unictype/pr_radical.c: New file.
55788         * lib/unictype/pr_sentence_terminal.c: New file.
55789         * lib/unictype/pr_soft_dotted.c: New file.
55790         * lib/unictype/pr_space.c: New file.
55791         * lib/unictype/pr_terminal_punctuation.c: New file.
55792         * lib/unictype/pr_test.c: New file.
55793         * lib/unictype/pr_titlecase.c: New file.
55794         * lib/unictype/pr_unassigned_code_value.c: New file.
55795         * lib/unictype/pr_unified_ideograph.c: New file.
55796         * lib/unictype/pr_uppercase.c: New file.
55797         * lib/unictype/pr_variation_selector.c: New file.
55798         * lib/unictype/pr_white_space.c: New file.
55799         * lib/unictype/pr_xid_continue.c: New file.
55800         * lib/unictype/pr_xid_start.c: New file.
55801         * lib/unictype/pr_zero_width.c: New file.
55802         * lib/unictype/scripts.c: New file.
55803         * lib/unictype/sy_c_ident.c: New file.
55804         * lib/unictype/sy_c_whitespace.c: New file.
55805         * lib/unictype/sy_java_ident.c: New file.
55806         * lib/unictype/sy_java_whitespace.c: New file.
55807
55808         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
55809         Unicode 5.0.0.
55810         * lib/unictype/blocks.h: Likewise.
55811         * lib/unictype/categ_C.h: Likewise.
55812         * lib/unictype/categ_Cc.h: Likewise.
55813         * lib/unictype/categ_Cf.h: Likewise.
55814         * lib/unictype/categ_Cn.h: Likewise.
55815         * lib/unictype/categ_Co.h: Likewise.
55816         * lib/unictype/categ_Cs.h: Likewise.
55817         * lib/unictype/categ_L.h: Likewise.
55818         * lib/unictype/categ_Ll.h: Likewise.
55819         * lib/unictype/categ_Lm.h: Likewise.
55820         * lib/unictype/categ_Lo.h: Likewise.
55821         * lib/unictype/categ_Lt.h: Likewise.
55822         * lib/unictype/categ_Lu.h: Likewise.
55823         * lib/unictype/categ_M.h: Likewise.
55824         * lib/unictype/categ_Mc.h: Likewise.
55825         * lib/unictype/categ_Me.h: Likewise.
55826         * lib/unictype/categ_Mn.h: Likewise.
55827         * lib/unictype/categ_N.h: Likewise.
55828         * lib/unictype/categ_Nd.h: Likewise.
55829         * lib/unictype/categ_Nl.h: Likewise.
55830         * lib/unictype/categ_No.h: Likewise.
55831         * lib/unictype/categ_P.h: Likewise.
55832         * lib/unictype/categ_Pc.h: Likewise.
55833         * lib/unictype/categ_Pd.h: Likewise.
55834         * lib/unictype/categ_Pe.h: Likewise.
55835         * lib/unictype/categ_Pf.h: Likewise.
55836         * lib/unictype/categ_Pi.h: Likewise.
55837         * lib/unictype/categ_Po.h: Likewise.
55838         * lib/unictype/categ_Ps.h: Likewise.
55839         * lib/unictype/categ_S.h: Likewise.
55840         * lib/unictype/categ_Sc.h: Likewise.
55841         * lib/unictype/categ_Sk.h: Likewise.
55842         * lib/unictype/categ_Sm.h: Likewise.
55843         * lib/unictype/categ_So.h: Likewise.
55844         * lib/unictype/categ_Z.h: Likewise.
55845         * lib/unictype/categ_Zl.h: Likewise.
55846         * lib/unictype/categ_Zp.h: Likewise.
55847         * lib/unictype/categ_Zs.h: Likewise.
55848         * lib/unictype/categ_of.h: Likewise.
55849         * lib/unictype/combining.h: Likewise.
55850         * lib/unictype/ctype_alnum.h: Likewise.
55851         * lib/unictype/ctype_alpha.h: Likewise.
55852         * lib/unictype/ctype_blank.h: Likewise.
55853         * lib/unictype/ctype_cntrl.h: Likewise.
55854         * lib/unictype/ctype_digit.h: Likewise.
55855         * lib/unictype/ctype_graph.h: Likewise.
55856         * lib/unictype/ctype_lower.h: Likewise.
55857         * lib/unictype/ctype_print.h: Likewise.
55858         * lib/unictype/ctype_punct.h: Likewise.
55859         * lib/unictype/ctype_space.h: Likewise.
55860         * lib/unictype/ctype_upper.h: Likewise.
55861         * lib/unictype/ctype_xdigit.h: Likewise.
55862         * lib/unictype/decdigit.h: Likewise.
55863         * lib/unictype/digit.h: Likewise.
55864         * lib/unictype/mirror.h: Likewise.
55865         * lib/unictype/numeric.h: Likewise.
55866         * lib/unictype/pr_alphabetic.h: Likewise.
55867         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
55868         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
55869         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
55870         * lib/unictype/pr_bidi_block_separator.h: Likewise.
55871         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
55872         * lib/unictype/pr_bidi_common_separator.h: Likewise.
55873         * lib/unictype/pr_bidi_control.h: Likewise.
55874         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
55875         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
55876         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
55877         * lib/unictype/pr_bidi_european_digit.h: Likewise.
55878         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
55879         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
55880         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
55881         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
55882         * lib/unictype/pr_bidi_pdf.h: Likewise.
55883         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
55884         * lib/unictype/pr_bidi_whitespace.h: Likewise.
55885         * lib/unictype/pr_combining.h: Likewise.
55886         * lib/unictype/pr_composite.h: Likewise.
55887         * lib/unictype/pr_currency_symbol.h: Likewise.
55888         * lib/unictype/pr_dash.h: Likewise.
55889         * lib/unictype/pr_decimal_digit.h: Likewise.
55890         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
55891         * lib/unictype/pr_deprecated.h: Likewise.
55892         * lib/unictype/pr_diacritic.h: Likewise.
55893         * lib/unictype/pr_extender.h: Likewise.
55894         * lib/unictype/pr_format_control.h: Likewise.
55895         * lib/unictype/pr_grapheme_base.h: Likewise.
55896         * lib/unictype/pr_grapheme_extend.h: Likewise.
55897         * lib/unictype/pr_grapheme_link.h: Likewise.
55898         * lib/unictype/pr_hex_digit.h: Likewise.
55899         * lib/unictype/pr_hyphen.h: Likewise.
55900         * lib/unictype/pr_id_continue.h: Likewise.
55901         * lib/unictype/pr_id_start.h: Likewise.
55902         * lib/unictype/pr_ideographic.h: Likewise.
55903         * lib/unictype/pr_ids_binary_operator.h: Likewise.
55904         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
55905         * lib/unictype/pr_ignorable_control.h: Likewise.
55906         * lib/unictype/pr_iso_control.h: Likewise.
55907         * lib/unictype/pr_join_control.h: Likewise.
55908         * lib/unictype/pr_left_of_pair.h: Likewise.
55909         * lib/unictype/pr_line_separator.h: Likewise.
55910         * lib/unictype/pr_logical_order_exception.h: Likewise.
55911         * lib/unictype/pr_lowercase.h: Likewise.
55912         * lib/unictype/pr_math.h: Likewise.
55913         * lib/unictype/pr_non_break.h: Likewise.
55914         * lib/unictype/pr_not_a_character.h: Likewise.
55915         * lib/unictype/pr_numeric.h: Likewise.
55916         * lib/unictype/pr_other_alphabetic.h: Likewise.
55917         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
55918         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
55919         * lib/unictype/pr_other_id_continue.h: Likewise.
55920         * lib/unictype/pr_other_id_start.h: Likewise.
55921         * lib/unictype/pr_other_lowercase.h: Likewise.
55922         * lib/unictype/pr_other_math.h: Likewise.
55923         * lib/unictype/pr_other_uppercase.h: Likewise.
55924         * lib/unictype/pr_paired_punctuation.h: Likewise.
55925         * lib/unictype/pr_paragraph_separator.h: Likewise.
55926         * lib/unictype/pr_pattern_syntax.h: Likewise.
55927         * lib/unictype/pr_pattern_white_space.h: Likewise.
55928         * lib/unictype/pr_private_use.h: Likewise.
55929         * lib/unictype/pr_punctuation.h: Likewise.
55930         * lib/unictype/pr_quotation_mark.h: Likewise.
55931         * lib/unictype/pr_radical.h: Likewise.
55932         * lib/unictype/pr_sentence_terminal.h: Likewise.
55933         * lib/unictype/pr_soft_dotted.h: Likewise.
55934         * lib/unictype/pr_space.h: Likewise.
55935         * lib/unictype/pr_terminal_punctuation.h: Likewise.
55936         * lib/unictype/pr_titlecase.h: Likewise.
55937         * lib/unictype/pr_unassigned_code_value.h: Likewise.
55938         * lib/unictype/pr_unified_ideograph.h: Likewise.
55939         * lib/unictype/pr_uppercase.h: Likewise.
55940         * lib/unictype/pr_variation_selector.h: Likewise.
55941         * lib/unictype/pr_white_space.h: Likewise.
55942         * lib/unictype/pr_xid_continue.h: Likewise.
55943         * lib/unictype/pr_xid_start.h: Likewise.
55944         * lib/unictype/pr_zero_width.h: Likewise.
55945         * lib/unictype/scripts.h: Likewise.
55946         * lib/unictype/scripts_byname.gperf: Likewise.
55947         * lib/unictype/sy_c_ident.h: Likewise.
55948         * lib/unictype/sy_c_whitespace.h: Likewise.
55949         * lib/unictype/sy_java_ident.h: Likewise.
55950         * lib/unictype/sy_java_whitespace.h: Likewise.
55951
55952         * lib/unictype/Makefile: New file.
55953         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
55954         glibc.
55955         * lib/unictype/3level.h: New file, copied from glibc.
55956         * lib/unictype/3levelbit.h: New file.
55957
55958 2007-11-11  Bruno Haible  <bruno@clisp.org>
55959
55960         * modules/gperf: New file.
55961         * modules/iconv_open (Depends-on): Add it.
55962         (Makefile.am): Remove the GPERF definition.
55963
55964 2007-11-11  Bruno Haible  <bruno@clisp.org>
55965
55966         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
55967         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
55968
55969 2007-11-11  Bruno Haible  <bruno@clisp.org>
55970
55971         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
55972         (usage): Remove function.
55973
55974 2007-11-11  Bruno Haible  <bruno@clisp.org>
55975
55976         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
55977         gl_FUNC_CEILF_LIBS.
55978         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
55979         gl_FUNC_CEIL_LIBS.
55980         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
55981         gl_FUNC_CEILL_LIBS.
55982         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
55983         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
55984         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
55985
55986 2007-11-11  Bruno Haible  <bruno@clisp.org>
55987
55988         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
55989         roundf were declared but do not exist on functions.
55990         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
55991         roundl were declared but do not exist on functions.
55992         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
55993         HAVE_FLOORL_AND_CEILL, respectively.
55994         Needed for Sun C on Solaris 10.
55995
55996 2007-11-11  Bruno Haible  <bruno@clisp.org>
55997
55998         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
55999         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
56000         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
56001         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
56002         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
56003         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
56004         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
56005         HAVE_DECL_ROUNDF.
56006         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
56007         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
56008         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
56009         of HAVE_DECL_ROUND*.
56010         * modules/math (Makefile.am): Update.
56011
56012 2007-11-10  Bruno Haible  <bruno@clisp.org>
56013
56014         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
56015         ptrdiff_t as m4/intl.m4.
56016
56017 2007-11-10  Jim Meyering  <meyering@redhat.com>
56018
56019         Avoid link failure for the argmatch test.
56020         * tests/test-argmatch.c (usage): Define function to avoid a link
56021         failure: argmatch_die requires a usage function.
56022
56023 2007-11-09  Bruno Haible  <bruno@clisp.org>
56024
56025         * doc/functions/snprintf.texi: Mention BeOS deficiency.
56026         * doc/functions/vsnprintf.texi: Likewise.
56027         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
56028         with a size argument < 2.
56029
56030 2007-11-09  Bruno Haible  <bruno@clisp.org>
56031
56032         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
56033         buffer. Fixes an inefficiency introduced on 2007-11-03.
56034
56035 2007-11-09  Bruno Haible  <bruno@clisp.org>
56036
56037         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
56038         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
56039
56040 2007-11-08  Jim Meyering  <meyering@redhat.com>
56041
56042         Change cache variable name prefix "jm_" to "gl_" everywhere.
56043         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
56044         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
56045         * m4/uptime.m4: s/gl_/jm_/
56046
56047 2007-11-07  Bruno Haible  <bruno@clisp.org>
56048
56049         Update to GNU gettext 0.17.
56050         * m4/intl.m4: Update to GNU gettext 0.17.
56051         * m4/po.m4: Likewise.
56052         * modules/gettext (Files): Remove m4/ulonglong.m4.
56053         (configure.ac): Require gettext infrastructure from version 0.17.
56054
56055 2007-11-06  Bruno Haible  <bruno@clisp.org>
56056
56057         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
56058         symbolic values are not defined in a public header.
56059         * lib/freadable.c (freadable) [QNX]: Likewise.
56060         * lib/freadahead.c (freadahead) [QNX]: Likewise.
56061         * lib/freading.c (freading) [QNX]: Likewise.
56062         * lib/fseterr.c (fseterr) [QNX]: Likewise.
56063         * lib/fwritable.c (fwritable) [QNX]: Likewise.
56064         * lib/fwriting.c (fwriting) [QNX]: Likewise.
56065         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
56066         Reported by Alain Magloire.
56067
56068         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
56069
56070 2007-11-05  Bruno Haible  <bruno@clisp.org>
56071
56072         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
56073         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
56074         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
56075         Reported by Eric Blake.
56076
56077 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56078             Bruno Haible  <bruno@clisp.org>
56079
56080         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
56081         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
56082         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
56083         (malloc): Undefine also before including <stdlib.h>.
56084         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
56085         Needed on OSF/1 4.0.
56086
56087 2007-11-05  Jim Meyering  <meyering@redhat.com>
56088
56089         git-version-gen: sync from coreutils.
56090         * build-aux/git-version-gen: Add comments.
56091         Change the first '-' to '.' in the snapshot version string,
56092         e.g., 6.9-377-08144 -> 6.9.377-08144
56093         Remove first parameter.
56094         Don't declare a version "-dirty" merely because a time
56095         stamp has changed.
56096
56097 2007-11-04  Bruno Haible  <bruno@clisp.org>
56098
56099         * lib/lock.h: Protect all macro definitions containing an 'if'
56100         statement through a "do { ... } while (0)".
56101         * lib/tls.h: Likewise.
56102
56103 2007-11-04  Bruno Haible  <bruno@clisp.org>
56104
56105         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
56106
56107 2007-11-04  Bruno Haible  <bruno@clisp.org>
56108
56109         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
56110         * modules/fprintf-posix (Depends-on): Add nocrash.
56111         * modules/snprintf-posix (Depends-on): Likewise.
56112         * modules/sprintf-posix (Depends-on): Likewise.
56113         * modules/vasnprintf-posix (Depends-on): Likewise.
56114         * modules/vasprintf-posix (Depends-on): Likewise.
56115         * modules/vfprintf-posix (Depends-on): Likewise.
56116         * modules/vsnprintf-posix (Depends-on): Likewise.
56117         * modules/vsprintf-posix (Depends-on): Likewise.
56118         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56119         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56120         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56121         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56122         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56123         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56124         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56125
56126 2007-11-04  Bruno Haible  <bruno@clisp.org>
56127
56128         * modules/nocrash: New file.
56129         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
56130         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
56131
56132 2007-11-04  Bruno Haible  <bruno@clisp.org>
56133
56134         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
56135         precision handling.
56136         * tests/test-vasprintf-posix.c (test_function): Likewise.
56137         * tests/test-snprintf-posix.h (test_function): Likewise.
56138         * tests/test-sprintf-posix.h (test_function): Likewise.
56139
56140         Fix *printf behaviour for large precisions on mingw and BeOS.
56141         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
56142         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
56143         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
56144         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56145         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56146         gl_PRINTF_PRECISION and test its result. Invoke
56147         gl_PREREQ_VASNPRINTF_PRECISION.
56148         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56149         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56150         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56151         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56152         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56153         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56154         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56155         * doc/functions/fprintf.texi: Update.
56156         * doc/functions/printf.texi: Update.
56157         * doc/functions/snprintf.texi: Update.
56158         * doc/functions/sprintf.texi: Update.
56159         * doc/functions/vfprintf.texi: Update.
56160         * doc/functions/vprintf.texi: Update.
56161         * doc/functions/vsnprintf.texi: Update.
56162         * doc/functions/vsprintf.texi: Update.
56163
56164 2007-11-04  Bruno Haible  <bruno@clisp.org>
56165
56166         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
56167
56168 2007-11-04  Bruno Haible  <bruno@clisp.org>
56169
56170         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
56171         Reported by Sylvain Beucler <beuc@gnu.org>.
56172
56173 2007-11-03  Bruno Haible  <bruno@clisp.org>
56174
56175         * tests/test-fprintf-posix2.sh: New file.
56176         * tests/test-fprintf-posix2.c: New file.
56177         * modules/fprintf-posix-tests (Files): Add them.
56178         (TESTS): Add test-fprintf-posix2.sh.
56179         (configure.ac): Check for getrlimit and setrlimit.
56180         (check_PROGRAMS): Add test-fprintf-posix2.
56181
56182         * tests/test-printf-posix2.sh: New file.
56183         * tests/test-printf-posix2.c: New file.
56184         * modules/printf-posix-tests (Files): Add them.
56185         (TESTS): Add test-printf-posix2.sh.
56186         (configure.ac): Check for getrlimit and setrlimit.
56187         (check_PROGRAMS): Add test-printf-posix2.
56188
56189         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
56190         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
56191         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
56192         (decode_double): New function, copied from decode_long_double.
56193         (scale10_round_decimal_decoded): New function, extracted from
56194         scale10_round_decimal_long_double.
56195         (scale10_round_decimal_long_double): Use it.
56196         (scale10_round_decimal_double): New function.
56197         (floorlog10): New function.
56198         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
56199         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
56200         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56201         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56202         gl_PRINTF_ENOMEM and test its result. Invoke
56203         gl_PREREQ_VASNPRINTF_ENOMEM.
56204         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56205         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56206         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56207         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56208         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56209         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56210         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56211         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
56212         * modules/snprintf-posix (Depends-on): Likewise.
56213         * modules/sprintf-posix (Depends-on): Likewise.
56214         * modules/vasnprintf-posix (Depends-on): Likewise.
56215         * modules/vasprintf-posix (Depends-on): Likewise.
56216         * modules/vfprintf-posix (Depends-on): Likewise.
56217         * modules/vsnprintf-posix (Depends-on): Likewise.
56218         * modules/vsprintf-posix (Depends-on): Likewise.
56219         * doc/functions/fprintf.texi: Update.
56220         * doc/functions/printf.texi: Update.
56221         * doc/functions/snprintf.texi: Update.
56222         * doc/functions/sprintf.texi: Update.
56223         * doc/functions/vfprintf.texi: Update.
56224         * doc/functions/vprintf.texi: Update.
56225         * doc/functions/vsnprintf.texi: Update.
56226         * doc/functions/vsprintf.texi: Update.
56227
56228 2007-11-03  Bruno Haible  <bruno@clisp.org>
56229
56230         * modules/frexp-nolibm-tests: New file.
56231
56232         * modules/frexp-nolibm: New file.
56233         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
56234
56235 2007-11-03  Bruno Haible  <bruno@clisp.org>
56236
56237         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
56238         value is C99 compliant.
56239         Needed for OSF/1 5.1.
56240
56241 2007-11-03  Bruno Haible  <bruno@clisp.org>
56242
56243         Fix out-of-memory handling of vasnprintf.
56244         * lib/printf-parse.c: Include <errno.h>.
56245         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
56246         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
56247         is already set.
56248
56249 2007-11-02  Eric Blake  <ebb9@byu.net>
56250
56251         Fix tests on cygwin.
56252         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
56253
56254 2007-11-01  Bruno Haible  <bruno@clisp.org>
56255
56256         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
56257         warning.
56258         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
56259         needed for POSIX compatibility.
56260
56261 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
56262
56263         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
56264         for compatibility with GNU.
56265
56266 2007-11-01  Bruno Haible  <bruno@clisp.org>
56267
56268         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
56269         (putenv): Renamed from rpl_putenv. Change argument type from
56270         'const char *' to 'char *'.
56271         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
56272         of defining putenv in config.h, just set REPLACE_PUTENV.
56273         * modules/putenv (Depends-on): Add stdlib.
56274         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56275         (Include): Use <stdlib.h>.
56276         * lib/stdlib.in.h (putenv): New declaration.
56277         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
56278         REPLACE_PUTENV.
56279         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
56280         REPLACE_PUTENV.
56281         Needed for MacOS X 10.5.0.
56282         Reported by Peter O'Gorman <peter@pogma.com>.
56283
56284 2007-11-01  Jim Meyering  <meyering@redhat.com>
56285
56286         Treat an empty date string exactly like "0".
56287         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
56288         if the remaining date string (to be parsed) is empty, use "0".
56289         Reported by Mischa Molhoek and discussed in this thread:
56290         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
56291
56292 2007-10-31  Bruno Haible  <bruno@clisp.org>
56293
56294         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
56295         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
56296         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
56297         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
56298         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
56299         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
56300
56301 2007-10-31  Bruno Haible  <bruno@clisp.org>
56302
56303         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
56304         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
56305         (AC_TYPE_LONG_LONG_INT): Use it.
56306         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
56307         it as well.
56308         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
56309         to m4/longlong.m4.
56310         * modules/stdint (Files): Remove m4/ulonglong.m4.
56311         * modules/strtoull (Files): Use m4/longlong.m4 instead of
56312         m4/ulonglong.m4.
56313         * modules/strtoumax (Files): Likewise.
56314
56315 2007-10-30  Bruno Haible  <bruno@clisp.org>
56316
56317         * modules/xvasprintf-posix: New file.
56318         Suggested by Eric Blake.
56319
56320 2007-10-30  Bruno Haible  <bruno@clisp.org>
56321
56322         * modules/xprintf-posix-tests: New file.
56323         * tests/test-xprintf-posix.sh: New file.
56324         * tests/test-xprintf-posix.c: New file.
56325         * tests/test-xfprintf-posix.c: New file.
56326
56327         * modules/xprintf-posix: New file.
56328
56329 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56330
56331         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
56332         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
56333         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
56334
56335 2007-10-29  Bruno Haible  <bruno@clisp.org>
56336
56337         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
56338         contain the special marker '_cv_'.
56339         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
56340         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
56341         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
56342         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
56343         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
56344         Reported by Ralf Wildenhues.
56345
56346 2007-10-29  Bruno Haible  <bruno@clisp.org>
56347
56348         * gnulib-tool (func_import): When --lgpl is not specified, set
56349         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
56350         GPLv3.
56351         Reported by Simon Josefsson.
56352
56353 2007-10-28  Bruno Haible  <bruno@clisp.org>
56354
56355         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
56356         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
56357         HAVE_DECL_ISFINITE.
56358         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
56359         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
56360         HAVE_DECL_ISFINITE.
56361
56362 2007-10-28  Bruno Haible  <bruno@clisp.org>
56363
56364         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
56365         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
56366
56367 2007-10-28  Bruno Haible  <bruno@clisp.org>
56368
56369         Fix link errors with Sun C 5.0 on Solaris 10.
56370         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
56371         function is declared but not present in the compiler's libm.
56372         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
56373         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
56374         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
56375         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
56376         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
56377         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
56378         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
56379         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
56380         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
56381         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
56382         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
56383         HAVE_DECL_FLOORL.
56384
56385 2007-10-28  Bruno Haible  <bruno@clisp.org>
56386
56387         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
56388         gl_FUNC_FLOORL. Cache the result.
56389         (gl_FUNC_FLOORL): Use it.
56390         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
56391         gl_FUNC_CEILL. Cache the result.
56392         (gl_FUNC_CEILL): Use it.
56393
56394         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
56395         gl_FUNC_FLOOR. Cache the result.
56396         (gl_FUNC_FLOOR): Use it.
56397         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
56398         gl_FUNC_CEIL. Cache the result.
56399         (gl_FUNC_CEIL): Use it.
56400
56401         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
56402         gl_FUNC_FLOORF. Cache the result.
56403         (gl_FUNC_FLOORF): Use it.
56404         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
56405         gl_FUNC_CEILF. Cache the result.
56406         (gl_FUNC_CEILF): Use it.
56407
56408 2007-10-28  Bruno Haible  <bruno@clisp.org>
56409
56410         * gnulib-tool: Allow specifying the LGPL version number through
56411         --lgpl=2 or --lgpl=3.
56412         (func_usage): Document --lgpl with argument.
56413         Handle --lgpl=... arguments.
56414         (func_import): Recognize also gl_LGPL calls with an argument. When
56415         --lgpl=2 is used and the module's license is just LGPL, report an
56416         error. Set sed_transform_lib_file according to the lgpl variable. In
56417         the generated files, use --lgpl or gl_LGPL invocations with argument,
56418         if necessary.
56419         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
56420         an LGPv2+ license.
56421         * doc/gnulib-tool.texi (Modified imports): Update explanation of
56422         gl_LGPL macro.
56423
56424 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56425             Bruno Haible  <bruno@clisp.org>
56426
56427         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
56428         (u16_uctomb_aux): Likewise.
56429         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
56430         !HAVE_INLINE.
56431         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
56432
56433 2007-10-28  Bruno Haible  <bruno@clisp.org>
56434
56435         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
56436         Invoke AM_GETTEXT_OPTION if it exists.
56437         * modules/vasprintf: Likewise.
56438         * modules/verror: Likewise.
56439         * modules/xprintf: Likewise.
56440         * modules/xvasprintf: Likewise.
56441
56442 2007-10-27  Ben Pfaff  <blp@gnu.org>
56443
56444         * lib/math.in.h: Define isfinite macro and prototypes for
56445         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
56446         implementations.
56447         * m4/math_h.m4: New substitutions for isfinite module.
56448         * lib/isfinite.c: New file.
56449         * m4/isfinite.m4: New file.
56450         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
56451         * modules/isfinite: New file.
56452         * modules/isfinite-tests: New file.
56453         * tests/tests-isfinite.c: New file.
56454         * doc/functions/isfinite.texi: Mention isfinite module.
56455         * MODULES.html.sh: Mention new module.
56456
56457 2007-10-27  Ben Pfaff  <blp@gnu.org>
56458
56459         Ralf Wildenhues reported that Tru64 4.0D declares the round
56460         functions but does not have definitions.
56461         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
56462         cannot be found in any library, set the output variable to
56463         "missing" instead of "".
56464         * m4/round.m4: Also use our substitute if we cannot find round in
56465         any library, even if it is declared.
56466         * m4/roundf.m4: Likewise for roundf.
56467         * m4/roundl.m4: Likewise for roundl.
56468         * lib/math.in.h: Undefine roundf, round, roundl before defining
56469         their replacements, to allow for hypothetical systems where these
56470         may be defined as macros but not available in libraries.
56471
56472 2007-10-27  Bruno Haible  <bruno@clisp.org>
56473
56474         * doc/gnulib.texi: Invoke @firstparagraphindent.
56475         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
56476         changes in gnulib.
56477         (Source changes): New section.
56478
56479 2007-10-26  Bruno Haible  <bruno@clisp.org>
56480
56481         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
56482         borrowed from autoconf.
56483
56484 2007-10-26  Bruno Haible  <bruno@clisp.org>
56485
56486         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
56487         strerror returned the empty string. Needed on HP-UX 11.00.
56488
56489 2007-10-24  Micah Cowan  <micah@cowan.name>
56490
56491         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
56492         * build-aux/bootstrap: Remove support for now-unnecessary option,
56493         --cvs-user, and envvars CVS_USER, CVS_RSH.
56494
56495 2007-10-24  Jim Meyering  <meyering@redhat.com>
56496
56497         Avoid diagnostics from sha1sum when there is no cached checksum.
56498         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
56499         if the po.s1 file hasn't been created yet.
56500
56501         * build-aux/bootstrap: Sync from coreutils:
56502         2007-10-24  Jim Meyering  <meyering@redhat.com>
56503         Get gnulib from the git repository, not from an obsolete cvs one.
56504         * build-aux/bootstrap: Suggestion from Micah Cowan.
56505         2007-10-04  Jim Meyering  <jim@meyering.net>
56506         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
56507         (update_po_files): Work also when there are no .po files in po/.
56508
56509 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56510
56511         * README: Append ".git" to git and cg examples.
56512         Problem reported by Benoit Sigoure.
56513
56514 2007-10-23  Micah Cowan  <micah@cowan.name>
56515
56516         * users.txt: Add wget.
56517
56518 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56519
56520         Fix linking of some unistdio tests on FreeBSD.
56521         * modules/unistdio/u16-vsnprintf-tests
56522         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
56523         * modules/unistdio/u16-vsprintf-tests
56524         (test_u16_vsnprintf1_LDADD): Likewise.
56525         * modules/unistdio/u32-vsnprintf-tests
56526         (test_u32_vsnprintf1_LDADD): Likewise.
56527         * modules/unistdio/u32-vsprintf-tests
56528         (test_u32_vsprintf1_LDADD): Likewise.
56529         * modules/unistdio/u8-vsnprintf-tests
56530         (test_u8_vsnprintf1_LDADD): Likewise.
56531         * modules/unistdio/u8-vsprintf-tests
56532         (test_u8_vsprintf1_LDADD): Likewise.
56533         * modules/unistdio/ulc-vsnprintf-tests
56534         (test_ulc_vsnprintf1_LDADD): Likewise.
56535         * modules/unistdio/ulc-vsprintf-tests
56536         (test_ulc_vsprintf1_LDADD): Likewise.
56537
56538         Fix linking of some uniconv tests on FreeBSD.
56539         * modules/uniconv/u16-conv-from-enc-tests
56540         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
56541         * modules/uniconv/u16-conv-to-enc-tests
56542         (test_u16_conv_to_enc_LDADD): Likewise.
56543         * modules/uniconv/u16-strconv-from-enc-tests
56544         (test_u16_strconv_from_enc_LDADD): Likewise.
56545         * modules/uniconv/u16-strconv-to-enc-tests
56546         (test_u16_strconv_to_enc_LDADD): Likewise.
56547         * modules/uniconv/u32-conv-from-enc-tests
56548         (test_u32_conv_from_enc_LDADD): Likewise.
56549         * modules/uniconv/u32-conv-to-enc-tests
56550         (test_u32_conv_to_enc_LDADD): Likewise.
56551         * modules/uniconv/u32-strconv-from-enc-tests
56552         (test_u32_strconv_from_enc_LDADD): Likewise.
56553         * modules/uniconv/u32-strconv-to-enc-tests
56554         (test_u32_strconv_to_enc_LDADD): Likewise.
56555         * modules/uniconv/u8-conv-from-enc-tests
56556         (test_u8_conv_from_enc_LDADD): Likewise.
56557         * modules/uniconv/u8-conv-to-enc-tests
56558         (test_u8_conv_to_enc_LDADD): Likewise.
56559         * modules/uniconv/u8-strconv-from-enc-tests
56560         (test_u8_strconv_from_enc_LDADD): Likewise.
56561         * modules/uniconv/u8-strconv-to-enc-tests
56562         (test_u8_strconv_to_enc_LDADD): Likewise.
56563
56564 2007-10-22  Bruno Haible  <bruno@clisp.org>
56565
56566         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
56567         size.
56568
56569 2007-10-22  Eric Blake  <ebb9@byu.net>
56570
56571         Tweak x*printf documentation.
56572         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
56573         variable name and comments.
56574         Suggested by Bruno Haible.
56575
56576 2007-10-22  Bruno Haible  <bruno@clisp.org>
56577
56578         * lib/acl.c (copy_acl): Fix file name in comment.
56579
56580 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
56581
56582         Fix Tru64 problem with stdbool.h.
56583         * lib/stdbool.in.h (false, true):
56584         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
56585         Don't declare as an enum in this situation; it runs afoul of Tru64.
56586         Problem reported by Steven M. Schweda in
56587         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
56588
56589 2007-10-22  Eric Blake  <ebb9@byu.net>
56590
56591         Also wrap vf?printf.
56592         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
56593         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
56594         (xvprintf, xvfprintf): New functions.
56595
56596 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56597
56598         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
56599         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
56600
56601         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
56602         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
56603
56604 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
56605
56606         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
56607         by Bruno Haible.
56608
56609 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56610
56611         * lib/getloadavg.c
56612         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
56613         Undef `sys' after including sys/table.h, for Tru64 4.0D.
56614
56615         * tests/test-i-ring.c: Work for C89.
56616
56617 2007-10-22  Bruno Haible  <bruno@clisp.org>
56618
56619         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
56620         -1u, in preprocessor expression, so that we don't test for the bug
56621         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
56622         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
56623
56624 2007-10-22  Eric Blake  <ebb9@byu.net>
56625
56626         * tests/test-yesno.sh: Silence stderr during test.
56627
56628 2007-10-22  Simon Josefsson  <simon@josefsson.org>
56629
56630         * modules/crypto/gc-camellia: New file.
56631
56632         * m4/gc-camellia.m4: New file.
56633
56634         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
56635
56636         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
56637
56638 2007-10-22  Simon Josefsson  <simon@josefsson.org>
56639
56640         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
56641         --help to stdout.  Reported by sms@antinode.org (Steven
56642         M. Schweda).
56643
56644 2007-10-22  Simon Josefsson  <simon@josefsson.org>
56645
56646         * users.txt: Fix link to libksba.
56647
56648 2007-10-21  Ben Pfaff  <blp@gnu.org>
56649
56650         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
56651         round.c roundf implementation that depends on floorf and ceilf to
56652         be tested unconditionally.
56653
56654 2007-10-21  Ben Pfaff  <blp@gnu.org>
56655
56656         * m4/check-libm-func.m4: Removed.
56657         * m4/check-math-lib.m4: New file.
56658         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
56659         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
56660         definition and lack of AC_LIBOBJ([roundf]).
56661         * m4/roundl.m4: Ditto, and similarly for roundl.
56662         * modules/round: Reference new m4 file.
56663         * modules/roundf: Ditto.
56664         * modules/roundl: Ditto.
56665         * tests/test-round2.c (main): Use ROUND instead of round.
56666         Bug report from Bruno Haible.
56667
56668 2007-10-21  Bruno Haible  <bruno@clisp.org>
56669
56670         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
56671         context.
56672
56673 2007-10-21  Bruno Haible  <bruno@clisp.org>
56674
56675         * tests/test-wcwidth.c (main): Allow negative result for some control
56676         characters.
56677
56678         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
56679         Needed on OSF/1 5.1.
56680
56681 2007-10-21  Bruno Haible  <bruno@clisp.org>
56682
56683         * tests/test-floorf1.c: Include isnanf.h.
56684         (main): Use isnanf() instead of isnan().
56685         * tests/test-ceilf1.c: Include isnanf.h.
56686         (main): Use isnanf() instead of isnan().
56687         * tests/test-truncf1.c: Include isnanf.h.
56688         (main): Use isnanf() instead of isnan().
56689         * tests/test-roundf1.c: Include isnanf.h.
56690         (main): Use isnanf() instead of isnan().
56691
56692 2007-10-21  Eric Blake  <ebb9@byu.net>
56693
56694         * users.txt: Update URL for m4.
56695
56696 2007-10-21  Bruno Haible  <bruno@clisp.org>
56697
56698         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
56699
56700 2007-10-21  Bruno Haible  <bruno@clisp.org>
56701
56702         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
56703         Git's management files if the CVS files are not present.
56704
56705 2007-10-20  Bruno Haible  <bruno@clisp.org>
56706
56707         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
56708         gcc-3.4.x.
56709
56710 2007-10-20  Ben Pfaff  <blp@gnu.org>
56711
56712         * lib/math.in.h: Declare round, roundf, roundl if we are providing
56713         implementations.
56714         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
56715         * lib/round.c: New file.
56716         * lib/roundf.c: New file.
56717         * lib/roundl.c: New file.
56718         * m4/round.m4: New file.
56719         * m4/roundf.m4: New file.
56720         * m4/roundl.m4: New file.
56721         * m4/check-libm-func-m4: New file.
56722         * modules/math: Replace round, roundf, roundl related @VARS@ in
56723         math.in.h.
56724         * modules/round: New file.
56725         * modules/round-tests: New file.
56726         * modules/roundf: New file.
56727         * modules/roundf-tests: New file.
56728         * modules/roundl: New file.
56729         * modules/roundl-tests: New file.
56730         * tests/test-round1.c: New file.
56731         * tests/test-round2.c: New file.
56732         * tests/test-roundf1.c: New file.
56733         * tests/test-roundf2.c: New file.
56734         * tests/test-roundl.c: New file.
56735         * doc/functions/round.texi: Mention round module.
56736         * doc/functions/roundf.texi: Mention roundf module.
56737         * doc/functions/roundl.texi: Mention roundl module.
56738         * MODULES.html.sh: Mention new modules.
56739         Thanks to Bruno Haible for suggestions.
56740
56741 2007-10-20  Jim Meyering  <meyering@redhat.com>
56742
56743         * lib/xprintf.c: Include <config.h> unconditionally.
56744
56745         Change xprintf's license to GPL.
56746         * modules/xprintf (License): s/LGPL/GPL/, since this module
56747         depends on modules (exit and exitfail) which are GPL.
56748         Suggestion from Bruno Haible.
56749
56750         xprintf fixes.
56751         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
56752         Use a clearer diagnostic.
56753         Patch from Bruno Haible.
56754
56755 2007-10-20  Bruno Haible  <bruno@clisp.org>
56756
56757         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
56758         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
56759         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56760
56761 2007-10-20  Bruno Haible  <bruno@clisp.org>
56762
56763         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
56764         precision in the comparison result > x - 1 or similar.
56765         * tests/test-ceilf2.c (correct_result_p): Likewise.
56766         * tests/test-truncf2.c (correct_result_p): Likewise.
56767         * tests/test-trunc2.c (correct_result_p): Likewise.
56768         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56769
56770 2007-10-20  Bruno Haible  <bruno@clisp.org>
56771
56772         * modules/ceil: New file.
56773         * m4/ceil.m4: New file.
56774         * doc/functions/ceil.texi: Mention the 'ceil' module.
56775
56776 2007-10-20  Bruno Haible  <bruno@clisp.org>
56777
56778         * modules/floor: New file.
56779         * m4/floor.m4: New file.
56780         * doc/functions/floor.texi: Mention the 'floor' module.
56781
56782 2007-10-20  Bruno Haible  <bruno@clisp.org>
56783
56784         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
56785         of %a.
56786         * modules/floorf-tests (Depends-on): Likewise.
56787         * modules/truncf-tests (Depends-on): Likewise.
56788         * modules/trunc-tests (Depends-on): Likewise.
56789         Reported by Ben Pfaff.
56790
56791 2007-10-19  Jim Meyering  <meyering@redhat.com>
56792
56793         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
56794         Don't bother testing specific errno values.  Just test ferror.
56795
56796         New module: xprintf
56797         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
56798
56799 2007-10-19  Bruno Haible  <bruno@clisp.org>
56800
56801         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
56802         syntax.
56803         * modules/javaexec (Makefile.am): Likewise.
56804         * modules/relocatable-prog (Makefile.am): Likewise.
56805         Suggested by Jim Meyering.
56806
56807 2007-10-18  Bruno Haible  <bruno@clisp.org>
56808
56809         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
56810         Reported by Jim Meyering.
56811
56812 2007-10-18  Eric Blake  <ebb9@byu.net>
56813
56814         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
56815
56816 2007-10-18  Bruno Haible  <bruno@clisp.org>
56817
56818         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
56819         the format string into writable memory. Needed in Fortify conditions.
56820
56821 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
56822             Bruno Haible  <bruno@clisp.org>
56823
56824         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
56825         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
56826         * modules/trim (Depends-on): Add mbchar.
56827         (configure.ac): Add gl_FUNC_MBRTOWC.
56828         (Makefile.am): Augment lib_SOURCES.
56829
56830 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
56831
56832         Modify glob.c to use fstatat and dirfd, to simplify it.
56833         Suggested by Eric Blake.
56834         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
56835         Don't include <stdbool.h>; not used.
56836         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
56837         (link_exists_p): Simplify implementation, since we can now assume
56838         dirfd and fstatat.
56839         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
56840
56841 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56842
56843         * gnulib-tool (func_get_dependencies): Fix sed script to
56844         match only tests.
56845
56846 2007-10-17  Bruno Haible  <bruno@clisp.org>
56847
56848         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
56849         allow locale names without encoding suffix.
56850         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
56851         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56852
56853 2007-10-16  Bruno Haible  <bruno@clisp.org>
56854
56855         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
56856         * lib/getgroups.c (getgroups): Likewise.
56857         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
56858
56859 2007-10-16  Bruno Haible  <bruno@clisp.org>
56860
56861         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
56862         * modules/malloc-posix (License): Likewise.
56863         * modules/realloc-posix (License): Likewise.
56864         * modules/calloc-posix (License): Likewise.
56865         * modules/intprops (License): Change from GPL to LGPL, with
56866         Paul Eggert's approval.
56867
56868 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
56869
56870         Merge glibc changes into lib/glob.c.
56871
56872         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
56873         2007-10-15 04:59:03 UTC.  Here are the changes:
56874
56875         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
56876
56877         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
56878
56879         * lib/glob.c: Add some branch prediction throughout.
56880
56881         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
56882
56883         [BZ #5103]
56884         * lib/glob.c (glob): Recognize patterns starting \/.
56885
56886         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
56887
56888         [BZ #3996]
56889         * lib/glob.c (attribute_hidden): Define if not defined.
56890         (glob): Unescape dirname, filename or username when needed and not
56891         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
56892         is NULL.  Handle unescaped [ in pattern without closing ].
56893         Don't pass GLOB_CHECK down to recursive glob for directories.
56894         (__glob_pattern_type): New function.
56895         (__glob_pattern_p): Implement using __glob_pattern_type.
56896         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
56897         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
56898         Remove unreachable code.
56899
56900         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
56901
56902         * lib/glob.c (glob_in_dir): Add some comments and asserts to
56903         explain why there are no leaks.
56904
56905         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
56906
56907         [BZ #3253]
56908         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
56909         time, rather allocate increasingly bigger arrays of pointers, if
56910         possible with alloca, if too large with malloc.
56911
56912 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
56913
56914         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
56915         Problem reported by H.Merijn Brand in
56916         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
56917         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
56918         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
56919
56920 2007-10-15  Bruno Haible  <bruno@clisp.org>
56921
56922         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
56923         with explicit rpl_ prefix.
56924         * lib/fopen.c (fopen): Likewise.
56925         * lib/freopen.c (freopen): Likewise.
56926         * lib/iconv.c (iconv): Likewise.
56927         * lib/iconv_close.c (iconv_close): Likewise.
56928
56929 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56930
56931         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
56932
56933 2007-10-15  Bruno Haible  <bruno@clisp.org>
56934
56935         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
56936         <stddef.h> instead of <stdlib.h> since we only need NULL.
56937         Reported by Ben Pfaff <blp@cs.stanford.edu>.
56938
56939 2007-10-15  Bruno Haible  <bruno@clisp.org>
56940
56941         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
56942         Replace paragraph talking about LIBOBJS.
56943         Reported by Colin Watson <cjwatson@debian.org>.
56944
56945 2007-10-15  Bruno Haible  <bruno@clisp.org>
56946
56947         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
56948         <stdlib.h> before using NULL.
56949
56950 2007-10-15  Simon Josefsson  <simon@josefsson.org>
56951
56952         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
56953         Reported by Albert Chin <china@thewrittenword.com>.
56954
56955 2007-10-14  Bruno Haible  <bruno@clisp.org>
56956
56957         * modules/iconv_open-utf-tests: New file.
56958         * tests/test-iconv-utf.c: New file.
56959
56960         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
56961         * modules/iconv_open-utf: New file.
56962         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
56963         (iconv, iconv_close): New declarations.
56964         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
56965         be defined.
56966         (iconv_open): Add special handling of conversion between UTF-8 and
56967         UTF-{16,32}{BE,LE}.
56968         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
56969         * lib/iconv_close.c: New file.
56970         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
56971         gl_FUNC_ICONV_OPEN.
56972         (gl_FUNC_ICONV_OPEN): Use it.
56973         (gl_FUNC_ICONV_OPEN_UTF): New macro.
56974         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
56975         and REPLACE_ICONV_UTF.
56976         * modules/iconv_open (Depends-on): Add c-strcase.
56977         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
56978         ICONV_CONST.
56979         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
56980
56981 2007-10-13  Albert Chin  <china@thewrittenword.com>
56982             Bruno Haible  <bruno@clisp.org>
56983
56984         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
56985         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
56986
56987 2007-10-13  Bruno Haible  <bruno@clisp.org>
56988
56989         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
56990         defined, use the ISO C99 inline semantics.
56991         * lib/argp.h (ARGP_EI): Likewise.
56992
56993 2007-10-13  Bruno Haible  <bruno@clisp.org>
56994
56995         Handle 'inline' change in gcc 4.3.0.
56996         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
56997         argp_fmtstream_write, argp_fmtstream_set_lmargin,
56998         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
56999         argp_fmtstream_point): Disable 'extern' declaration if the function
57000         definition is going to be provided inline.
57001         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
57002         semantics, not the ISO C99 inline semantics.
57003         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
57004         'extern' declaration if the function definition is going to be provided
57005         inline.
57006         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
57007         the GNU C inline semantics, not the ISO C99 inline semantics. With
57008         GCC 4.2, avoid a warning.
57009
57010 2007-10-13  Bruno Haible  <bruno@clisp.org>
57011
57012         * lib/freading.h (freading): Enable the use of __freading for
57013         glibc >= 2.7.
57014         * lib/freading.c (freading): Likewise.
57015
57016 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57017
57018         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
57019         "warning: C99 inline functions are not supported; using GNU89".
57020
57021 2007-10-12  Bruno Haible  <bruno@clisp.org>
57022
57023         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
57024         of 2.
57025         * tests/test-ceilf2.c: New file.
57026         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
57027
57028         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
57029         * modules/ceilf-tests: Update.
57030
57031 2007-10-12  Bruno Haible  <bruno@clisp.org>
57032
57033         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
57034         of 2.
57035         * tests/test-floorf2.c: New file.
57036         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
57037
57038         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
57039         * modules/floorf-tests: Update.
57040
57041 2007-10-12  Bruno Haible  <bruno@clisp.org>
57042
57043         * tests/test-trunc2.c: New file.
57044         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
57045
57046         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
57047         * modules/trunc-tests: Update.
57048
57049 2007-10-12  Bruno Haible  <bruno@clisp.org>
57050
57051         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
57052         of 2.
57053         * tests/test-truncf2.c: New file.
57054         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
57055
57056         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
57057         * modules/truncf-tests: Update.
57058
57059 2007-10-11  Eric Blake  <ebb9@byu.net>
57060
57061         Don't claim strerror is broken on Interix.
57062         * doc/functions/strerror.texi (strerror): Known broken systems are
57063         now Solaris 8, and not Interix.
57064         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
57065         Interix on cross-compile.
57066         Reported by Martin Koeppe in
57067         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
57068
57069 2007-10-11  Bruno Haible  <bruno@clisp.org>
57070
57071         * modules/i-ring-tests: New file.
57072         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
57073         instead of assert.
57074
57075 2007-10-11  Bruno Haible  <bruno@clisp.org>
57076
57077         * modules/filenamecat-tests: New file.
57078         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
57079         * lib/filenamecat.c: Remove test code.
57080
57081 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
57082
57083         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
57084
57085         * lib/strerror.c: Include <string.h> always, to test interface,
57086         and to remove the need for the dummy.
57087         Include intprops.h to compute width instead of doing it ourselves
57088         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
57089         (strerror): Define it to return NULL if there's no system strerror.
57090         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
57091         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
57092         ancient pre-strerror Unix systems well any more.  Saying "unknown
57093         system error" is enough.
57094         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
57095         simpler strerror.c implementation.
57096         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
57097         Simplify the tests to reflect the simpler strerror implementation.
57098         * modules/strerror (Depends-on): Add intprops.
57099
57100 2007-10-09  Eric Blake  <ebb9@byu.net>
57101
57102         Silence test-fpending.
57103         * modules/fpending-tests (Files): Add wrapper script.
57104         * tests/test-fpending.sh: New file.
57105
57106 2007-10-09  Bruno Haible  <bruno@clisp.org>
57107
57108         * MODULES.html.sh (func_module): Don't create a hyperlink for
57109         function names like 'printf_frexp'.
57110         (Misc): Add crc, memxor.
57111         (Characteristics of floating types): New section.
57112         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
57113         isnanf-nolibm, signbit, trunc, truncf, truncl.
57114         (Enhancements for ISO C 99 functions): New subsection Input/output.
57115         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
57116         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
57117         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
57118         (Compatibility checks for POSIX:2001 functions): Add clock-time.
57119         (Enhancements for POSIX:2001 functions): Add chdir-long.
57120         (File system functions): Add areadlink, chdir-safer, read-file.
57121         Remove cycle-check.
57122         (File system as inode set): New section.
57123         (Date and time): Add gethrxtime.
57124         (Multithreading): Add openmp.
57125         (Internationalization functions): Add localename.
57126         (Unicode string functions): Add unistr/u*-mbsnlen.
57127         (Support for maintaining and releasing projects): Add git-version-gen.
57128         (Lone files): Remove directories.
57129
57130 2007-10-08  Ben Pfaff  <blp@gnu.org>
57131
57132         * lib/xmalloca.h: Fix typo in comment.
57133
57134 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57135
57136         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
57137         when avoiding problems with integer overflow.  Use a portable test
57138         instead.
57139
57140 2007-10-08  Simon Josefsson  <simon@josefsson.org>
57141
57142         * modules/dummy (License): Change to LGPLv2+.
57143         * modules/float (License): Likewise
57144         * modules/realloc (License): Likewise
57145         * modules/stdlib (License): Likewise
57146
57147 2007-10-07  Bruno Haible  <bruno@clisp.org>
57148
57149         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
57150         * floor.c (TWO_MANT_DIG): Likewise.
57151         * ceil.c (TWO_MANT_DIG): Likewise.
57152         Reported by Ben Pfaff.
57153
57154 2007-10-07  Bruno Haible  <bruno@clisp.org>
57155
57156         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
57157         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
57158         * lib/frexp.c (FUNC): Likewise.
57159         * lib/printf-frexp.h (printf_frexp): Likewise.
57160         * lib/printf-frexpl.h (printf_frexpl): Likewise.
57161         * lib/printf-frexp.c (FUNC): Likewise.
57162         Suggested by Jim Meyering.
57163
57164 2007-10-07  Jim Meyering  <meyering@redhat.com>
57165
57166         Make xnanosleep's integer overflow test more robust.
57167         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
57168         so that gcc-4.3.0 doesn't optimize away this test for overflow.
57169
57170 2007-10-07  Bruno Haible  <bruno@clisp.org>
57171
57172         * NEWS: Mention the license change.
57173
57174         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
57175         abbreviations in the modules files.
57176
57177         Change copyright notice from GPLv2+ to GPLv3+.
57178         * README: Change copyright notice.
57179         * MODULES.html.sh: Likewise.
57180         * build-aux/bootstrap.conf: Likewise.
57181         * build-aux/config.libpath: Likewise.
57182         * build-aux/csharpcomp.sh.in: Likewise.
57183         * build-aux/csharpexec.sh.in: Likewise.
57184         * build-aux/install-reloc: Likewise.
57185         * build-aux/javacomp.sh.in: Likewise.
57186         * build-aux/javaexec.sh.in: Likewise.
57187         * build-aux/ldd.sh.in: Likewise.
57188         * build-aux/reloc-ldflags: Likewise.
57189         * build-aux/relocatable.sh.in: Likewise.
57190         * build-aux/x-to-1.in: Likewise.
57191         * check-module: Likewise.
57192         * config/srclistvars.sh: Likewise.
57193         * gnulib-tool: Likewise.
57194         * lib/acl-internal.h: Likewise.
57195         * lib/acl.c: Likewise.
57196         * lib/acl.h: Likewise.
57197         * lib/acl_entries.c: Likewise.
57198         * lib/areadlink-with-size.c: Likewise.
57199         * lib/areadlink.c: Likewise.
57200         * lib/areadlink.h: Likewise.
57201         * lib/argmatch.c: Likewise.
57202         * lib/argmatch.h: Likewise.
57203         * lib/argp-ba.c: Likewise.
57204         * lib/argp-eexst.c: Likewise.
57205         * lib/argp-fmtstream.c: Likewise.
57206         * lib/argp-fmtstream.h: Likewise.
57207         * lib/argp-fs-xinl.c: Likewise.
57208         * lib/argp-help.c: Likewise.
57209         * lib/argp-namefrob.h: Likewise.
57210         * lib/argp-parse.c: Likewise.
57211         * lib/argp-pin.c: Likewise.
57212         * lib/argp-pv.c: Likewise.
57213         * lib/argp-pvh.c: Likewise.
57214         * lib/argp-xinl.c: Likewise.
57215         * lib/argp.h: Likewise.
57216         * lib/at-func.c: Likewise.
57217         * lib/atanl.c: Likewise.
57218         * lib/backupfile.c: Likewise.
57219         * lib/backupfile.h: Likewise.
57220         * lib/basename.c: Likewise.
57221         * lib/binary-io.h: Likewise.
57222         * lib/byteswap.in.h: Likewise.
57223         * lib/c-stack.c: Likewise.
57224         * lib/c-stack.h: Likewise.
57225         * lib/c-strcasestr.c: Likewise.
57226         * lib/c-strcasestr.h: Likewise.
57227         * lib/c-strstr.c: Likewise.
57228         * lib/c-strstr.h: Likewise.
57229         * lib/c-strtod.c: Likewise.
57230         * lib/calloc.c: Likewise.
57231         * lib/canon-host.c: Likewise.
57232         * lib/canon-host.h: Likewise.
57233         * lib/canonicalize-lgpl.c: Likewise.
57234         * lib/canonicalize.c: Likewise.
57235         * lib/canonicalize.h: Likewise.
57236         * lib/ceil.c: Likewise.
57237         * lib/ceilf.c: Likewise.
57238         * lib/ceill.c: Likewise.
57239         * lib/chdir-long.c: Likewise.
57240         * lib/chdir-long.h: Likewise.
57241         * lib/chdir-safer.c: Likewise.
57242         * lib/chdir-safer.h: Likewise.
57243         * lib/chown.c: Likewise.
57244         * lib/classpath.c: Likewise.
57245         * lib/classpath.h: Likewise.
57246         * lib/clean-temp.c: Likewise.
57247         * lib/clean-temp.h: Likewise.
57248         * lib/cloexec.c: Likewise.
57249         * lib/close-stream.c: Likewise.
57250         * lib/closein.c: Likewise.
57251         * lib/closein.h: Likewise.
57252         * lib/closeout.c: Likewise.
57253         * lib/closeout.h: Likewise.
57254         * lib/concat-filename.c: Likewise.
57255         * lib/copy-file.c: Likewise.
57256         * lib/copy-file.h: Likewise.
57257         * lib/count-one-bits.h: Likewise.
57258         * lib/crc.c: Likewise.
57259         * lib/crc.h: Likewise.
57260         * lib/creat-safer.c: Likewise.
57261         * lib/csharpcomp.c: Likewise.
57262         * lib/csharpcomp.h: Likewise.
57263         * lib/csharpexec.c: Likewise.
57264         * lib/csharpexec.h: Likewise.
57265         * lib/cycle-check.c: Likewise.
57266         * lib/cycle-check.h: Likewise.
57267         * lib/diacrit.c: Likewise.
57268         * lib/diacrit.h: Likewise.
57269         * lib/diffseq.h: Likewise.
57270         * lib/dirchownmod.c: Likewise.
57271         * lib/dirent.in.h: Likewise.
57272         * lib/dirfd.c: Likewise.
57273         * lib/dirfd.h: Likewise.
57274         * lib/dirname.c: Likewise.
57275         * lib/dirname.h: Likewise.
57276         * lib/dummy.c: Likewise.
57277         * lib/dup-safer.c: Likewise.
57278         * lib/dup2.c: Likewise.
57279         * lib/eealloc.h: Likewise.
57280         * lib/error.c: Likewise.
57281         * lib/error.h: Likewise.
57282         * lib/euidaccess.c: Likewise.
57283         * lib/exclude.c: Likewise.
57284         * lib/exclude.h: Likewise.
57285         * lib/execute.c: Likewise.
57286         * lib/execute.h: Likewise.
57287         * lib/exitfail.c: Likewise.
57288         * lib/exitfail.h: Likewise.
57289         * lib/expl.c: Likewise.
57290         * lib/fatal-signal.c: Likewise.
57291         * lib/fatal-signal.h: Likewise.
57292         * lib/fbufmode.c: Likewise.
57293         * lib/fbufmode.h: Likewise.
57294         * lib/fchdir.c: Likewise.
57295         * lib/fchmodat.c: Likewise.
57296         * lib/fchownat.c: Likewise.
57297         * lib/fcntl--.h: Likewise.
57298         * lib/fcntl-safer.h: Likewise.
57299         * lib/fcntl.in.h: Likewise.
57300         * lib/fd-safer.c: Likewise.
57301         * lib/fflush.c: Likewise.
57302         * lib/file-has-acl.c: Likewise.
57303         * lib/file-set.c: Likewise.
57304         * lib/file-type.c: Likewise.
57305         * lib/file-type.h: Likewise.
57306         * lib/fileblocks.c: Likewise.
57307         * lib/filemode.c: Likewise.
57308         * lib/filemode.h: Likewise.
57309         * lib/filename.h: Likewise.
57310         * lib/filenamecat.c: Likewise.
57311         * lib/filenamecat.h: Likewise.
57312         * lib/findprog.c: Likewise.
57313         * lib/findprog.h: Likewise.
57314         * lib/float.in.h: Likewise.
57315         * lib/floor.c: Likewise.
57316         * lib/floorf.c: Likewise.
57317         * lib/floorl.c: Likewise.
57318         * lib/fopen-safer.c: Likewise.
57319         * lib/fopen.c: Likewise.
57320         * lib/fpending.c: Likewise.
57321         * lib/fpending.h: Likewise.
57322         * lib/fprintf.c: Likewise.
57323         * lib/fprintftime.h: Likewise.
57324         * lib/fpucw.h: Likewise.
57325         * lib/fpurge.c: Likewise.
57326         * lib/fpurge.h: Likewise.
57327         * lib/freadable.c: Likewise.
57328         * lib/freadable.h: Likewise.
57329         * lib/freadahead.c: Likewise.
57330         * lib/freadahead.h: Likewise.
57331         * lib/freading.c: Likewise.
57332         * lib/freading.h: Likewise.
57333         * lib/free.c: Likewise.
57334         * lib/freopen.c: Likewise.
57335         * lib/frexp.c: Likewise.
57336         * lib/frexpl.c: Likewise.
57337         * lib/fseek.c: Likewise.
57338         * lib/fseterr.c: Likewise.
57339         * lib/fseterr.h: Likewise.
57340         * lib/fstatat.c: Likewise.
57341         * lib/fstrcmp.c: Likewise.
57342         * lib/fstrcmp.h: Likewise.
57343         * lib/fsusage.c: Likewise.
57344         * lib/fsusage.h: Likewise.
57345         * lib/ftell.c: Likewise.
57346         * lib/ftello.c: Likewise.
57347         * lib/fts-cycle.c: Likewise.
57348         * lib/fts.c: Likewise.
57349         * lib/fts_.h: Likewise.
57350         * lib/full-read.c: Likewise.
57351         * lib/full-read.h: Likewise.
57352         * lib/full-write.c: Likewise.
57353         * lib/full-write.h: Likewise.
57354         * lib/fwritable.c: Likewise.
57355         * lib/fwritable.h: Likewise.
57356         * lib/fwriteerror.c: Likewise.
57357         * lib/fwriteerror.h: Likewise.
57358         * lib/fwriting.c: Likewise.
57359         * lib/fwriting.h: Likewise.
57360         * lib/gcd.c: Likewise.
57361         * lib/gcd.h: Likewise.
57362         * lib/getcwd.c: Likewise.
57363         * lib/getdate.h: Likewise.
57364         * lib/getdate.y: Likewise.
57365         * lib/getdomainname.c: Likewise.
57366         * lib/getdomainname.h: Likewise.
57367         * lib/getgroups.c: Likewise.
57368         * lib/gethostname.c: Likewise.
57369         * lib/gethrxtime.c: Likewise.
57370         * lib/gethrxtime.h: Likewise.
57371         * lib/getloadavg.c: Likewise.
57372         * lib/getndelim2.c: Likewise.
57373         * lib/getndelim2.h: Likewise.
57374         * lib/getnline.c: Likewise.
57375         * lib/getnline.h: Likewise.
57376         * lib/getopt.c: Likewise.
57377         * lib/getopt.in.h: Likewise.
57378         * lib/getopt1.c: Likewise.
57379         * lib/getopt_int.h: Likewise.
57380         * lib/getpagesize.h: Likewise.
57381         * lib/getsubopt.c: Likewise.
57382         * lib/gettime.c: Likewise.
57383         * lib/getugroups.c: Likewise.
57384         * lib/getugroups.h: Likewise.
57385         * lib/getusershell.c: Likewise.
57386         * lib/gl_anyavltree_list1.h: Likewise.
57387         * lib/gl_anyavltree_list2.h: Likewise.
57388         * lib/gl_anyhash_list1.h: Likewise.
57389         * lib/gl_anyhash_list2.h: Likewise.
57390         * lib/gl_anylinked_list1.h: Likewise.
57391         * lib/gl_anylinked_list2.h: Likewise.
57392         * lib/gl_anyrbtree_list1.h: Likewise.
57393         * lib/gl_anyrbtree_list2.h: Likewise.
57394         * lib/gl_anytree_list1.h: Likewise.
57395         * lib/gl_anytree_list2.h: Likewise.
57396         * lib/gl_anytree_oset.h: Likewise.
57397         * lib/gl_anytreehash_list1.h: Likewise.
57398         * lib/gl_anytreehash_list2.h: Likewise.
57399         * lib/gl_array_list.c: Likewise.
57400         * lib/gl_array_list.h: Likewise.
57401         * lib/gl_array_oset.c: Likewise.
57402         * lib/gl_array_oset.h: Likewise.
57403         * lib/gl_avltree_list.c: Likewise.
57404         * lib/gl_avltree_list.h: Likewise.
57405         * lib/gl_avltree_oset.c: Likewise.
57406         * lib/gl_avltree_oset.h: Likewise.
57407         * lib/gl_avltreehash_list.c: Likewise.
57408         * lib/gl_avltreehash_list.h: Likewise.
57409         * lib/gl_carray_list.c: Likewise.
57410         * lib/gl_carray_list.h: Likewise.
57411         * lib/gl_linked_list.c: Likewise.
57412         * lib/gl_linked_list.h: Likewise.
57413         * lib/gl_linkedhash_list.c: Likewise.
57414         * lib/gl_linkedhash_list.h: Likewise.
57415         * lib/gl_list.c: Likewise.
57416         * lib/gl_list.h: Likewise.
57417         * lib/gl_oset.c: Likewise.
57418         * lib/gl_oset.h: Likewise.
57419         * lib/gl_rbtree_list.c: Likewise.
57420         * lib/gl_rbtree_list.h: Likewise.
57421         * lib/gl_rbtree_oset.c: Likewise.
57422         * lib/gl_rbtree_oset.h: Likewise.
57423         * lib/gl_rbtreehash_list.c: Likewise.
57424         * lib/gl_rbtreehash_list.h: Likewise.
57425         * lib/gl_sublist.c: Likewise.
57426         * lib/gl_sublist.h: Likewise.
57427         * lib/group-member.c: Likewise.
57428         * lib/group-member.h: Likewise.
57429         * lib/hard-locale.c: Likewise.
57430         * lib/hard-locale.h: Likewise.
57431         * lib/hash-pjw.c: Likewise.
57432         * lib/hash-pjw.h: Likewise.
57433         * lib/hash-triple.c: Likewise.
57434         * lib/hash.c: Likewise.
57435         * lib/hash.h: Likewise.
57436         * lib/human.c: Likewise.
57437         * lib/human.h: Likewise.
57438         * lib/i-ring.c: Likewise.
57439         * lib/i-ring.h: Likewise.
57440         * lib/idcache.c: Likewise.
57441         * lib/imaxabs.c: Likewise.
57442         * lib/imaxdiv.c: Likewise.
57443         * lib/inet_pton.c: Likewise.
57444         * lib/inet_pton.h: Likewise.
57445         * lib/intprops.h: Likewise.
57446         * lib/inttostr.c: Likewise.
57447         * lib/inttostr.h: Likewise.
57448         * lib/inttypes.in.h: Likewise.
57449         * lib/isapipe.c: Likewise.
57450         * lib/isdir.c: Likewise.
57451         * lib/isnan.c: Likewise.
57452         * lib/isnan.h: Likewise.
57453         * lib/isnanf.c: Likewise.
57454         * lib/isnanf.h: Likewise.
57455         * lib/isnanl-nolibm.h: Likewise.
57456         * lib/isnanl.c: Likewise.
57457         * lib/isnanl.h: Likewise.
57458         * lib/javacomp.c: Likewise.
57459         * lib/javacomp.h: Likewise.
57460         * lib/javaexec.c: Likewise.
57461         * lib/javaexec.h: Likewise.
57462         * lib/javaversion.c: Likewise.
57463         * lib/javaversion.h: Likewise.
57464         * lib/javaversion.java: Likewise.
57465         * lib/lbrkprop.h: Likewise.
57466         * lib/lchmod.h: Likewise.
57467         * lib/lchown.c: Likewise.
57468         * lib/ldexpl.c: Likewise.
57469         * lib/linebreak.c: Likewise.
57470         * lib/linebreak.h: Likewise.
57471         * lib/linebuffer.c: Likewise.
57472         * lib/linebuffer.h: Likewise.
57473         * lib/locale.in.h: Likewise.
57474         * lib/logl.c: Likewise.
57475         * lib/long-options.c: Likewise.
57476         * lib/long-options.h: Likewise.
57477         * lib/lstat.c: Likewise.
57478         * lib/lstat.h: Likewise.
57479         * lib/math.in.h: Likewise.
57480         * lib/mbchar.c: Likewise.
57481         * lib/mbchar.h: Likewise.
57482         * lib/mbfile.h: Likewise.
57483         * lib/mbiter.h: Likewise.
57484         * lib/mbscasecmp.c: Likewise.
57485         * lib/mbscasestr.c: Likewise.
57486         * lib/mbschr.c: Likewise.
57487         * lib/mbscspn.c: Likewise.
57488         * lib/mbslen.c: Likewise.
57489         * lib/mbsncasecmp.c: Likewise.
57490         * lib/mbsnlen.c: Likewise.
57491         * lib/mbspbrk.c: Likewise.
57492         * lib/mbspcasecmp.c: Likewise.
57493         * lib/mbsrchr.c: Likewise.
57494         * lib/mbssep.c: Likewise.
57495         * lib/mbsspn.c: Likewise.
57496         * lib/mbsstr.c: Likewise.
57497         * lib/mbstok_r.c: Likewise.
57498         * lib/mbswidth.c: Likewise.
57499         * lib/mbswidth.h: Likewise.
57500         * lib/mbuiter.h: Likewise.
57501         * lib/memcasecmp.c: Likewise.
57502         * lib/memcasecmp.h: Likewise.
57503         * lib/memchr.c: Likewise.
57504         * lib/memcmp.c: Likewise.
57505         * lib/memcoll.c: Likewise.
57506         * lib/memcoll.h: Likewise.
57507         * lib/memcpy.c: Likewise.
57508         * lib/memrchr.c: Likewise.
57509         * lib/mkancesdirs.c: Likewise.
57510         * lib/mkdir-p.c: Likewise.
57511         * lib/mkdir-p.h: Likewise.
57512         * lib/mkdir.c: Likewise.
57513         * lib/mkdirat.c: Likewise.
57514         * lib/mkdtemp.c: Likewise.
57515         * lib/mkstemp-safer.c: Likewise.
57516         * lib/mkstemp.c: Likewise.
57517         * lib/modechange.c: Likewise.
57518         * lib/modechange.h: Likewise.
57519         * lib/mountlist.c: Likewise.
57520         * lib/mountlist.h: Likewise.
57521         * lib/mpsort.c: Likewise.
57522         * lib/nanosleep.c: Likewise.
57523         * lib/obstack.c: Likewise.
57524         * lib/obstack.h: Likewise.
57525         * lib/open-safer.c: Likewise.
57526         * lib/open.c: Likewise.
57527         * lib/openat-die.c: Likewise.
57528         * lib/openat-priv.h: Likewise.
57529         * lib/openat-proc.c: Likewise.
57530         * lib/openat.c: Likewise.
57531         * lib/openat.h: Likewise.
57532         * lib/pagealign_alloc.c: Likewise.
57533         * lib/pagealign_alloc.h: Likewise.
57534         * lib/physmem.c: Likewise.
57535         * lib/physmem.h: Likewise.
57536         * lib/pipe-safer.c: Likewise.
57537         * lib/pipe.c: Likewise.
57538         * lib/pipe.h: Likewise.
57539         * lib/posixtm.c: Likewise.
57540         * lib/posixtm.h: Likewise.
57541         * lib/posixver.c: Likewise.
57542         * lib/printf-frexp.c: Likewise.
57543         * lib/printf-frexp.h: Likewise.
57544         * lib/printf-frexpl.c: Likewise.
57545         * lib/printf-frexpl.h: Likewise.
57546         * lib/printf.c: Likewise.
57547         * lib/progname.c: Likewise.
57548         * lib/progname.h: Likewise.
57549         * lib/progreloc.c: Likewise.
57550         * lib/putenv.c: Likewise.
57551         * lib/quote.c: Likewise.
57552         * lib/quote.h: Likewise.
57553         * lib/quotearg.c: Likewise.
57554         * lib/quotearg.h: Likewise.
57555         * lib/raise.c: Likewise.
57556         * lib/readline.c: Likewise.
57557         * lib/readline.h: Likewise.
57558         * lib/readlink.c: Likewise.
57559         * lib/readtokens.c: Likewise.
57560         * lib/readtokens.h: Likewise.
57561         * lib/readtokens0.c: Likewise.
57562         * lib/readtokens0.h: Likewise.
57563         * lib/readutmp.c: Likewise.
57564         * lib/readutmp.h: Likewise.
57565         * lib/realloc.c: Likewise.
57566         * lib/relocwrapper.c: Likewise.
57567         * lib/rename-dest-slash.c: Likewise.
57568         * lib/rename.c: Likewise.
57569         * lib/rmdir.c: Likewise.
57570         * lib/rpmatch.c: Likewise.
57571         * lib/safe-read.c: Likewise.
57572         * lib/safe-read.h: Likewise.
57573         * lib/safe-write.c: Likewise.
57574         * lib/safe-write.h: Likewise.
57575         * lib/same-inode.h: Likewise.
57576         * lib/same.c: Likewise.
57577         * lib/same.h: Likewise.
57578         * lib/save-cwd.c: Likewise.
57579         * lib/save-cwd.h: Likewise.
57580         * lib/savedir.c: Likewise.
57581         * lib/savedir.h: Likewise.
57582         * lib/savewd.c: Likewise.
57583         * lib/savewd.h: Likewise.
57584         * lib/search.in.h: Likewise.
57585         * lib/setenv.c: Likewise.
57586         * lib/setenv.h: Likewise.
57587         * lib/settime.c: Likewise.
57588         * lib/sh-quote.c: Likewise.
57589         * lib/sh-quote.h: Likewise.
57590         * lib/sig2str.c: Likewise.
57591         * lib/sig2str.h: Likewise.
57592         * lib/signal.in.h: Likewise.
57593         * lib/signbitd.c: Likewise.
57594         * lib/signbitf.c: Likewise.
57595         * lib/signbitl.c: Likewise.
57596         * lib/sigprocmask.c: Likewise.
57597         * lib/sincosl.c: Likewise.
57598         * lib/sleep.c: Likewise.
57599         * lib/sprintf.c: Likewise.
57600         * lib/sqrtl.c: Likewise.
57601         * lib/stat-time.h: Likewise.
57602         * lib/stdio--.h: Likewise.
57603         * lib/stdio-safer.h: Likewise.
57604         * lib/stdlib--.h: Likewise.
57605         * lib/stdlib-safer.h: Likewise.
57606         * lib/stdlib.in.h: Likewise.
57607         * lib/stpcpy.c: Likewise.
57608         * lib/stpncpy.c: Likewise.
57609         * lib/strchrnul.c: Likewise.
57610         * lib/strcspn.c: Likewise.
57611         * lib/strerror.c: Likewise.
57612         * lib/strftime.c: Likewise.
57613         * lib/strftime.h: Likewise.
57614         * lib/striconveh.c: Likewise.
57615         * lib/striconveh.h: Likewise.
57616         * lib/striconveha.c: Likewise.
57617         * lib/striconveha.h: Likewise.
57618         * lib/stripslash.c: Likewise.
57619         * lib/strnlen1.c: Likewise.
57620         * lib/strnlen1.h: Likewise.
57621         * lib/strtod.c: Likewise.
57622         * lib/strtoimax.c: Likewise.
57623         * lib/strtok_r.c: Likewise.
57624         * lib/strtol.c: Likewise.
57625         * lib/strtoll.c: Likewise.
57626         * lib/strtoul.c: Likewise.
57627         * lib/strtoull.c: Likewise.
57628         * lib/sysexits.in.h: Likewise.
57629         * lib/tempname.c: Likewise.
57630         * lib/tempname.h: Likewise.
57631         * lib/timespec.h: Likewise.
57632         * lib/tls.c: Likewise.
57633         * lib/tls.h: Likewise.
57634         * lib/tmpdir.c: Likewise.
57635         * lib/tmpdir.h: Likewise.
57636         * lib/tmpfile-safer.c: Likewise.
57637         * lib/tmpfile.c: Likewise.
57638         * lib/trigl.c: Likewise.
57639         * lib/trigl.h: Likewise.
57640         * lib/trim.c: Likewise.
57641         * lib/trim.h: Likewise.
57642         * lib/trunc.c: Likewise.
57643         * lib/truncf.c: Likewise.
57644         * lib/truncl.c: Likewise.
57645         * lib/tsearch.c: Likewise.
57646         * lib/unicodeio.c: Likewise.
57647         * lib/unicodeio.h: Likewise.
57648         * lib/unistd--.h: Likewise.
57649         * lib/unistd-safer.h: Likewise.
57650         * lib/unistdio/ulc-fprintf.c: Likewise.
57651         * lib/unistdio/ulc-vfprintf.c: Likewise.
57652         * lib/unlinkdir.c: Likewise.
57653         * lib/unlinkdir.h: Likewise.
57654         * lib/unlocked-io.h: Likewise.
57655         * lib/unsetenv.c: Likewise.
57656         * lib/userspec.c: Likewise.
57657         * lib/utime.c: Likewise.
57658         * lib/utimecmp.c: Likewise.
57659         * lib/utimecmp.h: Likewise.
57660         * lib/utimens.c: Likewise.
57661         * lib/verify.h: Likewise.
57662         * lib/verror.c: Likewise.
57663         * lib/verror.h: Likewise.
57664         * lib/version-etc-fsf.c: Likewise.
57665         * lib/version-etc.c: Likewise.
57666         * lib/version-etc.h: Likewise.
57667         * lib/vfprintf.c: Likewise.
57668         * lib/vprintf.c: Likewise.
57669         * lib/vsprintf.c: Likewise.
57670         * lib/w32spawn.h: Likewise.
57671         * lib/wait-process.c: Likewise.
57672         * lib/wait-process.h: Likewise.
57673         * lib/wcwidth.c: Likewise.
57674         * lib/write-any-file.c: Likewise.
57675         * lib/xalloc-die.c: Likewise.
57676         * lib/xalloc.h: Likewise.
57677         * lib/xasprintf.c: Likewise.
57678         * lib/xgetcwd.c: Likewise.
57679         * lib/xgetcwd.h: Likewise.
57680         * lib/xgetdomainname.c: Likewise.
57681         * lib/xgetdomainname.h: Likewise.
57682         * lib/xgethostname.c: Likewise.
57683         * lib/xmalloc.c: Likewise.
57684         * lib/xmalloca.c: Likewise.
57685         * lib/xmalloca.h: Likewise.
57686         * lib/xmemcoll.c: Likewise.
57687         * lib/xnanosleep.c: Likewise.
57688         * lib/xreadlink.c: Likewise.
57689         * lib/xreadlink.h: Likewise.
57690         * lib/xsetenv.c: Likewise.
57691         * lib/xsetenv.h: Likewise.
57692         * lib/xstriconv.c: Likewise.
57693         * lib/xstriconv.h: Likewise.
57694         * lib/xstrndup.c: Likewise.
57695         * lib/xstrndup.h: Likewise.
57696         * lib/xstrtod.c: Likewise.
57697         * lib/xstrtod.h: Likewise.
57698         * lib/xstrtol-error.c: Likewise.
57699         * lib/xstrtol.c: Likewise.
57700         * lib/xstrtol.h: Likewise.
57701         * lib/xtime.h: Likewise.
57702         * lib/xvasprintf.c: Likewise.
57703         * lib/xvasprintf.h: Likewise.
57704         * lib/yesno.c: Likewise.
57705         * lib/yesno.h: Likewise.
57706         * posix-modules: Likewise.
57707         * tests/test-alloca-opt.c: Likewise.
57708         * tests/test-arcfour.c: Likewise.
57709         * tests/test-arctwo.c: Likewise.
57710         * tests/test-argmatch.c: Likewise.
57711         * tests/test-argp-2.sh: Likewise.
57712         * tests/test-argp.c: Likewise.
57713         * tests/test-arpa_inet.c: Likewise.
57714         * tests/test-array_list.c: Likewise.
57715         * tests/test-array_oset.c: Likewise.
57716         * tests/test-atexit.c: Likewise.
57717         * tests/test-avltree_list.c: Likewise.
57718         * tests/test-avltree_oset.c: Likewise.
57719         * tests/test-avltreehash_list.c: Likewise.
57720         * tests/test-base64.c: Likewise.
57721         * tests/test-binary-io.c: Likewise.
57722         * tests/test-byteswap.c: Likewise.
57723         * tests/test-c-ctype.c: Likewise.
57724         * tests/test-c-strcasecmp.c: Likewise.
57725         * tests/test-c-strcasestr.c: Likewise.
57726         * tests/test-c-strncasecmp.c: Likewise.
57727         * tests/test-c-strstr.c: Likewise.
57728         * tests/test-canonicalize-lgpl.c: Likewise.
57729         * tests/test-canonicalize.c: Likewise.
57730         * tests/test-carray_list.c: Likewise.
57731         * tests/test-ceilf.c: Likewise.
57732         * tests/test-ceill.c: Likewise.
57733         * tests/test-count-one-bits.c: Likewise.
57734         * tests/test-crc.c: Likewise.
57735         * tests/test-dirname.c: Likewise.
57736         * tests/test-fbufmode.c: Likewise.
57737         * tests/test-fcntl.c: Likewise.
57738         * tests/test-fflush.c: Likewise.
57739         * tests/test-floorf.c: Likewise.
57740         * tests/test-floorl.c: Likewise.
57741         * tests/test-fopen.c: Likewise.
57742         * tests/test-fprintf-posix.c: Likewise.
57743         * tests/test-fprintf-posix.h: Likewise.
57744         * tests/test-fpurge.c: Likewise.
57745         * tests/test-freadable.c: Likewise.
57746         * tests/test-freadahead.c: Likewise.
57747         * tests/test-freading.c: Likewise.
57748         * tests/test-freopen.c: Likewise.
57749         * tests/test-frexp.c: Likewise.
57750         * tests/test-frexpl.c: Likewise.
57751         * tests/test-fseek.c: Likewise.
57752         * tests/test-fseeko.c: Likewise.
57753         * tests/test-fseterr.c: Likewise.
57754         * tests/test-fstrcmp.c: Likewise.
57755         * tests/test-ftell.c: Likewise.
57756         * tests/test-ftello.c: Likewise.
57757         * tests/test-fwritable.c: Likewise.
57758         * tests/test-fwriting.c: Likewise.
57759         * tests/test-getaddrinfo.c: Likewise.
57760         * tests/test-getpass.c: Likewise.
57761         * tests/test-gettimeofday.c: Likewise.
57762         * tests/test-hmac-md5.c: Likewise.
57763         * tests/test-hmac-sha1.c: Likewise.
57764         * tests/test-iconv.c: Likewise.
57765         * tests/test-iconvme.c: Likewise.
57766         * tests/test-inttypes.c: Likewise.
57767         * tests/test-isnan.c: Likewise.
57768         * tests/test-isnanf.c: Likewise.
57769         * tests/test-isnanl-nolibm.c: Likewise.
57770         * tests/test-isnanl.c: Likewise.
57771         * tests/test-isnanl.h: Likewise.
57772         * tests/test-ldexpl.c: Likewise.
57773         * tests/test-linked_list.c: Likewise.
57774         * tests/test-linkedhash_list.c: Likewise.
57775         * tests/test-locale.c: Likewise.
57776         * tests/test-localename.c: Likewise.
57777         * tests/test-lock.c: Likewise.
57778         * tests/test-lseek.c: Likewise.
57779         * tests/test-malloca.c: Likewise.
57780         * tests/test-math.c: Likewise.
57781         * tests/test-mbscasecmp.c: Likewise.
57782         * tests/test-mbscasestr1.c: Likewise.
57783         * tests/test-mbscasestr2.c: Likewise.
57784         * tests/test-mbscasestr3.c: Likewise.
57785         * tests/test-mbscasestr4.c: Likewise.
57786         * tests/test-mbschr.c: Likewise.
57787         * tests/test-mbscspn.c: Likewise.
57788         * tests/test-mbsncasecmp.c: Likewise.
57789         * tests/test-mbspbrk.c: Likewise.
57790         * tests/test-mbspcasecmp.c: Likewise.
57791         * tests/test-mbsrchr.c: Likewise.
57792         * tests/test-mbsspn.c: Likewise.
57793         * tests/test-mbsstr1.c: Likewise.
57794         * tests/test-mbsstr2.c: Likewise.
57795         * tests/test-mbsstr3.c: Likewise.
57796         * tests/test-md5.c: Likewise.
57797         * tests/test-memmem.c: Likewise.
57798         * tests/test-netinet_in.c: Likewise.
57799         * tests/test-open.c: Likewise.
57800         * tests/test-printf-frexp.c: Likewise.
57801         * tests/test-printf-frexpl.c: Likewise.
57802         * tests/test-printf-posix.c: Likewise.
57803         * tests/test-printf-posix.h: Likewise.
57804         * tests/test-rbtree_list.c: Likewise.
57805         * tests/test-rbtree_oset.c: Likewise.
57806         * tests/test-rbtreehash_list.c: Likewise.
57807         * tests/test-read-file.c: Likewise.
57808         * tests/test-rijndael.c: Likewise.
57809         * tests/test-search.c: Likewise.
57810         * tests/test-signbit.c: Likewise.
57811         * tests/test-sleep.c: Likewise.
57812         * tests/test-snprintf-posix.c: Likewise.
57813         * tests/test-snprintf-posix.h: Likewise.
57814         * tests/test-snprintf.c: Likewise.
57815         * tests/test-sprintf-posix.c: Likewise.
57816         * tests/test-sprintf-posix.h: Likewise.
57817         * tests/test-stat-time.c: Likewise.
57818         * tests/test-stdbool.c: Likewise.
57819         * tests/test-stdint.c: Likewise.
57820         * tests/test-stdio.c: Likewise.
57821         * tests/test-stdlib.c: Likewise.
57822         * tests/test-stpncpy.c: Likewise.
57823         * tests/test-strcasestr.c: Likewise.
57824         * tests/test-striconv.c: Likewise.
57825         * tests/test-striconveh.c: Likewise.
57826         * tests/test-striconveha.c: Likewise.
57827         * tests/test-string.c: Likewise.
57828         * tests/test-sys_select.c: Likewise.
57829         * tests/test-sys_socket.c: Likewise.
57830         * tests/test-sys_stat.c: Likewise.
57831         * tests/test-sys_time.c: Likewise.
57832         * tests/test-sysexits.c: Likewise.
57833         * tests/test-time.c: Likewise.
57834         * tests/test-tls.c: Likewise.
57835         * tests/test-trunc.c: Likewise.
57836         * tests/test-truncf.c: Likewise.
57837         * tests/test-truncl.c: Likewise.
57838         * tests/test-unistd.c: Likewise.
57839         * tests/test-vasnprintf-posix.c: Likewise.
57840         * tests/test-vasnprintf-posix2.c: Likewise.
57841         * tests/test-vasnprintf.c: Likewise.
57842         * tests/test-vasprintf-posix.c: Likewise.
57843         * tests/test-vasprintf.c: Likewise.
57844         * tests/test-verify.c: Likewise.
57845         * tests/test-vfprintf-posix.c: Likewise.
57846         * tests/test-vprintf-posix.c: Likewise.
57847         * tests/test-vsnprintf-posix.c: Likewise.
57848         * tests/test-vsnprintf.c: Likewise.
57849         * tests/test-vsprintf-posix.c: Likewise.
57850         * tests/test-wchar.c: Likewise.
57851         * tests/test-wctype.c: Likewise.
57852         * tests/test-wcwidth.c: Likewise.
57853         * tests/test-xstrtol.c: Likewise.
57854         * tests/test-xvasprintf.c: Likewise.
57855         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
57856         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
57857         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
57858         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
57859         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
57860         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
57861         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
57862         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
57863         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
57864         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
57865         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
57866         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
57867         * tests/uniname/test-uninames.c: Likewise.
57868         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
57869         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
57870         * tests/unistdio/test-u16-printf1.h: Likewise.
57871         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
57872         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
57873         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
57874         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
57875         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
57876         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
57877         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
57878         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
57879         * tests/unistdio/test-u32-printf1.h: Likewise.
57880         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
57881         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
57882         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
57883         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
57884         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
57885         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
57886         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
57887         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
57888         * tests/unistdio/test-u8-printf1.h: Likewise.
57889         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
57890         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
57891         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
57892         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
57893         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
57894         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
57895         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
57896         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
57897         * tests/unistdio/test-ulc-printf1.h: Likewise.
57898         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
57899         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
57900         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
57901         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
57902         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
57903         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
57904         * tests/uniwidth/test-u16-strwidth.c: Likewise.
57905         * tests/uniwidth/test-u16-width.c: Likewise.
57906         * tests/uniwidth/test-u32-strwidth.c: Likewise.
57907         * tests/uniwidth/test-u32-width.c: Likewise.
57908         * tests/uniwidth/test-u8-strwidth.c: Likewise.
57909         * tests/uniwidth/test-u8-width.c: Likewise.
57910         * tests/uniwidth/test-uc_width.c: Likewise.
57911         * config/srclist-update: Likewise.
57912         (fixlicense): Update to GPLv3+.
57913
57914         Change copyright notice from LGPLv2.1+ to LGPLv3+.
57915         * tests/test-tsearch.c: Change copyright notice.
57916
57917         Change copyright notice from LGPLv2.0+ to LGPLv3+.
57918         * lib/c-strcaseeq.h: Change copyright notice.
57919         * lib/streq.h: Likewise.
57920         * lib/uniconv.h: Likewise.
57921         * lib/uniconv/u-conv-from-enc.h: Likewise.
57922         * lib/uniconv/u-conv-to-enc.h: Likewise.
57923         * lib/uniconv/u-strconv-from-enc.h: Likewise.
57924         * lib/uniconv/u-strconv-to-enc.h: Likewise.
57925         * lib/uniconv/u16-conv-from-enc.c: Likewise.
57926         * lib/uniconv/u16-conv-to-enc.c: Likewise.
57927         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
57928         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
57929         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
57930         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
57931         * lib/uniconv/u32-conv-from-enc.c: Likewise.
57932         * lib/uniconv/u32-conv-to-enc.c: Likewise.
57933         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
57934         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
57935         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
57936         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
57937         * lib/uniconv/u8-conv-from-enc.c: Likewise.
57938         * lib/uniconv/u8-conv-to-enc.c: Likewise.
57939         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
57940         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
57941         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
57942         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
57943         * lib/uniname.h: Likewise.
57944         * lib/uniname/uniname.c: Likewise.
57945         * lib/unistdio.h: Likewise.
57946         * lib/unistdio/u-asnprintf.h: Likewise.
57947         * lib/unistdio/u-asprintf.h: Likewise.
57948         * lib/unistdio/u-printf-args.c: Likewise.
57949         * lib/unistdio/u-printf-args.h: Likewise.
57950         * lib/unistdio/u-printf-parse.h: Likewise.
57951         * lib/unistdio/u-snprintf.h: Likewise.
57952         * lib/unistdio/u-sprintf.h: Likewise.
57953         * lib/unistdio/u-vasprintf.h: Likewise.
57954         * lib/unistdio/u-vsnprintf.h: Likewise.
57955         * lib/unistdio/u-vsprintf.h: Likewise.
57956         * lib/unistdio/u16-asnprintf.c: Likewise.
57957         * lib/unistdio/u16-asprintf.c: Likewise.
57958         * lib/unistdio/u16-printf-parse.c: Likewise.
57959         * lib/unistdio/u16-snprintf.c: Likewise.
57960         * lib/unistdio/u16-sprintf.c: Likewise.
57961         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
57962         * lib/unistdio/u16-u16-asprintf.c: Likewise.
57963         * lib/unistdio/u16-u16-snprintf.c: Likewise.
57964         * lib/unistdio/u16-u16-sprintf.c: Likewise.
57965         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
57966         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
57967         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
57968         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
57969         * lib/unistdio/u16-vasnprintf.c: Likewise.
57970         * lib/unistdio/u16-vasprintf.c: Likewise.
57971         * lib/unistdio/u16-vsnprintf.c: Likewise.
57972         * lib/unistdio/u16-vsprintf.c: Likewise.
57973         * lib/unistdio/u32-asnprintf.c: Likewise.
57974         * lib/unistdio/u32-asprintf.c: Likewise.
57975         * lib/unistdio/u32-printf-parse.c: Likewise.
57976         * lib/unistdio/u32-snprintf.c: Likewise.
57977         * lib/unistdio/u32-sprintf.c: Likewise.
57978         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
57979         * lib/unistdio/u32-u32-asprintf.c: Likewise.
57980         * lib/unistdio/u32-u32-snprintf.c: Likewise.
57981         * lib/unistdio/u32-u32-sprintf.c: Likewise.
57982         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
57983         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
57984         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
57985         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
57986         * lib/unistdio/u32-vasnprintf.c: Likewise.
57987         * lib/unistdio/u32-vasprintf.c: Likewise.
57988         * lib/unistdio/u32-vsnprintf.c: Likewise.
57989         * lib/unistdio/u32-vsprintf.c: Likewise.
57990         * lib/unistdio/u8-asnprintf.c: Likewise.
57991         * lib/unistdio/u8-asprintf.c: Likewise.
57992         * lib/unistdio/u8-printf-parse.c: Likewise.
57993         * lib/unistdio/u8-snprintf.c: Likewise.
57994         * lib/unistdio/u8-sprintf.c: Likewise.
57995         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
57996         * lib/unistdio/u8-u8-asprintf.c: Likewise.
57997         * lib/unistdio/u8-u8-snprintf.c: Likewise.
57998         * lib/unistdio/u8-u8-sprintf.c: Likewise.
57999         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
58000         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
58001         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
58002         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
58003         * lib/unistdio/u8-vasnprintf.c: Likewise.
58004         * lib/unistdio/u8-vasprintf.c: Likewise.
58005         * lib/unistdio/u8-vsnprintf.c: Likewise.
58006         * lib/unistdio/u8-vsprintf.c: Likewise.
58007         * lib/unistdio/ulc-asnprintf.c: Likewise.
58008         * lib/unistdio/ulc-asprintf.c: Likewise.
58009         * lib/unistdio/ulc-printf-parse.c: Likewise.
58010         * lib/unistdio/ulc-snprintf.c: Likewise.
58011         * lib/unistdio/ulc-sprintf.c: Likewise.
58012         * lib/unistdio/ulc-vasnprintf.c: Likewise.
58013         * lib/unistdio/ulc-vasprintf.c: Likewise.
58014         * lib/unistdio/ulc-vsnprintf.c: Likewise.
58015         * lib/unistdio/ulc-vsprintf.c: Likewise.
58016         * lib/unistr.h: Likewise.
58017         * lib/unistr/u-cpy-alloc.h: Likewise.
58018         * lib/unistr/u-cpy.h: Likewise.
58019         * lib/unistr/u-endswith.h: Likewise.
58020         * lib/unistr/u-move.h: Likewise.
58021         * lib/unistr/u-set.h: Likewise.
58022         * lib/unistr/u-startswith.h: Likewise.
58023         * lib/unistr/u-stpcpy.h: Likewise.
58024         * lib/unistr/u-stpncpy.h: Likewise.
58025         * lib/unistr/u-strcat.h: Likewise.
58026         * lib/unistr/u-strcpy.h: Likewise.
58027         * lib/unistr/u-strcspn.h: Likewise.
58028         * lib/unistr/u-strdup.h: Likewise.
58029         * lib/unistr/u-strlen.h: Likewise.
58030         * lib/unistr/u-strncat.h: Likewise.
58031         * lib/unistr/u-strncpy.h: Likewise.
58032         * lib/unistr/u-strnlen.h: Likewise.
58033         * lib/unistr/u-strpbrk.h: Likewise.
58034         * lib/unistr/u-strspn.h: Likewise.
58035         * lib/unistr/u-strstr.h: Likewise.
58036         * lib/unistr/u-strtok.h: Likewise.
58037         * lib/unistr/u16-check.c: Likewise.
58038         * lib/unistr/u16-chr.c: Likewise.
58039         * lib/unistr/u16-cmp.c: Likewise.
58040         * lib/unistr/u16-cpy-alloc.c: Likewise.
58041         * lib/unistr/u16-cpy.c: Likewise.
58042         * lib/unistr/u16-endswith.c: Likewise.
58043         * lib/unistr/u16-mblen.c: Likewise.
58044         * lib/unistr/u16-mbsnlen.c: Likewise.
58045         * lib/unistr/u16-mbtouc-aux.c: Likewise.
58046         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
58047         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
58048         * lib/unistr/u16-mbtouc.c: Likewise.
58049         * lib/unistr/u16-mbtoucr.c: Likewise.
58050         * lib/unistr/u16-move.c: Likewise.
58051         * lib/unistr/u16-next.c: Likewise.
58052         * lib/unistr/u16-prev.c: Likewise.
58053         * lib/unistr/u16-set.c: Likewise.
58054         * lib/unistr/u16-startswith.c: Likewise.
58055         * lib/unistr/u16-stpcpy.c: Likewise.
58056         * lib/unistr/u16-stpncpy.c: Likewise.
58057         * lib/unistr/u16-strcat.c: Likewise.
58058         * lib/unistr/u16-strchr.c: Likewise.
58059         * lib/unistr/u16-strcmp.c: Likewise.
58060         * lib/unistr/u16-strcpy.c: Likewise.
58061         * lib/unistr/u16-strcspn.c: Likewise.
58062         * lib/unistr/u16-strdup.c: Likewise.
58063         * lib/unistr/u16-strlen.c: Likewise.
58064         * lib/unistr/u16-strmblen.c: Likewise.
58065         * lib/unistr/u16-strmbtouc.c: Likewise.
58066         * lib/unistr/u16-strncat.c: Likewise.
58067         * lib/unistr/u16-strncmp.c: Likewise.
58068         * lib/unistr/u16-strncpy.c: Likewise.
58069         * lib/unistr/u16-strnlen.c: Likewise.
58070         * lib/unistr/u16-strpbrk.c: Likewise.
58071         * lib/unistr/u16-strrchr.c: Likewise.
58072         * lib/unistr/u16-strspn.c: Likewise.
58073         * lib/unistr/u16-strstr.c: Likewise.
58074         * lib/unistr/u16-strtok.c: Likewise.
58075         * lib/unistr/u16-to-u32.c: Likewise.
58076         * lib/unistr/u16-to-u8.c: Likewise.
58077         * lib/unistr/u16-uctomb-aux.c: Likewise.
58078         * lib/unistr/u16-uctomb.c: Likewise.
58079         * lib/unistr/u32-check.c: Likewise.
58080         * lib/unistr/u32-chr.c: Likewise.
58081         * lib/unistr/u32-cmp.c: Likewise.
58082         * lib/unistr/u32-cpy-alloc.c: Likewise.
58083         * lib/unistr/u32-cpy.c: Likewise.
58084         * lib/unistr/u32-endswith.c: Likewise.
58085         * lib/unistr/u32-mblen.c: Likewise.
58086         * lib/unistr/u32-mbsnlen.c: Likewise.
58087         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
58088         * lib/unistr/u32-mbtouc.c: Likewise.
58089         * lib/unistr/u32-mbtoucr.c: Likewise.
58090         * lib/unistr/u32-move.c: Likewise.
58091         * lib/unistr/u32-next.c: Likewise.
58092         * lib/unistr/u32-prev.c: Likewise.
58093         * lib/unistr/u32-set.c: Likewise.
58094         * lib/unistr/u32-startswith.c: Likewise.
58095         * lib/unistr/u32-stpcpy.c: Likewise.
58096         * lib/unistr/u32-stpncpy.c: Likewise.
58097         * lib/unistr/u32-strcat.c: Likewise.
58098         * lib/unistr/u32-strchr.c: Likewise.
58099         * lib/unistr/u32-strcmp.c: Likewise.
58100         * lib/unistr/u32-strcpy.c: Likewise.
58101         * lib/unistr/u32-strcspn.c: Likewise.
58102         * lib/unistr/u32-strdup.c: Likewise.
58103         * lib/unistr/u32-strlen.c: Likewise.
58104         * lib/unistr/u32-strmblen.c: Likewise.
58105         * lib/unistr/u32-strmbtouc.c: Likewise.
58106         * lib/unistr/u32-strncat.c: Likewise.
58107         * lib/unistr/u32-strncmp.c: Likewise.
58108         * lib/unistr/u32-strncpy.c: Likewise.
58109         * lib/unistr/u32-strnlen.c: Likewise.
58110         * lib/unistr/u32-strpbrk.c: Likewise.
58111         * lib/unistr/u32-strrchr.c: Likewise.
58112         * lib/unistr/u32-strspn.c: Likewise.
58113         * lib/unistr/u32-strstr.c: Likewise.
58114         * lib/unistr/u32-strtok.c: Likewise.
58115         * lib/unistr/u32-to-u16.c: Likewise.
58116         * lib/unistr/u32-to-u8.c: Likewise.
58117         * lib/unistr/u32-uctomb.c: Likewise.
58118         * lib/unistr/u8-check.c: Likewise.
58119         * lib/unistr/u8-chr.c: Likewise.
58120         * lib/unistr/u8-cmp.c: Likewise.
58121         * lib/unistr/u8-cpy-alloc.c: Likewise.
58122         * lib/unistr/u8-cpy.c: Likewise.
58123         * lib/unistr/u8-endswith.c: Likewise.
58124         * lib/unistr/u8-mblen.c: Likewise.
58125         * lib/unistr/u8-mbsnlen.c: Likewise.
58126         * lib/unistr/u8-mbtouc-aux.c: Likewise.
58127         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
58128         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
58129         * lib/unistr/u8-mbtouc.c: Likewise.
58130         * lib/unistr/u8-mbtoucr.c: Likewise.
58131         * lib/unistr/u8-move.c: Likewise.
58132         * lib/unistr/u8-next.c: Likewise.
58133         * lib/unistr/u8-prev.c: Likewise.
58134         * lib/unistr/u8-set.c: Likewise.
58135         * lib/unistr/u8-startswith.c: Likewise.
58136         * lib/unistr/u8-stpcpy.c: Likewise.
58137         * lib/unistr/u8-stpncpy.c: Likewise.
58138         * lib/unistr/u8-strcat.c: Likewise.
58139         * lib/unistr/u8-strchr.c: Likewise.
58140         * lib/unistr/u8-strcmp.c: Likewise.
58141         * lib/unistr/u8-strcpy.c: Likewise.
58142         * lib/unistr/u8-strcspn.c: Likewise.
58143         * lib/unistr/u8-strdup.c: Likewise.
58144         * lib/unistr/u8-strlen.c: Likewise.
58145         * lib/unistr/u8-strmblen.c: Likewise.
58146         * lib/unistr/u8-strmbtouc.c: Likewise.
58147         * lib/unistr/u8-strncat.c: Likewise.
58148         * lib/unistr/u8-strncmp.c: Likewise.
58149         * lib/unistr/u8-strncpy.c: Likewise.
58150         * lib/unistr/u8-strnlen.c: Likewise.
58151         * lib/unistr/u8-strpbrk.c: Likewise.
58152         * lib/unistr/u8-strrchr.c: Likewise.
58153         * lib/unistr/u8-strspn.c: Likewise.
58154         * lib/unistr/u8-strstr.c: Likewise.
58155         * lib/unistr/u8-strtok.c: Likewise.
58156         * lib/unistr/u8-to-u16.c: Likewise.
58157         * lib/unistr/u8-to-u32.c: Likewise.
58158         * lib/unistr/u8-uctomb-aux.c: Likewise.
58159         * lib/unistr/u8-uctomb.c: Likewise.
58160         * lib/unitypes.h: Likewise.
58161         * lib/uniwidth.h: Likewise.
58162         * lib/uniwidth/cjk.h: Likewise.
58163         * lib/uniwidth/u16-strwidth.c: Likewise.
58164         * lib/uniwidth/u16-width.c: Likewise.
58165         * lib/uniwidth/u32-strwidth.c: Likewise.
58166         * lib/uniwidth/u32-width.c: Likewise.
58167         * lib/uniwidth/u8-strwidth.c: Likewise.
58168         * lib/uniwidth/u8-width.c: Likewise.
58169         * lib/uniwidth/width.c: Likewise.
58170
58171 2007-10-07  Bruno Haible  <bruno@clisp.org>
58172
58173         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
58174         The file is still under LGPL (see modules/inttypes).
58175
58176 2007-10-06  Bruno Haible  <bruno@clisp.org>
58177
58178         * modules/trunc (Dependencies): Add 'extensions'.
58179         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
58180         Reported by Ben Pfaff <blp@gnu.org>.
58181
58182 2007-10-06  Bruno Haible  <bruno@clisp.org>
58183
58184         * modules/freopen-tests: New file.
58185         * tests/test-freopen.c: New file.
58186
58187         * modules/fopen-tests: New file.
58188         * tests/test-fopen.c: New file.
58189
58190         * modules/fopen: New file.
58191         * lib/fopen.c: New file.
58192         * m4/fopen.m4: New file.
58193         * modules/freopen: New file.
58194         * lib/freopen.c: New file.
58195         * m4/freopen.m4: New file.
58196         * lib/stdio.in.h (fopen, freopen): New declarations.
58197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
58198         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
58199         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
58200         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
58201         * doc/functions/fopen.texi: Mention the 'fopen' module.
58202         * doc/functions/freopen.texi: Mention the 'freopen' module.
58203
58204 2007-10-06  Bruno Haible  <bruno@clisp.org>
58205
58206         * modules/open-tests: New file.
58207         * tests/test-open.c: New file.
58208
58209         * modules/open: New file.
58210         * lib/open.c: New file.
58211         * m4/open.m4: New file.
58212         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
58213         lib/open.c does.
58214         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
58215         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
58216         macros.
58217         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
58218         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
58219         REPLACE_OPEN.
58220         * doc/functions/open.texi: Mention the 'open' module.
58221
58222 2007-10-04  Bruno Haible  <bruno@clisp.org>
58223
58224         * modules/ceill-tests: New file.
58225         * tests/test-ceill.c: New file.
58226
58227         * modules/ceill: New file.
58228         * lib/ceill.c: Replace entire file.
58229         * m4/ceill.m4: New file.
58230         * lib/math.in.h (ceill): Replace declaration.
58231         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
58232         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
58233         * doc/functions/ceill.texi: Mention the 'ceill' module.
58234         * modules/mathl (Files): Remove lib/ceill.c.
58235         (Depends-on): Add ceill.
58236
58237 2007-10-04  Bruno Haible  <bruno@clisp.org>
58238
58239         * modules/ceilf-tests: New file.
58240         * tests/test-ceilf.c: New file.
58241
58242         * modules/ceilf: New file.
58243         * lib/ceil.c: New file.
58244         * lib/ceilf.c: New file.
58245         * m4/ceilf.m4: New file.
58246         * lib/math.in.h (ceilf): New declaration.
58247         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
58248         HAVE_DECL_CEILF.
58249         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
58250         HAVE_DECL_CEILF.
58251         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
58252
58253 2007-10-04  Bruno Haible  <bruno@clisp.org>
58254
58255         * modules/floorl-tests: New file.
58256         * tests/test-floorl.c: New file.
58257
58258         * modules/floorl: New file.
58259         * lib/floorl.c: Replace entire file.
58260         * m4/floorl.m4: New file.
58261         * lib/math.in.h (floorl): Replace declaration.
58262         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
58263         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
58264         * doc/functions/floorl.texi: Mention the 'floorl' module.
58265         * modules/mathl (Files): Remove lib/floorl.c.
58266         (Depends-on): Add floorl.
58267
58268 2007-10-04  Bruno Haible  <bruno@clisp.org>
58269
58270         * modules/floorf-tests: New file.
58271         * tests/test-floorf.c: New file.
58272
58273         * modules/floorf: New file.
58274         * lib/floor.c: New file.
58275         * lib/floorf.c: New file.
58276         * m4/floorf.m4: New file.
58277         * lib/math.in.h (floorf): New declaration.
58278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
58279         HAVE_DECL_FLOORF.
58280         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
58281         HAVE_DECL_FLOORF.
58282         * doc/functions/floorf.texi: Mention the 'floorf' module.
58283
58284 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
58285             Bruno Haible  <bruno@clisp.org>
58286
58287         Advertise for the Git server instead of the CVS server.
58288         * doc/gnulib-intro.texi (Steady Development): Mention the Git
58289         repository instead of the CVS one.
58290         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
58291         about all VCS systems generically.
58292         * doc/gnulib.texi (Introduction): Capitalize `Git'.
58293
58294 2007-10-04  Bruno Haible  <bruno@clisp.org>
58295
58296         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
58297         means.
58298         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
58299
58300 2007-10-04  Bruno Haible  <bruno@clisp.org>
58301
58302         * modules/truncl-tests: New file.
58303         * tests/test-truncl.c: New file.
58304
58305         * modules/truncl: New file.
58306         * lib/truncl.c: New file.
58307         * m4/truncl.m4: New file.
58308         * lib/math.in.h (truncl): New declaration.
58309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
58310         HAVE_DECL_TRUNCL.
58311         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
58312         HAVE_DECL_TRUNCL.
58313         * doc/functions/truncl.texi: Mention the 'truncl' module.
58314
58315 2007-10-04  Bruno Haible  <bruno@clisp.org>
58316
58317         * modules/truncf-tests: New file.
58318         * tests/test-truncf.c: New file.
58319
58320         * modules/truncf: New file.
58321         * lib/trunc.c: Make paramerizable through USE_* macros.
58322         * lib/truncf.c: New file.
58323         * m4/truncf.m4: New file.
58324         * lib/math.in.h (truncf): New declaration.
58325         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
58326         HAVE_DECL_TRUNCF.
58327         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
58328         HAVE_DECL_TRUNCF.
58329         * doc/functions/truncf.texi: Mention the 'truncf' module.
58330
58331 2007-10-03  Bruno Haible  <bruno@clisp.org>
58332
58333         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58334         augmentation also for tests modules.
58335         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
58336         * modules/atexit-tests (Makefile.am): Likewise.
58337         * modules/binary-io-tests (Makefile.am): Likewise.
58338         * modules/c-strcase-tests (Makefile.am): Likewise.
58339         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
58340         * modules/canonicalize-tests (Makefile.am): Likewise.
58341         * modules/closein-tests (Makefile.am): Likewise.
58342         * modules/fprintf-posix-tests (Makefile.am): Likewise.
58343         * modules/freadahead-tests (Makefile.am): Likewise.
58344         * modules/fseek-tests (Makefile.am): Likewise.
58345         * modules/fseeko-tests (Makefile.am): Likewise.
58346         * modules/ftell-tests (Makefile.am): Likewise.
58347         * modules/ftello-tests (Makefile.am): Likewise.
58348         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
58349         * modules/isnanl-tests (Makefile.am): Likewise.
58350         * modules/lseek-tests (Makefile.am): Likewise.
58351         * modules/mbscasecmp-tests (Makefile.am): Likewise.
58352         * modules/mbscasestr-tests (Makefile.am): Likewise.
58353         * modules/mbschr-tests (Makefile.am): Likewise.
58354         * modules/mbscspn-tests (Makefile.am): Likewise.
58355         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
58356         * modules/mbspbrk-tests (Makefile.am): Likewise.
58357         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
58358         * modules/mbsrchr-tests (Makefile.am): Likewise.
58359         * modules/mbsspn-tests (Makefile.am): Likewise.
58360         * modules/mbsstr-tests (Makefile.am): Likewise.
58361         * modules/printf-posix-tests (Makefile.am): Likewise.
58362         * modules/snprintf-posix-tests (Makefile.am): Likewise.
58363         * modules/sprintf-posix-tests (Makefile.am): Likewise.
58364         * modules/tsearch-tests (Makefile.am): Likewise.
58365         * modules/uniname/uniname-tests (Makefile.am): Likewise.
58366         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
58367         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
58368         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
58369         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
58370         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
58371         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
58372         * modules/vprintf-posix-tests (Makefile.am): Likewise.
58373         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
58374         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
58375         * modules/xstrtoimax-tests (Makefile.am): Likewise.
58376         * modules/xstrtol-tests (Makefile.am): Likewise.
58377         * modules/xstrtoumax-tests (Makefile.am): Likewise.
58378         * modules/yesno-tests (Makefile.am): Likewise.
58379
58380 2007-10-03  Bruno Haible  <bruno@clisp.org>
58381
58382         * modules/trunc-tests: New file.
58383         * tests/test-trunc.c: New file.
58384
58385         * modules/trunc: New file.
58386         * lib/trunc.c: New file.
58387         * m4/trunc.m4: New file.
58388         * lib/math.in.h (trunc): New declaration.
58389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
58390         HAVE_DECL_TRUNC.
58391         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
58392         HAVE_DECL_TRUNC.
58393         * doc/functions/trunc.texi: Mention the 'trunc' module.
58394
58395 2007-10-03  Bruno Haible  <bruno@clisp.org>
58396
58397         * tests/test-fpending.c: New file, mostly copied
58398         from coreutils/lib/t-fpending.c.
58399         * modules/fpending-tests: New file.
58400
58401 2007-10-03  Bruno Haible  <bruno@clisp.org>
58402
58403         Port the stdio extensions to QNX (untested).
58404         * lib/fseterr.c (fseterr): Add support for QNX.
58405         * lib/fbufmode.c (fbufmode): Likewise.
58406         * lib/freadable.c (freadable): Likewise.
58407         * lib/fwritable.c (fwritable): Likewise.
58408         * lib/freading.c (freading): Likewise.
58409         * lib/fwriting.c (fwriting): Likewise.
58410         * lib/freadahead.c (freadahed): Likewise.
58411         * lib/fpurge.c (fpurge): Likewise.
58412         * lib/fseeko.c (rpl_fseeko): Likewise.
58413
58414 2007-10-03  Bruno Haible  <bruno@clisp.org>
58415             Jim Meyering  <jim@meyering.net>
58416             Eric Blake  <ebb9@byu.net>
58417
58418         * doc/relocatable.texi: Use @command instead of @program.
58419
58420 2007-10-02  Jim Meyering  <jim@meyering.net>
58421
58422         Perform one more "_.h" -> ".in.h" substitution.
58423         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
58424         instead of unistd_.h here, too.
58425
58426 2007-10-01  Bruno Haible  <bruno@clisp.org>
58427
58428         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
58429         Needed for the alloca-opt module.
58430
58431 2007-09-30  Bruno Haible  <bruno@clisp.org>
58432
58433         * lib/alloca.in.h: Renamed from lib/alloca_.h.
58434         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
58435         alloca_.h.
58436         * lib/argz.in.h: Renamed from lib/argz_.h.
58437         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
58438         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
58439         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
58440         byteswap_.h.
58441         * lib/dirent.in.h: Renamed from lib/dirent_.h.
58442         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
58443         dirent_.h.
58444         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
58445         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
58446         fcntl_.h.
58447         * lib/float.in.h: Renamed from lib/float_.h.
58448         * modules/float (Files, Makefile.am): Use float.in.h instead of
58449         float_.h.
58450         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
58451         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
58452         fnmatch_.h.
58453         * lib/getopt.in.h: Renamed from lib/getopt_.h.
58454         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
58455         getopt_.h.
58456         * lib/glob.in.h: Renamed from lib/glob_.h.
58457         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
58458         * lib/iconv.in.h: Renamed from lib/iconv_.h.
58459         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
58460         iconv_.h.
58461         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
58462         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
58463         inttypes_.h.
58464         * lib/locale.in.h: Renamed from lib/locale_.h.
58465         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
58466         locale_.h.
58467         * lib/math.in.h: Renamed from lib/math_.h.
58468         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
58469         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
58470         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
58471         of netinet_in_.h. Add dependency.
58472         * lib/poll.in.h: Renamed from lib/poll_.h.
58473         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
58474         * lib/search.in.h: Renamed from lib/search_.h.
58475         * modules/search (Files, Makefile.am): Use search.in.h instead of
58476         search_.h.
58477         * lib/signal.in.h: Renamed from lib/signal_.h.
58478         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
58479         _signal.h.
58480         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
58481         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
58482         stdbool_.h.
58483         * lib/stdint.in.h: Renamed from lib/stdint_.h.
58484         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
58485         stdint_.h.
58486         * lib/stdio.in.h: Renamed from lib/stdio_.h.
58487         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
58488         stdio_.h.
58489         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
58490         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
58491         stdlib_.h.
58492         * lib/string.in.h: Renamed from lib/string_.h.
58493         * modules/string (Files, Makefile.am): Use string.in.h instead of
58494         string_.h.
58495         * doc/gnulib-tool.texi (Initial import): Update.
58496         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
58497         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
58498         of sys_select_.h. Add dependency.
58499         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
58500         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
58501         of sys_socket_.h.
58502         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
58503         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
58504         sys_stat_.h.
58505         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
58506         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
58507         sys_time_.h.
58508         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
58509         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
58510         sysexits_.h.
58511         * lib/time.in.h: Renamed from lib/time_.h.
58512         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
58513         * lib/unistd.in.h: Renamed from lib/unistd_.h.
58514         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
58515         unistd_.h.
58516         * lib/wchar.in.h: Renamed from lib/wchar_.h.
58517         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
58518         wchar_.h.
58519         * lib/wctype.in.h: Renamed from lib/wctype_.h.
58520         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
58521         wctype_.h.
58522         * build-aux/bootstrap (slurp): Update.
58523         * lib/.cppi-disable: Update.
58524
58525 2007-09-30  Bruno Haible  <bruno@clisp.org>
58526
58527         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
58528         Needed on BeOS.
58529
58530 2007-09-30  Bruno Haible  <bruno@clisp.org>
58531
58532         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
58533
58534 2007-09-29  Bruno Haible  <bruno@clisp.org>
58535
58536         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
58537
58538 2007-09-29  Bruno Haible  <bruno@clisp.org>
58539
58540         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
58541         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
58542         * build-aux/install-reloc: Compile also areadlink.c.
58543         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
58544
58545 2007-09-29  Bruno Haible  <bruno@clisp.org>
58546
58547         * gnulib-tool (func_emit_initmacro_done): Indentation.
58548
58549 2007-09-29  Bruno Haible  <bruno@clisp.org>
58550
58551         * README: Add CVS checkout update instructions.
58552         Info from Bob Proulx <bob@proulx.com>.
58553
58554 2007-09-28  Eric Blake  <ebb9@byu.net>
58555
58556         Provide move-if-change.
58557         * build-aux/move-if-change: New file, based on best practice
58558         rather than any canonical upstream location.
58559
58560 2007-09-28  Jim Meyering  <jim@meyering.net>
58561
58562         Fix canonicalize loop-detection corner case.
58563         Do not attempt to stat the symlink values stored via seen_triple.
58564         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
58565         on linux-2.6.18, (but not 2.6.22).
58566         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
58567         triple_compare.  The former compares dev,ino,filename, while the latter
58568         would actually stat dirname(filename) when dev and ino were equal.
58569         * lib/hash-triple.c: Install <string.h>.
58570         (STREQ): Define.
58571         (triple_compare_ino_str): New function.
58572         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
58573
58574 2007-09-28  Eric Blake  <ebb9@byu.net>
58575
58576         Enforce that AC_REPLACE_FUNCS files exist.
58577         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
58578         override check for typos.
58579
58580         Fix test-closein on Solaris 10.
58581         * tests/test-closein.c (main): Don't assume stdin can be inherited
58582         closed on all systems.
58583         * tests/test-closein.sh: Likewise.
58584         Reported by Piotr Tarnowski.
58585
58586 2007-09-28  Jim Meyering  <jim@meyering.net>
58587
58588         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
58589
58590 2007-09-27  Jim Meyering  <jim@meyering.net>
58591
58592         canonicalize: Avoid a false-positive cycle failure.
58593         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
58594         Sort.  Remove cycle-check.
58595         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
58596         not cycle-check.h.
58597         (seen_triple): New function.
58598         (canonicalize_filename_mode): Use it instead of cycle-check.
58599         * tests/test-canonicalize.c: Add a test for this bug.
58600         * tests/test-canonicalize.sh: Set up and run the test.
58601
58602         New module, file-set, from coreutils.
58603         * modules/file-set: Define it.
58604         * lib/file-set.c, lib/file-set.h: Implement.
58605
58606         New module, hash-triple, from coreutils.
58607         * modules/hash-triple: Define it.
58608         * lib/hash-triple.c, lib/hash-triple.h: Implement.
58609
58610 2007-09-25  Eric Blake  <ebb9@byu.net>
58611
58612         Fix strerror on Interix.
58613         * lib/string_.h (strerror): Declare replacement.
58614         * doc/functions/strerror.texi (strerror): Document the Interix
58615         shortcoming.
58616         * modules/string (Makefile.am): Support new hooks.
58617         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
58618         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
58619         gl_FUNC_STRERROR_SEPARATE.
58620         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
58621         * lib/strerror.c (rpl_strerror): Provide replacement.
58622         * modules/strerror (Depends-on): Add string.
58623         (configure.ac): Detect use of module.
58624         * tests/test-strerror.c: New file.
58625         * modules/strerror-tests: New test module.
58626         * modules/argp (Depends-on): Add strerror.
58627         * modules/error (Depends-on): Likewise.
58628         Reported by Martin Koeppe.
58629
58630 2007-09-24  Bruno Haible  <bruno@clisp.org>
58631
58632         * README: Update git instructions.
58633
58634 2007-09-24  Eric Blake  <ebb9@byu.net>
58635
58636         Revert fpending breakage from 2007-09-08.
58637         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
58638         __fpending.c.
58639
58640 2007-09-24  Jim Meyering  <jim@meyering.net>
58641
58642         filenamecat.c: Add a test.
58643         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
58644         showing how the function works when DIR is the empty string.
58645
58646 2007-09-21  Simon Josefsson  <simon@josefsson.org>
58647
58648         * tests/test-canonicalize.sh: Turn on executable bit.
58649
58650 2007-09-19  Eric Blake  <ebb9@byu.net>
58651
58652         * README: Update CVS instructions.
58653
58654 2007-09-18  Bruno Haible  <bruno@clisp.org>
58655
58656         * modules/areadlink: New file.
58657         * lib/areadlink.h (areadlink): New declaration.
58658         * lib/areadlink.c: New file, based on lib/xreadlink.c.
58659
58660 2007-09-17  Jim Meyering  <jim@meyering.net>
58661
58662         * lib/savewd.c (ESTALE) [!defined]: Define.
58663         Reported to be required on Interix by Martin Koeppe.
58664
58665 2007-09-17  Bruno Haible  <bruno@clisp.org>
58666
58667         * gnulib-tool (func_version): Use $version.
58668
58669 2007-09-16  Bruno Haible  <bruno@clisp.org>
58670
58671         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
58672         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
58673         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
58674         Reported by Greg Schafer <gschafer@zip.com.au>.
58675
58676 2007-09-15  Bruno Haible  <bruno@clisp.org>
58677
58678         * gnulib-tool (sed): Try a little harder to make bash understand the
58679         alias.
58680         Reported by Bruce Korb <bruce.korb@gmail.com>.
58681
58682 2007-09-13  Eric Blake  <ebb9@byu.net>
58683
58684         * ChangeLog: Remove conflict markers.
58685
58686 2007-09-13  Simon Josefsson  <simon@josefsson.org>
58687
58688         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
58689         Reported by Bruno Haible <bruno@clisp.org>.
58690
58691 2007-09-12  Bruno Haible  <bruno@clisp.org>
58692
58693         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
58694         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
58695         is not defined.
58696
58697 2007-09-12  Eric Blake  <ebb9@byu.net>
58698
58699         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
58700         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
58701         Autoconf definition.
58702         * modules/euidaccess (Depends-on): Add extensions, for
58703         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
58704         * modules/fnmatch (Depends-on): Likewise.
58705         * modules/getaddrinfo (Depends-on): Likewise.
58706         * modules/getdelim (Depends-on): Likewise.
58707         * modules/getline (Depends-on): Likewise.
58708         * modules/getsubopt (Depends-on): Likewise.
58709         * modules/gettext (Depends-on): Likewise.
58710         * modules/group-member (Depends-on): Likewise.
58711         * modules/mbchar (Depends-on): Likewise.
58712         * modules/memmem (Depends-on): Likewise.
58713         * modules/mempcpy (Depends-on): Likewise.
58714         * modules/memrchr (Depends-on): Likewise.
58715         * modules/pagealign_alloc (Depends-on): Likewise.
58716         * modules/readutmp (Depends-on): Likewise.
58717         * modules/stpcpy (Depends-on): Likewise.
58718         * modules/stpncpy (Depends-on): Likewise.
58719         * modules/strchrnul (Depends-on): Likewise.
58720         * modules/strndup (Depends-on): Likewise.
58721         * modules/strsep (Depends-on): Likewise.
58722         * modules/strverscmp (Depends-on): Likewise.
58723         * modules/vasprintf (Depends-on): Likewise.
58724         * modules/wcwidth (Depends-on): Likewise.
58725         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
58726         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
58727         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
58728         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
58729         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
58730         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
58731         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
58732         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
58733         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
58734         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
58735         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58736         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
58737         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
58738         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
58739         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
58740         * m4/readutmp.m4 (gl_READUTMP): Likewise.
58741         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58742         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
58743         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
58744         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
58745         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
58746         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
58747         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
58748         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
58749         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
58750         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
58751         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
58752         so that lock.m4 can be used in gettext without extensions module.
58753
58754 2007-09-11  Bruno Haible  <bruno@clisp.org>
58755
58756         * m4/isc-posix.m4: Remove file.
58757         Suggested by Eric Blake.
58758
58759 2007-09-11  Eric Blake  <ebb9@byu.net>
58760
58761         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
58762
58763 2007-09-10  Bruno Haible  <bruno@clisp.org>
58764
58765         * posix-modules: Fix typo in error message.
58766         Reported by Matt <mkraai@beckman.com>.
58767
58768 2007-09-09  Bruno Haible  <bruno@clisp.org>
58769
58770         * doc/functions/getdelim.texi: Update list of platforms lacking the
58771         function.
58772         * doc/functions/getline.texi: Likewise.
58773
58774 2007-09-09  Jim Meyering  <jim@meyering.net>
58775
58776         * lib/hash.c (hash_initialize): Detect calloc failure.
58777         Reported by Bruno Haible.
58778
58779 2007-09-09  Bruno Haible  <bruno@clisp.org>
58780
58781         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
58782         malloc or realloc fails.
58783
58784 2007-09-09  Bruno Haible  <bruno@clisp.org>
58785
58786         * modules/getcwd (Depends-on): Add malloc-posix.
58787         * modules/glob (Depends-on): Likewise.
58788         * modules/putenv (Depends-on): Likewise.
58789         * modules/strdup (Depends-on): Likewise.
58790         * modules/getdelim (Depends-on): Add realloc-posix.
58791         * modules/read-file (Depends-on): Likewise.
58792
58793 2007-09-09  Bruno Haible  <bruno@clisp.org>
58794
58795         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
58796         (gl_FUNC_MALLOC_POSIX): Require it.
58797         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
58798         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
58799         * modules/realloc (Files): Add m4/malloc.m4.
58800         * modules/calloc (Files): Likewise.
58801
58802 2007-09-09  Bruno Haible  <bruno@clisp.org>
58803
58804         * modules/malloc-posix: New file.
58805         * modules/malloc (Depends-on): Add malloc-posix.
58806         * lib/malloc.c: Include errno.h.
58807         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
58808         and a POSIX-compatible malloc into a single function. Set ENOMEM
58809         when returning NULL.
58810         * m4/malloc.m4: New file.
58811         * doc/functions/malloc.texi: Mention the malloc-posix module.
58812         * lib/stdlib_.h (malloc): New declaration.
58813         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
58814         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
58815         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
58816         and HAVE_MALLOC_POSIX.
58817
58818 2007-09-09  Bruno Haible  <bruno@clisp.org>
58819
58820         * modules/realloc-posix: New file.
58821         * modules/realloc (Depends-on): Add realloc-posix.
58822         * lib/realloc.c: Include errno.h.
58823         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
58824         and a POSIX-compatible realloc into a single function. Set ENOMEM
58825         when returning NULL.
58826         * m4/realloc.m4: New file.
58827         * doc/functions/realloc.texi: Mention the realloc-posix module.
58828         * lib/stdlib_.h (realloc): New declaration.
58829         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
58830         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
58831         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
58832         and HAVE_REALLOC_POSIX.
58833
58834 2007-09-09  Bruno Haible  <bruno@clisp.org>
58835
58836         * modules/calloc-posix: New file.
58837         * modules/calloc (Depends-on): Add calloc-posix.
58838         * lib/calloc.c: Include errno.h.
58839         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
58840         and a POSIX-compatible calloc into a single function. Set ENOMEM
58841         when returning NULL.
58842         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
58843         * doc/functions/calloc.texi: Mention the calloc-posix module.
58844         * lib/stdlib_.h (calloc): New declaration.
58845         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
58846         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
58847         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
58848         and HAVE_CALLOC_POSIX.
58849
58850 2007-09-09  Bruno Haible  <bruno@clisp.org>
58851
58852         Allow for modules to show an arbitrary notice.
58853         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
58854         * gnulib-tool: New option --extract-notice.
58855         (func_usage): Document it.
58856         (sed_extract_prog): Update.
58857         (func_get_notice): New function.
58858         (func_modules_notice): New function.
58859         (func_import, func_create_testdir): Invoke it.
58860         Suggested by Jim Meyering.
58861
58862 2007-09-09  Bruno Haible  <bruno@clisp.org>
58863
58864         * gnulib-tool: New options --verbose, --quiet.
58865         (func_usage): Document them.
58866         (verbose): New variable.
58867         (func_execute_command): New function.
58868         (func_import): Don't show the module list and the file list if
58869         $verbose < 0.
58870         (func_create_testdir): Likewise. Use func_execute_command.
58871         (func_create_megatestdir): Use func_execute_command.
58872
58873 2007-09-08  Bruno Haible  <bruno@clisp.org>
58874
58875         * gnulib-tool (func_import): Prefer rsync over wget when available,
58876         for fetching the PO files.
58877
58878 2007-09-08  Bruno Haible  <bruno@clisp.org>
58879
58880         * posix-modules: New file. Portions copied from gnulib-tool.
58881         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
58882
58883 2007-09-08  Jim Meyering  <jim@meyering.net>
58884
58885         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
58886         * lib/fpending.h: Rename from __fpending.h.
58887         * lib/fpending.c: Rename from __fpending.c.
58888         Include "fpending.h", not "__fpending.h".
58889         * lib/__fpending.h, lib/__fpending.c: Remove files.
58890         * modules/fpending (Files): Reflect new file names.
58891         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
58892
58893 2007-09-08  Bruno Haible  <bruno@clisp.org>
58894
58895         * m4/inttypes-h.m4: Remove stub file.
58896
58897 2007-09-07  Simon Josefsson  <simon@josefsson.org>
58898
58899         * doc/headers/stdint.texi: Discuss #include_next issue.
58900
58901 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
58902
58903         * build-aux/bootstrap: Remove obsolete comment about wget --help.
58904
58905 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58906
58907         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
58908         in variable name.
58909
58910 2007-09-03  Jim Meyering  <jim@meyering.net>
58911
58912         New module: git-version-gen.
58913         * modules/git-version-gen: New file.
58914
58915         Import changes from coreutils for bootstrap script.
58916
58917         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
58918
58919         bootstrap: uses rsync to download the .po files
58920         * build-aux/bootstrap (po_download_command_format): New global.
58921         (download_po_files): Use rsync.
58922         (update_po_files): Don't remove .po files after download,
58923         so future rsync runs can take advantage of the copies.
58924
58925         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
58926
58927         Solve the unnecessary-.po-file-regeneration problem once and for all.
58928         * build-aux/bootstrap (download_po_files): New function, renamed from
58929         get_translations.  Now, downloads, but doesn't update LINGUAS.
58930         (update_po_files): New function.
58931
58932         bootstrap: Ignore more.
58933         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
58934         uniwidth to e.g., lib/.gitignore.
58935         (slurp): Handle the sys_stat_.h -> sys mapping, too.
58936
58937         * build-aux/bootstrap: New setting: vc_ignore.
58938         (insert_sorted_if_absent): Create $file if absent.
58939         Adapt to new, possibly empty, list: $vc_ignore.
58940
58941         bootstrap: generate more ignorable names
58942         * build-aux/bootstrap (slurp): When generating ignorable names,
58943         also map .sin to .sed, .gperf to .c, and .y to .c.
58944
58945 2007-09-03  Jim Meyering  <jim@meyering.net>
58946
58947         * build-aux/git-version-gen: New file, from coreutils.  For details, see
58948         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
58949
58950 2007-09-02  Bruno Haible  <bruno@clisp.org>
58951
58952         Fix mis-recognition of 'mcs' on QNX 6.
58953         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
58954         output contains the string "Mono".
58955         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
58956         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
58957
58958 2007-09-01  Bruno Haible  <bruno@clisp.org>
58959
58960         Fix collision between uniwidth/* and linebreak modules.
58961         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
58962         u32_width): Remove declarations.
58963         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
58964         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
58965         streq3, streq2, streq1, streq0): Remove functions.
58966         (STREQ): Remove macro.
58967         (is_cjk_encoding): Remove function.
58968         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
58969         (uc_width, u8_width, u16_width, u32_width): Remove functions.
58970         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
58971         * NEWS: Document the change.
58972
58973 2007-09-01  Bruno Haible  <bruno@clisp.org>
58974
58975         * lib/streq.h: Add double-inclusion guard.
58976
58977 2007-09-01  Karl Berry  <karl@gnu.org>
58978
58979         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
58980
58981 2007-08-28  Jim Meyering  <jim@meyering.net>
58982
58983         Rename mreadlink_with_size to areadlink_with_size.
58984         * NEWS: Document the change.
58985         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
58986         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
58987         * lib/mreadlink.h: Rename this to...
58988         * lib/areadlink.h: ...this.
58989         * modules/mreadlink-with-size: Rename this to...
58990         * modules/areadlink-with-size: ...this.
58991         * lib/canonicalize.c: Reflect the renaming.
58992         * modules/canonicalize: Likewise.
58993
58994 2007-08-26  Bruno Haible  <bruno@clisp.org>
58995
58996         * gnulib-tool (func_import): When deciding which files to remove,
58997         consider also dangling symbolic links.
58998         Reported by Eric Blake.
58999
59000 2007-08-26  Bruno Haible  <bruno@clisp.org>
59001
59002         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
59003
59004 2007-08-23  Simon Josefsson  <simon@josefsson.org>
59005
59006         * lib/readline.c: Don't include getline.h, the prototype is now
59007         found in stdio.h.
59008
59009 2007-08-23  Jim Meyering  <jim@meyering.net>
59010
59011         Getdelim touchup.
59012         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
59013         around the funlockfile call, since funlockfile never sets errno.
59014         Don't set errno upon failed realloc.
59015
59016 2007-08-22  Eric Blake  <ebb9@byu.net>
59017
59018         Getline touchups.
59019         * lib/getdelim.c (getdelim): Revert regression that required *n to
59020         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
59021         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
59022         getdelim, rather than whether implementation is missing.
59023         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
59024         * lib/stdio_.h (getline): Also declare if replacement is
59025         required.
59026         * doc/functions/getdelim.texi: New file.
59027         * doc/functions/getline.texi: Likewise.
59028         * doc/gnulib.texi (Function Substitutes): Add new files.
59029         Reported by Bruno Haible.
59030
59031 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
59032
59033         * users.txt: Add Guile.
59034
59035 2007-08-22  Eric Blake  <ebb9@byu.net>
59036
59037         * tests/test-getdelim.c (main): Use remove, not unlink.
59038         * tests/test-getline.c (main): Likewise.
59039
59040         Move getline and getdelim into stdio.h, per POSIX 200x.
59041         * modules/getline (Files): Remove getline.h.
59042         (Depends-on): Add stdio.
59043         (configure.ac): Add module indicator.
59044         * modules/getdelim (Files): Remove getdelim.h.
59045         (Depends-on): Add stdio.
59046         (configure.ac): Add module indicator.
59047         * modules/stdio (Makefile.am): Work with new indicators.
59048         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
59049         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
59050         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59051         * lib/getdelim.h: Delete.
59052         * lib/getline.h: Delete.
59053         * lib/stdio_.h (getdelim, getline): Declare.
59054         * modules/getdelim-tests: New module.
59055         * modules/getline-tests: Likewise.
59056         * tests/test-getdelim.c: New file.
59057         * tests/test-getline.c: Likewise.
59058         * NEWS: Document the change.
59059         * lib/getline.c: Update choice of header.
59060         * lib/csharpcomp.c: Likewise.
59061         * lib/getpass.c: Likewise.
59062         * lib/javacomp.c: Likewise.
59063         * lib/javaversion.c: Likewise.
59064         * lib/yesno.c: Likewise.
59065         * lib/getdelim.c: Likewise.
59066         (getdelim): Set errno on failure, and avoid memory leak.
59067
59068 2007-08-19  Bruno Haible  <bruno@clisp.org>
59069
59070         * modules/closein (Depends-on): Add freadahead.
59071         * lib/closein.c: Include freadahead.h.
59072         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
59073         is zero.
59074
59075 2007-08-19  Bruno Haible  <bruno@clisp.org>
59076
59077         * modules/freadahead-tests: New file.
59078         * tests/test-freadahead.sh: New file.
59079         * tests/test-freadahead.c: New file.
59080
59081         * modules/freadahead: New file.
59082         * lib/freadahead.h: New file.
59083         * lib/freadahead.c: New file.
59084         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
59085         fbufmode, fpurge, freadable, fwritable.
59086
59087 2007-08-19  Eric Blake  <ebb9@byu.net>
59088
59089         Test yesno in combination with closein.
59090         * lib/yesno.c (yesno): Document use of stdin.
59091         * modules/yesno-tests (Files): New module.
59092         * tests/test-yesno.c (main): New file.
59093         * tests/test-yesno.sh: Likewise.
59094
59095 2007-08-19  Bruno Haible  <bruno@clisp.org>
59096
59097         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
59098         * lib/fseeko.c (rpl_fseeko): Likewise.
59099         * lib/fseterr.c (fseterr): Likewise.
59100
59101 2007-08-19  Bruno Haible  <bruno@clisp.org>
59102
59103         * tests/test-lseek.c (main): Disable a test for BeOS.
59104         * doc/functions/lseek.texi: Document the BeOS bug.
59105
59106 2007-08-19  Bruno Haible  <bruno@clisp.org>
59107             Eric Blake  <ebb9@byu.net>
59108
59109         * lib/lseek.c: Include <sys/stat.h>.
59110         (rpl_lseek): Add workaround code also for Unix platforms.
59111         Needed for BeOS.
59112         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
59113         * doc/functions/lseek.texi: Document BeOS definiency.
59114
59115 2007-08-18  Bruno Haible  <bruno@clisp.org>
59116
59117         * modules/fstrcmp-tests: New file.
59118         * tests/test-fstrcmp.c: New file.
59119
59120 2007-08-18  Bruno Haible  <bruno@clisp.org>
59121
59122         * modules/fstrcmp: New file, from GNU gettext with modifications.
59123         * lib/fstrcmp.h: New file, from GNU gettext.
59124         * lib/fstrcmp.c: New file, from GNU gettext.
59125         * MODULES.html.sh (String handling): Add fstrcmp.
59126
59127 2007-08-18  Bruno Haible  <bruno@clisp.org>
59128
59129         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
59130         'bool'.
59131         (diag, compareseq): Remove const from the ctxt argument.
59132         (USE_HEURISTIC): Undefine at the end.
59133
59134 2007-08-18  Jim Meyering  <jim@meyering.net>
59135
59136         New file: lib/idcache.h
59137         * NEWS: Mention the addition.
59138         * modules/idcache (Files): Add lib/idcache.h
59139         * lib/idcache.c: Include "idcache.h".
59140         Don't include <sys/types.h>.
59141         Add a FIXME comment.
59142         Move file-scoped "static" declarations to the top.
59143         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
59144
59145 2007-08-17  Bruno Haible  <bruno@clisp.org>
59146         and Paul Eggert  <eggert@cs.ucla.edu>
59147
59148         * MODULES.html.sh: Add diffseq.
59149         * modules/diffseq: New file.
59150         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
59151         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
59152
59153 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59154
59155         Import changes from coreutils for bootstrap script.
59156
59157         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
59158
59159         * build-aux/bootstrap (slurp): Work even in environments where
59160         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
59161         current code does not slurp files whose names start with ".", and
59162         this looks like it might be a troublesome area.
59163
59164         2007-07-11  Jim Meyering  <jim@meyering.net>
59165
59166         If there's a GPL vN copyright comment, require that N == 3.
59167
59168         2007-07-08  Jim Meyering  <jim@meyering.net>
59169
59170         Run the coreutils-specific code only if tests/Makefile.am.in exists.
59171         * build-aux/bootstrap (mam_template): Move definition out of loop.
59172
59173         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
59174
59175         * build-aux/bootstrap (symlink_to_dir): Rename function from
59176         symlink_to_gnulib.  Add a directory parameter.  Update all
59177         callers.
59178         (cp_mark_as_generated): Also check for -- and link to -- files in
59179         gl/.
59180
59181         2007-07-08  Jim Meyering  <jim@meyering.net>
59182
59183         Adapt to deeper hierarchy in gnulib.
59184         * build-aux/bootstrap (symlink_to_dir): If the destination
59185         directory doesn't exist, create it. This is required at least for
59186         "lib/uniwidth/cjk.h".
59187
59188         2007-05-15  Jim Meyering  <jim@meyering.net>
59189
59190         * build-aux/bootstrap: Now that generated Makefile.am files
59191         are no longer under version control, they must be created at
59192         bootstrap time.
59193
59194 2007-08-14  Ben Pfaff  <blp@gnu.org>
59195
59196         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
59197
59198 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59199
59200         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
59201         given the changes below.
59202         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
59203         even on hosts that have padding bits beyond the supported 64.
59204
59205 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59206
59207         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
59208         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
59209         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
59210         depends on it.
59211         (xstrtol_error): Remove.
59212         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
59213         but with a different signature.
59214         (ATTRIBUTE_NORETURN, __attribute__): New macros.
59215         * lib/xstrtol-error.c: Include exitfail.h.
59216         (xstrtol_fatal): New function, with a different signature from the
59217         old xstrtol_error, so that the caller need not worry about passing
59218         in an exit status, or about storage management of the option argument.
59219         (xstrtol_error): Now a static function.  Redo signature to
59220         implement xstrtol_fatal.  Output the correct number of hyphens in
59221         front of the option so that the caller need not worry about
59222         storage management.
59223         (N_): New macro.
59224         (_): Remove; not used now.
59225         * modules/xstrtol: Depend on getopt.
59226         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
59227         of old STRTOL_FATAL_ERROR macro.
59228         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
59229         of test program.
59230         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
59231         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
59232
59233 2007-08-08  Eric Blake  <ebb9@byu.net>
59234
59235         * lib/xstrtol-error.c: Add missing include.
59236
59237         Move xstrtol messages into gnulib domain, when --pobase is used.
59238         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
59239         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
59240         * modules/xstrtol (Files): Distribute new file.
59241         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
59242         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
59243         * tests/test-xstrtol.c: ...into new file.
59244         * tests/test-xstrtoul.c: Also test xstrtoul.
59245         * tests/test-xstrtoimax.c: Also test xstrtoimax.
59246         * tests/test-xstrtoumax.c: Also test xstrtoumax.
59247         * tests/test-xstrtol.sh: Drive the tests.
59248         * tests/test-xstrtoimax.sh: Likewise.
59249         * tests/test-xstrtoumax.sh: Likewise.
59250         * modules/xstrtol-tests: New module.
59251         * modules/xstrtoimax-tests: Likewise.
59252         * modules/xstrtoumax-tests: Likewise.
59253
59254 2007-08-08  Jim Meyering  <jim@meyering.net>
59255
59256         New function: mfile_name_concat.
59257         * lib/filenamecat.c (mfile_name_concat): New function, just like
59258         file_name_concat, but return NULL upon failure rather than exiting
59259         with a diagnostic.
59260         * lib/filenamecat.h: Declare it.
59261
59262 2007-08-07  Bruno Haible  <bruno@clisp.org>
59263
59264         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
59265         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
59266         warning from gcc.
59267         Reported by Eric Blake.
59268
59269 2007-08-07  Simon Josefsson  <simon@josefsson.org>
59270
59271         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
59272         * modules/crypto/arcfour (License): Likewise.
59273         * modules/crypto/des-tests (License): Likewise.
59274         * modules/crypto/gc-arctwo-tests (License): Likewise.
59275         * modules/crypto/gc-des-tests (License): Likewise.
59276         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
59277         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
59278         * modules/crypto/gc-md2-tests (License): Likewise.
59279         * modules/crypto/gc-md4-tests (License): Likewise.
59280         * modules/crypto/gc-md5-tests (License): Likewise.
59281         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
59282         * modules/crypto/gc-rijndael-tests (License): Likewise.
59283         * modules/crypto/gc-sha1-tests (License): Likewise.
59284         * modules/crypto/gc-tests (License): Likewise.
59285         * modules/crypto/hmac-md5 (License): Likewise.
59286         * modules/crypto/hmac-sha1 (License): Likewise.
59287         * modules/crypto/md2-tests (License): Likewise.
59288         * modules/crypto/md4-tests (License): Likewise.
59289         * modules/crypto/md5 (License): Likewise.
59290         * modules/crypto/rijndael (License): Likewise.
59291         * modules/crypto/sha1 (License): Likewise.
59292         * modules/memxor (License): Likewise.
59293
59294 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
59295         and Bruno Haible  <bruno@clisp.org>
59296
59297         * NEWS: Describe interface changes to human, xstrtol.
59298         * lib/human.h: Include <xstrtol.h>.
59299         (human_options): Return enum strtol_error, not int.  Remove
59300         bool arg; take int * instead.
59301         * lib/human.c: Don't include "gettext.h".
59302         (_): Remove; no longer used.
59303         Don't include <xstrtol.h>, since human.h does it.
59304         (human_options): Adjust to abovementioned interface changes.
59305         Do not report error to stderr; that's now the caller's
59306         responsibility.
59307         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
59308         interface change.
59309         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
59310         Str, Argument_type_string.  All uses changed.  Put " argument"
59311         in diagnostics to make them clearer.  Change wording of suffix
59312         message for clarity.
59313         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
59314         Argument_type_string.
59315         (STRTOL_FATAL_WARN): Remove; no longer used.
59316         * modules/human (Depends-on): Remove gettext-h.
59317
59318 2007-08-06  Simon Josefsson  <simon@josefsson.org>
59319
59320         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
59321
59322 2007-07-31  Bruno Haible  <bruno@clisp.org>
59323
59324         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
59325         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
59326         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
59327
59328 2007-07-31  Bruno Haible  <bruno@clisp.org>
59329
59330         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
59331         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
59332
59333 2007-07-30  Bruno Haible  <bruno@clisp.org>
59334
59335         * modules/base64 (License): Use the synonymous term "LGPLv2+".
59336         * modules/c-ctype (License): Likewise.
59337         * modules/c-strcase (License): Likewise.
59338         * modules/check-version (License): Likewise.
59339         * modules/iconv (License): Likewise.
59340         * modules/iconv_open (License): Likewise.
59341         * modules/read-file (License): Likewise.
59342         * modules/striconv (License): Likewise.
59343         * modules/strverscmp (License): Likewise.
59344         * modules/vasprintf (License): Likewise.
59345         * modules/crypto/des (License): Likewise.
59346         * modules/crypto/gc (License): Likewise.
59347         * modules/crypto/gc-arcfour (License): Likewise.
59348         * modules/crypto/gc-arctwo (License): Likewise.
59349         * modules/crypto/gc-des (License): Likewise.
59350         * modules/crypto/gc-hmac-md5 (License): Likewise.
59351         * modules/crypto/gc-hmac-sha1 (License): Likewise.
59352         * modules/crypto/gc-md2 (License): Likewise.
59353         * modules/crypto/gc-md4 (License): Likewise.
59354         * modules/crypto/gc-md5 (License): Likewise.
59355         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
59356         * modules/crypto/gc-random (License): Likewise.
59357         * modules/crypto/gc-rijndael (License): Likewise.
59358         * modules/crypto/gc-sha1 (License): Likewise.
59359         * modules/crypto/md2 (License): Likewise.
59360         * modules/crypto/md4 (License): Likewise.
59361
59362 2007-07-30  Jim Meyering  <jim@meyering.net>
59363
59364         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
59365         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
59366         it has valid stat data.  This bug would cause du not to count the
59367         sizes of inaccessible directories.
59368         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
59369         in <http://bugzilla.redhat.com/250077>.
59370
59371 2007-07-25  Peter O'Gorman  <peter@pogma.com>
59372             Bruno Haible  <bruno@clisp.org>
59373
59374         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
59375         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
59376         #include_next, gives a diagnostic about it, but reports no error in
59377         the exit code.
59378         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
59379
59380 2007-07-24  Ben Pfaff  <blp@gnu.org>
59381
59382         Improve name: "count-one-bits" is better than "popcount".
59383         * MODULES.html.sh: Update name.
59384         * lib/popcount.h: Renamed lib/count-one-bits.h.
59385         (popcount): Renamed count_one_bits.
59386         (popcountl): Renamed count_one_bits_l.
59387         (popcountll): Renamed count_one_bits_ll.
59388         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
59389         * modules/popcount: Renamed module/count-one-bits.
59390         * modules/popcount-tests: Renamed module/count-one-bits-tests.
59391         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
59392
59393 2007-07-23  Ben Pfaff  <blp@gnu.org>
59394
59395         * lib/popcount.h (popcount32): Reduce size of constants, to allow
59396         better code generation, and add U to large constants to avoid
59397         warnings, in non-GCC case.
59398         Suggested by Bruno Haible.
59399
59400 2007-07-23  Ben Pfaff  <blp@gnu.org>
59401
59402         * lib/popcount.h: Use verify_true instead of if...abort.
59403         * modules/popcount: Depend on verify module.
59404         Suggested by Jim Meyering.
59405
59406 2007-07-23  Bruno Haible  <bruno@clisp.org>
59407
59408         * gnulib-tool (func_import): Create a .cvsignore file also when the
59409         directory is not yet in CVS but the toplevel directory is. When
59410         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
59411         Reported by Karl Berry.
59412
59413 2007-07-22  Ben Pfaff  <blp@gnu.org>
59414
59415         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
59416         case.
59417         Suggested by Eric Blake.
59418
59419 2007-07-22  Ben Pfaff  <blp@gnu.org>
59420
59421         New module: popcount.
59422         * MODULES.html.sh: Add popcount.
59423         * modules/popcount: New file.
59424         * modules/popcount-tests: New file.
59425         * tests/test-popcount.c: New file.
59426         * lib/popcount.h: New file.
59427         * m4/popcount.m4: New file.
59428
59429 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59430
59431         * build-aux/announce-gen: Update to GPLv3.
59432
59433         * build-aux/config.guess: Update from config.
59434
59435 2007-07-21  Bruno Haible  <bruno@clisp.org>
59436
59437         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
59438         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
59439
59440 2007-07-20  Jim Meyering  <jim@meyering.net>
59441
59442         * check-module: Diagnose a self-dependency.
59443
59444 2007-07-19  Bruno Haible  <bruno@clisp.org>
59445
59446         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
59447         empty.
59448         Reported by Eric Blake.
59449
59450 2007-07-18  Bruno Haible  <bruno@clisp.org>
59451
59452         * gnulib-tool: New options --po-base, --po-domain.
59453         (func_usage): Document them.
59454         (pobase, po_domain): New variables.
59455         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
59456         DEFAULT_TEXT_DOMAIN.
59457         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
59458         (func_import): Consider pobase and po_domain. Create a po/ directory.
59459         (func_create_testdir): Set pobase and po_domain to empty.
59460         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
59461         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
59462
59463 2007-07-18  Bruno Haible  <bruno@clisp.org>
59464
59465         * gnulib-tool (func_get_automake_snippet): Synthesize also an
59466         EXTRA_DIST augmentation for files in build-aux/.
59467
59468 2007-07-16  Bruno Haible  <bruno@clisp.org>
59469
59470         * modules/lseek (License): Use the synonymous term "LGPLv2+".
59471         * modules/getdelim (License): Likewise.
59472
59473 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59474
59475         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
59476         * modules/d-type (License): Likewise.
59477         * modules/extensions (License): Likewise.
59478         * modules/fnmatch (License): Likewise.
59479         * modules/fseeko (License): Likewise.
59480         * modules/getaddrinfo (License): Likewise.
59481         * modules/getline (License): Likewise.
59482         * modules/getlogin_r (License): Likewise.
59483         * modules/getpass (License): Likewise.
59484         * modules/gettimeofday (License): Likewise.
59485         * modules/glob (License): Likewise.
59486         * modules/inet_ntop (License): Likewise.
59487         * modules/malloc (License): Likewise.
59488         * modules/malloca (License): Likewise.
59489         * modules/memmem (License): Likewise.
59490         * modules/mempcpy (License): Likewise.
59491         * modules/memset (License): Likewise.
59492         * modules/minmax (License): Likewise.
59493         * modules/mktime (License): Likewise.
59494         * modules/netinet_in (License): Likewise.
59495         * modules/pathmax (License): Likewise.
59496         * modules/poll (License): Likewise.
59497         * modules/regex (License): Likewise.
59498         * modules/snprintf (License): Likewise.
59499         * modules/stdbool (License): Likewise.
59500         * modules/stdint (License): Likewise.
59501         * modules/stdio (License): Likewise.
59502         * modules/strcase (License): Likewise.
59503         * modules/strcasestr (License): Likewise.
59504         * modules/strdup (License): Likewise.
59505         * modules/string (License): Likewise.
59506         * modules/strndup (License): Likewise.
59507         * modules/strnlen (License): Likewise.
59508         * modules/strpbrk (License): Likewise.
59509         * modules/strptime (License): Likewise.
59510         * modules/strsep (License): Likewise.
59511         * modules/sys_select (License): Likewise.
59512         * modules/sys_socket (License): Likewise.
59513         * modules/sys_stat (License): Likewise.
59514         * modules/sys_time (License): Likewise.
59515         * modules/time (License): Likewise.
59516         * modules/time_r (License): Likewise.
59517         * modules/timegm (License): Likewise.
59518         * modules/unistd (License): Likewise.
59519         * modules/vsnprintf (License): Likewise.
59520         * modules/wctype (License): Likewise.
59521
59522 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59523
59524         * modules/argz (License): LGPLv2+.
59525
59526 2007-07-15  Karl Berry  <karl@gnu.org>
59527
59528         * doc/gnulib.texi: revise node structure per new fdl.texi.
59529
59530 2007-07-14  Bruno Haible  <bruno@clisp.org>
59531
59532         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
59533         the output file.
59534         * lib/uniname/uninames.h: Regenerated.
59535
59536 2007-07-14  Karl Berry  <karl@gnu.org>
59537
59538         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
59539         omitting sectioning and index commands.
59540
59541 2007-07-13  Bruno Haible  <bruno@clisp.org>
59542
59543         New gnulib-tool option --more-symlinks.
59544         * gnulib-tool (func_usage): Document --more-symlinks.
59545         (do_copyrights): New variable.
59546         Recognize option --more-symlinks.
59547         (func_import): Don't add a copyright notice transform to
59548         sed_transform_lib_file if do_copyrights is empty.
59549
59550 2007-07-13  Bruno Haible  <bruno@clisp.org>
59551
59552         * lib/vasnprintf.c (decimal_point_char): Define also if
59553         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
59554         && !NEED_PRINTF_DIRECTIVE_A.
59555         Reported by Clemens Koller <clemens.koller@anagramm.de> via
59556         Gary V. Vaughan <gary@gnu.org>.
59557
59558 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
59559
59560         * lib/inttypes_.h: Undo previous change, since it was fixed
59561         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
59562
59563 2007-07-13  Bruno Haible  <bruno@clisp.org>
59564
59565         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
59566         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
59567
59568 2007-07-13  Jim Meyering  <jim@meyering.net>
59569
59570         df: Don't fail for Tru64's "file-on-file mount".
59571         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
59572         so we fall through and use statfs instead.  Details here:
59573         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
59574         Reported by Albert Chin.
59575
59576 2007-07-13  Bruno Haible  <bruno@clisp.org>
59577
59578         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
59579         * modules/configmake (License): Likewise.
59580         * modules/gettext (License): Likewise.
59581         * modules/gettext-h (License): Likewise.
59582         * modules/include_next (License): Likewise.
59583         * modules/link-warning (License): Likewise.
59584         * modules/localcharset (License): Likewise.
59585         * modules/localename (License): Likewise.
59586         * modules/lock (License): Likewise.
59587         * modules/relocatable-lib-lgpl (License): Likewise.
59588         * modules/size_max (License): Likewise.
59589         * modules/vasnprintf (License): Likewise.
59590         * modules/wchar (License): Likewise.
59591         * modules/xsize (License): Likewise.
59592
59593 2007-07-13  Bruno Haible  <bruno@clisp.org>
59594
59595         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
59596         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
59597
59598 2007-07-12  Bruno Haible  <bruno@clisp.org>
59599
59600         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
59601         in the modules files.
59602
59603 2007-07-11  Karl Berry  <karl@gnu.org>
59604
59605         * MODULES.html.sh (func_module): use
59606          sed -e '\|^'"${includefile}"'$|d'
59607          instead of /.../d, to avoid errors on $includefile's containing /.
59608
59609 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59610
59611         * gnulib-tool (func_import): Avoid duplication of --avoid
59612         statements
59613         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
59614         names to `_' in variable names.
59615
59616 2007-07-10  Eric Blake  <ebb9@byu.net>
59617
59618         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
59619         * NEWS: Document this change.
59620
59621 2007-07-08  Bruno Haible  <bruno@clisp.org>
59622
59623         Update to Unicode 5.0.
59624         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
59625         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
59626         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
59627         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
59628         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
59629         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
59630         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
59631         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
59632         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
59633         U+10A3F, U+1D242..U+1D244.
59634         (nonspacing_table_ind): Update.
59635         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
59636         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
59637
59638 2007-07-08  Bruno Haible  <bruno@clisp.org>
59639
59640         Update to Unicode 5.0.
59641         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
59642         code transform. Extend the name index field of unicode_name_to_code and
59643         unicode_code_to_name from 16 to 24 bits.
59644         * lib/uniname/uniname.c (unicode_character_name,
59645         unicode_name_character): Add the range 0x12xxx to the code transform.
59646         * lib/uniname/uninames.h: Regenerated.
59647         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
59648
59649 2007-07-07  Bruno Haible  <bruno@clisp.org>
59650
59651         * modules/wcwidth-tests: New file.
59652         * tests/test-wcwidth.c: New file.
59653
59654         Work around MacOS X wcwidth() bug.
59655         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
59656         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
59657         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
59658         original wcwidth in non-UTF-8 locales.
59659         * modules/wcwidth (Depends-on): Add localcharset, streq,
59660         uniwidth/width.
59661         * doc/functions/wcwidth.texi: Update.
59662
59663 2007-07-07  Bruno Haible  <bruno@clisp.org>
59664
59665         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
59666         (wcwidth): New declaration.
59667         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
59668         macros.
59669         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
59670         here. Prepare for creating <wchar.h> unconditionally.
59671         * modules/wchar (Depends-on): Add link-warning.
59672         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
59673         REPLACE_WCWIDTH, and GL_LINK_WARNING.
59674         * lib/wcwidth.h: Remove file.
59675         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
59676         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
59677         * modules/wcwidth (Files): Remove lib/wcwidth.h.
59678         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
59679         (Include): Replace wcwidth.h with <wchar.h>.
59680         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
59681         * lib/mbchar.h: Don't include wcwidth.h.
59682         * lib/mbswidth.c: Likewise.
59683         * NEWS: Mention the change.
59684
59685 2007-07-07  Bruno Haible  <bruno@clisp.org>
59686
59687         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
59688         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
59689         definition with an external declaration.
59690         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
59691         defined as a function. Remove AC_C_INLINE requirement.
59692         * modules/wcwidth (Files): Add lib/wcwidth.c.
59693         (Makefile.am): Remove redundant statement.
59694
59695 2007-07-07  Bruno Haible  <bruno@clisp.org>
59696
59697         * MODULES.html.sh (Unicode string functions): Add the new modules.
59698
59699         * tests/uniwidth/test-u32-strwidth.c: New file.
59700         * modules/uniwidth/u32-strwidth-tests: New file.
59701
59702         * lib/uniwidth/u32-strwidth.c: New file.
59703         * modules/uniwidth/u32-strwidth: New file.
59704
59705         * tests/uniwidth/test-u16-strwidth.c: New file.
59706         * modules/uniwidth/u16-strwidth-tests: New file.
59707
59708         * lib/uniwidth/u16-strwidth.c: New file.
59709         * modules/uniwidth/u16-strwidth: New file.
59710
59711         * tests/uniwidth/test-u8-strwidth.c: New file.
59712         * modules/uniwidth/u8-strwidth-tests: New file.
59713
59714         * lib/uniwidth/u8-strwidth.c: New file.
59715         * modules/uniwidth/u8-strwidth: New file.
59716
59717         * tests/uniwidth/test-u32-width.c: New file.
59718         * modules/uniwidth/u32-width-tests: New file.
59719
59720         * lib/uniwidth/u32-width.c: New file.
59721         * modules/uniwidth/u32-width: New file.
59722
59723         * tests/uniwidth/test-u16-width.c: New file.
59724         * modules/uniwidth/u16-width-tests: New file.
59725
59726         * lib/uniwidth/u16-width.c: New file.
59727         * modules/uniwidth/u16-width: New file.
59728
59729         * tests/uniwidth/test-u8-width.c: New file.
59730         * modules/uniwidth/u8-width-tests: New file.
59731
59732         * lib/uniwidth/u8-width.c: New file.
59733         * modules/uniwidth/u8-width: New file.
59734
59735         * tests/uniwidth/test-uc_width.c: New file.
59736         * modules/uniwidth/width-tests: New file.
59737
59738         * lib/uniwidth/width.c: New file, from GNU libiconv.
59739         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
59740         * modules/uniwidth/width: New file.
59741
59742         * lib/uniwidth.h: New file, from GNU libiconv.
59743         * modules/uniwidth/base: New file.
59744
59745 2007-07-07  Bruno Haible  <bruno@clisp.org>
59746
59747         * lib/uniname.h: New file, from GNU gettext.
59748         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
59749         * lib/uniname/uninames.h: New file, from GNU gettext.
59750         * lib/uniname/uniname.c: New file, from GNU gettext.
59751         * tests/uniname/test-uninames.sh: New file.
59752         * tests/uniname/test-uninames.c: New file, from GNU gettext.
59753         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
59754         * modules/uniname/base: New file.
59755         * modules/uniname/uniname: New file.
59756         * modules/uniname/uniname-tests: New file.
59757         * MODULES.html.sh (Unicode string functions): Add the new modules.
59758
59759 2007-07-06  Bruno Haible  <bruno@clisp.org>
59760
59761         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
59762
59763 2007-07-06  Bruno Haible  <bruno@clisp.org>
59764
59765         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
59766         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
59767         includes <cygwin/sys_time.h> which includes <sys/select.h> which
59768         include <sys/time.h>.
59769         Reported by Eric Blake.
59770
59771 2007-07-06  Eric Blake  <ebb9@byu.net>
59772
59773         Fix testing canonicalize on cygwin.
59774         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
59775         Revert patch from 2007-06-19.
59776         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
59777         canonicalize module is also in use.
59778         * tests/test-canonicalize.c: New file.
59779         * tests/test-canonicalize.sh: Likewise.
59780         * modules/canonicalize-tests: Likewise.
59781
59782 2007-07-06  Jim Meyering  <jim@meyering.net>
59783
59784         * lib/getugroups.c (getugroups): Detect getgrent failure.
59785         Adjust comment to reflect reality: this function may return -1.
59786
59787 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
59788
59789         * build-aux/bootstrap (TP_URL,get_translations): Update to use
59790         the new TP address.
59791         (usage): Fix typo
59792         (gnulib_mk): New variable.
59793
59794 2007-07-05  Jim Meyering  <jim@meyering.net>
59795
59796         Don't let endgrent clobber errno, no matter how improbable.
59797         * lib/getugroups.c (getugroups): Save and restore errno around
59798         endgrent call.
59799
59800         Close the group DB even when failing with 2^31 or more members.
59801         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
59802
59803 2007-07-04  Jim Meyering  <jim@meyering.net>
59804
59805         * lib/getugroups.h: New file.
59806         * lib/getugroups.c: Include "getugroups.h".
59807         Remove uses of "register" keyword.
59808         Move local variable, "cp", down into scope where used.
59809         Give "username" parameter the "const" attribute.
59810         * modules/getugroups (Files): Add lib/getugroups.h
59811
59812 2007-07-04  Karl Berry  <karl@gnu.org>
59813
59814         * MODULES.html.sh (func_all_modules): Complete rename of
59815         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
59816
59817 2007-07-02  Bruno Haible  <bruno@clisp.org>
59818
59819         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
59820         mode, when inttypes.h comes from gnulib.
59821         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
59822
59823 2007-07-02  Simon Josefsson  <simon@josefsson.org>
59824
59825         * NEWS: Mention lgpl module name change.
59826
59827         * modules/lgpl-2.1: Renamed from lgpl.
59828
59829         * NEWS: Mention gpl module name change.
59830
59831         * modules/gpl-3.0: New file, based on gpl-2.0.
59832
59833         * modules/gpl-2.0: Renamed from gpl.
59834
59835         * modules/gpl: Fix filename, doc/gpl.texi is now found at
59836         doc/gpl-2.0.texi.
59837
59838 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
59839
59840         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
59841         #define __STDC_LIMIT_MACROS temporarily while including
59842         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
59843         Problem reported by Joel E. Denny in
59844         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
59845
59846 2007-07-01  Bruno Haible  <bruno@clisp.org>
59847
59848         * lib/unistdio.h: New file.
59849         * lib/unistdio/u-asnprintf.h: New file.
59850         * lib/unistdio/u-asprintf.h: New file.
59851         * lib/unistdio/u-printf-args.c: New file.
59852         * lib/unistdio/u-printf-args.h: New file.
59853         * lib/unistdio/u-printf-parse.h: New file.
59854         * lib/unistdio/u-snprintf.h: New file.
59855         * lib/unistdio/u-sprintf.h: New file.
59856         * lib/unistdio/u-vasprintf.h: New file.
59857         * lib/unistdio/u-vsnprintf.h: New file.
59858         * lib/unistdio/u-vsprintf.h: New file.
59859         * lib/unistdio/ulc-asnprintf.c: New file.
59860         * lib/unistdio/ulc-asprintf.c: New file.
59861         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
59862         * lib/unistdio/ulc-printf-parse.c: New file.
59863         * lib/unistdio/ulc-snprintf.c: New file.
59864         * lib/unistdio/ulc-sprintf.c: New file.
59865         * lib/unistdio/ulc-vasnprintf.c: New file.
59866         * lib/unistdio/ulc-vasprintf.c: New file.
59867         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
59868         * lib/unistdio/ulc-vsnprintf.c: New file.
59869         * lib/unistdio/ulc-vsprintf.c: New file.
59870         * lib/unistdio/u8-asnprintf.c: New file.
59871         * lib/unistdio/u8-asprintf.c: New file.
59872         * lib/unistdio/u8-printf-parse.c: New file.
59873         * lib/unistdio/u8-snprintf.c: New file.
59874         * lib/unistdio/u8-sprintf.c: New file.
59875         * lib/unistdio/u8-vasnprintf.c: New file.
59876         * lib/unistdio/u8-vasprintf.c: New file.
59877         * lib/unistdio/u8-vsnprintf.c: New file.
59878         * lib/unistdio/u8-vsprintf.c: New file.
59879         * lib/unistdio/u8-u8-asnprintf.c: New file.
59880         * lib/unistdio/u8-u8-asprintf.c: New file.
59881         * lib/unistdio/u8-u8-snprintf.c: New file.
59882         * lib/unistdio/u8-u8-sprintf.c: New file.
59883         * lib/unistdio/u8-u8-vasnprintf.c: New file.
59884         * lib/unistdio/u8-u8-vasprintf.c: New file.
59885         * lib/unistdio/u8-u8-vsnprintf.c: New file.
59886         * lib/unistdio/u8-u8-vsprintf.c: New file.
59887         * lib/unistdio/u16-asnprintf.c: New file.
59888         * lib/unistdio/u16-asprintf.c: New file.
59889         * lib/unistdio/u16-printf-parse.c: New file.
59890         * lib/unistdio/u16-snprintf.c: New file.
59891         * lib/unistdio/u16-sprintf.c: New file.
59892         * lib/unistdio/u16-vasnprintf.c: New file.
59893         * lib/unistdio/u16-vasprintf.c: New file.
59894         * lib/unistdio/u16-vsnprintf.c: New file.
59895         * lib/unistdio/u16-vsprintf.c: New file.
59896         * lib/unistdio/u16-u16-asnprintf.c: New file.
59897         * lib/unistdio/u16-u16-asprintf.c: New file.
59898         * lib/unistdio/u16-u16-snprintf.c: New file.
59899         * lib/unistdio/u16-u16-sprintf.c: New file.
59900         * lib/unistdio/u16-u16-vasnprintf.c: New file.
59901         * lib/unistdio/u16-u16-vasprintf.c: New file.
59902         * lib/unistdio/u16-u16-vsnprintf.c: New file.
59903         * lib/unistdio/u16-u16-vsprintf.c: New file.
59904         * lib/unistdio/u32-asnprintf.c: New file.
59905         * lib/unistdio/u32-asprintf.c: New file.
59906         * lib/unistdio/u32-printf-parse.c: New file.
59907         * lib/unistdio/u32-snprintf.c: New file.
59908         * lib/unistdio/u32-sprintf.c: New file.
59909         * lib/unistdio/u32-vasnprintf.c: New file.
59910         * lib/unistdio/u32-vasprintf.c: New file.
59911         * lib/unistdio/u32-vsnprintf.c: New file.
59912         * lib/unistdio/u32-vsprintf.c: New file.
59913         * lib/unistdio/u32-u32-asnprintf.c: New file.
59914         * lib/unistdio/u32-u32-asprintf.c: New file.
59915         * lib/unistdio/u32-u32-snprintf.c: New file.
59916         * lib/unistdio/u32-u32-sprintf.c: New file.
59917         * lib/unistdio/u32-u32-vasnprintf.c: New file.
59918         * lib/unistdio/u32-u32-vasprintf.c: New file.
59919         * lib/unistdio/u32-u32-vsnprintf.c: New file.
59920         * lib/unistdio/u32-u32-vsprintf.c: New file.
59921         * tests/unistdio/test-ulc-asnprintf1.c: New file.
59922         * tests/unistdio/test-ulc-asnprintf1.h: New file.
59923         * tests/unistdio/test-ulc-printf1.h: New file.
59924         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
59925         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
59926         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
59927         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
59928         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
59929         * tests/unistdio/test-ulc-vasprintf1.c: New file.
59930         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
59931         * tests/unistdio/test-ulc-vsprintf1.c: New file.
59932         * tests/unistdio/test-u8-asnprintf1.c: New file.
59933         * tests/unistdio/test-u8-asnprintf1.h: New file.
59934         * tests/unistdio/test-u8-printf1.h: New file.
59935         * tests/unistdio/test-u8-vasnprintf1.c: New file.
59936         * tests/unistdio/test-u8-vasnprintf2.c: New file.
59937         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
59938         * tests/unistdio/test-u8-vasnprintf3.c: New file.
59939         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
59940         * tests/unistdio/test-u8-vasprintf1.c: New file.
59941         * tests/unistdio/test-u8-vsnprintf1.c: New file.
59942         * tests/unistdio/test-u8-vsprintf1.c: New file.
59943         * tests/unistdio/test-u16-asnprintf1.c: New file.
59944         * tests/unistdio/test-u16-asnprintf1.h: New file.
59945         * tests/unistdio/test-u16-printf1.h: New file.
59946         * tests/unistdio/test-u16-vasnprintf1.c: New file.
59947         * tests/unistdio/test-u16-vasnprintf2.c: New file.
59948         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
59949         * tests/unistdio/test-u16-vasnprintf3.c: New file.
59950         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
59951         * tests/unistdio/test-u16-vasprintf1.c: New file.
59952         * tests/unistdio/test-u16-vsnprintf1.c: New file.
59953         * tests/unistdio/test-u16-vsprintf1.c: New file.
59954         * tests/unistdio/test-u32-asnprintf1.c: New file.
59955         * tests/unistdio/test-u32-asnprintf1.h: New file.
59956         * tests/unistdio/test-u32-printf1.h: New file.
59957         * tests/unistdio/test-u32-vasnprintf1.c: New file.
59958         * tests/unistdio/test-u32-vasnprintf2.c: New file.
59959         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
59960         * tests/unistdio/test-u32-vasnprintf3.c: New file.
59961         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
59962         * tests/unistdio/test-u32-vasprintf1.c: New file.
59963         * tests/unistdio/test-u32-vsnprintf1.c: New file.
59964         * tests/unistdio/test-u32-vsprintf1.c: New file.
59965         * modules/unistdio/base: New file.
59966         * modules/unistdio/u-printf-args: New file.
59967         * modules/unistdio/ulc-asnprintf: New file.
59968         * modules/unistdio/ulc-asprintf: New file.
59969         * modules/unistdio/ulc-fprintf: New file.
59970         * modules/unistdio/ulc-printf-parse: New file.
59971         * modules/unistdio/ulc-snprintf: New file.
59972         * modules/unistdio/ulc-sprintf: New file.
59973         * modules/unistdio/ulc-vasnprintf: New file.
59974         * modules/unistdio/ulc-vasprintf: New file.
59975         * modules/unistdio/ulc-vfprintf: New file.
59976         * modules/unistdio/ulc-vsnprintf: New file.
59977         * modules/unistdio/ulc-vsprintf: New file.
59978         * modules/unistdio/u8-asnprintf: New file.
59979         * modules/unistdio/u8-asprintf: New file.
59980         * modules/unistdio/u8-printf-parse: New file.
59981         * modules/unistdio/u8-snprintf: New file.
59982         * modules/unistdio/u8-sprintf: New file.
59983         * modules/unistdio/u8-vasnprintf: New file.
59984         * modules/unistdio/u8-vasprintf: New file.
59985         * modules/unistdio/u8-vsnprintf: New file.
59986         * modules/unistdio/u8-vsprintf: New file.
59987         * modules/unistdio/u8-u8-asnprintf: New file.
59988         * modules/unistdio/u8-u8-asprintf: New file.
59989         * modules/unistdio/u8-u8-snprintf: New file.
59990         * modules/unistdio/u8-u8-sprintf: New file.
59991         * modules/unistdio/u8-u8-vasnprintf: New file.
59992         * modules/unistdio/u8-u8-vasprintf: New file.
59993         * modules/unistdio/u8-u8-vsnprintf: New file.
59994         * modules/unistdio/u8-u8-vsprintf: New file.
59995         * modules/unistdio/u16-asnprintf: New file.
59996         * modules/unistdio/u16-asprintf: New file.
59997         * modules/unistdio/u16-printf-parse: New file.
59998         * modules/unistdio/u16-snprintf: New file.
59999         * modules/unistdio/u16-sprintf: New file.
60000         * modules/unistdio/u16-vasnprintf: New file.
60001         * modules/unistdio/u16-vasprintf: New file.
60002         * modules/unistdio/u16-vsnprintf: New file.
60003         * modules/unistdio/u16-vsprintf: New file.
60004         * modules/unistdio/u16-u16-asnprintf: New file.
60005         * modules/unistdio/u16-u16-asprintf: New file.
60006         * modules/unistdio/u16-u16-snprintf: New file.
60007         * modules/unistdio/u16-u16-sprintf: New file.
60008         * modules/unistdio/u16-u16-vasnprintf: New file.
60009         * modules/unistdio/u16-u16-vasprintf: New file.
60010         * modules/unistdio/u16-u16-vsnprintf: New file.
60011         * modules/unistdio/u16-u16-vsprintf: New file.
60012         * modules/unistdio/u32-asnprintf: New file.
60013         * modules/unistdio/u32-asprintf: New file.
60014         * modules/unistdio/u32-printf-parse: New file.
60015         * modules/unistdio/u32-snprintf: New file.
60016         * modules/unistdio/u32-sprintf: New file.
60017         * modules/unistdio/u32-vasnprintf: New file.
60018         * modules/unistdio/u32-vasprintf: New file.
60019         * modules/unistdio/u32-vsnprintf: New file.
60020         * modules/unistdio/u32-vsprintf: New file.
60021         * modules/unistdio/u32-u32-asnprintf: New file.
60022         * modules/unistdio/u32-u32-asprintf: New file.
60023         * modules/unistdio/u32-u32-snprintf: New file.
60024         * modules/unistdio/u32-u32-sprintf: New file.
60025         * modules/unistdio/u32-u32-vasnprintf: New file.
60026         * modules/unistdio/u32-u32-vasprintf: New file.
60027         * modules/unistdio/u32-u32-vsnprintf: New file.
60028         * modules/unistdio/u32-u32-vsprintf: New file.
60029         * modules/unistdio/ulc-asnprintf-tests: New file.
60030         * modules/unistdio/ulc-vasnprintf-tests: New file.
60031         * modules/unistdio/ulc-vasprintf-tests: New file.
60032         * modules/unistdio/ulc-vsnprintf-tests: New file.
60033         * modules/unistdio/ulc-vsprintf-tests: New file.
60034         * modules/unistdio/u8-asnprintf-tests: New file.
60035         * modules/unistdio/u8-vasnprintf-tests: New file.
60036         * modules/unistdio/u8-vasprintf-tests: New file.
60037         * modules/unistdio/u8-vsnprintf-tests: New file.
60038         * modules/unistdio/u8-vsprintf-tests: New file.
60039         * modules/unistdio/u16-asnprintf-tests: New file.
60040         * modules/unistdio/u16-vasnprintf-tests: New file.
60041         * modules/unistdio/u16-vasprintf-tests: New file.
60042         * modules/unistdio/u16-vsnprintf-tests: New file.
60043         * modules/unistdio/u16-vsprintf-tests: New file.
60044         * modules/unistdio/u32-asnprintf-tests: New file.
60045         * modules/unistdio/u32-vasnprintf-tests: New file.
60046         * modules/unistdio/u32-vasprintf-tests: New file.
60047         * modules/unistdio/u32-vsnprintf-tests: New file.
60048         * modules/unistdio/u32-vsprintf-tests: New file.
60049         * MODULES.html.sh (Unicode string functions): Add the new modules.
60050
60051 2007-07-01  Bruno Haible  <bruno@clisp.org>
60052
60053         * lib/sprintf.c (sprintf): Limit the available length estimation,
60054         to avoid address wraparound.
60055         * lib/vsprintf.c (vsprintf): Likewise.
60056         * modules/sprintf-posix (Dependencies): Add stdint.
60057         * modules/vsprintf-posix (Dependencies): Likewise.
60058
60059 2007-07-01  Bruno Haible  <bruno@clisp.org>
60060
60061         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
60062         Windows PATH as well. Conservative double-quoting. Comments.
60063
60064 2007-07-01  Bruno Haible  <bruno@clisp.org>
60065             Eric Blake  <ebb9@byu.net>
60066             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60067
60068         * gnulib-tool (self_abspathname): Fix algorithm to cope with
60069         empty components in $PATH, denoting '.'.
60070
60071 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60072
60073         * gnulib-tool: Fix indentation.
60074         (func_create_megatestdir): Likewise.
60075         Report by Bruno Haible.
60076
60077 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60078
60079         Sync from Automake.
60080         * build-aux/gnupload: Fix shell portability issues with for loops.
60081         Report by Karl Berry.
60082
60083 2007-06-29  Simon Josefsson  <simon@josefsson.org>
60084
60085         * build-aux/maint.mk (POURL): Use translationproject.org.
60086
60087 2007-06-27  Simon Josefsson  <simon@josefsson.org>
60088             Bruno Haible  <bruno@clisp.org>
60089
60090         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
60091         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
60092         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
60093         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
60094         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
60095
60096 2007-06-27  Bruno Haible  <bruno@clisp.org>
60097
60098         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
60099         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
60100
60101 2007-06-26  Karl Berry  <karl@gnu.org>
60102
60103         * MODULES.html.sh: remove xreadlink-with-size.
60104
60105 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
60106
60107         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
60108         method that I hope also handles the double-include problem noted
60109         by Bruno Haible in
60110         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
60111
60112 2007-06-23  Bruno Haible  <bruno@clisp.org>
60113
60114         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60115         Don't let the 'mostlyclean' target fail if the last subdirectory could
60116         not be removed.
60117         Reported by Karl Berry.
60118
60119 2007-06-23  Bruno Haible  <bruno@clisp.org>
60120
60121         * gnulib-tool (echo): Add a speedier workaround for ksh.
60122         * tests/test-echo.sh: Likewise.
60123
60124 2007-06-23  Bruno Haible  <bruno@clisp.org>
60125
60126         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
60127         * tests/test-echo.sh: Likewise.
60128
60129 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60130
60131         * gnulib-tool (IFS): Initialize early, so we don't set it to
60132         empty later.
60133         (self_abspathname): Rewrite algorithm to set it, reindent.
60134         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
60135         (func_create_megatestdir): Merge some sed scripts.
60136
60137 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
60138
60139         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
60140         exposed by Sun Studio 11 cc on Solaris 8.
60141
60142 2007-06-22  Bruno Haible  <bruno@clisp.org>
60143
60144         * gnulib-tool (echo): Ensure the echo primitive does not interpret
60145         backslashes.
60146         * tests/test-echo.sh: New file.
60147
60148 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60149
60150         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
60151         simplify `sed_replace_build_aux' scripts, they are portable but
60152         echoing them with `echo' is not.
60153         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
60154
60155 2007-06-21  Karl Berry  <karl@gnu.org>
60156
60157         * config/srclist.txt: guess we can't handle the licenses via
60158         srclist at the moment.
60159
60160 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60161
60162         * MODULES.html.sh: Add include_next.
60163         * modules/include_next: New file.
60164
60165 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
60166
60167         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
60168         INCLUDE_NEXT.
60169         (gl_CHECK_NEXT_HEADERS): New macro.
60170         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
60171         the obsolescent gl_ABSOLUTE_HEADER.
60172         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
60173         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
60174         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60175         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60176         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
60177         * m4/math_h.m4 (gl_MATH_H): Likewise.
60178         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60179         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
60180         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
60181         * m4/stdint.m4 (gl_STDINT_H): Likewise.
60182         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
60183         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
60184         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
60185         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60186         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60187         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
60188         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
60189         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
60190         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
60191         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
60192         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60193         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
60194         * m4/inttypes.m4 (gl_INTTYPES_H): Define
60195         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
60196         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
60197         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
60198         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
60199         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
60200         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
60201         * lib/float_.h: Likewise.
60202         * lib/inttypes_.h: Likewise.
60203         * lib/math_.h: Likewise.
60204         * lib/search_.h: Likewise.
60205         * lib/signal_.h: Likewise.
60206         * lib/stdint_.h: Likewise.
60207         * lib/stdio_.h: Likewise.
60208         * lib/stdlib_.h: Likewise.
60209         * lib/string_.h: Likewise.
60210         * lib/sys_stat_.h: Likewise.
60211         * lib/sys_time_.h: Likewise.
60212         * lib/time_.h: Likewise.
60213         * lib/unistd_.h: Likewise.
60214         * lib/wchar_.h: Likewise.
60215         * lib/wctype_.h: Likewise.
60216         * lib/dirent_.h: Likewise.
60217         * lib/iconv_.h: Likewise.
60218         * lib/locale_.h: Likewise.
60219         * lib/netinet_in_.h: Likewise.
60220         * lib/sys_select_.h: Likewise.
60221         * lib/sys_socket_.h: Likewise.
60222         * lib/sysexits_.h: Likewise.
60223         * modules/fcntl (Depends-on): Depend on include_next, not
60224         absolute_header.
60225         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
60226         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
60227         * modules/fchdir: Likewise.
60228         * modules/float: Likewise.
60229         * modules/iconv_open: Likewise.
60230         * modules/inttypes: Likewise.
60231         * modules/locale: Likewise.
60232         * modules/math: Likewise.
60233         * modules/netinet_in: Likewise.
60234         * modules/search: Likewise.
60235         * modules/signal: Likewise.
60236         * modules/stdint: Likewise.
60237         * modules/stdio: Likewise.
60238         * modules/stdlib: Likewise.
60239         * modules/string: Likewise.
60240         * modules/sys_select: Likewise.
60241         * modules/sys_socket: Likewise.
60242         * modules/sys_stat: Likewise.
60243         * modules/sys_time: Likewise.
60244         * modules/sysexits: Likewise.
60245         * modules/time: Likewise.
60246         * modules/unistd: Likewise.
60247         * modules/wchar: Likewise.
60248         * modules/wctype: Likewise.
60249         * modules/sys_stat: Change maintainer to "all".
60250         * modules/unistd: Likewise.
60251
60252 2007-06-20  Karl Berry  <karl@gnu.org>
60253
60254         * config/srclist.txt: track www changes in license files.
60255
60256 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
60257
60258         * build-aux/bootstrap: Remove stray dot.
60259         Make sure build_aux settings are honored when linking
60260         gnulib_extra_files.
60261
60262 2007-06-19  Eric Blake  <ebb9@byu.net>
60263
60264         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60265         Allow compilation on cygwin.
60266
60267 2007-06-19  Jim Meyering  <jim@meyering.net>
60268
60269         xreadlink-with-size: Remove module.  No longer used.
60270         Ex-callers now use xreadlink or mreadlink-with-size.
60271         * modules/xreadlink-with-size: Remove module.
60272         * lib/xreadlink-with-size.c: Remove file.
60273         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
60274         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
60275         just before the function definition *is* accurate.
60276
60277         Eliminate one way canonicalize_filename_mode could exit.
60278         * lib/canonicalize.c (canonicalize_filename_mode):
60279         Use mreadlink_with_size, not xreadlink_with_size.
60280
60281 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
60282
60283         Detect porting problems to FreeBSD/arm, which has time_t wider than
60284         long int.  Original problem reported for GNU diff by Xin Li in
60285         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
60286         * modules/getdate (Depends-on): Add intprops, verify.
60287         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
60288         is an integer type no wider than long int.
60289
60290 2007-06-18  Jim Meyering  <jim@meyering.net>
60291
60292         New module: mreadlink-with-size.
60293         * MODULES.html.sh: Add mreadlink-with-size.
60294         * modules/mreadlink-with-size: New module
60295         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
60296         not xreadlink-with-size.
60297         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
60298
60299 2007-06-16  Bruno Haible  <bruno@clisp.org>
60300
60301         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
60302         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
60303         Reported by Gary V. Vaughan <gary@gnu.org>.
60304
60305 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
60306
60307         Revamp lchown so that it lives in unistd.h where it belongs.
60308         * lib/lchown.h: Remove.
60309         * lib/dirchownmod.c: Don't include lib/lchown.h.
60310         * lib/fchownat.c: Likewise.
60311         * lib/openat.c: Likewise.
60312         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
60313         does not follow symlinks.
60314         (EOPNOTSUPP): Define if not defined.
60315         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
60316         is defined to 0.
60317         (lchown): New decl.
60318         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
60319         Do not check for lchown decl.
60320         Set REPLACE_LCHOWN.
60321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
60322         REPLACE_LCHOWN.
60323         * modules/chown: Make it clear it follows symlinks.
60324         * modules/lchown: Make it clear it doesn't follow symlinks.
60325         (Files): Remove lib/lchown.h
60326         (Depends-on): Add unistd.
60327         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
60328         (Include): Include <unistd.h>, not "lchown.h".
60329         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
60330         REPLACE_LCHOWN.
60331
60332 2007-06-15  Jim Meyering  <jim@meyering.net>
60333
60334         Change license (GPL to LGPL) of fsusage and dependents.
60335         * modules/fsusage (License): Change to LGPL.
60336         * modules/full-read (License): Likewise.
60337         * modules/full-write (License): Likewise.
60338         * modules/safe-read (License): Likewise.
60339         * modules/safe-write (License): Likewise.
60340
60341 2007-06-14  Ben Pfaff  <blp@gnu.org>
60342
60343         Missing part of allocsa -> malloca transition.
60344         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
60345         gl_MALLOCA.
60346
60347 2007-06-12  Bruno Haible  <bruno@clisp.org>
60348
60349         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
60350         to ia64, x86_64, i386.
60351         Reported by Eric Blake.
60352
60353 2007-06-12  Bruno Haible  <bruno@clisp.org>
60354
60355         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
60356         cross-compiling to x86_64.
60357
60358 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
60359
60360         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
60361         glitch reported by Ralf Wildenhues in
60362         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
60363
60364         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
60365         Vin Shelton.
60366
60367 2007-06-11  Bruno Haible  <bruno@clisp.org>
60368
60369         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
60370         replacement string.
60371         Reported by Eric Blake.
60372
60373 2007-06-10  Bruno Haible  <bruno@clisp.org>
60374
60375         Prepare vasnprintf code for use with Unicode strings.
60376         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
60377         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
60378         TYPE_U32_STRING.
60379         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
60380         a_u32_string variants.
60381         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
60382         * lib/printf-args.c: Don't include config.h and the specification
60383         header if PRINTF_FETCHARGS is already defined.
60384         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
60385         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
60386         TYPE_U16_STRING, TYPE_U32_STRING.
60387         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
60388         u16_directive, u16_directives, u32_directive, u32_directives): New
60389         types.
60390         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
60391         New declarations.
60392         * lib/printf-parse.c: Don't include config.h and the specification
60393         header if PRINTF_PARSE is already defined. Eliminate the set of
60394         parameters for WIDE_CHAR_VERSION; the user of this file must provide
60395         them now. Include c-ctype.h.
60396         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
60397         directive and CHAR_T_ONLY_ASCII.
60398         * lib/vasnprintf.c: Don't include config.h and the specification header
60399         if VASNPRINTF is already defined.
60400         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
60401         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
60402         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
60403         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
60404         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
60405         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
60406         code accordingly.
60407         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
60408         pad_ourselves also in this case, with the 'c' and 's' directives, and
60409         with a different notion of "width".
60410         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
60411
60412 2007-06-10  Bruno Haible  <bruno@clisp.org>
60413
60414         * modules/unistr/u32-mbsnlen: New file.
60415         * lib/unistr/u32-mbsnlen.c: New file.
60416
60417         * modules/unistr/u16-mbsnlen: New file.
60418         * lib/unistr/u16-mbsnlen.c: New file.
60419
60420         * modules/unistr/u8-mbsnlen: New file.
60421         * lib/unistr/u8-mbsnlen.c: New file.
60422
60423         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
60424         declarations.
60425
60426 2007-06-10  Bruno Haible  <bruno@clisp.org>
60427
60428         * lib/string_.h (mbsnlen): New declaration.
60429         * lib/mbsnlen.c: New file.
60430         * m4/mbsnlen.m4: New file.
60431         * modules/mbsnlen: New file.
60432         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
60433         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
60434         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
60435
60436 2007-06-10  Bruno Haible  <bruno@clisp.org>
60437
60438         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
60439
60440 2007-06-10  Bruno Haible  <bruno@clisp.org>
60441
60442         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
60443         * lib/mbuiter.h: Likewise.
60444
60445 2007-06-10  Bruno Haible  <bruno@clisp.org>
60446
60447         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
60448         declaration.
60449
60450 2007-06-10  Karl Berry  <karl@gnu.org>
60451
60452         * config/srclist.txt: remove gettext entries, Bruno prefers
60453         to update individually.
60454
60455 2007-06-10  Bruno Haible  <bruno@clisp.org>
60456
60457         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
60458         'maxlen'. Ensure only length + width bytes are allocated, not
60459         length + 1 + width.
60460
60461 2007-06-09  Bruno Haible  <bruno@clisp.org>
60462
60463         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
60464         (CHAR_T): Remove macro.
60465         (VASNPRINTF): Update.
60466
60467 2007-06-09  Bruno Haible  <bruno@clisp.org>
60468
60469         * MODULES.html.sh (Unicode string functions): Add the new modules.
60470
60471         * modules/uniconv/u32-conv-to-enc: New file.
60472         * lib/uniconv/u32-conv-to-enc.c: New file.
60473         * modules/uniconv/u32-conv-to-enc-tests: New file.
60474         * tests/uniconv/test-u32-conv-to-enc.c: New file.
60475
60476         * modules/uniconv/u16-conv-to-enc: New file.
60477         * lib/uniconv/u16-conv-to-enc.c: New file.
60478         * lib/uniconv/u-conv-to-enc.h: New file.
60479         * modules/uniconv/u16-conv-to-enc-tests: New file.
60480         * tests/uniconv/test-u16-conv-to-enc.c: New file.
60481
60482         * modules/uniconv/u8-conv-to-enc: New file.
60483         * lib/uniconv/u8-conv-to-enc.c: New file.
60484         * modules/uniconv/u8-conv-to-enc-tests: New file.
60485         * tests/uniconv/test-u8-conv-to-enc.c: New file.
60486
60487         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
60488         u32_conv_to_encoding): New declarations.
60489
60490 2007-06-09  Bruno Haible  <bruno@clisp.org>
60491
60492         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
60493
60494 2007-06-09  Bruno Haible  <bruno@clisp.org>
60495
60496         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
60497         * modules/malloca: Renamed from modules/allocsa, updated.
60498         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
60499         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
60500         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
60501         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
60502         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
60503         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
60504         * modules/xmalloca: Renamed from modules/xallocsa, updated.
60505         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
60506         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
60507         * modules/c-strcasestr (Depends-on): Update.
60508         * lib/c-strcasestr.c: Update.
60509         * modules/c-strstr (Depends-on): Update.
60510         * lib/c-strstr.c: Update.
60511         * modules/canonicalize-lgpl (Depends-on): Update.
60512         * lib/canonicalize-lgpl.c: Update.
60513         * modules/clean-temp (Depends-on): Update.
60514         * lib/clean-temp.c: Update.
60515         * modules/csharpcomp (Depends-on): Update.
60516         * lib/csharpcomp.c: Update.
60517         * modules/csharpexec (Depends-on): Update.
60518         * lib/csharpexec.c: Update.
60519         * modules/javacomp (Depends-on): Update.
60520         * lib/javacomp.c: Update.
60521         * modules/javaexec (Depends-on): Update.
60522         * lib/javaexec.c: Update.
60523         * modules/mbscasestr (Depends-on): Update.
60524         * lib/mbscasestr.c: Update.
60525         * modules/mbsstr (Depends-on): Update.
60526         * lib/mbsstr.c: Update.
60527         * modules/setenv (Depends-on): Update.
60528         * lib/setenv.c: Update.
60529         * modules/strcasestr (Depends-on): Update.
60530         * lib/strcasestr.c: Update.
60531         * modules/striconveha (Depends-on): Update.
60532         * lib/striconveha.c: Update.
60533         * modules/relocatable-prog-wrapper (Files): Update.
60534         * lib/relocwrapper.c: Update.
60535         * build-aux/install-reloc: Update.
60536         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
60537
60538 2007-06-08  Bruno Haible  <bruno@clisp.org>
60539
60540         Port to uClibc.
60541         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
60542         * lib/fpurge.c (fpurge): Likewise.
60543         * lib/freading.c (freading): Likewise.
60544         * lib/fseeko.c (rpl_fseeko): Likewise.
60545         * lib/fseterr.c (fseterr): Likewise.
60546         * lib/fwriting.c (fwriting): Likewise.
60547         * tests/test-fflush.c (main): Avoid a failure on uClibc.
60548
60549 2007-06-08  Bruno Haible  <bruno@clisp.org>
60550
60551         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
60552         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
60553         * modules/gettext (Files): Add m4/intlmacosx.m4.
60554
60555 2007-06-07  Bruno Haible  <bruno@clisp.org>
60556
60557         * modules/localename-tests: New file.
60558         * tests/test-localename.c: New file.
60559
60560         New module 'localename'.
60561         * lib/localename.h: New file.
60562         * lib/localename.c: New file, from GNU gettext.
60563         * m4/localename.m4: New file.
60564         * modules/localename: New file.
60565
60566 2007-06-07  Bruno Haible  <bruno@clisp.org>
60567
60568         Work around the lack of <wchar.h> on some builds of uClibc.
60569         * doc/headers/wchar.texi: Update.
60570         * lib/wchar_.h: Include <wchar.h> only if it exists.
60571         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
60572         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
60573         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
60574         doesn't exist.
60575         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
60576         * modules/mbfile (Depends-on): Add wchar.
60577         * modules/mbiter (Depends-on): Likewise.
60578         * modules/mbuiter (Depends-on): Likewise.
60579         Reported by Simon Josefsson.
60580
60581 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
60582
60583         Work around problem reported by Steven M. Schweda in
60584         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
60585         Tru64 5.1B with the Compaq compiler environment installed declares
60586         an 'isblank' function but does not define it in the C library.
60587         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
60588         * lib/regex_internal.h (isblank): Likewise.
60589         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
60590         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60591
60592 2007-06-05  Bruno Haible  <bruno@clisp.org>
60593
60594         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
60595         ia64.
60596         * modules/printf-safe: New file.
60597         * modules/fprintf-posix (Depends-on): Add printf-safe.
60598         * modules/printf-posix (Depends-on): Likewise.
60599         * modules/snprintf-posix (Depends-on): Likewise.
60600         * modules/sprintf-posix (Depends-on): Likewise.
60601         * modules/vasnprintf-posix (Depends-on): Likewise.
60602         * modules/vasprintf-posix (Depends-on): Likewise.
60603         * modules/vfprintf-posix (Depends-on): Likewise.
60604         * modules/vprintf-posix (Depends-on): Likewise.
60605         * modules/vsnprintf-posix (Depends-on): Likewise.
60606         * modules/vsprintf-posix (Depends-on): Likewise.
60607         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
60608         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
60609         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
60610         "no" on i386, x86_64, ia64.
60611         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
60612         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60613         on i386, x86_64, ia64.
60614         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
60615         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60616         on i386, x86_64, ia64.
60617         * tests/test-vasnprintf-posix.c: Include float.h.
60618         (LDBL80_WORDS): New macro.
60619         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60620         on i386, x86_64, ia64.
60621         * tests/test-vasprintf-posix.c: Include float.h.
60622         (LDBL80_WORDS): New macro.
60623         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60624         on i386, x86_64, ia64.
60625         * tests/test-snprintf-posix.c: Include float.h.
60626         * tests/test-sprintf-posix.c: Likewise.
60627         * tests/test-vsnprintf-posix.c: Likewise.
60628         * tests/test-vsprintf-posix.c: Likewise.
60629
60630 2007-06-05  Bruno Haible  <bruno@clisp.org>
60631
60632         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
60633         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
60634         non-IEEE numbers on i386, x86_64, ia64.
60635         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
60636         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
60637         * tests/test-isnanl.h: Include float.h.
60638         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
60639
60640 2007-06-05  Bruno Haible  <bruno@clisp.org>
60641
60642         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
60643         also the %a / %A. Handle the %a / %A code before this extra handling.
60644
60645 2007-06-05  Bruno Haible  <bruno@clisp.org>
60646
60647         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
60648         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
60649
60650 2007-06-05  Bruno Haible  <bruno@clisp.org>
60651
60652         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
60653         typo in variable name.
60654
60655 2007-06-05  Eric Blake  <ebb9@byu.net>
60656
60657         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
60658         Reported by Simon Josefsson.
60659
60660 2007-06-04  Bruno Haible  <bruno@clisp.org>
60661
60662         Avoid test failures on some PowerPC platforms.
60663         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
60664         Define differently for PowerPC.
60665         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
60666         Reported by Gary V. Vaughan <gary@gnu.org>.
60667
60668 2007-06-02  Bruno Haible  <bruno@clisp.org>
60669
60670         Fix test-stdint failure on FreeBSD/ia64.
60671         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
60672         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
60673         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
60674         * doc/headers/stdint.texi: Update.
60675
60676 2007-06-01  Bruno Haible  <bruno@clisp.org>
60677
60678         * tests/test-binary-io.c (main): Pass a third argument to open().
60679         Reported by Gary V. Vaughan <gary@gnu.org>.
60680
60681 2007-06-01  Bruno Haible  <bruno@clisp.org>
60682
60683         * doc/functions/frexpl.texi: Update for mingw.
60684
60685 2007-06-01  Bruno Haible  <bruno@clisp.org>
60686
60687         * tests/test-lseek.c (main): Disable test of errno for invalid third
60688         argument.
60689         * doc/functions/lseek.texi: Update.
60690         Reported by Gary V. Vaughan <gary@gnu.org>.
60691
60692 2007-05-28  Bruno Haible  <bruno@clisp.org>
60693
60694         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
60695
60696 2007-05-31  Eric Blake  <ebb9@byu.net>
60697
60698         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
60699         cross compiling.
60700
60701 2007-05-30  Eric Blake  <ebb9@byu.net>
60702         and Bruno Haible  <bruno@clisp.org>
60703
60704         Work around mingw test failures exposed by m4-1.4.9b.
60705         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
60706         * tests/test-unistd.c: Disable uid_t and git_t tests for the
60707         moment.
60708
60709 2007-05-30  Bruno Haible  <bruno@clisp.org>
60710
60711         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
60712         assuming that they are closed. Needed on HP-UX 11.
60713
60714 2007-05-29  Bruno Haible  <bruno@clisp.org>
60715
60716         Fix a problem with #include_next.
60717         * lib/dirent_.h: Split the double-inclusion guard.
60718         * lib/fcntl_.h: Likewise.
60719         * lib/float_.h: Likewise.
60720         * lib/iconv_.h: Likewise.
60721         * lib/inttypes_.h: Likewise.
60722         * lib/locale_.h: Likewise.
60723         * lib/math_.h: Likewise.
60724         * lib/netinet_in_.h: Likewise.
60725         * lib/search_.h: Likewise.
60726         * lib/signal_.h: Likewise.
60727         * lib/stdint_.h: Likewise.
60728         * lib/stdio_.h: Likewise.
60729         * lib/stdlib_.h: Likewise.
60730         * lib/string_.h: Likewise.
60731         * lib/sys_select_.h: Likewise.
60732         * lib/sys_socket_.h: Likewise.
60733         * lib/sys_stat_.h: Likewise.
60734         * lib/sys_time_.h: Likewise.
60735         * lib/sysexits_.h: Likewise.
60736         * lib/time_.h: Likewise.
60737         * lib/unistd_.h: Likewise.
60738         * lib/wchar_.h: Likewise.
60739         * lib/wctype_.h: Likewise.
60740
60741 2007-05-29  Bruno Haible  <bruno@clisp.org>
60742
60743         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
60744         for the moment.
60745
60746 2007-05-29  Bruno Haible  <bruno@clisp.org>
60747
60748         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
60749         invocation.
60750         Reported by Eric Blake.
60751
60752 2007-05-29  Bruno Haible  <bruno@clisp.org>
60753
60754         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
60755         compiling case.
60756
60757 2007-05-29  Eric Blake  <ebb9@byu.net>
60758             Bruno Haible  <bruno@clisp.org>
60759
60760         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
60761         cross compiles.
60762
60763 2007-05-28  Eric Blake  <ebb9@byu.net>
60764
60765         * modules/closein-tests (test_closein_LDADD): Support test on
60766         cygwin with libtool.
60767
60768 2007-05-28  Bruno Haible  <bruno@clisp.org>
60769
60770         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
60771         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
60772         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
60773         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
60774         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
60775         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
60776         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
60777         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
60778         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
60779
60780 2007-05-28  Eric Blake  <ebb9@byu.net>
60781
60782         Unconditionally include <config.h> in unit tests.
60783         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
60784         * tests/test-allocsa.c, tests/test-arcfour.c,
60785         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
60786         tests/test-array_list.c, tests/test-array_oset.c,
60787         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
60788         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
60789         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
60790         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
60791         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
60792         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
60793         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
60794         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
60795         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
60796         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
60797         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
60798         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
60799         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
60800         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
60801         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
60802         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
60803         test-md5.c, test-memmem.c, test-printf-posix.c,
60804         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
60805         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
60806         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
60807         test-strcasestr.c, test-striconv.c, test-striconveh.c,
60808         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
60809         test-vasnprintf-posix2.c, test-vasnprintf.c,
60810         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
60811         test-vfprintf-posix.c, test-vprintf-posix.c,
60812         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
60813         test-xvasprintf.c: Likewise.
60814
60815 2007-05-28  Bruno Haible  <bruno@clisp.org>
60816
60817         * gnulib-tool (func_import): Remember the --with-tests command-line
60818         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
60819         Reported by Eric Blake.
60820
60821 2007-05-28  Bruno Haible  <bruno@clisp.org>
60822
60823         * modules/ftell-tests: New file.
60824         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
60825         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
60826
60827         * lib/ftell.c: New file.
60828         * modules/ftell: New file.
60829         * m4/ftell.m4: New file.
60830         * doc/functions/ftell.texi: Update.
60831         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
60832         REPLACE_FTELL.
60833         * lib/stdio_.h (rpl_ftell): New declaration.
60834         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
60835         REPLACE_FTELL.
60836
60837 2007-05-28  Eric Blake  <ebb9@byu.net>
60838
60839         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
60840
60841 2007-05-28  Bruno Haible  <bruno@clisp.org>
60842
60843         * modules/fseek-tests: New file.
60844         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
60845         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
60846
60847         * lib/fseek.c: New file.
60848         * modules/fseek: New file.
60849         * m4/fseek.m4: New file.
60850         * doc/functions/fseek.texi: Update.
60851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
60852         REPLACE_FSEEK.
60853         * lib/stdio_.h (rpl_fseek): New declaration.
60854         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
60855         REPLACE_FSEEK.
60856
60857 2007-05-28  Bruno Haible  <bruno@clisp.org>
60858
60859         * lib/stdio_.h (fflush): More comments.
60860
60861 2007-05-28  Bruno Haible  <bruno@clisp.org>
60862
60863         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
60864         runtime test.
60865
60866 2007-05-28  Eric Blake  <ebb9@byu.net>
60867
60868         Improve lseek module.
60869         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
60870         * lib/unistd_.h (lseek): Scale back link warning message.
60871         * tests/test-lseek.c: Beef up test.
60872         * tests/test-lseek.sh: Exercise more facets of lseek.
60873         Reported by Bruno Haible.
60874
60875 2007-05-28  Bruno Haible  <bruno@clisp.org>
60876
60877         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
60878         to define.
60879
60880 2007-05-27  Bruno Haible  <bruno@clisp.org>
60881
60882         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
60883
60884 2007-05-27  Bruno Haible  <bruno@clisp.org>
60885
60886         * modules/openmp: New file.
60887         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
60888         Noah Misch.
60889
60890 2007-05-26  Bruno Haible  <bruno@clisp.org>
60891
60892         * modules/chdir-long (Depends-on): Add fchdir.
60893         * modules/chdir-safer (Depends-on): Likewise.
60894         * modules/fts (Depends-on): Likewise.
60895         * modules/fts-lgpl (Depends-on): Likewise.
60896         * modules/openat (Depends-on): Likewise.
60897         * modules/savewd (Depends-on): Likewise.
60898
60899 2007-05-24  Eric Blake  <ebb9@byu.net>
60900
60901         Fix lseek on mingw.
60902         * modules/lseek: New module.
60903         * m4/lseek.m4: New file.
60904         * lib/lseek.c: New file.
60905         * modules/lseek-tests: New file.
60906         * tests/test-lseek.c: New file.
60907         * tests/test-lseek.sh: New file.
60908         * MODULES.html.sh: Document lseek module.
60909         * modules/fflush (Depends-on): Add lseek, fseeko.
60910         * modules/fseeko (Depends-on): Likewise.
60911         * modules/ftello (Depends-on): Likewise.
60912         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
60913         broken.
60914         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
60915         broken.
60916         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
60917         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
60918         * lib/ftello.c (rpl_ftello): Likewise.
60919         * tests/test-fseeko.c (main): Test this.
60920         * tests/test-fseeko.sh: Likewise.
60921         * tests/test-ftello.c (main): Likewise.
60922         * tests/test-ftello.sh: Likewise.
60923         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
60924         implies replacing fseek.
60925         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
60926         HAVE_FTELLO.
60927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
60928         * modules/unistd (Makefile.am): Likewise.
60929         * lib/unistd_.h (lseek): Declare a replacement.
60930         * doc/functions/lseek.texi (lseek): Document this fix.
60931         * doc/functions/fseek.texi (fseek): Likewise.
60932         * doc/functions/ftell.texi (ftell): Likewise.
60933
60934 2007-05-24  Bruno Haible  <bruno@clisp.org>
60935
60936         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
60937         in the printed representation of a NaN.
60938         * tests/test-vasprintf-posix.c (test_function): Likewise.
60939         * tests/test-snprintf-posix.h (test_function): Likewise.
60940         * tests/test-sprintf-posix.h (test_function): Likewise.
60941         Reported by Eric Blake.
60942
60943 2007-05-23  Eric Blake  <ebb9@byu.net>
60944
60945         Fix fseeko/ftello on cygwin 1.5.24.
60946         * doc/functions/fseeko.texi (fseeko): Document the fix.
60947         * doc/functions/ftello.texi (ftello): Document the fix.
60948         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
60949         * doc/functions/stdout.text (stdout): New file.
60950         * doc/functions/stderr.text (stderr): New file.
60951         * doc/gnulib.texi (Function Substitutes): Use new files.
60952         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
60953         prior to 1.7.0.
60954         * tests/test-ftello.c (main): Likewise for ftello.
60955         * tests/test-fseeko.sh: New file.
60956         * tests/test-ftello.sh: New file.
60957         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
60958         with seekable stdin.
60959         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
60960         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
60961         (gl_REPLACE_FSEEKO): New macro.
60962         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
60963         * modules/fseeko (Files): Distribute fseeko.c.
60964         * modules/ftello (Files): Distribute ftello.c.
60965         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
60966         mode.
60967         * lib/ftello.c (rpl_ftello): New file.
60968         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
60969         fseeko, ftello.
60970         (gl_STDIN_LARGE_OFFSET): New macro.
60971         * modules/stdio (Makefile.am): Perform the replacement.
60972         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
60973
60974 2007-05-23  Bruno Haible  <bruno@clisp.org>
60975
60976         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
60977         GNULIB_POSIXCHECK is defined.
60978
60979 2007-05-21  Bruno Haible  <bruno@clisp.org>
60980
60981         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
60982         Check also the output for NaN arguments. When cross-compiling, guess
60983         no on IRIX.
60984         * lib/vasnprintf.c: Update comments.
60985         * tests/test-vasnprintf-posix.c (strisnan): New function.
60986         (test_function): Use it.
60987         * tests/test-vasprintf-posix.c (strisnan): New function.
60988         (test_function): Use it.
60989         * tests/test-snprintf-posix.h (strisnan): New function.
60990         (test_function): Use it.
60991         * tests/test-sprintf-posix.h (strisnan): New function.
60992         (test_function): Use it.
60993         Reported by Eric Blake.
60994
60995 2007-05-20  Bruno Haible  <bruno@clisp.org>
60996
60997         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
60998         numbers that fails on BeOS.
60999         * doc/functions/frexpl.texi: Update.
61000
61001 2007-05-20  Jim Meyering  <jim@meyering.net>
61002
61003         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
61004         forced upon us by glibc-2.6.
61005
61006 2007-05-20  Bruno Haible  <bruno@clisp.org>
61007
61008         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
61009         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
61010         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
61011         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
61012         NEED_PRINTF_INFINITE.
61013         (is_infinitel): New function.
61014         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
61015         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
61016         gl_PREREQ_VASNPRINTF_INFINITE.
61017         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
61018         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61019         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
61020         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
61021         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
61022         gl_PREREQ_VASNPRINTF_INFINITE.
61023         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61024         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61025         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61026         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61027         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61028         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61029         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61030         * doc/functions/fprintf.texi: Update.
61031         * doc/functions/printf.texi: Update.
61032         * doc/functions/snprintf.texi: Update.
61033         * doc/functions/sprintf.texi: Update.
61034         * doc/functions/vfprintf.texi: Update.
61035         * doc/functions/vprintf.texi: Update.
61036         * doc/functions/vsnprintf.texi: Update.
61037         * doc/functions/vsprintf.texi: Update.
61038
61039 2007-05-20  Bruno Haible  <bruno@clisp.org>
61040
61041         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
61042         was not found in libc.
61043         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
61044
61045 2007-05-20  Bruno Haible  <bruno@clisp.org>
61046
61047         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
61048         printed as "-nan" instead of "nan".
61049         * tests/test-vasprintf-posix.c (test_function): Likewise.
61050         * tests/test-snprintf-posix.h (test_function): Likewise.
61051         * tests/test-sprintf-posix.h (test_function): Likewise.
61052         Needed for HP-UX 11.
61053
61054 2007-05-20  Jim Meyering  <jim@meyering.net>
61055
61056         Fix buggy test for the fchownat-deref bug.
61057         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
61058         symlink required for the run-test.  Without it, this test would
61059         always declare that fchownat doesn't work, and client code would
61060         unnecessarily use the replacement function with fixed libc.
61061         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
61062         Reported by Greg Schafer.
61063
61064 2007-05-19  Bruno Haible  <bruno@clisp.org>
61065
61066         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
61067         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
61068         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
61069         Needed for IRIX 6.5 and Solaris 2.5.1.
61070
61071 2007-05-19  Bruno Haible  <bruno@clisp.org>
61072
61073         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
61074         (test_function): Skip tests involving -0.0 on platforms where
61075         -0.0 = 0.0.
61076         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
61077         (test_function): Skip tests involving -0.0 on platforms where
61078         -0.0 = 0.0.
61079         * tests/test-snprintf-posix.h (have_minus_zero): New function.
61080         (test_function): Skip tests involving -0.0 on platforms where
61081         -0.0 = 0.0.
61082         * tests/test-sprintf-posix.h (have_minus_zero): New function.
61083         (test_function): Skip tests involving -0.0 on platforms where
61084         -0.0 = 0.0.
61085         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
61086         tests.
61087         * tests/test-printf-posix.h (test_function): Likewise.
61088         * tests/test-printf-posix.output: Remove all -0.0 related results.
61089         Needed for IRIX 6.5.
61090
61091 2007-05-19  Bruno Haible  <bruno@clisp.org>
61092
61093         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
61094         printed as "nan0x7fffffff" instead of "nan".
61095         * tests/test-vasprintf-posix.c (test_function): Likewise.
61096         * tests/test-snprintf-posix.h (test_function): Likewise.
61097         * tests/test-sprintf-posix.h (test_function): Likewise.
61098         * tests/test-fprintf-posix.h (NaN): Remove macro.
61099         (test_function): Remove all NaN related tests.
61100         * tests/test-printf-posix.h (NaN): Remove macro.
61101         (test_function): Remove all NaN related tests.
61102         * tests/test-printf-posix.output: Remove all NaN related results.
61103         Needed for IRIX 6.5.
61104
61105 2007-05-19  Bruno Haible  <bruno@clisp.org>
61106
61107         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
61108         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
61109
61110 2007-05-19  Bruno Haible  <bruno@clisp.org>
61111
61112         * lib/float_.h: New file.
61113         * m4/float_h.m4: New file.
61114         * modules/float: New file.
61115         * modules/isnanl (Dependencies): Add float.
61116         * modules/isnanl-nolibm (Dependencies): Likewise.
61117         * modules/mathl (Dependencies): Likewise.
61118         * modules/printf-frexpl (Dependencies): Likewise.
61119         * modules/signbit (Dependencies): Likewise.
61120         * modules/vasnprintf (Dependencies): Likewise.
61121         * doc/headers/float.texi: Update.
61122
61123 2007-05-19  Jim Meyering  <jim@meyering.net>
61124
61125         * lib/utimens.c (gl_futimens): Rename from futimens,
61126         now that glibc-2.6 declares futimens.
61127         * lib/utimens.h: Likewise.
61128
61129 2007-05-19  Bruno Haible  <bruno@clisp.org>
61130
61131         Avoid test failures on mingw.
61132         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
61133         * tests/test-printf-posix.sh: Likewise.
61134         * tests/test-vfprintf-posix.sh: Likewise.
61135         * tests/test-vprintf-posix.sh: Likewise.
61136
61137 2007-05-19  Bruno Haible  <bruno@clisp.org>
61138
61139         Fix *printf result for NaN, Inf, -0.0 on mingw.
61140         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
61141         * lib/vasnprintf.c: Include math.h and isnan.h.
61142         (is_infinite_or_zero): New function.
61143         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
61144         values in the %f, %F, %e, %E, %g, %G directives.
61145         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
61146         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61147         gl_PRINTF_INFINITE and test its result. Invoke
61148         gl_PREREQ_VASNPRINTF_INFINITE.
61149         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61150         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61151         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61152         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61153         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61154         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61155         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61156         * doc/functions/fprintf.texi: Update.
61157         * doc/functions/printf.texi: Update.
61158         * doc/functions/snprintf.texi: Update.
61159         * doc/functions/sprintf.texi: Update.
61160         * doc/functions/vfprintf.texi: Update.
61161         * doc/functions/vprintf.texi: Update.
61162         * doc/functions/vsnprintf.texi: Update.
61163         * doc/functions/vsprintf.texi: Update.
61164
61165 2007-05-19  Bruno Haible  <bruno@clisp.org>
61166
61167         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
61168         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
61169         Instead of multiplying with 10^k, set extra_zeroes to k.
61170         (scale10_round_long_double): Remove function.
61171
61172 2007-05-18  Bruno Haible  <bruno@clisp.org>
61173
61174         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
61175         introduced on 2007-05-06.
61176
61177 2007-05-18  Bruno Haible  <bruno@clisp.org>
61178
61179         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
61180         %g directives.
61181         * tests/test-vasprintf-posix.c (test_function): Likewise.
61182         * tests/test-snprintf-posix.h (test_function): Likewise.
61183         * tests/test-sprintf-posix.h (test_function): Likewise.
61184
61185 2007-05-18  Bruno Haible  <bruno@clisp.org>
61186
61187         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
61188         (strmatch): New function.
61189         (test_function): Test the %f directive on numbers of various exponents.
61190         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
61191         (strmatch): New function.
61192         (test_function): Test the %f directive on numbers of various exponents.
61193         * tests/test-snprintf-posix.h (strmatch): New function.
61194         (test_function): Test the %f directive on numbers of various exponents.
61195         * tests/test-sprintf-posix.h (strmatch): New function.
61196         (test_function): Test the %f directive on numbers of various exponents.
61197         * tests/test-snprintf-posix.c (SIZEOF): New macro.
61198         * tests/test-sprintf-posix.c (SIZEOF): New macro.
61199         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
61200         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
61201
61202 2007-05-18  Bruno Haible  <bruno@clisp.org>
61203
61204         Add support for 'long double' number output.
61205         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
61206         * lib/vasnprintf.c: Include math.h and float+.h.
61207         (mp_limb_t): New type.
61208         (GMP_LIMB_BITS): New macro.
61209         (mp_twolimb_t): New type.
61210         (GMP_TWOLIMB_BITS): New macro.
61211         (mpn_t): New type.
61212         (multiply, divide, convert_to_decimal, decode_long_double,
61213         scale10_round_long_double, scale10_round_decimal_long_double,
61214         floorlog10l): New functions.
61215         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
61216         for the %f, %F, %e, %E, %g, %G directives.
61217         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
61218         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61219         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
61220         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
61221         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61222         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61223         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61224         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61225         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61226         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61227         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61228         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
61229         * modules/snprintf-posix (Depends-on): Likewise.
61230         * modules/sprintf-posix (Depends-on): Likewise.
61231         * modules/vasnprintf-posix (Depends-on): Likewise.
61232         * modules/vasprintf-posix (Depends-on): Likewise.
61233         * modules/vfprintf-posix (Depends-on): Likewise.
61234         * modules/vsnprintf-posix (Depends-on): Likewise.
61235         * modules/vsprintf-posix (Depends-on): Likewise.
61236         * modules/vasnprintf (Files): Add lib/float+.h.
61237         * doc/functions/fprintf.texi: Update.
61238         * doc/functions/printf.texi: Update.
61239         * doc/functions/snprintf.texi: Update.
61240         * doc/functions/sprintf.texi: Update.
61241         * doc/functions/vfprintf.texi: Update.
61242         * doc/functions/vprintf.texi: Update.
61243         * doc/functions/vsnprintf.texi: Update.
61244         * doc/functions/vsprintf.texi: Update.
61245
61246 2007-05-18  Bruno Haible  <bruno@clisp.org>
61247
61248         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
61249
61250 2007-05-18  Bruno Haible  <bruno@clisp.org>
61251
61252         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
61253         for printing 64-bit integers. Needed for mingw.
61254
61255 2007-05-18  Bruno Haible  <bruno@clisp.org>
61256
61257         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
61258         gl_FUNC_FREXPL_WORKS.
61259         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
61260
61261 2007-05-18  Bruno Haible  <bruno@clisp.org>
61262
61263         * modules/frexpl-nolibm-tests: New file.
61264
61265         * modules/frexpl-nolibm: New file.
61266         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
61267
61268 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61269
61270         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
61271         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
61272         GCC 4.2, which otherwise issues a lot of warnings.
61273         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
61274         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
61275         Likewise.
61276         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
61277         * modules/iconv_open (iconv.h): Likewise.
61278         * modules/locale (locale.h): Likewise.
61279         * modules/netinet_in (netinet/in.h): Likewise.
61280         * modules/sys_select (sys_select.h): Likewise.
61281         * modules/sys_socket (sys/socket.h): Likewise.
61282         * modules/sys_stat (sys/stat.h): Likewise.
61283         * modules/sysexits (sysexits.h): Likewise.
61284         * modules/unistd (unistd.h): Likewise.
61285
61286 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61287
61288         * modules/closein-tests (Makefile.am): Distribute
61289         `test-closein.sh'.
61290
61291 2007-05-17  Bruno Haible  <bruno@clisp.org>
61292
61293         * tests/test-printf-posix.output: Renamed from
61294         tests/test-fprintf-posix.out.
61295         * modules/fprintf-posix-tests: Update.
61296         * modules/printf-posix-tests: Update.
61297         * modules/vfprintf-posix-tests: Update.
61298         * modules/vprintf-posix-tests: Update.
61299         * tests/test-fprintf-posix.sh: Update.
61300         * tests/test-printf-posix.sh: Update.
61301         * tests/test-vfprintf-posix.sh: Update.
61302         * tests/test-vprintf-posix.sh: Update.
61303         Reported by Ralf Wildenhues.
61304
61305 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61306
61307         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
61308         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
61309         GCC 4.2, which otherwise issues a lot of warnings.
61310         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
61311         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
61312         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
61313         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
61314         it should no longer be needed.
61315         * lib/string_.h: Likewise.
61316         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
61317         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
61318         * modules/inttypes (inttypes.h): Likewise.
61319         * modules/math (math.h): Likewise.
61320         * modules/search (search.h): Likewise.
61321         * modules/signal (signal.h): Likewise.
61322         * modules/stdint (stdint.h): Likewise.
61323         * modules/stdio (stdio.h): Likewise.
61324         * modules/stdlib (stdlib.h): Likewise.
61325         * modules/string (string.h): Likewise.
61326         * modules/sys_time (sys/time.h): Likewise.
61327         * modules/time (time.h): Likewise.
61328         * modules/wchar (wchar.h): Likewise.
61329         * modules/wctype (wtype.h): Likewise.
61330
61331 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61332
61333         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
61334
61335 2007-05-13  Bruno Haible  <bruno@clisp.org>
61336
61337         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
61338         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61339         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
61340         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
61341         (gl_PREREQ_STRTOK_R): Don't require it here.
61342
61343 2007-05-13  Bruno Haible  <bruno@clisp.org>
61344
61345         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
61346         when used in C++ mode.
61347
61348 2007-05-12  Bruno Haible  <bruno@clisp.org>
61349
61350         * lib/linebuffer.h: Tweak doc.
61351         * lib/linebuffer.c: Likewise.
61352
61353 2007-05-12  James Youngman  <jay@gnu.org>
61354
61355         * lib/linebuffer.c (readlinebuffer_delim): New function,
61356         like readlinebuffer, but use a caller-specified delimiter.
61357         (readlinebuffer): Just call readlinebuffer_delim with '\n'
61358         as the delimiter.
61359         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
61360
61361 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61362
61363         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
61364         * modules/openat (Files): Remove openat-die.c.
61365         (Depends-on): Add openat-die.
61366         * modules/openat-die: New module.
61367
61368 2007-05-06  Bruno Haible  <bruno@clisp.org>
61369
61370         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
61371         Update with info about Cygwin.
61372         * doc/functions/fprintf.texi: Update.
61373         * doc/functions/printf.texi: Update.
61374         * doc/functions/snprintf.texi: Update.
61375         * doc/functions/sprintf.texi: Update.
61376         * doc/functions/vfprintf.texi: Update.
61377         * doc/functions/vprintf.texi: Update.
61378         * doc/functions/vsnprintf.texi: Update.
61379         * doc/functions/vsprintf.texi: Update.
61380         Reported by Eric Blake.
61381
61382 2007-05-06  Bruno Haible  <bruno@clisp.org>
61383
61384         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
61385         padding ourselves for the floating-point directives.
61386         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
61387         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
61388         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61389         gl_PRINTF_FLAG_ZERO and test its result. Invoke
61390         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
61391         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61392         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
61393         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61394         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61395         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61396         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61397         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61398         * tests/test-snprintf-posix.h (test_function): Also check the width
61399         and some flags in the %f directive.
61400         * tests/test-sprintf-posix.h (test_function): Likewise.
61401         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61402         * tests/test-vasprintf-posix.c (test_function): Likewise.
61403         * doc/functions/fprintf.texi: Update.
61404         * doc/functions/printf.texi: Update.
61405         * doc/functions/snprintf.texi: Update.
61406         * doc/functions/sprintf.texi: Update.
61407         * doc/functions/vfprintf.texi: Update.
61408         * doc/functions/vprintf.texi: Update.
61409         * doc/functions/vsnprintf.texi: Update.
61410         * doc/functions/vsprintf.texi: Update.
61411
61412 2007-05-06  Bruno Haible  <bruno@clisp.org>
61413
61414         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
61415         pass the ' flag character to sprintf or snprintf.
61416         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
61417         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
61418         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61419         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
61420         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
61421         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61422         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
61423         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61424         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61425         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61426         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61427         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61428         * tests/test-snprintf-posix.h (test_function): Also check the grouping
61429         flag.
61430         * tests/test-sprintf-posix.h (test_function): Likewise.
61431         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61432         * tests/test-vasprintf-posix.c (test_function): Likewise.
61433         * doc/functions/fprintf.texi: Update.
61434         * doc/functions/printf.texi: Update.
61435         * doc/functions/snprintf.texi: Update.
61436         * doc/functions/sprintf.texi: Update.
61437         * doc/functions/vfprintf.texi: Update.
61438         * doc/functions/vprintf.texi: Update.
61439         * doc/functions/vsnprintf.texi: Update.
61440         * doc/functions/vsprintf.texi: Update.
61441
61442 2007-05-01  Bruno Haible  <bruno@clisp.org>
61443
61444         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
61445
61446 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
61447
61448         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
61449         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
61450
61451 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61452
61453         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
61454         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
61455         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
61456
61457 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
61458
61459         * lib/argp-help.c (struct hol_entry): New member `ord'.
61460         (HOL_ENTRY_PTRCMP): Use ord for comparison
61461         (hol_sort): Initialize ord.
61462
61463 2007-05-01  Bruno Haible  <bruno@clisp.org>
61464
61465         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
61466         Reported by Eric Blake.
61467         * doc/gnulib.texi (Function Substitutes): Update.
61468
61469 2007-05-01  Bruno Haible  <bruno@clisp.org>
61470
61471         * doc/functions.texi: Remove file, now redundant through
61472         doc/functions/*.texi.
61473
61474 2007-05-01  Bruno Haible  <bruno@clisp.org>
61475
61476         * modules/argp (Depends-on): Add sleep.
61477
61478 2007-05-01  Bruno Haible  <bruno@clisp.org>
61479
61480         * modules/sleep-tests: New file.
61481         * tests/test-sleep.c: New file.
61482
61483         * modules/sleep: New file.
61484         * lib/sleep.c: New file.
61485         * m4/sleep.m4: New file.
61486         * lib/unistd_.h (sleep): New declaration.
61487         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
61488         HAVE_SLEEP.
61489         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
61490         * doc/functions/sleep.texi: Document the sleep module.
61491
61492 2007-05-01  Bruno Haible  <bruno@clisp.org>
61493
61494         * lib/sigprocmask.h: Remove file.
61495         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
61496         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
61497         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
61498         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
61499         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
61500         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
61501         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
61502         HAVE_SIGSET_T as a shell variable.
61503         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
61504         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
61505         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
61506         (Depends-on): Add signal. Remove verify.
61507         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
61508         (Include): Mention <signal.h> instead of sigprocmask.h.
61509         * NEWS: Mention the change.
61510         * lib/fatal-signal.c: Don't include sigprocmask.h.
61511
61512 2007-05-01  Bruno Haible  <bruno@clisp.org>
61513
61514         * modules/signal: New file.
61515         * lib/signal_.h: New file.
61516         * m4/signal_h.m4: New file.
61517
61518 2007-05-01  Bruno Haible  <bruno@clisp.org>
61519
61520         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
61521         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
61522         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
61523         HAVE_WCTYPE_CTMP_BUG into wctype.h.
61524
61525 2007-05-01  Bruno Haible  <bruno@clisp.org>
61526
61527         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
61528         configure time.
61529         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
61530         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
61531         * modules/sys_stat (Makefile.am): Substitute their values into
61532         sys/stat.h.
61533
61534 2007-05-01  Bruno Haible  <bruno@clisp.org>
61535
61536         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
61537         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
61538         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
61539
61540 2007-05-01  Bruno Haible  <bruno@clisp.org>
61541
61542         * doc/header/assert.texi: Undo last change: don't mention the gnulib
61543         'assert' module here.
61544
61545 2007-05-01  Bruno Haible  <bruno@clisp.org>
61546
61547         * doc/functions/*.texi: New files.
61548         * doc/functions/google-ranking.txt: New file.
61549         * doc/gnulib.texi (Function Substitutes): New chapter.
61550         (ctime, inet_ntoa): Remove sections.
61551         * doc/ctime.texi: Remove file.
61552         * doc/inet_ntoa.texi: Remove file.
61553         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
61554         dependencies.
61555         (%.info): New rule, specifying a --reference-limit.
61556
61557 2007-05-01  Bruno Haible  <bruno@clisp.org>
61558
61559         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
61560
61561 2007-05-01  Bruno Haible  <bruno@clisp.org>
61562
61563         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
61564         the portability of 'mkdir' to mingw systems.
61565
61566 2007-05-01  Bruno Haible  <bruno@clisp.org>
61567
61568         * doc/headers/google-ranking.txt: New file.
61569
61570 2007-04-30  Eric Blake  <ebb9@byu.net>
61571
61572         Prefer fseeko to fseek.
61573         * modules/getpass (Depends-on): Add fseeko.
61574         * lib/getpass.c (getpass): Use fseeko, not fseek.
61575
61576 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
61577
61578         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
61579         assumes the sorting is stable, while most qsort implementations
61580         are not.  Use argument addresses to ensure they never compare as
61581         equal.
61582
61583         * tests/test-argp-2.sh (usage-indent test): Fix output
61584         (func_compare): Restore diff options
61585         * tests/test-argp.c: Restore #include "progname.h"
61586
61587 2007-04-29  Bruno Haible  <bruno@clisp.org>
61588
61589         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
61590         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61591         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
61592         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61593         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
61594         (configure.ac): Define CHECK_SNPRINTF_POSIX.
61595         (TESTS, check_PROGRAMS): Add test-snprintf.
61596         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
61597         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
61598         (TESTS, check_PROGRAMS): Add test-vsnprintf.
61599         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
61600         assertions that fail on HP-UX, OSF/1, or IRIX.
61601         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
61602
61603 2007-04-29  Bruno Haible  <bruno@clisp.org>
61604
61605         * MODULES.html.sh (posix_functions): Remove 'contents'.
61606
61607 2007-04-29  Karl Berry  <karl@gnu.org>
61608
61609         * config/srclist.txt (gendocs_template_min): new entry.
61610
61611 2007-04-29  Bruno Haible  <bruno@clisp.org>
61612
61613         Work around fpurge bug on BSD systems.
61614         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
61615         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
61616         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
61617         fpurge to rpl_fpurge if the system already has this function.
61618         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
61619         the case where the system already has this function. Correct invariants
61620         on BSD systems.
61621         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
61622         BSD systems.
61623
61624 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61625
61626         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
61627         proposed by Sven Verdoolaege.
61628
61629         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
61630         options.
61631         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
61632         (usage and help tests): Update
61633
61634 2007-04-29  Bruno Haible  <bruno@clisp.org>
61635
61636         * tests/test-fflush.c (main): Use a file of size 17, not 10.
61637         Print more information in case of failure. Disable a test on BeOS.
61638
61639 2007-04-29  Bruno Haible  <bruno@clisp.org>
61640
61641         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
61642         This helps debugging on systems on which no gdb is available.
61643
61644 2007-04-29  Bruno Haible  <bruno@clisp.org>
61645
61646         * lib/freading.h: Improve comments.
61647         * lib/fwriting.h: Likewise.
61648         * tests/test-freading.c (main): Don't check freading immediately after
61649         repositioning. Needed for glibc.
61650
61651 2007-04-29  Bruno Haible  <bruno@clisp.org>
61652
61653         * lib/freading.c (freading): Trivial simplification.
61654
61655 2007-04-28  Bruno Haible  <bruno@clisp.org>
61656
61657         * tests/test-fwriting.c (main): Also test the interaction between
61658         fflush and fwriting.
61659         * modules/fwriting-tests (Depends-on): Add fflush.
61660
61661         * tests/test-freading.c (main): Also test the interaction between
61662         fflush and freading.
61663         * modules/freading-tests (Depends-on): Add fflush.
61664
61665 2007-04-28  Bruno Haible  <bruno@clisp.org>
61666
61667         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
61668         fseeko and ftello.
61669         Suggested by Eric Blake.
61670
61671 2007-04-28  Jim Meyering  <jim@meyering.net>
61672
61673         Avoid false-negative in gl_STDINT_H's C99 conformance test.
61674         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
61675         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
61676
61677 2007-04-27  Eric Blake  <ebb9@byu.net>
61678
61679         * doc/headers/assert.texi (assert.h): Document assert module use.
61680
61681 2007-04-27  Bruno Haible  <bruno@clisp.org>
61682
61683         * doc/headers/*.texi: New files.
61684         * doc/gnulib.texi (Header File Substitutes): New chapter.
61685         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
61686         dependencies.
61687         (standards.info ,standards.html, standards.dvi): Update dependencies.
61688         (mostlyclean, clean): New targets.
61689
61690 2007-04-27  Bruno Haible  <bruno@clisp.org>
61691
61692         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
61693         * modules/sysexits (Files, Makefile.am): Update.
61694
61695         * lib/sys_socket_.h: Renamed from lib/socket_.h.
61696         * modules/sys_socket (Files, Makefile.am): Update.
61697
61698         * lib/sys_stat_.h: Renamed from lib/stat_.h.
61699         * modules/sys_stat (Files, Makefile.am): Update.
61700
61701 2007-04-27  Eric Blake  <ebb9@byu.net>
61702
61703         * lib/freading.h: Improve comments.
61704         * lib/fwriting.h: Likewise.
61705         * lib/fflush.c: Likewise.
61706
61707         Fix closein for mingw.
61708         * modules/closein-tests: Add tests for closein.
61709         * tests/test-closein.c: New file.
61710         * tests/test-closein.sh: Likewise.
61711         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
61712         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
61713
61714 2007-04-27  Bruno Haible  <bruno@clisp.org>
61715
61716         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
61717         version is < 6.
61718         * lib/math_.h [__DECC]: Likewise.
61719         * lib/stdio_.h [__DECC]: Likewise.
61720         * lib/stdlib_.h [__DECC]: Likewise.
61721         * lib/string_.h [__DECC]: Likewise.
61722         * lib/time_.h [__DECC]: Likewise.
61723         * lib/wchar_.h [__DECC]: Likewise.
61724         * lib/wctype_.h [__DECC]: Likewise.
61725
61726 2007-04-27  Bruno Haible  <bruno@clisp.org>
61727
61728         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
61729
61730 2007-04-27  Bruno Haible  <bruno@clisp.org>
61731
61732         * lib/fflush.c: Add comments.
61733         * modules/fpurge-tests (Depends-on): Add fflush.
61734         * modules/freadable-tests (Depends-on): Likewise.
61735         * modules/fwritable-tests (Depends-on): Likewise.
61736
61737 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
61738
61739         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
61740         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
61741         Report by Bruno Haible <bruno@clisp.org>.
61742
61743 2007-04-26  Eric Blake  <ebb9@byu.net>
61744
61745         Fix fflush on mingw.
61746         * modules/fflush (Depends-on): Add freading.
61747         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
61748         but unread data.
61749
61750 2007-04-26  Eric Blake  <ebb9@byu.net>
61751         and Bruno Haible  <bruno@clisp.org>
61752
61753         Implement freading and fwriting.
61754         * lib/freading.c: New file.
61755         * lib/freading.h: Likewise.
61756         * m4/freading.m4: Likewise.
61757         * modules/freading: Likewise.
61758         * modules/freading-tests: Likewise.
61759         * tests/test-freading.c: Likewise.
61760         * lib/fwriting.c: New file.
61761         * lib/fwriting.h: Likewise.
61762         * m4/fwriting.m4: Likewise.
61763         * modules/fwriting: Likewise.
61764         * modules/fwriting-tests: Likewise.
61765         * tests/test-fwriting.c: Likewise.
61766         * MODULES.html.sh (File stream based Input/Output): Mention them.
61767
61768 2007-04-26  Bruno Haible  <bruno@clisp.org>
61769
61770         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
61771         'long' when we assume it.
61772         Suggested by Eric Blake.
61773
61774 2007-04-26  Bruno Haible  <bruno@clisp.org>
61775
61776         Ensure fseeko, ftello are declared on glibc systems.
61777         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
61778         * modules/fseeko (configure.ac-early): Likewise.
61779         * modules/ftello (configure.ac-early): Likewise.
61780         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
61781         AC_FUNC_FSEEKO for this.
61782         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
61783         (gl_CHECK_FSEEKO): Remove macro.
61784
61785 2007-04-26  Bruno Haible  <bruno@clisp.org>
61786
61787         * tests/test-fflush.c (main): Also check the ftell result after
61788         fflush and fseek/fseeko.
61789         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
61790         file descriptor position cache in the stream.
61791         * lib/fseeko.c (rpl_fseeko): Likewise.
61792
61793 2007-04-26  Bruno Haible  <bruno@clisp.org>
61794
61795         * modules/fflush-tests (Depends-on): Add fseeko.
61796
61797 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
61798             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61799
61800         * lib/argz_.h: ensure error_t definition is obtained in same
61801         mechanism system argz.h would have.
61802         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
61803         argz facilities are known bad.  Err on the side of caution if
61804         cross-compiling.
61805
61806 2007-04-25  Eric Blake  <ebb9@byu.net>
61807
61808         * lib/fpurge.c (includes): Use stdlib.h for free.
61809         * tests/test-fflush.c (main): Also test fflush-fseeko.
61810
61811 2007-04-25  Bruno Haible  <bruno@clisp.org>
61812
61813         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
61814         * lib/fseeko.c: New file.
61815         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
61816         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
61817         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
61818         gl_FUNC_FSEEKO.
61819         (gl_FUNC_FSEEKO): Invoke it.
61820         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
61821         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
61822         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
61823
61824 2007-04-25  Bruno Haible  <bruno@clisp.org>
61825
61826         * modules/fflush (Depends-on): Add ftello.
61827
61828 2007-04-25  Bruno Haible  <bruno@clisp.org>
61829
61830         * modules/ftello-tests: New file.
61831         * tests/test-ftello.c: New file.
61832
61833         * modules/ftello: New file.
61834         * m4/ftello.m4: New file.
61835         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
61836         HAVE_FTELLO.
61837         * lib/stdio_.h (ftello): New declaration.
61838         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
61839         HAVE_FTELLO.
61840
61841 2007-04-25  Bruno Haible  <bruno@clisp.org>
61842
61843         * modules/fseeko-tests: New file.
61844         * tests/test-fseeko.c: New file.
61845
61846         * modules/fseeko: New file.
61847         * m4/fseeko.m4: New file.
61848         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
61849         HAVE_FSEEKO.
61850         * lib/stdio_.h (fseeko): New declaration.
61851         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
61852         HAVE_FSEEKO.
61853
61854 2007-04-25  Bruno Haible  <bruno@clisp.org>
61855
61856         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
61857
61858 2007-04-25  Bruno Haible  <bruno@clisp.org>
61859
61860         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
61861         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
61862         * tests/test-unistd.c: Likewise.
61863         * tests/test-fcntl.c: Likewise.
61864
61865 2007-04-23  Eric Blake  <ebb9@byu.net>
61866
61867         * lib/fflush.c: Fix missing include.
61868         Reported by Bruno Haible.
61869
61870 2007-04-23  Bruno Haible  <bruno@clisp.org>
61871
61872         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
61873         Reported by Eric Blake.
61874
61875 2007-04-23  Bruno Haible  <bruno@clisp.org>
61876
61877         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
61878
61879 2007-04-23  Bruno Haible  <bruno@clisp.org>
61880
61881         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
61882
61883 2007-04-23  Bruno Haible  <bruno@clisp.org>
61884
61885         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
61886         Needed on HP-UX 11.
61887
61888 2007-04-16  Eric Blake  <ebb9@byu.net>
61889
61890         Make fflush rely on fpurge.
61891         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
61892         open coding all variants.
61893         * modules/fflush (Depends-on): Add fpurge and unistd.
61894         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
61895         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
61896
61897         Fix --with-tests compilation on cygwin.
61898         * modules/argmatch-tests (Makefile.am): List gnulib library first
61899         in LDADD.
61900         * modules/argp-tests (Makefile.am): Likewise.
61901         * modules/array-list-tests (Makefile.am): Likewise.
61902         * modules/array-oset-tests (Makefile.am): Likewise.
61903         * modules/avltree-list-tests (Makefile.am): Likewise.
61904         * modules/avltree-oset-tests (Makefile.am): Likewise.
61905         * modules/avltreehash-list-tests (Makefile.am): Likewise.
61906         * modules/carray-list-tests (Makefile.am): Likewise.
61907         * modules/dirname-tests (Makefile.am): Likewise.
61908         * modules/frexp-tests (Makefile.am): Likewise.
61909         * modules/isnanl-tests (Makefile.am): Likewise.
61910         * modules/linked-list-tests (Makefile.am): Likewise.
61911         * modules/linkedhash-list-tests (Makefile.am): Likewise.
61912         * modules/lock-tests (Makefile.am): Likewise.
61913         * modules/rbtree-list-tests (Makefile.am): Likewise.
61914         * modules/rbtree-oset-tests (Makefile.am): Likewise.
61915         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
61916         * modules/tls-tests (Makefile.am): Likewise.
61917         * modules/tsearch-tests (Makefile.am): Likewise.
61918         * modules/xvasprintf-tests (Makefile.am): Likewise.
61919
61920         Fix fpurge for cygwin.
61921         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
61922         value.
61923         * modules/fpurge-tests (Depends-on): Clean up trash.
61924
61925 2007-04-16  Simon Josefsson  <simon@josefsson.org>
61926
61927         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
61928
61929         * m4/autobuild.m4: Re-indent.
61930
61931 2007-04-13  Bruno Haible  <bruno@clisp.org>
61932
61933         * modules/fpurge-tests: New file.
61934         * tests/test-fpurge.c: New file.
61935
61936         * modules/fpurge: New file.
61937         * lib/fpurge.h: New file.
61938         * lib/fpurge.c: New file.
61939         * m4/fpurge.m4: New file.
61940
61941 2007-04-13  Bruno Haible  <bruno@clisp.org>
61942
61943         * modules/fbufmode-tests: New file.
61944         * tests/test-fbufmode.c: New file.
61945
61946         * modules/fbufmode: New file.
61947         * lib/fbufmode.h: New file.
61948         * lib/fbufmode.c: New file.
61949         * m4/fbufmode.m4: New file.
61950
61951 2007-04-13  Bruno Haible  <bruno@clisp.org>
61952
61953         * modules/fwritable-tests: New file.
61954         * tests/test-fwritable.c: New file.
61955
61956         * modules/fwritable: New file.
61957         * lib/fwritable.h: New file.
61958         * lib/fwritable.c: New file.
61959         * m4/fwritable.m4: New file.
61960
61961 2007-04-13  Bruno Haible  <bruno@clisp.org>
61962
61963         * modules/freadable-tests: New file.
61964         * tests/test-freadable.c: New file.
61965
61966         * modules/freadable: New file.
61967         * lib/freadable.h: New file.
61968         * lib/freadable.c: New file.
61969         * m4/freadable.m4: New file.
61970
61971 2007-04-13  Bruno Haible  <bruno@clisp.org>
61972
61973         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
61974         MOSTLYCLEANFILES.
61975
61976 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
61977
61978         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
61979         gzip bootstrap.conf to avoid dragging in i18n machinery.
61980         (gnulib_tool_option): Use it.
61981
61982 2007-04-13  Bruno Haible  <bruno@clisp.org>
61983
61984         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
61985         %F directives.
61986         * tests/test-vasprintf-posix.c (test_function): Likewise.
61987         * tests/test-snprintf-posix.h (test_function): Likewise.
61988         * tests/test-sprintf-posix.h (test_function): Likewise.
61989         * tests/test-fprintf-posix.h (test_function): Likewise.
61990         * tests/test-printf-posix.h (test_function): Likewise.
61991         * tests/test-fprintf-posix.out: Likewise.
61992
61993 2007-04-13  Bruno Haible  <bruno@clisp.org>
61994
61995         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
61996         * modules/tls-tests (configure.ac): Likewise.
61997         Reported by Arto C. Nirkko <anirkko@insel.ch>.
61998
61999 2007-04-13  Bruno Haible  <bruno@clisp.org>
62000
62001         * lib/tls.c (glthread_tls_get): Fix return type.
62002         Patch by Arto C. Nirkko <anirkko@insel.ch>.
62003
62004 2007-04-12  Eric Blake  <ebb9@byu.net>
62005
62006         * modules/gettime (Depends-on): Remove gettime.
62007         Reported by Dmitry V. Levin.
62008
62009 2007-04-12  Bruno Haible  <bruno@clisp.org>
62010
62011         * modules/fflush (Include): Mention <stdio.h>.
62012         * modules/strtoimax (Include): Mention <inttypes.h>.
62013         * modules/strtoumax (Include): Likewise.
62014
62015 2007-04-12  Eric Blake  <ebb9@byu.net>
62016
62017         * .cvsignore: New file.
62018         * .gitignore: Likewise.
62019
62020 2007-04-12  Bruno Haible  <bruno@clisp.org>
62021
62022         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
62023         not before, since $(LDADD) often contains libgnu.a.
62024         * modules/striconv-tests (test_striconv_LDADD): Likewise.
62025         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
62026         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
62027         Needed on Cygwin.
62028
62029 2007-04-12  Eric Blake  <ebb9@byu.net>
62030
62031         Work around glibc's failure to flush stdin on fclose.
62032         * lib/closein.c (close_stdin): Flush stdin before closing.
62033
62034         Work around glibc's failure to reset seekable stdin on exit.
62035         * modules/closein: New module.
62036         * lib/closein.c: New file.
62037         * lib/closein.h: Likewise.
62038         * m4/closein.m4: Likewise.
62039         * MODULES.html.sh (File stream based Input/Output): Document it.
62040
62041 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62042
62043         * gnulib-tool: Rename generated 'autobuild' script to
62044         'do-autobuild' in --create-megatestdir output.
62045
62046         * doc/gnulib.texi (Build robot for gnulib): Fix.
62047
62048 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62049
62050         * modules/sysexits (Depends-on): Add absolute-header.
62051
62052 2007-04-12  Eric Blake  <ebb9@byu.net>
62053
62054         No need to preserve errno on success.
62055         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
62056         Reported by Bruno Haible.
62057
62058 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62059
62060         * MODULES.html.sh (Support for maintaining and releasing
62061         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
62062
62063 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62064
62065         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
62066
62067 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62068
62069         * modules/autobuild: New module.
62070
62071         * m4/autobuild.m4: New file.
62072
62073 2007-04-11  Bruno Haible  <bruno@clisp.org>
62074
62075         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
62076         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
62077         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
62078         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
62079         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62080         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62081         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62082         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62083         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62084         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62085         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
62086         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62087         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62088         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
62089         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62090         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62091         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
62092         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62093         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62094         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
62095         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62096         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62097         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
62098         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62099         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62100         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
62101         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62102         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62103         Reported by Eric Blake.
62104
62105 2007-04-11  Bruno Haible  <bruno@clisp.org>
62106
62107         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
62108
62109 2007-04-10  Bruno Haible  <bruno@clisp.org>
62110
62111         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
62112         for NaN and Infinity. Needed on FreeBSD 6.1.
62113         * tests/test-vasnprintf-posix.c (test_function): Undo last change
62114         regarding results for "%010a" of Infinity and NaN.
62115         * tests/test-vasprintf-posix.c (test_function): Likewise.
62116         * tests/test-snprintf-posix.h (test_function): Likewise.
62117         * tests/test-sprintf-posix.h (test_function): Likewise.
62118         * tests/test-fprintf-posix.h (test_function): Likewise.
62119         * tests/test-printf-posix.h (test_function): Likewise.
62120         * tests/test-fprintf-posix.out: Likewise.
62121
62122 2007-04-10  Bruno Haible  <bruno@clisp.org>
62123
62124         * modules/locale-tests: New file.
62125         * tests/test-locale.c: New file.
62126
62127         * modules/locale: New file.
62128         * lib/locale_.h: New file.
62129         * m4/locale_h.m4: New file.
62130
62131 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
62132             Bruno Haible  <bruno@clisp.org>
62133
62134         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
62135         be determined, test for availability of the copysignf, copysign,
62136         copysignl functions.
62137         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
62138         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
62139         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
62140
62141 2007-04-09  Eric Blake  <ebb9@byu.net>
62142
62143         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
62144         * modules/stdio (Makefile.am): Support fflush.
62145         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
62146         * modules/fflush: New file.
62147         * lib/fflush.c: Likewise.
62148         * m4/fflush.m4: Likewise.
62149         * modules/fflush-tests: New test.
62150         * tests/test-fflush.c: Likewise.
62151         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
62152
62153 2007-04-06  Bruno Haible  <bruno@clisp.org>
62154
62155         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
62156         (VASNPRINTF): Use signbit for faster determination whether to print a
62157         minus sign.
62158         * modules/vasnprintf (Files): Remove lib/float+.h.
62159         * modules/fprintf-posix (Depends-on): Add signbit.
62160         * modules/snprintf-posix (Depends-on): Likewise.
62161         * modules/sprintf-posix (Depends-on): Likewise.
62162         * modules/vasnprintf-posix (Depends-on): Likewise.
62163         * modules/vasprintf-posix (Depends-on): Likewise.
62164         * modules/vfprintf-posix (Depends-on): Likewise.
62165         * modules/vsnprintf-posix (Depends-on): Likewise.
62166         * modules/vsprintf-posix (Depends-on): Likewise.
62167
62168 2007-04-06  Bruno Haible  <bruno@clisp.org>
62169
62170         * tests/test-frexp.c (main): Test also the sign bit of zero results.
62171         * tests/test-frexpl.c (main): Likewise.
62172         * tests/test-ldexpl.c (main): Likewise.
62173         * modules/frexp-tests (Depends-on): Add signbit.
62174         * modules/frexpl-tests (Depdends-on): Likewise.
62175         * modules/ldexpl-tests (Depdends-on): Likewise.
62176
62177 2007-04-06  Bruno Haible  <bruno@clisp.org>
62178
62179         * modules/signbit-tests: New file.
62180         * tests/test-signbit.c: New file.
62181
62182         * modules/signbit: New file.
62183         * lib/signbitf.c: New file.
62184         * lib/signbitd.c: New file.
62185         * lib/signbitl.c: New file.
62186         * m4/signbit.m4: New file.
62187         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
62188         (signbit): New macro.
62189         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
62190         REPLACE_SIGNBIT.
62191         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
62192         REPLACE_FREXPL into math.h.
62193
62194 2007-04-06  Bruno Haible  <bruno@clisp.org>
62195
62196         * modules/isnanf-nolibm-tests: New file.
62197         * tests/test-isnanf.c: New file.
62198
62199         * modules/isnanf-nolibm: New file.
62200         * lib/isnanf.h: New file.
62201         * lib/isnanf.c: New file.
62202         * lib/isnan.c: Consider the USE_FLOAT macro.
62203         * m4/isnanf.m4: New file.
62204
62205 2007-04-06  Bruno Haible  <bruno@clisp.org>
62206
62207         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
62208         (Link): New section.
62209
62210         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
62211
62212 2007-04-06  Bruno Haible  <bruno@clisp.org>
62213
62214         Assume the 'long double' type.
62215         * m4/longdouble.m4: Remove file.
62216         * config/srclist.txt: Don't mention longdouble.m4.
62217         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
62218         * lib/float+.h: Likewise.
62219         * lib/frexp.c: Likewise.
62220         * lib/printf-args.h: Likewise.
62221         * lib/printf-args.c: Likewise.
62222         * lib/printf-frexp.c: Likewise.
62223         * lib/printf-parse.c: Likewise.
62224         * lib/vasnprintf.c: Likewise.
62225         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
62226         * m4/intl.m4: Likewise.
62227         * m4/isnanl.m4: Likewise.
62228         * m4/printf.m4: Likewise.
62229         * m4/printf-frexpl.m4: Likewise.
62230         * m4/vasnprintf.m4: Likewise.
62231         * modules/allocsa (Files): Remove m4/longdouble.m4.
62232         * modules/gettext (Files): Likewise.
62233         * modules/relocatable-prog-wrapper (Files): Likewise.
62234         * modules/vasnprintf (Files): Likewise.
62235         * modules/isnanl (Files): Likewise.
62236         (Include): Simplify.
62237         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
62238         (Include): Simplify.
62239         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
62240         (Include): Simplify.
62241         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
62242         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62243         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
62244         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62245         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
62246         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62247         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
62248         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62249         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
62250         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62251         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
62252         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62253         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
62254         * tests/test-isnanl.c: Likewise.
62255         * tests/test-snprintf-posix.h: Likewise.
62256         * tests/test-sprintf-posix.h: Likewise.
62257         * tests/test-vasnprintf-posix.c: Likewise.
62258         * tests/test-vasnprintf-posix2.c: Likewise.
62259         * tests/test-vasprintf-posix.c: Likewise.
62260
62261 2007-04-06  Bruno Haible  <bruno@clisp.org>
62262
62263         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
62264         * lib/math_.h [__DECC]: Include the overridden include file through
62265         #include_next, outside the double-inclusion guard.
62266         * lib/stdio_.h [__DECC]: Likewise.
62267         * lib/stdlib_.h [__DECC]: Likewise.
62268         * lib/string_.h [__DECC]: Likewise.
62269         * lib/time_.h [__DECC]: Likewise.
62270         * lib/wchar_.h [__DECC]: Likewise.
62271         * lib/wctype_.h [__DECC]: Likewise.
62272         * lib/inttypes_.h [__DECC]: Likewise.
62273         Reported by Albert Chin <china@thewrittenword.com> in
62274         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
62275
62276 2007-04-04  Eric Blake  <ebb9@byu.net>
62277
62278         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
62279         1.5.x.
62280
62281 2007-04-04  Bruno Haible  <bruno@clisp.org>
62282
62283         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
62284         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
62285
62286 2007-04-04  Bruno Haible  <bruno@clisp.org>
62287
62288         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
62289         results for "%010a" of Infinity and NaN.
62290         * tests/test-vasprintf-posix.c (test_function): Likewise.
62291         * tests/test-snprintf-posix.h (test_function): Likewise.
62292         * tests/test-sprintf-posix.h (test_function): Likewise.
62293         * tests/test-fprintf-posix.h (test_function): Remove these tests.
62294         * tests/test-printf-posix.h (test_function): Likewise.
62295         * tests/test-fprintf-posix.out: Update.
62296         Needed for FreeBSD 6.1.
62297
62298 2007-04-04  Bruno Haible  <bruno@clisp.org>
62299
62300         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
62301         directly used by the gnulib modules nor by gnulib-tool.
62302
62303 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
62304
62305         * DEPENDENCIES: Give overall description of version dependency
62306         desirability.  Use more-typical names for apps.
62307         Add shell, coreutils, diffutils, grep, tar, gzip.
62308
62309 2007-04-04  Simon Josefsson  <simon@josefsson.org>
62310
62311         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
62312
62313 2007-04-04  Karl Berry  <karl@gnu.org>
62314
62315         * MODULES.html.sh (func_module): missing '.
62316
62317 2007-04-03  Bruno Haible  <bruno@clisp.org>
62318
62319         * modules/argmatch-tests (Makefile.am): New variable
62320         test_argmatch_LDADD.
62321         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
62322         * modules/array-list-tests (Makefile.am): New variable
62323         test_array_list_LDADD.
62324         * modules/array-oset-tests (Makefile.am): New variable
62325         test_array_oset_LDADD.
62326         * modules/avltree-list-tests (Makefile.am): New variable
62327         test_avltree_list_LDADD.
62328         * modules/avltree-oset-tests (Makefile.am): New variable
62329         test_avltree_oset_LDADD.
62330         * modules/avltreehash-list-tests (Makefile.am): New variable
62331         test_avltreehash_list_LDADD.
62332         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
62333         test_canonicalize_lgpl_LDADD.
62334         * modules/carray-list-tests (Makefile.am): New variable
62335         test_carray_list_LDADD.
62336         * modules/dirname-tests (Makefile.am): New variable
62337         test_dirname_LDADD.
62338         * modules/linked-list-tests (Makefile.am): New variable
62339         test_linked_list_LDADD.
62340         * modules/linkedhash-list-tests (Makefile.am): New variable
62341         test_linkedhash_list_LDADD.
62342         * modules/rbtree-list-tests (Makefile.am): New variable
62343         test_rbtree_list_LDADD.
62344         * modules/rbtree-oset-tests (Makefile.am): New variable
62345         test_rbtree_oset_LDADD.
62346         * modules/rbtreehash-list-tests (Makefile.am): New variable
62347         test_rbtreehash_list_LDADD.
62348         * modules/xvasprintf-tests (Makefile.am): New variable
62349         test_xvasprintf_LDADD.
62350         Reported by Eric Blake.
62351
62352 2007-04-03  Eric Blake  <ebb9@byu.net>
62353
62354         * DEPENDENCIES: Weaken m4 requirements.
62355
62356 2007-04-03  Bruno Haible  <bruno@clisp.org>
62357
62358         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
62359         * modules/isnanl-tests (configure.ac): Likewise.
62360
62361 2007-04-03  Ben Pfaff  <blp@gnu.org>
62362
62363         * modules/iconv_open: Add $(srcdir)/ to source directory
62364         references in Makefile fragments that call gperf, to fix VPATH
62365         builds.
62366
62367 2007-04-03  Bruno Haible  <bruno@clisp.org>
62368
62369         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
62370         * lib/ldexpl.c: Undo last change.
62371
62372 2007-04-03  Bruno Haible  <bruno@clisp.org>
62373
62374         * modules/printf-frexpl (Depends-on): Undo last change.
62375         (Files): Add m4/ldexpl.m4.
62376
62377 2007-04-03  Bruno Haible  <bruno@clisp.org>
62378
62379         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
62380         * modules/isnanl (Link): New section.
62381
62382         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
62383         * modules/frexp (Link): New section.
62384
62385         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
62386         * modules/frexpl (Link): New section.
62387
62388         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
62389         * modules/ldexpl (Link): New section.
62390
62391 2007-04-03  Bruno Haible  <bruno@clisp.org>
62392
62393         * modules/TEMPLATE-EXTENDED: New file.
62394         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
62395
62396 2007-04-03  Bruno Haible  <bruno@clisp.org>
62397
62398         * DEPENDENCIES: New file.
62399         Suggested by Simon Josefsson.
62400
62401 2007-04-03  Bruno Haible  <bruno@clisp.org>
62402
62403         * doc/gnulib.texi: Escape @.
62404
62405 2007-04-03  James Youngman  <jay@gnu.org>
62406         and Paul Eggert  <eggert@cs.ucla.edu>
62407
62408         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
62409         birthtime on all systems that have birthtime, not just those which
62410         use st_birthtimensec rather than st_birthtim.  Putting zero in
62411         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
62412         that the birth time is not available for files on an NFS mount.
62413
62414 2007-04-03  Simon Josefsson  <simon@josefsson.org>
62415
62416         * modules/memxor: Move back from crypto/, suggested by Bruno.
62417         * modules/crypto/hmac-sha1: Fix memxor dependency.
62418
62419         * modules/crypto/gc: Moved from ../.
62420
62421 2007-04-02  Eric Blake  <ebb9@byu.net>
62422
62423         * lib/ldexpl.c (includes): Avoid libm.
62424
62425         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
62426
62427 2007-04-02  Bruno Haible  <bruno@clisp.org>
62428
62429         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
62430         on IRIX.
62431
62432 2007-04-02  Bruno Haible  <bruno@clisp.org>
62433
62434         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
62435         x86 or x86_64 platforms running MacOS X.
62436         Reported by Ryan Schmidt <@ryandesign.com>.
62437
62438 2007-04-02  Bruno Haible  <bruno@clisp.org>
62439
62440         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
62441         i386.
62442
62443 2007-04-01  Simon Josefsson  <simon@josefsson.org>
62444
62445         * modules/crypto/arcfour: Moved from ../.
62446         * modules/crypto/arcfour-tests: Moved from ../.
62447         * modules/crypto/arctwo: Moved from ../.
62448         * modules/crypto/arctwo-tests: Moved from ../.
62449         * modules/crypto/des: Moved from ../.
62450         * modules/crypto/des-tests: Moved from ../.
62451         * modules/crypto/gc-arcfour: Moved from ../.
62452         * modules/crypto/gc-arcfour-tests: Moved from ../.
62453         * modules/crypto/gc-arctwo: Moved from ../.
62454         * modules/crypto/gc-arctwo-tests: Moved from ../.
62455         * modules/crypto/gc-des: Moved from ../.
62456         * modules/crypto/gc-des-tests: Moved from ../.
62457         * modules/crypto/gc-hmac-md5: Moved from ../.
62458         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
62459         * modules/crypto/gc-hmac-sha1: Moved from ../.
62460         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
62461         * modules/crypto/gc-md2: Moved from ../.
62462         * modules/crypto/gc-md2-tests: Moved from ../.
62463         * modules/crypto/gc-md4: Moved from ../.
62464         * modules/crypto/gc-md4-tests: Moved from ../.
62465         * modules/crypto/gc-md5: Moved from ../.
62466         * modules/crypto/gc-md5-tests: Moved from ../.
62467         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
62468         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
62469         * modules/crypto/gc-random: Moved from ../.
62470         * modules/crypto/gc-rijndael: Moved from ../.
62471         * modules/crypto/gc-rijndael-tests: Moved from ../.
62472         * modules/crypto/gc-sha1: Moved from ../.
62473         * modules/crypto/gc-sha1-tests: Moved from ../.
62474         * modules/crypto/gc-tests: Moved from ../.
62475         * modules/crypto/hmac-md5: Moved from ../.
62476         * modules/crypto/hmac-md5-tests: Moved from ../.
62477         * modules/crypto/hmac-sha1: Moved from ../.
62478         * modules/crypto/hmac-sha1-tests: Moved from ../.
62479         * modules/crypto/md2: Moved from ../.
62480         * modules/crypto/md2-tests: Moved from ../.
62481         * modules/crypto/md4: Moved from ../.
62482         * modules/crypto/md4-tests: Moved from ../.
62483         * modules/crypto/md5: Moved from ../.
62484         * modules/crypto/md5-tests: Moved from ../.
62485         * modules/crypto/memxor: Moved from ../.
62486         * modules/crypto/rijndael: Moved from ../.
62487         * modules/crypto/rijndael-tests: Moved from ../.
62488         * modules/crypto/sha1: Moved from ../.
62489
62490 2007-03-30  James Youngman  <jay@gnu.org>
62491
62492         * tests/test-stat-time.c (prepare_test): use chmod() rather than
62493         rename() to change the ctime of a file (because ctime is unaffected
62494         by rename on jfs2 on AIX 5.1).
62495         (main): Start by doing cleanup, in case a previous run failed leaving
62496         test files behind.
62497
62498 2007-03-31  Bruno Haible  <bruno@clisp.org>
62499
62500         Support old proprietary implementations of iconv.
62501         * modules/iconv_open: New file.
62502         * lib/iconv_.h: New file.
62503         * m4/iconv_h.m4: New file.
62504         * lib/iconv_open.c: New file.
62505         * lib/iconv_open-aix.gperf: New file.
62506         * lib/iconv_open-hpux.gperf: New file.
62507         * lib/iconv_open-irix.gperf: New file.
62508         * lib/iconv_open-osf.gperf: New file.
62509         * m4/iconv_open.m4: New file.
62510         * modules/linebreak (Depends-on): Add iconv_open.
62511         * modules/striconv (Depends-on): Likewise.
62512         * modules/striconveh (Depends-on): Likewise.
62513         * modules/unicodeio (Depends-on): Likewise.
62514         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
62515         (iconv_t)(-1).
62516         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
62517         conversion if cd is (iconv_t)(-1).
62518         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
62519         is not possible.
62520
62521 2007-03-31  Bruno Haible  <bruno@clisp.org>
62522
62523         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
62524         work on Solaris either. Protect also second use of "autodetect_jp".
62525
62526 2007-03-31  Bruno Haible  <bruno@clisp.org>
62527
62528         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
62529         the function is not present.
62530
62531 2007-03-31  Bruno Haible  <bruno@clisp.org>
62532
62533         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
62534         the function is not present.
62535
62536 2007-03-31  Bruno Haible  <bruno@clisp.org>
62537
62538         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
62539         a bug in HP-UX iconv_open().
62540
62541 2007-03-31  Bruno Haible  <bruno@clisp.org>
62542
62543         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
62544         (Mathematics <math.h>): New section, add fpieee.
62545         (Input/output <stdio.h>): Add fseterr.
62546         (Mathematics <math.h>): New section, add printf-frexp.
62547         (Container data structures): Add sublist.
62548         (Core language properties): Add fpucw, inline.
62549         (Functions for greatest-width integer types <inttypes.h>): Add
62550         imaxabs, imaxdiv, inttypes.
62551         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
62552         isnanl-nolibm, ldexp.
62553         (Mathematics <math.h>): New section, add printf-frexpl.
62554         (Support for systems lacking POSIX:2001): Add fprintf-posix,
62555         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
62556         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
62557         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
62558         (Unicode string functions): Add unistr/u*-mbtoucr.
62559         (Java): Add javacomp-script, javaexec-script.
62560         (C#): Add csharpcomp-script, csharpexec-script.
62561         (Support for building libraries and executables): Add havelib,
62562         relocatable-*.
62563         (Support for maintaining and releasing projects): Renamed from
62564         'Support for maintaining and release projects'. Add announce-gen.
62565
62566 2007-03-31  Bruno Haible  <bruno@clisp.org>
62567
62568         * README: Talk primarily about git.
62569         (git and CVS): Renamed from CVS.
62570         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
62571         gnulib is available through git.
62572         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
62573
62574 2007-03-30  Bruno Haible  <bruno@clisp.org>
62575
62576         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
62577         * lib/poll_.h: Likewise.
62578         * lib/stat_.h: Likewise.
62579         * lib/sys_time_.h: Likewise.
62580         * lib/sysexit_.h: Likewise.
62581         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
62582         * lib/stdbool_.h: Likewise.
62583         * lib/byteswap_.h: Add double-inclusion guard.
62584
62585 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
62586
62587         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
62588
62589 2007-03-30  Karl Berry  <karl@gnu.org>
62590
62591         * config/srclist-update: double space after USA in the license
62592         substitution, since that's how it's usually (?) written.
62593
62594 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
62595
62596         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
62597         reported by Bruno Haible.
62598
62599 2007-03-29  Bruno Haible  <bruno@clisp.org>
62600
62601         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
62602         a bug in AIX iconv().
62603
62604 2007-03-29  Bruno Haible  <bruno@clisp.org>
62605
62606         * modules/ldexpl-tests: New file.
62607         * tests/test-ldexpl.c: New file.
62608
62609 2007-03-29  Bruno Haible  <bruno@clisp.org>
62610
62611         * lib/ldexpl.c: Include fpucw.h.
62612         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
62613         multiplication.
62614         * modules/ldexpl (Depends-on): Add fpucw.
62615
62616 2007-03-29  Bruno Haible  <bruno@clisp.org>
62617
62618         * modules/ldexpl: New file.
62619         * m4/ldexpl.m4: New file.
62620         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
62621         set.
62622         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
62623         REPLACE_LDEXPL.
62624         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
62625         REPLACE_LDEXPL.
62626         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
62627         gl_FUNC_LDEXPL_WORKS.
62628         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
62629         * modules/mathl (Files): Remove lib/ldexpl.c.
62630         (Depends-on): Add ldexpl.
62631
62632 2007-03-29  Bruno Haible  <bruno@clisp.org>
62633
62634         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
62635
62636 2007-03-29  Bruno Haible  <bruno@clisp.org>
62637
62638         * tests/test-striconveh.c (main): Don't assume that a direct conversion
62639         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
62640         and possibly also HP-UX.
62641         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
62642         work on AIX, IRIX, HP-UX, OSF/1.
62643         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
62644         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
62645         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
62646         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
62647         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
62648         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
62649
62650 2007-03-29  Bruno Haible  <bruno@clisp.org>
62651
62652         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
62653
62654 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
62655
62656         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
62657         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
62658
62659 2007-03-29  Eric Blake  <ebb9@byu.net>
62660
62661         * lib/acl-internal.h: Remove redundant include.
62662         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
62663         Cygwin when a file is locked.
62664
62665 2007-03-29  Bruno Haible  <bruno@clisp.org>
62666
62667         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
62668         file.
62669         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
62670
62671 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
62672
62673         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
62674         try to remove a parent directory if the child couldn't be removed
62675         (except for the first rmdir, which could fail because the child
62676         doesn't exist).  Problem reported by Jeff Blaine in
62677         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
62678
62679 2007-03-28  Bruno Haible  <bruno@clisp.org>
62680
62681         * lib/striconveh.c (utf8conv_carefully): New function.
62682         (mem_cd_iconveh_internal): Invoke it.
62683
62684 2007-03-28  Bruno Haible  <bruno@clisp.org>
62685
62686         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
62687         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
62688         input.
62689         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
62690         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
62691         unistr/u8-uctomb.
62692
62693 2007-03-28  Bruno Haible  <bruno@clisp.org>
62694
62695         * modules/unistr/u8-mbtoucr: New file.
62696         * lib/unistr/u8-mbtoucr.c: New file.
62697         * modules/unistr/u16-mbtoucr: New file.
62698         * lib/unistr/u16-mbtoucr.c: New file.
62699         * modules/unistr/u16-mbtoucr: New file.
62700         * lib/unistr/u16-mbtoucr.c: New file.
62701         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
62702
62703 2007-03-27  Simon Josefsson  <simon@josefsson.org>
62704             Bruno Haible  <bruno@clisp.org>
62705
62706         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
62707         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
62708         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
62709
62710         * m4/stdio_h.m4: Add stubs for vasprintf too.
62711
62712         * modules/stdio: Support vasprintf in sed command.
62713
62714         * modules/vasprintf: Depend on stdio for prototypes.  Remove
62715         vasprintf.h.  Add stdio module indicator.
62716
62717         * lib/stdio_.h: Declare asprintf and vasprintf, based on
62718         vasprintf.h.
62719
62720         * lib/vasprintf.h: File removed.
62721
62722         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
62723         * lib/vasprintf.c: Ditto.
62724         * lib/xvasprintf.c: Ditto.
62725         * tests/test-vasprintf-posix.c: Ditto.
62726         * tests/test-vasprintf.c: Ditto.
62727
62728 2007-03-27  Bruno Haible  <bruno@clisp.org>
62729
62730         Make vasnprintf multithread-safe.
62731         * lib/vasnprintf.c (decimal_point_char): New function.
62732         (VASNPRINTF): Use it.
62733         Suggested by Simon Josefsson.
62734
62735 2007-03-27  Eric Blake  <ebb9@byu.net>
62736
62737         Support sub-second birthtime on cygwin.
62738         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
62739         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
62740         (get_stat_birthtime): Also work with st_birthtim.
62741
62742 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
62743
62744         * lib/stat-time.h (USE_BIRTHTIME): Remove.
62745         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
62746         (get_stat_birthtime_ns): Do not try to use "spare" fields.
62747         (get_stat_birthtime_ns): Simplify compile-time tests.
62748         (get_stat_birthtime): Change the API to look like
62749         get_stat_mtime etc., except return a negative tv_nsec on error.
62750         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
62751         Don't check for "spare" fields.
62752         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
62753         or for struct stat.st_birthtime, as these tests aren't used.
62754         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
62755
62756 2007-03-27  Bruno Haible  <bruno@clisp.org>
62757
62758         * lib/stat-time.h: Include <sys/stat.h>.
62759
62760 2007-03-27  James Youngman  <jay@gnu.org>
62761
62762         * lib/stat-time.h (get_stat_birthtime): New function for
62763           retrieving st_birthtime as provided by UFS2 (hence *BSD).
62764         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
62765           and its variants.
62766         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
62767         * modules/stat-time-test: New file.
62768         * tests/test-stat-time.c: New test, devised by Bruno Haible.
62769
62770 2007-03-26  Bruno Haible  <bruno@clisp.org>
62771
62772         Better support of signalling NaNs.
62773         * lib/atanl.c: Include isnanl.h.
62774         (atanl): Perform test for NaN at the beginning of the function and
62775         through a call to isnanl.
62776         * lib/cosl.c: Include isnanl.h.
62777         (cosl): Perform test for NaN at the beginning of the function and
62778         through a call to isnanl.
62779         * lib/ldexpl.c: Include isnanl.h.
62780         (ldexpl): Perform test for NaN through a call to isnanl.
62781         * lib/logl.c: Include isnanl.h.
62782         (logl): Perform test for NaN at the beginning of the function and
62783         through a call to isnanl.
62784         * lib/sinl.c: Include isnanl.h.
62785         (sinl): Perform test for NaN at the beginning of the function and
62786         through a call to isnanl.
62787         * lib/sqrtl.c: Include isnanl.h.
62788         (sqrtl): Perform test for NaN at the beginning of the function and
62789         through a call to isnanl.
62790         * lib/tanl.c: Include isnanl.h.
62791         (tanl): Perform test for NaN at the beginning of the function and
62792         through a call to isnanl.
62793         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
62794         * modules/mathl (Depends-on): Add isnanl.
62795
62796 2007-03-26  Eric Blake  <ebb9@byu.net>
62797
62798         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
62799         regression in logic sense of previous patch.
62800
62801 2007-03-26  Bruno Haible  <bruno@clisp.org>
62802
62803         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
62804         unportable shell command "if ! ...".
62805         Reported by Ralf Wildenhues.
62806
62807 2007-03-25  Bruno Haible  <bruno@clisp.org>
62808
62809         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
62810         <sysexits.h> file, and only add EX_CONFIG.
62811         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
62812         absolute file name and whether it is sufficient. Substitute also
62813         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
62814         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
62815         ABSOLUTE_SYSEXITS_H into sysexits.h.
62816
62817 2007-03-25  Bruno Haible  <bruno@clisp.org>
62818
62819         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
62820         hints is NULL.
62821
62822 2007-03-25  Bruno Haible  <bruno@clisp.org>
62823
62824         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
62825         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
62826
62827 2007-03-25  Bruno Haible  <bruno@clisp.org>
62828
62829         * lib/vasnprintf.c: Include langinfo.h.
62830         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
62831         multithread-safe.
62832         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
62833         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
62834         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62835         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62836         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62837         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62838         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62839         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
62840         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62841         Reported by Simon Josefsson.
62842
62843 2007-03-25  Bruno Haible  <bruno@clisp.org>
62844
62845         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
62846         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
62847         * modules/vasnprintf (Depends-on): Add stdint.
62848
62849 2007-03-25  Bruno Haible  <bruno@clisp.org>
62850
62851         * modules/fpieee: New file.
62852         * m4/fpieee.m4: New file.
62853         * modules/isnan-nolibm (Depends-on): Add fpieee.
62854         * modules/isnanl-nolibm (Depends-on): Add fpieee.
62855         * modules/isnanl (Depends-on): Add fpieee.
62856
62857 2007-03-25  Bruno Haible  <bruno@clisp.org>
62858
62859         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
62860
62861 2007-03-25  Bruno Haible  <bruno@clisp.org>
62862
62863         Avoid test failures on IRIX 6.5.
62864         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
62865         (main): Use it.
62866         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
62867         macros.
62868         (main): Use them.
62869
62870 2007-03-25  Bruno Haible  <bruno@clisp.org>
62871
62872         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
62873         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
62874         exists but doesn't work.
62875         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
62876         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
62877         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
62878         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
62879         math.h.
62880
62881 2007-03-25  Bruno Haible  <bruno@clisp.org>
62882
62883         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
62884         returns inf. Needed on IRIX 6.5.
62885
62886 2007-03-25  Bruno Haible  <bruno@clisp.org>
62887
62888         * tests/test-frexpl.c: Include isnanl-nolibm.h.
62889         (main): Use isnanl instead of x != x idiom.
62890         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
62891
62892         * tests/test-frexp.c: Include isnan.h.
62893         (main): Use isnan instead of x != x idiom.
62894         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
62895
62896 2007-03-25  Bruno Haible  <bruno@clisp.org>
62897
62898         * tests/test-frexp.c (NaN): New function/macro.
62899         (main): Use it instead of 0.0 / 0.0.
62900         * tests/test-isnan.c (NaN): New function/macro.
62901         (main): Use it instead of 0.0 / 0.0.
62902         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
62903         (test_function): Use it instead of 0.0 / 0.0.
62904         * tests/test-vasprintf-posix.c (NaN): New function/macro.
62905         (test_function): Use it instead of 0.0 / 0.0.
62906         * tests/test-snprintf-posix.h (NaN): New function/macro.
62907         (test_function): Use it instead of 0.0 / 0.0.
62908         * tests/test-sprintf-posix.h (NaN): New function/macro.
62909         (test_function): Use it instead of 0.0 / 0.0.
62910         * tests/test-fprintf-posix.h (NaN): New function/macro.
62911         (test_function): Use it instead of 0.0 / 0.0.
62912         * tests/test-printf-posix.h (NaN): New function/macro.
62913         (test_function): Use it instead of 0.0 / 0.0.
62914
62915         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
62916
62917 2007-03-25  Bruno Haible  <bruno@clisp.org>
62918
62919         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
62920
62921 2007-03-25  Bruno Haible  <bruno@clisp.org>
62922
62923         * lib/regexec.c (merge_state_with_log): Make static.
62924
62925 2007-03-25  Bruno Haible  <bruno@clisp.org>
62926
62927         * lib/trigl.c (kernel_rem_pio2): Make static.
62928
62929 2007-03-25  Bruno Haible  <bruno@clisp.org>
62930
62931         * lib/sincosl.c (sincosl_table): Make static.
62932
62933 2007-03-25  Bruno Haible  <bruno@clisp.org>
62934
62935         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
62936         if the compiler does not support C99.
62937
62938 2007-03-25  Bruno Haible  <bruno@clisp.org>
62939
62940         * modules/time (Makefile.am): Ensure all rule action lines start with a
62941         tab.
62942
62943 2007-03-24  Bruno Haible  <bruno@clisp.org>
62944
62945         * modules/tsearch-tests: New file.
62946         * tests/test-tsearch.sh: New file.
62947         * tests/test-tsearch.c: New file, mostly copied from glibc.
62948
62949         * modules/search-tests: New file.
62950         * tests/test-search.c: New file.
62951
62952         * modules/search: New file.
62953         * lib/search_.h: New file, incorporating lib/tsearch.h.
62954         * m4/search_h.m4: New file.
62955         * lib/tsearch.h: Remove file.
62956         * lib/tsearch.c: Include search.h instead of tsearch.h.
62957         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
62958         HAVE_TSEARCH.
62959         * modules/tsearch (Files): Remove lib/tsearch.h.
62960         (Depends-on): Add search.
62961         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
62962         (Include): Change tsearch.h into search.h.
62963
62964 2007-03-24  Bruno Haible  <bruno@clisp.org>
62965
62966         * modules/fpucw: New file.
62967         * lib/fpucw.h: New file.
62968         * lib/frexp.c: Include fpucw.h.
62969         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
62970         (FUNC): Use them.
62971         * lib/printf-frexp.c: Include fpucw.h.
62972         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
62973         (FUNC): Use them.
62974         * lib/vasnprintf.c: Include fpucw.h.
62975         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
62976         'long double' calculations.
62977         * tests/test-frexpl.c: Include fpucw.h.
62978         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
62979         * tests/test-printf-frexpl.c: Include fpucw.h.
62980         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
62981         * modules/frexpl (Depends-on): Add fpucw.
62982         * modules/printf-frexpl (Depends-on): Likewise.
62983         * modules/fprintf-posix (Depends-on): Likewise.
62984         * modules/snprintf-posix (Depends-on): Likewise.
62985         * modules/sprintf-posix (Depends-on): Likewise.
62986         * modules/vasnprintf-posix (Depends-on): Likewise.
62987         * modules/vasprintf-posix (Depends-on): Likewise.
62988         * modules/vfprintf-posix (Depends-on): Likewise.
62989         * modules/vsnprintf-posix (Depends-on): Likewise.
62990         * modules/vsprintf-posix (Depends-on): Likewise.
62991         * modules/frexpl-tests (Depends-on): Likewise.
62992         * modules/printf-frexpl-tests (Depends-on): Likewise.
62993
62994 2007-03-24  Bruno Haible  <bruno@clisp.org>
62995
62996         * lib/float+.h: New file.
62997         * lib/isnan.c: Include float+.h.
62998         (SIZE): New macro.
62999         (FUNC): Compare only SIZE bytes of the value.
63000         * lib/vasnprintf.c: Include float+.h.
63001         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
63002         SIZEOF_LDBL or SIZEOF_DBL bytes.
63003         * modules/isnan-nolibm (Files): Add lib/float+.h.
63004         * modules/isnanl-nolibm (Files): Add lib/float+.h.
63005         * modules/isnanl (Files): Add lib/float+.h.
63006         * modules/vasnprintf (Files): Add lib/float+.h.
63007
63008 2007-03-24  Bruno Haible  <bruno@clisp.org>
63009
63010         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
63011         include isnanl-nolibm.h.
63012
63013 2007-03-24  Bruno Haible  <bruno@clisp.org>
63014
63015         * tests/test-read-file.c (main): Don't produce spurious output for
63016         expected situations. Make the test fail if it encountered unexpected
63017         results.
63018
63019 2007-03-24  Bruno Haible  <bruno@clisp.org>
63020
63021         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
63022         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
63023
63024 2007-03-24  Bruno Haible  <bruno@clisp.org>
63025
63026         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
63027
63028 2007-03-24  Bruno Haible  <bruno@clisp.org>
63029
63030         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
63031         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
63032
63033         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
63034         * modules/utf8-ucs4: Turn into a symbolic link to module
63035         unistr/u8-mbtouc.
63036
63037         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
63038         utf8-ucs4-unsafe.
63039         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
63040         unistr/u8-mbtouc-unsafe.
63041
63042         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
63043         * modules/utf16-ucs4: Turn into a symbolic link to module
63044         unistr/u16-mbtouc.
63045
63046         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
63047         utf16-ucs4-unsafe.
63048         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
63049         unistr/u16-mbtouc-unsafe.
63050
63051         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
63052         * modules/ucs4-utf8: Turn into a symbolic link to module
63053         unistr/u8-ubtomb.
63054
63055         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
63056         * modules/ucs4-utf16: Turn into a symbolic link to module
63057         unistr/u16-ubtomb.
63058
63059 2007-03-24  Bruno Haible  <bruno@clisp.org>
63060
63061         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
63062         Enable the function only if HAVE_INLINE.
63063         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
63064         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
63065         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
63066         Enable the function only if HAVE_INLINE.
63067         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
63068         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
63069         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
63070         Enable the function only if HAVE_INLINE.
63071         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
63072         Enable the function only if HAVE_INLINE.
63073         * modules/utf8-ucs4: Update.
63074         * modules/utf8-ucs4-unsafe: Update.
63075         * modules/utf16-ucs4: Update.
63076         * modules/utf16-ucs4-unsafe: Update.
63077         * modules/ucs4-utf8: Update.
63078         * modules/ucs4-utf16: Update.
63079
63080 2007-03-24  Bruno Haible  <bruno@clisp.org>
63081
63082         * lib/utf8-ucs4.h: Remove file.
63083         * lib/utf8-ucs4-unsafe.h: Remove file.
63084         * lib/utf16-ucs4.h: Remove file.
63085         * lib/utf16-ucs4-unsafe.h: Remove file.
63086         * lib/ucs4-utf8.h: Remove file.
63087         * lib/ucs4-utf16.h: Remove file.
63088         * lib/unistr.h: Include their previous contents.
63089         * m4/utf-ucs4.m4: Remove file.
63090         * m4/ucs4-utf.m4: Remove file.
63091         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
63092         (Depends-on): Add unistr/base.
63093         (configure.ac): Remove gl_UTF_UCS4.
63094         (Makefile.am): Update.
63095         (Include): Change to unistr.h.
63096         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
63097         (Depends-on): Add unistr/base.
63098         (configure.ac): Remove gl_UTF_UCS4.
63099         (Makefile.am): Update.
63100         (Include): Change to unistr.h.
63101         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
63102         (Depends-on): Add unistr/base.
63103         (configure.ac): Remove gl_UTF_UCS4.
63104         (Makefile.am): Update.
63105         (Include): Change to unistr.h.
63106         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
63107         (Depends-on): Add unistr/base.
63108         (configure.ac): Remove gl_UTF_UCS4.
63109         (Makefile.am): Update.
63110         (Include): Change to unistr.h.
63111         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
63112         (Depends-on): Add unistr/base.
63113         (configure.ac): Remove gl_UCS4_UTF.
63114         (Makefile.am): Update.
63115         (Include): Change to unistr.h.
63116         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
63117         (Depends-on): Add unistr/base.
63118         (configure.ac): Remove gl_UCS4_UTF.
63119         (Makefile.am): Update.
63120         (Include): Change to unistr.h.
63121         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
63122         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
63123         utf8-ucs4-unsafe.h.
63124         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
63125         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
63126         utf16-ucs4-unsafe.h.
63127         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
63128         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
63129         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
63130         * lib/unistr/u8-strchr.c: Likewise.
63131         * lib/unistr/u8-strrchr.c: Likewise.
63132         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
63133         * lib/unistr/u16-strchr.c: Likewise.
63134         * lib/unistr/u16-strrchr.c: Likewise.
63135         * lib/striconveh.c: Update.
63136         * lib/linebreak.c: Update.
63137
63138 2007-03-24  Bruno Haible  <bruno@clisp.org>
63139
63140         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
63141         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
63142
63143 2007-03-22  Bruno Haible  <bruno@clisp.org>
63144
63145         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
63146
63147 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
63148
63149         * MODULES.html.sh (File system functions): New module write-any-file.
63150         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
63151         * m4/write-any-file.m4: New files.
63152
63153 2007-03-23  Eric Blake  <ebb9@byu.net>
63154
63155         * gnulib-tool: Rearrange space-tab sequences, since some editors
63156         like to eat them.
63157
63158 2007-03-23  Eric Blake  <ebb9@byu.net>
63159
63160         * lib/version-etc.c (version_etc_va): Update license wording to
63161         be more concise.  Recommended by Richard Stallman.
63162
63163 2007-03-22  Bruno Haible  <bruno@clisp.org>
63164
63165         * lib/poll.c (MSG_PEEK): New fallback definition.
63166
63167 2007-03-22  Bruno Haible  <bruno@clisp.org>
63168
63169         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
63170         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
63171         (main): Update.
63172         Fixes a compilation error on BeOS.
63173
63174 2007-03-22  Bruno Haible  <bruno@clisp.org>
63175
63176         * modules/frexpl-tests: New file.
63177         * tests/test-frexpl.c: New file.
63178
63179         * modules/frexpl: New file.
63180         * m4/frexpl.m4: New file.
63181         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
63182         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
63183         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
63184         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
63185         (Depends-on): Add frexpl. Remove isnanl-nolibm.
63186         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
63187
63188 2007-03-22  Bruno Haible  <bruno@clisp.org>
63189
63190         * lib/frexpl.c: Share code with lib/frexp.c.
63191         * modules/mathl (Files): Add lib/frexp.c.
63192         (Depends-on): Add isnanl-nolibm.
63193
63194 2007-03-22  Bruno Haible  <bruno@clisp.org>
63195
63196         * modules/printf-frexp (Files): Add m4/frexp.m4.
63197         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
63198         only if the found frexp function actually works.
63199
63200 2007-03-22  Bruno Haible  <bruno@clisp.org>
63201
63202         * lib/frexp.c: Remove older implementation that uses divisions.
63203
63204 2007-03-21  Bruno Haible  <bruno@clisp.org>
63205
63206         * modules/frexp-tests: New file.
63207         * tests/test-frexp.c: New file.
63208
63209         * modules/frexp: New file.
63210         * lib/frexp.c: New file.
63211         * m4/frexp.m4: New file.
63212         * lib/math_.h (frexp): New declaration.
63213         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
63214         REPLACE_FREXP.
63215         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
63216
63217 2007-03-21  Bruno Haible  <bruno@clisp.org>
63218
63219         * modules/isnanl-tests: New file.
63220         * tests/test-isnanl.c: New file.
63221
63222         * modules/isnanl: New file.
63223         * lib/isnanl.h: New file.
63224         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
63225         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
63226         gl_FUNC_ISNANL_WORKS.
63227         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
63228         New macros.
63229
63230 2007-03-21  Bruno Haible  <bruno@clisp.org>
63231
63232         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
63233         lib/isnanl.h.
63234         (Include): Update.
63235         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
63236         * lib/vasnprintf.c: Update.
63237         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
63238         tests/test-isnanl.h, remove tests/test-isnanl.c.
63239         (Makefile.am): Update.
63240         * tests/test-isnanl-nolibm.c: New file.
63241         * tests/test-isnanl.h: New file.
63242         * tests/test-isnanl.c: Remove file.
63243
63244 2007-03-21  Jim Meyering  <jim@meyering.net>
63245
63246         When trying to open ".", treat ESTALE like EACCES.
63247         * lib/savewd.c (savewd_save): Resort to forking not just upon
63248         failure with EACCES, but also when errno is ESTALE.
63249
63250 2007-03-20  Bruno Haible  <bruno@clisp.org>
63251
63252         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
63253         Needed on AIX 5.1. Reported by Matthew Woehlke.
63254
63255 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63256
63257         Suggestions by Bruno Haible:
63258         * lib/acl-internal.h: Include "gettext.h" rather than rolling
63259         our own.
63260         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
63261         * modules/acl (Depends-on): Add gettext.
63262
63263 2007-03-19  Bruno Haible  <bruno@clisp.org>
63264
63265         * modules/iconvme: Remove file.
63266         * lib/iconvme.h: Remove file.
63267         * lib/iconvme.c: Remove file.
63268         * m4/iconvme.m4: Remove file.
63269
63270 2007-03-19  Bruno Haible  <bruno@clisp.org>
63271
63272         * doc/relocatable-maint.texi: Break long shell script line.
63273         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
63274
63275 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63276
63277         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
63278         handle file_has_acl.
63279         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
63280         * lib/acl.c: Move header inclusions and related macro defns into
63281         lib/acl-internal.h.
63282         (S_ISLNK): Remove defn, since that's now done for us.
63283         (file_has_acl): Move to lib/file-has-acl.c.
63284         Call acl_trivial if available.  This is the crucial part of the fix.
63285         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
63286         shared within the library.  Rewrite a bit, partly to make it compatible
63287         with the GNU coding style.
63288         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
63289         Remove unnecessary double-quotes.
63290         Don't test for acl_to_text; the build will catch that.
63291         Replace acl_entries if it doesn't exist and it is needed.
63292         Check for -lsec and acl_trivial (as used on Solaris 10).
63293         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
63294         lib/file-has-acl.c.
63295         (Depends-on): Add sys_stat, for S_ISLNK.
63296
63297 2007-03-19  Ben Pfaff  <blp@gnu.org>
63298
63299         * doc/gnulib.texi: Fix typos.
63300         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
63301
63302 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63303
63304         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
63305         If size is zero here, buf must be zero.
63306
63307 2007-03-19  Simon Josefsson  <simon@josefsson.org>
63308
63309         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
63310         <bruno@clisp.org>.
63311
63312 2007-03-18  Bruno Haible  <bruno@clisp.org>
63313
63314         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
63315         Suggested by Eric Blake.
63316
63317 2007-03-18  Ben Pfaff  <blp@gnu.org>
63318
63319         * doc/relocatable.texi: Recommend using as prefix a directory
63320         that does not exist and will never be created.  Based on
63321         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
63322         and others.
63323
63324 2007-03-17  Bruno Haible  <bruno@clisp.org>
63325
63326         * lib/fchownat.c: Include lchown.h.
63327
63328 2007-03-17  Bruno Haible  <bruno@clisp.org>
63329
63330         Fix endless loop when the given allocated size was > INT_MAX.
63331         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
63332         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
63333         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
63334         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
63335         * lib/sprintf.c (sprintf): Likewise.
63336
63337 2007-03-17  Bruno Haible  <bruno@clisp.org>
63338
63339         * tests/test-argp-2.sh (func_compare): Output a context diff.
63340
63341 2007-03-17  Bruno Haible  <bruno@clisp.org>
63342
63343         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
63344         locale's decimal-point character.
63345
63346 2007-03-17  Bruno Haible  <bruno@clisp.org>
63347
63348         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
63349         before comparing it. Needed because on some platforms (e.g. x86) a
63350         'long double' occupies less bytes than sizeof (long double).
63351
63352 2007-03-17  Bruno Haible  <bruno@clisp.org>
63353
63354         * tests/test-crc.c (main): Make printf statements 64-bit clean.
63355         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
63356         * tests/test-getaddrinfo.c (simple): Likewise.
63357         * tests/test-read-file.c (main): Likewise.
63358
63359 2007-03-17  Bruno Haible  <bruno@clisp.org>
63360
63361         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
63362
63363 2007-03-17  Bruno Haible  <bruno@clisp.org>
63364
63365         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
63366         unused variable.
63367
63368 2007-03-17  Bruno Haible  <bruno@clisp.org>
63369
63370         * tests/test-c-strcasecmp.c: Include c-strcase.h.
63371         * tests/test-c-strncasecmp.c: Likewise.
63372
63373 2007-03-17  Bruno Haible  <bruno@clisp.org>
63374
63375         * modules/stdlib (Depends-on): Add unistd.
63376         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
63377         Needed for MacOS X 10.3.
63378
63379 2007-03-17  Bruno Haible  <bruno@clisp.org>
63380
63381         * lib/unistr/u-strdup.h: Include <stdlib.h>.
63382
63383 2007-03-17  Bruno Haible  <bruno@clisp.org>
63384
63385         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
63386
63387 2007-03-17  Bruno Haible  <bruno@clisp.org>
63388
63389         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
63390         to reflect files copied from gnulib (with or without modifications).
63391         Suggested by Jim Meyering.
63392
63393 2007-03-17  Eric Blake  <ebb9@byu.net>
63394
63395         * NEWS: Document stdlib change from 2007-02-18.
63396
63397 2007-03-17  Jim Meyering  <jim@meyering.net>
63398
63399         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
63400         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
63401         someone uses a name containing shell meta-characters.
63402         Reported by Alfred M. Szmidt.
63403
63404         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
63405
63406 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
63407
63408         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
63409         and copy gettext configuration files only if configure.ac contains
63410         a use of AM_GNU_GETTEXT_VERSION.
63411
63412 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
63413
63414         * build-aux/bootstrap (gnulib_name): New variable.
63415         (gnulib_tool_options): Use it.
63416
63417 2007-03-13  Simon Josefsson  <simon@josefsson.org>
63418
63419         * tests/test-des.c: Use new namespace.
63420
63421 2007-03-15  Bruno Haible  <bruno@clisp.org>
63422
63423         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
63424         Reported by James Youngman <jay@gnu.org>.
63425
63426 2007-03-15  Bruno Haible  <bruno@clisp.org>
63427
63428         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
63429         declared prototype. Needed with cc on OSF/1 5.1.
63430
63431 2007-03-15  Bruno Haible  <bruno@clisp.org>
63432
63433         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
63434         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
63435         (struct gl_list_implementation): Add dispose_fn argument to the
63436         'create_empty', 'create' methods.
63437         (struct gl_list_impl_base): Add field 'dispose_fn'.
63438         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
63439         argument.
63440         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
63441         dispose_fn argument.
63442         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
63443         dispose_fn on the dropped values.
63444         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
63445         dispose_fn argument.
63446         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
63447         dropped values.
63448         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
63449         (gl_tree_remove_node): Call dispose_fn on the dropped value.
63450         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
63451         (gl_tree_remove_node): Call dispose_fn on the dropped value.
63452         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
63453         argument.
63454         (gl_tree_list_free): Call dispose_fn on the dropped values.
63455         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
63456         the dropped values.
63457         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
63458         Add dispose_fn argument.
63459         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
63460         Call dispose_fn on the dropped values.
63461         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
63462         Add dispose_fn argument.
63463         (gl_sublist_create): Initialize the 'dispose_fn' field.
63464         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
63465         * tests/test-array_list.c (main): Update.
63466         * tests/test-carray_list.c (main): Update.
63467         * tests/test-avltree_list.c (main): Update.
63468         * tests/test-rbtree_list.c (main): Update.
63469         * tests/test-avltreehash_list.c (main): Update.
63470         * tests/test-rbtreehash_list.c (main): Update.
63471         * tests/test-linked_list.c (main): Update.
63472         * tests/test-linkedhash_list.c (main): Update.
63473         * tests/test-array_oset.c (main): Update.
63474
63475 2007-03-15  Bruno Haible  <bruno@clisp.org>
63476
63477         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
63478         (gl_oset_create_empty): Add dispose_fn argument.
63479         (struct gl_oset_implementation): Add dispose_fn argument to
63480         'create_empty' method.
63481         (struct gl_oset_impl_base): Add dispose_fn field.
63482         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
63483         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
63484         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
63485         values.
63486         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
63487         (gl_tree_oset_free): Call dispose_fn on the dropped values.
63488         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
63489         dropped value.
63490         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
63491         dropped value.
63492         * tests/test-array_oset.c (main): Update.
63493         * tests/test-avltree_oset.c (main): Update.
63494         * tests/test-rbtree_oset.c (main): Update.
63495         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
63496
63497 2007-03-13  Bruno Haible  <bruno@clisp.org>
63498
63499         * tests/test-stdbool.c (i): Update after last patch.
63500
63501 2007-03-12  Bruno Haible  <bruno@clisp.org>
63502
63503         * lib/quotearg.c: Include <wctype.h> early, before the definition of
63504         the iswprint macro. Needed on Solaris 2.5.1.
63505
63506 2007-03-12  Bruno Haible  <bruno@clisp.org>
63507
63508         * tests/test-printf-frexp.c (main): Declare x as volatile.
63509
63510 2007-03-12  Simon Josefsson  <simon@josefsson.org>
63511
63512         * doc/gnulib.texi (Build robot for gnulib): New section.
63513
63514 2007-03-12  Jim Meyering  <jim@meyering.net>
63515
63516         * build-aux/bootstrap: New file.
63517         * build-aux/bootstrap.conf: New file, from coreutils.
63518
63519 2007-03-11  Bruno Haible  <bruno@clisp.org>
63520
63521         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
63522
63523 2007-03-12  Simon Josefsson  <simon@josefsson.org>
63524
63525         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
63526         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
63527         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
63528
63529 2007-03-11  Bruno Haible  <bruno@clisp.org>
63530
63531         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
63532         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
63533
63534 2007-03-11  Bruno Haible  <bruno@clisp.org>
63535
63536         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
63537         formula. Needed for SunPRO C 5.0.
63538
63539 2007-03-11  Bruno Haible  <bruno@clisp.org>
63540
63541         * modules/long-options (Depends-on): Add getopt.
63542
63543 2007-03-11  Bruno Haible  <bruno@clisp.org>
63544
63545         * modules/modechange (Depends-on): Add stdbool.
63546
63547 2007-03-11  Bruno Haible  <bruno@clisp.org>
63548
63549         * modules/i-ring (Depends-on): Add stdbool.
63550
63551 2007-03-11  Bruno Haible  <bruno@clisp.org>
63552
63553         * modules/gc-des (Depends-on): Add stdbool.
63554
63555 2007-03-11  Bruno Haible  <bruno@clisp.org>
63556
63557         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
63558
63559 2007-03-11  Bruno Haible  <bruno@clisp.org>
63560
63561         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
63562
63563 2007-03-11  Bruno Haible  <bruno@clisp.org>
63564
63565         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
63566
63567 2007-03-11  Bruno Haible  <bruno@clisp.org>
63568
63569         * lib/vasnprintf.c (sprintf): Undefine.
63570
63571 2007-03-11  Bruno Haible  <bruno@clisp.org>
63572
63573         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
63574         initializers in SunPRO C and Compaq C compilers.
63575
63576 2007-03-11  Bruno Haible  <bruno@clisp.org>
63577
63578         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
63579         decrementing code ANSI C compliant.
63580
63581 2007-03-11  Bruno Haible  <bruno@clisp.org>
63582
63583         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
63584         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
63585
63586 2007-03-11  Bruno Haible  <bruno@clisp.org>
63587
63588         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
63589         <stdbool.h> substitute doesn't pass.
63590
63591 2007-03-11  Bruno Haible  <bruno@clisp.org>
63592
63593         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
63594
63595 2007-03-11  Bruno Haible  <bruno@clisp.org>
63596
63597         * gnulib-tool (func_create_megatestdir): Create also an autobuild
63598         script, for submission to autobuild.josefsson.org.
63599
63600 2007-03-10  Bruno Haible  <bruno@clisp.org>
63601
63602         * modules/canonicalize-lgpl-tests: New file.
63603         * tests/test-canonicalize-lgpl.sh: New file.
63604         * tests/test-canonicalize-lgpl.c: New file.
63605
63606         * modules/c-strcase-tests: New file.
63607         * tests/test-c-strcase.sh: New file.
63608         * tests/test-c-strcasecmp.c: New file.
63609         * tests/test-c-strncasecmp.c: New file.
63610
63611         * modules/atexit-tests: New file.
63612         * tests/test-atexit.sh: New file.
63613         * tests/test-atexit.c: New file.
63614
63615 2007-03-10  Bruno Haible  <bruno@clisp.org>
63616
63617         * tests/test-binary-io.sh: Use temporary filenames that are not so
63618         likely to clash with those of other tests (in a parallel make).
63619         * tests/test-binary-io.c: Likewise.
63620
63621 2007-03-10  Bruno Haible  <bruno@clisp.org>
63622
63623         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
63624         fallback; use #error instead.
63625         Suggested by Simon Josefsson.
63626
63627 2007-03-10  Bruno Haible  <bruno@clisp.org>
63628
63629         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
63630         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
63631         first and the last.
63632
63633 2007-03-10  Bruno Haible  <bruno@clisp.org>
63634
63635         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
63636
63637 2007-03-10  Bruno Haible  <bruno@clisp.org>
63638
63639         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
63640         "make distcheck".
63641         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
63642         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
63643         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
63644
63645 2007-03-10  Bruno Haible  <bruno@clisp.org>
63646
63647         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
63648         variable.
63649         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
63650         variable.
63651
63652 2007-03-09  Eric Blake  <ebb9@byu.net>
63653         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
63654
63655         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
63656         types are not being provided by gnulib.
63657         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
63658         types are supported.
63659
63660 2007-03-10  Bruno Haible  <bruno@clisp.org>
63661
63662         * lib/stdio_.h (__attribute__): New macro.
63663         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
63664         vsprintf): Specify __attribute__ __format__ for GCC.
63665         Suggested by Eric Blake.
63666
63667 2007-03-09  Bruno Haible  <bruno@clisp.org>
63668
63669         * modules/printf-posix-tests: New file.
63670         * tests/test-printf-posix.sh: New file.
63671         * tests/test-printf-posix.c: New file.
63672
63673         * modules/printf-posix: New file.
63674         * lib/printf.c: New file.
63675         * m4/printf-posix-rpl.m4: New file.
63676         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
63677         REPLACE_PRINTF.
63678         * lib/stdio_.h (printf): New declaration.
63679         (format, __format__, ____printf____, ____scanf____, ____strftime____,
63680         ____strfmon____): New macros.
63681         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
63682         REPLACE_PRINTF.
63683
63684 2007-03-09  Bruno Haible  <bruno@clisp.org>
63685
63686         * tests/test-vasnprintf-posix2.sh: New file.
63687         * tests/test-vasnprintf-posix2.c: New file.
63688         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
63689         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
63690         (Makefile.am): Activate test-vasnprintf-posix2.sh.
63691
63692         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
63693         a locale dependent decimal point, rather than always '.'.
63694
63695 2007-03-09  Eric Blake  <ebb9@byu.net>
63696
63697         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
63698         spite of platforms like Tandem/NSK that define it to -1.
63699
63700 2007-03-08  Bruno Haible  <bruno@clisp.org>
63701
63702         * modules/vprintf-posix-tests: New file.
63703         * tests/test-vprintf-posix.sh: New file.
63704         * tests/test-vprintf-posix.c: New file.
63705         * tests/test-printf-posix.h: New file.
63706
63707         * modules/vprintf-posix: New file.
63708         * lib/vprintf.c: New file.
63709         * m4/vprintf-posix.m4: New file.
63710         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
63711         REPLACE_VPRINTF.
63712         * lib/stdio_.h (vprintf): New declaration.
63713         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
63714         REPLACE_VPRINTF.
63715
63716 2007-03-08  Bruno Haible  <bruno@clisp.org>
63717
63718         * modules/fprintf-posix-tests: New file.
63719         * tests/test-fprintf-posix.sh: New file.
63720         * tests/test-fprintf-posix.c: New file.
63721
63722         * modules/fprintf-posix: New file.
63723         * lib/fprintf.c: New file.
63724         * m4/fprintf-posix.m4: New file.
63725         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
63726         REPLACE_FPRINTF.
63727         * lib/stdio_.h (fprintf): New declaration.
63728         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
63729         REPLACE_FPRINTF.
63730
63731 2007-03-08  Bruno Haible  <bruno@clisp.org>
63732
63733         * modules/vfprintf-posix-tests: New file.
63734         * tests/test-vfprintf-posix.sh: New file.
63735         * tests/test-vfprintf-posix.c: New file.
63736         * tests/test-fprintf-posix.h: New file.
63737         * tests/test-fprintf-posix.out: New file.
63738
63739         * modules/vfprintf-posix: New file.
63740         * lib/vfprintf.c: New file.
63741         * m4/vfprintf-posix.m4: New file.
63742         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
63743         REPLACE_VFPRINTF.
63744         * lib/stdio_.h (vfprintf): New declaration.
63745         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
63746         REPLACE_VFPRINTF.
63747
63748 2007-03-08  Bruno Haible  <bruno@clisp.org>
63749
63750         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
63751
63752 2007-03-08  Bruno Haible  <bruno@clisp.org>
63753
63754         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
63755         instead of 'expr' invocations.
63756         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63757         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63758         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63759         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63760         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63761         Suggested by Paul Eggert.
63762
63763 2007-03-08  Bruno Haible  <bruno@clisp.org>
63764
63765         * modules/fseterr-tests: New file.
63766         * tests/test-fseterr.c: New file.
63767
63768         * modules/fseterr: New file.
63769         * lib/fseterr.h: New file.
63770         * lib/fseterr.c: New file.
63771
63772 2007-03-08  Bruno Haible  <bruno@clisp.org>
63773
63774         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
63775         * lib/getopt_.h: Likewise.
63776         * lib/mbswidth.h: Likewise.
63777         * lib/setenv.h: Likewise.
63778         * lib/vasnprintf.h: Likewise.
63779         * lib/vasprintf.h: Likewise.
63780         * lib/verror.h: Likewise.
63781         * lib/xsetenv.h: Likewise.
63782         * lib/xvasprintf.h: Likewise.
63783
63784 2007-03-08  Jim Meyering  <jim@meyering.net>
63785
63786         * users.txt: Add parted.
63787
63788         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
63789
63790 2007-03-07  Bruno Haible  <bruno@clisp.org>
63791
63792         * m4/printf.m4: Make the shell script snippets copy&pastable.
63793
63794 2007-03-02  Bruno Haible  <bruno@clisp.org>
63795
63796         * lib/netinet_in_.h: New file.
63797         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
63798         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
63799         * modules/netinet_in (Files): Add lib/netinet_in_.h.
63800         (Depends-on): Add absolute-header.
63801         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
63802         into netinet/in.h.
63803
63804 2007-03-03  Bruno Haible  <bruno@clisp.org>
63805
63806         * lib/sys_select_.h: New file.
63807         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
63808         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
63809         * modules/sys_select (Files): Add lib/sys_select_.h.
63810         (Depends-on): Add absolute-header.
63811         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
63812         into sys/select.h.
63813
63814 2007-03-02  Bruno Haible  <bruno@clisp.org>
63815
63816         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
63817         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
63818         values.
63819         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
63820         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
63821         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
63822         * modules/sys_socket (Depends-on): Add absolute-header.
63823         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
63824         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
63825         (Include): Remove requirement of inclusion of <sys/types.h>.
63826
63827 2007-03-02  Bruno Haible  <bruno@clisp.org>
63828
63829         * lib/byteswap_.h (bswap_32): Fix formula.
63830
63831 2007-03-06  Bruno Haible  <bruno@clisp.org>
63832
63833         * modules/sprintf-posix-tests: New file.
63834         * tests/test-sprintf-posix.c: New file.
63835
63836         * modules/sprintf-posix: New file.
63837         * lib/sprintf.c: New file.
63838         * m4/sprintf-posix.m4: New file.
63839         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
63840         REPLACE_SPRINTF.
63841         * lib/stdio_.h (sprintf): New declaration.
63842         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
63843         REPLACE_SPRINTF.
63844
63845 2007-03-06  Bruno Haible  <bruno@clisp.org>
63846
63847         * modules/vsprintf-posix-tests: New file.
63848         * tests/test-vsprintf-posix.c: New file.
63849         * tests/test-sprintf-posix.h: New file.
63850
63851         * modules/vsprintf-posix: New file.
63852         * lib/vsprintf.c: New file.
63853         * m4/vsprintf-posix.m4: New file.
63854         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
63855         REPLACE_VSPRINTF.
63856         * lib/stdio_.h (vsprintf): New declaration.
63857         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
63858         REPLACE_VSPRINTF.
63859
63860 2007-03-06  Bruno Haible  <bruno@clisp.org>
63861
63862         * modules/vsnprintf (Depend-on): Remove minmax.
63863
63864 2007-03-06  Bruno Haible  <bruno@clisp.org>
63865
63866         * modules/snprintf-posix-tests: New file.
63867         * tests/test-snprintf-posix.c: New file.
63868
63869         * modules/snprintf-posix: New file.
63870         * m4/snprintf-posix.m4: New file.
63871         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
63872         gl_FUNC_SNPRINTF.
63873         (gl_FUNC_SNPRINTF): Invoke it.
63874         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
63875         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
63876         is set.
63877         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
63878
63879 2007-03-06  Bruno Haible  <bruno@clisp.org>
63880
63881         * modules/vsnprintf-posix-tests: New file.
63882         * tests/test-vsnprintf-posix.c: New file.
63883         * tests/test-snprintf-posix.h: New file.
63884
63885         * modules/vsnprintf-posix: New file.
63886         * m4/vsnprintf-posix.m4: New file.
63887         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
63888         gl_FUNC_VSNPRINTF.
63889         (gl_FUNC_VSNPRINTF): Invoke it.
63890         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
63891         * lib/stdio_.h (vsnprintf): Define as a replacement if
63892         REPLACE_VSNPRINTF is set.
63893         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
63894
63895 2007-03-06  Bruno Haible  <bruno@clisp.org>
63896
63897         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
63898         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
63899
63900 2007-03-06  Bruno Haible  <bruno@clisp.org>
63901
63902         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
63903         (asinl): Declare also if HAVE_DECL_ASINL is set.
63904         (atanl): Declare also if HAVE_DECL_ATANL is set.
63905         (ceill): Declare also if HAVE_DECL_CEILL is set.
63906         (cosl): Declare also if HAVE_DECL_COSL is set.
63907         (expl): Declare also if HAVE_DECL_EXPL is set.
63908         (floorl): Declare also if HAVE_DECL_FLOORL is set.
63909         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
63910         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
63911         (logl): Declare also if HAVE_DECL_LOGL is set.
63912         (sinl): Declare also if HAVE_DECL_SINL is set.
63913         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
63914         (tanl): Declare also if HAVE_DECL_TANL is set.
63915         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
63916         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
63917         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
63918         declaration of frexpl, ldexpl.
63919         * modules/printf-frexpl (Depends-on): Add math.
63920         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
63921
63922 2007-03-05  Bruno Haible  <bruno@clisp.org>
63923
63924         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
63925         frexpl and ldexpl are declared.
63926         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
63927
63928 2007-03-05  Bruno Haible  <bruno@clisp.org>
63929
63930         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
63931         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
63932
63933 2007-03-05  Bruno Haible  <bruno@clisp.org>
63934
63935         * lib/stdio_.h: Include <stddef.h>.
63936
63937 2007-03-05  Bruno Haible  <bruno@clisp.org>
63938
63939         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
63940
63941 2007-03-05  Bruno Haible  <bruno@clisp.org>
63942
63943         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
63944         NetBSD 4, from Ralf Wildenhues.
63945
63946 2007-03-04  Bruno Haible  <bruno@clisp.org>
63947
63948         * lib/vasprintf.h: Update #if logic for the case when the functions
63949         exist but are overridden.
63950
63951 2007-03-04  Bruno Haible  <bruno@clisp.org>
63952
63953         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
63954         implementations: glibc-2.4 and MacOS X 10.3.
63955         * tests/test-vasnprintf-posix.c (test_function): Test also the case
63956         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
63957         * tests/test-vasprintf-posix.c (test_function): Likewise.
63958
63959 2007-03-04  Bruno Haible  <bruno@clisp.org>
63960
63961         * modules/vasprintf-posix-tests: New file.
63962         * tests/test-vasprintf-posix.c: New file.
63963
63964         * modules/vasprintf-posix: New file.
63965         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
63966         defined.
63967         * m4/vasprintf-posix.m4: New file.
63968         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
63969         gl_FUNC_VASPRINTF.
63970         (gl_FUNC_VASPRINTF): Invoke it.
63971         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
63972         here.
63973         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
63974
63975 2007-03-04  Bruno Haible  <bruno@clisp.org>
63976
63977         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
63978         REPLACE_GETTIMEOFDAY.
63979         * modules/sys_time (Makefile.am): Likewise.
63980         * m4/sys_time_h.m4: Likewise.
63981         * m4/gettimeofday.m4: Likewise.
63982
63983 2007-03-04  Bruno Haible  <bruno@clisp.org>
63984
63985         * modules/vasnprintf-posix-tests: New file.
63986         * tests/test-vasnprintf-posix.c: New file.
63987
63988         * modules/vasnprintf-posix: New file.
63989         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
63990         printf-frexpl.h.
63991         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
63992         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
63993         REPLACE_VASNPRINTF is defined.
63994         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
63995         gl_FUNC_VASNPRINTF.
63996         (gl_FUNC_VASNPRINTF): Invoke it.
63997         * m4/vasnprintf-posix.m4: New file.
63998         * m4/printf.m4: New file.
63999
64000 2007-03-04  Bruno Haible  <bruno@clisp.org>
64001
64002         Compile progreloc.c only if --enable-relocatable is specified.
64003         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
64004         if --enable-relocatable was specified.
64005         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
64006         lib_SOURCES.
64007
64008 2007-03-04  Jim Meyering  <jim@meyering.net>
64009
64010         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
64011         Use it consistently, rather than enumerating errno constants.
64012
64013 2007-03-04  Bruno Haible  <bruno@clisp.org>
64014
64015         * modules/xvasprintf-tests: New file.
64016         * tests/test-xvasprintf.c: New file.
64017
64018         * modules/vasprintf-tests: New file.
64019         * tests/test-vasprintf.c: New file.
64020
64021         * modules/vasnprintf-tests: New file.
64022         * tests/test-vasnprintf.c: New file.
64023
64024         * modules/vsnprintf-tests: New file.
64025         * tests/test-vsnprintf.c: New file.
64026
64027         * modules/snprintf-tests: New file.
64028         * tests/test-snprintf.c: New file.
64029
64030 2007-03-04  Bruno Haible  <bruno@clisp.org>
64031
64032         Compile relocatable.c only if --enable-relocatable is specified.
64033         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
64034         gl_RELOCATABLE_LIBRARY.
64035         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
64036         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
64037         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
64038         gl_RELOCATABLE_LIBRARY.
64039         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
64040         (Makefile.am): Remove lib_SOURCES.
64041         * modules/relocatable-lib-lgpl (configure.ac): Invoke
64042         gl_RELOCATABLE_LIBRARY.
64043         (Makefile.am): Remove lib_SOURCES.
64044         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
64045         always.
64046         * modules/relocatable-prog-wrapper (configure.ac): Invoke
64047         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
64048
64049 2007-03-04  Bruno Haible  <bruno@clisp.org>
64050
64051         * modules/argmatch-tests: New file.
64052         * tests/test-argmatch.c: New file.
64053
64054         * tests/test-allocsa.c (main): Halve the number of loop runs.
64055
64056         * modules/alloca-opt-tests: New file.
64057         * tests/test-alloca-opt.c: New file.
64058
64059 2007-03-04  Jim Meyering  <jim@meyering.net>
64060
64061         Work around difference between Linux ACLs and Solaris 10 ZFS.
64062         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
64063         for EINVAL.
64064
64065 2007-03-03  Bruno Haible  <bruno@clisp.org>
64066
64067         * modules/relocatable-prog (Depends-on): Add back progreloc's
64068         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
64069
64070 2007-03-03  Bruno Haible  <bruno@clisp.org>
64071
64072         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
64073         * modules/relocatable-lib: New file.
64074
64075 2007-03-03  Bruno Haible  <bruno@clisp.org>
64076
64077         * modules/relocatable-prog: Renamed from modules/relocatable.
64078         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
64079
64080 2007-03-03  Bruno Haible  <bruno@clisp.org>
64081
64082         * modules/relocatable-script (Files): Add doc/relocatable.texi,
64083         m4/relocatable-lib.m4.
64084         (Depends-on): Remove 'relocatable'.
64085         (configure.ac): Add gl_RELOCATABLE_NOP.
64086
64087 2007-03-03  Bruno Haible  <bruno@clisp.org>
64088
64089         * modules/relocatable-prog-wrapper: New file.
64090         * modules/relocatable (Depends-on): Add it. Remove all other
64091         dependencies except progname.
64092         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
64093
64094         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
64095         (gl_FUNC_STRERROR): Nop.
64096         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
64097
64098         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
64099         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
64100
64101         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
64102         (gl_FUNC_READLINK): Update.
64103
64104         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
64105
64106 2007-03-03  Bruno Haible  <bruno@clisp.org>
64107
64108         * lib/xreadlink.c: Include <unistd.h> unconditionally.
64109         * modules/xreadlink (Depends-on): Add unistd.
64110         * modules/xreadlink-with-size (Depends-on): Likewise.
64111
64112 2007-03-03  Bruno Haible  <bruno@clisp.org>
64113
64114         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
64115         extracted from gt_FUNC_SETENV.
64116         (gt_FUNC_SETENV): Remove macro.
64117         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
64118         remove gt_FUNC_SETENV.
64119
64120 2007-03-03  Bruno Haible  <bruno@clisp.org>
64121
64122         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
64123         ENABLE_RELOCATABLE here.
64124         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
64125
64126 2007-03-03  Bruno Haible  <bruno@clisp.org>
64127
64128         * modules/rbtreehash-list-tests (Depends-on): Add progname.
64129         * tests/test-rbtreehash_list.c: Include progname.h.
64130         (main): Call set_program_name.
64131
64132         * modules/rbtree-oset-tests (Depends-on): Add progname.
64133         * tests/test-rbtree_oset.c: Include progname.h.
64134         (main): Call set_program_name.
64135
64136         * modules/rbtree-list-tests (Depends-on): Add progname.
64137         * tests/test-rbtree_list.c: Include progname.h.
64138         (main): Call set_program_name.
64139
64140         * modules/linked-list-tests (Depends-on): Add progname.
64141         * tests/test-linked_list.c: Include progname.h.
64142         (main): Call set_program_name.
64143
64144 2007-03-03  Bruno Haible  <bruno@clisp.org>
64145
64146         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
64147         All uses of __restrict changed to _Restrict_.
64148         * lib/glob_.h (__restrict): Remove macro.
64149
64150 2007-03-02  Bruno Haible  <bruno@clisp.org>
64151
64152         * modules/gettext (configure.ac): Require gettext infrastructure
64153         from version 0.16.1.
64154
64155 2007-03-02  Bruno Haible  <bruno@clisp.org>
64156
64157         * modules/linkedhash-list-tests (Depends-on): Add progname.
64158         * tests/test-linkedhash_list.c: Include progname.h.
64159         (main): Call set_program_name.
64160
64161         * modules/carray-list-tests (Depends-on): Add progname.
64162         * tests/test-carray_list.c: Include progname.h.
64163         (main): Call set_program_name.
64164
64165         * modules/avltreehash-list-tests (Depends-on): Add progname.
64166         * tests/test-avltreehash_list.c: Include progname.h.
64167         (main): Call set_program_name.
64168
64169         * modules/avltree-oset-tests (Depends-on): Add progname.
64170         * tests/test-avltree_oset.c: Include progname.h.
64171         (main): Call set_program_name.
64172
64173         * modules/avltree-list-tests (Depends-on): Add progname.
64174         * tests/test-avltree_list.c: Include progname.h.
64175         (main): Call set_program_name.
64176
64177         * modules/array-oset-tests (Depends-on): Add progname.
64178         * tests/test-array_oset.c: Include progname.h.
64179         (main): Call set_program_name.
64180
64181         * modules/array-list-tests (Depends-on): Add progname.
64182         * tests/test-array_list.c: Include progname.h.
64183         (main): Call set_program_name.
64184
64185         * modules/argp-tests (Depends-on): Add progname.
64186         * tests/test-argp.c: Include argp.h first. Include progname.h.
64187         (main): Call set_program_name.
64188
64189 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
64190
64191         * doc/gnulib-tool.texi (Initial import): Reword description of
64192         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
64193         limited effect even if defined after the first system include.
64194
64195 2007-03-01  Bruno Haible  <bruno@clisp.org>
64196
64197         * build-aux/config.libpath: Update to libtool-1.5.22.
64198         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
64199
64200 2007-03-01  Bruno Haible  <bruno@clisp.org>
64201
64202         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
64203         foo_CFLAGS.
64204         Reported by Ralf Wildenhues.
64205
64206 2007-03-01  Bruno Haible  <bruno@clisp.org>
64207
64208         * build-aux/install-reloc: Remove object files left over by some
64209         compilers.
64210         Reported by Ralf Wildenhues.
64211
64212 2007-03-01  Bruno Haible  <bruno@clisp.org>
64213
64214         * build-aux/install-reloc: Break long lines.
64215
64216 2007-03-01  Bruno Haible  <bruno@clisp.org>
64217
64218         * doc/relocatable.texi: Document that it may not work on OpenBSD.
64219         Reported by Ralf Wildenhues.
64220
64221 2007-03-01  Bruno Haible  <bruno@clisp.org>
64222
64223         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
64224         include ordering constraints.
64225
64226 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
64227
64228         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
64229         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
64230         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
64231         as another example.
64232         * lib/time_.h: Fix misspelling.
64233         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64234         Require gl_HEADER_TIME_H_DEFAULTS.
64235         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
64236         * m4/time_r.m4 (gl_TIME_R): Likewise.
64237         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
64238
64239 2007-03-01  Bruno Haible  <bruno@clisp.org>
64240
64241         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
64242         * m4/utimens.m4 (gl_UTIMENS): Likewise.
64243
64244 2007-03-01  Jim Meyering  <jim@meyering.net>
64245
64246         * modules/xreadlink (Maintainer): Add my name.
64247         * modules/xreadlink-with-size (Depends-on): Alphabetize.
64248
64249 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
64250             Bruno Haible  <bruno@clisp.org>
64251
64252         * build-aux/install-reloc: Compile also c-ctype.c.
64253         * build-aux/relocatable.sh.in: New file.
64254         * doc/relocatable.texi: New file.
64255         * doc/relocatable-maint.texi: New file.
64256         * doc/gnulib.texi: Include relocatable-maint.texi.
64257         * lib/progreloc.c: Include unistd.h unconditionally.
64258         * lib/relocwrapper.c: Include unistd.h unconditionally.
64259         Include c-ctype.h.
64260         (add_dotbin): Use c_tolower.
64261         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
64262         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
64263         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
64264         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
64265         to m4/relocatable-lib.m4.
64266         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
64267         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
64268         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
64269         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
64270         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
64271         * modules/relocatable: New file.
64272         * modules/relocatable-lib: New file.
64273         * modules/relocatable-script: New file.
64274
64275 2007-02-28  Bruno Haible  <bruno@clisp.org>
64276
64277         Import --enable-relocatable infrastructure.
64278         * build-aux/config.libpath: New file, from GNU gettext.
64279         * build-aux/install-reloc: New file, from GNU gettext.
64280         * build-aux/reloc-ldflags: New file, from GNU gettext.
64281         * lib/relocatable.h: New file, from GNU gettext.
64282         * lib/relocatable.c: New file, from GNU gettext.
64283         * lib/relocwrapper.c: New file, from GNU gettext.
64284         * m4/relocatable.m4: New file, from GNU gettext.
64285
64286 2007-02-28  Bruno Haible  <bruno@clisp.org>
64287
64288         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
64289
64290         * modules/xreadlink: New file, from GNU gettext with modifications.
64291         * lib/xreadlink.c: New file, from GNU gettext.
64292         * lib/xreadlink.h: Add comments.
64293         (xreadlink): New declaration.
64294
64295         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
64296         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
64297         lib/xreadlink-with-size.c.
64298         (configure.ac): Remove gl_XREADLINK invocation.
64299         (Makefile.am): Augment lib_SOURCES.
64300         * m4/xreadlink.m4: Remove file.
64301         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
64302         (xreadlink_with_size): Renamed from xreadink.
64303         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
64304         * modules/canonicalize (Depends-on): Replace xreadlink with
64305         xreadlink-with-size.
64306         * lib/canonicalize.c (canonicalize_filename_mode): Update.
64307
64308 2007-02-25  Jim Meyering  <jim@meyering.net>
64309
64310         * build-aux/announce-gen: When complaining about excess arguments,
64311         list them.
64312
64313 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
64314
64315         * README: Document signed integer overflow situation more
64316         accurately.
64317
64318 2007-02-25  Bruno Haible  <bruno@clisp.org>
64319
64320         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
64321         'a' or 'A' conversion.
64322
64323 2007-02-25  Bruno Haible  <bruno@clisp.org>
64324
64325         * modules/filename: Renamed from modules/pathname.
64326         (Files): Replace lib/pathname.h with lib/filename.h. Replace
64327         lib/concatpath.c with lib/concat-filename.c.
64328         (Makefile.am): Update.
64329         (Include): Replace pathname.h with filename.h.
64330         * lib/filename.h: Renamed from lib/pathname.h.
64331         (concatenated_filename): Renamed from concatenated_pathname.
64332         * lib/concat-filename.c: Renamed from lib/concatpath.c.
64333         (concatenated_filename): Renamed from concatenated_pathname.
64334         * lib/findprog.c: Include filename.h instead of pathname.h.
64335         (find_in_path): Update.
64336         * lib/javacomp.c: Include filename.h instead of pathname.h.
64337         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
64338         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
64339         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
64340         is_oldgcj_14_13_usable, is_javac_usable): Update.
64341         * lib/javaexec.c: Include filename.h instead of pathname.h.
64342         (execute_java_class): Update.
64343         * modules/findprog: Update.
64344         * modules/javacomp: Update.
64345         * modules/javaexec: Update.
64346         * MODULES.html.sh (File system functions): Add 'filename', remove
64347         'pathname'.
64348
64349 2007-02-25  Bruno Haible  <bruno@clisp.org>
64350
64351         * modules/printf-frexpl-tests: New file.
64352         * tests/test-printf-frexpl.c: New file.
64353
64354         * modules/printf-frexpl: New file.
64355         * lib/printf-frexpl.h: New file.
64356         * lib/printf-frexpl.c: New file.
64357         * m4/printf-frexpl.m4: New file.
64358
64359 2007-02-25  Bruno Haible  <bruno@clisp.org>
64360
64361         * modules/printf-frexp-tests: New file.
64362         * tests/test-printf-frexp.c: New file.
64363
64364         * modules/printf-frexp: New file.
64365         * lib/printf-frexp.h: New file.
64366         * lib/printf-frexp.c: New file.
64367         * m4/printf-frexp.m4: New file.
64368
64369 2007-02-25  Bruno Haible  <bruno@clisp.org>
64370
64371         Assume automake >= 1.10 for the tests.
64372         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
64373         * modules/arctwo-tests: Likewise.
64374         * modules/argp-tests: Likewise.
64375         * modules/avltree-list-tests: Likewise.
64376         * modules/avltree-oset-tests: Likewise.
64377         * modules/avltreehash-list-tests: Likewise.
64378         * modules/carray-list-tests: Likewise.
64379         * modules/crc-tests: Likewise.
64380         * modules/des-tests: Likewise.
64381         * modules/gc-arcfour-tests: Likewise.
64382         * modules/gc-arctwo-tests: Likewise.
64383         * modules/gc-des-tests: Likewise.
64384         * modules/gc-hmac-md5-tests: Likewise.
64385         * modules/gc-hmac-sha1-tests: Likewise.
64386         * modules/gc-md2-tests: Likewise.
64387         * modules/gc-md4-tests: Likewise.
64388         * modules/gc-md5-tests: Likewise.
64389         * modules/gc-pbkdf2-sha1-tests: Likewise.
64390         * modules/gc-rijndael-tests: Likewise.
64391         * modules/gc-sha1-tests: Likewise.
64392         * modules/gc-tests: Likewise.
64393         * modules/getaddrinfo-tests: Likewise.
64394         * modules/hmac-md5-tests: Likewise.
64395         * modules/hmac-sha1-tests: Likewise.
64396         * modules/linked-list-tests: Likewise.
64397         * modules/linkedhash-list-tests: Likewise.
64398         * modules/lock-tests: Likewise.
64399         * modules/md2-tests: Likewise.
64400         * modules/md4-tests: Likewise.
64401         * modules/md5-tests: Likewise.
64402         * modules/rbtree-list-tests: Likewise.
64403         * modules/rbtree-oset-tests: Likewise.
64404         * modules/rbtreehash-list-tests: Likewise.
64405         * modules/read-file-tests: Likewise.
64406         * modules/rijndael-tests: Likewise.
64407         * modules/stdint-tests: Likewise.
64408         * modules/tls-tests: Likewise.
64409
64410 2007-02-24  Bruno Haible  <bruno@clisp.org>
64411
64412         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
64413         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
64414         function; instead check whether isnan with a double argument links.
64415         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
64416         function; instead check whether isnan with a 'long double' argument
64417         links.
64418         Reported by Eric Blake <ebb9@byu.net>.
64419
64420 2007-02-24  Bruno Haible  <bruno@clisp.org>
64421
64422         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
64423         defined.
64424         * lib/isnanl.c: Remove all code. Just include isnan.c.
64425         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
64426
64427 2007-02-25  Jim Meyering  <jim@meyering.net>
64428
64429         Avoid conflicting types for 'unsetenv' on FreeBSD.
64430         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
64431         conflicting with FreeBSD's (5.0 and 6.1) function declaration
64432         in stdlib.h.
64433
64434 2007-02-24  Bruno Haible  <bruno@clisp.org>
64435
64436         * modules/isnanl-nolibm-tests: New file.
64437         * tests/test-isnanl.c: New file.
64438
64439         * modules/isnanl-nolibm: New file.
64440         * lib/isnanl.h: New file.
64441         * lib/isnanl.c: New file.
64442         * m4/isnanl.m4: New file.
64443
64444 2007-02-24  Bruno Haible  <bruno@clisp.org>
64445
64446         * modules/isnan-nolibm-tests: New file.
64447         * tests/test-isnan.c: New file.
64448
64449         * modules/isnan-nolibm: New file.
64450         * lib/isnan.h: New file.
64451         * lib/isnan.c: New file.
64452         * m4/isnan.m4: New file.
64453
64454 2007-02-24  Bruno Haible  <bruno@clisp.org>
64455
64456         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
64457         assume that an exponent fits in 20 bits.
64458
64459 2007-02-24  Jim Meyering  <jim@meyering.net>
64460
64461         * m4/regex.m4: Update the description of the configure-time option,
64462         --without-included-regex, to state accurately what the defaults are,
64463         and perhaps to give people an idea why using this option is risky.
64464
64465 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
64466
64467         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
64468         loops on small arguments.  This attempts to avoid the problem
64469         Bruno Haible reported for AIX 4.3.2 in
64470         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
64471
64472 2007-02-23  Bruno Haible  <bruno@clisp.org>
64473
64474         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
64475         Needed for help2man.
64476
64477 2007-02-23  Karl Berry  <karl@gnu.org>
64478
64479         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
64480         exists, foo.h should be cvs-ignored, not committed.
64481
64482 2007-02-23  Eric Blake  <ebb9@byu.net>
64483
64484         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
64485         * lib/stat-time.h (includes): Likewise.
64486         * lib/utimecmp.c (includes): Likewise.
64487         * lib/utimens.h (includes): Likewise.
64488         * lib/getdate.y (includes): Also include "timespec.h" for use
64489         internal to the module.
64490         * modules/utimens (Depends-on): Revert yesterday's patch.
64491         * modules/nanosleep (Depends-on): Add missing dependency.
64492
64493 2007-02-22  Bruno Haible  <bruno@clisp.org>
64494
64495         * lib/glob.c: Don't include getlogin_r.h.
64496
64497 2007-02-22  Jim Meyering  <jim@meyering.net>
64498
64499         * modules/utimens (Depends-on): Add timespec, required for
64500         utimens.h's inclusion of timespec.h.
64501
64502 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
64503
64504         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
64505         long unreadable paths in GNU/Linux.  Problem reported by Andreas
64506         Schwab in
64507         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
64508         I'll try to think of a better way to fix the Solaris problem.
64509
64510         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
64511         like glibc; on Solaris 10, it fails with errno == EINVAL.
64512         POSIX says the behavior is unspecified if the first argument is NULL,
64513         so play it safe and never pass NULL to the system getcwd.
64514
64515 2007-02-21  Jim Meyering  <jim@meyering.net>
64516
64517         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
64518         of gettimeofday.  It would conflict with the one now always
64519         provided via sys_time_.h.  Reported by Matthew Woehlke, as
64520         an IRIX 6.5 build failure.
64521
64522 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
64523
64524         Minor fixups to port to Solaris 10 with Sun C 5.8.
64525         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
64526         * modules/getcwd (Depends-on): Add dirfd.
64527         * lib/putenv.c (putenv): #undef it.
64528         (rpl_putenv): New decl.
64529         (malloc, free): Include <stdlib.h> rather than prototyping separately.
64530
64531 2007-02-20  Bruno Haible  <bruno@clisp.org>
64532
64533         * modules/stdio-tests: New file.
64534         * tests/test-stdio.c: New file.
64535
64536         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
64537         (Depends-on): Add stdio.
64538         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
64539         (Include): Use <stdio.h> instead of vsnprintf.h.
64540         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
64541         HAVE_DECL_VSNPRINTF.
64542         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
64543
64544         * modules/snprintf (Files): Remove lib/snprintf.h.
64545         (Depends-on): Add stdio.
64546         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
64547         (Include): Use <stdio.h> instead of snprintf.h.
64548         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
64549         HAVE_DECL_SNPRINTF.
64550         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
64551         * lib/getaddrinfo.c: Likewise.
64552
64553         * modules/stdio: New file.
64554         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
64555         * lib/snprintf.h: Remove file.
64556         * lib/vsnprintf.h: Remove file.
64557         * lib/.cppi-disable: Remove snprintf.h.
64558         * m4/stdio_h.m4: New file.
64559         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
64560
64561 2007-02-20  Jim Meyering  <jim@meyering.net>
64562
64563         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
64564         used by e.g., mingw.  From Bruno Haible.
64565
64566 2007-02-19  Bruno Haible  <bruno@clisp.org>
64567
64568         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
64569         warnings.
64570         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64571
64572 2007-02-19  Bruno Haible  <bruno@clisp.org>
64573
64574         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
64575         from mingw users.
64576
64577 2007-02-19  Bruno Haible  <bruno@clisp.org>
64578
64579         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
64580         warnings.
64581         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
64582
64583 2007-02-19  Jim Meyering  <jim@meyering.net>
64584
64585         Don't use FD after a successful "fdopendir (fd)".
64586         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
64587         Reset it by calling dirfd on the just-obtained DIR*.
64588
64589         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
64590         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
64591
64592 2007-02-18  Bruno Haible  <bruno@clisp.org>
64593
64594         * lib/readlink.c: Include <unistd.h>.
64595         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
64596         HAVE_READLINK.
64597         * modules/readlink (Depends-on): Add unistd.
64598         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64599         (Include): Add <unistd.h>.
64600
64601         * lib/getlogin_r.h: Remove file.
64602         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
64603         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
64604         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
64605         HAVE_DECL_GETLOGIN_R.
64606         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
64607         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64608         (Include): Use <unistd.h> instead of getlogin_r.h.
64609
64610         * lib/getcwd.h: Remove file.
64611         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
64612         * lib/xgetcwd.c: Likewise.
64613         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
64614         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
64615         * modules/getcwd (Files): Remove lib/getcwd.h.
64616         (Depends-on): Add unistd.
64617         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64618         (Include): Use <unistd.h> instad of getcwd.h.
64619
64620         * lib/ftruncate.c: Include <unistd.h> first.
64621         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
64622         Set HAVE_FTRUNCATE.
64623         * modules/ftruncate (Depends-on): Add unistd.
64624         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64625
64626         * lib/fchdir.c: Include <unistd.h> first.
64627         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
64628         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
64629         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
64630         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64631         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
64632
64633         * lib/dup2.c: Include <unistd.h> first.
64634         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
64635         HAVE_DUP2.
64636         * modules/dup2 (Depends-on): Add unistd.
64637         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64638
64639         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
64640         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
64641         REPLACE_CHOWN. Don't define chown as a macro here.
64642         * modules/chown (Depends-on): Add unistd.
64643         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64644
64645         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
64646         Add definition for GL_LINK_WARNING.
64647         (chown, dup2): New declarations.
64648         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
64649         link warning.
64650         (ftruncate): New declaration.
64651         (getcwd): New declaration, taken from old getcwd.h.
64652         (getlogin_r): New declaration, taken from old getlogin_r.h.
64653         (readlink): New declaration.
64654         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
64655         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
64656         (gl_PREREQ_UNISTD): Remove macro.
64657         (gl_UNISTD_MODULE_INDICATOR): New macro.
64658         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
64659         many new variables. Don't set UNISTD_H.
64660         * modules/unistd (Description): Change.
64661         (Depends-on): Add link-warning.
64662         (configure.ac): Update.
64663         (Makefile.am): Create unistd.h always. Substitute many new variables
64664         into it.
64665
64666 2007-02-18  Bruno Haible  <bruno@clisp.org>
64667
64668         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
64669         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
64670         HAVE_GETSUBOPT.
64671         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
64672         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
64673         * lib/getsubopt.h: Remove file.
64674         * modules/getsubopt (Files): Remove lib/getsubopt.h.
64675         (Depends-on): Add stdlib.
64676         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64677         (Includes): Use <stdlib.h> instead of getsubopt.h.
64678         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
64679         Set HAVE_GETSUBOPT.
64680         * lib/getsubopt.c: Don't include getsubopt.h.
64681
64682 2007-02-18  Bruno Haible  <bruno@clisp.org>
64683
64684         * modules/fchdir (Depends-on): Add dup2.
64685
64686 2007-02-18  Bruno Haible  <bruno@clisp.org>
64687
64688         * lib/stdlib_.h: Handle glibc's special invocation convention
64689         specially.
64690
64691 2007-02-18  Bruno Haible  <bruno@clisp.org>
64692
64693         * modules/stdlib-tests: New file.
64694         * tests/test-stdlib.c: New file.
64695
64696         * modules/mkstemp (Files): Remove lib/mkstemp.h.
64697         (Depends-on): Add stdlib.
64698         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64699         (Includes): Use <stdlib.h> instead of mkstemp.h.
64700         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
64701         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
64702         * lib/mkstemp.c: Don't include mkstemp.h.
64703         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
64704         * lib/stdlib--.h: Don't include mkstemp.h.
64705
64706         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
64707         (Depends-on): Add stdlib.
64708         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64709         (Includes): Use <stdlib.h> instead of mkdtemp.h.
64710         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
64711         HAVE_MKDTEMP.
64712         * lib/mkdtemp.c: Don't include mkdtemp.h.
64713         * lib/clean-temp.c: Don't include mkdtemp.h.
64714
64715         * modules/exit (Files): Remove lib/exit.h.
64716         (Depends-on): Add stdlib.
64717         (Makefile.am): Remove lib_SOURCES.
64718         (Include): Use <stdlib.h> instead of exit.h.
64719         * lib/argmatch.c: Don't include exit.h.
64720         * lib/execute.c: Likewise.
64721         * lib/pagealign_alloc.c: Likewise.
64722         * lib/pipe.c: Likewise.
64723         * lib/wait-process.c: Likewise.
64724         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
64725         * lib/exitfail.c: Likewise.
64726         * lib/savewd.c: Likewise.
64727         * lib/xsetenv.c: Likewise.
64728
64729         * modules/stdlib: New file.
64730         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
64731         and extra comments about mkstemp().
64732         * lib/exit.h: Remove file.
64733         * lib/mkdtemp.h: Remove file.
64734         * lib/mkstemp.h: Remove file.
64735         * m4/stdlib_h.m4: New file.
64736         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
64737
64738 2007-02-18  Bruno Haible  <bruno@clisp.org>
64739
64740         * modules/math-tests: New file.
64741         * tests/test-math.c: New file.
64742
64743         * modules/math: New file.
64744         * modules/mathl (Files): Remove lib/mathl.h.
64745         (Depends-on): Add math.
64746         (Makefile.am): Don't mention mathl.h.
64747         (Include): Use <math.h> instead of mathl.h.
64748         * lib/math_.h: New file.
64749         * lib/mathl.h: Remove file.
64750         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
64751         mathl.h.
64752         * lib/asinl.c: Likewise.
64753         * lib/atanl.c: Likewise.
64754         * lib/ceill.c: Likewise.
64755         * lib/cosl.c: Likewise.
64756         * lib/expl.c: Likewise.
64757         * lib/floorl.c: Likewise.
64758         * lib/frexpl.c: Likewise.
64759         * lib/ldexpl.c: Likewise.
64760         * lib/logl.c: Likewise.
64761         * lib/sincosl.c: Likewise.
64762         * lib/sinl.c: Likewise.
64763         * lib/sqrtl.c: Likewise.
64764         * lib/tanl.c: Likewise.
64765         * lib/trigl.c: Likewise.
64766         * m4/math_h.m4: New file.
64767         * MODULES.html.sh (Mathematics): Add math.
64768
64769 2007-02-17  Bruno Haible  <bruno@clisp.org>
64770
64771         * modules/wctype-tests: New file.
64772         * tests/test-wctype.c: New file.
64773
64774         * modules/wchar-tests: New file.
64775         * tests/test-wchar.c: New file.
64776
64777         * modules/unistd-tests: New file.
64778         * tests/test-unistd.c: New file.
64779
64780         * modules/time-tests: New file.
64781         * tests/test-time.c: New file.
64782
64783         * modules/sysexits-tests: New file.
64784         * tests/test-sysexits.c: New file.
64785
64786         * modules/sys_time-tests: New file.
64787         * tests/test-sys_time.c: New file.
64788
64789         * modules/sys_stat-tests: New file.
64790         * tests/test-sys_stat.c: New file.
64791
64792         * modules/sys_socket-tests: New file.
64793         * tests/test-sys_socket.c: New file.
64794
64795         * modules/sys_select-tests: New file.
64796         * tests/test-sys_select.c: New file.
64797
64798         * modules/string-tests: New file.
64799         * tests/test-string.c: New file.
64800
64801         * modules/stdbool-tests: New file.
64802         * tests/test-stdbool.c: New file.
64803
64804         * modules/netinet_in-tests: New file.
64805         * tests/test-netinet_in.c: New file.
64806
64807         * modules/inttypes-tests: New file.
64808         * tests/test-inttypes.c: New file.
64809
64810         * modules/fcntl-tests: New file.
64811         * tests/test-fcntl.c: New file.
64812
64813         * modules/byteswap-tests: New file.
64814         * tests/test-byteswap.c: New file.
64815
64816         * modules/arpa_inet-tests: New file.
64817         * tests/test-arpa_inet.c: New file.
64818
64819 2007-02-17  Bruno Haible  <bruno@clisp.org>
64820
64821         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
64822         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
64823         if the corresponding module is not enabled. Emit link warnings if
64824         the function is used nevertheless.
64825         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
64826         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
64827         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
64828         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
64829         * modules/inttypes (Depends-on): Add link-warning.
64830         (Makefile.am): Copy the contents of build-aux/link-warning.h into
64831         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
64832         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
64833         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
64834         * modules/imaxdiv (configure.ac): Likewise.
64835         * modules/strtoimax (configure.ac): Likewise.
64836         * modules/strtoumax (configure.ac): Likewise.
64837
64838 2007-02-17  Bruno Haible  <bruno@clisp.org>
64839
64840         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
64841         gl_STRING_MODULE_INDICATOR_DEFAULTS.
64842         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
64843         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
64844
64845 2007-02-17  Bruno Haible  <bruno@clisp.org>
64846
64847         * modules/link-warning: New file.
64848         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
64849         * lib/string_.h (GL_LINK_WARNING): Remove definition.
64850         * modules/string (Depends-on): Add link-warning.
64851         (Makefile.am): Copy the contents of build-aux/link-warning.h into
64852         string.h.
64853         * MODULES.html.sh (Support for building libraries and executables): Add
64854         link-warning.
64855
64856 2007-02-17  Bruno Haible  <bruno@clisp.org>
64857
64858         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
64859         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
64860         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
64861         long lines.
64862
64863 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
64864             Bruno Haible  <bruno@clisp.org>
64865
64866         * modules/tmpfile: New file.
64867         * lib/tmpfile.c: New file.
64868         * m4/tmpfile.m4: New file.
64869         * MODULES.html.sh (func_all_modules): New section "Input/output".
64870
64871 2007-02-15  Bruno Haible  <bruno@clisp.org>
64872
64873         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
64874         (supports_delete_on_close): New function.
64875         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
64876
64877 2007-02-14  Bruno Haible  <bruno@clisp.org>
64878
64879         * modules/mbspcasecmp-tests: New file.
64880         * tests/test-mbspcasecmp.sh: New file.
64881         * tests/test-mbspcasecmp.c: New file.
64882
64883         New module mbspcasecmp.
64884         * modules/mbspcasecmp: New file.
64885         * lib/mbspcasecmp.c: New file.
64886         * lib/string_.h (strncasecmp): Change warning message.
64887         (mbspcasecmp): New declaration.
64888         * m4/mbspcasecmp.m4: New file.
64889         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64890         GNULIB_MBSPCASECMP.
64891         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
64892         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
64893
64894 2007-02-14  Bruno Haible  <bruno@clisp.org>
64895
64896         * modules/mbsncasecmp-tests: New file.
64897         * tests/test-mbsncasecmp.sh: New file.
64898         * tests/test-mbsncasecmp.c: New file.
64899
64900         New module mbsncasecmp.
64901         * modules/mbsncasecmp: New file.
64902         * lib/mbsncasecmp.c: New file.
64903         * lib/string_.h (mbsncasecmp): New declaration.
64904         * m4/mbsncasecmp.m4: New file.
64905         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64906         GNULIB_MBSNCASECMP.
64907         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
64908         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
64909
64910 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
64911
64912         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
64913         Verify that it doesn't overlap with our flags.
64914         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
64915         do not have the desired effect in multibyte locales; instead, use
64916         mbscasecmp.
64917         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
64918         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
64919         we don't require GNU fnmatch ourselves (if our users require it, they
64920         should do so explicitly).
64921
64922         Fix regex code so it doesn't rely on strcasecmp.
64923         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
64924         Otherwise, include gnulib's langinfo.h.
64925         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
64926         undesirable behavior in non-C locales.  Instead, rely on localecharset.
64927         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
64928         * modules/regex (FILES): Remove m4/codeset.m4.
64929         (Depends-on): Add localcharset.  Remove strcase.
64930
64931 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64932
64933         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
64934         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
64935
64936 2007-02-13  Bruno Haible  <bruno@clisp.org>
64937
64938         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
64939         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64940
64941 2007-02-12  Bruno Haible  <bruno@clisp.org>
64942
64943         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
64944         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
64945         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
64946         time warning rather than a link error.
64947
64948 2007-02-12  Bruno Haible  <bruno@clisp.org>
64949
64950         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
64951         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64952         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64953
64954 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
64955
64956         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
64957         args, not 2.
64958
64959 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
64960
64961         New module 'time', so that apps can include <time.h> as per
64962         POSIX and GNU instead of separate include files like time_r.h
64963         and timegm.h.  This implementation tries out a simpler approach
64964         for replacing decls in standard include files (as compared to
64965         the string module), somewhat as an experiment.
64966
64967         * config/srclist.txt: Comment out mktime.c for now.
64968         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
64969         since it doesn't apply any more.  Use generic wording instead.
64970         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
64971         'time'.
64972         * lib/time_.h, m4/time_h.m4, modules/time: New files.
64973         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
64974         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
64975         Don't include <sys/types.h>; no longer needed since we assume C89.
64976         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
64977         * lib/strftime.c: Likewise.
64978         * lib/time_r.c: Likewise.
64979         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
64980         * lib/nanosleep.c: Include <time.h> first, to check interface.
64981         * lib/strptime.c: Likewise.
64982         * lib/time_r.c: Likewise.
64983         * lib/timegm.c: Likewise.
64984         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
64985         needed.
64986         * lib/timegm.c: Don't include timegm.h; no longer needed.
64987         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
64988         time.h now handles any problems in that area.
64989         (struct timespec, nanosleep): Remove; time.h now arranges for these.
64990         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
64991         that time.h defines struct timespec.
64992         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
64993         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
64994         handles that.
64995         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
64996         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
64997         needed.  Set REPLACE_LOCALTIME.
64998         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
64999         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
65000         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
65001         nanosleep; time_h.m4 now does that.  Don't require
65002         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
65003         module handles this now.
65004         * modules/getdate (Depends-on): Remove timespec.  Add time.
65005         * modules/nanosleep (Depends-on): Likewise.
65006         * modules/stat-time (Depends-on): Likewise.
65007         * modules/nanosleep (Include): Include time.h, not timespec.h.
65008         * modules/strptime (Files): Remove lib/strptime.h.
65009         (Depends-on): Add extensions, time.
65010         (Include): Include time.h, not strptime.h.
65011         * modules/time_r (Files): Remove lib/time_r.h.
65012         (Depends-on): Add time.
65013         (Include): Include time.h, not time_r.h.
65014         * modules/timegm: Likewise.
65015         * modules/timespec (Description): Now does timespec-related decls
65016         of our own, instead of struct timespec itself.
65017         (Depends-on): Add time; remove extensions.
65018         (Maintainer): Add self.
65019         * modules/utimecmp (Depends-on): Add time; remove timespec.
65020         * modules/utimens (Depends-on): Likewise.
65021         * modules/xnanosleep (Depends-on): Likewise.
65022
65023 2007-02-11  Bruno Haible  <bruno@clisp.org>
65024
65025         * lib/c-strstr.c: Include allocsa.h.
65026         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65027         * lib/c-strcasestr.c: Include allocsa.h.
65028         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65029         * lib/strcasestr.c: Include allocsa.h.
65030         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65031         * lib/mbsstr.c: Include allocsa.h.
65032         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65033         allocsa/freesa instead of malloc/free.
65034         * lib/mbscasestr.c: Include allocsa.h.
65035         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65036         allocsa/freesa instead of malloc/free.
65037         * modules/c-strstr (Depends-on): Add allocsa.
65038         * modules/c-strcasestr (Depends-on): Likewise.
65039         * modules/strcasestr (Depends-on): Likewise.
65040         * modules/mbsstr (Depends-on): Likewise.
65041         * modules/mbscasestr (Depends-on): Likewise.
65042
65043 2007-02-11  Bruno Haible  <bruno@clisp.org>
65044
65045         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
65046
65047         * modules/mbsspn-tests: New file.
65048         * tests/test-mbsspn.sh: New file.
65049         * tests/test-mbsspn.c: New file.
65050
65051 2007-02-11  Bruno Haible  <bruno@clisp.org>
65052
65053         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
65054
65055         * modules/mbspbrk-tests: New file.
65056         * tests/test-mbspbrk.sh: New file.
65057         * tests/test-mbspbrk.c: New file.
65058
65059 2007-02-11  Bruno Haible  <bruno@clisp.org>
65060
65061         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
65062         unneeded cast.
65063
65064         * modules/mbscspn-tests: New file.
65065         * tests/test-mbscspn.sh: New file.
65066         * tests/test-mbscspn.c: New file.
65067
65068 2007-02-11  Bruno Haible  <bruno@clisp.org>
65069
65070         * modules/mbscasecmp-tests: New file.
65071         * tests/test-mbscasecmp.sh: New file.
65072         * tests/test-mbscasecmp.c: New file.
65073
65074 2007-02-11  Bruno Haible  <bruno@clisp.org>
65075
65076         Ensure O(n) worst-case complexity of mbscasestr.
65077         * lib/mbscasestr.c: Include stdbool.h.
65078         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
65079         functions.
65080         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
65081         the bookkeeping indicates that it's worth it.
65082         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
65083
65084         * modules/mbscasestr-tests: New file.
65085         * tests/test-mbscasestr1.c: New file.
65086         * tests/test-mbscasestr2.sh: New file.
65087         * tests/test-mbscasestr2.c: New file.
65088         * tests/test-mbscasestr3.sh: New file.
65089         * tests/test-mbscasestr3.c: New file.
65090         * tests/test-mbscasestr4.sh: New file.
65091         * tests/test-mbscasestr4.c: New file.
65092         * m4/locale-tr.m4: New file.
65093
65094 2007-02-11  Bruno Haible  <bruno@clisp.org>
65095
65096         Ensure O(n) worst-case complexity of mbsstr.
65097         * lib/mbsstr.c: Include stdbool.h.
65098         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
65099         functions.
65100         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
65101         bookkeeping indicates that it's worth it.
65102         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
65103
65104         * modules/mbsstr-tests: New file.
65105         * tests/test-mbsstr1.c: New file.
65106         * tests/test-mbsstr2.sh: New file.
65107         * tests/test-mbsstr2.c: New file.
65108         * tests/test-mbsstr3.sh: New file.
65109         * tests/test-mbsstr3.c: New file.
65110         * m4/locale-fr.m4: New file.
65111
65112 2007-02-11  Bruno Haible  <bruno@clisp.org>
65113
65114         * lib/mbsrchr.c (mbsrchr): Fix bug.
65115
65116         * modules/mbsrchr-tests: New file.
65117         * tests/test-mbsrchr.sh: New file.
65118         * tests/test-mbsrchr.c: New file.
65119
65120 2007-02-11  Bruno Haible  <bruno@clisp.org>
65121
65122         * lib/mbschr.c (mbschr): Fix bug.
65123
65124         * modules/mbschr-tests: New file.
65125         * tests/test-mbschr.sh: New file.
65126         * tests/test-mbschr.c: New file.
65127         * m4/locale-zh.m4: New file.
65128
65129 2007-02-11  Bruno Haible  <bruno@clisp.org>
65130
65131         Support for copying multibyte string iterators.
65132         * lib/mbiter.h: Include <string.h>.
65133         (mbiter_multi_copy): New function.
65134         (mbi_copy): New macro.
65135         * lib/mbuiter.h: Include <string.h>.
65136         (mbuiter_multi_copy): New function.
65137         (mbui_copy): New macro.
65138
65139 2007-02-11  Bruno Haible  <bruno@clisp.org>
65140
65141         New module mbslen.
65142         * modules/mbslen: New file.
65143         * lib/mbslen.c: New file.
65144         * lib/string_.h (mbslen): New declaration.
65145         * m4/mbslen.m4: New file.
65146         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65147         GNULIB_MBSLEN.
65148         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
65149         * MODULES.html.sh (Internationalization functions): Add mbslen.
65150
65151 2007-02-11  Bruno Haible  <bruno@clisp.org>
65152
65153         Ensure O(n) worst-case complexity of strcasestr substitute.
65154         * lib/strcasestr.c: Include stdbool.h.
65155         (knuth_morris_pratt): New function.
65156         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
65157         bookkeeping indicates that it's worth it.
65158         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
65159
65160         * modules/strcasestr-tests: New file.
65161         * tests/test-strcasestr.c: New file.
65162
65163 2007-02-11  Bruno Haible  <bruno@clisp.org>
65164
65165         Ensure O(n) worst-case complexity of c_strcasestr.
65166         * lib/c-strcasestr.c: Include stdbool.h, string.h.
65167         (knuth_morris_pratt): New function.
65168         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
65169         the bookkeeping indicates that it's worth it.
65170         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
65171
65172         * modules/c-strcasestr-tests: New file.
65173         * tests/test-c-strcasestr.c: New file.
65174
65175 2007-02-11  Bruno Haible  <bruno@clisp.org>
65176
65177         Ensure O(n) worst-case complexity of c_strstr.
65178         * lib/c-strstr.c: Include stdbool.h, string.h.
65179         (knuth_morris_pratt): New function.
65180         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
65181         bookkeeping indicates that it's worth it.
65182         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
65183
65184         * lib/c-strstr.c: Complete rewrite for maintainability.
65185
65186         * modules/c-strstr-tests: New file.
65187         * tests/test-c-strstr.c: New file.
65188
65189 2007-02-11  Bruno Haible  <bruno@clisp.org>
65190
65191         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
65192         5.2.1 and earlier, whereby \055 was treated just like the range
65193         delimiter '-'.
65194         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65195
65196 2007-02-08  Bruno Haible  <bruno@clisp.org>
65197
65198         * modules/regex (Depends-on): Add stdbool.
65199         Reported by Dalibor Topic <robilad@kaffe.org>.
65200
65201 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
65202
65203         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
65204         Prefer returning from main to exiting from it.
65205         Remove unnecessary parens after sizeof.
65206
65207 2007-02-05  Bruno Haible  <bruno@clisp.org>
65208
65209         New module mbssep.
65210         * modules/mbssep: New file.
65211         * lib/mbssep.c: New file.
65212         * lib/string_.h (strsep): Add a conditional link warning.
65213         (mbssep): New declaration.
65214         * m4/mbssep.m4: New file.
65215         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65216         GNULIB_MBSSEP.
65217         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
65218         * MODULES.html.sh (Internationalization functions): Add mbssep.
65219
65220 2007-02-05  Bruno Haible  <bruno@clisp.org>
65221
65222         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
65223         Optimize search in case of 1 delimiter.
65224
65225 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
65226
65227         * lib/acl.h: Include sys/types.h before sys/acl.h.
65228
65229 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
65230
65231         Merge upstream fix for glibc bugzilla #3957:
65232
65233         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
65234
65235         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
65236         bit for RE_HAT_LISTS_NOT_NEWLINE.
65237         (build_charclass_op): Remove bogus comment.
65238
65239 2007-02-05  Simon Josefsson  <simon@josefsson.org>
65240
65241         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
65242
65243 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
65244
65245         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
65246         * lib/memmem.c [!defined _LIBC]: Include config.h.
65247
65248 2007-02-04  Bruno Haible  <bruno@clisp.org>
65249
65250         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
65251         warning message.
65252
65253 2007-02-04  Bruno Haible  <bruno@clisp.org>
65254
65255         New module mbstok_r.
65256         * modules/mbstok_r: New file.
65257         * lib/mbstok_r.c: New file.
65258         * lib/string_.h (strtok_r): Change argument names to match the
65259         comments. Add a conditional link warning.
65260         (mbstok_r): New declaration.
65261         * m4/mbstok_r.m4: New file.
65262         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65263         GNULIB_MBSTOK_R.
65264         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
65265         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
65266
65267 2007-02-04  Bruno Haible  <bruno@clisp.org>
65268
65269         New module mbsspn.
65270         * modules/mbsspn: New file.
65271         * lib/mbsspn.c: New file.
65272         * lib/string_.h (strspn): Add a conditional link warning.
65273         (mbsspn): New declaration.
65274         * m4/mbsspn.m4: New file.
65275         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65276         GNULIB_MBSSPN.
65277         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
65278         * MODULES.html.sh (Internationalization functions): Add mbsspn.
65279
65280 2007-02-04  Bruno Haible  <bruno@clisp.org>
65281
65282         New module mbspbrk.
65283         * modules/mbspbrk: New file.
65284         * lib/mbspbrk.c: New file.
65285         * lib/string_.h (strpbrk): Add a conditional link warning.
65286         (mbspbrk): New declaration.
65287         * m4/mbspbrk.m4: New file.
65288         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65289         GNULIB_MBSPBRK.
65290         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
65291         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
65292
65293 2007-02-04  Bruno Haible  <bruno@clisp.org>
65294
65295         New module mbscspn.
65296         * modules/mbscspn: New file.
65297         * lib/mbscspn.c: New file.
65298         * lib/string_.h (strcspn): Add a conditional link warning.
65299         (mbscspn): New declaration.
65300         * m4/mbscspn.m4: New file.
65301         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65302         GNULIB_MBSCSPN.
65303         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
65304         * MODULES.html.sh (Internationalization functions): Add mbscspn.
65305
65306 2007-02-04  Bruno Haible  <bruno@clisp.org>
65307
65308         New module mbscasestr, reduced goal of strcasestr.
65309         * modules/mbscasestr: New file.
65310         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
65311         (mbscasestr): Renamed from strcasestr.
65312         * lib/strcasestr.c: Don't include mbuiter.h.
65313         (strcasestr): Remove support for multibyte locales.
65314         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
65315         Change the conditional link warning.
65316         (mbscasestr): New declaration.
65317         * m4/mbscasestr.m4: New file.
65318         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
65319         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
65320         REPLACE_STRCASESTR.
65321         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
65322         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
65323         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
65324         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
65325         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
65326         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
65327         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
65328         (Depends-on): Remove mbuiter.
65329         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
65330
65331 2007-02-04  Bruno Haible  <bruno@clisp.org>
65332
65333         Simplify handling of strncasecmp.
65334         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
65335         the conditional link warning.
65336         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
65337         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
65338         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
65339         * modules/strcase (configure.ac): Don't invoke
65340         gl_STRING_MODULE_INDICATOR.
65341         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
65342
65343 2007-02-04  Bruno Haible  <bruno@clisp.org>
65344
65345         New module mbscasecmp, reduced goal of strcasecmp.
65346         * modules/mbscasecmp: New file.
65347         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
65348         (mbscasecmp): Renamed from strcasecmp.
65349         * lib/strcasecmp.c: Don't include mbuiter.h.
65350         (strcasecmp): Remove support for multibyte locales.
65351         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
65352         Change the conditional link warning.
65353         (mbscasecmp): New declaration.
65354         * m4/mbscasecmp.m4: New file.
65355         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
65356         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
65357         REPLACE_STRCASECMP.
65358         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
65359         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65360         GNULIB_MBSCASECMP.
65361         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
65362         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
65363         * modules/strcase (Files): Remove m4/mbrtowc.m4.
65364         (Depends-on): Remove mbuiter.
65365         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
65366
65367 2007-02-04  Bruno Haible  <bruno@clisp.org>
65368
65369         New module mbsstr. Remove module strstr.
65370         * modules/mbsstr: New file.
65371         * modules/strstr: Remove file.
65372         * lib/mbsstr.c: Renamed from lib/strstr.c.
65373         (mbsstr): Renamed from strstr.
65374         * lib/string_.h (strstr): Remove declaration. Change the conditional
65375         link warning.
65376         (mbsstr): New declaration.
65377         * m4/mbsstr.m4: New file.
65378         * m4/strstr.m4: Remove file.
65379         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
65380         REPLACE_STRSTR.
65381         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
65382         Don't initialize GNULIB_STRSTR.
65383         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
65384         substitute GNULIB_STRSTR and REPLACE_STRSTR.
65385         * MODULES.html.sh (Internationalization functions): Add mbsstr.
65386         (Support for systems lacking ANSI C 89): Remove strstr.
65387
65388 2007-02-04  Bruno Haible  <bruno@clisp.org>
65389
65390         New module mbsrchr.
65391         * modules/mbsrchr: New file.
65392         * lib/mbsrchr.c: New file.
65393         * lib/string_.h (strrchr): Add a conditional link warning.
65394         (mbsrchr): New declaration.
65395         * m4/mbsrchr.m4: New file.
65396         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65397         GNULIB_MBSRCHR.
65398         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
65399         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
65400
65401 2007-02-04  Bruno Haible  <bruno@clisp.org>
65402
65403         New module mbschr.
65404         * modules/mbschr: New file.
65405         * lib/mbschr.c: New file.
65406         * lib/string_.h (strchr): Add a conditional link warning.
65407         (mbschr): New declaration.
65408         * m4/mbschr.m4: New file.
65409         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65410         GNULIB_MBSCHR.
65411         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
65412         * MODULES.html.sh (Internationalization functions): Add mbschr.
65413
65414 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
65415
65416         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
65417
65418         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
65419
65420 2007-02-04  Bruno Haible  <bruno@clisp.org>
65421
65422         New module description section 'configure.ac-early'.
65423         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
65424         (func_get_autoconf_early_snippet): New function.
65425         (func_import, func_create_testdir): Use it. Remove special cases for
65426         modules 'extensions' and 'lock'.
65427         * modules/extensions (configure.ac-early): Require
65428         gl_USE_SYSTEM_EXTENSIONS.
65429         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
65430
65431 2007-02-04  Bruno Haible  <bruno@clisp.org>
65432
65433         Make use of gcj-4.3's -fsource and -ftarget option.
65434         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
65435         and if so try the options -fsource and -ftarget.
65436         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
65437         source_version, ftarget_option, target_version arguments.
65438         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
65439         (is_envjavac_oldgcj_14_14_usable): Renamed from
65440         is_envjavac_gcj_14_14_usable.
65441         (is_envjavac_oldgcj_14_13_usable): Renamed from
65442         is_envjavac_gcj_14_13_usable.
65443         (is_gcj_present): Update.
65444         (is_gcj_43, is_gcj43_usable): New functions.
65445         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
65446         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
65447         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
65448         try the options -fsource and -ftarget.
65449
65450 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65451
65452         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
65453         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
65454         larger value.
65455
65456 2007-02-03  Jim Meyering  <jim@meyering.net>
65457
65458         Give tools a better chance to allocate space for very large buffers.
65459         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
65460
65461         Make pwd and readlink work also when run with an unreadable parent dir
65462         on systems with openat support.
65463         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
65464         provided getcwd function, even when we have openat support.
65465         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
65466
65467 2007-02-02  Bruno Haible  <bruno@clisp.org>
65468
65469         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
65470         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
65471         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
65472         portability problems if one of these functions is only used on specific
65473         platforms.
65474         Reported by Paul Eggert.
65475
65476 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
65477
65478         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
65479         is causing more trouble than it's curing.
65480         * lib/regex_internal.h (__mempcpy): Remove.
65481         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
65482         (and make the code a tad smaller to boot).
65483         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
65484
65485 2007-02-02  Jim Meyering  <jim@meyering.net>
65486
65487         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
65488         section, not in the Makefile.am: one.
65489
65490 2007-02-02  Eric Blake  <ebb9@byu.net>
65491
65492         * lib/strchrnul.c: Always include config.h first.
65493
65494         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
65495         gnulib strstr is not necessary here.
65496
65497 2007-02-02  Simon Josefsson  <simon@josefsson.org>
65498
65499         * m4/socklen.m4: Fix typo.
65500
65501 2007-02-02  Eric Blake  <ebb9@byu.net>
65502
65503         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
65504         * modules/netinet_in (Makefile.am): Likewise.
65505
65506 2007-02-01  Bruno Haible  <bruno@clisp.org>
65507
65508         * lib/string_.h (GL_LINK_WARNING): New macro.
65509         (strcasecmp, strstr, strcasestr): If provided by the system,
65510         conditionally define as a macro that leads to a warning instead of to
65511         an error.
65512         (strncasecmp): Conditionally define as a macro that leads to a warning.
65513
65514 2007-02-01  Karl Berry  <karl@gnu.org>
65515
65516         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
65517
65518 2007-02-01  Bruno Haible  <bruno@clisp.org>
65519
65520         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
65521         renamings.
65522
65523 2007-02-01  Eric Blake  <ebb9@byu.net>
65524
65525         * modules/regex (Depends-on): Revert dependence on mempcpy.
65526         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
65527         module's definition of mempcpy.
65528         Reported by Paul Eggert.
65529
65530 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
65531
65532         * lib/string_.h: If the gnulib module XYZ is not present, undefine
65533         the symbol XYZ before redefining it.  This fixes a problem with
65534         programs that don't use XYZ, when compiled on systems that define
65535         XYZ to something else.
65536
65537 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
65538
65539         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
65540         occurs when "mkdir -m foo" creates a setgid directory that is (1)
65541         writeable to group or other and (2) is intended to have a special
65542         mode bit that is set or cleared.  In such a case, the directory
65543         should be neither group- nor other-writeable until the special
65544         mode bits are right.
65545
65546 2007-01-31  Eric Blake  <ebb9@byu.net>
65547
65548         * modules/mountlist (Depends-on): Add strstr.
65549
65550         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
65551         bug.
65552         * modules/string (Makefile.am): Remove redundant replacement.
65553         * modules/regex (Depends-on): Add mempcpy.
65554
65555 2007-01-31  Bruno Haible  <bruno@clisp.org>
65556
65557         New module description field 'Link'.
65558         * gnulib-tool (func_usage): Document --extract-link-directive.
65559         (sed_extract_prog): Recognize 'Link' directive.
65560         (func_get_link_directive): New function.
65561         (func_import): Show summary of link directives.
65562         Handle --extract-link-directive option.
65563         * modules/acl (Link): New section.
65564         * modules/clock-time (Link): New section.
65565         * modules/euidaccess (Link): New section.
65566         * modules/gettext (Link): New section.
65567         * modules/iconv (Link): New section.
65568         * modules/lock (Link): New section.
65569         * modules/nanosleep (Link): New section.
65570         * modules/readline (Link): New section.
65571
65572 2007-01-27  Bruno Haible  <bruno@clisp.org>
65573
65574         Enforce the use of gnulib modules for unportable <string.h> functions.
65575         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
65576         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
65577         (gl_HEADER_STRING_H_BODY): Require it.
65578         * lib/string_.h: If the gnulib module XYZ is not present, redefine
65579         the symbol XYZ to one that gives a link error.
65580         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
65581         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
65582         * modules/mempcpy (configure.ac): Likewise.
65583         * modules/memrchr (configure.ac): Likewise.
65584         * modules/stpcpy (configure.ac): Likewise.
65585         * modules/stpncpy (configure.ac): Likewise.
65586         * modules/strcase (configure.ac): Likewise.
65587         * modules/strcasestr (configure.ac): Likewise.
65588         * modules/strchrnul (configure.ac): Likewise.
65589         * modules/strdup (configure.ac): Likewise.
65590         * modules/strndup (configure.ac): Likewise.
65591         * modules/strnlen (configure.ac): Likewise.
65592         * modules/strpbrk (configure.ac): Likewise.
65593         * modules/strsep (configure.ac): Likewise.
65594         * modules/strstr (configure.ac): Likewise.
65595         * modules/strtok_r (configure.ac): Likewise.
65596
65597 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
65598
65599         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
65600
65601 2007-01-30  Jim Meyering  <jim@meyering.net>
65602
65603         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
65604
65605 2007-01-29  Bruno Haible  <bruno@clisp.org>
65606
65607         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
65608         * lib/execute.c: Likewise.
65609         * lib/pipe.c: Likewise.
65610         * lib/printf-args.h: Likewise.
65611         * lib/printf-args.c: Likewise.
65612         * lib/printf-parse.c: Likewise.
65613         * lib/vasnprintf.c: Likewise.
65614
65615 2007-01-29  Eric Blake  <ebb9@byu.net>
65616
65617         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
65618         declaration.
65619
65620 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
65621
65622         * lib/strptime.h (strptime): Use 'restrict' for args where
65623         POSIX requires this.
65624         * lib/strptime.c (strptime): Likewise.
65625         Change license notice from LGPL to GPL, since gnulib-tool will
65626         change this as needed.
65627         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
65628         defined.
65629         Include "strptime.h" first, to check interface.
65630         Do not #undef _LIBC and _NL_CURRENT.
65631         Do not include <stdlib.h>; no longer needed.
65632         Include "time_r.h" and declare ptime_locale_status
65633         only if _LIBC is not defined.
65634         (__P): Remove unused macro.
65635         (match_string): Bring back glibc version, but use it only if _LIBC
65636         is defined.
65637         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
65638         Remove unnecessary assertion and abort() call.
65639         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
65640         * m4/strptime.m4: Fix serial number comment.
65641         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
65642         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
65643         (Depends-on): Add time_r.
65644
65645 2007-01-29  Bruno Haible  <bruno@clisp.org>
65646
65647         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65648         strptime.
65649         * modules/strptime (Depends-on): Add stdbool.
65650         * lib/strptime.h: Include <time.h> always. Add comments.
65651
65652 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65653
65654         * modules/strptime: New file.
65655         * lib/strptime.h: New file.
65656         * lib/strptime.c: New file.
65657         * m4/strptime.m4: New file.
65658
65659 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65660
65661         * MODULES.html.sh: New module mpsort.
65662         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
65663
65664         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
65665         a circularity problem with HP-UX ia64 reported by Bob Proulx in
65666         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
65667         All uses changed.
65668         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
65669         All uses changed.
65670         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
65671         to _Restrict_.
65672         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
65673         the parameter matches the prototype.
65674
65675 2007-01-28  Jim Meyering  <jim@meyering.net>
65676
65677         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
65678         sys/time.h here, reverting that part of the previous patch:
65679         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
65680
65681 2007-01-28  Bruno Haible  <bruno@clisp.org>
65682
65683         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
65684         value of $(SYS_TIME_H).
65685         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
65686         remove it conditionally, too. [added by Jim Meyering]
65687         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
65688         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
65689         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
65690         GETTIMEOFDAY_REPLACEMENT to 1.
65691
65692 2007-01-28  Bruno Haible  <bruno@clisp.org>
65693
65694         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
65695         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
65696         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
65697         Set UNISTD_H instead of UNISTD_H2.
65698         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
65699
65700 2007-01-28  Bruno Haible  <bruno@clisp.org>
65701
65702         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
65703         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
65704
65705 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65706
65707         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
65708         (func_create_testdir): Ensure C locale for `grep' and `tr'
65709         character ranges.
65710         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
65711         ACLOCAL_AMFLAGS parsing state machine.
65712
65713 2007-01-27  Bruno Haible  <bruno@clisp.org>
65714
65715         * modules/unistr/base: Update.
65716
65717 2007-01-27  Bruno Haible  <bruno@clisp.org>
65718
65719         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
65720         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
65721         * modules/unistr/u32-mbtouc-unsafe: Renamed from
65722         modules/unistr/u32-mbtouc.
65723         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
65724         * lib/unistr.h: Update.
65725         * lib/linebreak.c: Update.
65726         * modules/unistr/u32-mbtouc: Renamed from
65727         modules/unistr/u32-mbtouc-safe.
65728         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
65729         * lib/unistr.h: Update.
65730         * lib/unistr/u32-to-u8.c: Update.
65731         * lib/unistr/u32-to-u16.c: Update.
65732
65733 2007-01-27  Bruno Haible  <bruno@clisp.org>
65734
65735         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
65736         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
65737         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
65738         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
65739         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
65740         * modules/unistr/u16-mbtouc-unsafe: Renamed from
65741         modules/unistr/u16-mbtouc.
65742         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
65743         * lib/unistr.h: Update.
65744         * lib/linebreak.c: Update.
65745         * modules/linebreak: Update.
65746         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
65747         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
65748         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
65749         * modules/unistr/u16-mbtouc: Renamed from
65750         modules/unistr/u16-mbtouc-safe.
65751         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
65752         * lib/unistr.h: Update.
65753         * lib/unistr/u16-to-u8.c: Update.
65754         * modules/unistr/u16-to-u8: Update.
65755         * lib/unistr/u16-to-u32.c: Update.
65756         * modules/unistr/u16-to-u32: Update.
65757
65758 2007-01-27  Bruno Haible  <bruno@clisp.org>
65759
65760         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
65761         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
65762         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
65763         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
65764         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
65765         * modules/unistr/u8-mbtouc-unsafe: Renamed from
65766         modules/unistr/u8-mbtouc.
65767         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
65768         * lib/unistr.h: Update.
65769         * lib/striconveh.c: Update.
65770         * modules/striconveh: Update.
65771         * lib/linebreak.c: Update.
65772         * modules/linebreak: Update.
65773         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
65774         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
65775         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
65776         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
65777         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
65778         * lib/unistr.h: Update.
65779         * lib/striconveh.c: Update.
65780         * modules/striconveh: Update.
65781         * lib/unistr/u8-to-u16.c: Update.
65782         * modules/unistr/u8-to-u16: Update.
65783         * lib/unistr/u8-to-u32.c: Update.
65784         * modules/unistr/u8-to-u32: Update.
65785
65786 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65787
65788         Sync from Libtool.
65789         * lib/argz.c: Do not include strings.h nor memory.h, include
65790         string.h unconditionally.  Patch by Simon Josefsson.
65791
65792 2007-01-27  Bruno Haible  <bruno@clisp.org>
65793
65794         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
65795         from gl_HEADER_STRING_H_BODY.
65796         (gl_HEADER_STRING_H_BODY): Require it.
65797         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
65798         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
65799         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
65800         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
65801         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65802         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
65803         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
65804         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
65805         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
65806         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
65807         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
65808         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
65809         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
65810         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
65811         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65812
65813 2007-01-27  Bruno Haible  <bruno@clisp.org>
65814
65815         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
65816         check_PROGRAMS into noinst_PROGRAMS.
65817         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
65818         check_PROGRAMS in this case.
65819         (func_import): Set for_test to false.
65820         (func_create_testdir): Set for_test to true.
65821
65822 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
65823             Bruno Haible  <bruno@clisp.org>
65824
65825         * modules/strcasestr (Files): Remove lib/strcasestr.h.
65826         (Depends-on): Add string.
65827         (Includes): Use <string.h> instead of strcasestr.h.
65828         * modules/string (Makefile.am): Also substitute the value of
65829         REPLACE_STRCASESTR.
65830         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
65831         assume strcasestr is declared in <string.h> not <strings.h>. Also
65832         set REPLACE_STRCASESTR.
65833         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
65834         REPLACE_STRCASESTR.
65835         * lib/strcasestr.h: Remove file.
65836         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
65837         * lib/string_.h (strcasestr): New declaration.
65838
65839 2007-01-27  Bruno Haible  <bruno@clisp.org>
65840
65841         * lib/string_.h: Use 'extern'.
65842
65843 2007-01-27  Jim Meyering  <jim@meyering.net>
65844
65845         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
65846         of set-but-not-used local, "q".
65847
65848         * lib/mempcpy.c: Include <config.h> before <string.h>.
65849         This fixes a compilation error on HP-UX, due to the system's
65850         "restrict"-using mempcpy prototype.
65851
65852 2007-01-26  Bruno Haible  <bruno@clisp.org>
65853
65854         Small optimization.
65855         * lib/javacomp.c: Include c-strstr.h.
65856          (is_envjavac_gcj): Use c_strstr instead of strstr.
65857         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
65858
65859 2007-01-26  Bruno Haible  <bruno@clisp.org>
65860
65861         * MODULES.html.sh (Unicode string functions): Add the new modules.
65862
65863         * modules/uniconv/u32-strconv-to-locale: New file.
65864         * lib/uniconv/u32-strconv-to-locale.c: New file.
65865
65866         * modules/uniconv/u16-strconv-to-locale: New file.
65867         * lib/uniconv/u16-strconv-to-locale.c: New file.
65868
65869         * modules/uniconv/u8-strconv-to-locale: New file.
65870         * lib/uniconv/u8-strconv-to-locale.c: New file.
65871
65872         * modules/uniconv/u32-strconv-from-locale: New file.
65873         * lib/uniconv/u32-strconv-from-locale.c: New file.
65874
65875         * modules/uniconv/u16-strconv-from-locale: New file.
65876         * lib/uniconv/u16-strconv-from-locale.c: New file.
65877
65878         * modules/uniconv/u8-strconv-from-locale: New file.
65879         * lib/uniconv/u8-strconv-from-locale.c: New file.
65880
65881         * modules/uniconv/u32-strconv-to-enc: New file.
65882         * lib/uniconv/u32-strconv-to-enc.c: New file.
65883         * modules/uniconv/u32-strconv-to-enc-tests: New file.
65884         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
65885
65886         * modules/uniconv/u16-strconv-to-enc: New file.
65887         * lib/uniconv/u16-strconv-to-enc.c: New file.
65888         * lib/uniconv/u-strconv-to-enc.h: New file.
65889         * modules/uniconv/u16-strconv-to-enc-tests: New file.
65890         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
65891
65892         * modules/uniconv/u8-strconv-to-enc: New file.
65893         * lib/uniconv/u8-strconv-to-enc.c: New file.
65894         * modules/uniconv/u8-strconv-to-enc-tests: New file.
65895         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
65896
65897         * modules/uniconv/u32-strconv-from-enc: New file.
65898         * lib/uniconv/u32-strconv-from-enc.c: New file.
65899         * modules/uniconv/u32-strconv-from-enc-tests: New file.
65900         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
65901
65902         * modules/uniconv/u16-strconv-from-enc: New file.
65903         * lib/uniconv/u16-strconv-from-enc.c: New file.
65904         * modules/uniconv/u16-strconv-from-enc-tests: New file.
65905         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
65906
65907         * modules/uniconv/u8-strconv-from-enc: New file.
65908         * lib/uniconv/u8-strconv-from-enc.c: New file.
65909         * lib/uniconv/u-strconv-from-enc.h: New file.
65910         * modules/uniconv/u8-strconv-from-enc-tests: New file.
65911         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
65912
65913         * modules/uniconv/u32-conv-from-enc: New file.
65914         * lib/uniconv/u32-conv-from-enc.c: New file.
65915         * modules/uniconv/u32-conv-from-enc-tests: New file.
65916         * tests/uniconv/test-u32-conv-from-enc.c: New file.
65917
65918         * modules/uniconv/u16-conv-from-enc: New file.
65919         * lib/uniconv/u16-conv-from-enc.c: New file.
65920         * lib/uniconv/u-conv-from-enc.h: New file.
65921         * modules/uniconv/u16-conv-from-enc-tests: New file.
65922         * tests/uniconv/test-u16-conv-from-enc.c: New file.
65923
65924         * modules/uniconv/u8-conv-from-enc: New file.
65925         * lib/uniconv/u8-conv-from-enc.c: New file.
65926         * modules/uniconv/u8-conv-from-enc-tests: New file.
65927         * tests/uniconv/test-u8-conv-from-enc.c: New file.
65928
65929         * modules/uniconv/base: New file.
65930         * lib/uniconv.h: New file.
65931
65932 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
65933
65934         * doc/gnulib-tool.texi (Initial import): Update to match current
65935         behavior with strdup module.
65936         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
65937         * lib/memmem.h: Remove; all uses removed.  This is now done
65938         by <string.h>.
65939         * lib/mempcpy.h: Likewise.
65940         * lib/memrchr.h: Likewise.
65941         * lib/stpcpy.h: Likewise.
65942         * lib/stpncpy.h: Likewise.
65943         * lib/strcase.h: Likewise.
65944         * lib/strchrnul.h: Likewise.
65945         * lib/strdup.h: Likewise.
65946         * lib/strndup.h: Likewise.
65947         * lib/strnlen.h: Likewise.
65948         * lib/strpbrk.h: Likewise.
65949         * lib/strsep.h: Likewise.
65950         * lib/strstr.h: Likewise.
65951         * lib/strtok_r.h: Likewise.
65952         * lib/string_.h: New file.
65953         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
65954         Rely on <string.h> instead.
65955         * lib/canon-host.c: Likewise.
65956         * lib/chdir-long.c: Likewise.
65957         * lib/concatpath.c: Likewise.
65958         * lib/exclude.c: Likewise.
65959         * lib/fchdir.c: Likewise.
65960         * lib/getaddrinfo.c: Likewise.
65961         * lib/getcwd.c: Likewise.
65962         * lib/getsubopt.c: Likewise.
65963         * lib/glob.c: Likewise.
65964         * lib/hard-locale.c: Likewise.
65965         * lib/iconvme.c: Likewise.
65966         * lib/javacomp.c: Likewise.
65967         * lib/mempcpy.c: Likewise.
65968         * lib/memrchr.c: Likewise.
65969         * lib/regex_internal.h: Likewise.
65970         * lib/stpncpy.c: Likewise.
65971         * lib/strcasecmp.c: Likewise.
65972         * lib/strchrnul.c: Likewise.
65973         * lib/strdup.c: Likewise.
65974         * lib/striconv.c: Likewise.
65975         * lib/striconveh.c: Likewise.
65976         * lib/striconveha.c: Likewise.
65977         * lib/strncasecmp.c: Likewise.
65978         * lib/strndup.c: Likewise.
65979         * lib/strnlen.c: Likewise.
65980         * lib/strsep.c: Likewise.
65981         * lib/strstr.c: Likewise.
65982         * lib/strtok_r.c: Likewise.
65983         * lib/userspec.c: Likewise.
65984         * lib/w32spawn.h: Likewise.
65985         * lib/xstrndup.c: Likewise.
65986         * lib/mountlist.c (strstr): Remove decl.
65987         * m4/string_h.m4: New file.
65988         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
65989         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
65990         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
65991         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
65992         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
65993         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
65994         Set REPLACE_STRCASECMP if necessary.
65995         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
65996         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
65997         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
65998         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
65999         HAVE_DECL_STRDUP if necessary.
66000         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
66001         since gl_FUNC_STRNDUP does that now.
66002         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
66003         Check for decl here...
66004         (gl_PREREQ_STRNLEN): ... not here.
66005         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
66006         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
66007         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
66008         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
66009         necessary.
66010         * modules/string: New file.
66011         * modules/memmem (Files): Remove special-purpose include file.
66012         (Depends-on): Add string.
66013         (Include): Include <string.h>, not the removed file.
66014         * modules/mempcpy: Likewise.
66015         * modules/memrchr: Likewise.
66016         * modules/stpcpy: Likewise.
66017         * modules/stpncpy: Likewise.
66018         * modules/strcase: Likewise.
66019         * modules/strchrnul: Likewise.
66020         * modules/strdup: Likewise.
66021         * modules/strndup: Likewise.
66022         * modules/strnlen: Likewise.
66023         * modules/strpbrk: Likewise.
66024         * modules/strsep: Likewise.
66025         * modules/strstr: Likewise.
66026         * modules/strtok_r: Likewise.
66027         * tests/test-dirname.c: Don't include "strdup.h", since
66028         <string.h> now suffices.
66029         * tests/test-memmem.c: Don't include "memmem.h", since
66030         <string.h> now suffices.
66031
66032 2007-01-25  Bruno Haible  <bruno@clisp.org>
66033
66034         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
66035         *resultp is 0.
66036
66037         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
66038         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
66039         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
66040         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
66041
66042         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
66043         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
66044         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
66045         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
66046         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
66047         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
66048
66049 2007-01-24  Bruno Haible  <bruno@clisp.org>
66050
66051         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
66052         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
66053         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
66054         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
66055         gl_FUNC_FTS_CORE.
66056         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
66057         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
66058         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66059         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
66060         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
66061         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
66062         gl_FUNC_FCHOWNAT.
66063         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
66064         gl_FUNC_STRFTIME.
66065         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
66066         Reported by Ralf Wildenhues.
66067
66068 2007-01-24  Bruno Haible  <bruno@clisp.org>
66069
66070         Drop AC_REQUIRE calls that are redundant with the module dependencies.
66071         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
66072         gl_GETADDRINFO.
66073         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
66074         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
66075         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
66076
66077 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
66078
66079         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
66080         Don't use 'exit'; just return from 'main'.
66081         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
66082
66083         * lib/fnmatch_.h: Readjust white space and comments to match
66084         glibc, to avoid spurious diffs.
66085
66086 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66087
66088         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
66089         2004-12-01 change by Jakub Jelinek, since this code won't compile
66090         if !LIBC.  Problem reported by Bob Proulx.
66091
66092 2007-01-23  Bruno Haible  <bruno@clisp.org>
66093
66094         * lib/striconveh.c: Include c-strcaseeq.h.
66095         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
66096         * modules/striconveh (Depends-on): Add c-strcaseeq.
66097
66098 2007-01-23  Bruno Haible  <bruno@clisp.org>
66099
66100         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
66101
66102         * modules/c-strcaseeq: New file.
66103         * lib/c-strcaseeq.h: New file.
66104
66105         * modules/streq: New file.
66106         * lib/streq.h: New file.
66107
66108 2007-01-23  Bruno Haible  <bruno@clisp.org>
66109
66110         * modules/striconveha-tests: New file.
66111         * tests/test-striconveha.c: New file.
66112
66113         * lib/striconveha.h: Include <stdbool.h>.
66114         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
66115         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
66116         (mem_iconveha_notranslit): Renamed from mem_iconveha.
66117         (mem_iconveha): New function.
66118         (str_iconveha_notranslit): Renamed from str_iconveha.
66119         (str_iconveha): New function.
66120         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
66121         c-strcase.
66122
66123 2007-01-23  Bruno Haible  <bruno@clisp.org>
66124
66125         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
66126         encodings without forgiving before trying any encoding with handler.
66127         (str_iconveha): Try all encodings without forgiving before trying any
66128         encoding with handler.
66129
66130 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66131
66132         Import the following changes from libc.
66133
66134         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
66135
66136         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
66137
66138         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
66139
66140         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
66141         normal_bracket label.
66142
66143         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
66144
66145         [BZ #361]
66146         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
66147         to normal_bracket after fetching the next character.
66148
66149 2007-01-22  Bruno Haible  <bruno@clisp.org>
66150
66151         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
66152         argument.
66153         * lib/striconveh.c (iconv_carefully_1): New function.
66154         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
66155         argument.
66156         (str_cd_iconveh): Update.
66157         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
66158         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
66159         * tests/test-striconveh.c (MAGIC): New macro.
66160         (new_offsets): New function.
66161         (main): Test call with and without offsets.
66162
66163 2007-01-22  Bruno Haible  <bruno@clisp.org>
66164
66165         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
66166         * modules/sys_select (Makefile.am): Likewise.
66167         * modules/sys_socket (Makefile.am): Likewise.
66168         * modules/sys_time (Makefile.am): Likewise.
66169
66170 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
66171
66172         * modules/gettimeofday (License): Change from GPL to LGPL, since
66173         gettimeofday is a library function.
66174
66175 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66176
66177         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
66178
66179 2007-01-21  Bruno Haible  <bruno@clisp.org>
66180
66181         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
66182
66183 2007-01-21  Bruno Haible  <bruno@clisp.org>
66184
66185         * modules/striconveha: New file.
66186         * lib/striconveha.h: New file.
66187         * lib/striconveha.c: New file.
66188         * MODULES.html.sh (Internationalization functions): Add striconveha.
66189         * lib/striconv.c (str_iconv): Optimize the case of an empty input
66190         string.
66191         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
66192
66193 2007-01-21  Bruno Haible  <bruno@clisp.org>
66194
66195         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
66196         * lib/striconveh.c (str_iconveh): Likewise.
66197
66198 2007-01-21  Bruno Haible  <bruno@clisp.org>
66199
66200         * lib/striconveh.h (mem_iconveh): New declaration.
66201         * lib/striconveh.c (mem_iconveh): New function.
66202         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
66203
66204 2007-01-21  Bruno Haible  <bruno@clisp.org>
66205
66206         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
66207
66208         * lib/striconveh.h (mem_cd_iconveh): Change specification.
66209         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
66210         original result buffer.
66211         (str_cd_iconveh): Update.
66212         * tests/test-striconveh.c (main): Update.
66213
66214         * lib/striconv.h (mem_cd_iconv): Change specification.
66215         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
66216         result buffer.
66217         (str_cd_iconv): Update.
66218         * tests/test-striconv.c (main): Update.
66219
66220 2007-01-21  Bruno Haible  <bruno@clisp.org>
66221
66222         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
66223
66224 2007-01-20  Jim Meyering  <jim@meyering.net>
66225
66226         * lib/userspec.c (parse_with_separator): If a user or group string
66227         starts with "+", skip the corresponding name-to-ID look-up, since
66228         such a look-up must fail: user and group names may not include "+".
66229
66230 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66231
66232         * lib/poll.c: Include sys/time.h and time.h unconditionally,
66233         since we now assume the sys_time module.
66234         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
66235         check for sys/time.h; no longer needed.
66236         * modules/poll (Depends-on): Depend on sys_time.
66237
66238 2007-01-18  Bruno Haible  <bruno@clisp.org>
66239
66240         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
66241         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
66242
66243         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
66244         gettimeofday.
66245
66246         * tests/test-gettimeofday.c: Include <time.h>.
66247         (dummy): Remove variable.
66248
66249         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
66250         gl_HEADER_SYS_TIME_H.
66251         (gl_HEADER_SYS_TIME_H): New macro.
66252
66253         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
66254         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66255         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
66256         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
66257         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66258         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
66259         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
66260         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66261         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
66262         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
66263         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66264
66265         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
66266         last change; it caused a compilation error when cross-compiling to
66267         Cygwin.
66268
66269 2007-01-18  Jim Meyering  <jim@meyering.net>
66270
66271         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
66272         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
66273         than the race-prone "test -d sys || mkdir sys".
66274         (configure.ac): Use AC_PROG_MKDIR_P.
66275         * modules/sys_select: Likewise.
66276         * modules/sys_socket: Likewise.
66277         * modules/sys_time: Likewise.
66278
66279 2007-01-18  Eric Blake  <ebb9@byu.net>
66280
66281         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
66282         replace gettimeofday.
66283         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
66284         name, to avoid infinite recursion.
66285
66286 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
66287
66288         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
66289         module sys_time.
66290         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
66291         assume timespec.h defines struct timeval.
66292         * lib/settime.c: Likewise.
66293         * lib/utimens.c: Likewise.
66294         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
66295         since we now assume the gettimeofday module.
66296         * lib/tempname.c (__gen_tempname): Likewise.
66297         * lib/gettimeofday.h: Remove.
66298         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
66299         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
66300         Include <time.h>, for 'time()'.
66301         (localtime_buffer_addr): Also use this workaround if
66302         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
66303         to simplify the uses.  All uses changed.
66304         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
66305         that #undef is inside {}, and 'const' follows type name consistently.
66306         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
66307         (gettimeofday): Do not use the maximum possible value for
66308         tv->tv_usec, since that might break usages other than ls.c.
66309         Instead, we'll leave ls.c alone.  This undoes today's patch
66310         by Bruno.  Add a compile-time warning for 1s-clock resolution;
66311         we've never observed the problem but might as well keep the
66312         canary.
66313         * lib/nanosleep.c: Include timespec.h first, for interface check.
66314         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
66315         now assume the sys_time module.
66316         * lib/tempname.c: Likewise.
66317         * lib/timespec.h: Likewise.
66318         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
66319         needed.
66320         * lib/strftime.c: Likewise.
66321         * lib/timespec.h: Likewise.
66322         * lib/posixtm.c: Include posixtm.h first, for interface check.
66323         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
66324         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
66325         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
66326         * lib/sys_time_.h: New file.
66327         * lib/timespec.h (struct timespec): Use long int, not long.
66328         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66329         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
66330         Remove obsolescent call to AC_HEADER_TIME.
66331         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
66332         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
66333         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
66334         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
66335         Likewise.
66336         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
66337         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
66338         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
66339         into the sys_time module.  Check for gettimeofday just once.
66340         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
66341         for gettimeofday signature to just check the signature.  Merely
66342         compile it, since linking doesn't test signature.  Improve test for
66343         whether gettimeofday.o is actually needed.
66344         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
66345         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
66346         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
66347         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66348         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
66349         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
66350         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
66351         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
66352         than worrying about sys/time.h.
66353         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66354         Don't bother worrying about TIME_WITH_SYS_TIME.
66355         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
66356         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
66357         * m4/sys_time_h.m4: New file.
66358         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
66359         Don't include sys/time.h.  Return from main rather than exiting.
66360         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
66361         all uses changed.
66362         * modules/gethrxtime (Depends-on): Add sys_time.
66363         * modules/gettime (Depends-on): Likewise.
66364         * modules/gettimeofday (Depends-on): Likewise.
66365         * modules/nanosleep (Depends-on): Likewise.
66366         * modules/settime (Depends-on): Likewise.
66367         * modules/tempname (Depends-on): Likewise.
66368         * modules/utimens (Depends-on): Likewise.
66369         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
66370         (Include): Change back to <sys/time.h>.
66371         (Maintainer): Add self.
66372         * modules/sys_time: New file.
66373         * modules/tempname (Depends-on): Add gettimeofday.
66374         * tests/test-gettimeofday.c: Include <sys/time.h>
66375         rather than gettimeofday.h.
66376
66377 2007-01-17  Bruno Haible  <bruno@clisp.org>
66378
66379         * gnulib-tool (func_get_license): Revert last patch. Instead, let
66380         the license default to GPL.
66381         (func_create_testdir): Don't complain if a module is LGPL and its
66382         tests module depends on GPLed modules.
66383
66384 2007-01-17  Bruno Haible  <bruno@clisp.org>
66385
66386         * lib/gettimeofday.c (gettimeofday): Add code for the case
66387         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
66388         maximum possible value for tv->tv_usec, rather than the minimum one.
66389
66390 2005-10-08  Martin Lambers  <marlam@marlam.de>
66391 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66392 2007-01-16  Bruno Haible  <bruno@clisp.org>
66393
66394         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
66395         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
66396         gl_FUNC_GETTIMEOFDAY.
66397         (Include): Add gettimeofday.h.
66398         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
66399         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
66400         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
66401         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
66402         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
66403         * lib/gettimeofday.h: New file.
66404         * lib/gettimeofday.c: Include <sys/timeb.h>.
66405         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
66406         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66407         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
66408         fall back on time().
66409
66410         * tests/test-gettimeofday.c: New file.
66411         * modules/gettimeofday-tests: New file.
66412
66413 2007-01-16  Eric Blake  <ebb9@byu.net>
66414
66415         * modules/fnmatch (Depends-on): Depend on wchar.
66416         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
66417         * m4/fnmatch.m4: Likewise.
66418         * modules/mbchar (Makefile.am): Assume <wchar.h>.
66419         * m4/mbchar.m4: Likewise.
66420         * modules/mbswidth (Depends-on): Depend on wchar.
66421         * lib/mbswidth.c: Assume <wchar.h>.
66422         * m4/mbswidth.m4: Likewise.
66423         * modules/quotearg (Depends-on): Depend on wchar.
66424         * lib/quotearg.c: Assume <wchar.h>.
66425         * m4/quotearg.m4: Likewise.
66426         * modules/regex (Depends-on): Depend on wchar.
66427         * lib/regex_internal.h: Assume <wchar.h>.
66428         * m4/regex.m4: Likewise.
66429         * modules/stdint (Depends-on): Depend on wchar.
66430         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
66431         * m4/stdint.m4: Likewise.
66432         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
66433         * modules/strftime (Depends-on): Depend on wchar.
66434         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
66435         * modules/strtol (Depends-on): Depend on wchar.
66436         * lib/strtol.c: Assume <wchar.h>.
66437         * modules/wcwidth (Depends-on): Depend on wchar.
66438         * lib/wcwidth.h: Assume <wchar.h>.
66439         * m4/wcwidth.m4: Likewise.
66440
66441 2007-01-16  Bruno Haible  <bruno@clisp.org>
66442
66443         * modules/csharpexec-script: New, created from...
66444         * modules/csharpexec: ... this.
66445
66446 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
66447
66448         * modules/javaexec-script: New, created from...
66449         * modules/javaexec: ... this.
66450
66451 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66452
66453         * modules/poll (Dependencies): Add sys_select.
66454
66455 2007-01-15  Jim Meyering  <jim@meyering.net>
66456
66457         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
66458         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
66459         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
66460         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
66461
66462 2007-01-15  Bruno Haible  <bruno@clisp.org>
66463
66464         * modules/striconveh: New file.
66465         * lib/striconveh.h: New file.
66466         * lib/striconveh.c: New file.
66467         * MODULES.html.sh (Internationalization functions): Add striconveh.
66468
66469         * modules/striconveh-tests: New file.
66470         * tests/test-striconveh.c: New file.
66471
66472 2007-01-15  Bruno Haible  <bruno@clisp.org>
66473
66474         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
66475         not from GNU libiconv or GNU libc.
66476
66477 2007-01-15  Bruno Haible  <bruno@clisp.org>
66478
66479         * doc/gnulib-intro.texi (Copyright): Explain the different license
66480         terms for module descriptions, autoconf macros, tests, documentation.
66481
66482 2007-01-14  Bruno Haible  <bruno@clisp.org>
66483
66484         * modules/striconv-tests: New file.
66485         * tests/test-striconv.c: New file.
66486
66487 2007-01-14  Bruno Haible  <bruno@clisp.org>
66488
66489         * modules/iconv-tests: New file.
66490         * tests/test-iconv.c: New file.
66491
66492 2007-01-14  Bruno Haible  <bruno@clisp.org>
66493
66494         * gnulib-tool (func_get_license): For test modules, use the license of
66495         the main module.
66496
66497 2007-01-14  Bruno Haible  <bruno@clisp.org>
66498
66499         * modules/iconv (Include): Clarify that <iconv.h> can only be included
66500         if iconv is found to exist.
66501
66502 2007-01-14  Bruno Haible  <bruno@clisp.org>
66503
66504         * modules/c-ctype-tests: New file.
66505         * tests/test-c-ctype.c: New file.
66506
66507 2007-01-14  Bruno Haible  <bruno@clisp.org>
66508
66509         * modules/binary-io-tests: New file.
66510         * tests/test-binary-io.sh: New file.
66511         * tests/test-binary-io.c: New file.
66512
66513 2007-01-14  Bruno Haible  <bruno@clisp.org>
66514
66515         * modules/array-oset-tests: New file.
66516         * tests/test-array_oset.c: New file.
66517
66518 2007-01-14  Bruno Haible  <bruno@clisp.org>
66519
66520         * modules/array-list-tests: New file.
66521         * tests/test-array_list.c: New file.
66522
66523 2007-01-14  Bruno Haible  <bruno@clisp.org>
66524
66525         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
66526         and make.
66527         Reported by Simon Josefsson in
66528         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
66529
66530 2007-01-14  Bruno Haible  <bruno@clisp.org>
66531
66532         * modules/allocsa-tests: New file.
66533         * tests/test-allocsa.c: New file.
66534
66535 2007-01-14  Bruno Haible  <bruno@clisp.org>
66536
66537         * modules/fchdir (Depends-on): Add absolute-header.
66538         * modules/unistd (Depends-on): Likewise.
66539
66540 2006-12-30  Bruno Haible  <bruno@clisp.org>
66541
66542         * modules/fchdir: New file.
66543         * modules/unistd (Files): Add lib/unistd_.h.
66544         (Makefile.am): Generate unistd.h from unistd_.h.
66545         * lib/fchdir.c: New file.
66546         * lib/dirent_.h: New file.
66547         * lib/unistd_.h: New file.
66548         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
66549         * m4/fchdir.m4: New file.
66550         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
66551         (gl_HEADER_UNISTD): Invoke it.
66552         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
66553         function.
66554         * lib/backupfile.c (opendir, closedir): Undefine.
66555         * lib/chown.c (open, close): Undefine.
66556         * lib/clean-temp.c (open, close): Undefine.
66557         * lib/copy-file.c (open, close): Undefine.
66558         * lib/execute.c (open, close): Undefine.
66559         * lib/fsusage.c (open, close): Undefine.
66560         * lib/gc-gnulib.c (open, close): Undefine.
66561         * lib/getcwd.c (opendir, closedir): Undefine.
66562         * lib/glob.c (opendir, closedir): Undefine.
66563         * lib/javacomp.c (open, close): Undefine.
66564         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
66565         * lib/openat-proc.c (open, close): Undefine.
66566         * lib/pagealign_alloc.c (open, close): Undefine.
66567         * lib/pipe.c (open, close): Undefine.
66568         * lib/progreloc.c (open, close): Undefine.
66569         * lib/savedir.c (opendir, closedir): Undefine.
66570         * lib/utime.c (open, close): Undefine.
66571         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
66572
66573 2007-01-10  Bruno Haible  <bruno@clisp.org>
66574
66575         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
66576
66577 2007-01-12  Eric Blake  <ebb9@byu.net>
66578
66579         Provide a robust <wchar.h>.  Further simplifications are now
66580         possible in other modules, but not included here.
66581         * modules/wchar: New module.
66582         * m4/wchar.m4: New file.
66583         * lib/wchar_.h: Likewise.
66584         * modules/mbchar (Depends-on): Depend on wchar, as the first use
66585         of the new module.
66586         * MODULES.html.sh (Extended multibyte and wide character utilities):
66587         New section.
66588
66589 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
66590
66591         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
66592         to a reasonable default for memory allocation.
66593         (xreadlink): Don't allocate a huge buffer, to work around a buggy
66594         file system that reports garbage st_size values for symlinks.
66595         Problem reported by Liyang Hu.
66596
66597 2007-01-11  Simon Josefsson  <simon@josefsson.org>
66598
66599         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
66600         Emacs .#* auto-save files).
66601
66602 2007-01-11  Bruno Haible  <bruno@clisp.org>
66603
66604         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
66605         directory.
66606
66607 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66608
66609         Use @...@ consistently in lib/wctype_.h.
66610         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
66611         on it being set to 1 or 0.
66612         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
66613         go back to AC_SUBSTing it.
66614         * modules/wctype (Makefile.am): Undo previous change.
66615
66616 2007-01-10  Eric Blake  <ebb9@byu.net>
66617
66618         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
66619         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
66620         * modules/wctype (Makefile.am): Likewise.
66621         Reported by Chris McGuire.
66622
66623 2007-01-10  Jim Meyering  <jim@meyering.net>
66624
66625         fts.c: a small readability/maintainability improvement
66626         * lib/fts.c (fts_read): Make this code slightly more readable and
66627         maintainable by hoisting the "sp->fts_cur = p" assignments to
66628         immediately follow the statements that set P.  Derived from
66629         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
66630
66631 2007-01-10  Eric Blake  <ebb9@byu.net>
66632
66633         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
66634         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
66635         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66636         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
66637         Reported by Chris McGuire.
66638
66639 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66640
66641         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
66642         in sed script.
66643
66644 2007-01-09  Bruno Haible  <bruno@clisp.org>
66645
66646         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
66647         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
66648         variables.
66649         (func_module): Use them.
66650
66651 2007-01-09  Bruno Haible  <bruno@clisp.org>
66652
66653         * modules/unistr/base: New file.
66654         * lib/unistr.h: New file.
66655
66656         * modules/unistr/u8-to-u16: New file.
66657         * lib/unistr/u8-to-u16.c: New file.
66658
66659         * modules/unistr/u8-to-u32: New file.
66660         * lib/unistr/u8-to-u32.c: New file.
66661
66662         * modules/unistr/u16-to-u8: New file.
66663         * lib/unistr/u16-to-u8.c: New file.
66664
66665         * modules/unistr/u16-to-u32: New file.
66666         * lib/unistr/u16-to-u32.c: New file.
66667
66668         * modules/unistr/u32-to-u8: New file.
66669         * lib/unistr/u32-to-u8.c: New file.
66670
66671         * modules/unistr/u32-to-u16: New file.
66672         * lib/unistr/u32-to-u16.c: New file.
66673
66674         * modules/unistr/u8-check: New file.
66675         * modules/unistr/u16-check: New file.
66676         * modules/unistr/u32-check: New file.
66677         * lib/unistr/u8-check.c: New file.
66678         * lib/unistr/u16-check.c: New file.
66679         * lib/unistr/u32-check.c: New file.
66680
66681         * modules/unistr/u8-chr: New file.
66682         * modules/unistr/u16-chr: New file.
66683         * modules/unistr/u32-chr: New file.
66684         * lib/unistr/u8-chr.c: New file.
66685         * lib/unistr/u16-chr.c: New file.
66686         * lib/unistr/u32-chr.c: New file.
66687
66688         * modules/unistr/u8-cmp: New file.
66689         * modules/unistr/u16-cmp: New file.
66690         * modules/unistr/u32-cmp: New file.
66691         * lib/unistr/u8-cmp.c: New file.
66692         * lib/unistr/u16-cmp.c: New file.
66693         * lib/unistr/u32-cmp.c: New file.
66694
66695         * modules/unistr/u8-cpy: New file.
66696         * modules/unistr/u16-cpy: New file.
66697         * modules/unistr/u32-cpy: New file.
66698         * lib/unistr/u8-cpy.c: New file.
66699         * lib/unistr/u16-cpy.c: New file.
66700         * lib/unistr/u32-cpy.c: New file.
66701         * lib/unistr/u-cpy.h: New file.
66702
66703         * modules/unistr/u8-cpy-alloc: New file.
66704         * modules/unistr/u16-cpy-alloc: New file.
66705         * modules/unistr/u32-cpy-alloc: New file.
66706         * lib/unistr/u8-cpy-alloc.c: New file.
66707         * lib/unistr/u16-cpy-alloc.c: New file.
66708         * lib/unistr/u32-cpy-alloc.c: New file.
66709         * lib/unistr/u-cpy-alloc.h: New file.
66710
66711         * modules/unistr/u8-endswith: New file.
66712         * modules/unistr/u16-endswith: New file.
66713         * modules/unistr/u32-endswith: New file.
66714         * lib/unistr/u8-endswith.c: New file.
66715         * lib/unistr/u16-endswith.c: New file.
66716         * lib/unistr/u32-endswith.c: New file.
66717         * lib/unistr/u-endswith.h: New file.
66718
66719         * modules/unistr/u8-mblen: New file.
66720         * modules/unistr/u16-mblen: New file.
66721         * modules/unistr/u32-mblen: New file.
66722         * lib/unistr/u8-mblen.c: New file.
66723         * lib/unistr/u16-mblen.c: New file.
66724         * lib/unistr/u32-mblen.c: New file.
66725
66726         * modules/unistr/u8-mbtouc: New file.
66727         * modules/unistr/u16-mbtouc: New file.
66728         * modules/unistr/u32-mbtouc: New file.
66729         * lib/unistr/u8-mbtouc.c: New file.
66730         * lib/unistr/u16-mbtouc.c: New file.
66731         * lib/unistr/u32-mbtouc.c: New file.
66732
66733         * modules/unistr/u8-mbtouc-safe: New file.
66734         * modules/unistr/u16-mbtouc-safe: New file.
66735         * modules/unistr/u32-mbtouc-safe: New file.
66736         * lib/unistr/u8-mbtouc-safe.c: New file.
66737         * lib/unistr/u16-mbtouc-safe.c: New file.
66738         * lib/unistr/u32-mbtouc-safe.c: New file.
66739
66740         * modules/unistr/u8-move: New file.
66741         * modules/unistr/u16-move: New file.
66742         * modules/unistr/u32-move: New file.
66743         * lib/unistr/u8-move.c: New file.
66744         * lib/unistr/u16-move.c: New file.
66745         * lib/unistr/u32-move.c: New file.
66746         * lib/unistr/u-move.h: New file.
66747
66748         * modules/unistr/u8-next: New file.
66749         * modules/unistr/u16-next: New file.
66750         * modules/unistr/u32-next: New file.
66751         * lib/unistr/u8-next.c: New file.
66752         * lib/unistr/u16-next.c: New file.
66753         * lib/unistr/u32-next.c: New file.
66754
66755         * modules/unistr/u8-prev: New file.
66756         * modules/unistr/u16-prev: New file.
66757         * modules/unistr/u32-prev: New file.
66758         * lib/unistr/u8-prev.c: New file.
66759         * lib/unistr/u16-prev.c: New file.
66760         * lib/unistr/u32-prev.c: New file.
66761
66762         * modules/unistr/u8-set: New file.
66763         * modules/unistr/u16-set: New file.
66764         * modules/unistr/u32-set: New file.
66765         * lib/unistr/u8-set.c: New file.
66766         * lib/unistr/u16-set.c: New file.
66767         * lib/unistr/u32-set.c: New file.
66768         * lib/unistr/u-set.h: New file.
66769
66770         * modules/unistr/u8-startswith: New file.
66771         * modules/unistr/u16-startswith: New file.
66772         * modules/unistr/u32-startswith: New file.
66773         * lib/unistr/u8-startswith.c: New file.
66774         * lib/unistr/u16-startswith.c: New file.
66775         * lib/unistr/u32-startswith.c: New file.
66776         * lib/unistr/u-startswith.h: New file.
66777
66778         * modules/unistr/u8-stpcpy: New file.
66779         * modules/unistr/u16-stpcpy: New file.
66780         * modules/unistr/u32-stpcpy: New file.
66781         * lib/unistr/u8-stpcpy.c: New file.
66782         * lib/unistr/u16-stpcpy.c: New file.
66783         * lib/unistr/u32-stpcpy.c: New file.
66784         * lib/unistr/u-stpcpy.h: New file.
66785
66786         * modules/unistr/u8-stpncpy: New file.
66787         * modules/unistr/u16-stpncpy: New file.
66788         * modules/unistr/u32-stpncpy: New file.
66789         * lib/unistr/u8-stpncpy.c: New file.
66790         * lib/unistr/u16-stpncpy.c: New file.
66791         * lib/unistr/u32-stpncpy.c: New file.
66792         * lib/unistr/u-stpncpy.h: New file.
66793
66794         * modules/unistr/u8-strcat: New file.
66795         * modules/unistr/u16-strcat: New file.
66796         * modules/unistr/u32-strcat: New file.
66797         * lib/unistr/u8-strcat.c: New file.
66798         * lib/unistr/u16-strcat.c: New file.
66799         * lib/unistr/u32-strcat.c: New file.
66800         * lib/unistr/u-strcat.h: New file.
66801
66802         * modules/unistr/u8-strchr: New file.
66803         * modules/unistr/u16-strchr: New file.
66804         * modules/unistr/u32-strchr: New file.
66805         * lib/unistr/u8-strchr.c: New file.
66806         * lib/unistr/u16-strchr.c: New file.
66807         * lib/unistr/u32-strchr.c: New file.
66808
66809         * modules/unistr/u8-strcmp: New file.
66810         * modules/unistr/u16-strcmp: New file.
66811         * modules/unistr/u32-strcmp: New file.
66812         * lib/unistr/u8-strcmp.c: New file.
66813         * lib/unistr/u16-strcmp.c: New file.
66814         * lib/unistr/u32-strcmp.c: New file.
66815
66816         * modules/unistr/u8-strcpy: New file.
66817         * modules/unistr/u16-strcpy: New file.
66818         * modules/unistr/u32-strcpy: New file.
66819         * lib/unistr/u8-strcpy.c: New file.
66820         * lib/unistr/u16-strcpy.c: New file.
66821         * lib/unistr/u32-strcpy.c: New file.
66822         * lib/unistr/u-strcpy.h: New file.
66823
66824         * modules/unistr/u8-strcspn: New file.
66825         * modules/unistr/u16-strcspn: New file.
66826         * modules/unistr/u32-strcspn: New file.
66827         * lib/unistr/u8-strcspn.c: New file.
66828         * lib/unistr/u16-strcspn.c: New file.
66829         * lib/unistr/u32-strcspn.c: New file.
66830         * lib/unistr/u-strcspn.h: New file.
66831
66832         * modules/unistr/u8-strdup: New file.
66833         * modules/unistr/u16-strdup: New file.
66834         * modules/unistr/u32-strdup: New file.
66835         * lib/unistr/u8-strdup.c: New file.
66836         * lib/unistr/u16-strdup.c: New file.
66837         * lib/unistr/u32-strdup.c: New file.
66838         * lib/unistr/u-strdup.h: New file.
66839
66840         * modules/unistr/u8-strlen: New file.
66841         * modules/unistr/u16-strlen: New file.
66842         * modules/unistr/u32-strlen: New file.
66843         * lib/unistr/u8-strlen.c: New file.
66844         * lib/unistr/u16-strlen.c: New file.
66845         * lib/unistr/u32-strlen.c: New file.
66846         * lib/unistr/u-strlen.h: New file.
66847
66848         * modules/unistr/u8-strmblen: New file.
66849         * modules/unistr/u16-strmblen: New file.
66850         * modules/unistr/u32-strmblen: New file.
66851         * lib/unistr/u8-strmblen.c: New file.
66852         * lib/unistr/u16-strmblen.c: New file.
66853         * lib/unistr/u32-strmblen.c: New file.
66854
66855         * modules/unistr/u8-strmbtouc: New file.
66856         * modules/unistr/u16-strmbtouc: New file.
66857         * modules/unistr/u32-strmbtouc: New file.
66858         * lib/unistr/u8-strmbtouc.c: New file.
66859         * lib/unistr/u16-strmbtouc.c: New file.
66860         * lib/unistr/u32-strmbtouc.c: New file.
66861
66862         * modules/unistr/u8-strncat: New file.
66863         * modules/unistr/u16-strncat: New file.
66864         * modules/unistr/u32-strncat: New file.
66865         * lib/unistr/u8-strncat.c: New file.
66866         * lib/unistr/u16-strncat.c: New file.
66867         * lib/unistr/u32-strncat.c: New file.
66868         * lib/unistr/u-strncat.h: New file.
66869
66870         * modules/unistr/u8-strncmp: New file.
66871         * modules/unistr/u16-strncmp: New file.
66872         * modules/unistr/u32-strncmp: New file.
66873         * lib/unistr/u8-strncmp.c: New file.
66874         * lib/unistr/u16-strncmp.c: New file.
66875         * lib/unistr/u32-strncmp.c: New file.
66876
66877         * modules/unistr/u8-strncpy: New file.
66878         * modules/unistr/u16-strncpy: New file.
66879         * modules/unistr/u32-strncpy: New file.
66880         * lib/unistr/u8-strncpy.c: New file.
66881         * lib/unistr/u16-strncpy.c: New file.
66882         * lib/unistr/u32-strncpy.c: New file.
66883         * lib/unistr/u-strncpy.h: New file.
66884
66885         * modules/unistr/u8-strnlen: New file.
66886         * modules/unistr/u16-strnlen: New file.
66887         * modules/unistr/u32-strnlen: New file.
66888         * lib/unistr/u8-strnlen.c: New file.
66889         * lib/unistr/u16-strnlen.c: New file.
66890         * lib/unistr/u32-strnlen.c: New file.
66891         * lib/unistr/u-strnlen.h: New file.
66892
66893         * modules/unistr/u8-strpbrk: New file.
66894         * modules/unistr/u16-strpbrk: New file.
66895         * modules/unistr/u32-strpbrk: New file.
66896         * lib/unistr/u8-strpbrk.c: New file.
66897         * lib/unistr/u16-strpbrk.c: New file.
66898         * lib/unistr/u32-strpbrk.c: New file.
66899         * lib/unistr/u-strpbrk.h: New file.
66900
66901         * modules/unistr/u8-strrchr: New file.
66902         * modules/unistr/u16-strrchr: New file.
66903         * modules/unistr/u32-strrchr: New file.
66904         * lib/unistr/u8-strrchr.c: New file.
66905         * lib/unistr/u16-strrchr.c: New file.
66906         * lib/unistr/u32-strrchr.c: New file.
66907
66908         * modules/unistr/u8-strspn: New file.
66909         * modules/unistr/u16-strspn: New file.
66910         * modules/unistr/u32-strspn: New file.
66911         * lib/unistr/u8-strspn.c: New file.
66912         * lib/unistr/u16-strspn.c: New file.
66913         * lib/unistr/u32-strspn.c: New file.
66914         * lib/unistr/u-strspn.h: New file.
66915
66916         * modules/unistr/u8-strstr: New file.
66917         * modules/unistr/u16-strstr: New file.
66918         * modules/unistr/u32-strstr: New file.
66919         * lib/unistr/u8-strstr.c: New file.
66920         * lib/unistr/u16-strstr.c: New file.
66921         * lib/unistr/u32-strstr.c: New file.
66922         * lib/unistr/u-strstr.h: New file.
66923
66924         * modules/unistr/u8-strtok: New file.
66925         * modules/unistr/u16-strtok: New file.
66926         * modules/unistr/u32-strtok: New file.
66927         * lib/unistr/u8-strtok.c: New file.
66928         * lib/unistr/u16-strtok.c: New file.
66929         * lib/unistr/u32-strtok.c: New file.
66930         * lib/unistr/u-strtok.h: New file.
66931
66932         * modules/unistr/u8-uctomb: New file.
66933         * modules/unistr/u16-uctomb: New file.
66934         * modules/unistr/u32-uctomb: New file.
66935         * lib/unistr/u8-uctomb.c: New file.
66936         * lib/unistr/u16-uctomb.c: New file.
66937         * lib/unistr/u32-uctomb.c: New file.
66938
66939         * MODULES.html.sh (Unicode string functions): Add the new modules.
66940
66941 2007-01-08  Bruno Haible  <bruno@clisp.org>
66942
66943         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
66944         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
66945         subdirectories.
66946
66947 2007-01-08  Karl Berry  <karl@gnu.org>
66948
66949         * doc/error.texi: mention that main() fns must set program_name
66950         when progname is used.
66951
66952 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
66953
66954         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
66955         WCTYPE_H is empty, for the benefit of builds from non-distclean
66956         directories.  Problem reported by Eric Blake in
66957         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
66958
66959 2007-01-08  Bruno Haible  <bruno@clisp.org>
66960
66961         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
66962         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
66963         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
66964         PROVIDE_CANONICALIZE_FILENAME_MODE.
66965         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
66966
66967 2007-01-08  Bruno Haible  <bruno@clisp.org>
66968
66969         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
66970         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
66971         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
66972         * lib/fts.c: Likewise.
66973         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
66974
66975 2006-12-25  Bruno Haible  <bruno@clisp.org>
66976
66977         * modules/utf8-ucs4-safe: New file.
66978         * lib/utf8-ucs4-safe.h: New file.
66979         * lib/unistr/utf8-ucs4-safe.c: New file.
66980
66981         * modules/utf16-ucs4-safe: New file.
66982         * lib/utf16-ucs4-safe.h: New file.
66983         * lib/unistr/utf16-ucs4-safe.c: New file.
66984
66985         * MODULES.html.sh (Unicode string functions): Add the new modules.
66986
66987 2007-01-08  Bruno Haible  <bruno@clisp.org>
66988
66989         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
66990         (Depends-on): Add unitypes.
66991         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
66992         (u8_mbtouc_aux): Move out to separate file.
66993         (u8_mbtouc): Use ucs4_t, uint8_t types.
66994         * lib/unistr/utf8-ucs4.c: New file.
66995
66996         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
66997         (Depends-on): Add unitypes.
66998         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
66999         (u16_mbtouc_aux): Move out to separate file.
67000         (u16_mbtouc): Use ucs4_t, uint16_t types.
67001         * lib/unistr/utf16-ucs4.c: New file.
67002
67003         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
67004         (Depends-on): Add unitypes.
67005         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
67006         (u8_uctomb_aux): Move out to separate file.
67007         (u8_uctomb): Use ucs4_t, uint8_t types.
67008         * lib/unistr/ucs4-utf8.c: New file.
67009
67010         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
67011         (Depends-on): Add unitypes.
67012         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
67013         (u16_uctomb_aux): Move out to separate file.
67014         (u16_uctomb): Use ucs4_t, uint16_t types.
67015         * lib/unistr/ucs4-utf16.c: New file.
67016
67017 2006-12-25  Bruno Haible  <bruno@clisp.org>
67018
67019         * modules/unitypes: New file.
67020         * lib/unitypes.h: New file.
67021         * MODULES.html.sh (func_all_modules): New section "Unicode string
67022         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
67023         this section. Add unitypes.
67024
67025 2007-01-08  Bruno Haible  <bruno@clisp.org>
67026
67027         Avoid variable names that conflict with those from libtool.
67028         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
67029         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
67030         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
67031         library_names_spec to acl_library_names_spec, hardcode_* to
67032         acl_hardcode_*.
67033         Reported by Ralf Wildenhues.
67034
67035 2007-01-08  Bruno Haible  <bruno@clisp.org>
67036
67037         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
67038         definition.
67039         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
67040         definition.
67041         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
67042         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
67043         definition.
67044         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
67045         definition.
67046         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
67047         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
67048         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
67049         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
67050         definition.
67051         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
67052         definition.
67053         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
67054         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
67055         GC_USE_<algorithm>.
67056         * lib/gc-libgcrypt.c: Likewise.
67057         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
67058         * modules/gc-arctwo (configure.ac): Likewise.
67059         * modules/gc-des (configure.ac): Likewise.
67060         * modules/gc-hmac-md5 (configure.ac): Likewise.
67061         * modules/gc-hmac-sha1 (configure.ac): Likewise.
67062         * modules/gc-md2 (configure.ac): Likewise.
67063         * modules/gc-md4 (configure.ac): Likewise.
67064         * modules/gc-md5 (configure.ac): Likewise.
67065         * modules/gc-random (configure.ac): Likewise.
67066         * modules/gc-rijndael (configure.ac): Likewise.
67067         * modules/gc-sha1 (configure.ac): Likewise.
67068
67069 2007-01-08  Bruno Haible  <bruno@clisp.org>
67070
67071         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
67072         macro definition.
67073         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
67074         definition.
67075         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
67076         definition.
67077         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
67078         * modules/fcntl-safer (configure.ac): Likewise.
67079         * modules/fopen-safer (configure.ac): Likewise.
67080         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
67081         GNULIB_FWRITEERROR macro definition.
67082
67083 2007-01-08  Bruno Haible  <bruno@clisp.org>
67084
67085         * m4/gnulib-common.m4: New file.
67086         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
67087         (func_get_filelist): Add m4/gnulib-common.m4.
67088
67089 2007-01-08  Bruno Haible  <bruno@clisp.org>
67090
67091         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
67092         command.
67093
67094 2007-01-08  Jim Meyering  <jim@meyering.net>
67095
67096         Use a more robust test for a "can't happen" condition.
67097         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
67098         narrowed the st_size value.  Presuming the "can't happen" condition
67099         is true, that narrowing could conceivably convert an invalid st_size
67100         value into a valid one.  Instead, use a change based on Matthew
67101         Woehlke's original patch.
67102
67103         Slight readability improvement: use an assert-like macro
67104         in place of literal "abort ()" uses.
67105         * lib/fts.c (fts_assert): Define.
67106         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
67107         Use this macro instead of a bare 'abort'.
67108
67109 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
67110
67111         Don't worry about using IRIX 5.3's wctype.h broken definitions;
67112         simply work around them.
67113         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
67114         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
67115         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
67116         declaring.
67117         Don't bother to define as macros, since the standard doesn't require it.
67118         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
67119         longer worry about IRIX 5.3.
67120         (HAVE_WCTYPE_CTMP_BUG): Remove.
67121
67122 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67123
67124         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
67125         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
67126         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
67127         Problems reported by Georg Schwarz for IRIX 5.3.
67128
67129         * gnulib-tool (autoconf_minversion): Take the maximum version number
67130         found, not the minimum.  Problem reported by James Youngman.
67131
67132 2007-01-03  Karl Berry  <karl@gnu.org>
67133
67134         * doc/error.texi: new file, explaining interaction with progname.
67135         * doc/gnulib.texi: include it.  Update copyright.
67136
67137 2007-01-03  Simon Josefsson  <simon@josefsson.org>
67138
67139         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
67140         AC_CANONICAL_HOST, to improve autobuild outputs.
67141
67142 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
67143             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
67144
67145         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
67146         sockets, server sockets, and other file descriptors.  Count errors
67147         to compute the return value.  Reorder the code a bit to be easier
67148         to follow.  Don't set event bits that were not requested (except
67149         POLLERR and POLLHUP).
67150
67151 2007-01-01  Bruno Haible  <bruno@clisp.org>
67152
67153         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
67154
67155 2007-01-03  Jim Meyering  <jim@meyering.net>
67156
67157         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
67158
67159 2007-01-02  Bruno Haible  <bruno@clisp.org>
67160
67161         * modules/settime (Include): Require timespec.h.
67162         * modules/nanosleep (Include): Likewise.
67163
67164 2007-01-01  Bruno Haible  <bruno@clisp.org>
67165
67166         * gnulib-tool (func_emit_copyright_notice): Bump year.
67167         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
67168
67169 2007-01-01  Bruno Haible  <bruno@clisp.org>
67170
67171         Improve support for OpenBSD.
67172         * build-aux/config.rpath (libname_spec): Export.
67173         (library_names_spec): New variable. Export.
67174         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
67175         library_names_spec from the config.rpath output. Locate shared library
67176         through the name pattern in library_names_spec.
67177
67178 2007-01-01  Eric Blake  <ebb9@byu.net>
67179
67180         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
67181
67182 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
67183
67184         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
67185         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
67186         assume the C locale, and avoid an "eval" that could cause trouble.
67187         Problem with SORT reported by Bob Proulx.
67188
67189         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
67190         Define.  Trivial patch from Henning Nielsen Lund, originally
67191         sent to bug-grep@gnu.org today.
67192
67193 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
67194
67195         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
67196         struct stat.  Problem reported by Henning Nielsen Lund.
67197         * lib/acl.c: Include acl.h first, to check interface.  Don't
67198         bother to include sys/types.h and sys/stat.h again.
67199
67200 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67201
67202         Import the following change from libc; problem reported by
67203         Sven Verdoolaege.
67204
67205         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
67206
67207         [BZ #1373]
67208         * lib/argp.h: Remove __NTH for __argp_usage inline function.
67209
67210 2006-12-28  Jim Meyering  <jim@meyering.net>
67211
67212         * build-aux/announce-gen: Do not assume that the package
67213         builds any of tar.gz, tar.bz2, and .xdelta files.
67214         Suggestion from Simon Josefsson.
67215
67216 2006-12-28  Simon Josefsson  <simon@josefsson.org>
67217
67218         * modules/announce-gen: New file.
67219
67220 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
67221
67222         * lib/mbchar.h: Just include <wctype.h>; the wctype module
67223         handles its gotchas now.
67224         * lib/mbswidth.c: Likewise.
67225         * lib/wcwidth.h: Likewise.
67226         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
67227         and iswcntrl; the wctype module does this stuff now.
67228         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67229         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67230         * modules/mbchar (Depends-on): Add wctype.
67231         * modules/mbswidth (Depends-on): Likewise.
67232         * modules/wcwidth (Depends-on): Likewise.
67233
67234 2006-12-27  Eric Blake  <ebb9@byu.net>
67235
67236         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
67237         module uses more than what <wctype.h> is required to provide.
67238
67239 2006-12-26  Eric Blake  <ebb9@byu.net>
67240
67241         * gnulib-tool (sed_extract_prog): Avoid space-tab.
67242
67243 2006-12-26  Eric Blake  <ebb9@byu.net>
67244
67245         * modules/absolute-header: New module.
67246         * modules/fcntl (Depends-on): Depend on it.
67247         * modules/inttypes (Depends-on): Likewise.
67248         * modules/stdint (Depends-on): Likewise.
67249         * modules/sys_stat (Depends-on): Likewise.
67250         * modules/wctype (Depends-on): Likewise.
67251         * MODULES.html.sh (Support for building libraries and
67252         executables): Document it.
67253
67254 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
67255
67256         * gnulib-tool (SED): Remove, undoing previous change.
67257         The problem was that it broke coreutils on Solaris, because
67258         "sed --posix" leaked into a makefile.
67259         (sed): New alias, if 'alias' and GNU sed.
67260
67261 2006-12-24  Jim Meyering  <jim@meyering.net>
67262
67263         Work around an fchownat bug in glibc-2.4:
67264         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
67265         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
67266         in spite of the -P option.
67267         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
67268         New macros.
67269         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
67270         * modules/openat (Files): Add lib/fchownat.c.
67271         * lib/openat.c (fchownat): Don't define here.  Move to...
67272         * lib/fchownat.c: ...this new file.
67273
67274 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67275
67276         Fix bug reported by Bruno Haible in
67277         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
67278         where quotearg.c didn't compile on Mac OS X 10.2 because it
67279         lacks <wchar.h> and wint_t.
67280         * lib/wctype_.h (__wctype_wint_t): New type.
67281         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
67282         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
67283         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
67284         Arg is now of type __wctype_wint_t, not wint_t.
67285         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
67286         substitute HAVE_WINT_T.
67287         * modules/wctype (Files): Add m4/wint_t.m4.
67288         (wctype.h): Substitute HAVE_WINT_T.
67289
67290 2006-12-23  Bruno Haible  <bruno@clisp.org>
67291
67292         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
67293
67294 2006-12-23  Bruno Haible  <bruno@clisp.org>
67295
67296         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
67297         S_ISLNK.
67298         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
67299         mingw.
67300
67301 2006-12-22  Bruno Haible  <bruno@clisp.org>
67302
67303         * lib/copy-file.c: Include acl.h.
67304         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
67305         Close the file descriptors only after being done with copy_acl.
67306         * modules/copy-file (Depends-on): Add acl.
67307
67308 2006-12-22  Bruno Haible  <bruno@clisp.org>
67309
67310         * gnulib-tool (SED): New variable.
67311         Use $SED instead of sed everywhere.
67312
67313 2006-12-22  Bruno Haible  <bruno@clisp.org>
67314
67315         * modules/no-c++: New file.
67316         * m4/no-c++.m4: New file.
67317         * MODULES.html.sh (Support for building libraries and executables):
67318         Add no-c++.
67319
67320 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
67321
67322         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67323         Include <limits.h>, and use its INT_MAX to rewrite the
67324         j loop so that it does not overflow 'int'.  Problem reported by
67325         Ralf Wildenhues in
67326         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
67327         Play it safe by shifting left by 1 rather than multiplying by 2,
67328         as GCC is less likely to optimize this away when the value
67329         is signed (when it assumes overflow leads to undefined behavior).
67330         Also, don't assume time_t uses two's complement.
67331
67332 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
67333
67334         * MODULES.html.sh: New module wctype.
67335         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
67336         * lib/fnmatch.c: Don't bother to include <wchar.h> before
67337         <wctype.h>, since the new wctype module should fix this.
67338         * lib/quotearg.c: Include <wctype.h> unconditionally, since
67339         the wctype module should arrange for it.
67340         * lib/regex_internal.h: Likewise.
67341         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
67342         since the wctype module should handle this now.
67343         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
67344         * modules/fnmatch (Depends-on): Add wctype.
67345         * modules/quotearg (Depends-on): Likewise.
67346         * modules/regex (Depends-on): Likewise.
67347
67348 2006-12-19  Bruno Haible  <bruno@clisp.org>
67349
67350         * lib/strdup.h [C++]: Wrap definitions in extern "C".
67351         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
67352
67353 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67354
67355         * modules/savewd (Depends-on): Fix dependency on fcntl.
67356
67357 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
67358
67359         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
67360         conforms to C99, rather than relying on the user's environment
67361         setting of STDINT_H.
67362
67363 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
67364         and Eric Blake  <ebb9@byu.net>
67365
67366         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
67367         This is more consistent with the other defines here.
67368         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
67369         Port to z/OS.  Problem reported by Paul Gilmartin.
67370         Change local vars to use gl_ prefix rather than ac_.
67371         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
67372         with other defines.
67373         * modules/double-slash-root: New module.
67374         * modules/dirname (Files): Remove m4/double-slash-root.m4.
67375         (Depends-on): Add double-slash-root.
67376         * MODULES.html.sh (File system functions): Mention new module.
67377
67378 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
67379
67380         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
67381         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
67382         This is for the benefit of gzip, which doesn't do i18n.
67383
67384 2006-12-12  Jim Meyering  <jim@meyering.net>
67385
67386         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
67387         Reported by Andreas Schwab <schwab@suse.de>.
67388
67389 2006-12-12  Bruno Haible  <bruno@clisp.org>
67390
67391         Merge these changes.
67392         2006-09-05  Bruno Haible  <bruno@clisp.org>
67393         * lib/iconvme.c (iconv_string): No need to save and restore errno when
67394         iconv_alloc succeeded.
67395         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
67396         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
67397         test for " && dest " at the end - dest is always != NULL there. Call
67398         iconv with 4xNULL arguments initially, to reset the state. Call iconv
67399         with 2xNULL arguments, also to flush the state storage. Handle the
67400         IRIX iconv behaviour. Realloc the final result, to throw away unused
67401         memory.
67402
67403 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
67404
67405         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
67406         and fchmodat unconditionally, since glibc 2.4 has them.
67407         Problem reported by Arkadiusz Miskiewicz.
67408
67409 2006-12-10  Bruno Haible  <bruno@clisp.org>
67410
67411         * gnulib-tool (func_import): Show the include files only for those
67412         modules that are copied and specified.
67413         Reported by Karl Berry.
67414
67415 2006-12-08  Jim Meyering  <jim@meyering.net>
67416
67417         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
67418         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
67419
67420         * build-aux/announce-gen: Add two new options, both optional:
67421         --bootstrap-tools=TOOL_LIST
67422               a comma-separated list of tools, e.g.,
67423               autoconf,automake,bison,gnulib
67424         --gnulib-snapshot-date=DATE
67425               if gnulib is in the bootstrap tool list,
67426               then report this as the snapshot date.
67427               If not specified, use the current date/time.
67428               If you specify a date here, be sure it's UTC.
67429
67430 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67431
67432         * tests/test-argp-2.sh: Fix test to match actual output.
67433         (func_compare): Fix sed script to be portable.
67434
67435 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
67436
67437         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
67438         workaround for this case.  It is not autoconfigured now; offhand
67439         it's hard to see how to autoconfigure it.
67440
67441 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
67442
67443         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
67444         a directory that is about to be chowned.  Such a directory's
67445         initial file permissions should permit the owner only and this
67446         should not be changed until after the chown, since the group and
67447         other bits would be incorrect if they granted permission before
67448         the chown.
67449
67450         Fix porting problem for iswctype reported by Georg Schwarz in:
67451         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
67452         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
67453         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
67454         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
67455         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67456
67457 2006-12-03  Jim Meyering  <jim@meyering.net>
67458
67459         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
67460         p->fts_statp may not yet be defined.
67461         (fts_read): Instead, set it in the caller, once p->fts_statp is
67462         sure to be defined, and corresponds to a top-level directory.
67463         This bug made du -x fail.  Here's the coreutils test case:
67464         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
67465         Reported by Mike Frysinger.
67466
67467 2006-12-01  Jim Meyering  <jim@meyering.net>
67468
67469         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
67470         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
67471         Reported by Simon Josefsson.
67472
67473 2006-11-30  Jim Meyering  <jim@meyering.net>
67474
67475         * m4/warning.m4: Use the all-permissive copyright notice
67476         recommended by RMS (rather than LGPL).
67477         * m4/vararrays.m4: Likewise.
67478         * m4/flexmember.m4: Likewise.
67479
67480 2006-11-29  Bruno Haible  <bruno@clisp.org>
67481
67482         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
67483         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
67484         using +=.
67485         Reported by Simon Josefsson <simon@josefsson.org>.
67486
67487 2006-11-28  James Youngman <jay@gnu.org>
67488
67489         * README: Advise users that they might find the bug-gnulib@gnu.org
67490         and autotools-announce@gnu.org mailing lists useful.
67491
67492 2006-11-28  Bruno Haible  <bruno@clisp.org>
67493
67494         * m4/ptrdiff_max.m4: Remove file.
67495
67496 2006-11-21  Bruno Haible  <bruno@clisp.org>
67497
67498         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
67499         _AC_COMPUTE_INT.
67500         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67501         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
67502         _AC_COMPUTE_INT.
67503         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67504         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
67505         _AC_COMPUTE_INT.
67506         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67507
67508 2006-11-28  Jim Meyering  <jim@meyering.net>
67509
67510         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
67511         warning from "gcc -Wshadow" about shadowing the builtin.
67512
67513 2006-11-27  Bruno Haible  <bruno@clisp.org>
67514
67515         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
67516         _AC_COMPUTE_INT.
67517         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67518
67519 2006-11-27  Bruno Haible  <bruno@clisp.org>
67520             Paul Eggert  <eggert@cs.ucla.edu>
67521
67522         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
67523
67524 2006-11-26  Bruno Haible  <bruno@clisp.org>
67525
67526         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
67527         noinst_LTLIBRARIES.
67528
67529 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
67530             Bruno Haible  <bruno@clisp.org>
67531
67532         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
67533         if compiling with "gcc -ansi".
67534
67535 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
67536
67537         Fix some incompatibilities with gcc -ansi -pedantic.
67538         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
67539         if compiling pedantically with GCC, unless it's C99 or later.
67540         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
67541         it mishandles gcc -ansi -pedantic as well.
67542         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
67543         if gcc -pedantic.
67544         * lib/regexec.c (check_node_accept_bytes): Don't use auto
67545         initializers for struct if -pedantic, unless it's C99 or later.
67546
67547 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
67548
67549         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
67550         Don't close an fd more than once. Identical atimes indicate
67551         success, not failure.
67552
67553 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
67554
67555         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
67556
67557 2006-11-23  Jim Meyering  <jim@meyering.net>
67558
67559         * build-aux/announce-gen: New file.  From coreutils.
67560
67561 2006-11-22  Jim Meyering  <jim@meyering.net>
67562
67563         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
67564         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
67565         (fts_read): Use a temporary to narrow the overused st_size member
67566         before using it in a switch statement.  Reported by Matthew Woehlke.
67567
67568         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
67569         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
67570
67571 2006-11-20  Bruno Haible  <bruno@clisp.org>
67572
67573         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
67574         changequote instead of pairs of brackets.
67575         Reported by Andreas Schwab <schwab@suse.de>.
67576
67577 2006-11-21  Jim Meyering  <jim@meyering.net>
67578
67579         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
67580         so as to remain compatible with older compilers.
67581         Patch from Michael Deutschmann.
67582
67583 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
67584
67585         * MODULES.html.sh (File system functions): Add openat.
67586
67587         * lib/openat.h (rpl_fstatat): New macro, if
67588         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
67589         (fstatat): Define to rpl_fstatat under the same conditions,
67590         unless COMPILING_FSTATAT.
67591         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
67592         seems to have the bug.
67593         * lib/fstatat.c: New file.
67594         * modules/openat (Files): Add it.
67595
67596 2006-11-20  Bruno Haible  <bruno@clisp.org>
67597
67598         * Makefile: New file.
67599
67600 2006-11-20  Jim Meyering  <jim@meyering.net>
67601
67602         The beginnings of syntax-related checks for gnulib.
67603         * lib/Makefile: New file.
67604         * lib/t-idcache: New script.  Ensure that the two halves of
67605         idcache.c stay in sync.
67606
67607         * lib/idcache.c: Adjust comments in user- and group- portions to
67608         be more accurate, and to be consistent with one another.
67609
67610 2006-11-20  Jim Meyering  <jim@meyering.net>
67611
67612         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
67613         continue using the flexible array member (thus, this module performs
67614         half as many malloc calls), with the addition that...
67615         (getgroup, getuser): Consistently record a non-match via an empty
67616         "name" string, and map an empty string match to a NULL return value.
67617         * modules/idcache (Depends-on): Re-add flexmember.
67618
67619         * lib/idcache.c (getuser): Remove all uses of the register keyword.
67620         (getuidbyname, getgroup, getgidbyname): Likewise.
67621
67622         Use cleaner syntax: NULL rather than 0.
67623         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
67624
67625 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
67626
67627         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
67628         It mishandled the case where the group was missing.
67629         Problem reported by Greg Schafer.
67630         * modules/idcache: Likewise.
67631
67632 2006-11-18  Jim Meyering  <jim@meyering.net>
67633
67634         * check-module (%exempt_header): Add exception for some
67635         conditionally-included headers.
67636
67637         * modules/i-ring (Depends-on): Add verify.
67638         (License): Change to LGPL.
67639
67640 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67641
67642         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
67643         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
67644         and inttostr.h.  Use snprintf rather than uinttostr, so that
67645         LGPLed code doesn't depend on GPLed.
67646
67647 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
67648
67649         * modules/inline (License): Change from GPL to LGPL.
67650
67651 2006-11-17  Jim Meyering  <jim@meyering.net>
67652
67653         * modules/d-type (License): Switch to LGPL.
67654
67655 2006-11-15  Bruno Haible  <bruno@clisp.org>
67656
67657         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
67658
67659 2006-11-15  Eric Blake  <ebb9@byu.net>
67660
67661         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
67662         the module dependency.
67663
67664 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67665             Bruno Haible  <bruno@clisp.org>
67666
67667         * gnulib-tool (func_create_testdir): Add license consistency check.
67668
67669 2006-11-15  Eric Blake  <ebb9@byu.net>
67670
67671         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
67672         random "(cached)" in configure output.
67673
67674 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67675
67676         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
67677         test for conforming inttypes.h is both announced and cached.
67678
67679         * MODULES.html.sh (seen_modules, seen_files): New variables.
67680         (func_module): Rewrite to use a few less gnulib-tool and sed
67681         invocations.  Avoid a couple of quadratic algorithms for ...
67682         (missed_modules, missed_files): ... these, with ...
67683         (func_append, func_tmpdir): ... these new functions, from
67684         gnulib-tool.  Analogously, install traps for cleanup.
67685
67686         * tests/test-gc.c (main): Remove unused variables.
67687         * tests/test-read-file.c: Include stdlib.h, for 'free'.
67688
67689 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
67690
67691         * modules/inttostr (License): Change to LGPL.
67692
67693 2006-11-14  Eric Blake  <ebb9@byu.net>
67694
67695         * modules/tempname (License): Change to LGPL.
67696
67697 2006-11-14  Eric Blake  <ebb9@byu.net>
67698
67699         * doc/functions.texi (Function Portability): *printf functions on
67700         Cygwin now understand all POSIX size specifiers.
67701
67702 2006-11-14  Bruno Haible  <bruno@clisp.org>
67703
67704         * modules/c-ctype (License): Change to LGPL.
67705
67706 2006-11-12  Bruno Haible  <bruno@clisp.org>
67707
67708         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
67709         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
67710         for GNOME libraries, for which the include files are installed in
67711         subdirectories of $prefix/include.
67712
67713 2006-11-12  Bruno Haible  <bruno@clisp.org>
67714
67715         * m4/lib-link.m4: Require at least autoconf-2.54.
67716         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
67717         name to underscores for the --with option.
67718
67719 2006-11-13  Bruno Haible  <bruno@clisp.org>
67720
67721         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
67722         the tests directory.
67723         Reported by Ralf Wildenhues.
67724
67725 2006-11-13  Bruno Haible  <bruno@clisp.org>
67726
67727         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
67728         (func_emit_initmacro_end): Undo the override here.
67729         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
67730         Works around the famous automake error in coreutils.
67731
67732 2006-11-13  Eric Blake  <ebb9@byu.net>
67733
67734         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
67735         element, not its node.
67736
67737 2006-11-12  Bruno Haible  <bruno@clisp.org>
67738
67739         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
67740         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
67741
67742 2006-11-12  Bruno Haible  <bruno@clisp.org>
67743
67744         * gnulib-tool: New option --local-symlink.
67745         (func_usage): Document it.
67746         (lsymbolic): New variable.
67747         (func_import, func_create_testdir): If --symlink was not specified,
67748         test whether --local-symlink was specified and the file comes from
67749         the local_gnulib_dir.
67750
67751 2006-11-12  Bruno Haible  <bruno@clisp.org>
67752
67753         * gnulib-tool (func_ln): New function.
67754         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
67755
67756 2006-11-12  Bruno Haible  <bruno@clisp.org>
67757
67758         Finish support for source files in subdirectories.
67759         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
67760         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
67761         AUTOMAKE_OPTIONS.
67762         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
67763
67764 2006-11-12  Bruno Haible  <bruno@clisp.org>
67765
67766         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67767         EXTRA_lib_SOURCES augmentation.
67768         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
67769
67770 2006-11-12  Jim Meyering  <jim@meyering.net>
67771
67772         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
67773         file descriptors.  This also averts a failure on systems with
67774         native openat support when a traversed directory lacks "x" access.
67775         * lib/fts_.h: Include "i-ring.h"
67776         (struct FTS) [fts_fd_ring]: New member.
67777         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
67778         (FCHDIR): Add parentheses.
67779         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
67780         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
67781         When descending, rather than simply closing the previous
67782         fts_cwd_fd value, push that file descriptor onto the ring.
67783         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
67784         (fts_open): Initialize the new fd_ring member.
67785         (fts_close): Clear the ring.
67786         (fts_safe_changedir): When possible, use our new fd_ring to skip
67787         the diropen and fstat and dev/ino comparison that would normally
67788         accompany a virtual `chdir ("..")'.
67789
67790         * modules/fts (Depends-on): Add i-ring.
67791         * modules/i-ring: New module.
67792         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
67793         * m4/i-ring.m4: New file.
67794
67795 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67796
67797         * gnulib-tool (func_create_testdir): Fix replacement of
67798         `build-aux' in configure.ac.  Run autotools in gltests
67799         subdirectory.
67800         (func_create_testdir, func_create_megatestdir, test): There is
67801         no need for '--force' in most autotool invocations in a new
67802         tree.  Actually fail the whole test if any of the tools, or the
67803         configure or make stages fail.
67804
67805         Sync from Automake.
67806         * build-aux/gnupload: Revert last change.  Add pointer to upload
67807         instructions of the GNU Maintenance Instructions.
67808         Suggestion by Karl Berry.
67809
67810 2006-11-10  Jim Meyering  <jim@meyering.net>
67811
67812         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
67813
67814 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67815
67816         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
67817         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
67818         (bind_textdomain_codeset) [! ENABLE_NLS]:
67819         Evaluate all the arguments.  That way, callers get compatible behavior
67820         if the arguments have side effects.  Also, it avoids some GCC
67821         diagnostics in some cases; Joel E. Denny reported problems when Bison
67822         was configured with --enable-gcc-warnigs.
67823
67824 2006-11-10  Jim Meyering  <jim@meyering.net>
67825
67826         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
67827         relevant options in CFLAGS (like -O, -fno-inline) are taken into
67828         account.
67829
67830 2006-11-10  Jim Meyering  <jim@meyering.net>
67831
67832         * modules/inline: New file/module.
67833         * modules/xalloc (Files): Remove m4/inline.m4.
67834         (Depends-on): Add inline, instead.
67835         * modules/oset: Likewise.
67836         * modules/list: Likewise.
67837
67838 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67839
67840         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
67841         Problem reported by Matthew Woehlke.
67842
67843 2006-11-09  Bruno Haible  <bruno@clisp.org>
67844
67845         * lib/tempname.c (gen_tempname): Remove variant that invokes
67846         __gen_tempname.
67847         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
67848         __gen_tempname.
67849
67850 2006-11-08  Bruno Haible  <bruno@clisp.org>
67851
67852         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
67853         to 'yes' instead of 'cross-compiling'.
67854
67855 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
67856
67857         * lib/quotearg.h (quotearg_free): New decl.
67858         * lib/quotearg.c (quotearg_free): New function.
67859         (slot0, nslots, slotvec0, slotvec):
67860         Now file-scope so that quotearg_free can get at them.
67861
67862 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67863
67864         Sync from Automake.
67865         * build-aux/gnupload: Add missing 'gnu' to example URL.
67866         Report by Karl Berry.
67867
67868 2006-11-08  Bruno Haible  <bruno@clisp.org>
67869
67870         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
67871         Suggested by Paul Eggert.
67872
67873 2006-11-08  Jim Meyering  <jim@meyering.net>
67874
67875         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
67876         It's already included if !_LIBC.
67877         (fts_safe_changedir): Add a comment.
67878
67879 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
67880
67881         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
67882         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
67883         Matthew Woehlke.
67884
67885         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
67886         definitions up, to avoid colliding with change below.
67887         (static_inline) [HAVE_INLINE]: New macro.
67888         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
67889         Provide extern decls when !HAVE_INLINE.  Do not define unless
67890         static_inline is defined, either by us or by xmalloc.c.  Use
67891         static_inline rather than static inline.
67892         (XCALLOC): Optimize sizeof(T) = 1 case.
67893         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
67894
67895 2006-11-07  Bruno Haible  <bruno@clisp.org>
67896
67897         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
67898         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
67899         AC_C_INLINE.
67900         * modules/xalloc (Files): Add m4/inline.m4.
67901
67902 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67903
67904         * README: Fix typo.
67905         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
67906         (Miscellanous Notes): ...from this.
67907
67908 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
67909
67910         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
67911         Mention that offsetof should be used instead of sizeof.
67912         From Bruno Haible.
67913
67914 2006-11-07  Bruno Haible  <bruno@clisp.org>
67915
67916         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
67917
67918 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
67919
67920         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
67921         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
67922         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
67923         (gl_tree_add_before, gl_tree_add_after):
67924         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
67925         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
67926         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
67927         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
67928         (gl_linked_add_after, gl_linked_add_at): Likewise.
67929         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
67930         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
67931         (gl_tree_add_before, gl_tree_add_after): Likewise.
67932         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
67933         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
67934         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
67935
67936 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67937
67938         * lib/gl_oset.h: Use C comment style, not C++ comment style.
67939
67940 2006-11-06  Bruno Haible  <bruno@clisp.org>
67941
67942         * m4/inline.m4: New file.
67943         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
67944         * modules/list (Files): Add m4/inline.m4.
67945         * modules/oset (Files): Likewise.
67946
67947 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
67948
67949         * lib/idcache.c: Include <stddef.h>, for offsetof.
67950         (struct userid.name): Change from char * to a flexible array member.
67951         All uses changed.
67952         * modules/idcache (Depends-on): Add flexmember.
67953
67954         * MODULES.html.sh (Core language properties): New module flexmember.
67955         * modules/flexmember, m4/flexmember.m4: New files.
67956
67957         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
67958         inline functions that are identical with the old xnmalloc_inline,
67959         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
67960         that we can avoid some unnecessary integer multiplications and
67961         divisions in the common case where the element size is known at
67962         compile time.
67963         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
67964         needed.
67965         (xnboundedmalloc): Remove.
67966         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
67967         arguments, for consistency with rest of this header.
67968         (xcharalloc): Rewrite using XNMALLOC.
67969         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
67970         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
67971         versions have been moved to lib/xalloc.h and renamed to be the
67972         non-*_inline versions.
67973         (xmalloc, xrealloc): Implement without reference to the xnmalloc
67974         and xnrealloc functions, since those functions are now inline and
67975         now call us.
67976         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
67977         renaming described above.
67978         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
67979         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
67980         captures the dependency in AC_C_INLINE.
67981
67982         New module canonicalize-lgpl, proposed by Charles Wilson in
67983         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
67984         with a few small changes afterwards.
67985         * MODULES.html.sh (File system functions): New module
67986         canonicalize-lgpl.
67987         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
67988         and canonicalize_file_name.
67989         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
67990         * modules/canonicalize-lgpl: New files.
67991
67992 2006-11-05  Bruno Haible  <bruno@clisp.org>
67993
67994         * gnulib-tool (func_import, func_create_testdir): Create directories
67995         also for files in subdirectories of lib/.
67996
67997 2006-11-05  Bruno Haible  <bruno@clisp.org>
67998
67999         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
68000         ANSI C compliant.
68001
68002 2006-11-03  Bruno Haible  <bruno@clisp.org>
68003
68004         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68005         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
68006         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
68007         (xnboundedmalloc): New inline function.
68008         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
68009         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
68010         xmalloc.
68011         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
68012         xmalloc.
68013         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
68014         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
68015         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
68016         xmalloc.
68017         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68018         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
68019         xmalloc.
68020         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
68021         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68022         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
68023         xmalloc.
68024         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68025         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
68026         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68027         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
68028         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
68029         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
68030         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
68031
68032 2006-11-03  Bruno Haible  <bruno@clisp.org>
68033
68034         * lib/c-ctype.h [C++]: Define functions without name mangling.
68035         * lib/fwriteerror.h [C++]: Likewise.
68036         * lib/gcd.h [C++]: Likewise.
68037         * lib/linebreak.h [C++]: Likewise.
68038
68039 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
68040
68041         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
68042         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
68043         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
68044         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68045         Check for functions and headers just once.
68046         Check for declaration of canonicalize_file_name.
68047         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
68048
68049 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
68050
68051         * gnulib-tool (func_import): Fix typo in actioncmd.
68052
68053 2006-11-02  Bruno Haible  <bruno@clisp.org>
68054
68055         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
68056         newline sequence in the Makefile.am snippet as a space, like "make"
68057         does.
68058         Reported by Roger Persson <perrog@gmail.com>.
68059
68060 2006-11-01  Bruno Haible  <bruno@clisp.org>
68061
68062         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
68063         already declared in <string.h>.
68064         * lib/strcase.h (strncasecmp): Don't declare it if yes.
68065
68066 2006-11-01  Bruno Haible  <bruno@clisp.org>
68067
68068         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
68069         * lib/strcase.h: Include <string.h>.
68070         (strcasecmp): Define to rpl_strcasecmp here.
68071
68072 2006-11-01  Bruno Haible  <bruno@clisp.org>
68073
68074         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
68075
68076 2006-11-01  Eric Blake  <ebb9@byu.net>
68077
68078         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
68079
68080         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
68081
68082 2006-10-29  Bruno Haible  <bruno@clisp.org>
68083
68084         Make it compile in C++ mode.
68085         * lib/full-write.c (full_rw): Add a cast.
68086
68087 2006-11-01  Bruno Haible  <bruno@clisp.org>
68088
68089         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
68090         be POSIX compliant.
68091         Reported by Roger Persson <perrog@gmail.com>.
68092
68093 2006-11-01  Eric Blake  <ebb9@byu.net>
68094
68095         * lib/getopt_.h: Fix comments.
68096
68097 2006-10-31  Eric Blake  <ebb9@byu.net>
68098
68099         * modules/tmpdir (Depends-on): Add sys_stat.
68100         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
68101         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
68102         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
68103         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
68104         tempname.
68105
68106 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
68107
68108         Avoid some C++ diagnostics reported by Bruno Haible.
68109         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
68110         xmalloc.
68111         (quotearg_alloc): Use xcharalloc rather than xmalloc.
68112         (struct slotvec): Move to top level.
68113         (quotearg_n_options): Rewrite to avoid xmalloc.
68114         * lib/xalloc.h (xcharalloc): New function.
68115         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
68116         [defined __cplusplus]: Add function template that provides result
68117         type propagation.  This part of the change is from Bruno Haible.
68118
68119 2006-10-29  Bruno Haible  <bruno@clisp.org>
68120
68121         Make it compile in C++ mode.
68122         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
68123         * lib/strnlen1.c (strnlen1): Cast memchr result.
68124         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
68125         * lib/clean-temp.c (string_equals, string_hash): Add casts.
68126         (create_temp_dir): Rename local variable 'template'.
68127         (compile_csharp_using_sscli): Add cast.
68128         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
68129         * lib/findprog.c (find_in_path): Likewise.
68130         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
68131         * lib/wait-process.c (register_slave_subprocess): Likewise.
68132
68133 2006-10-22  Bruno Haible  <bruno@clisp.org>
68134
68135         * modules/tsearch: New file.
68136         * lib/tsearch.h: New file.
68137         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
68138         * m4/tsearch.m4: New file.
68139         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
68140
68141 2006-10-29  Eric Blake  <ebb9@byu.net>
68142
68143         * lib/arcfour.c: Assume config.h.
68144         * lib/arctwo.c: Likewise.
68145         * lib/base64.c: Likewise.
68146         * lib/check-version.c: Likewise.
68147         * lib/crc.c: Likewise.
68148         * lib/des.c: Likewise.
68149         * lib/gc-gnulib.c: Likewise.
68150         * lib/gc-libgcrypt.c: Likewise.
68151         * lib/gc-pbkdf2-sha1.c: Likewise.
68152         * lib/getaddrinfo.c: Likewise.
68153         * lib/getdelim.c: Likewise.
68154         * lib/getline.c: Likewise.
68155         * lib/hmac-md5.c: Likewise.
68156         * lib/hmac-sha1.c: Likewise.
68157         * lib/iconvme.c: Likewise.
68158         * lib/md2.c: Likewise.
68159         * lib/md4.c: Likewise.
68160         * lib/memxor.c: Likewise.
68161         * lib/read-file.c: Likewise.
68162         * lib/readline.c: Likewise.
68163         * lib/rijndael-alg-fst.c: Likewise.
68164         * lib/rijndael-api-fst.c: Likewise.
68165         * lib/xgetdomainname.c: Likewise.
68166
68167 2006-10-28  Eric Blake  <ebb9@byu.net>
68168
68169         * lib/xstrndup.c: Assume config.h.
68170
68171 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
68172
68173         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
68174         stat-macros.h is now for our own macros, whereas stat_h is for
68175         macros in the <sys/stat.h> name space.
68176         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
68177         (STAT_MACROS_H): Remove.
68178         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
68179         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
68180         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
68181         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
68182         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
68183         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
68184         Move these macros to ...
68185         * lib/stat_.h: here.  Don't include stat-macros.h.
68186         * lib/canonicalize.c: Don't include stat-macros.h.
68187         * lib/chown.c: Likewise.
68188         * lib/euidaccess.c: Likewise.
68189         * lib/file-type.c: Likewise.
68190         * lib/filemode.c: Likewise.
68191         * lib/glob.c: Likewise.
68192         * lib/isapipe.c: Likewise.
68193         * lib/lchown.c: Likewise.
68194         * lib/lstat.c: Likewise.
68195         * lib/mkdir-p.c: Likewise.
68196         * lib/rmdir.c: Likewise.
68197         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
68198         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
68199         unless mkdir isn't declared, to speed up 'configure'.
68200         Always create sys/stat.h, since it's unlikely any real sys/stat.h
68201         would define all the S_* symbols.
68202         * modules/canonicalize (Depends-on):
68203         Depend on sys_stat, not stat-macros.
68204         * modules/chown: Likewise.
68205         * modules/euidaccess: Likewise.
68206         * modules/filemode: Likewise.
68207         * modules/file-type: Likewise.
68208         * modules/glob: Likewise.
68209         * modules/isapipe: Likewise.
68210         * modules/lchown: Likewise.
68211         * modules/lstat: Likewise.
68212         * modules/mkancesdirs: Likewise.
68213         * modules/rmdir: Likewise.
68214         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
68215         * modules/modechange: Likewise.
68216         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
68217         (configure.ac): Remove gl_STAT_MACROS.
68218         * modules/sys_stat (Depends-on): Remove stat-macros.
68219
68220 2006-10-27  Bruno Haible  <bruno@clisp.org>
68221
68222         * m4/signed.m4: Remove file.
68223         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
68224         invocation.
68225         * modules/vasnprintf (Files): Remove m4/signed.m4.
68226
68227 2006-10-27  Bruno Haible  <bruno@clisp.org>
68228
68229         Update to GNU gettext 0.16.
68230         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
68231         m4/inttypes-h.m4, m4/signed.m4.
68232         * m4/gettext.m4: Update to GNU gettext 0.16.
68233         * m4/intl.m4: New file, from GNU gettext.
68234         * m4/intldir.m4: New file, from GNU gettext.
68235         * config/srclist.txt: Update
68236
68237 2006-10-27  Eric Blake  <ebb9@byu.net>
68238
68239         * MODULES.html.sh: Document tempname.
68240         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
68241         dependencies.
68242         (Files): Move lib/tempname.c...
68243         * modules/tempname: ...to this new module.
68244         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
68245         (gl_PREREQ_TEMPNAME): Move...
68246         * m4/tempname.m4: ...to this new file.
68247         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
68248         * modules/sys_stat (Depends-on): Add stat-macros.
68249         * lib/stat_.h (includes): Pick up stat macros.
68250         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
68251         if stat macros are broken.
68252         * lib/tempname.c (includes): No need to include "stat-macros.h".
68253         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
68254         (direxists, __path_search) [!_LIBC]: Don't compile these in
68255         gnulib; the tmpdir module covers that.
68256         * lib/tempname.h: New file.
68257
68258 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
68259
68260         * COPYING: Explain how gnulib-tool converts licence headers.
68261         Almost all wording by Eric Blake.
68262
68263 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
68264
68265         * lib/mbchar.h (is_basic_table): Make read-only.
68266         * lib/mbchar.c (is_basic_table): Likewise.
68267         Reported by John Darrington.
68268
68269 2006-10-25  Bruno Haible  <bruno@clisp.org>
68270
68271         * lib/progname.h (set_program_name): Undefine before defining.
68272
68273 2006-10-25  Bruno Haible  <bruno@clisp.org>
68274
68275         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
68276         false for non-gcc C++ compilers.
68277         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
68278
68279 2006-10-24  Bruno Haible  <bruno@clisp.org>
68280
68281         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
68282         iconv implementations like Irix iconv.
68283
68284 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68285
68286         * modules/vararrays: New file.
68287         * m4/vararrays.m4: New file, taken from diffutils.
68288         * MODULES.html.sh: New module vararrays.
68289
68290 2006-10-24  Karl Berry  <karl@gnu.org>
68291
68292         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
68293         Don't call GNU Unix.
68294
68295 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68296
68297         * users.txt: Add Libtool.
68298
68299         Sync from Libtool:
68300
68301         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68302
68303         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
68304         to gnulib's policy of including config.h unconditionally.
68305
68306 2006-10-24  Bruno Haible  <bruno@clisp.org>
68307
68308         * modules/wcwidth (Files): Add m4/wint_t.m4.
68309         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
68310         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
68311
68312 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68313
68314         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
68315         to pacify GCC with some -W flags enabled.  Problem reported by
68316         Bruno Haible.
68317
68318 2006-10-24  Jim Meyering  <jim@meyering.net>
68319
68320         * MODULES.html.sh: Remove uinttostr.  It's not a module.
68321         Reported by Karl Berry.
68322
68323 2006-10-23  Bruno Haible  <bruno@clisp.org>
68324
68325         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
68326
68327 2006-10-24  Bruno Haible  <bruno@clisp.org>
68328
68329         * lib/gl_list.h: Use C comment style, not C++ comment style.
68330
68331 2006-10-23  Eric Blake  <ebb9@byu.net>
68332
68333         * lib/getaddrinfo.c (includes): Add missing include.
68334
68335 2006-10-23  Bruno Haible  <bruno@clisp.org>
68336             Paul Eggert  <eggert@cs.ucla.edu>
68337
68338         Ability to rename obstack_free.
68339         * lib/obstack.h (__obstack_free): New macro. Declare instead of
68340         obstack_free.
68341         (obstack_free): Invoke the __obstack_free macro.
68342         * lib/obstack.c (obstack_free): Use __obstack_free macro.
68343
68344 2006-10-23  Bruno Haible  <bruno@clisp.org>
68345             Paul Eggert  <eggert@cs.ucla.edu>
68346
68347         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
68348         __argc, __argv from the declaration. (They are defined as macros on
68349         mingw.)
68350
68351 2006-10-22  Bruno Haible  <bruno@clisp.org>
68352
68353         * doc/gnulib-intro.texi: New file.
68354         * doc/gnulib.texi: Include it.
68355
68356 2006-10-21  Bruno Haible  <bruno@clisp.org>
68357
68358         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
68359         "Introduction", "Miscellanous Notes", "Particular Modules".
68360
68361 2006-10-21  Bruno Haible  <bruno@clisp.org>
68362
68363         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68364         Change mostlyclean-local rule to avoid sh syntax error from bash
68365         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
68366
68367 2006-10-23  Jim Meyering  <jim@meyering.net>
68368
68369         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
68370         in place of snprintf.
68371
68372         * modules/inttostr (Files): Add lib/uinttostr.c.
68373         * lib/uinttostr.c (inttostr): New file/function.
68374         * lib/inttostr.h (uinttostr): Declare.
68375         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
68376         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
68377         Add uinttostr.
68378         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
68379
68380 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
68381
68382         * lib/canonicalize.c (ELOOP): Define if not already defined.
68383         Problem reported by Bruno Haible in
68384         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
68385
68386 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
68387
68388         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
68389         Problem reported by Perry Smith and Ville Laurikari.
68390
68391         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
68392         uses.
68393
68394 2006-10-19  Bruno Haible  <bruno@clisp.org>
68395
68396         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
68397         for mingw.
68398
68399 2006-10-19  Bruno Haible  <bruno@clisp.org>
68400
68401         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
68402         Needed for mingw.
68403
68404 2006-10-19  Bruno Haible  <bruno@clisp.org>
68405
68406         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
68407
68408 2006-10-19  Bruno Haible  <bruno@clisp.org>
68409
68410         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
68411         it.
68412
68413 2006-10-19  Bruno Haible  <bruno@clisp.org>
68414
68415         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
68416         invocation.
68417
68418 2006-10-19  Bruno Haible  <bruno@clisp.org>
68419
68420         * gnulib-tool (func_create_testdir): Don't include ftruncate and
68421         mountlist by default.
68422
68423 2006-10-16  Bruno Haible  <bruno@clisp.org>
68424
68425         * lib/c-strstr.c: Include c-strstr.h.
68426
68427 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
68428
68429         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
68430         in a slash.
68431
68432 2006-10-18  Bruno Haible  <bruno@clisp.org>
68433
68434         * lib/lock.h [C++]: Wrap definitions in extern "C".
68435
68436 2006-10-18  Bruno Haible  <bruno@clisp.org>
68437
68438         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
68439         gl_LIBOBJS list.
68440
68441 2006-10-18  Bruno Haible  <bruno@clisp.org>
68442
68443         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
68444
68445 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
68446
68447         * lib/xstrtol.h: Include gettext.h.
68448         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
68449         Problem reported by Eric Blake.
68450         * modules/xstrtol (Depends-on): Add gettext-h.
68451
68452 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
68453
68454         * lib/strftime.c (advance): New macro.
68455         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
68456         incomplete type, so you can't add 0 to it.  Problem and patch
68457         reported by Eelco Dolstra for dietlibc.
68458
68459 2006-10-18  Jim Meyering  <jim@meyering.net>
68460
68461         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
68462         type for a local, and rename it: s/up/user_proc/.
68463
68464 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
68465
68466         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
68467         READ_UTMP_USER_PROCESS.
68468         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
68469
68470 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
68471
68472         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
68473         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
68474
68475 2006-10-17  Eric Blake  <ebb9@byu.net>
68476
68477         * lib/sigprocmask.c (sigprocmask): Fix typo.
68478
68479         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
68480
68481         * modules/clean-temp (Makefile.am): Don't add to make output...
68482         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
68483         config.h.
68484
68485 2006-10-17  Bruno Haible  <bruno@clisp.org>
68486
68487         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
68488         differently if DEFAULT_TEXT_DOMAIN is set.
68489
68490 2006-10-16  Bruno Haible  <bruno@clisp.org>
68491
68492         * lib/clean-temp.c: Include fwriteerror.h.
68493
68494 2006-10-16  Bruno Haible  <bruno@clisp.org>
68495
68496         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
68497
68498 2006-10-16  Bruno Haible  <bruno@clisp.org>
68499
68500         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
68501         * lib/sigprocmask.h: Include <sys/types.h>.
68502         (sigset_t): Use the system's definition if present.
68503
68504 2006-10-17  Eric Blake  <ebb9@byu.net>
68505
68506         * lib/xvasprintf.c (includes): Assume config.h.
68507         * lib/xasprintf.c (includes): Likewise.
68508
68509 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
68510
68511         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
68512         at least as wide as intmax_t.
68513
68514 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
68515
68516         (Imported from Automake.)
68517         * build-aux/gnupload: Update to version 1.1 of directive file.
68518
68519 2006-10-16  Eric Blake  <ebb9@byu.net>
68520
68521         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
68522         match Automake 1.10a.
68523
68524 2006-10-14  Bruno Haible  <bruno@clisp.org>
68525
68526         * modules/sigprocmask: New file.
68527         * lib/sigprocmask.h: New file.
68528         * lib/sigprocmask.c: New file.
68529         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
68530         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
68531         request sigprocmask.o.
68532         (gl_PREREQ_SIGPROCMASK): New macro.
68533         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
68534         (Depends-on): Add sigprocmask.
68535         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
68536         gt_SIGNALBLOCKING. Test for 'raise' only once.
68537         * lib/fatal-signal.c: Include sigprocmask.h.
68538         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
68539         unblock_fatal_signals): Define always.
68540         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68541         sigprocmask.
68542
68543 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
68544
68545         Sync from Automake.
68546         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
68547         which incorrectly sets the mode of an existing destination
68548         directory.  In some cases the unpatched install-sh could do the
68549         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
68550         system.  We hope this is rare in practice, but it's clearly worth
68551         fixing.  Problem reported by Alex Unleashed in
68552         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
68553         Also, don't bother to check for -m bugs unless we're using -m;
68554         suggested by Stepan Kasal.
68555
68556 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68557
68558         Sync from Automake.
68559         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
68560         `-c' flag, so they appear at the same position as in %FASTDEP%
68561         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
68562         which ignores unknown options only after the first non-option.
68563         Bug report against M4 by Nelson H. F. Beebe.
68564
68565 2006-10-13  Jim Meyering  <jim@meyering.net>
68566
68567         Fix a bug in yesterday's change.
68568         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
68569         p->fts_statp->st_dev would be used uninitialized.
68570         Ensures that we always call fts_stat on the very first entry.
68571         Miklos Szeredi reported that find -xdev stopped working.
68572
68573 2006-10-12  Bruno Haible  <bruno@clisp.org>
68574
68575         * gnulib-tool (func_get_automake_snippet): Append an automatically
68576         computed EXTRA_DIST augmentation.
68577         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
68578         * modules/alloca-opt (Makefile.am): Likewise.
68579         * modules/allocsa (Makefile.am): Likewise.
68580         * modules/arcfour (Makefile.am): Likewise.
68581         * modules/arctwo (Makefile.am): Likewise.
68582         * modules/argmatch (Makefile.am): Likewise.
68583         * modules/argz (Makefile.am): Likewise.
68584         * modules/atexit (Makefile.am): Likewise.
68585         * modules/backupfile (Makefile.am): Likewise.
68586         * modules/byteswap (Makefile.am): Likewise.
68587         * modules/c-strtod (Makefile.am): Likewise.
68588         * modules/c-strtold (Makefile.am): Likewise.
68589         * modules/calloc (Makefile.am): Likewise.
68590         * modules/canon-host (Makefile.am): Likewise.
68591         * modules/canonicalize (Makefile.am): Likewise.
68592         * modules/chdir-long (Makefile.am): Likewise.
68593         * modules/chdir-safer (Makefile.am): Likewise.
68594         * modules/check-version (Makefile.am): Likewise.
68595         * modules/chown (Makefile.am): Likewise.
68596         * modules/cloexec (Makefile.am): Likewise.
68597         * modules/close-stream (Makefile.am): Likewise.
68598         * modules/closeout (Makefile.am): Likewise.
68599         * modules/crc (Makefile.am): Likewise.
68600         * modules/csharpexec (Makefile.am): Likewise.
68601         * modules/cycle-check (Makefile.am): Likewise.
68602         * modules/des (Makefile.am): Likewise.
68603         * modules/dev-ino (Makefile.am): Likewise.
68604         * modules/dirfd (Makefile.am): Likewise.
68605         * modules/dirname (Makefile.am): Likewise.
68606         * modules/dup2 (Makefile.am): Likewise.
68607         * modules/eealloc (Makefile.am): Likewise.
68608         * modules/error (Makefile.am): Likewise.
68609         * modules/euidaccess (Makefile.am): Likewise.
68610         * modules/exclude (Makefile.am): Likewise.
68611         * modules/exitfail (Makefile.am): Likewise.
68612         * modules/fcntl-safer (Makefile.am): Likewise.
68613         * modules/fcntl (Makefile.am): Likewise.
68614         * modules/file-type (Makefile.am): Likewise.
68615         * modules/fileblocks (Makefile.am): Likewise.
68616         * modules/filemode (Makefile.am): Likewise.
68617         * modules/filenamecat (Makefile.am): Likewise.
68618         * modules/fnmatch (Makefile.am): Likewise.
68619         * modules/fopen-safer (Makefile.am): Likewise.
68620         * modules/fpending (Makefile.am): Likewise.
68621         * modules/fprintftime (Makefile.am): Likewise.
68622         * modules/free (Makefile.am): Likewise.
68623         * modules/fsusage (Makefile.am): Likewise.
68624         * modules/ftruncate (Makefile.am): Likewise.
68625         * modules/fts (Makefile.am): Likewise.
68626         * modules/gc-arcfour (Makefile.am): Likewise.
68627         * modules/gc-des (Makefile.am): Likewise.
68628         * modules/gc-hmac-md5 (Makefile.am): Likewise.
68629         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
68630         * modules/gc-md4 (Makefile.am): Likewise.
68631         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
68632         * modules/gc-sha1 (Makefile.am): Likewise.
68633         * modules/gc (Makefile.am): Likewise.
68634         * modules/getaddrinfo (Makefile.am): Likewise.
68635         * modules/getcwd (Makefile.am): Likewise.
68636         * modules/getdelim (Makefile.am): Likewise.
68637         * modules/getdomainname (Makefile.am): Likewise.
68638         * modules/getgroups (Makefile.am): Likewise.
68639         * modules/gethostname (Makefile.am): Likewise.
68640         * modules/gethrxtime (Makefile.am): Likewise.
68641         * modules/getline (Makefile.am): Likewise.
68642         * modules/getloadavg (Makefile.am): Likewise.
68643         * modules/getlogin_r (Makefile.am): Likewise.
68644         * modules/getndelim2 (Makefile.am): Likewise.
68645         * modules/getopt (Makefile.am): Likewise.
68646         * modules/getpagesize (Makefile.am): Likewise.
68647         * modules/getpass-gnu (Makefile.am): Likewise.
68648         * modules/getpass (Makefile.am): Likewise.
68649         * modules/getsubopt (Makefile.am): Likewise.
68650         * modules/gettime (Makefile.am): Likewise.
68651         * modules/gettimeofday (Makefile.am): Likewise.
68652         * modules/getugroups (Makefile.am): Likewise.
68653         * modules/getusershell (Makefile.am): Likewise.
68654         * modules/glob (Makefile.am): Likewise.
68655         * modules/group-member (Makefile.am): Likewise.
68656         * modules/hard-locale (Makefile.am): Likewise.
68657         * modules/hash (Makefile.am): Likewise.
68658         * modules/hmac-md5 (Makefile.am): Likewise.
68659         * modules/hmac-sha1 (Makefile.am): Likewise.
68660         * modules/human (Makefile.am): Likewise.
68661         * modules/idcache (Makefile.am): Likewise.
68662         * modules/imaxabs (Makefile.am): Likewise.
68663         * modules/imaxdiv (Makefile.am): Likewise.
68664         * modules/inet_ntop (Makefile.am): Likewise.
68665         * modules/inet_pton (Makefile.am): Likewise.
68666         * modules/intprops (Makefile.am): Likewise.
68667         * modules/inttostr (Makefile.am): Likewise.
68668         * modules/inttypes (Makefile.am): Likewise.
68669         * modules/isapipe (Makefile.am): Likewise.
68670         * modules/javaversion (Makefile.am): Likewise.
68671         * modules/lchmod (Makefile.am): Likewise.
68672         * modules/lchown (Makefile.am): Likewise.
68673         * modules/localcharset (Makefile.am): Likewise.
68674         * modules/long-options (Makefile.am): Likewise.
68675         * modules/lstat (Makefile.am): Likewise.
68676         * modules/malloc (Makefile.am): Likewise.
68677         * modules/mathl (Makefile.am): Likewise.
68678         * modules/mbchar (Makefile.am): Likewise.
68679         * modules/md2 (Makefile.am): Likewise.
68680         * modules/md4 (Makefile.am): Likewise.
68681         * modules/md5 (Makefile.am): Likewise.
68682         * modules/memcasecmp (Makefile.am): Likewise.
68683         * modules/memchr (Makefile.am): Likewise.
68684         * modules/memcmp (Makefile.am): Likewise.
68685         * modules/memcoll (Makefile.am): Likewise.
68686         * modules/memcpy (Makefile.am): Likewise.
68687         * modules/memmem (Makefile.am): Likewise.
68688         * modules/memmove (Makefile.am): Likewise.
68689         * modules/mempcpy (Makefile.am): Likewise.
68690         * modules/memrchr (Makefile.am): Likewise.
68691         * modules/memset (Makefile.am): Likewise.
68692         * modules/memxor (Makefile.am): Likewise.
68693         * modules/mkancesdirs (Makefile.am): Likewise.
68694         * modules/mkdir-p (Makefile.am): Likewise.
68695         * modules/mkdir (Makefile.am): Likewise.
68696         * modules/mkdtemp (Makefile.am): Likewise.
68697         * modules/mkstemp (Makefile.am): Likewise.
68698         * modules/mktime (Makefile.am): Likewise.
68699         * modules/modechange (Makefile.am): Likewise.
68700         * modules/mountlist (Makefile.am): Likewise.
68701         * modules/nanosleep (Makefile.am): Likewise.
68702         * modules/obstack (Makefile.am): Likewise.
68703         * modules/openat (Makefile.am): Likewise.
68704         * modules/pagealign_alloc (Makefile.am): Likewise.
68705         * modules/pathmax (Makefile.am): Likewise.
68706         * modules/physmem (Makefile.am): Likewise.
68707         * modules/poll (Makefile.am): Likewise.
68708         * modules/posixtm (Makefile.am): Likewise.
68709         * modules/posixver (Makefile.am): Likewise.
68710         * modules/putenv (Makefile.am): Likewise.
68711         * modules/quote (Makefile.am): Likewise.
68712         * modules/quotearg (Makefile.am): Likewise.
68713         * modules/raise (Makefile.am): Likewise.
68714         * modules/read-file (Makefile.am): Likewise.
68715         * modules/readline (Makefile.am): Likewise.
68716         * modules/readlink (Makefile.am): Likewise.
68717         * modules/readtokens (Makefile.am): Likewise.
68718         * modules/readutmp (Makefile.am): Likewise.
68719         * modules/realloc (Makefile.am): Likewise.
68720         * modules/regex (Makefile.am): Likewise.
68721         * modules/rename-dest-slash (Makefile.am): Likewise.
68722         * modules/rename (Makefile.am): Likewise.
68723         * modules/rijndael (Makefile.am): Likewise.
68724         * modules/rmdir (Makefile.am): Likewise.
68725         * modules/rpmatch (Makefile.am): Likewise.
68726         * modules/safe-read (Makefile.am): Likewise.
68727         * modules/safe-write (Makefile.am): Likewise.
68728         * modules/same-inode (Makefile.am): Likewise.
68729         * modules/same (Makefile.am): Likewise.
68730         * modules/save-cwd (Makefile.am): Likewise.
68731         * modules/savedir (Makefile.am): Likewise.
68732         * modules/setenv (Makefile.am): Likewise.
68733         * modules/settime (Makefile.am): Likewise.
68734         * modules/sha1 (Makefile.am): Likewise.
68735         * modules/sig2str (Makefile.am): Likewise.
68736         * modules/snprintf (Makefile.am): Likewise.
68737         * modules/stat-macros (Makefile.am): Likewise.
68738         * modules/stat-time (Makefile.am): Likewise.
68739         * modules/stdbool (Makefile.am): Likewise.
68740         * modules/stdint (Makefile.am): Likewise.
68741         * modules/stdlib-safer (Makefile.am): Likewise.
68742         * modules/stpcpy (Makefile.am): Likewise.
68743         * modules/stpncpy (Makefile.am): Likewise.
68744         * modules/strcase (Makefile.am): Likewise.
68745         * modules/strcasestr (Makefile.am): Likewise.
68746         * modules/strchrnul (Makefile.am): Likewise.
68747         * modules/strcspn (Makefile.am): Likewise.
68748         * modules/strdup (Makefile.am): Likewise.
68749         * modules/strerror (Makefile.am): Likewise.
68750         * modules/strftime (Makefile.am): Likewise.
68751         * modules/strndup (Makefile.am): Likewise.
68752         * modules/strnlen (Makefile.am): Likewise.
68753         * modules/strpbrk (Makefile.am): Likewise.
68754         * modules/strsep (Makefile.am): Likewise.
68755         * modules/strstr (Makefile.am): Likewise.
68756         * modules/strtod (Makefile.am): Likewise.
68757         * modules/strtoimax (Makefile.am): Likewise.
68758         * modules/strtok_r (Makefile.am): Likewise.
68759         * modules/strtol (Makefile.am): Likewise.
68760         * modules/strtoll (Makefile.am): Likewise.
68761         * modules/strtoul (Makefile.am): Likewise.
68762         * modules/strtoull (Makefile.am): Likewise.
68763         * modules/strtoumax (Makefile.am): Likewise.
68764         * modules/strverscmp (Makefile.am): Likewise.
68765         * modules/sys_socket (Makefile.am): Likewise.
68766         * modules/sys_stat (Makefile.am): Likewise.
68767         * modules/sysexits (Makefile.am): Likewise.
68768         * modules/time_r (Makefile.am): Likewise.
68769         * modules/timegm (Makefile.am): Likewise.
68770         * modules/timespec (Makefile.am): Likewise.
68771         * modules/tmpfile-safer (Makefile.am): Likewise.
68772         * modules/trim (Makefile.am): Likewise.
68773         * modules/unistd-safer (Makefile.am): Likewise.
68774         * modules/unlinkdir (Makefile.am): Likewise.
68775         * modules/unlocked-io (Makefile.am): Likewise.
68776         * modules/userspec (Makefile.am): Likewise.
68777         * modules/utime (Makefile.am): Likewise.
68778         * modules/utimecmp (Makefile.am): Likewise.
68779         * modules/utimens (Makefile.am): Likewise.
68780         * modules/vasnprintf (Makefile.am): Likewise.
68781         * modules/vasprintf (Makefile.am): Likewise.
68782         * modules/vsnprintf (Makefile.am): Likewise.
68783         * modules/xalloc (Makefile.am): Likewise.
68784         * modules/xgetcwd (Makefile.am): Likewise.
68785         * modules/xnanosleep (Makefile.am): Likewise.
68786         * modules/xreadlink (Makefile.am): Likewise.
68787         * modules/xstrtod (Makefile.am): Likewise.
68788         * modules/xstrtol (Makefile.am): Likewise.
68789         * modules/xstrtold (Makefile.am): Likewise.
68790         * modules/yesno (Makefile.am): Likewise.
68791         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
68792
68793 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
68794
68795         * modules/error (Makefile.am): Distribute files through
68796         EXTRA_DIST, not lib_SOURCES.
68797
68798 2006-10-12  Eric Blake  <ebb9@byu.net>
68799
68800         * modules/error (Makefile.am): Distribute files in /lib.
68801         * modules/obstack (Makefile.am): Likewise.
68802
68803 2006-10-12  Bruno Haible  <bruno@clisp.org>
68804
68805         * modules/acl (Makefile.am): Distribute all files in lib/ through
68806         EXTRA_DIST.
68807         * modules/arcfour (Makefile.am): Likewise.
68808         * modules/arctwo (Makefile.am): Likewise.
68809         * modules/argmatch (Makefile.am): Likewise.
68810         * modules/argz (Makefile.am): Likewise.
68811         * modules/atexit (Makefile.am): Likewise.
68812         * modules/backupfile (Makefile.am): Likewise.
68813         * modules/c-strtod (Makefile.am): Likewise.
68814         * modules/c-strtold (Makefile.am): Likewise.
68815         * modules/calloc (Makefile.am): Likewise.
68816         * modules/canon-host (Makefile.am): Likewise.
68817         * modules/canonicalize (Makefile.am): Likewise.
68818         * modules/chdir-long (Makefile.am): Likewise.
68819         * modules/chdir-safer (Makefile.am): Likewise.
68820         * modules/check-version (Makefile.am): Likewise.
68821         * modules/chown (Makefile.am): Likewise.
68822         * modules/cloexec (Makefile.am): Likewise.
68823         * modules/close-stream (Makefile.am): Likewise.
68824         * modules/closeout (Makefile.am): Likewise.
68825         * modules/crc (Makefile.am): Likewise.
68826         * modules/cycle-check (Makefile.am): Likewise.
68827         * modules/des (Makefile.am): Likewise.
68828         * modules/dirfd (Makefile.am): Likewise.
68829         * modules/dirname (Makefile.am): Likewise.
68830         * modules/dup2 (Makefile.am): Likewise.
68831         * modules/euidaccess (Makefile.am): Likewise.
68832         * modules/exclude (Makefile.am): Likewise.
68833         * modules/exitfail (Makefile.am): Likewise.
68834         * modules/fcntl-safer (Makefile.am): Likewise.
68835         * modules/file-type (Makefile.am): Likewise.
68836         * modules/fileblocks (Makefile.am): Likewise.
68837         * modules/filemode (Makefile.am): Likewise.
68838         * modules/filenamecat (Makefile.am): Likewise.
68839         * modules/fnmatch (Makefile.am): Likewise.
68840         * modules/fopen-safer (Makefile.am): Likewise.
68841         * modules/fpending (Makefile.am): Likewise.
68842         * modules/fprintftime (Makefile.am): Likewise.
68843         * modules/free (Makefile.am): Likewise.
68844         * modules/fsusage (Makefile.am): Likewise.
68845         * modules/ftruncate (Makefile.am): Likewise.
68846         * modules/fts (Makefile.am): Likewise.
68847         * modules/gc (Makefile.am): Likewise.
68848         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
68849         * modules/getaddrinfo (Makefile.am): Likewise.
68850         * modules/getcwd (Makefile.am): Likewise.
68851         * modules/getdelim (Makefile.am): Likewise.
68852         * modules/getdomainname (Makefile.am): Likewise.
68853         * modules/getgroups (Makefile.am): Likewise.
68854         * modules/gethostname (Makefile.am): Likewise.
68855         * modules/gethrxtime (Makefile.am): Likewise.
68856         * modules/getline (Makefile.am): Likewise.
68857         * modules/getloadavg (Makefile.am): Likewise.
68858         * modules/getlogin_r (Makefile.am): Likewise.
68859         * modules/getopt (Makefile.am): Likewise.
68860         * modules/getpass (Makefile.am): Likewise.
68861         * modules/getpass-gnu (Makefile.am): Likewise.
68862         * modules/getsubopt (Makefile.am): Likewise.
68863         * modules/gettime (Makefile.am): Likewise.
68864         * modules/gettimeofday (Makefile.am): Likewise.
68865         * modules/getugroups (Makefile.am): Likewise.
68866         * modules/getusershell (Makefile.am): Likewise.
68867         * modules/glob (Makefile.am): Likewise.
68868         * modules/group-member (Makefile.am): Likewise.
68869         * modules/hard-locale (Makefile.am): Likewise.
68870         * modules/hash (Makefile.am): Likewise.
68871         * modules/hmac-md5 (Makefile.am): Likewise.
68872         * modules/hmac-sha1 (Makefile.am): Likewise.
68873         * modules/human (Makefile.am): Likewise.
68874         * modules/idcache (Makefile.am): Likewise.
68875         * modules/imaxabs (Makefile.am): Likewise.
68876         * modules/imaxdiv (Makefile.am): Likewise.
68877         * modules/inet_ntop (Makefile.am): Likewise.
68878         * modules/inet_pton (Makefile.am): Likewise.
68879         * modules/inttostr (Makefile.am): Likewise.
68880         * modules/isapipe (Makefile.am): Likewise.
68881         * modules/lchown (Makefile.am): Likewise.
68882         * modules/long-options (Makefile.am): Likewise.
68883         * modules/lstat (Makefile.am): Likewise.
68884         * modules/malloc (Makefile.am): Likewise.
68885         * modules/mathl (Makefile.am): Likewise.
68886         * modules/mbchar (Makefile.am): Likewise.
68887         * modules/md2 (Makefile.am): Likewise.
68888         * modules/md4 (Makefile.am): Likewise.
68889         * modules/md5 (Makefile.am): Likewise.
68890         * modules/memcasecmp (Makefile.am): Likewise.
68891         * modules/memchr (Makefile.am): Likewise.
68892         * modules/memcmp (Makefile.am): Likewise.
68893         * modules/memcoll (Makefile.am): Likewise.
68894         * modules/memcpy (Makefile.am): Likewise.
68895         * modules/memmem (Makefile.am): Likewise.
68896         * modules/memmove (Makefile.am): Likewise.
68897         * modules/mempcpy (Makefile.am): Likewise.
68898         * modules/memrchr (Makefile.am): Likewise.
68899         * modules/memset (Makefile.am): Likewise.
68900         * modules/memxor (Makefile.am): Likewise.
68901         * modules/mkancesdirs (Makefile.am): Likewise.
68902         * modules/mkdir (Makefile.am): Likewise.
68903         * modules/mkdir-p (Makefile.am): Likewise.
68904         * modules/mkdtemp (Makefile.am): Likewise.
68905         * modules/mkstemp (Makefile.am): Likewise.
68906         * modules/mktime (Makefile.am): Likewise.
68907         * modules/modechange (Makefile.am): Likewise.
68908         * modules/mountlist (Makefile.am): Likewise.
68909         * modules/nanosleep (Makefile.am): Likewise.
68910         * modules/openat (Makefile.am): Likewise.
68911         * modules/pagealign_alloc (Makefile.am): Likewise.
68912         * modules/physmem (Makefile.am): Likewise.
68913         * modules/poll (Makefile.am): Likewise.
68914         * modules/posixtm (Makefile.am): Likewise.
68915         * modules/posixver (Makefile.am): Likewise.
68916         * modules/putenv (Makefile.am): Likewise.
68917         * modules/quote (Makefile.am): Likewise.
68918         * modules/quotearg (Makefile.am): Likewise.
68919         * modules/raise (Makefile.am): Likewise.
68920         * modules/read-file (Makefile.am): Likewise.
68921         * modules/readline (Makefile.am): Likewise.
68922         * modules/readlink (Makefile.am): Likewise.
68923         * modules/readtokens (Makefile.am): Likewise.
68924         * modules/readutmp (Makefile.am): Likewise.
68925         * modules/realloc (Makefile.am): Likewise.
68926         * modules/regex (Makefile.am): Likewise.
68927         * modules/rename (Makefile.am): Likewise.
68928         * modules/rename-dest-slash (Makefile.am): Likewise.
68929         * modules/rijndael (Makefile.am): Likewise.
68930         * modules/rmdir (Makefile.am): Likewise.
68931         * modules/rpmatch (Makefile.am): Likewise.
68932         * modules/safe-read (Makefile.am): Likewise.
68933         * modules/safe-write (Makefile.am): Likewise.
68934         * modules/same (Makefile.am): Likewise.
68935         * modules/save-cwd (Makefile.am): Likewise.
68936         * modules/savedir (Makefile.am): Likewise.
68937         * modules/setenv (Makefile.am): Likewise.
68938         * modules/settime (Makefile.am): Likewise.
68939         * modules/sha1 (Makefile.am): Likewise.
68940         * modules/sig2str (Makefile.am): Likewise.
68941         * modules/snprintf (Makefile.am): Likewise.
68942         * modules/stdlib-safer (Makefile.am): Likewise.
68943         * modules/stpcpy (Makefile.am): Likewise.
68944         * modules/stpncpy (Makefile.am): Likewise.
68945         * modules/strcase (Makefile.am): Likewise.
68946         * modules/strcasestr (Makefile.am): Likewise.
68947         * modules/strchrnul (Makefile.am): Likewise.
68948         * modules/strcspn (Makefile.am): Likewise.
68949         * modules/strdup (Makefile.am): Likewise.
68950         * modules/strerror (Makefile.am): Likewise.
68951         * modules/strftime (Makefile.am): Likewise.
68952         * modules/strndup (Makefile.am): Likewise.
68953         * modules/strnlen (Makefile.am): Likewise.
68954         * modules/strpbrk (Makefile.am): Likewise.
68955         * modules/strsep (Makefile.am): Likewise.
68956         * modules/strstr (Makefile.am): Likewise.
68957         * modules/strtod (Makefile.am): Likewise.
68958         * modules/strtoimax (Makefile.am): Likewise.
68959         * modules/strtok_r (Makefile.am): Likewise.
68960         * modules/strtol (Makefile.am): Likewise.
68961         * modules/strtoll (Makefile.am): Likewise.
68962         * modules/strtoul (Makefile.am): Likewise.
68963         * modules/strtoull (Makefile.am): Likewise.
68964         * modules/strtoumax (Makefile.am): Likewise.
68965         * modules/strverscmp (Makefile.am): Likewise.
68966         * modules/time_r (Makefile.am): Likewise.
68967         * modules/timegm (Makefile.am): Likewise.
68968         * modules/tmpfile-safer (Makefile.am): Likewise.
68969         * modules/unistd-safer (Makefile.am): Likewise.
68970         * modules/unlinkdir (Makefile.am): Likewise.
68971         * modules/userspec (Makefile.am): Likewise.
68972         * modules/utime (Makefile.am): Likewise.
68973         * modules/utimecmp (Makefile.am): Likewise.
68974         * modules/utimens (Makefile.am): Likewise.
68975         * modules/vasnprintf (Makefile.am): Likewise.
68976         * modules/vasprintf (Makefile.am): Likewise.
68977         * modules/vsnprintf (Makefile.am): Likewise.
68978         * modules/xalloc (Makefile.am): Likewise.
68979         * modules/xgetcwd (Makefile.am): Likewise.
68980         * modules/xnanosleep (Makefile.am): Likewise.
68981         * modules/xreadlink (Makefile.am): Likewise.
68982         * modules/xstrtod (Makefile.am): Likewise.
68983         * modules/xstrtol (Makefile.am): Likewise.
68984         * modules/xstrtold (Makefile.am): Likewise.
68985         * modules/yesno (Makefile.am): Likewise.
68986
68987 2006-10-12  Jim Meyering  <jim@meyering.net>
68988
68989         * m4/getloadavg.m4: Revert the change below.
68990
68991         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
68992         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
68993         fail with a symlink, which is what coreutils' ./bootstrap now
68994         creates by default.
68995
68996 2006-10-12  Bruno Haible  <bruno@clisp.org>
68997
68998         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
68999         mingw.
69000         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
69001         MSVC and mingw explicitly.
69002
69003 2006-10-11  Simon Josefsson  <jas@extundo.com>
69004             Bruno Haible  <bruno@clisp.org>
69005
69006         Add support for multiple gnulib-tool invocations in the scope of a
69007         single configure.ac file.
69008         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
69009         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
69010         with the same contents as the _LIBADD variable.
69011         (func_emit_initmacro_start, func_emit_initmacro_end,
69012         func_emit_initmacro_done): New functions.
69013         (func_import, func_create_testdir): Invoke them. Allow the identifiers
69014         gl_LIBOBJS and gl_LTLIBOBJS.
69015
69016 2006-10-11  Bruno Haible  <bruno@clisp.org>
69017
69018         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
69019         (func_create_testdir): Don't create po/Makefile.am, don't invoke
69020         autoreconf. Instead, invoke autopoint explicitly but move back the
69021         *.m4 files from gnulib.
69022
69023 2006-10-11  Bruno Haible  <bruno@clisp.org>
69024
69025         * gnulib-tool (func_usage): Make module names after --create-testdir
69026         optional.
69027         (func_create_testdir): If no module was specified, use nearly all
69028         modules.
69029
69030 2006-10-12  Jim Meyering  <jim@meyering.net>
69031
69032         Big performance improvement for fts-based tools that use FTS_NOSTAT.
69033         Avoid spurious inode-mismatch problems on non-POSIX file systems.
69034         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
69035         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
69036         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
69037         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
69038         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
69039         (fts_set_stat_required): New function.
69040         (fts_open): Defer the calls to fts_stat, if possible or requested.
69041         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
69042         into fts_stat itself.
69043         (fts_read): Perform any required (deferred) fts_stat call.
69044         (fts_build): Likewise, for the directory we're about to open and read.
69045         In the readdir loop, carefully decide whether each entry will require
69046         an eventual call to fts_stat, using dirent.d_type info if available.
69047         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
69048         a command line argument into this function.  Update all callers.
69049         Map a return value of FTS_DOT to FTS_D for a command line argument.
69050         * modules/fts (Depends-on): Add d-type.  Alphabetize.
69051         Thanks to Miklos Szeredi for his tenacity and for the initial
69052         bug report about "find" failing on a FUSE-based file system.
69053
69054         * lib/fts.c (fts_open): Use consistent indentation.
69055
69056 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69057
69058         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
69059         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
69060         reported by Jim Meyering.  All uses of cache variables renamed
69061         to match Autoconf's.
69062         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
69063         the other one.
69064
69065         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
69066         Fix misspelling in diagnostic.
69067
69068 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
69069
69070         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
69071         defined.  Problem reported by Matthew Woehlke.
69072
69073         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
69074         Add support for Tandem NonStop R series.
69075         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
69076         Use new macro.
69077
69078         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
69079         (has_trailing_slash): Omit size arg; all callers changed.
69080         Omit 'inline', since it doesn't help performance and we'd
69081         need to configure it.
69082         Don't count //, ///, etc. as having a trailing slash.
69083         As a side effect, this removes a C99ism reported by Matthew Woehlke.
69084         (rpl_rename_dest_slash): On failure, use rename's errno rather
69085         than (in some cases) an incorrect or junk errno.
69086         Simplify code by removing need to compute length; this does
69087         cause it to make two passes instead of one over the file name,
69088         but it's worth it.
69089
69090         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
69091         change, since Autoconf's version may no longer be appropriate now
69092         that we are using CVS Autoconf's version.  Add support for Tandem.
69093
69094 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
69095             Bruno Haible  <bruno@clisp.org>
69096
69097         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
69098         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
69099         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
69100         gl_AC_TYPE_LONG_LONG.
69101
69102         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
69103         instead of HAVE_LONG_LONG.
69104         * lib/printf-args.c (printf_fetchargs): Likewise.
69105         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
69106         * lib/vasnprintf.c (VASNPRINTF): Likewise.
69107         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
69108         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
69109         gl_AC_TYPE_LONG_LONG.
69110
69111 2006-10-11  Bruno Haible  <bruno@clisp.org>
69112
69113         * m4/longlong.m4: Add comments.
69114         * m4/ulonglong.m4: Likewise.
69115
69116 2006-10-10  Bruno Haible  <bruno@clisp.org>
69117
69118         Make it possible to #define stpcpy, strdup to aliases.
69119         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
69120         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
69121
69122 2006-10-10  Bruno Haible  <bruno@clisp.org>
69123
69124         Make it possible to #define gcd to an alias.
69125         * lib/gcd.c: Include config.h.
69126
69127 2006-10-10  Bruno Haible  <bruno@clisp.org>
69128
69129         Make it possible to #define c_isascii to an alias.
69130         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
69131         defined. Undefine the macros before defining them, to avoid gcc
69132         warnings.
69133         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
69134         define NO_C_CTYPE_MACROS early.
69135
69136 2006-10-10  Bruno Haible  <bruno@clisp.org>
69137
69138         Make it possible to #define set_program_name to an alias.
69139         * lib/progname.c: Don't undefine set_program_name; instead, undefine
69140         ENABLE_RELOCATABLE early.
69141
69142 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69143
69144         Port to Tandem NSK OSS, which has 64-bit signed int but at most
69145         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
69146         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
69147         More generally, don't assume that 64-bit signed int is available
69148         if unsigned int is, and vice versa.
69149         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
69150         unsigned symbols, not on their signed counterparts.
69151         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
69152         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
69153         (UINT64_C, UINTMAX_C):
69154         Likewise.
69155         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
69156         unsigned counterparts.
69157         (Have_long_long, Unsigned): New macros.
69158         (Int): Renamed from INT.
69159         (strtoimax): Use the new macros.
69160         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
69161         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
69162         * modules/inttypes (inttypes.h): Substitute
69163         HAVE_UNSIGNED_LONG_LONG_INT.
69164         * modules/stdint (stdint.h): Likewise.
69165         (Files): Add m4/ulonglong.m4.
69166
69167 2006-10-10  Bruno Haible  <bruno@clisp.org>
69168
69169         Fix a gcc -Wshadow warning.
69170         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
69171         to 'bucket'.
69172         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
69173         gl_linked_indexof_from_to): Likewise.
69174         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
69175         Likewise.
69176         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
69177         Likewise.
69178         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
69179         Reported by Eric Blake.
69180
69181 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
69182
69183         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
69184         for NetBSD.  Problem reported by Bruno Haible.
69185
69186 2006-10-09  Jim Meyering  <jim@meyering.net>
69187
69188         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
69189         Patch from Bruno Haible.
69190
69191 2006-10-09  Jim Meyering  <jim@meyering.net>
69192
69193         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
69194         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
69195         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
69196
69197 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
69198
69199         Don't include <config.h> twice; this doesn't work in some cases,
69200         e.g., when config.h has "#define intmax_t long long int" and
69201         we include <config.h>, <inttypes.h>, <config.h> in that order.
69202         Problem reported by Matthew Woehlke in:
69203         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
69204         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
69205         * lib/fts-cycle.c: Don't include config.h.
69206         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
69207         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
69208         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
69209         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
69210         inttypes.h.
69211         * lib/xstrtoumax.c: Likewise.
69212         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
69213         __strtol and the like, so that this module is more like its siblings.
69214         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
69215         Remove; no longer needed now that we assume gnulib inttypes.h.
69216
69217 2006-10-08  Bruno Haible  <bruno@clisp.org>
69218
69219         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
69220         option.
69221
69222 2006-10-07  Jim Meyering  <jim@meyering.net>
69223
69224         * modules/inttypes (inttypes.h): Revert what seems to have been
69225         an inadvertent part of today's change: use "|", not "/" in the
69226         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
69227
69228 2006-10-07  Bruno Haible  <bruno@clisp.org>
69229
69230         * modules/sublist: New file.
69231
69232 2006-10-07  Bruno Haible  <bruno@clisp.org>
69233
69234         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
69235         * modules/argz (argz.h): Likewise.
69236         * modules/arpa_inet (arpa/inet.h): Likewise.
69237         * modules/byteswap (byteswap.h): Likewise.
69238         * modules/configmake (configmake.h): Likewise.
69239         * modules/fcntl (fcntl.h): Likewise.
69240         * modules/fnmatch (fnmatch.h): Likewise.
69241         * modules/getopt (getopt.h): Likewise.
69242         * modules/glob (glob.h): Likewise.
69243         * modules/inttypes (inttypes.h): Likewise.
69244         * modules/netinet_in (netinet/in.h): Likewise.
69245         * modules/poll (poll.h): Likewise.
69246         * modules/stdbool (stdbool.h): Likewise.
69247         * modules/stdint (stdint.h): Likewise.
69248         * modules/sys_select (sys/select.h): Likewise.
69249         * modules/sys_socket (sys/socket.h): Likewise.
69250         * modules/sys_stat (sys/stat.h): Likewise.
69251         * modules/sysexits (sysexits.h): Likewise.
69252         * modules/unistd (unistd.h): Likewise.
69253         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69254         Add a "DO NOT EDIT" comment to the generated file.
69255         (func_import): Likewise for gnulib-comp.m4.
69256
69257 2006-10-07  Bruno Haible  <bruno@clisp.org>
69258
69259         * lib/gl_sublist.h: New file.
69260         * lib/gl_sublist.c: New file.
69261
69262 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
69263
69264         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
69265         name (relative to the original working directory) and the file
69266         name component (relative to the temporary working directory).  All
69267         callers changed.
69268         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
69269         * lib/mkdir-p.c (make_dir_parents): Likewise.
69270         * lib/mkdir-p.h (make_dir_parents): Likewise.
69271
69272 2006-10-06  Eric Blake  <ebb9@byu.net>
69273
69274         Define several macros for use by the clean-temp module.
69275         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
69276         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
69277         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
69278
69279         * lib/clean-temp.h (close_stream_temp): New declaration.
69280         * lib/clean-temp.c (includes): Pull in headers according to what
69281         other modules are in use.
69282         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
69283
69284 2006-10-06  Bruno Haible  <bruno@clisp.org>
69285
69286         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
69287         instead of fopen, fwriteerror.
69288
69289 2006-10-06  Bruno Haible  <bruno@clisp.org>
69290
69291         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
69292         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
69293         int.
69294         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
69295         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
69296         Return an error indicator.
69297         Suggested by Eric Blake.
69298
69299 2006-10-06  Bruno Haible  <bruno@clisp.org>
69300
69301         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
69302         Reported by Eric Blake.
69303
69304 2006-10-06  Bruno Haible  <bruno@clisp.org>
69305
69306         * modules/closeout (Description): Mention stderr too.
69307
69308 2006-10-06  Bruno Haible  <bruno@clisp.org>
69309         and Paul Eggert  <eggert@cs.ucla.edu>
69310
69311         * lib/closeout.c (close_stdout): Also close stderr.
69312         * lib/closeout.h: Update comment.
69313
69314 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
69315
69316         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
69317         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
69318         * lib/dirchownmod.c: Include lchown.h.
69319         * lib/lchown.c: Don't include files that lchown.h now includes.
69320         Don't declare chown, since lchown.h now does that.
69321         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
69322         (lchown): Define to rpl_chown if lchown is declared but
69323         does not exist.  Declare using a prototype if lchown is not
69324         declared.  Add a copyright notice.
69325         * lib/mkstemp.h: Include <unistd.h>.
69326         * lib/openat.c: Include lchown.h.
69327
69328         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
69329         we now test for that separately.
69330         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
69331         rather than O_NOFOLLOW, when testing whether it's possible to
69332         avoid a race condition reliably.
69333         * lib/savewd.c (savewd_chdir): Likewise.
69334
69335         Remove macros that are no longer needed now that stdint.h is
69336         reliable.
69337         * lib/fsusage.c (UINTMAX_MAX): Remove.
69338         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
69339         * lib/utimecmp.c (SIZE_MAX): Remove.
69340
69341         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
69342
69343         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
69344         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
69345         O_NOATIME works.
69346
69347 2006-10-05  Bruno Haible  <bruno@clisp.org>
69348
69349         * lib/gl_list.h (gl_sortedlist_search_from_to,
69350         gl_sortedlist_indexof_from_to): New declarations.
69351         (gl_list_implementation): New fields sortedlist_search_from_to,
69352         sortedlist_indexof_from_to.
69353         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
69354         inline functions.
69355         * lib/gl_list.c (gl_sortedlist_search_from_to,
69356         gl_sortedlist_indexof_from_to): New functions.
69357         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
69358         function.
69359         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
69360         (gl_array_sortedlist_search_from_to): New function.
69361         (gl_array_list_implementation): Update.
69362         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
69363         function.
69364         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
69365         (gl_carray_sortedlist_search_from_to): New function.
69366         (gl_carray_list_implementation): Update.
69367         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
69368         gl_linked_sortedlist_indexof_from_to): New functions.
69369         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
69370         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
69371         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
69372         gl_tree_sortedlist_indexof_from_to): New functions.
69373         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
69374         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
69375         Update.
69376         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
69377         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
69378         Update.
69379
69380 2006-10-05  Bruno Haible  <bruno@clisp.org>
69381
69382         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
69383         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
69384         (struct gl_list_implementation): Add fields search_from_to,
69385         indexof_from_to. Remove fields search, indexof.
69386         (gl_list_search): Use the search_from_to method.
69387         (gl_list_search_from, gl_list_search_from_to): New functions.
69388         (gl_list_indexof): Use the indexof_from_to method.
69389         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
69390         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
69391         (gl_list_search_from, gl_list_search_from_to): New functions.
69392         (gl_list_indexof): Use the indexof_from_to method.
69393         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
69394         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
69395         gl_array_indexof. Add start_index, end_index arguments.
69396         (gl_array_search_from_to): Renamed from gl_array_search. Add
69397         start_index, end_index arguments.
69398         (gl_array_remove, gl_array_list_implementation): Update.
69399         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
69400         gl_carray_indexof. Add start_index, end_index arguments.
69401         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
69402         start_index, end_index arguments.
69403         (gl_carray_remove, gl_carray_list_implementation): Update.
69404         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
69405         gl_linked_search. Add start_index, end_index arguments.
69406         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
69407         start_index, end_index arguments.
69408         (gl_linked_remove): Update.
69409         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
69410         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
69411         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
69412         field to 'size_t'.
69413         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
69414         gl_tree_search. Add start_index, end_index arguments.
69415         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
69416         start_index, end_index arguments.
69417         (gl_tree_remove): Update.
69418         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
69419         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
69420         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
69421         function.
69422         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
69423         gl_tree_search. Add start_index, end_index arguments.
69424         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
69425         start_index, end_index arguments.
69426         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
69427         Update.
69428         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
69429
69430 2006-10-05  Bruno Haible  <bruno@clisp.org>
69431
69432         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
69433
69434         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
69435         fwriteerror_temp): New declarations.
69436         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
69437         (descriptors): New variable.
69438         (cleanup): First, close the descriptors.
69439         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
69440         fclose_temp, fwriteerror_temp): New functions.
69441
69442 2006-10-04  Jim Meyering  <jim@meyering.net>
69443
69444         * lib/fts.c (fts_open): Tiny comment change.
69445
69446 2006-10-04  Bruno Haible  <bruno@clisp.org>
69447
69448         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
69449         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
69450         gl_LOCK_BODY.
69451         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
69452         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
69453         gl_LOCK_EARLY_BODY.
69454         (gl_LOCK): Require gl_LOCK_BODY.
69455
69456 2006-10-04  Bruno Haible  <bruno@clisp.org>
69457
69458         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
69459         (gl_oset_search_atleast): New declaration.
69460         (struct gl_oset_implementation): Add field 'search_atleast'.
69461         (gl_oset_search_atleast): New inline function.
69462         * lib/gl_oset.c (gl_oset_search_atleast): New function.
69463         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
69464         (gl_array_oset_implementation): Update.
69465         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
69466         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
69467         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
69468
69469 2006-10-04  Bruno Haible  <bruno@clisp.org>
69470
69471         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
69472
69473 2006-10-03  Bruno Haible  <bruno@clisp.org>
69474
69475         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
69476         from gl_avltreehash_list_implementation.
69477
69478 2006-10-03  Bruno Haible  <bruno@clisp.org>
69479
69480         * lib/gl_oset.c (gl_oset_add): Fix return type.
69481
69482 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
69483
69484         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
69485
69486 2006-10-02  Eric Blake  <ebb9@byu.net>
69487
69488         * modules/strnlen (Depends-on): Add extensions.
69489
69490 2006-10-02  Eric Blake  <ebb9@byu.net>
69491
69492         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
69493         definition in 2.60+.
69494
69495 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
69496
69497         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
69498         checks.
69499
69500 2006-10-02  Bruno Haible  <bruno@clisp.org>
69501
69502         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
69503         to the AUTOMAKE_OPTIONS.
69504         Reported by Jim Meyering.
69505
69506 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
69507
69508         Work around bug in Solaris 10 /proc file system:
69509         /proc/self/fd/NNN/.. isn't the parent directory of
69510         the directory whose file descriptor is NNN.  This needs to
69511         be worked around at run time, not compile time, since a
69512         program might be built on Solaris 8, where things work, and
69513         run on Solaris 10.
69514         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
69515         to use the following interface instead:
69516         (OPENAT_BUFFER_SIZE): New macro.
69517         (openat_proc_name): New function.
69518         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
69519         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
69520         Likewise.
69521         * lib/openat-proc.c: New file.
69522         * modules/openat (Files): Add lib/openat-proc.c.
69523         (Depends-on): Add same-inode, stdbool.
69524         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
69525
69526 2006-09-29  Bruno Haible  <bruno@clisp.org>
69527
69528         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
69529         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
69530         argument. Set stdout_closed before testing for ferror, not after.
69531         (fwriteerror, fwriteerror_no_ebadf): New functions.
69532
69533 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69534
69535         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
69536
69537 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
69538
69539         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
69540         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
69541
69542 2006-09-28  Jim Meyering  <jim@meyering.net>
69543
69544         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
69545         Include <unistd.h>.
69546
69547 2006-09-28  Bruno Haible  <bruno@clisp.org>
69548
69549         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
69550         * modules/linkedhash-list (Depends-on): Likewise.
69551         * modules/rbtreehash-list (Depends-on): Likewise.
69552
69553 2006-09-28  Bruno Haible  <bruno@clisp.org>
69554
69555         * lib/strndup.h: Simplify the redefinition of strndup.
69556         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
69557         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
69558
69559 2006-09-28  Bruno Haible  <bruno@clisp.org>
69560
69561         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
69562         * lib/gl_linkedhash_list.c: Likewise.
69563         * lib/gl_rbtreehash_list.c: Likewise.
69564
69565 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
69566
69567         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
69568         getaddrinfo.
69569
69570         * lib/__fpending.h: Don't include <stdio_ext.h> unless
69571         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
69572         it causes <stdio_ext.h> to cause a compile-time error.
69573         Problem reported by Nelson H. F. Beebe.
69574         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
69575         of HAVE_DECL___PENDING.
69576
69577         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
69578         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
69579         declaration.
69580
69581 2006-09-27  Jim Meyering  <jim@meyering.net>
69582
69583         This file could end up with a definition for a function
69584         named __strndup, rather than rpl_strndup on a system with
69585         incomplete weak_alias support.
69586         * lib/strndup.c (strndup): Rename from __strndup.
69587         Remove #defines that used to map __strndup to strndup.
69588         Don't use K&R prototypes.
69589         Remove LIBC-related code, since this file is not sync'd with glibc.
69590         * lib/strndup.h: Revamp, accordingly.
69591         * m4/strndup.m4: Modernize.
69592
69593 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
69594
69595         * modules/savewd (Depends-on): Add 'raise'.
69596         * lib/savewd.c: Include <signal.h>, for 'raise'.
69597
69598 2006-09-26  Jim Meyering  <jim@meyering.net>
69599
69600         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
69601         when we detect Darwin 8.7.0's acl_get_file bug.
69602         Rearrange to perform the new (below) run-test while $LIBS
69603         contains any acl-related library.  Set USE_ACL at the end.
69604         (gl_ACL_GET_FILE): New function.
69605
69606 2006-09-26  Eric Blake  <ebb9@byu.net>
69607
69608         * lib/verror.c: Include <config.h> unconditionally.
69609
69610 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
69611
69612         * modules/clock-time (Maintainer): Add self.
69613         * modules/getlogin_r (Depends-on): Add extensions.
69614
69615 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69616
69617         * modules/clock-time: New module.
69618         * modules/nanosleep (Depends-on): Add clock-time.
69619         * modules/gethrxtime (Depends-on): Likewise.
69620         * modules/gettime (Depends-on): Likewise.
69621         * modules/settime (Depends-on): Likewise.
69622
69623         * modules/fts-lgpl: Depend on openat.
69624         * modules/mkancesdirs: Depend on savewd.
69625         * modules/mkdir-p: Likewise.
69626
69627 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69628
69629         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
69630
69631         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
69632         `gl_have_arbitrary_file_name_length_limit' to
69633         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
69634         actually works between configure runs.
69635
69636 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69637             Bruno Haible  <bruno@clisp.org>
69638
69639         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
69640
69641 2006-09-25  Jim Meyering  <jim@meyering.net>
69642
69643         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
69644         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
69645
69646 2006-09-25  Eric Blake  <ebb9@byu.net>
69647
69648         * gnulib-tool (func_import, func_create_testdir): Fix typos in
69649         exec's in 2006-09-18 patch when shuffling fds.
69650
69651 2006-09-25  Bruno Haible  <bruno@clisp.org>
69652
69653         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
69654         Reported by Jim Meyering.
69655
69656 2006-09-24  Jim Meyering  <jim@meyering.net>
69657
69658         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
69659         compare a pointer against a literal "0".  That caused failures with
69660         at least HP-UX's hpcc.
69661
69662 2006-09-22  Simon Josefsson  <jas@extundo.com>
69663
69664         * modules/gc-sha1:
69665         * modules/gc-md4:
69666         * modules/gc-hmac-sha1:
69667         * modules/gc-hmac-md5:
69668         * modules/gc-des:
69669         * modules/gc-arcfour: Distribute more files.
69670
69671 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69672
69673         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
69674         (gl_linked_iterator_from_to): Initialize struct completely.
69675         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
69676         (gl_tree_iterator_from_to): Likewise
69677         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
69678         * lib/gl_array_list.c [lint] (gl_array_iterator)
69679         (gl_array_iterator_from_to): Likewise.
69680         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
69681         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
69682         (gl_carray_iterator_from_to): Likewise.
69683
69684         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
69685         * lib/md4.c (md4_process_block): Remove unused variable.
69686         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
69687         parentheses for clarity.
69688
69689 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69690
69691         * modules/bison-i18n (Depends-on): Add gettext.
69692
69693 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69694
69695         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
69696         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
69697         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
69698         also add missing comma that caused broken test.
69699         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
69700         stdlib.h, for `abort'.
69701         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
69702         variables.
69703         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
69704         include unistd.h if present, for `rmdir'.
69705         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
69706         variables.
69707         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
69708         in the process include standard headers for prototypes.
69709         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
69710         gets declared on GNU/Linux.
69711         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
69712         unistd.h, for `rmdir'.
69713         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
69714
69715         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
69716         always true.
69717         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
69718
69719         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
69720
69721 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69722
69723         * gnulib-tool (func_version): Create output all at once.  This
69724         may help avoid triggering unnecessary SIGPIPEs, and at any
69725         rate it doesn't hurt.
69726
69727 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69728             Bruno Haible  <bruno@clisp.org>
69729
69730         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
69731         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
69732         * m4/signed.m4 (bh_C_SIGNED): Likewise.
69733
69734         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
69735         (gl_FUNC_VASPRINTF): Invoke it.
69736
69737 2006-09-22  Bruno Haible  <bruno@clisp.org>
69738
69739         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
69740         getloadavg.c as first argument.
69741
69742 2006-09-22  Bruno Haible  <bruno@clisp.org>
69743
69744         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
69745         at the beginning of the gl_INIT macro.
69746         * modules/getloadavg (configure.ac): Pass $gl_source_base to
69747         gl_GETLOADAVG.
69748
69749 2006-09-22  Bruno Haible  <bruno@clisp.org>
69750
69751         * gnulib-tool (func_create_megatestdir): Don't include the config-h
69752         module.
69753         Suggested by Ralf Wildenhues.
69754
69755 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
69756
69757         Import this patch from libc:
69758
69759         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
69760
69761         * lib/regex_internal.c (re_string_reconstruct): Handle
69762         offset < pstr->valid_raw_len && pstr->offsets_needed case.
69763         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
69764         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
69765         re_string_context_at.
69766
69767         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
69768         now requires it.
69769         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
69770         gl_REGEX now does it for us.
69771         (gl_REGEX): Add test taken from
69772         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
69773
69774         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
69775         Check that large offsets work.  Modernize Autoconf usages.
69776         Prefer "yes" to mean a good thing rather than a bad.
69777         Don't put "#define mkstemp" in config.h, as this might interfere
69778         with standard system headers that "#define mkstemp mkstemp64".
69779
69780         * modules/mkstemp (Depends-on): Add extensions, so that
69781         mkstemp is visible on some platforms.
69782         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
69783         (Include): Change to "mkstemp.h" from <stdlib.h>.
69784         (Files): Add mkstemp.h.
69785
69786         * lib/mkstemp.h: New file, since some standard headers
69787         #define mkstemp.
69788         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
69789         Include "mkstemp.h".
69790         Make the _LIBC code resemble glibc original more,
69791         e.g., use K&R style.
69792         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
69793         (mkstemp): Remove, since mkstemp.h does this for us.
69794         * lib/stdlib--.h: Include mkstemp.h.
69795
69796         Import this patch from libc:
69797
69798         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
69799
69800         * lib/tempname.c (__gen_tempname): Change attempts_min
69801         into a macro.  Use preprocessor to decide how to initialize
69802         attempts [Coverity CID 67].
69803
69804 2006-09-20  Bruno Haible  <bruno@clisp.org>
69805
69806         * lib/mkdtemp.c: Import from libc.
69807         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
69808                 * sysdeps/posix/tempname.c (__gen_tempname): Change
69809                 attempts_min into a macro.  Use preprocessor to decide how to
69810                 initialize attempts [Coverity CID 67].
69811         2001-11-27  Paul Eggert  <eggert@twinsun.com>
69812                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
69813                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
69814
69815 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69816
69817         * gnulib-tool (func_exit): New function, to allow to pass the
69818         exit status portably through the trap.  Use everywhere.
69819         (--help, --version): Signal a write error.
69820         (trap): catch SIGPIPE, for write errors.
69821         Exit at the end of the trap, with the correct exit status.
69822
69823 2006-09-19  Karl Berry  <karl@gnu.org>
69824
69825         * doc/gnulib.texi: note about the license texinfo files.
69826
69827 2006-09-19  Eric Blake  <ebb9@byu.net>
69828
69829         * gnulib-tool: Avoid space-tab.
69830
69831 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
69832
69833         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
69834         that prevented coreutils 6.1 from building.  Problem reported
69835         by Petter Reinholdtsen.
69836
69837 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
69838
69839         * gnulib-tool (avoidlist): Fix typo that broke options like
69840         --avoid=lock that are used by coreutils bootstrap.
69841
69842 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
69843
69844         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
69845         more systematically.
69846
69847 2006-09-18  Jim Meyering  <jim@meyering.net>
69848
69849         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
69850
69851 2006-09-18  Bruno Haible  <bruno@clisp.org>
69852
69853         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
69854
69855 2006-09-18  Bruno Haible  <bruno@clisp.org>
69856
69857         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
69858         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
69859         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
69860         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
69861         * m4/gettext.m4: Require autoconf >= 2.52.
69862         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
69863         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
69864         of gl_cv_header_inttypes_h.
69865
69866 2006-09-18  Bruno Haible  <bruno@clisp.org>
69867
69868         * lib/javaversion.c: Include configmake.h.
69869
69870 2006-09-18  Bruno Haible  <bruno@clisp.org>
69871
69872         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
69873         avoid that the while loops be executed in a subshell.
69874
69875 2006-09-18  Bruno Haible  <bruno@clisp.org>
69876
69877         * MODULES.html.sh (func_module): Break long lines.
69878         Suggested by Bruce Korb <bkorb@gnu.org>.
69879
69880 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69881
69882         Speed up by a factor of 1.12.
69883         * gnulib-tool (nl): New variable.
69884         (func_import): Rewrite include directive extraction to only read each
69885         directive once.
69886
69887 2006-09-17  Bruno Haible  <bruno@clisp.org>
69888
69889         * modules/javaversion (Makefile.am): Remove DEFS setting.
69890         (Depends-on): Add configmake, for PKGDATADIR definition.
69891
69892 2006-09-17  Bruno Haible  <bruno@clisp.org>
69893
69894         * gnulib-tool (func_create_testdir): Rewrite all files at once.
69895
69896 2006-09-17  Bruno Haible  <bruno@clisp.org>
69897
69898         * gnulib-tool (func_append): New function, stolen from libtool.m4.
69899         (func_modules_transitive_closure, func_modules_add_dummy,
69900         func_modules_to_filelist, func_import, func_create_testdir,
69901         func_create_megatestdir, ...): Use it wherever possible.
69902         Suggested by Ralf Wildenhues.
69903
69904 2006-09-16  Karl Berry  <karl@gnu.org>
69905
69906         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
69907         to avoid sectioning errors.
69908         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
69909         [ifinfo]: blank line after @center-ed titles.
69910         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
69911         Spell FSF address consistently with others.
69912         (These changes approved by rms.)
69913
69914 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69915
69916         Speed up by a factor of 1.61.
69917         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
69918         already checked module names again.
69919
69920 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69921
69922         Speed up by a factor of 1.13.
69923         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
69924         for new_files, and the input to func_add_or_update.
69925
69926 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69927
69928         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
69929         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
69930
69931 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
69932
69933         * modules/mkancesdirs (Depends-on): Add fcntl.
69934         * modules/savewd: New file.
69935         * MODULES.html.sh (File system functions): Add savewd.
69936
69937         * modules/configmake (Makefile.am): Add support for the
69938         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
69939
69940 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
69941
69942         * m4/savewd.m4: New file.
69943
69944 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
69945
69946         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
69947         (dirchownmod): New arg FD.  All callers changed.
69948         Use FD rather than opening the directory ourself, as opening is
69949         now the caller's responsibility.
69950         * lib/dirchownmod.h: Likewise.
69951         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
69952         hosts that require <sys/types.h> before <sys/stat.h>.  Include
69953         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
69954         (test_dir): Remove.
69955         (mkancesdirs): Return length of prefix of FILE that has already
69956         been made, or -2 if there is a child doing the work.  Redo
69957         algorithm so that it is O(N) rather than O(N**2).  Optimize away
69958         ".", and treat ".." specially since it might stray back into
69959         already-created areas.  Use a subprocess if necessary.  New arg
69960         WD; all users changed.  MAKE_DIR function should now return 1
69961         if it creates a directory that is not readable.  Return -2 if
69962         a child process is spun off.
69963         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
69964         Adjust signature to match code.
69965         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
69966         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
69967         all users changed.
69968         * lib/savewd.c, lib/savewd.h: New files.
69969
69970 2006-09-15  Jim Meyering  <jim@meyering.net>
69971
69972         * modules/rename-dest-slash: New module.
69973         * MODULES.html.sh (posix_compat): Add it here.
69974
69975         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
69976
69977 2006-09-15  Jim Meyering  <jim@meyering.net>
69978
69979         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
69980         file.
69981
69982         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
69983
69984 2006-09-15  Jim Meyering  <jim@meyering.net>
69985
69986         * lib/rename-dest-slash.c (has_trailing_slash): Use
69987         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
69988         (rpl_rename_dest_slash): Perform the cheaper trailing slash
69989         test before testing whether SRC is a directory.
69990         Suggestions from Bruno Haible.
69991
69992         Avoid a warning about an unused variable.
69993         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
69994         into the #ifdef block where it's used.
69995
69996         * lib/rename-dest-slash.c: New file.
69997
69998 2006-09-14  Bruno Haible  <bruno@clisp.org>
69999
70000         * lib/allocsa.c: Include <config.h> unconditionally.
70001         * lib/asnprintf.c: Likewise.
70002         * lib/asprintf.c: Likewise.
70003         * lib/c-strcasecmp.c: Likewise.
70004         * lib/c-strcasestr.c: Likewise.
70005         * lib/c-strncasecmp.c: Likewise.
70006         * lib/c-strstr.c: Likewise.
70007         * lib/classpath.c: Likewise.
70008         * lib/clean-temp.c: Likewise.
70009         * lib/concatpath.c: Likewise.
70010         * lib/copy-file.c: Likewise.
70011         * lib/csharpcomp.c: Likewise.
70012         * lib/csharpexec.c: Likewise.
70013         * lib/execute.c: Likewise.
70014         * lib/fatal-signal.c: Likewise.
70015         * lib/findprog.c: Likewise.
70016         * lib/fwriteerror.c: Likewise.
70017         * lib/gl_array_list.c: Likewise.
70018         * lib/gl_array_oset.c: Likewise.
70019         * lib/gl_avltree_list.c: Likewise.
70020         * lib/gl_avltree_oset.c: Likewise.
70021         * lib/gl_avltreehash_list.c: Likewise.
70022         * lib/gl_carray_list.c: Likewise.
70023         * lib/gl_linked_list.c: Likewise.
70024         * lib/gl_linkedhash_list.c: Likewise.
70025         * lib/gl_list.c: Likewise.
70026         * lib/gl_oset.c: Likewise.
70027         * lib/gl_rbtree_list.c: Likewise.
70028         * lib/gl_rbtree_oset.c: Likewise.
70029         * lib/gl_rbtreehash_list.c: Likewise.
70030         * lib/imaxabs.c: Likewise.
70031         * lib/imaxdiv.c: Likewise.
70032         * lib/javacomp.c: Likewise.
70033         * lib/javaexec.c: Likewise.
70034         * lib/javaversion.c: Likewise.
70035         * lib/linebreak.c: Likewise.
70036         * lib/localcharset.c: Likewise.
70037         * lib/lock.c: Likewise.
70038         * lib/mbchar.c: Likewise.
70039         * lib/mbswidth.c: Likewise.
70040         * lib/mkdtemp.c: Likewise.
70041         * lib/pipe.c: Likewise.
70042         * lib/printf-args.c: Likewise.
70043         * lib/printf-parse.c: Likewise.
70044         * lib/progname.c: Likewise.
70045         * lib/progreloc.c: Likewise.
70046         * lib/readlink.c: Likewise.
70047         * lib/sh-quote.c: Likewise.
70048         * lib/stpcpy.c: Likewise.
70049         * lib/stpncpy.c: Likewise.
70050         * lib/strcasecmp.c: Likewise.
70051         * lib/strcasestr.c: Likewise.
70052         * lib/strcspn.c: Likewise.
70053         * lib/striconv.c: Likewise.
70054         * lib/strncasecmp.c: Likewise.
70055         * lib/strnlen1.c: Likewise.
70056         * lib/strstr.c: Likewise.
70057         * lib/strtok_r.c: Likewise.
70058         * lib/tls.c: Likewise.
70059         * lib/tmpdir.c: Likewise.
70060         * lib/unicodeio.c: Likewise.
70061         * lib/unsetenv.c: Likewise.
70062         * lib/vasnprintf.c: Likewise.
70063         * lib/vasprintf.c: Likewise.
70064         * lib/wait-process.c: Likewise.
70065         * lib/xallocsa.c: Likewise.
70066         * lib/xsetenv.c: Likewise.
70067         * lib/xstriconv.c: Likewise.
70068
70069 2006-09-13  Simon Josefsson  <jas@extundo.com>
70070
70071         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
70072         that internally, suggested by Ralf Wildenhues
70073         <Ralf.Wildenhues@gmx.de>.
70074
70075 2006-09-13  Simon Josefsson  <jas@extundo.com>
70076
70077         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
70078         @LIBOBJS@.
70079         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70080
70081 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70082
70083         * lib/_fpending.c: Include <config.h> unconditionally, since we no
70084         longer worry about uses that don't define HAVE_CONFIG_H.
70085         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
70086         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
70087         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
70088         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
70089         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
70090         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
70091         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
70092         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
70093         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
70094         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
70095         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
70096         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
70097         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
70098         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
70099         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
70100         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
70101         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
70102         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
70103         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
70104         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
70105         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
70106         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
70107         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
70108         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
70109         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
70110         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
70111         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
70112         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
70113         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
70114         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
70115         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
70116         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
70117         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
70118         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
70119         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
70120         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
70121         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
70122         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
70123         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
70124         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
70125         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
70126         Likewise.
70127
70128 2006-09-13  Eric Blake  <ebb9@byu.net>
70129
70130         * lib/getopt.c: Fix typo in last commit.
70131
70132 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
70133
70134         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
70135         dgettext.
70136
70137 2006-09-12  Jim Meyering  <jim@meyering.net>
70138
70139         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
70140         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
70141         Reported by Nelson H. F. Beebe.
70142
70143 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
70144
70145         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
70146         program_invocation_name and program_invocation_short_name are
70147         initialized.
70148         * lib/argp-namefrob.h: Move declarations of program_invocation_name
70149         and program_invocation_short_name to argp.h, so they are visible
70150         to user programs.
70151         * lib/argp.h: Likewise
70152
70153 2006-09-10  Bruno Haible  <bruno@clisp.org>
70154
70155         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
70156         m4/inttypes_h.m4, m4/uintmax_t.m4.
70157
70158 2006-09-10  Bruno Haible  <bruno@clisp.org>
70159
70160         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
70161         gl_AC_TYPE_UINTMAX_T.
70162
70163 2006-09-10  Bruno Haible  <bruno@clisp.org>
70164
70165         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
70166
70167 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70168
70169         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
70170         convention.  Text proposed by Bruno Haible.
70171         (struct argp_option): Document the use of N_() wrappers.
70172
70173         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
70174         '\v', and translate the two parts separately, instead of feeding
70175         the whole string to gettext.  This allows to exclude
70176         '\v' from the strings visible to the translator by writing doc
70177         strings as N_("..") "\v" N_("..").
70178
70179 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
70180
70181         * config/srclist.txt: Undo latest change; the bug was fixed.
70182
70183 2006-09-09  Bruno Haible  <bruno@clisp.org>
70184
70185         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
70186         assignments if building a library without libtool.
70187         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
70188         in func_emit_lib_Makefile_am.
70189         (func_import): When building a static library libfoo.a, arrange to
70190         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
70191         (func_create_testdir): Likewise.
70192         * modules/gc (configure.ac, Makefile.am): If building statically,
70193         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
70194         * modules/iconvme (configure.ac, Makefile.am): Likewise.
70195         * modules/striconv (configure.ac, Makefile.am): Likewise.
70196         Based on a suggestion by Ralf Wildenhues.
70197
70198 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70199
70200         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
70201         Check for unistd.h too, since Autoconf doesn't assume POSIX.
70202         Also:
70203
70204         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70205         Add year_2050_test to catch glibc bug 2821
70206         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
70207
70208         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70209         Prefer #ifdef to #if.
70210
70211         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
70212         Return from 'main' instead of calling 'exit'.
70213
70214 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70215
70216         * lib/mktime.c (guess_time_tm): Fix bug where mktime
70217         returned the maximum time_t value rather than (time_t) -1.
70218         Problem originally reported by William Bardwell
70219         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
70220
70221         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
70222         Moved to here ...
70223         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
70224         ... from here.
70225
70226 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70227
70228         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
70229         2821 is fixed.
70230
70231 2006-09-08  Jim Meyering  <jim@meyering.net>
70232
70233         Don't make generated files read-only.  That would bother too many
70234         people.  However, do retain the ability to work when targets are
70235         read-only: remove the destination and temporary files before writing
70236         them (when generated via sed or echo), or by using the -f option for
70237         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
70238         * modules/alloca-opt, modules/argz, modules/arpa_inet:
70239         * modules/byteswap, modules/configmake, modules/fcntl:
70240         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
70241         * modules/localcharset, modules/netinet_in, modules/poll:
70242         * modules/stdbool, modules/stdint, modules/sys_select:
70243         * modules/sys_socket, modules/sys_stat, modules/sysexits:
70244
70245 2006-09-08  Jim Meyering  <jim@meyering.net>
70246
70247         Avoid new build failure on FreeBSD 6.0.
70248         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
70249         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
70250         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
70251
70252 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70253
70254         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
70255
70256 2006-09-07  Jim Meyering  <jim@meyering.net>
70257
70258         Fix global typo in last change: use chmod u-w, not chmod u-x.
70259         Spotted by Paul Eggert and Bruce Korb.
70260         * modules/alloca-opt, modules/argz, modules/arpa_inet:
70261         * modules/byteswap, modules/configmake, modules/fcntl:
70262         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
70263         * modules/localcharset, modules/netinet_in, modules/poll:
70264         * modules/stdbool, modules/stdint, modules/sys_select:
70265         * modules/sys_socket, modules/sys_stat, modules/sysexits:
70266
70267 2006-09-06  Jim Meyering  <jim@meyering.net>
70268
70269         Make generated files be read-only.
70270         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
70271         Ensure that each generated file is now read-only.
70272         * modules/argz: Likewise.
70273         * modules/arpa_inet: Likewise.
70274         * modules/byteswap: Likewise.
70275         * modules/configmake: Likewise.
70276         * modules/fcntl: Likewise.
70277         * modules/fnmatch: Likewise.
70278         * modules/getopt: Likewise.
70279         * modules/glob: Likewise.
70280         * modules/inttypes: Likewise.
70281         * modules/netinet_in: Likewise.
70282         * modules/poll: Likewise.
70283         * modules/stdbool: Likewise.
70284         * modules/stdint: Likewise.
70285         * modules/sys_select: Likewise.
70286         * modules/sys_socket: Likewise.
70287         * modules/sys_stat: Likewise.
70288         * modules/sysexits: Likewise.
70289         * modules/localcharset: Same as above, but continue using temporary
70290         file named "t-$@" (why different?) rather than the "$@-t" used
70291         everywhere else.
70292
70293         * modules/sysexits (Makefile.am): Replace literal occurrences
70294         of "sysexit.h" more readable, and more consistent, "$@".
70295
70296 2006-09-06  Bruno Haible  <bruno@clisp.org>
70297
70298         * modules/striconv: New file.
70299         * modules/xstriconv: New file.
70300         * MODULES.html.sh (Internationalization functions): Add striconv,
70301         xstriconv.
70302
70303 2006-09-06  Bruno Haible  <bruno@clisp.org>
70304
70305         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
70306         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
70307         not using libtool correctly.
70308
70309 2006-09-06  Bruno Haible  <bruno@clisp.org>
70310
70311         * lib/striconv.h: New file.
70312         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
70313         iconvstring.c.
70314         * lib/xstriconv.h: New file.
70315         * lib/xstriconv.c: New file.
70316
70317 2006-09-06  Bruno Haible  <bruno@clisp.org>
70318
70319         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70320         lib_..._LDFLAGS.
70321
70322 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70323
70324         * lib/argz_.h: Sync from Libtool.
70325
70326         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
70327                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
70328
70329         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
70330
70331 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
70332
70333         * modules/trim: New file.
70334
70335 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
70336
70337         * lib/trim.h: New file.
70338         * lib/trim.c: New file.
70339
70340 2006-09-05  Bruno Haible  <bruno@clisp.org>
70341
70342         * MODULES.html.sh (String handling): Add trim.
70343
70344 2006-09-04  Karl Berry  <karl@gnu.org>
70345
70346         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
70347         until next release.
70348
70349 2006-09-03  Bruno Haible  <bruno@clisp.org>
70350
70351         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
70352         correctly.
70353
70354 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70355
70356         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
70357         not gl_GETLOADAVG.  Omit unneeded semicolons.
70358         Problems reported by Ralf Wildenhues in
70359         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
70360         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
70361         at the end, which is the usual gnulib style.
70362
70363         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
70364         of doing all the work ourselves.
70365         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
70366         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
70367
70368 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70369
70370         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
70371         Problem reported by Ralf Wildenhues in
70372         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
70373
70374         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
70375         HAVE_STRUCT_STATFS_F_FSTYPENAME.
70376
70377 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70378
70379         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
70380         yesterday's patch by changing test -n to test -z.
70381
70382 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70383
70384         * modules/getloadavg (Files): Add m4/getloadavg.m4.
70385         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
70386         the former is now obsolescent.
70387
70388         * modules/chdir-long (Depends-on): Add fcntl.
70389
70390 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70391
70392         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
70393         obsolescent, and programs should use gnulib instead.
70394         * m4/getloadavg.m4: New file, with contents taken from Autoconf
70395         but with prefixes changed.
70396
70397 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70398
70399         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
70400         or stdbool.h, because they might not exist while configuring.
70401
70402         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
70403         Don't include unistd.h or limits.h; not needed, since chdir-long.h
70404         does that for us.
70405         (O_DIRECTORY): Remove.
70406
70407 2006-08-31  Eric Blake  <ebb9@byu.net>
70408
70409         * gnulib-tool: Don't let emacs change spaces to TAB.
70410
70411 2006-08-31  Bruno Haible  <bruno@clisp.org>
70412
70413         * gnulib-tool: When calling func_import more than once, do it in a
70414         subshell.
70415         Reported by Eric Blake <ebb9@byu.net>.
70416
70417 2006-08-31  Bruno Haible  <bruno@clisp.org>
70418
70419         * gnulib-tool (nl): Remove variable.
70420         (sed_transform_lib_file): Use more robust test for config-h module.
70421         (func_import): Fix typo in 2006-08-25 patch.
70422
70423 2006-08-31  Bruno Haible  <bruno@clisp.org>
70424
70425         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
70426         specified, augment Makefile.am variables instead of assigning them.
70427
70428 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70429
70430         Work around a bug in both the Linux and SunOS 64-bit kernels:
70431         nanosleep mishandles sleeps for longer than 2**31 seconds.
70432         Problem reported by Frank v Waveren in
70433         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
70434         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
70435         Check for nanosleep bug.
70436         (LIB_NANOSLEEP): Append clock_gettime library if needed.
70437
70438 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70439
70440         Work around a bug in both the Linux and SunOS 64-bit kernels:
70441         nanosleep mishandles sleeps for longer than 2**31 seconds.
70442         Problem reported by Frank v Waveren in
70443         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
70444         * lib/nanosleep.c (BILLION): New constant.
70445         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
70446         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
70447         implementation.
70448
70449 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70450
70451         * modules/nanosleep (Depends-on): Add gettime.
70452
70453 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70454         and Simon Josefsson  <jas@extundo.com>
70455         and Oskar Liljeblad  <oskar@osk.mine.nu>
70456
70457         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
70458         * gnulib-tool (func_import): New license type 'unmodifiable license
70459         text'.
70460         * modules/fdl: Use it.  Longer description.
70461         * module/gpl, module/lgpl: New files.
70462
70463 2006-08-30  Jim Meyering  <jim@meyering.net>
70464
70465         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
70466         shadowing the parameter.
70467
70468 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70469
70470         Sync from Libtool:
70471
70472         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70473
70474         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
70475         sharing with gnulib.  Report by Eric Blake.
70476
70477 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70478
70479         * modules/isapipe: New file.
70480         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
70481
70482 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70483
70484         * modules/configmake (Makefile.am): Add a comment, and omit
70485         the CONFIGMAKE_ prefix from generated macro names.  Suggested
70486         by Bruno Haible.
70487
70488 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70489
70490         * m4/isapipe.m4: New file.
70491
70492 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70493
70494         * lib/isapipe.c, lib/isapipe.h: New files.
70495
70496 2006-08-29  Jim Meyering  <jim@meyering.net>
70497
70498         * modules/configmake (Makefile.am): Make configmake.h depend on
70499         Makefile.  Otherwise, a stale configmake.h could hang around.
70500
70501 2006-08-29  Eric Blake  <ebb9@byu.net>
70502
70503         * lib/error.c (error_at_line, print_errno_message): Match libc, after
70504         resolution of upstream bug 3044.
70505
70506 2006-08-29  Bruno Haible  <bruno@clisp.org>
70507
70508         * modules/localcharset (Depends-on): Add configmake.
70509         (Makefile.am): Remove setting of LIBDIR through DEFS.
70510
70511 2006-08-29  Bruno Haible  <bruno@clisp.org>
70512
70513         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
70514         defined.
70515
70516 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70517
70518         * modules/fcntl: New file.
70519         * modules/chdir-safer (Depends-on): Add fcntl.
70520         * modules/fts: Likewise.
70521         * modules/mkdir-p: Likewise.
70522
70523         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
70524         This undoes the most recent change, since we're now addressing the
70525         problem in a different way.
70526
70527         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
70528         into output, since the output might be called Makefile.am even
70529         if $makefile_name is something different.
70530         (func_import): Use $makefile_am rather than
70531         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
70532         empty.
70533
70534         * modules/inttypes (Files): Add m4/inttypes-h.m4.
70535
70536 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70537
70538         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
70539         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
70540         recent change to stdint.m4, since we're now addressing the problem in a
70541         different way.
70542
70543 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70544
70545         * m4/fcntl_h.m4: New file.
70546
70547 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70548
70549         * lib/fcntl_.h: New file.
70550         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
70551         the fcntl module.
70552         * lib/dirchownmod.c: Likewise.
70553         * lib/fts.c: Likewise.
70554
70555         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
70556         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
70557         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
70558         just before including <inttypes.h>, to avoid circular inclusion.
70559
70560 2006-08-28  Jim Meyering  <jim@meyering.net>
70561
70562         * doc/visibility.texi: Actually read and correct the grammar of the
70563         sentence affected by yesterday's change.
70564
70565 2006-08-28  Eric Blake  <ebb9@byu.net>
70566
70567         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
70568         needs wrapper.
70569
70570 2006-08-28  Eric Blake  <ebb9@byu.net>
70571
70572         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
70573
70574 2006-08-28  Eric Blake  <ebb9@byu.net>
70575
70576         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
70577
70578 2006-08-28  Bruno Haible  <bruno@clisp.org>
70579
70580         * modules/c-strstr: New file, from GNU gettext.
70581         * MODULES.html.sh (String handling): Add c-strstr.
70582
70583 2006-08-28  Bruno Haible  <bruno@clisp.org>
70584
70585         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
70586         macros.
70587         Reported by Eric Blake.
70588
70589 2006-08-28  Bruno Haible  <bruno@clisp.org>
70590
70591         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
70592         (VASNPRINTF): Return a string of length > INT_MAX without failing.
70593         * lib/vasprintf.c: Include errno.h, limits.h.
70594         (EOVERFLOW): New fallback definition.
70595         (vasprintf): Test here whether the string length is > INT_MAX.
70596         * lib/vsnprintf.c: Include errno.h, limits.h.
70597         (EOVERFLOW): New fallback definition.
70598         (vsnprintf): Fix bug when generated string was too long for the buffer.
70599         Test here whether the string length is > INT_MAX.
70600
70601 2006-08-28  Bruno Haible  <bruno@clisp.org>
70602
70603         * lib/inttypes_.h (SCNX*): Remove definitions.
70604         Reported by Eric Blake.
70605
70606 2006-08-28  Bruno Haible  <bruno@clisp.org>
70607
70608         * lib/c-strstr.h: New file, from GNU gettext.
70609         * lib/c-strstr.c: New file, from GNU gettext.
70610
70611 2006-08-28  Bruno Haible  <bruno@clisp.org>
70612
70613         * gnulib-tool: Reorder some statements.
70614
70615 2006-08-28  Bruno Haible  <bruno@clisp.org>
70616
70617         * gnulib-tool: New option --makefile-name.
70618         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
70619         $makefile_name.
70620         (func_import): Write $makefile_name to the cache file, and read it from
70621         there unless explicitly specified. Use $makefile_name as file name
70622         instead of Makefile.am. Adjust the recommendations accordingly.
70623
70624 2006-08-28  Bruno Haible  <bruno@clisp.org>
70625
70626         * gnulib-tool (func_verify_module): Check against misapplying patch.
70627
70628 2006-08-28  Bruno Haible  <bruno@clisp.org>
70629
70630         * gnulib-tool (func_relativize, func_relconcat): New functions.
70631         Give an error if --local-dir is given with --update.
70632         Remove trailing slashes from $local_gnulib_dir.
70633         (func_import): Store the relativized $local_gnulib_dir in
70634         gnulib-cache.m4, and read it from there if not specified explicitly.
70635
70636 2006-08-28  Bruno Haible  <bruno@clisp.org>
70637
70638         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
70639         is the current directory. Respect also $local_gnulib_dir.
70640
70641 2006-08-28  Bruno Haible  <bruno@clisp.org>
70642             Simon Josefsson  <jas@extundo.com>
70643
70644         BeOS portability.
70645         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
70646
70647 2006-08-27  Jim Meyering  <jim@meyering.net>
70648
70649         * doc/visibility.texi: Remove duplicate word: "pointer".
70650
70651 2006-08-26  Bruno Haible  <bruno@clisp.org>
70652
70653         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
70654         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
70655         (Makefile.am): Create inttypes.h from inttypes_.h.
70656         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
70657
70658         * modules/imaxabs: New file.
70659
70660         * modules/imaxdiv: New file.
70661
70662 2006-08-26  Bruno Haible  <bruno@clisp.org>
70663
70664         * m4/inttypes.m4: New file.
70665         * m4/_inttypes_h.m4: Remove file.
70666         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
70667         PRI_MACROS_BROKEN.
70668         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
70669
70670         * m4/imaxabs.m4: New file.
70671
70672         * m4/imaxdiv.m4: New file.
70673
70674 2006-08-26  Bruno Haible  <bruno@clisp.org>
70675
70676         * lib/inttypes_.h: New file.
70677         * lib/inttypes.h: Remove file.
70678         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
70679
70680         * lib/imaxabs.c: New file.
70681
70682         * lib/imaxdiv.c: New file.
70683
70684 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70685
70686         New config-h module, so that "make" output needn't be cluttered
70687         by -DHAVE_CONFIG_H.
70688         * MODULES.html.sh (Support for building libraries and executables):
70689         Add config-h.
70690         * modules/config-h: New file.
70691         * gnulib-tool (nl, sed_transform_lib_file): New vars.
70692         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
70693         the config-h module is used.
70694
70695         New configmake module, so that "make" output needn't be cluttered
70696         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
70697         * MODULES.html.sh (Support for building libraries and executables):
70698         Add configmake.
70699         * modules/configmake: New file.
70700
70701 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70702
70703         * m4/config-h.m4: New file.
70704
70705 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70706
70707         * config/srclist.txt: Add elisp-comp.
70708
70709 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70710
70711         * MODULES.html.sh (Support for building libraries and executables):
70712         Add elisp-comp.
70713         * build-aux/elisp-comp: New file.
70714         * modules/elisp-comp: New file.
70715
70716 2006-08-24  Bruno Haible  <bruno@clisp.org>
70717
70718         * gnulib-tool (func_create_testdir): Use non-default values of
70719         sourcebase and m4base.
70720
70721 2006-08-24  Bruno Haible  <bruno@clisp.org>
70722
70723         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
70724         HTML structure.
70725
70726 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
70727
70728         * modules/openat (Depends-on): Add lchown.
70729
70730 2006-08-23  Bruno Haible  <bruno@clisp.org>
70731
70732         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
70733         of gl_LOCK_EARLY instead of gl_LOCK.
70734
70735 2006-08-23  Bruno Haible  <bruno@clisp.org>
70736
70737         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
70738         on OSF/1 to no.
70739         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
70740
70741 2006-08-23  Bruno Haible  <bruno@clisp.org>
70742
70743         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
70744         as unusable.
70745
70746         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
70747         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
70748         (gl_LOCK): New macro.
70749
70750 2006-08-22  Simon Josefsson  <jas@extundo.com>
70751
70752         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
70753         to md5 module.
70754
70755 2006-08-22  Simon Josefsson  <jas@extundo.com>
70756
70757         * MODULES.html.sh: Add "Support for maintaining and release
70758         projects".
70759
70760         * build-aux/gnupload: New file, from coreutils.
70761
70762 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
70763
70764         Avoid the need for AC_LIBSOURCES in m4 macros.
70765         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
70766         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
70767         * modules/check-version (EXTRA_DIST): Add check-version.h.
70768         * modules/crc (EXTRA_DIST): Add crc.h.
70769         * modules/des (EXTRA_DIST): Add des.h.
70770         * modules/gc (EXTRA_DIST): Add gc.h.
70771         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
70772         * modules/getline (EXTRA_DIST): Add getline.h.
70773         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
70774         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
70775         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
70776         * modules/md2 (EXTRA_DIST): Add md2.h.
70777         * modules/md4 (EXTRA_DIST): Add md4.h.
70778         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
70779         * modules/read-file (EXTRA_DIST): Add read-file.h.
70780         * modules/readline (EXTRA_DIST): Add readline.h.
70781         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
70782         rijndael-api-fst.h.
70783
70784 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
70785
70786         * m4/rijndael.m4 (gl_ARCFOUR):
70787         * m4/arctwo.m4 (gl_ARCTWO):
70788         * m4/check-version.m4 (gl_CHECK_VERSION):
70789         * m4/crc.m4 (gl_CRC):
70790         * m4/des.m4 (gl_DES):
70791         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
70792         * m4/gc.m4 (gl_GC):
70793         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
70794         * m4/getline.m4 (gl_FUNC_GETLINE):
70795         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
70796         * m4/hmac-md5.m4 (gl_HMAC_MD5):
70797         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
70798         * m4/md2.m4 (gl_MD2):
70799         * m4/md4.m4 (gl_MD4):
70800         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
70801         * m4/read-file.m4 (gl_FUNC_READ_FILE):
70802         * m4/readline.m4 (gl_FUNC_READLINE):
70803         * m4/rijndael.m4 (gl_RIJNDAEL):
70804         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
70805         to get the necessary .h files and whatnot.
70806
70807 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
70808
70809         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
70810         gnulib rather than the other way around.
70811         * config/srclistvars.sh (COREUTILS): Remove.
70812
70813 2006-08-22  Jim Meyering  <jim@meyering.net>
70814
70815         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
70816
70817         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
70818
70819 2006-08-22  Eric Blake  <ebb9@byu.net>
70820
70821         * modules/regexprops-generic: New file.
70822         * MODULES.html.sh (Support for building documentation): List it.
70823
70824 2006-08-22  Eric Blake  <ebb9@byu.net>
70825
70826         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
70827         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
70828         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
70829         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
70830
70831 2006-08-22  Bruno Haible  <bruno@clisp.org>
70832
70833         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
70834         and lib_LTLIBRARIES like the other lib_* variables.
70835
70836 2006-08-22  Bruno Haible  <bruno@clisp.org>
70837
70838         * build-aux/x-to-1.in: New file, from GNU gettext.
70839
70840 2006-08-22  Bruno Haible  <bruno@clisp.org>
70841
70842         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
70843         <utmpx.h> exists.
70844
70845 2006-08-22  Bruno Haible  <bruno@clisp.org>
70846
70847         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
70848         <utmpx.h> exists.
70849
70850 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
70851
70852         BeOS portability.
70853         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
70854         exist.
70855         Problem reported by Bruno Haible.
70856
70857 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
70858
70859         Avoid the need for AC_LIBSOURCES in m4 macros.
70860         * modules/acl (EXTRA_DIST): Add acl.h.
70861         * modules/argmatch (Files): Add m4/argmatch.m4.
70862         (configure.ac): Add gl_ARGMATCH.
70863         (EXTRA_DIST): Renamed from lib_SOURCES, for
70864         consistency with the other modules.  Remove argmatch.c.
70865         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
70866         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
70867         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
70868         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
70869         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
70870         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
70871         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
70872         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
70873         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
70874         * modules/closeout (EXTRA_DIST): Add closeout.h.
70875         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
70876         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
70877         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
70878         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
70879         dirname.h; remove basename.c and stripslash.c.
70880         * modules/exclude (EXTRA_DIST): Add exclude.h.
70881         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
70882         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
70883         * modules/file-type (EXTRA_DIST): Add file-type.h.
70884         * modules/filemode (EXTRA_DIST): Add filemode.h.
70885         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
70886         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
70887         * modules/fpending (EXTRA_DIST): Add __fpending.h.
70888         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
70889         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
70890         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
70891         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
70892         * modules/getdate (EXTRA_DIST): Add getdate.c.
70893         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
70894         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
70895         * modules/getpass (EXTRA_DIST): Add getpass.h.
70896         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
70897         * modules/group-member (EXTRA_DIST): Add group-member.h.
70898         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
70899         * modules/hash (EXTRA_DIST): Add hash.h.
70900         * modules/human (EXTRA_DIST): Add human.h.
70901         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
70902         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
70903         * modules/lchown (EXTRA_DIST): Add lchown.h.
70904         * modules/long-options (EXTRA_DIST): Add long-options.h.
70905         * modules/lstat (EXTRA_DIST): Add lstat.h.
70906         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
70907         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
70908         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
70909         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
70910         * modules/memxor (EXTRA_DIST): Add memxor.h.
70911         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
70912         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
70913         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
70914         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
70915         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
70916         * modules/physmem (EXTRA_DIST): Add physmem.h.
70917         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
70918         * modules/posixver (EXTRA_DIST): Add posixver.h.
70919         * modules/quote (EXTRA_DIST): Add quote.h.
70920         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
70921         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
70922         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
70923         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
70924         regex_internal.h regexec.c.
70925         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
70926         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
70927         * modules/same (EXTRA_DIST): Add same.h.
70928         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
70929         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
70930         * modules/savedir (EXTRA_DIST): Add savedir.h.
70931         * modules/sha1 (EXTRA_DIST): Add sha1.h.
70932         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
70933         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
70934         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
70935         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
70936         * modules/strdup (EXTRA_DIST): Add strdup.h.
70937         * modules/strftime (EXTRA_DIST): Add strftime.h.
70938         * modules/strndup (EXTRA_DIST): Add strndup.h.
70939         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
70940         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
70941         * modules/time_r (EXTRA_DIST): Add time_r.h.
70942         * modules/timespec (EXTRA_DIST): Add timespec.h.
70943         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
70944         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
70945         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
70946         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
70947         * modules/userspec (EXTRA_DIST): Add userspec.h.
70948         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
70949         * modules/utimens (EXTRA_DIST): Add utimens.h.
70950         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
70951         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
70952         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
70953         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
70954         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
70955         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
70956         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
70957         * modules/yesno (EXTRA_DIST): Add yesno.h.
70958
70959 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
70960
70961         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
70962
70963         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
70964         * m4/dev-ino.m4, same-inode.m4: Remove.
70965
70966         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
70967         * m4/acl.m4 (AC_FUNC_ACL):
70968         * m4/backupfile.m4 (gl_BACKUPFILE):
70969         * m4/c-strtod.m4 (gl_C99_STRTOLD):
70970         * m4/canon-host.m4 (gl_CANON_HOST):
70971         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
70972         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
70973         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
70974         * m4/cloexec.m4 (gl_CLOEXEC):
70975         * m4/close-stream.m4 (gl_CLOSE_STREAM):
70976         * m4/closeout.m4 (gl_CLOSEOUT):
70977         * m4/dirfd.m4 (gl_FUNC_DIRFD):
70978         * m4/dirname.m4 (gl_DIRNAME):
70979         * m4/exclude.m4 (gl_EXCLUDE):
70980         * m4/exitfail.m4 (gl_EXITFAIL):
70981         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
70982         * m4/file-type.m4 (gl_FILE_TYPE):
70983         * m4/filemode.m4 (gl_FILEMODE):
70984         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
70985         * m4/fpending.m4 (gl_FUNC_FPENDING):
70986         * m4/fprintftime.m4 (gl_FPRINTFTIME):
70987         * m4/fts.m4 (gl_FUNC_FTS):
70988         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
70989         * m4/getdate.m4 (gl_GETDATE):
70990         * m4/gethrxtime.m4 (gl_GETHRXTIME):
70991         * m4/getpagesize.m4 (gl_GETPAGESIZE):
70992         * m4/getpass.m4 (gl_FUNC_GETPASS):
70993         * m4/gettime.m4 (gl_GETTIME):
70994         * m4/getugroups.m4 (gl_GETUGROUPS):
70995         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
70996         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
70997         * m4/hard-locale.m4 (gl_HARD_LOCALE):
70998         * m4/hash.m4 (gl_HASH):
70999         * m4/idcache.m4 (gl_IDCACHE):
71000         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
71001         * m4/lchown.m4 (gl_FUNC_LCHOWN):
71002         * m4/long-options.m4 (gl_LONG_OPTIONS):
71003         * m4/lstat.m4 (gl_FUNC_LSTAT):
71004         * m4/md5.m4 (gl_MD5):
71005         * m4/memcasecmp.m4 (gl_MEMCASECMP):
71006         * m4/memcoll.m4 (gl_MEMCOLL):
71007         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
71008         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
71009         * m4/memxor.m4 (gl_MEMXOR):
71010         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
71011         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
71012         * m4/modechange.m4 (gl_MODECHANGE):
71013         * m4/mountlist.m4 (gl_MOUNTLIST):
71014         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71015         * m4/openat.m4 (gl_FUNC_OPENAT):
71016         * m4/pathmax.m4 (gl_PATHMAX):
71017         * m4/physmem.m4 (gl_PHYSMEM):
71018         * m4/posixtm.m4 (gl_POSIXTM):
71019         * m4/posixver.m4 (gl_POSIXVER):
71020         * m4/quote.m4 (gl_QUOTE):
71021         * m4/quotearg.m4 (gl_QUOTEARG):
71022         * m4/readtokens.m4 (gl_READTOKENS):
71023         * m4/readutmp.m4 (gl_READUTMP):
71024         * m4/regex.m4 (gl_REGEX):
71025         * m4/safe-read.m4 (gl_SAFE_READ):
71026         * m4/safe-write.m4 (gl_SAFE_WRITE):
71027         * m4/same.m4 (gl_SAME):
71028         * m4/save-cwd.m4 (gl_SAVE_CWD):
71029         * m4/savedir.m4 (gl_SAVEDIR):
71030         * m4/settime.m4 (gl_SETTIME):
71031         * m4/sha1.m4 (gl_SHA1):
71032         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
71033         * m4/stat-macros.m4 (gl_STAT_MACROS):
71034         * m4/stat-time.m4 (gl_STAT_TIME):
71035         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
71036         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
71037         * m4/strdup.m4 (gl_FUNC_STRDUP):
71038         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
71039         * m4/strndup.m4 (gl_FUNC_STRNDUP):
71040         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
71041         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
71042         * m4/time_r.m4 (gl_TIME_R):
71043         * m4/timespec.m4 (gl_TIMESPEC):
71044         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
71045         * m4/unlinkdir.m4 (gl_UNLINKDIR):
71046         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
71047         * m4/userspec.m4 (gl_USERSPEC):
71048         * m4/utimecmp.m4 (gl_UTIMECMP):
71049         * m4/utimens.m4 (gl_UTIMENS):
71050         * m4/xalloc.m4 (gl_XALLOC):
71051         * m4/xgetcwd.m4 (gl_XGETCWD):
71052         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
71053         * m4/xreadlink.m4 (gl_XREADLINK):
71054         * m4/xstrtod.m4 (gl_XSTRTOD):
71055         * m4/yesno.m4 (gl_YESNO):
71056         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71057         to get the necessary .h files and whatnot.
71058
71059 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
71060             Bruno Haible  <bruno@clisp.org>
71061
71062         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
71063         /bin/sh understanding of '!' conditional negation.
71064
71065 2006-08-21  Jim Meyering  <jim@meyering.net>
71066
71067         * modules/openat (Depends-on): Really alphabetize.
71068
71069         * modules/acl (Depends-on): Add error and quote.
71070
71071         * check-module (find_included_lib_files): Add at-func.c to the
71072         ok-to-include-more-than-once white list.
71073
71074         * modules/openat (Depends-on): Add lstat.  Alphabetize.
71075
71076 2006-08-21  Bruno Haible  <bruno@clisp.org>
71077
71078         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71079         Emit a pkgdata_DATA variable only if some snippets add contents to it.
71080         Reported by Martin Lambers <marlam@marlam.de>.
71081
71082 2006-08-21  Bruno Haible  <bruno@clisp.org>
71083
71084         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
71085         specify an installation location, don't emit a noinst_LIBRARIES or
71086         noinst_LTLIBRARIES assignment.
71087
71088 2006-08-21  Bruno Haible  <bruno@clisp.org>
71089
71090         BeOS portability.
71091         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
71092         BeOS has mbrtowc() but no <wctype.h>.
71093
71094 2006-08-21  Bruno Haible  <bruno@clisp.org>
71095
71096         BeOS portability.
71097         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
71098         exist.
71099
71100 2006-08-21  Bruno Haible  <bruno@clisp.org>
71101
71102         BeOS portability.
71103         * lib/mbchar.h: Include <wctype.h> only if it exists.
71104
71105 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71106
71107         Remove files that are no longer needed by their respective modules.
71108         * m4/obstack.m4: Remove.
71109         * m4/strerror_r.m4: Remove.
71110         * m4/uint32_t.m4: Remove.
71111         * m4/uintptr_t.m4: Remove.
71112         * m4/ullong_max.m4: Remove.
71113         * m4/xstrtoimax.m4: Remove.
71114         * m4/xstrtoumax.m4: Remove.
71115
71116         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
71117         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
71118         dependencies now capture this.
71119
71120         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
71121         Do not use AC_LIBSOURCES, since gnulib modules now do this.
71122         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
71123         * m4/human.m4 (gl_HUMAN): Likewise.
71124         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
71125         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
71126
71127         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
71128
71129         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
71130         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
71131         stdint.
71132         * m4/human.m4 (gl_HUMAN): Likewise.
71133         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
71134         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
71135         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
71136         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
71137         * m4/xstrtol (gl_XSTRTOL): Likewise.
71138
71139         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
71140         AC_TYPE_LONG_LONG_INT.
71141         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
71142         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
71143         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
71144         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
71145
71146         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
71147         on stdbool.
71148
71149         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
71150         (gl_PREREQ_XSTRTOUL): Remove.
71151
71152         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
71153
71154         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
71155         mode.
71156
71157 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71158
71159         Add and change modules to make it easier for coreutils to use
71160         gnulib-tool.
71161         * modules/backupfile (Files): Remove m4/d-ino.m4.
71162         (Depends-on): Add d-ino.
71163         * modules/cycle-check (Depends-on): Add stdint.
71164         (lib_SOURCES): Add cycle-check.h.
71165         * modules/d-ino: New module.
71166         * modules/d-type: New module.
71167         * modules/error (Files): Remove m4/strerror_r.m4.
71168         * modules/filemode (Files): Add m4/st_dm_mode.m4.
71169         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
71170         m4/inttypes_h.m4, m4/uintmax_t.m4.
71171         (Depends-on): Add stdint.
71172         (lib_SOURCES): Add fsusage.h.
71173         * modules/getcwd (Files): Remove d-ino.m4.
71174         (Depends-on): Add d-ino.
71175         * modules/getndelim2 (Depends-on): Add stdint.
71176         * modules/glob (Files): Remove m4/d-type.m4.
71177         (Depends-on): Add d-type.
71178         * modules/host-os: New module.
71179         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
71180         m4/inttypes_h.m4, m4/uintmax_t.m4.
71181         * Depends-on: Add stdint.
71182         (lib_SOURCES): Add human.h.
71183         * modules/inttostr (Files): Remove m4/intmax_t.m4,
71184         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
71185         m4/uintmax_t.m4, m4/ulonglong.m4.
71186         (Depends-on): Add stdint.
71187         (EXTRA_DIST): Add inttostr.h.
71188         * modules/lchmod: New module.
71189         * modules/link-follow: New module.
71190         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
71191         (Depends-on): Add lchmod.
71192         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
71193         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
71194         (Depends-on): Add stdint.
71195         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
71196         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
71197         (Depends-on): Add stdint.
71198         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
71199         * modules/perl: New module.
71200         * modules/regex (Depends-on): Add stdint.
71201         * modules/rmdir-errno: New module.
71202         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
71203         m4/intmax_t.m4.
71204         (Depends-on): Add stdint.
71205         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
71206         m4/uintmax_t.m4.
71207         (Depends-on): Add stdint.
71208         * modules/unlink-busy: New module.
71209         * modules/utimecmp (Depends-on): Add stdint.
71210         * modules/uptime: New module.
71211         * modules/winsz-ioctl: New module.
71212         * modules/winsz-termios: New module.
71213         * modules/xnanosleep (Depends-on): Add nanosleep.
71214         * modules/ullong_max: Remove.
71215         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
71216         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
71217         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
71218         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
71219         (Depends-on): Add inttypes.
71220         (lib_SOURCES): Add xstrtol.h.
71221         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
71222         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
71223         * MODULES.html.sh: Move 'assert' into the assert section.
71224         Move 'dummy' into the linking section.
71225         Remove ullong_max.
71226         Add section for compatibility checks for POSIX:2001 functions,
71227         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
71228         winsz-ioctl, and winsz-termios into it.
71229         Add lchmod.
71230         Add top-level Misc section and put host-os, perl, and uptime
71231         into it.
71232
71233 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71234
71235         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
71236         now assume the stdint module.  Do not include inttypes.h.
71237         * lib/fsusage.h: Likewise.
71238         * lib/getndelim2.c: Likewise.
71239         * lib/human.h: Likewise.
71240         * lib/inttostr.h: Likewise.
71241         * lib/obstack.c: Likewise.
71242         * lib/regex_internal.h: Likewise.
71243         * lib/tempname.c: Likewise.
71244         * lib/utimecmp.c: Likewise.
71245         * lib/xstrtol.h: Likewise.
71246
71247         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
71248
71249         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
71250         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
71251         * lib/xtime.h: Likewise.
71252
71253 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71254
71255         * modules/openat (Files): Add lib/fchmodat.c.
71256         Fixes problem reported by Jay Youngman.
71257
71258 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71259
71260         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
71261         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
71262
71263 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
71264             Bruno Haible  <bruno@clisp.org>
71265
71266         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
71267         and is a script that invokes bison. Tighten the code. Add comments.
71268
71269 2006-08-18  Jim Meyering  <jim@meyering.net>
71270
71271         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
71272         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
71273         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
71274         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
71275
71276 2006-08-18  Bruno Haible  <bruno@clisp.org>
71277
71278         * modules/bison-i18n: New file.
71279         * MODULES.html.sh (Internationalization functions): Add it.
71280
71281 2006-08-18  Bruno Haible  <bruno@clisp.org>
71282
71283         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
71284         sys/statvfs.h. When getmntinfo was found, check its declaration and
71285         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
71286
71287 2006-08-18  Bruno Haible  <bruno@clisp.org>
71288
71289         * m4/bison-i18n.m4: New file, from bison.
71290
71291 2006-08-18  Bruno Haible  <bruno@clisp.org>
71292
71293         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
71294         (ME_DUMMY): Treat "kernfs" as a dummy.
71295         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
71296
71297 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71298
71299         Update from coreutils.
71300
71301         2006-08-15  Jim Meyering  <jim@meyering.net>
71302
71303         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
71304
71305         2006-01-17  Jim Meyering  <jim@meyering.net>
71306
71307         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
71308
71309         2006-01-11  Jim Meyering  <jim@meyering.net>
71310
71311         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
71312         Check for the lchmod function.
71313
71314 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71315
71316         Update from coreutils.
71317
71318         * lib/__fpending.h: Add copyright notice.
71319         * lib/fprintftime.h: Likewise.
71320         * lib/savedir.c: Use (C) in copyright notice.
71321         * lib/savedir.h: Likewise.
71322
71323         2006-08-15  Jim Meyering  <jim@meyering.net>
71324
71325         * lib/at-func.c: New file, with the logic of all emulated at-functions.
71326         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
71327         in support of the EXPECTED_ERRNO macro.
71328         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
71329         definitions.  Instead, define the appropriate symbols and include
71330         "at-func.c".
71331         * lib/mkdirat.c (mkdirat): Likewise.
71332         * lib/fchmodat.c (fchmodat): Likewise.
71333         (ENOSYS): Remove definition.
71334         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
71335         it.  Don't include "unistd--.h" -- it wasn't ever used.
71336
71337         2006-01-17  Jim Meyering  <jim@meyering.net>
71338
71339         Rewrite fts.c not to change the current working directory,
71340         by using openat, fstatat, fdopendir, etc..
71341
71342         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
71343         (HAVE_OPENAT_SUPPORT): Define.
71344         [_LIBC] (fchdir): Don't undef or define; no longer used.
71345         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
71346         Now, this `function' always succeeds, and consumes its file descriptor
71347         parameter -- so callers must not close such FDs.  Update callers.
71348         (diropen_fd, opendirat, cwd_advance_fd): New functions.
71349         (diropen): Add parameter, SP.  Adjust all callers.
71350         Implement using diropen_fd, rather than open.
71351         (fts_open): Initialize new member, fts_cwd_fd.
71352         Remove fts_rft-setting code.
71353         (fts_close): Close fts_cwd_fd, if necessary.
71354         (__opendir2): Define in terms of opendir or opendirat,
71355         depending on whether the FST_NOCHDIR flag is set.
71356         (fts_build): Since fts_safe_changedir consumes its FD, and since
71357         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
71358         and close the dup'd file descriptor upon failure.
71359         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
71360         (fts_safe_changedir): Tweak semantics to reflect that this function
71361         now calls cwd_advance_fd and hence consumes its FD argument.
71362         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
71363         [struct FTS] (fts_rft): Remove now-unused member.
71364         [struct FTS] (fts_cycle.state): Improve comment.
71365
71366         * lib/openat.c (openat_needs_fchdir): New function.
71367         * lib/openat.h (openat_needs_fchdir): Declare it.
71368
71369 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
71370
71371         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
71372         Problem and fix reported by Pádraig Brady in
71373         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
71374
71375 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71376
71377         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
71378
71379 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71380
71381         * lib/memcoll.c (memcoll): Optimize for the common case where the
71382         arguments are bytewise equal.
71383
71384 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71385
71386         * doc/regexprops-generic.texi: Add a copyright notice.
71387
71388 2006-08-15  Bruno Haible  <bruno@clisp.org>
71389
71390         * modules/tmpdir (License): Change to LGPL.
71391
71392 2006-08-15  Bruno Haible  <bruno@clisp.org>
71393
71394         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
71395         module.
71396
71397 2006-08-14  Simon Josefsson  <jas@extundo.com>
71398
71399         * config/srclist.txt: Add gnupload.
71400
71401 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71402
71403         Change copyright notice from LGPL 2 to GPL 2, since that's the
71404         standard form used in the gnulib repository.
71405         * tests/test-lock.c: Likewise.
71406         * tests/test-stdint.c: Likewise.
71407         * tests/test-tls.c: Likewise.
71408
71409         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
71410         prelude-manager.  User shorter URLs for GNU projects, without '?'.
71411         Add copyright notice.
71412
71413         * check-module: Add copyright notice.  Output a copyright
71414         notice if "--version" is specified.
71415         * modules/COPYING: New file.
71416         * tests/test-getaddrinfo.c: Add copyright notice.
71417         * tests/test-verify.c: Likewise.
71418
71419 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71420
71421         Change copyright notice from LGPL 2 to GPL 2, since that's the
71422         standard form used in the gnulib repository.
71423         * lib/lock.c: LGPL -> GPL.
71424         * lib/lock.h: Likewise.
71425         * lib/strnlen1.c: Likewise.
71426         * lib/strnlen1.h: Likewise.
71427         * lib/tls.c: Likewise.
71428         * lib/tls.h: Likewise.
71429         * lib/tmpdir.c: Likewise.
71430
71431         * lib/TODO: Remove; this belongs only in coreutils.
71432
71433 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71434
71435         Add copyright notices to long-enough files that lack them, since
71436         otherwise the files aren't clearly free.  Use the same notice that
71437         getdate.texi already uses.
71438         * doc/alloca-opt.texi: Add copyright notice.
71439         * doc/alloca.texi: Likewise.
71440         * doc/ctime.texi: Likewise.
71441         * doc/functions.texi: Likewise.
71442         * doc/gcd.texi: Likewise.
71443         * doc/gnulib-tool.texi: Likewise.
71444         * doc/inet_ntoa.texi: Likewise.
71445         * doc/visibility.texi: Likewise.
71446
71447         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
71448         * doc/quote.texi: Add copyright notice.
71449
71450         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
71451         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
71452         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
71453         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
71454         is now obsolete, and give a pointer to the Sun list.
71455         Add copyright notice.
71456
71457 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71458
71459         * config/srclistvars.sh: Add copyright notice.
71460
71461 2006-08-14  Eric Blake  <ebb9@byu.net>
71462
71463         Import the following change from libc:
71464
71465         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
71466
71467         Upstream bug 2997.
71468         * lib/misc/error.c: Add space between program name and message if file
71469         name is missing.
71470
71471 2006-08-12  Karl Berry  <karl@gnu.org>
71472
71473         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
71474         remove, these originate in gnulib now.
71475
71476 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71477
71478         * doc/Makefile (standards.info standards.html standards.dvi):
71479         Also depend on make-stds.texi.
71480
71481 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
71482
71483         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
71484         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
71485
71486         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
71487         in wchar_t.  Problem reported by Eric Blake.
71488
71489         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
71490         LEN is smaller than SIZE.  Suggested by Bruno Haible.
71491         Also, help the compiler to keep LEN in a register.
71492
71493 2006-08-11  Eric Blake  <ebb9@byu.net>
71494
71495         * users.txt: Sort.  Add tar.
71496
71497 2006-08-11  Bruno Haible  <bruno@clisp.org>
71498
71499         * users.txt: New file.
71500
71501 2006-08-11  Bruno Haible  <bruno@clisp.org>
71502
71503         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
71504         before <wchar.h>. Needed for OSF/1 and BSD/OS.
71505
71506 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
71507
71508         * modules/snprintf (Depends-on): Remove minmax.
71509         (Maintainer): Add self and Bruno.
71510
71511 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
71512
71513         * lib/.cppi-disable: Add snprintf.h, socket_.h.
71514         * lib/snprintf.c: Include <errno.h> and <limits.h>.
71515         (EOVERFLOW): Define if the system does not.
71516         Do not include "minmax.h"; it wasn't used.
71517         (snprintf): Don't assume size_t promotes to an unsigned type.
71518         Fix bug when generated string was too long for the buffer: the
71519         buffer's contents are supposed to be the initial prefix of the
71520         output.  Don't assume vasnprintf returns EOVERFLOW if the size
71521         exceeds INT_MAX; do the check ourselves.
71522
71523         Import the following changes from libc:
71524
71525         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
71526
71527         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
71528         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
71529         set wc to the byte which couldn't be converted.
71530         (re_string_reconstruct): Don't clear valid_raw_len before calling
71531         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
71532         tip_context using re_string_context_at.
71533
71534         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
71535
71536         * lib/posix/regex.h: g++ still cannot handled [restrict].
71537
71538         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
71539
71540         * lib/posix/regex.h: Remove special handling for VMS.
71541
71542 2006-08-10  Jim Meyering  <jim@meyering.net>
71543
71544         * modules/same-inode: New module.
71545         * modules/dev-ino: New module.
71546         * modules/cycle-check: Depend on these modules, rather than simply
71547         including their .h files.
71548         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
71549         required via m4/cycle-check.m4.
71550         * modules/same: Depend on new same-inode module, rather than
71551         including same-inode.h.
71552         * modules/chdir-safer: New file.
71553
71554         * modules/chown (Depends-on): Add stat-macros.
71555
71556 2006-08-10  Jim Meyering  <jim@meyering.net>
71557
71558         * m4/cycle-check.m4: New file.
71559         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
71560         * m4/dev-ino.m4, m4/same-inode.m4: New files.
71561
71562 2006-08-10  Eric Blake  <ebb9@byu.net>
71563
71564         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
71565         in from original proposal.
71566
71567 2006-08-10  Eric Blake  <ebb9@byu.net>
71568         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
71569
71570         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
71571         namespace.
71572
71573 2006-08-10  Bruno Haible  <bruno@clisp.org>
71574
71575         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
71576         as well.
71577
71578 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71579
71580         Sync from coreutils.
71581
71582         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
71583
71584         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
71585         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
71586
71587 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71588
71589         * modules/restrict: Remove; no longer needed now that we assume
71590         Autoconf 2.59 or later.
71591         * MODULES.html.sh: Remove 'restrict'.
71592         * modules/argp (Depends-on): Remove 'restrict'.
71593         * modules/base64 (Depends-on): Likewise.
71594         * modules/gc (Depends-on): Likewise.
71595         * modules/getaddrinfo (Depends-on): Likewise.
71596         * modules/glob (Depends-on): Likewise.
71597         * modules/inet_ntop (Depends-on): Likewise.
71598         * modules/inet_pton (Depends-on): Likewise.
71599         * modules/memxor (Depends-on): Likewise.
71600         * modules/regex (Depends-on): Likewise.
71601         * modules/strtok_r (Depends-on): Likewise.
71602         * modules/time_r (Depends-on): Likewise.
71603
71604 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71605
71606         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
71607         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
71608         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
71609         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
71610         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
71611         * m4/memxor.m4 (gl_MEMXOR): Likewise.
71612         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
71613         gl_C_RESTRICT replaced by AC_C_RESTRICT.
71614
71615         Merge from coreutils.
71616         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
71617         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
71618         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
71619         * m4/time_r.m4 (gl_TIME_R): Likewise.
71620
71621 2006-08-09  Karl Berry  <karl@gnu.org>
71622
71623         * config/srclist.txt: no more gettext-tools, per Bruno.
71624
71625 2006-08-08  Eric Blake  <ebb9@byu.net>
71626
71627         * modules/verror: New module.
71628         * MODULES.html.sh: Document it.
71629
71630 2006-08-08  Eric Blake  <ebb9@byu.net>
71631
71632         * lib/verror.h, lib/verror.c: New files.
71633
71634 2006-08-08  Eric Blake  <ebb9@byu.net>
71635
71636         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
71637         verror_at_line output complies with GNU Coding Standards even when
71638         file is NULL.
71639
71640 2006-08-07  Bruno Haible  <bruno@clisp.org>
71641
71642         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
71643         versions of AIX.
71644         Reported by Ralf Wildenhues.
71645
71646 2006-08-07  Bruno Haible  <bruno@clisp.org>
71647
71648         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
71649         in an AC_DEFUN. Needed so that the autoconf snippets can use
71650         AC_REQUIRE.
71651
71652 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71653
71654         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71655         Initialize pkgdata_DATA.
71656         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
71657         overriding it.
71658
71659 2006-08-06  Eric Blake  <ebb9@byu.net>
71660
71661         * lib/error.h: Fold in some upstream changes from glibc.
71662         * lib/error.c: Likewise.
71663
71664 2006-08-04  Bruno Haible  <bruno@clisp.org>
71665
71666         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71667         Make the mostlyclean-local rule depend on mostlyclean-generic.
71668         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
71669
71670 2006-07-31  Bruno Haible  <bruno@clisp.org>
71671
71672         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
71673         <stdlib.h>, <string.h>.
71674
71675 2006-07-30  Bruno Haible  <bruno@clisp.org>
71676
71677         * modules/readlink (License): Change to LGPL.
71678
71679 2006-07-30  Bruno Haible  <bruno@clisp.org>
71680
71681         * modules/javaversion (Makefile.am): Distribute javaversion.java and
71682         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
71683         set PKGDATADIR to point to it.
71684
71685 2006-07-30  Bruno Haible  <bruno@clisp.org>
71686
71687         * modules/csharpexec (configure.ac): Comment out macro invocation.
71688         * modules/javaexec (configure.ac): Likewise.
71689         * modules/javacomp-script (configure.ac): Likewise.
71690
71691         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
71692
71693 2006-07-30  Bruno Haible  <bruno@clisp.org>
71694
71695         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
71696         linked-list.
71697
71698 2006-07-30  Bruno Haible  <bruno@clisp.org>
71699
71700         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
71701
71702 2006-07-30  Bruno Haible  <bruno@clisp.org>
71703
71704         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71705         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
71706         get removed.
71707
71708 2006-07-29  Bruno Haible  <bruno@clisp.org>
71709
71710         Make it possible for gnulib-tool to work with locally modified or
71711         augmented gnulib repositories.
71712         * gnulib-tool (func_usage): Document --local-dir option.
71713         (local_gnulib_dir): New variable.
71714         Handle --local-dir option.
71715         (func_lookup_file): New function.
71716         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
71717         (func_get_description, func_get_filelist, func_get_description,
71718         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
71719         func_get_automake_snippet, func_get_include_directive,
71720         func_get_license, func_get_maintainer): Use func_lookup_file.
71721         (func_import, func_create_testdir): Use func_lookup_file.
71722
71723 2006-07-29  Bruno Haible  <bruno@clisp.org>
71724
71725         * modules/setenv (Depends-on): Add unistd.
71726
71727 2006-07-29  Bruno Haible  <bruno@clisp.org>
71728
71729         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
71730
71731 2006-07-29  Bruno Haible  <bruno@clisp.org>
71732
71733         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
71734
71735 2006-07-29  Bruno Haible  <bruno@clisp.org>
71736
71737         * gnulib-tool (import, update): If there is no Makefile.am, look at
71738         aclocal.m4, instead of bailing out.
71739
71740 2006-07-29  Bruno Haible  <bruno@clisp.org>
71741
71742         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
71743         Categorize the options by when they are useful.
71744
71745 2006-07-29  Bruno Haible  <bruno@clisp.org>
71746
71747         * gnulib-tool (func_usage): Document option --no-libtool.
71748         Handle option --no-libtool.
71749         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
71750         for changed semantics of $libtool variable.
71751         (func_import): Likewise. If libtool is not used, show this through
71752         an option --no-libtool.
71753         (func_create_testdir): Update.
71754
71755 2006-07-29  Bruno Haible  <bruno@clisp.org>
71756
71757         * gnulib-tool (func_import): Extend error message about missing
71758         --doc-base.
71759
71760 2006-07-29  Bruno Haible  <bruno@clisp.org>
71761
71762         * gnulib-tool (func_import): Don't create the $docbase directory if
71763         there is no file to store there.
71764
71765 2006-07-29  Bruno Haible  <bruno@clisp.org>
71766
71767         * gnulib-tool (autoconf_minversion): If a --dir option is given and
71768         relevant, look for configure.ac there, not in the current directory.
71769         Also use a simple search for AC_PREREQ, not "autoconf --trace".
71770
71771 2006-07-29  Bruno Haible  <bruno@clisp.org>
71772
71773         * gnulib-tool (SORT): New variable.
71774         (func_usage): Undocument --assume-autoconf option.
71775         Remove --assume-autoconf option handling.
71776         (autoconf_minversion): Determine from the contents of configure.ac.
71777         (func_import): Remove autoconf_minversion handling.
71778         Suggested by Eric Blake.
71779
71780 2006-07-29  Bruno Haible  <bruno@clisp.org>
71781
71782         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
71783
71784 2006-07-29  Bruno Haible  <bruno@clisp.org>
71785
71786         * config/srclist.txt (*setenv.[ch]): Remove rules.
71787
71788 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71789
71790         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
71791
71792 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71793
71794         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
71795         arpa/inet.h.
71796
71797 2006-07-28  Simon Josefsson  <jas@extundo.com>
71798
71799         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
71800         * modules/inet_pton (Depends-on): Likewise.
71801
71802 2006-07-28  Simon Josefsson  <jas@extundo.com>
71803
71804         * m4/netinet_in_h.m4: New file.
71805
71806 2006-07-28  Simon Josefsson  <jas@extundo.com>
71807
71808         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
71809         #include's.
71810
71811 2006-07-28  Simon Josefsson  <jas@extundo.com>
71812
71813         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
71814         #include's.
71815
71816 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
71817
71818         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
71819         setgid on directories only if they set these bits.
71820         * lib/modechange.h: Remove obsolete comment about masks.
71821
71822 2006-07-28  Eric Blake  <ebb9@byu.net>
71823
71824         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
71825         macro expansion.
71826
71827 2006-07-28  Bruno Haible  <bruno@clisp.org>
71828
71829         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
71830
71831 2006-07-28  Bruno Haible  <bruno@clisp.org>
71832
71833         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
71834
71835 2006-07-28  Bruno Haible  <bruno@clisp.org>
71836
71837         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
71838         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
71839         Define fallbacks.
71840         Avoids link error on FreeBSD 4.x.
71841         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
71842
71843         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
71844         encoding.
71845         * lib/mbswidth.c (iswcntrl): Likewise.
71846
71847 2006-07-27  Bruno Haible  <bruno@clisp.org>
71848
71849         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
71850         test.
71851
71852 2006-07-27  Bruno Haible  <bruno@clisp.org>
71853
71854         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
71855         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
71856         defined.
71857
71858 2006-07-26  Eric Blake  <ebb9@byu.net>
71859
71860         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
71861
71862 2006-07-26  Eric Blake  <ebb9@byu.net>
71863
71864         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
71865         like mingw that lack mkstemp.
71866         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
71867         avoid compilation warning on mingw.
71868
71869 2006-07-26  Bruno Haible  <bruno@clisp.org>
71870
71871         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
71872         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
71873         INT_FAST*_MIN, INTPTR_MIN.
71874
71875 2006-07-25  Bruno Haible  <bruno@clisp.org>
71876
71877         * modules/version-etc (Depends-on): Add stdarg.
71878
71879 2006-07-25  Bruno Haible  <bruno@clisp.org>
71880
71881         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
71882         complex commands.
71883
71884 2006-07-25  Bruno Haible  <bruno@clisp.org>
71885
71886         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
71887         defined in <stdarg.h> or config.h.
71888
71889 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
71890
71891         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
71892         (gl_STDIO_SAFER): Remove.
71893
71894 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
71895
71896         * MODULES.html.sh (File stream based Input/Output):
71897         Add fopen-safer, tmpfile-safer; remove stdio-safer.
71898         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
71899         * modules/fopen-safer, modules/tmpfile-safer: New files.
71900         * modules/stdio-safer: Remove.
71901
71902 2006-07-24  Bruno Haible  <bruno@clisp.org>
71903
71904         * modules/tmpdir: New file.
71905         * MODULES.html.sh (File system functions): Add it.
71906
71907 2006-07-24  Bruno Haible  <bruno@clisp.org>
71908
71909         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
71910         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
71911
71912 2006-07-24  Bruno Haible  <bruno@clisp.org>
71913
71914         * modules/clean-temp: New file.
71915
71916 2006-07-24  Bruno Haible  <bruno@clisp.org>
71917
71918         * m4/tmpdir.m4: New file, from GNU gettext.
71919
71920 2006-07-24  Bruno Haible  <bruno@clisp.org>
71921
71922         * lib/tmpdir.h: New file, from GNU gettext.
71923         * lib/tmpdir.c: New file, from GNU gettext.
71924
71925 2006-07-24  Bruno Haible  <bruno@clisp.org>
71926
71927         * lib/clean-temp.h: New file, from GNU gettext.
71928         * lib/clean-temp.c: New file, from GNU gettext.
71929
71930 2006-07-23  Eric Blake  <ebb9@byu.net>
71931
71932         * modules/stdio-safer (Files): Add tmpfile-safer.c.
71933         (Depends-on): Add binary-io.
71934
71935 2006-07-23  Eric Blake  <ebb9@byu.net>
71936
71937         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
71938
71939 2006-07-23  Eric Blake  <ebb9@byu.net>
71940
71941         * lib/tmpfile-safer.c: New file.
71942         * lib/stdio-safer.h (fopen_safer): Add prototype.
71943         * lib/stdio--.h (tmpfile): Make safer.
71944
71945 2006-07-23  Bruno Haible  <bruno@clisp.org>
71946
71947         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
71948         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
71949         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
71950         gl_linked_remove_at): Use it.
71951
71952 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71953         and Simon Josefsson <jas@extundo.com>
71954
71955         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
71956
71957         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
71958
71959 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
71960
71961         * modules/close-stream: New file.
71962         * modules/closeout (Description): Make it clear that it exits
71963         with a diagnostic on error.
71964         (Depends-on): Add close-stream.  Remove fpending, stdbool.
71965         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
71966
71967 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
71968
71969         * m4/close-stream.m4: New file.
71970
71971 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
71972
71973         * lib/close-stream.c, lib/close-stream.h: New files.
71974
71975 2006-07-22  Bruno Haible  <bruno@clisp.org>
71976
71977         Merge from GNU gettext 0.15.
71978
71979         2006-05-01  Bruno Haible  <bruno@clisp.org>
71980
71981                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
71982
71983         2006-07-22  Bruno Haible  <bruno@clisp.org>
71984
71985                 * modules/javaversion: New file.
71986                 * MODULES.html.sh (Java): Add javaversion.
71987
71988         2006-03-12  Bruno Haible  <bruno@clisp.org>
71989
71990                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
71991
71992         2005-12-04  Bruno Haible  <bruno@clisp.org>
71993
71994                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
71995                 (untested).
71996
71997         2006-06-21  Bruno Haible  <bruno@clisp.org>
71998
71999                 Avoid warnings from recent versions of mcs.
72000                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
72001                 -o, -L, -r any more. Use options documented since mcs-1.0
72002                 instead. Similarly for -g.
72003
72004         2005-12-04  Bruno Haible  <bruno@clisp.org>
72005
72006                 * build-aux/csharpcomp.sh.in: Suffix for resources is
72007                 .resources, not .resource.
72008
72009         2005-07-09  Bruno Haible  <bruno@clisp.org>
72010
72011                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
72012                 add a .dll suffix.
72013                 Reported by Mark Junker <mjscod@gmx.de>.
72014
72015         2006-07-22  Bruno Haible  <bruno@clisp.org>
72016
72017                 * modules/gettext: Upgrade to gettext-0.15.
72018                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
72019                 m4/visibility.m4.
72020                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
72021
72022 2006-07-22  Bruno Haible  <bruno@clisp.org>
72023
72024         Merge from GNU gettext 0.15.
72025
72026         2006-03-25  Bruno Haible  <bruno@clisp.org>
72027
72028                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
72029
72030         2006-07-21  Bruno Haible  <bruno@clisp.org>
72031
72032                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
72033                 "1.1".
72034
72035         2006-05-09  Bruno Haible  <bruno@clisp.org>
72036
72037                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
72038                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
72039                 for the conftestver execution.
72040
72041         2006-05-01  Bruno Haible  <bruno@clisp.org>
72042
72043                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
72044                 optional target-version argument. Verify that the compiler
72045                 groks source of the specified source-version, or add -source
72046                 option as necessary. Verify that the compiler produces
72047                 bytecode in the specified target-version, or add -target and
72048                 -source options as necessary. Make the result of the test
72049                 available as variable CONF_JAVAC. Also log error output in
72050                 config.log.
72051
72052         2006-03-11  Bruno Haible  <bruno@clisp.org>
72053
72054                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
72055
72056         2006-05-09  Bruno Haible  <bruno@clisp.org>
72057
72058                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
72059                 CLASSPATH_SEPARATOR to a semicolon.
72060
72061         2006-03-12  Bruno Haible  <bruno@clisp.org>
72062
72063                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
72064                 available as variable CONF_JAVA, for subsequent autoconf
72065                 tests. Also log error output in config.log.
72066
72067         2006-07-19  Bruno Haible  <bruno@clisp.org>
72068
72069                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
72070                 that getline works on glibc2 systems. Needed to avoid trouble
72071                 in relocatable.c.
72072                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
72073
72074         2005-12-04  Bruno Haible  <bruno@clisp.org>
72075
72076                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
72077                 launcher (untested).
72078
72079         2005-12-04  Bruno Haible  <bruno@clisp.org>
72080
72081                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
72082
72083         2006-07-22  Bruno Haible  <bruno@clisp.org>
72084
72085                 * gettext.m4: Update from GNU gettext-0.15.
72086                 * nls.m4: Likewise.
72087                 * po.m4: Likewise.
72088                 * inttypes-pri.m4: Likewise.
72089                 * inttypes-h.m4: Renamed from inttypes.m4.
72090                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
72091
72092 2006-07-22  Bruno Haible  <bruno@clisp.org>
72093
72094         Merge from GNU gettext 0.15.
72095
72096         2005-07-05  Bruno Haible  <bruno@clisp.org>
72097
72098                 * printf-args.c (printf_fetchargs): Work around broken
72099                 definition of wint_t on mingw.
72100
72101         2005-02-12  Bruno Haible  <bruno@clisp.org>
72102
72103                 * xallocsa.h: Add extern "C" for C++.
72104
72105         2006-05-17  Bruno Haible  <bruno@clisp.org>
72106
72107                 Cygwin portability.
72108                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
72109
72110         2006-04-30  Bruno Haible  <bruno@clisp.org>
72111
72112                 * progreloc.c: Include <mach-o/dyld.h> if available.
72113                 (find_executable): Use _NSGetExecutablePath when possible.
72114
72115         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72116
72117                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
72118                 function.
72119
72120         2005-12-29  Bruno Haible  <bruno@clisp.org>
72121
72122                 * progreloc.c (set_program_name_and_installdir): Fix
72123                 compilation error.
72124
72125         2005-12-04  Bruno Haible  <bruno@clisp.org>
72126
72127                 Cygwin portability.
72128                 * progreloc.c: Include <windows.h> also on Cygwin.
72129                 (find_executable): Add support for Cygwin.
72130                 (set_program_name_and_installdir): Handle also platforms with
72131                 nonempty EXEEXT.
72132
72133         2006-07-11  Bruno Haible  <bruno@clisp.org>
72134
72135                 * javacomp.c: Fix a comment.
72136                 Reported by Jim Meyering.
72137
72138         2006-04-30  Bruno Haible  <bruno@clisp.org>
72139
72140                 * javacomp.h (compile_java_class): Add source_version,
72141                 target_version arguments.
72142                 * javacomp.c: Rewritten to choose only a compiler that
72143                 respects the specified source_version and target_version.
72144
72145         2006-06-27  Bruno Haible  <bruno@clisp.org>
72146
72147                 Assume correct S_ISDIR macro.
72148                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
72149
72150         2006-07-22  Bruno Haible  <bruno@clisp.org>
72151
72152                 * javaversion.h: New file, from GNU gettext.
72153                 * javaversion.c: New file, from GNU gettext.
72154                 * javaversion.java: New file, from GNU gettext.
72155                 * javaversion.class: New file, from GNU gettext.
72156
72157         2006-05-17  Bruno Haible  <bruno@clisp.org>
72158
72159                 Cygwin portability.
72160                 * javaexec.c (execute_java_class): Test for jview program
72161                 also on Cygwin.
72162
72163         2006-04-09  Bruno Haible  <bruno@clisp.org>
72164
72165                 * fatal-signal.c: Don't include string.h.
72166                 (at_fatal_signal): Use a copying loop instead of memcpy.
72167
72168         2005-12-04  Bruno Haible  <bruno@clisp.org>
72169
72170                 * csharpexec.c: Add support for 'clix' launcher (untested).
72171                 (execute_csharp_using_sscli): New function.
72172                 (execute_csharp_program): Call it.
72173
72174         2006-06-21  Bruno Haible  <bruno@clisp.org>
72175
72176                 Avoid warnings from recent versions of mcs.
72177                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
72178                 -o, -L, -r any more. Use options documented since mcs-1.0
72179                 instead. Similarly for -g.
72180
72181         2005-07-09  Bruno Haible  <bruno@clisp.org>
72182
72183                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
72184                 add a .dll suffix.
72185                 Reported by Mark Junker <mjscod@gmx.de>.
72186
72187         2006-06-17  Bruno Haible  <bruno@clisp.org>
72188
72189                 * config.charset: Update for NetBSD 3.0.
72190
72191         2006-05-17  Bruno Haible  <bruno@clisp.org>
72192
72193                 Cygwin portability.
72194                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
72195
72196         2006-05-16  Bruno Haible  <bruno@clisp.org>
72197
72198                 * localcharset.c [CYGWIN]: Include <windows.h>.
72199                 (get_charset_aliases): For Cygwin, return the same CPxxx
72200                 aliases list as under WIN32.
72201                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
72202                 the environment variables. Fall back to GetACP().
72203
72204         2006-04-05  Bruno Haible  <bruno@clisp.org>
72205
72206                 * config.charset: Update Juan Manuel Guerrero's address.
72207
72208         2005-02-12  Bruno Haible  <bruno@clisp.org>
72209
72210                 * allocsa.h: Add extern "C" for C++.
72211
72212         2005-02-10  Bruno Haible  <bruno@clisp.org>
72213
72214                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
72215                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
72216
72217         2006-07-22  Bruno Haible  <bruno@clisp.org>
72218
72219                 * gettext.h: Update to GNU gettext-0.15.
72220
72221 2006-07-22  Bruno Haible  <bruno@clisp.org>
72222
72223         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
72224         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
72225         lib-prefix.m4, longdouble.m4, ssize_t.m4.
72226
72227 2006-07-21  Eric Blake  <ebb9@byu.net>
72228
72229         * modules/stdlib-safer: New file.
72230         * MODULES.html.sh (File stream based Input/Output): Add
72231         stdlib-safer.
72232
72233 2006-07-21  Eric Blake  <ebb9@byu.net>
72234
72235         * lib/stdlib-safer.h: New file from coreutils, required by
72236         stdlib--.h.
72237
72238 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
72239
72240         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
72241
72242 2006-07-20  Bruno Haible  <bruno@clisp.org>
72243
72244         * gnulib-tool: Recognize new option --assume-autoconf.
72245         (autoconf_minversion): New variable.
72246         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
72247
72248 2006-07-20  Bruno Haible  <bruno@clisp.org>
72249
72250         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
72251
72252 2006-07-19  Derek R. Price  <derek@ximbiot.com>
72253
72254         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
72255         Reindent and repaginate.
72256
72257 2006-07-19  Derek Price  <derek@ximbiot.com>
72258
72259         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
72260         Correct grammar.
72261
72262 2006-07-17  Bruno Haible  <bruno@clisp.org>
72263
72264         * modules/list: New file.
72265         * modules/array-list: New file.
72266         * modules/carray-list, modules/carray-list-tests: New files.
72267         * modules/linked-list, modules/linked-list-tests: New files.
72268         * modules/avltree-list, modules/avltree-list-tests: New files.
72269         * modules/rbtree-list, modules/rbtree-list-tests: New files.
72270         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
72271         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
72272         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
72273         * modules/oset: New file.
72274         * modules/array-oset: New file.
72275         * modules/avltree-oset, modules/avltree-oset-tests: New files.
72276         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
72277         * tests/test-carray_list.c: New file.
72278         * tests/test-linked_list.c: New file.
72279         * tests/test-avltree_list.c: New file.
72280         * tests/test-rbtree_list.c: New file.
72281         * tests/test-linkedhash_list.c: New file.
72282         * tests/test-avltreehash_list.c: New file.
72283         * tests/test-rbtreehash_list.c: New file.
72284         * tests/test-avltree_oset.c: New file.
72285         * tests/test-rbtree_oset.c: New file.
72286         * MODULES.html.sh (Container data structures): New section.
72287
72288 2006-07-17  Bruno Haible  <bruno@clisp.org>
72289
72290         * m4/gl_list.m4: New file.
72291
72292 2006-07-17  Bruno Haible  <bruno@clisp.org>
72293
72294         * lib/gl_list.h: New file.
72295         * lib/gl_list.c: New file.
72296         * lib/gl_array_list.h: New file.
72297         * lib/gl_array_list.c: New file.
72298         * lib/gl_carray_list.h: New file.
72299         * lib/gl_carray_list.c: New file.
72300         * lib/gl_linked_list.h: New file.
72301         * lib/gl_linked_list.c: New file.
72302         * lib/gl_anylinked_list1.h: New file.
72303         * lib/gl_anylinked_list2.h: New file.
72304         * lib/gl_avltree_list.h: New file.
72305         * lib/gl_avltree_list.c: New file.
72306         * lib/gl_anyavltree_list1.h: New file.
72307         * lib/gl_anyavltree_list2.h: New file.
72308         * lib/gl_rbtree_list.h: New file.
72309         * lib/gl_rbtree_list.c: New file.
72310         * lib/gl_anyrbtree_list1.h: New file.
72311         * lib/gl_anyrbtree_list2.h: New file.
72312         * lib/gl_anytree_list1.h: New file.
72313         * lib/gl_anytree_list2.h: New file.
72314         * lib/gl_linkedhash_list.h: New file.
72315         * lib/gl_linkedhash_list.c: New file.
72316         * lib/gl_anyhash_list1.h: New file.
72317         * lib/gl_anyhash_list2.h: New file.
72318         * lib/gl_avltreehash_list.h: New file.
72319         * lib/gl_avltreehash_list.c: New file.
72320         * lib/gl_rbtreehash_list.h: New file.
72321         * lib/gl_rbtreehash_list.c: New file.
72322         * lib/gl_anytreehash_list1.h: New file.
72323         * lib/gl_anytreehash_list2.h: New file.
72324
72325         * lib/gl_oset.h: New file.
72326         * lib/gl_oset.c: New file.
72327         * lib/gl_array_oset.h: New file.
72328         * lib/gl_array_oset.c: New file.
72329         * lib/gl_avltree_oset.h: New file.
72330         * lib/gl_avltree_oset.c: New file.
72331         * lib/gl_rbtree_oset.h: New file.
72332         * lib/gl_rbtree_oset.c: New file.
72333         * lib/gl_anytree_oset.h: New file.
72334
72335 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72336
72337         * m4/mkancesdirs.m4: New file.
72338         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
72339         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
72340         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
72341         it.
72342
72343 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72344
72345         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
72346         * lib/mkancesdirs.h: New files.
72347         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
72348         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
72349         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
72350         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
72351         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
72352         callers changed.  Revamp internals significantly, by not
72353         attempting to create directories that are temporarily more
72354         permissive than the final results.  Do not attempt to use
72355         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
72356         This removes some race conditions, fixes some bugs, and simplifies
72357         things.  Use new dirchownmod function to do owner and mode changes.
72358         * lib/mkdir-p.h: Likewise.
72359         * lib/modechange.c (octal_to_mode): New function.
72360         (struct mode_change): New member mentioned.
72361         (make_node_op_equals): New arg mentioned.  All callers changed.
72362         (mode_compile): Keep track of which mode bits the user has explicitly
72363         mentioned.
72364         (mode_adjust): New arg DIR, so that we implement the X op correctly.
72365         New arg PMODE_BITS, to keep track of which mode bits the user
72366         mentioned; it treats S_ISUID and S_ISGID speciall.
72367         All callers changed.
72368         * lib/modechange.h: Likewise.
72369
72370 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72371
72372         * MODULES.html.sh: Add mkancestors.
72373         * modules/mkancesdirs: New module.
72374         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
72375         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
72376         The chdir-safer and afs files are now orphans; I'll remove them
72377         unless someone speaks up.
72378         Add lib/dirchownmod.c, lib/dirchownmod.h.
72379         (Depends-on): Remove alloca, chown, save-cwd, dirname.
72380         Add lchown, mkancesdirs.
72381         (Maintainer): Add self.
72382
72383 2006-07-15  Karl Berry  <karl@gnu.org>
72384
72385         * gnulib-tool: help message wording/arrangement.
72386
72387 2006-07-14  Simon Josefsson  <jas@extundo.com>
72388
72389         * doc/gnulib.texi (Libtool and Windows): New section.
72390
72391 2006-07-12  Simon Josefsson  <jas@extundo.com>
72392
72393         * modules/gendocs (License): Fix license, approved by Karl.
72394
72395 2006-07-12  Eric Blake  <ebb9@byu.net>
72396
72397         * MODULES.html.sh: Add gendocs.
72398
72399 2006-07-11  Eric Blake  <ebb9@byu.net>
72400
72401         * modules/fdl: New module, to install doc/fdl.texi.
72402         * MODULES.html.sh: Add new section for documentation modules.
72403         * gnulib-tool: Avoid space-tab.
72404         (--doc-base): New option, to manage files from doc.
72405
72406 2006-07-11  Eric Blake  <ebb9@byu.net>
72407
72408         * m4/absolute-header.m4: Fix comments to match recent change.
72409
72410 2006-07-11  Eric Blake  <ebb9@byu.net>
72411
72412         * gnulib-tool: List --doc-base before --tests-base.
72413
72414 2006-07-11  Derek R. Price  <derek@ximbiot.com>
72415
72416         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
72417
72418 2006-07-11  Bruno Haible  <bruno@clisp.org>
72419
72420         * README: Mention where to put documentation.
72421
72422 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72423
72424         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
72425
72426 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
72427
72428         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
72429         to stdint.m4.
72430
72431 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
72432
72433         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
72434         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
72435         "no/such/file/stdint.h" when there is no such file, so that
72436         the resulting C code can be parsed by dodgy compilers.
72437         Problems reported by Bob Proulx.
72438
72439 2006-07-10  Derek R. Price  <derek@ximbiot.com>
72440
72441         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
72442         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
72443         macros into the GNU _D_EXACT_NAMLEN.
72444         * lib/savedir.c:  Likewise.
72445         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
72446
72447 2006-07-10  Derek R. Price  <derek@ximbiot.com>
72448         and Paul Eggert  <eggert@cs.ucla.edu>
72449
72450         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
72451         * m4/savedir.m4:
72452         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
72453         macros into the GNU _D_EXACT_NAMLEN.
72454
72455 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72456
72457         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
72458         around the absolute name, to work around a problem with the HP-UX
72459         11.23 native C compiler, reported by Bob Proulx.
72460
72461 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72462
72463         * doc/maintain.texi, make-stds.texi: Sync from
72464         <http://savannah.gnu.org/projects/gnustandards>.
72465
72466 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72467
72468         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
72469
72470 2006-07-09  Jim Meyering  <jim@meyering.net>
72471
72472         * m4/glob.m4: Remove a doubled word in a comment.
72473
72474 2006-07-09  Jim Meyering  <jim@meyering.net>
72475
72476         * lib/argp-pv.c: Remove a doubled word in a comment.
72477         * lib/check-version.c (check_version): Likewise.
72478         * lib/javacomp.c (compile_java_class): Likewise.
72479
72480 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
72481
72482         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
72483         for the benefit of people using Autoconf 2.60.  If you want to
72484         support older Autoconf versions you can copy m4/onceonly_2_57.m4
72485         (or m4/onceonly.m4, if pre-2.57) manually.
72486
72487 2006-07-08  Jim Meyering  <jim@meyering.net>
72488
72489         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
72490         comment.
72491         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
72492         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
72493         comment.
72494
72495 2006-07-08  Jim Meyering  <jim@meyering.net>
72496
72497         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
72498
72499 2006-07-07  Simon Josefsson  <jas@extundo.com>
72500
72501         * tests/test-crc.c: Change expected crc value, the test vector
72502         were probably computed using the old broken crc.c?
72503
72504 2006-07-06  Simon Josefsson  <jas@extundo.com>
72505
72506         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
72507         now the canonical place for the M4 file).
72508
72509         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
72510         from the sys_socket dependency now.
72511
72512         * modules/inet_pton (Files): Ditto.
72513
72514         * modules/inet_ntop (Files): Ditto.
72515
72516 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72517
72518         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
72519         not gl_PREREQ_GETUSERSHELL.
72520
72521 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72522
72523         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
72524         with only one argument, for Autoconf 2.60.
72525         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
72526         expand to nothing, so add a shell command to avoid syntax error.
72527         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
72528
72529 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72530
72531         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
72532
72533 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
72534
72535         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
72536         no longer needed.  Check for isblank decl.
72537         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
72538         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
72539         of existence.
72540
72541 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
72542
72543         * lib/getloadavg.c: Use __VMS, not VMS.
72544         * lib/getopt.c: Likewise.
72545         * lib/getpagesize.h: Likewise.
72546         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
72547         and probably does not work.
72548
72549 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
72550
72551         * lib/.cppi-disable: Add wcwidth.
72552         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
72553         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
72554         (ISGRAPH): Remove.  All uses changed to isgraph.
72555         (FOLD) [!defined _LIBC]: Remove special case.
72556         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
72557         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
72558         HAVE_ISBLANK.
72559         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
72560         case.
72561
72562 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
72563
72564         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
72565         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
72566         brackets.  Other minor changes to suppress some compiler
72567         warnings.
72568
72569 2006-07-06  Derek R. Price  <derek@ximbiot.com>
72570         and Paul Eggert  <eggert@cs.ucla.edu>
72571
72572         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
72573         of invoking obsolescent AC_HEADER_DIRENT macro.
72574         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
72575         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
72576         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
72577         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
72578         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
72579         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
72580         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
72581         * m4/readdir.m4: Remove; no longer needed.
72582
72583 2006-07-06  Derek R. Price  <derek@ximbiot.com>
72584         and Paul Eggert  <eggert@cs.ucla.edu>
72585
72586         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
72587         Don't worry about this obsolete case any more.
72588         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
72589         directories.
72590         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
72591         worry about this obsolete case any more.
72592         * lib/fts.c: Likewise.
72593         * lib/getcwd.c: Likewise.
72594         * lib/glob.h: Likewise.
72595         * lib/savedir.c: Likewise.
72596
72597 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
72598
72599         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
72600         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
72601         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
72602         needed.
72603         All uses removed.
72604         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
72605         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
72606         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
72607         needed.
72608         * m4/getdate.m4 (gl_GETDATE): Likewise.
72609         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
72610         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
72611         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
72612         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
72613         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
72614         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72615         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
72616         needed.
72617
72618 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
72619
72620         * lib/memcasecmp.c: Include <limits.h>.
72621         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
72622         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
72623         Don't assume isdigit succeeds only on '0' through '9'.
72624
72625 2006-07-05  Eric Blake  <ebb9@byu.net>
72626
72627         * modules/getaddrinfo (Depends-on): Add snprintf.
72628
72629 2006-07-05  Eric Blake  <ebb9@byu.net>
72630
72631         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
72632         to avoid 'header present but could not be compiled' on cygwin.
72633
72634 2006-07-05  Eric Blake  <ebb9@byu.net>
72635
72636         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
72637         missing from netdb.h.
72638         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
72639
72640 2006-07-05  Derek R. Price  <derek@ximbiot.com>
72641
72642         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
72643         no longer needed.
72644         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
72645         * m4/getdate.m4 (gl_GETDATE): Likewise.
72646         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
72647         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
72648         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
72649         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
72650         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72651
72652 2006-07-05  Derek R. Price  <derek@ximbiot.com>
72653
72654         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
72655         All uses of is_space replaced by isspace.
72656         * lib/exit.h: Don't talk about STDC_HEADERS.
72657         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
72658         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
72659         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
72660         replaced by isprint etc.
72661         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
72662         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
72663         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
72664         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
72665         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
72666         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
72667
72668 2006-07-05  Bruno Haible  <bruno@clisp.org>
72669
72670         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
72671         the function exists, before testing against AIX.
72672         Reported by Martin Lambers <marlam@marlam.de>.
72673
72674 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
72675
72676         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
72677         From Mark D. Baushke.
72678
72679 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
72680
72681         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
72682         to the absolute name, not just one, to bypass Sun C 5.8's
72683         "warning: #include of /usr/include/... may be non-portable".
72684
72685 2006-07-04  Eric Blake  <ebb9@byu.net>
72686
72687         * modules/dirname-tests: New test module.
72688         * tests/test-dirname.c: New file, replacing dirname.c
72689         TEST_DIRNAME section that was recently deleted.
72690
72691 2006-07-04  Bruno Haible  <bruno@clisp.org>
72692
72693         Assume ANSI C header files and <ctype.h> functions.
72694         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
72695         (mbsnwidth): Use isprint, iscntrl instead.
72696
72697 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72698
72699         Merge from coreutils.
72700         * MODULES.html.sh: Add xstrtold.
72701         * modules/xstrtold: New file.
72702         * modules/cycle-check (Files): Add lib/same-inode.h.
72703         * modules/dirname (Files): Add m4/double-slash-root.m4.
72704         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
72705         * modules/mkdir-p (Files): Add lib/same-inode.h.
72706         * modules/same (Files): Add lib/same-inode.h.
72707
72708 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72709
72710         * m4/absolute-header.m4: Renamed from full-header-path.m4.
72711         This is to keep the terminology clean; POSIX talks about
72712         "absolute pathnames", not "full pathnames", but the GNU
72713         Coding Standards say to use "path" for something else;
72714         so use "absolute" to keep both sides happy.
72715         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
72716         Set gl_absolute_header, not gl_full_header_path.
72717         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
72718         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
72719         All uses changed.
72720
72721         Merge from coreutils.
72722
72723         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
72724
72725         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
72726         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
72727         want to require the building of c-strtod.o.
72728         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
72729         needs -lm directly.
72730         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
72731
72732         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
72733
72734         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
72735         --as-needed option if available.  Problem reported by Albert Chin in
72736         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
72737         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
72738         cc merely issues a bunch of annoying warnings for --as-needed
72739         (this problem was reported by Bob Proulx).  Also, try linking with
72740         -lm to detect a bug in binutils 2.16 (this problem was reported
72741         by Ralf Wildenhues).
72742
72743         2006-06-18  Jim Meyering  <jim@meyering.net>
72744
72745         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
72746         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
72747         macro.
72748         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
72749         also check for glibc-2.4's abort-inducing bug.
72750
72751         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
72752         Low-probability clean-up should be to use rmdir to get rid of
72753         the just-created directory, not unlink.
72754
72755         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
72756         configure fail, and request a bug report to inform us about it.
72757         Add a comment that, barring reports to the contrary, in 2007 we'll
72758         assume ftruncate is universally available.
72759
72760         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
72761
72762         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
72763
72764         2006-03-12  Jim Meyering  <jim@meyering.net>
72765
72766         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
72767         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
72768         * m4/same.m4 (gl_SAME): Likewise.
72769         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
72770
72771         2006-03-11  Eric Blake  <ebb9@byu.net>
72772
72773         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
72774         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
72775         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
72776         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
72777
72778 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72779
72780         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
72781         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
72782         reported by Mark D. Baushke, one in
72783         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
72784
72785         Merge from coreutils.
72786
72787         * lib/.cppi-disable: Add stdint_.h.
72788         * lib/.cvsignore: Add stdint.h.
72789
72790         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
72791
72792         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
72793         both double and long double versions.
72794         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
72795         * lib/xstrtold.c: New file.
72796         * lib/xstrtod.h (xstrtold): New decl.
72797
72798         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
72799
72800         * lib/filemode.c (setst): Remove.
72801         (strmode): Rewrite to avoid setst.  This makes the code shorter,
72802         (arguably) clearer, and the generated code is a bit smaller on my
72803         Debian GNU/Linux stable x86 host.
72804
72805         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
72806
72807         * lib/filemode.c: Include "filemode.h" first, to test the interface.
72808         Assume that filemode.h includes sys/types.h and sys/stat.h.
72809         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
72810         (ftypelet): Reorder to put common cases first, for efficiency.
72811         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
72812         to do 'M'.
72813         (strmode): Renamed from mode_string, and now stores 12 bytes instead
72814         of 10, for compatibility with FreeBSD.  All callers changed.
72815         (filemodestring): Now stores 12 bytes instead of 10, and sets file
72816         types that can't be deduced solely from st_mode.  First arg is now a
72817         const pointer.
72818         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
72819         (strmode): Renamed from mode_string.
72820         (filemodestring): New decl.
72821         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
72822         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
72823         needed.
72824         (S_ISPORT, S_ISWHT): New macros, if not already defined.
72825
72826         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
72827
72828         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
72829         fsusage.h now does that.  Include fsusage.h first, to test interface.
72830         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
72831         at most one method (the old code could have generated decls that
72832         didn't conform to C89, not that this was ever exercised).
72833         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
72834
72835         2006-03-19  Jim Meyering  <jim@meyering.net>
72836
72837         Work even in a chroot where d_ino values for entries in "/"
72838         don't match the stat.st_ino values for the same names.
72839         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
72840         number, iterate through all entries again, using lstat instead.
72841         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
72842         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
72843
72844         * lib/getcwd.c (__getcwd): Clarify a comment.
72845         Use memcpy in place of a call to strcpy.
72846
72847         2006-03-12  Jim Meyering  <jim@meyering.net>
72848
72849         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
72850         matches that of the current directory (which we're about to chdir ".."
72851         out of), then save the dev-ino of the parent, instead.
72852
72853         * lib/same-inode.h (SAME_INODE): New file/macro.
72854         * lib/chdir-safer.c (SAME_INODE): Remove definition.
72855         Include "same-inode.h", instead.
72856         * lib/same.c: Likewise.
72857         * lib/cycle-check.h: Include "same-inode.h".
72858         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
72859         * lib/cycle-check.c (SAME_INODE): Remove definition.
72860         * lib/root-dev-ino.h: Include "same-inode.h".
72861
72862         2006-03-11  Eric Blake  <ebb9@byu.net>
72863
72864         * lib/same.c (same_name): s/base_name/last_component/
72865         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
72866         * lib/filenamecat.c (file_name_concat): Likewise.
72867
72868         2006-03-11  Eric Blake  <ebb9@byu.net>,
72869                     Paul Eggert  <eggert@cs.ucla.edu>
72870
72871         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
72872         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
72873         drive prefix.
72874         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
72875         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
72876         (last_component): New method.
72877         * lib/dirname.c (dir_len): Determine when drive letters need a
72878         subsequent slash.  Preserve // when it is special.
72879         (dir_name): Don't append dot when drive letter is absolute.
72880         [TEST_DIRNAME]: Move into a full-blown gnulib test.
72881         * lib/basename.c (base_name): New semantics - malloc the result.
72882         Preserve // when it is special.  Preserve relative files that look
72883         like drive letters.
72884         (base_len): Preserve // when it is special.
72885         (last_component): New method, similar to old base_name semantics.
72886         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
72887         base_name.  Strip redundant slashes from ///.
72888
72889 2006-07-03  Jim Meyering  <jim@meyering.net>
72890
72891         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
72892         macro is used before the first cycle_check call.
72893
72894 2006-07-03  Eric Blake  <ebb9@byu.net>
72895
72896         * modules/dirname (Depends-on): Add xstrndup.
72897
72898 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
72899
72900         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
72901         test cases, so that config.log is a bit easier to follow.
72902
72903 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
72904
72905         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
72906         both are 64 bits, since this seems to be the tradition, and this
72907         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
72908         we ever run into a host that prefers long long to long in this
72909         case, we'll need another configure-time test.  Problem reported by
72910         Jim Meyering.
72911
72912 2006-07-02  Eric Blake  <ebb9@byu.net>
72913
72914         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
72915
72916 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
72917
72918         * modules/inttypes (Depends-on): No longer depends on stdint.
72919         * modules/stdint (Description): Say more about assumptions.
72920         Say that the fast types might differ.  Say macros are used.
72921         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
72922         (Makefile.am): Revise list of substituted symbols to match
72923         new stdint.m4.
72924         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
72925         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
72926         * tests/test-stdint.c (verify_same_types)
72927         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
72928         the code conforms to C99/C89.
72929         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
72930         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
72931
72932 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
72933
72934         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
72935         but fix a bug, by requiring at least 64 bits.
72936         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
72937         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
72938         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
72939         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
72940
72941         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
72942         changes.  Make 2.59 a prerequisite.  Check and substitute for
72943         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
72944         inttypes.h.  Do not use special include files; just use the
72945         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
72946         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
72947         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
72948         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
72949         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
72950         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
72951         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
72952         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
72953         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
72954         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
72955         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
72956         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
72957         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
72958         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
72959         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
72960         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
72961         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
72962         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
72963         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
72964         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
72965         WINT_MAX.  Check for C99 conformance more strictly, by detecting
72966         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
72967         not check for things that C99 does not require, e.g., int8_t.  If
72968         a test isn't needed unless <stdint.h> isn't working, and is
72969         unlikely to be needed for any other reason, then don't do it
72970         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
72971         size_t, since we assume C89 freestanding at least.  Do not check
72972         for sig_atomic_t, wchar_t, or wint_t, since the code now does
72973         the right thing even if the types are not defined.  Instead use:
72974         (gl_STDINT_TYPE_PROPERTIES): New macro.
72975         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
72976         testing whether <sys/types.h> clashes, as Autoconf does this for
72977         us now.  All uses removed.
72978         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
72979         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
72980         (gl_CHECK_TYPE_SAME):
72981         Remove; no longer needed.
72982         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
72983         exists, since we'll return 0 anyway in that case.
72984         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
72985
72986 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
72987
72988         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
72989         possible collision with system files.
72990         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
72991         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
72992         WCHAR_MIN and WCHAR_MAX in this case.
72993         (<stddef.h>): Do not include; no longer needed.
72994         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
72995         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
72996         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
72997         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
72998         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
72999         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
73000         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
73001         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
73002         !defined(__c99))]: Include in this case too, since it's harmless
73003         now.
73004         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
73005         dangerous to do so.
73006         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
73007         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
73008         (_STDINT_MIN, _STDINT_MAX): New macros.
73009         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
73010         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
73011         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
73012         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
73013         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
73014         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
73015         macros, not typedefs; this simplifies things quite a bit.
73016         Use long int for all types narrower than int64_t.
73017         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
73018         Define in terms of long long int or int64_t or long int,
73019         not int64_t or int32_t.  This saves some compile-time testing.
73020         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
73021         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
73022         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
73023         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
73024         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
73025         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
73026         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
73027         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
73028         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
73029         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
73030         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73031         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73032         undef any previous version and define our own version, for
73033         simplicity and consistency with the new macros for types.
73034         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73035         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73036         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
73037         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
73038         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
73039         @WINT_T_SUFFIX@ to keep things simple here.
73040         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
73041         Simplify by assuming typical 8/16/32/64 host, since we're
73042         already doing that elsewhere anyway.
73043         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
73044         and assume long long int is 64 bits if available.  This
73045         speeds up 'configure'.
73046
73047 2006-07-01  Eric Blake  <ebb9@byu.net>
73048
73049         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
73050         Reported by Andreas Buening.
73051
73052 2006-07-01  Eric Blake  <ebb9@byu.net>
73053
73054         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
73055
73056 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
73057
73058         * lib/getaddrinfo.c: fixed typo
73059
73060 2006-06-29  Jim Meyering  <jim@meyering.net>
73061
73062         * modules/strftime (Maintainer): Add my name, since with the
73063         FPRINTFTIME changes strftime.c has forked from glibc.
73064
73065 2006-06-29  Eric Blake  <ebb9@byu.net>
73066
73067         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
73068
73069 2006-06-29  Eric Blake  <ebb9@byu.net>
73070
73071         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
73072
73073 2006-06-29  Eric Blake  <ebb9@byu.net>
73074
73075         * lib/stat_.h: New file.
73076
73077 2006-06-29  Eric Blake  <ebb9@byu.net>
73078
73079         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
73080         unused static function.
73081
73082 2006-06-29  Eric Blake  <ebb9@byu.net>
73083
73084         * doc/functions.texi (Function Portability): Document missing lstat
73085         on mingw.
73086
73087 2006-06-29  Eric Blake  <ebb9@byu.net>
73088
73089         * MODULES.html.sh: Add sys_stat.
73090         * modules/sys_stat: New module.
73091         * modules/mkstemp (Depends-on): Add sys_stat.
73092
73093 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73094
73095         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
73096
73097 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73098
73099         * m4/c-bs-a.m4: Removed.
73100
73101 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73102
73103         * lib/strftime.c: Assume strftime() exists.
73104
73105 2006-06-29  Derek Price  <derek@ximbiot.com>
73106
73107         * modules/c-bs-a: Removed - \a is C89.
73108         * MODULES.html.sh: Remove c-bs-a.
73109
73110 2006-06-29  Bruno Haible  <bruno@clisp.org>
73111
73112         * modules/wcwidth (License): Change to LGPL.
73113
73114 2006-06-28  Simon Josefsson  <jas@extundo.com>
73115
73116         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
73117         on _WIN32.
73118
73119         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
73120         getnameinfo.
73121
73122 2006-06-28  Simon Josefsson  <jas@extundo.com>
73123
73124         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
73125
73126 2006-06-28  Simon Josefsson  <jas@extundo.com>
73127
73128         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
73129         functions there.  It will succeed on Windows XP, but on Windows
73130         2000 and (presumably) earlier, it will fail, and use the internal
73131         re-implementation.
73132         (use_win32_p): New function.
73133         (getaddrinfo): Use strtoul on servname, to support numeric ports.
73134         Support AI_NUMERICSERV to disable getservbyname.
73135         (getnameinfo): New function, only supports
73136         NI_NUMERICHOST|NI_NUMERICSERV for now.
73137
73138         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
73139         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
73140         getnameinfo.
73141
73142 2006-06-28  Eric Blake  <ebb9@byu.net>
73143
73144         * modules/wcwidth: New file.
73145         * modules/mbchar (Depends-on): Add wcwidth.
73146         * modules/mbswidth (Depends-on): Add wcwidth.
73147         * MODULES.html.sh: Add wcwidth.
73148
73149 2006-06-28  Eric Blake  <ebb9@byu.net>
73150
73151         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
73152         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
73153
73154 2006-06-28  Eric Blake  <ebb9@byu.net>
73155
73156         * lib/xvasprintf.h: Fix comments.
73157
73158 2006-06-28  Eric Blake  <ebb9@byu.net>
73159
73160         * lib/mbchar.h (wcwidth): Include wcwidth.h.
73161         * lib/mbswidth.c (wcwidth): Move from here...
73162         * lib/wcwidth.h: ...to this new file.
73163
73164 2006-06-28  Derek R. Price  <derek@ximbiot.com>
73165
73166         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
73167
73168         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
73169         it's obsolete.
73170         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
73171
73172 2006-06-28  Derek R. Price  <derek@ximbiot.com>
73173
73174         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
73175         Autoconf 2.60 says this stuff was obsolete.
73176
73177 2006-06-28  Bruno Haible  <bruno@clisp.org>
73178
73179         * modules/wcwidth (Files): Add m4/wchar_t.m4.
73180
73181 2006-06-28  Bruno Haible  <bruno@clisp.org>
73182
73183         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
73184         gt_TYPE_WCHAR_T.
73185
73186 2006-06-28  Bruno Haible  <bruno@clisp.org>
73187
73188         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
73189         declaration for wcwidth.
73190         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
73191
73192 2006-06-28  Bruno Haible  <bruno@clisp.org>
73193
73194         * lib/mkdtemp.c [MINGW]: Include <io.h>.
73195         (mkdir): Define using _mkdir.
73196
73197 2006-06-28  Bruno Haible  <bruno@clisp.org>
73198
73199         * lib/getaddrinfo.h: Fix POSIX URL.
73200         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
73201         _WIN32.
73202         (use_win32_p): Make static.
73203         (getaddrinfo): Reject service name if it is empty or does not consist
73204         solely of decimal digits, or if its value is > 65535.
73205         (getnameinfo): Remove useless casts.
73206
73207 2006-06-27  Simon Josefsson  <jas@extundo.com>
73208
73209         * modules/sys_select: New file, suggested by Bruno Haible, Paul
73210         Eggert and Martin Lambers.
73211
73212 2006-06-27  Simon Josefsson  <jas@extundo.com>
73213
73214         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
73215         Eggert and Martin Lambers.
73216
73217 2006-06-27  Bruno Haible  <bruno@clisp.org>
73218
73219         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
73220         result to 0, not to empty.
73221         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
73222
73223 2006-06-27  Bruno Haible  <bruno@clisp.org>
73224
73225         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
73226
73227 2006-06-26  Simon Josefsson  <jas@extundo.com>
73228
73229         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
73230         present.
73231
73232 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
73233
73234         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
73235         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
73236         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
73237
73238 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
73239
73240         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
73241
73242 2006-06-26  Bruno Haible  <bruno@clisp.org>
73243
73244         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
73245
73246 2006-06-26  Bruno Haible  <bruno@clisp.org>
73247
73248         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
73249
73250 2006-06-26  Bruno Haible  <bruno@clisp.org>
73251
73252         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
73253         SGI C compiler in pre-C99 mode.
73254         Suggested by Mark D. Baushke and Larry Jones.
73255
73256 2006-06-26  Bruno Haible  <bruno@clisp.org>
73257
73258         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
73259         WCHAR_MAX.
73260         Reported by Mark D. Baushke and Larry Jones.
73261
73262 2006-06-26  Bruno Haible  <bruno@clisp.org>
73263
73264         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
73265         in pre-C99 mode.
73266         Suggested by Mark D. Baushke and Larry Jones.
73267
73268 2006-06-23  Simon Josefsson  <jas@extundo.com>
73269             Bruno Haible  <bruno@clisp.org>
73270
73271         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
73272         Emit mostlyclean-local rule.
73273         (func_emit_tests_Makefile_am): Likewise.
73274         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
73275
73276 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
73277
73278         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
73279
73280 2006-06-23  Bruno Haible  <bruno@clisp.org>
73281
73282         * tests/test-stdint.c: Update to match ISO C 99 Technical
73283         Corrigendum 1.
73284
73285 2006-06-23  Bruno Haible  <bruno@clisp.org>
73286
73287         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
73288
73289 2006-06-23  Bruno Haible  <bruno@clisp.org>
73290
73291         * lib/stdint_.h: Treat IRIX like OpenBSD.
73292
73293 2006-06-23  Bruno Haible  <bruno@clisp.org>
73294
73295         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
73296         ISO C 99 Technical Corrigendum 1.
73297
73298 2006-06-22  Simon Josefsson  <jas@extundo.com>
73299
73300         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
73301         MinGW.
73302
73303 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73304
73305         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
73306         needed.  Some compiler complained about some of them.  Problem reported
73307         by Larry Jones in
73308         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
73309
73310 2006-06-21  Simon Josefsson  <jas@extundo.com>
73311
73312         * tests/test-getaddrinfo.c: New file.
73313
73314         * modules/getaddrinfo-tests: New file.
73315
73316         * MODULES.html.sh: Add inet_pton.
73317
73318         * modules/inet_pton: New file.
73319
73320 2006-06-21  Simon Josefsson  <jas@extundo.com>
73321
73322         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
73323         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
73324         of using the (limited) gnulib implementation on Windows XP.
73325
73326         * m4/inet_pton.m4: New file.
73327
73328 2006-06-21  Simon Josefsson  <jas@extundo.com>
73329
73330         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
73331         variable.
73332
73333         * lib/socket_.h: Don't define WINVER.
73334
73335         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
73336         slightly modified to work in gnulib.
73337
73338 2006-06-21  Simon Josefsson  <jas@extundo.com>
73339
73340         * doc/gnulib.texi (Windows sockets): Add.
73341
73342 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
73343
73344         * lib/read-file.c (fread_file): Start with buffer allocation of
73345         0 bytes rather than 1 byte; this simplifies the code.
73346         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
73347         code to free buffer and save/restore errno.
73348         (internal_read_file): Remove unused local.
73349
73350 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
73351
73352         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
73353         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
73354         Problem reported by Denis Excoffier in
73355         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
73356
73357 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73358
73359         * modules/sys_socket, modules/socklen: Include sys/types since
73360         FreeBSD 4.x's sys/socket.h needs it.
73361
73362 2006-06-19  Simon Josefsson  <jas@extundo.com>
73363
73364         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
73365
73366 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
73367
73368         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
73369
73370 2006-06-19  Bruno Haible  <bruno@clisp.org>
73371
73372         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
73373         and FULL_PATH_INTTYPES_H in angle brackets.
73374         Reported by Mark D. Baushke <mdb@gnu.org>.
73375
73376 2006-06-17  Eric Blake  <ebb9@byu.net>
73377
73378         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
73379         errno.
73380
73381 2006-06-17  Bruno Haible  <bruno@clisp.org>
73382
73383         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
73384         <sys/inttypes.h>.
73385
73386 2006-06-17  Bruno Haible  <bruno@clisp.org>
73387
73388         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
73389         whether errno is declared. Assume <errno.h> declares errno.
73390
73391 2006-06-17  Bruno Haible  <bruno@clisp.org>
73392
73393         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
73394
73395 2006-06-17  Bruno Haible  <bruno@clisp.org>
73396
73397         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
73398         problem on Solaris 2.5.1.
73399
73400 2006-06-16  Eric Blake  <ebb9@byu.net>
73401
73402         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
73403         * lib/unicodeio.c [!defined errno]: Likewise.
73404         * lib/strtol.c [!defined errno]: Likewise.
73405         * lib/strtod.c [!defined errno]: Likewise.
73406
73407 2006-06-15  Eric Blake  <ebb9@byu.net>
73408
73409         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
73410
73411 2006-06-15  Eric Blake  <ebb9@byu.net>
73412
73413         * config/srclist.txt (ssize_t.m4): Lose sync.
73414
73415 2006-06-15  Bruno Haible  <bruno@clisp.org>
73416
73417         * modules/stdint (Files): Include m4/full-header-path.m4,
73418         m4/size_max.m4, m4/wchar_t.m4.
73419         (Makefile.am): Many more substitutions.
73420         * modules/stdint-tests: New file.
73421         * tests/test-stdint.c: New file.
73422
73423 2006-06-15  Bruno Haible  <bruno@clisp.org>
73424
73425         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
73426         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
73427         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
73428         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
73429         gl_CHECK_TYPE_SAME): New macros.
73430
73431 2006-06-15  Bruno Haible  <bruno@clisp.org>
73432
73433         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
73434
73435 2006-06-15  Bruno Haible  <bruno@clisp.org>
73436
73437         * lib/stdint_.h: Rewritten to be fully auto-configured.
73438         Fixes bug on HP-UX/IA64.
73439
73440 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
73441
73442         * lib/getdate.y (__attribute__): Don't define if already defined.
73443         Problem reported by Larry Jones.
73444         * lib/utimens.c (__attribute__): Likewise.
73445
73446 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
73447
73448         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
73449         reported by Andreas Schwab.
73450
73451 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73452             Bruno Haible  <bruno@clisp.org>
73453
73454         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
73455         check for the declaration of strnlen and a run test that exposes the
73456         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
73457         rpl_strndup.
73458
73459 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73460             Bruno Haible  <bruno@clisp.org>
73461
73462         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
73463
73464 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73465
73466         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
73467         compile test, for Tru64 4.0D.
73468
73469 2006-05-28  Karl Berry  <karl@gnu.org>
73470
73471         * config/srclist.txt (printf-args.c): lose sync.
73472
73473 2006-05-26  Martin Lambers  <marlam@marlam.de>
73474
73475         * lib/getpass.c: Updates the test for the native W32 API, and adds
73476         missing includes, thus fixing compilation warnings.
73477
73478 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
73479
73480         * lib/exclude.c (exclude_fnmatch): New function.
73481         (excluded_file_name): Call exclude_fnmatch.
73482         * lib/exclude.h (excluded_file_name): New prototype
73483
73484 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
73485
73486         * lib/tempname.c (small_open, large_open): New macros.
73487         (__open, __open64) [!_LIBC]: Remove.
73488         (__gen_tempname): Use small_open and large_open instead of __open
73489         and __open64.  This fixes a portability bug on HP-UX 11.11i
73490         reported by Simon Wing-Tang in
73491         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
73492
73493 2006-05-24  Bruno Haible  <bruno@clisp.org>
73494
73495         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
73496         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
73497         Reported by Thorsten Maerz <torte@netztorte.de> via
73498         Aaron Stone <aaron@serendipity.cx>.
73499
73500 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73501
73502         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
73503         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
73504         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
73505         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
73506         not really conditional on the cache.
73507         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
73508
73509 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73510
73511         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
73512         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
73513         (my_usleep): Don't mishandle maximum value.
73514
73515 2006-05-19  Jim Meyering  <jim@meyering.net>
73516
73517         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
73518
73519 2006-05-17  Bruno Haible  <bruno@clisp.org>
73520
73521         Cygwin portability.
73522         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
73523
73524 2006-05-17  Bruno Haible  <bruno@clisp.org>
73525
73526         * lib/stdint_.h: Fix recognition of Cygwin.
73527
73528 2006-05-15  Bruno Haible  <bruno@clisp.org>
73529
73530         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
73531         on libtool patch by Ralf Wildenhues.
73532
73533 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
73534
73535         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
73536         test for C99 conformance; (bool) 0.5 is an integer constant
73537         expression, but (bool) -0.5 is not.  Problem reported by Fedor
73538         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
73539
73540 2006-05-11  Simon Josefsson  <jas@extundo.com>
73541
73542         * m4/xvasprintf.m4: Fix obvious typo.
73543
73544 2006-05-11  Jim Meyering  <jim@meyering.net>
73545
73546         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
73547         James Lemley.
73548
73549 2006-05-10  Simon Josefsson  <jas@extundo.com>
73550
73551         * lib/md4.c: Typo fix, update copyright years.
73552         (K1, K2): Don't use L because it turn computations into 64-bit on
73553         64-bit platforms.
73554
73555 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
73556
73557         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
73558         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
73559         unwanted sign propagation, e.g., on hosts with 64-bit int.
73560         There still are some problems with reeelly weird theoretical hosts
73561         (e.g., 33-bit int) but it's not worth worrying about now.
73562         * lib/sha1.c (rol): Likewise.
73563         (K1, K2, K3, K4): Remove unnecessary L suffix.
73564
73565 2006-05-10  Bruno Haible  <bruno@clisp.org>
73566
73567         * lib/des.c: Cast to avoid warnings.
73568
73569 2006-05-09  Bruno Haible  <bruno@clisp.org>
73570
73571         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
73572         (Depends-on): Depend also on xsize, stdarg.
73573         (configure.ac): Add gl_XVASPRINTF.
73574
73575 2006-05-09  Bruno Haible  <bruno@clisp.org>
73576
73577         * m4/xvasprintf.m4: New file.
73578
73579 2006-05-09  Bruno Haible  <bruno@clisp.org>
73580
73581         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
73582         (EOVERFLOW): Define fallback value.
73583         (xstrcat): New function.
73584         (xvasprintf): Recognize the special case of a string concatenation.
73585
73586 2006-05-08  Eric Blake  <ebb9@byu.net>
73587
73588         * gnulib-tool (func_version): Base copyright year on CVS date.
73589         (func_emit_copyright_notice): New function.
73590         (func_emit_lib_Makefile_am): Use it.
73591         (func_emit_tests_Makefile_am): Likewise.
73592         (func_import): Likewise.
73593
73594 2006-05-08  Bruno Haible  <bruno@clisp.org>
73595
73596         * modules/stdarg: New file.
73597         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
73598
73599 2006-05-08  Bruno Haible  <bruno@clisp.org>
73600
73601         * m4/stdarg.m4: New file, from GNU gettext.
73602
73603 2006-05-08  Bruno Haible  <bruno@clisp.org>
73604
73605         * config/srclist.txt (build-aux/config.rpath): different from latest
73606         release.
73607
73608 2006-05-08  Bruno Haible  <bruno@clisp.org>
73609
73610         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
73611
73612 2006-05-05  Jim Meyering  <jim@meyering.net>
73613
73614         * m4/warning.m4: New file, derived from bison's file by the same name.
73615
73616 2006-05-03  Bruno Haible  <bruno@clisp.org>
73617
73618         * lib/stdint_.h: Shorter URL.
73619         * lib/inttypes.h: Likewise.
73620
73621 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
73622
73623         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
73624
73625 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
73626
73627         * lib/verify.h: Document the internals better.  Most of this change
73628         was written by Bruno Haible.
73629
73630 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
73631
73632         * doc/verify.texi: New file, partly based on a proposal by
73633         Bruno Haible.
73634
73635 2006-05-02  Bruno Haible  <bruno@clisp.org>
73636
73637         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
73638         test from here...
73639         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
73640
73641 2006-04-29  Bruno Haible  <bruno@clisp.org>
73642
73643         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
73644         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
73645
73646 2006-04-29  Bruno Haible  <bruno@clisp.org>
73647
73648         * gnulib-tool: Make --update option actually work.
73649
73650 2006-04-29  Bruno Haible  <bruno@clisp.org>
73651
73652         * doc/gcd.texi: New file.
73653         * doc/gnulib.texi: Include it.
73654
73655 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
73656
73657         * lib/getdate.y (get_date): When adding relative date, start with the
73658         initial time, not with the result of the first mktime call.
73659
73660 2006-04-25  Bruno Haible  <bruno@clisp.org>
73661
73662         * gnulib-tool (func_import): Output the include directives in three
73663         blocks, sorted separately.
73664         Reported by Ben Pfaff <blp@cs.stanford.edu>.
73665
73666 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
73667
73668         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
73669         to define main with arguments, for C++.  Reported by Eric Blake.
73670         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
73671         Prefer 'int main ()' to 'int main (void)', for C++.
73672         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
73673         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
73674         for 'main', for C99 and C++.
73675
73676 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
73677
73678         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
73679         Don't assume that exit status -1 is valid.
73680         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
73681         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
73682         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
73683         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
73684         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
73685         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
73686         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
73687         functions can be used without declaring them, or that you can
73688         exit with status -1.
73689         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
73690
73691 2006-04-24  Karl Berry  <karl@gnu.org>
73692
73693         * config/srclist.txt (longdouble.m4): sync lost.
73694
73695 2006-04-24  Eric Blake  <ebb9@byu.net>
73696
73697         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
73698
73699 2006-04-24  Bruno Haible  <bruno@clisp.org>
73700
73701         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
73702         poll() implementation in AIX.
73703         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73704
73705 2006-04-24  Bruno Haible  <bruno@clisp.org>
73706
73707         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
73708         assigned exactly once.
73709
73710 2006-04-23  Claudio Fontana  <claudio@gnu.org>
73711             Bruno Haible  <bruno@clisp.org>
73712
73713         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
73714         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
73715         for AM_CPPFLAGS.
73716
73717 2006-04-23  Bruno Haible  <bruno@clisp.org>
73718
73719         * modules/copy-file: Depend on unistd.
73720         * modules/execute: Likewise.
73721         * modules/fatal-signal: Likewise.
73722         * modules/findprog: Likewise.
73723         * modules/mkdtemp : Likewise.
73724         * modules/pipe: Likewise.
73725         * modules/wait-process: Likewise.
73726
73727 2006-04-23  Bruno Haible  <bruno@clisp.org>
73728
73729         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
73730         condition was already detected.
73731         Reported by Ben Pfaff <blp@cs.stanford.edu>.
73732
73733 2006-04-23  Bruno Haible  <bruno@clisp.org>
73734
73735         * lib/copy-file.c: Include <unistd.h> unconditionally.
73736         * lib/execute.c: Likewise.
73737         * lib/fatal-signal.c: Likewise.
73738         * lib/findprog.c: Likewise.
73739         * lib/mkdtemp.c: Likewise.
73740         * lib/pipe.h: Likewise.
73741         * lib/pipe.c: Likewise.
73742         * lib/wait-process.h: Likewise.
73743
73744 2006-04-23  Bruno Haible  <bruno@clisp.org>
73745
73746         * gnulib-tool (func_usage): Fix --import description. Document
73747         --update.
73748         (func_import): Create temporary file in a temporary directory, if
73749         --dry-run is specified. Silence errors from 'grep' when there are no
73750         m4 files in $m4dir.
73751         (func_create_testdir): Silence errors from 'grep' when there are no
73752         m4 files in $m4dir.
73753         Reported by Karl Berry <karl@freefriends.org>.
73754
73755 2006-04-20  Bruno Haible  <bruno@clisp.org>
73756
73757         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
73758         one argument, so that the code will be portable to Autoconf 2.60.
73759         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
73760         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
73761         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
73762
73763 2006-04-19  Derek Price  <derek@ximbiot.com>
73764             Eric Blake  <ebb9@byu.net>
73765
73766         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
73767         rather than "/full/path.h".  Update comment to match.  Shorten &
73768         generalize m4_translit call via AS_TR_CPP.
73769
73770 2006-04-19  Derek Price  <derek@ximbiot.com>
73771             Eric Blake  <ebb9@byu.net>
73772
73773         * lib/inttypes.h: Correct grammar in comment.
73774
73775 2006-04-18  Derek Price  <derek@ximbiot.com>
73776             Paul Eggert  <eggert@cs.ucla.edu>
73777
73778         * modules/inttypes: New file.
73779         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
73780
73781 2006-04-18  Derek Price  <derek@ximbiot.com>
73782             Paul Eggert  <eggert@cs.ucla.edu>
73783
73784         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
73785         New files.
73786
73787 2006-04-18  Derek Price  <derek@ximbiot.com>
73788             Paul Eggert  <eggert@cs.ucla.edu>
73789
73790         * lib/inttypes.h: New file.
73791         * lib/strtoimax.c: Assume <inttypes.h>.
73792
73793 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
73794
73795         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
73796         isn't mounted.  Problem reported by Kir Kolyshkin.
73797
73798 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
73799
73800         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
73801         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
73802         Derek R. Price.
73803         * lib/regex.h (RE_DUP_MAX): Update comment to match current
73804         implementation.
73805
73806 2006-04-12  Eric Blake  <ebb9@byu.net>
73807
73808         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
73809         is now done automatically by the corresponding Autoconf macro.
73810
73811 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
73812
73813         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
73814         time_r.h.
73815
73816 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
73817
73818         Merge regex changes from libc, removing some of our
73819         POSIX-conformance changes that were rejected and redoing them in a
73820         less-intrusive way.
73821
73822         * lib/regcomp.c (re_compile_internal, init_dfa):
73823         Length arg is now size_t, not Idx.  All uses changed.
73824         (peek_token): Forward decl now says internal_function.
73825         (__re_error_msgid, __re_error_msgid_idx):
73826         Now static rather than extern with attribute_hidden.
73827         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
73828         For some reason libc prefers K&R style defns for external functions.
73829         (regerror) [!defined _LIBC]: Likewise.
73830         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
73831         (seek_collating_symbol_entry, lookup_collation_sequence_value):
73832         (build_range_exp, build_collating_symbol):
73833         Use K&R-style defn.
73834         (re_compile_fastmap): Use '\0' to memset, not 0.
73835         (utf8_sb_map): Make the calculations more obvious.
73836         (init_dfa, parse_bracket_exp, build_charclass_op):
73837         Call calloc and cast result, as glibc does.
73838         (init_word_char, fetch_token, peek_token, peek_token_bracket):
73839         (build_range_exp, build_collating_symbol):
73840         Now internal functions.
73841
73842         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
73843
73844         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
73845         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
73846         Don't depend on VMS; depend on __VMS instead, for POSIX
73847         namespace cleanness.
73848         (regoff_t): Define to ssize_t, not long int.
73849
73850         Remove the REG_ macros named below.  Instead, make the old names
73851         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
73852         __USE_GNU_REGEX.
73853         (REG_BACKSLASH_ESCAPE_IN_LISTS):
73854         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
73855         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
73856         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
73857         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
73858         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
73859         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
73860         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
73861         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
73862         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
73863         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
73864         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
73865         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
73866         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
73867         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
73868         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
73869         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
73870         (REG_NREGS):
73871         Remove.  All uses replaced by the old RE_* names.
73872         (RE_BACKSLASH_ESCAPE_IN_LISTS):
73873         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
73874         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
73875         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
73876         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
73877         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
73878         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
73879         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
73880         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
73881         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
73882         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
73883         Don't bother having these macros be independent of each others'
73884         values, since they no longer exist in the POSIX name space.
73885
73886         Rename the following member names back to their old names,
73887         unless !__USE_GNU_REGEX.  All uses changed back.
73888         (buffer): Renamed from re_buffer.
73889         (allocated): Renamed from re_allocated.
73890         (used): Renamed from re_used.
73891         (syntax): Renamed from re_syntax.
73892         (fastmap): Renamed from re_fastmap.
73893         (translate): Renamed from re_translate.
73894         (can_be_null): Renamed from re_can_be_null.
73895         (regs_allocated): Renamed from re_regs_allocated.
73896         (fastmap_accurate): Renamed from re_fastmap_accurate.
73897         (no_sub): Renamed from re_no_sub.
73898         (not_bol): Renamed from re_not_bol.
73899         (not_eol): Renamed from re_not_eol.
73900         (newline_anchor): Renamed from re_newline_anchor.
73901         (num_regs): Renamed from rm_num_regs.
73902         (start): Renamed from rm_start.
73903         (end): Renamed from rm_end.
73904
73905         (free_state): Move up a bit.
73906
73907         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
73908         #define to be empty.
73909         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
73910         when that is what is intended.
73911         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
73912         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
73913         (MAX): New macro.
73914         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
73915         All uses changed back to re_malloc, etc.  It's now the caller's
73916         responsibility to check for overflow; all callers changed.
73917         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
73918         (re_x2nrealloc): Remove.
73919         (free_state): Remove decl.
73920
73921         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
73922         (re_set_registers, re_exec):
73923         Use K&R-style defn.
73924
73925         2006-01-31  Roland McGrath  <roland@redhat.com>
73926
73927         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
73928         Reported by Mike Frysinger <vapier@gentoo.org>.
73929
73930         2006-01-15  Andreas Jaeger  <aj@suse.de>
73931
73932         [BZ #1950]
73933         * lib/regex_internal.c (re_string_reconstruct): Adjust for
73934         build_wcs_upper_buffer change.
73935         (build_wcs_upper_buffer): Change return type.
73936
73937         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
73938
73939         * lib/regex_internal.h: Include <stdint.h> if available.
73940
73941         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
73942
73943         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
73944
73945         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
73946
73947         * lib/regcomp.c: Adjust for changed secondary hash function.
73948
73949         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
73950
73951         * lib/regex.h: Pretty printing.
73952         Clean up namespace a bit.
73953
73954         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
73955
73956         * lib/regexec.c (update_cur_sifted_state, check_arrival,
73957         check_arrival_add_next_nodes): Avoid using uninitialized variable.
73958
73959         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
73960                     Ulrich Drepper  <drepper@redhat.com>
73961
73962         [BZ #1302]
73963         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
73964         changed.
73965         (bitset_word_t): Renamed from bitset_word.  All uses changed.
73966
73967         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
73968
73969         [BZ #281]
73970         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
73971         * lib/regcomp.c: Remove unnecessary uses of
73972         unsigned RE_TRANSLATE_TYPE.
73973         * lib/regex_internal.h: Likewise.
73974         * lib/regex_internal.c: Likewise.
73975         * lib/regexec.c: Likewise.
73976         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
73977
73978         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
73979
73980         * lib/regexec.c (find_recover_state): Remove unnecessary
73981         initialization.
73982         (transit_state_bkref): Make DFA a const pointer.
73983         (get_subexp): Likewise.
73984         (check_arrival): Likewise.
73985         (update_cur_sifted_state): Likewise.
73986         (re_search_internal): Likewise.
73987         (prune_impossible_nodes): Likewise.
73988         (acquire_init_state_context): Likewise.
73989         (proceed_next_node): Likewise.
73990         (set_regs): Likewise.
73991         (free_fail_stack_return): Likewise.
73992         (check_arrival_expand_ecl): Mark DFA parameter as const.
73993         (check_arrival_expand_ecl_sub): Likewise.
73994         (check_subexp_limits): Likewise.
73995         (sub_epsilon_src_nodes):  Likewise.
73996         (add_epsilon_src_nodes):  Likewise.
73997         (merge_state_array): Likewise.
73998         (update_regs): Likewise.
73999         (build_trtable): Likewise.
74000         (sift_states_backward): Mark MCTX parameter as const.
74001         (build_sifted_states): Likewise.
74002         (update_cur_sifted_state): Likewise.
74003         (sift_states_mkref): Likewise.
74004         (check_arrival_expand_ecl): Mark eclosure as const.
74005         (check_dst_limits_calc_pos_1): Likewise.
74006         * lib/regex_internal.h (re_match_context_t): Make dfa a const
74007         pointer.
74008
74009         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
74010
74011         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
74012         (transit_state_sb): Likewise.
74013         (transit_state_mb): Likewise.
74014         (sift_states_iter_mb): Likewise.
74015         (check_arrival_add_next_nodes): Likewise.
74016         (check_node_accept_bytes): Change first parameter to pointer-to-const.
74017         [_LIBC] (re_search_2_stub): Use mempcpy.
74018
74019         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
74020         mbrtowc for very simple UTF-8 case.
74021
74022         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
74023         a pointer-to-const.
74024         (re_acquire_state_context): Likewise.
74025         * lib/regex_internal.h: Adjust prototypes.
74026
74027         * lib/regex.c: Prevent using C++ compilers.
74028
74029         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
74030         (re_acquire_state_context): Likewise.
74031
74032 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74033
74034         * modules/regex (Depends-on): Add ssize_t.
74035
74036 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74037
74038         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
74039         translation table.
74040
74041 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74042
74043         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
74044
74045 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
74046             Bruno Haible  <bruno@clisp.org>
74047
74048         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
74049         <sys/types.h> and <inttypes.h>.
74050
74051 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74052
74053         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
74054         `__error_t_defined', so argp.h will not typedef the former.
74055
74056 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
74057
74058         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
74059         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
74060         glibc names.  Even if glibc is changed to conform to POSIX, the
74061         traditional names will be available anyway, since regex depends on
74062         the extensions module.  Also, fix a longstanding typo in the
74063         implementation of Spencer ERE test #75 from grep 2.3.  Problems
74064         reported by Emanuele Giaquinta.  Also, change sense of cached
74065         variable, so that the message makes sense.
74066
74067 2006-03-24  Simon Josefsson  <jas@extundo.com>
74068
74069         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
74070         including some doc fixes.
74071         (base64_encode_alloc): Fix +1 bug on allocation failures.
74072
74073 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74074
74075         * lib/base64.c (base64_encode): Do not read past end of array with
74076         unsanitized input on systems with CHAR_BIT > 8.
74077
74078 2006-03-24  Eric Blake  <ebb9@byu.net>
74079
74080         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
74081
74082 2006-03-22  Karl Berry  <karl@gnu.org>
74083
74084         * config/srclist.txt (*setenv.[ch]): get from coreutils.
74085         * config/srclistvars.sh (COREUTILS): new var.
74086
74087 2006-03-17  Jim Meyering  <jim@meyering.net>
74088
74089         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
74090         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
74091
74092 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
74093
74094         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
74095         no longer needs it.  Instead, check that regoff_t is as least
74096         as wide as ptrdiff_t.
74097
74098         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
74099         so that our regex.h stays compatible with the installed regex.
74100         This is helpful for installers who configure --without-included-regex.
74101         Problem reported by Emanuele Giaquinta.
74102
74103 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
74104
74105         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
74106         Typedef to long int, not to off_, as POSIX will likely change
74107         in that direction.
74108
74109 2006-03-15  Eric Blake  <ebb9@byu.net>
74110
74111         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
74112
74113 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
74114
74115         * lib/argp-help.c (validate_uparams): Fix typo
74116         * lib/argp-parse.c (argp_default_options): Consistently begin help
74117         messages with a lowercase letter.
74118
74119 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
74120
74121         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
74122         overrun buffers and shouldn't be used (much as gets shouldn't be
74123         used).
74124         * lib/time_r.c (asctime_r, ctime_r): Likewise.
74125
74126 2006-03-08  Simon Josefsson  <jas@extundo.com>
74127
74128         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
74129         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74130
74131 2006-03-08  Simon Josefsson  <jas@extundo.com>
74132
74133         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
74134         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74135
74136 2006-03-08  Simon Josefsson  <jas@extundo.com>
74137
74138         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
74139         signal that configure disabled the device.
74140
74141 2006-03-08  Simon Josefsson  <jas@extundo.com>
74142
74143         * build-aux/maint.mk: Fix refresh-po, to handle no translated
74144         languages.
74145
74146 2006-03-07  Simon Josefsson  <jas@extundo.com>
74147
74148         * modules/getopt (Depends-on): Add unistd.
74149
74150         * modules/unistd: New file.
74151
74152 2006-03-07  Simon Josefsson  <jas@extundo.com>
74153
74154         * modules/gc-random: New file.
74155
74156 2006-03-07  Simon Josefsson  <jas@extundo.com>
74157
74158         * m4/unistd_h.m4: New file.
74159
74160 2006-03-07  Simon Josefsson  <jas@extundo.com>
74161
74162         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
74163         test to be side-effect free by storing the result in the cache
74164         variable gl_cv_lib_readline, and moving the assignment of
74165         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
74166         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74167
74168 2006-03-07  Simon Josefsson  <jas@extundo.com>
74169
74170         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
74171         error on missing devices (the functions will return an error).
74172
74173         * m4/gc.m4: Move random stuff to gc-random.m4
74174
74175 2006-03-07  Simon Josefsson  <jas@extundo.com>
74176
74177         * lib/unistd_.h: New file.
74178
74179 2006-03-07  Simon Josefsson  <jas@extundo.com>
74180
74181         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
74182
74183 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74184
74185         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
74186         Problem reported by Juan Manuel Guerrero.
74187
74188 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74189
74190         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
74191         the unistd module.
74192         * lib/getlogin_r.c: Likewise.
74193         * lib/getlogin_r.h: Likewise.
74194         * lib/glob.c: Likewise.
74195         * lib/pagealign_alloc.c: Likewise.
74196         * lib/unistd_.h: Remove; no longer needed.
74197
74198 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74199
74200         * MODULES.html.sh (Support for systems lacking POSIX:2001):
74201         Add unistd.
74202         * modules/c-stack (Depends-on): Add unistd.
74203         * modules/getlogin_r: Likewise.
74204         * modules/glob: Likewise.
74205         * modules/pagealign_alloc: Likewise.
74206         * modules/unistd (Files): Remove lib/unistd_.h.
74207         (EXTRA_DIST): Remove.
74208         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
74209         need unistd_.h.
74210         (MOSTLYCLEANFILES): Remove unistd.h-t.
74211
74212 2006-03-03  Simon Josefsson  <jas@extundo.com>
74213
74214         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
74215
74216 2006-03-03  Simon Josefsson  <jas@extundo.com>
74217
74218         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
74219         libidn and bison.
74220
74221 2006-03-03  Simon Josefsson  <jas@extundo.com>
74222
74223         * build-aux/maint.mk: Add indent target.
74224
74225 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
74226
74227         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
74228         our replacement poll.h in any case, to avoid a differing
74229         declaration from a system header.  Seen on AIX.
74230
74231 2006-03-01  Simon Josefsson  <jas@extundo.com>
74232
74233         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
74234         <kasal@ucw.cz>.
74235
74236 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74237
74238         * modules/gettime (Depends-on): Add extensions module.
74239         * modules/nanosleep (Depends-on): Likewise.
74240         * modules/settime (Depends-on): Likewise.
74241
74242 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74243
74244         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
74245         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
74246         pedantically.
74247         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74248         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
74249
74250         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
74251         not "==".  Reported by Ralf Wildenhues.
74252
74253 2006-03-01  Karl Berry  <karl@gnu.org>
74254
74255         * doc/Copyright/request-*: new files, synced from gnuorg.
74256
74257 2006-03-01  Karl Berry  <karl@gnu.org>
74258
74259         * config/srclist.txt (Copyright/*): new entries.
74260
74261 2006-02-28  Simon Josefsson  <jas@extundo.com>
74262
74263         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
74264
74265 2006-02-27  Simon Josefsson  <jas@extundo.com>
74266
74267         * lib/base64.h: Indent #define's.  From Jim Meyering
74268         <jim@meyering.net>.
74269
74270 2006-02-27  Jim Meyering  <jim@meyering.net>
74271
74272         Revert the change of 2006-02-24, so these files can continue
74273         to be sync'd from gettext.
74274         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
74275         of `config.h'.
74276
74277 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
74278
74279         * modules/intprops: New file.
74280         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
74281         Add intprops.
74282         * modules/getloadavg (Files): Remove lib/intprops.h.
74283         (Depends-on): Add intprops.
74284         * modules/human: Likewise.
74285         * modules/inttostr: Likewise.
74286         * modules/openat: Likewise.
74287         * modules/sig2str: Likewise.
74288         * modules/userspec: Likewise.
74289         * modules/utimecmp: Likewise.
74290         * modules/xnanosleep: Likewise.
74291         * modules/xstrtol: Likewise.
74292
74293 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
74294
74295         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
74296         * modules/lock-tests (TESTS): Use $(EXEEXT).
74297         * modules/tls-tests: Likewise.
74298         * modules/argp-tests: Likewise.
74299         (check_PROGRAMS): New var, replacing...
74300         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
74301
74302 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74303
74304         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
74305         `config.h'.
74306
74307 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
74308
74309         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
74310
74311 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74312
74313         Sync from coreutils.
74314         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
74315         gl_CHDIR_SAFER.
74316
74317 2006-02-22  Jim Meyering  <jim@meyering.net>
74318
74319         Sync from coreutils.
74320         * m4/chdir-safer.m4: New file.
74321
74322 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
74323
74324         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
74325         AT_FDCWD exceeds INT_MAX.
74326         * lib/openat.h (AT_FDCWD): Likewise.
74327
74328 2006-02-17  Eric Blake  <address@hidden>
74329
74330         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
74331
74332 2006-02-16  Simon Josefsson  <jas@extundo.com>
74333
74334         * modules/getaddrinfo (Depends-on): Add sys_socket.
74335
74336 2006-02-15  Simon Josefsson  <jas@extundo.com>
74337
74338         * build-aux/maint.mk: Add dsyntax-check rule.
74339
74340 2006-02-15  Eric Blake  <ebb9@byu.net>
74341
74342         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
74343         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
74344         'present but cannot compile' warnings on cygwin.
74345         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
74346         use ws2tcpip.h if sys/socket.h works.
74347         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
74348         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
74349
74350 2006-02-14  Simon Josefsson  <jas@extundo.com>
74351
74352         * modules/maintainer-makefile (Files): Rename.
74353
74354         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
74355         and (the local) Makefile.cfg to maint-cfg.mk.
74356
74357         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
74358         to the latter.
74359
74360         * modules/maintainer-makefile: New module.
74361
74362         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
74363         severaly stripped to make it possible to build it up from scratch
74364         with reliable tests.
74365
74366         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
74367         fixes to permit overriding the default actions when configure and
74368         makefile are not available.
74369
74370 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
74371
74372         Sync from coreutils.
74373         * modules/lstat (Depends-on): Don't depend on xalloc.
74374         (License): Change from GPL to LGPL, since this is now simply a
74375         replacement for a libc function.
74376
74377 2006-02-14  Jim Meyering  <jim@meyering.net>
74378
74379         Sync from coreutils.
74380
74381         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
74382         failure on deficient systems, and simplify gnulib lgpl dependencies.
74383         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
74384         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
74385
74386         * lib/xalloc-die.c: Remove unused definition of N_.
74387
74388 2006-02-14  Jim Meyering  <jim@meyering.net>
74389
74390         Sync from coreutils.
74391         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
74392         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
74393         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
74394         double-quote uses of that variable, to accommodate the rare case in
74395         which getmntent is available in none of the libraries checked.  This
74396         happens at least on FreeBSD 5.0.
74397
74398 2006-02-13  Simon Josefsson  <jas@extundo.com>
74399
74400         * gnulib-tool (Usage): Fix --import, from
74401         karl@freefriends.org (Karl Berry).
74402
74403 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
74404
74405         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
74406
74407 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
74408
74409         * lib/argp-namefrob.h: Restore changes accidentally lost during the
74410         "autoupdate" on 2005-12-12.
74411
74412 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
74413
74414         * modules/closeout (Depends-on): Remove atexit.
74415
74416 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
74417
74418         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
74419         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
74420
74421 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
74422
74423         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
74424         __EXTENSIONS__ if this causes compilation to fail.  Problem
74425         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
74426         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
74427
74428 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
74429
74430         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
74431         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
74432         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
74433         All uses changed.
74434
74435 2006-01-26  Simon Josefsson  <jas@extundo.com>
74436
74437         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
74438         prototype is visible on mingw32.
74439
74440         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
74441         for mingw32.
74442
74443         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
74444         mingw32).
74445
74446 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74447
74448         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
74449         attempt to open for write; this always fails, at least on POSIX
74450         hosts.  This reinstates the 2006-01-09 change, which was
74451         inadvertently removed.
74452
74453 2006-01-26  Bruno Haible  <bruno@clisp.org>
74454
74455         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
74456         Reported by Paul Eggert.
74457
74458 2006-01-26  Bruno Haible  <bruno@clisp.org>
74459             Paul Eggert  <eggert@cs.ucla.edu>
74460
74461         * lib/stdbool_.h (_Bool)
74462         [(! (defined __cplusplus || defined __BEOS__)
74463           && !defined __GNUC__
74464           && !(defined __HP_cc || defined __xlc__
74465                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
74466                || defined __sgi))]:
74467         #define to signed char in these cases too; this simplifies
74468         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
74469         etc., separately) and makes it more conservative.
74470
74471 2006-01-25  Simon Josefsson  <jas@extundo.com>
74472
74473         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
74474         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
74475         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
74476
74477 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
74478
74479         * lib/argp-namefrob.h: Bugfix. Remove stray #
74480
74481 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
74482
74483         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
74484         so that we test the test.
74485         Check for yet another HP-UX cc bug involving *bool |= bool.
74486
74487 2006-01-25  Karl Berry  <karl@gnu.org>
74488
74489         * config/srclist.txt (vasnprintf.c): sync lost.
74490
74491 2006-01-25  Jim Meyering  <jim@meyering.net>
74492
74493         Sync from the stable (b5) branch of coreutils:
74494
74495         * lib/fts.c (fts_children): Don't let close() clobber errno from
74496         failed fchdir().
74497
74498         * lib/fts.c (fts_stat): When following a symlink-to-directory,
74499         don't necessarily interpret stat-fails+lstat-succeeds as indicating
74500         a dangling symlink.  That can also happen at least for ELOOP.
74501         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
74502         FYI, this bug predates the inclusion of fts.c in coreutils.
74503
74504         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
74505         in their own block, so pre-c99 compilers don't object.
74506
74507         Avoid the double-free (first in fts_read, second in fts_close) that
74508         would occur when an `active' directory is made inaccessible (e.g.,
74509         via chmod a-x) during a traversal.
74510         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
74511         before returning.  Reproduce this failure by
74512         mkdir -p a/b; cd a; chmod a-x . b
74513         Reported by Stavros Passas.
74514
74515 2006-01-25  Jim Meyering  <jim@meyering.net>
74516
74517         * lib/fileblocks.c: Remove more useless parentheses.
74518         * lib/readutmp.h: Likewise.
74519
74520 2006-01-25  Bruno Haible  <bruno@clisp.org>
74521
74522         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
74523         warnings.
74524         Reported by Paul Eggert.
74525
74526 2006-01-25  Bruno Haible  <bruno@clisp.org>
74527
74528         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
74529         rid of a trap command. For Solaris sh.
74530         Reported by Mark D. Baushke <mdb@gnu.org>.
74531
74532 2006-01-24  Simon Josefsson  <jas@extundo.com>
74533
74534         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
74535         Bruno.
74536
74537 2006-01-24  Karl Berry  <karl@gnu.org>
74538
74539         * config/srclist.txt (argp-namefrob.h): sync lost.
74540
74541 2006-01-24  Jim Meyering  <jim@meyering.net>
74542
74543         * modules/openat (Files): Add lib/intprops.h.
74544         From Mark D. Baushke.
74545
74546 2006-01-24  Jim Meyering  <jim@meyering.net>
74547
74548         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
74549         Reported by Mark D. Baushke.
74550
74551 2006-01-24  Jim Meyering  <jim@meyering.net>
74552
74553         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
74554
74555 2006-01-24  Bruno Haible  <bruno@clisp.org>
74556
74557         * modules/strnlen (Maintainer): Change from glibc to all.
74558
74559 2006-01-24  Bruno Haible  <bruno@clisp.org>
74560
74561         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
74562         Patch by Paul Eggert.
74563
74564 2006-01-24  Bruno Haible  <bruno@clisp.org>
74565
74566         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
74567         already has it.
74568         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
74569         2005-11-26.
74570
74571         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
74572         'signed char' to avoid problems with the built-in _Bool type.
74573         Reported by Paul Eggert on 2005-11-26.
74574
74575 2006-01-24  Bruno Haible  <bruno@clisp.org>
74576
74577         * gnulib-tool (func_import): Avoid constructing complicated sed
74578         expressions inside backquote.
74579         Report and solution by Mark D. Baushke <mdb@gnu.org>.
74580
74581 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
74582
74583         These changes imported from libc.
74584         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
74585         test and two separate function calls.
74586         * lib/strndup.c (__strndup): Add libc_hidden_def.
74587
74588 2006-01-23  Simon Josefsson  <jas@extundo.com>
74589
74590         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
74591         Remove the test_*_SOURCES variable: automake infers it by default.
74592         * modules/tls-tests: Likewise.
74593
74594 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74595
74596         Work around porting bugs reported by Dieter in
74597         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
74598         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
74599         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
74600         Include "getopt.h" first, to check interface.
74601         (getenv): Declare only if defined HAVE_DECL_GETENV &&
74602         !HAVE_DECL_GETENV.
74603         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
74604         (__strndup): Revert to K&R-style function dfns, the glibc style.
74605         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
74606         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
74607         Include strnlen.h first, to get prototype properly.
74608         (strnlen): Renamed from __strnlen.
74609         Remove weak alias.
74610
74611 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74612
74613         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
74614
74615 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74616
74617         * config/srclist.txt: Adjust to reflect glibc reorganization.
74618         This affects only comments.
74619
74620 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74621
74622          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
74623          Reported by Bruce Korb <bkorb@gnu.org>.
74624
74625 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74626
74627         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
74628         to pacify gcc -Wswitch-default.
74629
74630 2006-01-22  Bruno Haible  <bruno@clisp.org>
74631
74632         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
74633         temporary buffer for sprintf, take into account the precision also
74634         for 'd', 'i', 'u', 'o', 'x', 'X'.
74635
74636 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
74637
74638         * modules/argp-tests: New module
74639         * tests/test-argp.c: New file
74640         * tests/test-argp-2.sh: New file
74641
74642 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
74643
74644         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
74645         (__argp_base_name): Removed
74646         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
74647         typo.
74648         (__argp_base_name): Provide macro definition or extern declaration
74649         depending on the configuration
74650
74651 2006-01-20  Simon Josefsson  <jas@extundo.com>
74652
74653         * modules/inet_ntop (Depends-on): Depend on sys_socket.
74654
74655 2006-01-20  Simon Josefsson  <jas@extundo.com>
74656
74657         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
74658
74659 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
74660
74661         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
74662         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
74663         Suggested by Bruno Haible.
74664
74665 2006-01-20  Karl Berry  <karl@gnu.org>
74666
74667         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
74668         until changes propagate, I guess.
74669
74670 2006-01-19  Simon Josefsson  <jas@extundo.com>
74671
74672         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
74673
74674 2006-01-19  Simon Josefsson  <jas@extundo.com>
74675
74676         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
74677
74678 2006-01-19  Simon Josefsson  <jas@extundo.com>
74679
74680         * gnulib-tool: Set check_PROGRAMS.
74681
74682         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
74683         modules/des-tests, modules/gc-arcfour-tests,
74684         modules/gc-arctwo-tests, modules/gc-des-tests,
74685         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
74686         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
74687         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
74688         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
74689         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
74690         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
74691         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
74692         test_*_SOURCES.
74693
74694 2006-01-18  Simon Josefsson  <jas@extundo.com>
74695
74696         * modules/socklen (Depends-on): Depend on sys_socket.
74697
74698 2006-01-18  Simon Josefsson  <jas@extundo.com>
74699
74700         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
74701         modules/des-tests, modules/gc-arcfour-tests,
74702         modules/gc-arctwo-tests, modules/gc-des-tests,
74703         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
74704         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
74705         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
74706         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
74707         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
74708         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
74709         $(EXEEXT) to automake TESTS variable, for mingw32.
74710
74711 2006-01-17  Simon Josefsson  <jas@extundo.com>
74712
74713         * modules/socklen (Include): Need sys/socket.h.
74714
74715 2006-01-17  Bruno Haible  <bruno@clisp.org>
74716
74717         * modules/ssize_t (Include): Add <sys/types.h>.
74718
74719 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
74720
74721         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
74722         it's not portable and it doesn't work with cross-compiles.
74723         Problem reported by Bruno Haible.  Fix missing-$ typo in
74724         'test "gl_cv_ignore_unused_libraries" ...' that prevented
74725         -zignore from being used with Sun's C compiler.
74726
74727 2006-01-12  Simon Josefsson  <jas@extundo.com>
74728
74729         * lib/base64.c: Fix warning, reported by Bruno Haible
74730         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
74731
74732 2006-01-12  Bruno Haible  <bruno@clisp.org>
74733
74734         * modules/ldd: New file.
74735         * build-aux/ldd.sh.in: New file.
74736         * MODULES.html.sh (Support for building libraries and executables): Add
74737         ldd.
74738
74739 2006-01-12  Bruno Haible  <bruno@clisp.org>
74740
74741         * m4/ldd.m4: New file.
74742
74743 2006-01-12  Bruno Haible  <bruno@clisp.org>
74744
74745         * gnulib-tool (func_import, func_create_testdir): Don't go into an
74746         endless loop while replacing $auxdir with build-aux.
74747
74748 2006-01-11  Simon Josefsson  <jas@extundo.com>
74749
74750         * lib/stdint_.h (SIZE_MAX): Add missing (.
74751
74752 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
74753
74754         Sync from coreutils.
74755         * lib/md5.c: Fix commentary typos.
74756         (alignof, UNALIGNED_P): No need for a GCC-specific version.
74757         * lib/md5.h (__attribute__): Remove; unused.
74758         * lib/sha1.c: Fix commentary to match md5 better.
74759         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
74760         so that we don't need to worry about alignment.  All uses changed.
74761         This merges the 2005-10-28 md5 change into sha1.
74762
74763 2006-01-11  Jim Meyering  <jim@meyering.net>
74764
74765         Sync from coreutils.
74766         * lib/md5.c (OP): Fix spacing.
74767
74768 2006-01-11  Bruno Haible  <bruno@clisp.org>
74769
74770         Ensure automatic ordering between gl_LOCK and gl_ARGP.
74771         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
74772         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
74773
74774 2006-01-11  Bruno Haible  <bruno@clisp.org>
74775
74776         Ensure automatic ordering between gl_LOCK and gl_ARGP.
74777         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
74778         the "early" section as well.
74779
74780 2006-01-11  Bruno Haible  <bruno@clisp.org>
74781
74782         Avoid "ar: no archive members specified" error on MacOS X.
74783         * gnulib-tool (func_modules_add_dummy): New function.
74784         (func_import, func_create_testdir): Invoke it.
74785
74786 2006-01-11  Bruno Haible  <bruno@clisp.org>
74787
74788         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
74789         with $auxdir in AC_CONFIG_FILES statements.
74790
74791 2006-01-11  Bruno Haible  <bruno@clisp.org>
74792
74793         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74794         Initialize also noinst_HEADERS to empty.
74795
74796 2006-01-11  Bruno Haible  <bruno@clisp.org>
74797
74798         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
74799         variables.
74800         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
74801         autoreconf.
74802
74803 2006-01-11  Bruno Haible  <bruno@clisp.org>
74804
74805         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
74806         overridable by the user.
74807         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74808
74809 2006-01-10  Simon Josefsson  <jas@extundo.com>
74810
74811         * modules/sys_socket: New file.
74812
74813 2006-01-10  Simon Josefsson  <jas@extundo.com>
74814
74815         * m4/sys_socket_h.m4: New file.
74816
74817 2006-01-10  Simon Josefsson  <jas@extundo.com>
74818
74819         * lib/socket_.h: New file.
74820
74821 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74822
74823         * modules/readutmp (Maintainer): Add myself.
74824
74825 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74826
74827         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
74828         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
74829         People who are still concerned with buggy memcmp implementations
74830         can invoke gl_FUNC_MEMCMP themselves.
74831
74832 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74833
74834         * lib/regex_internal.h (BITSET_WORD_BITS):
74835         Work around a bug in 64-bit PGC (before version 6.1-2), where the
74836         preprocessor mishandles large unsigned values as if they were signed.
74837         Problem reported by Claudio Fontana in
74838         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
74839
74840 2006-01-10  Jim Meyering  <jim@meyering.net>
74841
74842         Avoid the double-free (first in fts_read, second in fts_close) that
74843         would occur when an `active' directory is made inaccessible (e.g.,
74844         via chmod a-x) during a traversal.
74845         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
74846         before returning.  Reproduce this failure by
74847         mkdir -p a/b; cd a; chmod a-x . b
74848         Reported by Stavros Passas.
74849
74850         Sync from coreutils.
74851         * lib/sha1.c: Tweak grammar in a comment.
74852
74853 2006-01-10  Jim Meyering  <jim@meyering.net>
74854
74855         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
74856         Patch by Joerg Sonnenberger.
74857
74858 2006-01-10  Bruno Haible  <bruno@clisp.org>
74859
74860         * modules/readutmp: Depend on module free.
74861         * modules/strtok_r: Depend on module restrict.
74862
74863 2006-01-10  Bruno Haible  <bruno@clisp.org>
74864
74865         * modules/gettext (configure.ac): Add an invocation of
74866         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
74867
74868 2006-01-10  Bruno Haible  <bruno@clisp.org>
74869
74870         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
74871         Reported by Werner Lemberg <wl@gnu.org>.
74872
74873 2006-01-10  Bruno Haible  <bruno@clisp.org>
74874
74875         * lib/localcharset.c: Update from GNU gettext.
74876
74877 2006-01-10  Bruno Haible  <bruno@clisp.org>
74878
74879         * lib/argp.h (__const): Remove macro. Use const instead.
74880         * lib/argp-fmtstream.h (__const): Likewise.
74881         * lib/glob_.h (__const): Remove macro.
74882         * lib/glob-libc.h: Use const instead of __const.
74883
74884 2006-01-10  Bruno Haible  <bruno@clisp.org>
74885
74886         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
74887         variable.
74888         Needed to avoid an automake error regarding the 'gettext' module.
74889
74890 2006-01-09  Simon Josefsson  <jas@extundo.com>
74891
74892         * modules/inet_ntop (Depends-on): Add restrict.
74893
74894 2006-01-09  Simon Josefsson  <jas@extundo.com>
74895
74896         * modules/gc-rijndael-tests (License): Put under LGPL.
74897
74898         * modules/gc-des-tests (License): Likewise.
74899
74900         * modules/gc-arcfour-tests (License): Likewise.
74901
74902         * modules/gc-arctwo-tests (License): Likewise.
74903
74904         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
74905
74906         * modules/gc-hmac-sha1-tests (Files): Likewise.
74907
74908         * modules/gc-hmac-md5-tests (License): Likewise.
74909
74910         * modules/gc-sha1-tests (License): Likewise.
74911
74912         * modules/gc-md5-tests (License): Likewise.
74913
74914         * modules/gc-md4-tests (License): Likewise.
74915
74916         * modules/gc-md2-tests (License): Likewise.
74917
74918         * modules/gc-tests (License): Likewise.
74919
74920         * modules/des-tests (License): Likewise.
74921
74922         * modules/md4-tests (License): Likewise.
74923
74924         * modules/md2-tests (License): Likewise.
74925
74926 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
74927
74928         Sync from coreutils:
74929
74930         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
74931         * modules/lib-ignore: New file.
74932         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
74933         chdir-safer.m4, lchmod.m4.
74934         * modules/openat: Add mkdirat.c, openat-priv.h.
74935
74936 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
74937
74938         Sync from coreutils.
74939         * m4/lib-ignore.m4: New file.
74940         * m4/lchmod.m4: New file.
74941
74942 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
74943
74944         Sync from coreutils.
74945         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
74946         for write access: POSIX says that must fail.
74947         * lib/fts.c (diropen): Likewise.
74948         * lib/save-cwd.c (save_cwd): Likewise.
74949         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
74950         well, for minor improvements on hosts that lack O_DIRECTORY.
74951         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
74952         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
74953         Fall back on chown if open failed with EACCES.
74954
74955         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
74956         Report an error at compile-time if only a 1-second nominal clock
74957         resolution is found.
74958
74959         * lib/lchmod.h: New file.
74960         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
74961         (make_dir_parents): Use lchown rather than chown, and
74962         lchmod rather than chmod.
74963
74964         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
74965         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
74966         "proc" reported by n0dalus.
74967
74968         * lib/mountlist.c: Include <limits.h>.
74969         (dev_from_mount_options)
74970         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
74971         New function.  It no longer assumes "dev=" has the System V meaning
74972         on Linux (since it doesn't).  It also parses "dev=" more carefully.
74973         (read_file_system_list)
74974         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
74975         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
74976         dev= in that case.
74977
74978         * lib/posixtm.h (PDS_PRE_2000): New macro.
74979         * lib/posixtm.c (year): Arg is now syntax_bits rather than
74980         allow_century.  All usages changed.  Reject dates outside the range
74981         1969-1999 if PDS_PRE_2000 is used.
74982
74983 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
74984
74985         Sync from coreutils.
74986         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
74987         (Time of day items): Mention the possibility of leap seconds.
74988         Problem reported by Dr. David Alan Gilbert.
74989
74990 2006-01-09  Jim Meyering  <jim@meyering.net>
74991
74992         Sync from coreutils.
74993
74994         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
74995
74996         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
74997
74998         * lib/modechange.c (mode_compile): Reject an invalid mode string
74999         that starts with an octal digit.  From Andreas Gruenbacher.
75000
75001         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
75002         and dup to open_safer and dup_safer, respectively.
75003         (openat_permissive): Fix typo in comment.
75004
75005         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
75006         "gettext.h"; either no longer needed or are guaranteed by openat.h.
75007         (_): Remove; no longer needed.
75008         (openat): Renamed from rpl_openat; no need for rpl_openat
75009         since openat.h renames openat for us.
75010         Replace most of the body with a call to openat_permissive,
75011         to avoid duplicate code.
75012         Port to (probably hypothetical) environments were mode_t is
75013         wider than int.
75014         (openat_permissive): Require mode arg, so that we can check
75015         types better.  Put it just after flags.  Change cwd failure
75016         indicator from pointer-to-bool to pointer-to-errno-value.
75017         All callers changed.
75018         Invoke openat_save_fail and/or openat_restore_fail if
75019         cwd_errno is null, so that openat can call us.
75020         (openat_permissive, fdopendir, fstatat, unlinkat):
75021         Simplify errno handling to avoid some duplicate code,
75022         as it's OK to set errno on success.
75023         * lib/openat.h: Revamp code so that function macros depend on
75024         __OPENAT_PREFIX only, not also on AT_FDCWD.
75025         (openat_ro): Remove.  Caller changed to use openat_permissive.
75026         (openat_permissive): Now a macro, if not a function.
75027         (openat_restore_fail, openat_save_fail): Now always functions,
75028         since mkdirat needs them even if __OPENAT_PREFIX is defined.
75029
75030         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
75031         and openat.c.
75032         * lib/mkdirat.c: Include openat-priv.h.
75033         Remove definitions of macros defined therein.
75034         * lib/openat.c: Likewise.
75035
75036         * lib/mkdirat.c (mkdirat): New file and function.
75037         * lib/openat.h (mkdirat): Declare.
75038
75039         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
75040
75041         * lib/openat.h (openat_permissive): Declare.
75042         (openat_ro): Define.
75043
75044         * lib/openat.c (EXPECTED_ERRNO): New macro.
75045         (openat_permissive): New function -- used in remove.c rewrite.
75046         (all functions): Set errno just before returning, only if there
75047         was an actual failure.
75048         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
75049
75050         Emulate openat-family functions using Linux's procfs, if possible.
75051         Idea and some code based on Ulrich Drepper's glibc changes.
75052
75053         * lib/openat.c: (BUILD_PROC_NAME): New macro.
75054         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
75055         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
75056         before falling back on save_cwd and restore_cwd.
75057         (fdopendir, fstatat, unlinkat): Likewise.
75058
75059         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
75060         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
75061
75062         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
75063         as second argument to va_arg.  Otherwise, some versions of gcc
75064         warn that `if this code is reached, the program will abort'.
75065
75066 2006-01-09  Jim Meyering  <jim@meyering.net>
75067
75068         Sync from coreutils.
75069         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
75070         Require openat-priv.h.
75071
75072 2006-01-09  Bruno Haible  <bruno@clisp.org>
75073
75074         * modules/strnlen (Include): Use strnlen.h.
75075
75076 2006-01-09  Bruno Haible  <bruno@clisp.org>
75077
75078         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
75079
75080 2006-01-09  Bruno Haible  <bruno@clisp.org>
75081
75082         * lib/sysexit_.h (EX_OK): New macro.
75083         Suggested by Martin Lambers <marlam@marlam.de>.
75084
75085 2006-01-09  Bruno Haible  <bruno@clisp.org>
75086
75087         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
75088         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
75089
75090 2006-01-09  Bruno Haible  <bruno@clisp.org>
75091
75092         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
75093         numbers.
75094
75095 2006-01-09  Bruno Haible  <bruno@clisp.org>
75096
75097         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
75098         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
75099         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
75100         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
75101
75102 2006-01-09  Bruno Haible  <bruno@clisp.org>
75103
75104         * build-aux/javacomp.sh.in: New file, moved from lib/.
75105         * modules/javacomp-script (Files): Update.
75106         (configure.ac): Add AC_CONFIG_FILES invocation.
75107         (EXTRA_DIST): Remove variable.
75108
75109         * build-aux/javaexec.sh.in: New file, moved from lib/.
75110         * modules/javaexec (Files): Update.
75111         (configure.ac): Add AC_CONFIG_FILES invocation.
75112         (EXTRA_DIST): Remove javaexec.sh.in.
75113
75114         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
75115         * modules/csharpcomp-script (Files): Update.
75116         (configure.ac): Add AC_CONFIG_FILES invocation.
75117         (EXTRA_DIST): Remove variable.
75118
75119         * build-aux/csharpexec.sh.in: New file, moved from lib/.
75120         * modules/csharpexec (Files): Update.
75121         (configure.ac): Add AC_CONFIG_FILES invocation.
75122         (EXTRA_DIST): Remove csharpexec.sh.in.
75123
75124 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
75125
75126         Sync from coreutils.
75127
75128         Add POSIX ACL support
75129         * lib/acl.h (copy_acl, set_acl): Add declarations.
75130         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
75131         systems other than Linux.
75132         (chmod_or_fchmod): New function: use fchmod when possible,
75133         and chmod otherwise.
75134         (file_has_acl): Add a POSIX ACL implementation, with a
75135         Linux-specific subcase.
75136         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
75137         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
75138         acls are unsupported.
75139         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
75140         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
75141         are unsupported.
75142
75143 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
75144
75145         Sync from coreutils.
75146         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
75147
75148 2006-01-07  Bruno Haible  <bruno@clisp.org>
75149
75150         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
75151         gl_EARLY.
75152
75153 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75154
75155         * lib/strftime.c (tzname): Don't declare if it is already #defined.
75156         Problem reported for Mingw by Mark Junker.
75157
75158 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75159
75160         * README: Gnulib normally doesn't generate a tarball.
75161
75162 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
75163
75164         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
75165         long int, not int, for nanosecond counts, so that people who are
75166         used to POSIX struct timespec won't be surprised.  Reported by Jim
75167         Meyering.
75168
75169 2005-12-28  Bruno Haible  <bruno@clisp.org>
75170
75171         * build-aux/config.rpath: Update from GNU gettext.
75172
75173 2005-12-16  Jim Meyering  <jim@meyering.net>
75174
75175         * modules/fprintftime: New module.
75176         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
75177
75178 2005-12-16  Jim Meyering  <jim@meyering.net>
75179
75180         * m4/fprintftime.m4: New file.
75181
75182 2005-12-16  Jim Meyering  <jim@meyering.net>
75183
75184         * lib/fprintftime.c, lib/fprintftime.h: New files.
75185
75186 2005-12-15  Simon Josefsson  <jas@extundo.com>
75187
75188         * modules/socklen (configure.ac): Fix M4 macro name, to align with
75189         new m4/socklen.m4.
75190
75191 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75192
75193         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
75194         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
75195
75196 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75197
75198         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
75199         * lib/argp-help.c (fill_in_uparams): Check if the constructed
75200         struct uparams is valid. Fall back to the default values if it is
75201         not.
75202
75203 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75204
75205         * modules/argp (Files): Add argp-pin.c
75206         (Depends-on): dirname
75207         (lib_SOURCES): Add argp-pin.c
75208
75209 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75210
75211         * m4/argp.m4:  Check if program_invocation_name and
75212         program_invocation_short_name are declared and define appropriate
75213         macros if they are not.
75214
75215 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75216
75217         * lib/argp-help.c (__argp_base_name): New function
75218         (__argp_short_program_name): Rewrite using __argp_base_name
75219         * lib/argp-namefrob.h: Define program_invocation_name and
75220         program_invocation_short_name if requested
75221         (__argp_base_name): Add prototype
75222         * lib/argp-parse.c (argp_def): Use gettext wrappers
75223         (argp_default_parser): Use __argp_base_name
75224         * lib/argp-pin.c: New file. Defines program_invocation_name and
75225         program_invocation_short_name on systems that lack them.
75226
75227 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75228
75229         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
75230         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
75231         porting problem reported by Georg Schwarz in
75232         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
75233
75234 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75235
75236         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
75237         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
75238         porting problem reported by Georg Schwarz in
75239         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
75240
75241 2005-12-05  Bruno Haible  <bruno@clisp.org>
75242
75243         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
75244         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
75245         Reported by Mark Junker <mjscod@gmx.de>.
75246
75247 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
75248
75249         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
75250         Use implementation from Albert Chin, with some
75251         comments/corrections by Stepan Kasal and myself.
75252
75253 2005-12-02  Bruno Haible  <bruno@clisp.org>
75254
75255         * gnulib-tool (func_import): Accept GPLed build tool modules when
75256         --lgpl is given.
75257         * modules/csharpcomp-script: New file.
75258         * modules/csharpcomp: Depend on it.
75259         * modules/javacomp-script: New file.
75260         * modules/javacomp: Depend on it.
75261         Suggested by Simon Josefsson.
75262
75263 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
75264
75265         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
75266         statement, to work around an HP-UX 10.20 compiler bug reported by
75267         Peter O'Gorman.
75268
75269 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
75270
75271         * modules/savedir (Depends-on): Add openat.
75272
75273 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
75274
75275         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
75276         (uintmax_t) [defined uintmax_t]: Do not declare.
75277         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
75278         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
75279         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
75280         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
75281         sake of portability to weird hosts that C allows (though we don't
75282         know of any practical examples).
75283
75284         * lib/savedir.h (fdsavedir): New decl.
75285         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
75286         contains most of the former guts of savedir.
75287         (savedir): Use savedirstream.
75288         Include "openat.h".
75289
75290 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
75291
75292         * modules/obstack (Files): Add m4/ulonglong.m4.
75293         Problem reported by Davide Angelocola.
75294
75295 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
75296
75297         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
75298         coreutils no longer futzes with rounding modes.
75299
75300 2005-11-14  Jim Meyering  <jim@meyering.net>
75301
75302         * lib/mkstemp-safer.c: Include <config.h>, required for possible
75303         replacement of mkstemp.
75304
75305 2005-11-10  Simon Josefsson  <jas@extundo.com>
75306
75307         * lib/readline.c: Remove EOL.
75308
75309 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75310
75311         * modules/gethrxtime (Depends-on): Add gettime.
75312
75313 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75314
75315         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
75316         or gettimeofday; no longer needed.
75317
75318 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75319
75320         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
75321         time business.
75322         (gethrxtime) [! (HAVE_NANOUPTIME
75323         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
75324         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
75325         our own approximation.
75326
75327 2005-11-08  Eric Blake  <ebb9@byu.net>
75328
75329         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
75330
75331 2005-11-08  Eric Blake  <ebb9@byu.net>
75332
75333         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
75334
75335 2005-11-04  Bruno Haible  <bruno@clisp.org>
75336
75337         * gnulib-tool: Implement --update mode.
75338
75339 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
75340
75341         Fix porting problem reported by Theodoros V. Kalamatianos.
75342         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
75343         Don't assume that futimes failing means we must fail.
75344
75345 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
75346
75347         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
75348         variables to suggest the intended function of the PATH_MAX check.
75349
75350 2005-10-30  Kean Johnston  <jkj@sco.com>
75351
75352         Trivial changes to support SCO systems.
75353         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
75354         as PATH_MAX.
75355         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
75356         where __ptr is null when no I/O is pending.
75357
75358 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
75359
75360         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
75361         leave errno alone.  Problem reported by Dmitry V. Levin.
75362
75363 2005-10-28  Simon Josefsson  <jas@extundo.com>
75364
75365         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
75366         Test more.
75367
75368         * tests/test-gc-md2.c, tests/test-md2.c: New files.
75369
75370         * modules/md2, modules/md2-tests: New files.
75371
75372 2005-10-28  Simon Josefsson  <jas@extundo.com>
75373
75374         * m4/inet_ntop.m4: More tests.
75375
75376         * m4/gc-md2.m4, md2.m4: New file.
75377
75378 2005-10-28  Simon Josefsson  <jas@extundo.com>
75379
75380         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
75381         "restrict" keywords, as per POSIX.  Protect the function
75382         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
75383         Don't use K&R prototypes.  Check the sprintf return values.
75384         Re-define EAFNOSUPPORT if not present.  Indent.
75385
75386         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
75387         suggested by Bruno Haible <bruno@clisp.org>.
75388
75389         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
75390
75391         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
75392
75393         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
75394         libgcrypt).
75395
75396         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
75397
75398         * lib/md2.h, lib/md2.c: New files.
75399
75400 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
75401
75402         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
75403         errno alone.  Problem reported by Frederic Jolliton.
75404
75405 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
75406
75407         * modules/verify (License): Change from GPL to LGPL.  This is a
75408         tiny module and there are apparently near-equivalents that are
75409         under the BSD license.
75410
75411 2005-10-24  Simon Josefsson  <jas@extundo.com>
75412
75413         * modules/sha1: Relicense to LGPL.
75414
75415 2005-10-24  Simon Josefsson  <jas@extundo.com>
75416
75417         * lib/md4.h: Shrink buffer size, now that we changed the type.
75418
75419 2005-10-23  Simon Josefsson  <jas@extundo.com>
75420
75421         * gnulib-tool (func_import): Fix --tests-base.
75422
75423 2005-10-22  Simon Josefsson  <jas@extundo.com>
75424
75425         * modules/arcfour (Depends-on): Need stdint.
75426
75427 2005-10-22  Simon Josefsson  <jas@extundo.com>
75428
75429         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
75430         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
75431
75432 2005-10-22  Simon Josefsson  <jas@extundo.com>
75433
75434         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
75435         suggested by Bruno Haible <bruno@clisp.org>.
75436
75437 2005-10-22  Simon Josefsson  <jas@extundo.com>
75438
75439         * lib/crc.h: Include stddef.h, for size_t.
75440
75441 2005-10-22  Simon Josefsson  <jas@extundo.com>
75442
75443         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
75444         arcfour_context struct (simplify test vector testing in GNU
75445         Shishi).
75446
75447 2005-10-21  Simon Josefsson  <jas@extundo.com>
75448
75449         * modules/des, modules/des-tests: New files.
75450
75451         * modules/gc-des, modules/gc-des-tests: New files.
75452
75453         * tests/test-des.c, tests/test-gc-des.c: New file.
75454
75455 2005-10-21  Simon Josefsson  <jas@extundo.com>
75456
75457         * modules/arctwo, modules/arctwo-tests: New files.
75458
75459         * tests/test-arctwo.c: New file.
75460
75461         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
75462
75463         * tests/test-gc-arctwo.c: New file.
75464
75465 2005-10-21  Simon Josefsson  <jas@extundo.com>
75466
75467         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
75468         Bruno Haible <bruno@clisp.org>.
75469
75470         * m4/gc-des.m4: New file.
75471
75472 2005-10-21  Simon Josefsson  <jas@extundo.com>
75473
75474         * m4/arctwo.m4: New file.
75475
75476         * m4/gc-arctwo.m4: New file.
75477
75478 2005-10-21  Simon Josefsson  <jas@extundo.com>
75479
75480         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
75481         block.
75482
75483 2005-10-21  Simon Josefsson  <jas@extundo.com>
75484
75485         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
75486         <bruno@clisp.org>.
75487
75488         * lib/hmac-sha1.c (hmac_sha1): Likewise.
75489
75490         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
75491         Bruno Haible <bruno@clisp.org>.
75492
75493         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
75494         <bruno@clisp.org>.
75495
75496 2005-10-21  Simon Josefsson  <jas@extundo.com>
75497
75498         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
75499
75500 2005-10-21  Simon Josefsson  <jas@extundo.com>
75501
75502         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
75503
75504 2005-10-21  Simon Josefsson  <jas@extundo.com>
75505
75506         * lib/des.h, lib/des.c: New files.
75507
75508         * lib/gc-gnulib.c: Support DES.c
75509
75510 2005-10-21  Simon Josefsson  <jas@extundo.com>
75511
75512         * lib/arctwo.h, lib/arctwo.c: New files.
75513
75514         * lib/gc-gnulib.c: Support ARCTWO.
75515
75516 2005-10-21  Simon Josefsson  <jas@extundo.com>
75517
75518         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
75519         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75520
75521 2005-10-21  Simon Josefsson  <jas@extundo.com>
75522
75523         * gnulib-tool (func_import, func_create_testdir): Define automake
75524         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
75525         Makefile.am snippet),
75526         suggested by Bruno Haible <bruno@clisp.org>.
75527
75528         * modules/gc (Makefile.am): Use it.
75529
75530 2005-10-21  Bruno Haible  <bruno@clisp.org>
75531
75532         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
75533         patch.
75534
75535 2005-10-19  Simon Josefsson  <jas@extundo.com>
75536
75537         * tests/test-gc-rijndael.c: New file.
75538
75539         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
75540
75541 2005-10-19  Simon Josefsson  <jas@extundo.com>
75542
75543         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
75544         interface too.
75545
75546 2005-10-19  Simon Josefsson  <jas@extundo.com>
75547
75548         * tests/test-gc-arcfour.c: New file.
75549
75550         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
75551
75552 2005-10-19  Simon Josefsson  <jas@extundo.com>
75553
75554         * modules/gc-md4, modules/gc-md4-tests: New file.
75555
75556         * tests/test-gc-md4.c: New file.
75557
75558 2005-10-19  Simon Josefsson  <jas@extundo.com>
75559
75560         * m4/gc-md4.m4: New file.
75561
75562 2005-10-19  Simon Josefsson  <jas@extundo.com>
75563
75564         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
75565         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
75566         <kasal@ucw.cz>.
75567
75568 2005-10-19  Simon Josefsson  <jas@extundo.com>
75569
75570         * m4/gc-arcfour.m4: New file.
75571
75572         * m4/gc-rijndael.m4: New file.
75573
75574 2005-10-19  Simon Josefsson  <jas@extundo.com>
75575
75576         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
75577
75578 2005-10-19  Simon Josefsson  <jas@extundo.com>
75579
75580         * lib/gc-gnulib.c: Support ARCFOUR.
75581
75582 2005-10-19  Simon Josefsson  <jas@extundo.com>
75583
75584         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
75585         support.
75586
75587         * lib/gc.h: Add ECB enum type.
75588
75589         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
75590
75591 2005-10-18  Simon Josefsson  <jas@extundo.com>
75592
75593         * tests/test-md5.c: New file.
75594
75595         * modules/md5-tests: New file.
75596
75597 2005-10-18  Simon Josefsson  <jas@extundo.com>
75598
75599         * tests/test-md4.c: New file.
75600
75601         * modules/md4, modules/md4-tests: New files.
75602
75603 2005-10-18  Simon Josefsson  <jas@extundo.com>
75604
75605         * m4/md4.m4: New file.
75606
75607 2005-10-18  Simon Josefsson  <jas@extundo.com>
75608
75609         * lib/md4.h, lib/md4.c: New files, based on md5.?.
75610
75611 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
75612
75613         * gnulib-tool (func_create_testdir): Omit the second check whether
75614         BUILT_SOURCES in nonempty.
75615
75616 2005-10-17  Simon Josefsson  <jas@extundo.com>
75617
75618         * tests/test-rijndael.c: New file.
75619
75620 2005-10-17  Simon Josefsson  <jas@extundo.com>
75621
75622         * modules/sha1: Depend on stdint instead of md5.
75623
75624         * modules/md5: Depend on stdint, remove uint32_t.
75625
75626 2005-10-17  Simon Josefsson  <jas@extundo.com>
75627
75628         * modules/gc-sha1-tests: New file.
75629
75630         * tests/test-gc-sha1.c: New file.
75631
75632 2005-10-17  Simon Josefsson  <jas@extundo.com>
75633
75634         * m4/md5.m4: Remove call to uint32_t.m4.
75635
75636 2005-10-17  Simon Josefsson  <jas@extundo.com>
75637
75638         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
75639
75640         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
75641         md5.h.
75642
75643         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
75644
75645         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
75646
75647 2005-10-17  Simon Josefsson  <jas@extundo.com>
75648
75649         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
75650
75651 2005-10-17  Simon Josefsson  <jas@extundo.com>
75652
75653         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
75654
75655 2005-10-17  Simon Josefsson  <jas@extundo.com>
75656
75657         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
75658
75659         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
75660
75661 2005-10-17  Bruno Haible  <bruno@clisp.org>
75662
75663         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
75664         that it can also be used in a test.
75665
75666 2005-10-16  Bruno Haible  <bruno@clisp.org>
75667
75668         * gnulib-tool (func_emit_tests_Makefile_am): Also define
75669         TESTS_ENVIRONMENT, so that individual tests can augment it.
75670
75671         * gnulib-tool (func_create_testdir): Use an intermediate target for
75672         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
75673         macros, like $(ALLOCA_H), which cannot be passed through the command
75674         line.
75675
75676 2005-10-15  Simon Josefsson  <jas@extundo.com>
75677
75678         * modules/rijndael-tests: New file.
75679
75680         * modules/rijndael: New file.
75681
75682 2005-10-15  Simon Josefsson  <jas@extundo.com>
75683
75684         * m4/rijndael.m4: New file.
75685
75686 2005-10-15  Simon Josefsson  <jas@extundo.com>
75687
75688         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
75689
75690         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
75691
75692 2005-10-14  Simon Josefsson  <jas@extundo.com>
75693
75694         * tests/test-arcfour.c: New file.
75695
75696         * modules/arcfour, modules/arcfour-tests: New files.
75697
75698 2005-10-14  Simon Josefsson  <jas@extundo.com>
75699
75700         * m4/arcfour.m4: New file.
75701
75702 2005-10-14  Simon Josefsson  <jas@extundo.com>
75703
75704         * lib/arcfour.h, lib/arcfour.c: New files.
75705
75706 2005-10-14  Roland McGrath  <roland@redhat.com>
75707
75708         Import from libc.  [BZ #1331]
75709         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
75710         macro argument.
75711         Reported by Matej Vela <vela@debian.org>.
75712
75713 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
75714
75715         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
75716         include <wchar.h>; no longer needed.
75717
75718 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
75719
75720         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
75721
75722 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
75723         and  Ulrich Drepper  <drepper@redhat.com>
75724
75725         Import from libc.
75726         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
75727         instead of inline stream orientation test and two separate
75728         function calls.  Pay no attention to USE_IN_LIBIO.
75729
75730 2005-10-13  Simon Josefsson  <jas@extundo.com>
75731
75732         * modules/gc-hmac-md5-tests: New file.
75733
75734         * tests/test-gc-hmac-sha1.c: New file.
75735
75736         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
75737
75738         * modules/gc-hmac-md5-tests: New file.
75739
75740         * tests/test-gc-md5.c: New file.
75741
75742         * modules/gc-md5-tests: New file.
75743
75744 2005-10-13  Simon Josefsson  <jas@extundo.com>
75745
75746         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
75747         Move memory allocation outside of loop.
75748
75749 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
75750
75751         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
75752         intermediate directory is in a read-only file system.  Problem
75753         reported by Eric Blake.
75754
75755 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
75756
75757         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
75758
75759 2005-10-12  Simon Josefsson  <jas@extundo.com>
75760
75761         * tests/test-hmac-sha1.c: New file.
75762
75763         * modules/hmac-sha1-tests: New file.
75764
75765         * modules/hmac-sha1: New file.
75766
75767 2005-10-12  Simon Josefsson  <jas@extundo.com>
75768
75769         * modules/gc-sha1: New file.
75770
75771 2005-10-12  Simon Josefsson  <jas@extundo.com>
75772
75773         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
75774
75775         * tests/test-gc-pbkdf2-sha1.c: New file.
75776
75777 2005-10-12  Simon Josefsson  <jas@extundo.com>
75778
75779         * modules/gc-md5, modules/gc-hmac-md5: New files.
75780
75781         * modules/gc (Files): Remove md5, memxor and hmac files.
75782
75783 2005-10-12  Simon Josefsson  <jas@extundo.com>
75784
75785         * m4/gc-pbkdf2-sha1.m4: New file.
75786
75787         * m4/gc-hmac-sha1.m4: New file.
75788
75789         * m4/gc-sha1: New file.
75790
75791         * m4/hmac-sha1.m4: New file.
75792
75793 2005-10-12  Simon Josefsson  <jas@extundo.com>
75794
75795         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
75796
75797         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
75798
75799 2005-10-12  Simon Josefsson  <jas@extundo.com>
75800
75801         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
75802         suggested by Bruno Haible <bruno@clisp.org>.
75803
75804 2005-10-12  Simon Josefsson  <jas@extundo.com>
75805
75806         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
75807
75808 2005-10-12  Simon Josefsson  <jas@extundo.com>
75809
75810         * lib/gc-pbkdf2-sha1.c: New file.
75811
75812         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
75813
75814 2005-10-12  Simon Josefsson  <jas@extundo.com>
75815
75816         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
75817
75818         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
75819
75820 2005-10-12  Simon Josefsson  <jas@extundo.com>
75821
75822         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
75823         GC_USE_HMAC_MD5, respectively.
75824
75825         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
75826         (gc_md5): Fix typo.
75827
75828         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
75829
75830         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
75831
75832         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
75833
75834 2005-10-12  Bruno Haible  <bruno@clisp.org>
75835
75836         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
75837         Reported by Stepan Kasal <kasal@ucw.cz>.
75838
75839 2005-10-11  Simon Josefsson  <jas@extundo.com>
75840
75841         * tests/test-crc.c: New file.
75842
75843         * modules/crc, modules/crc-tests: New files.
75844
75845 2005-10-11  Simon Josefsson  <jas@extundo.com>
75846
75847         * m4/crc.m4: New file.
75848
75849 2005-10-11  Simon Josefsson  <jas@extundo.com>
75850
75851         * lib/gc.h: Add gc_hash and gc_hash_buffer.
75852
75853         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
75854
75855         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
75856
75857 2005-10-11  Simon Josefsson  <jas@extundo.com>
75858
75859         * lib/crc.h, lib/crc.c: New files.
75860
75861         * lib/gc.h (gc_hash_buffer): Add doc.
75862
75863 2005-10-11  Bruno Haible  <bruno@clisp.org>
75864
75865         * modules/c-strcasestr: New file.
75866         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
75867
75868 2005-10-11  Bruno Haible  <bruno@clisp.org>
75869
75870         * modules/c-strcase: New file.
75871         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
75872
75873 2005-10-11  Bruno Haible  <bruno@clisp.org>
75874
75875         * lib/strcasecmp.c: Include limits.h.
75876         (strcasecmp): Avoid integer overflow on exotic platforms.
75877         * lib/strncasecmp.c: Include limits.h.
75878         (strncasecmp): Avoid integer overflow on exotic platforms.
75879         Reported by Paul Eggert.
75880
75881 2005-10-11  Bruno Haible  <bruno@clisp.org>
75882
75883         * lib/c-strcasestr.h: New file, from GNU gettext.
75884         * lib/c-strcasestr.c: New file, from GNU gettext.
75885
75886 2005-10-11  Bruno Haible  <bruno@clisp.org>
75887
75888         * lib/c-strcase.h: New file, from GNU gettext.
75889         * lib/c-strcasecmp.c: New file, from GNU gettext.
75890         * lib/c-strncasecmp.c: New file, from GNU gettext.
75891
75892 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
75893
75894         * modules/mempcpy (License): GPL -> LGPL.
75895         * modules/strchrnul (License): Likewise.
75896         * modules/sysexits (License): Likewise.
75897
75898 2005-10-08  Simon Josefsson  <jas@extundo.com>
75899
75900         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
75901
75902 2005-10-07  Simon Josefsson  <jas@extundo.com>
75903
75904         * m4/memxor.m4: Remove gl_C_RESTRICT call.
75905
75906 2005-10-06  Simon Josefsson  <jas@extundo.com>
75907
75908         * tests/test-hmac-md5.c: New file.
75909
75910         * modules/hmac-md5-tests: New file.
75911
75912         * modules/hmac-md5: New file.
75913
75914 2005-10-06  Simon Josefsson  <jas@extundo.com>
75915
75916         * m4/hmac-md5.m4: New file.
75917
75918         * m4/memxor.m4: Require gl_C_RESTRICT.
75919
75920 2005-10-06  Simon Josefsson  <jas@extundo.com>
75921
75922         * lib/memxor.c (memxor): Avoid casts and warnings.
75923
75924 2005-10-06  Simon Josefsson  <jas@extundo.com>
75925
75926         * lib/hmac-md5.c: New file.
75927
75928         * lib/hmac.h: New file.
75929
75930 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
75931
75932         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
75933         promotes to int, not unsigned int, to catch the AIX 5.3
75934         compiler bug.
75935
75936 2005-10-05  Simon Josefsson  <jas@extundo.com>
75937
75938         * modules/memxor: New file.
75939
75940         * modules/iconv (Files): Move config.rpath to havelib, it is used
75941         there.
75942
75943         * modules/havelib (Files): Add config.rpath.
75944
75945 2005-10-05  Simon Josefsson  <jas@extundo.com>
75946
75947         * m4/memxor.m4: New file.
75948
75949 2005-10-05  Simon Josefsson  <jas@extundo.com>
75950
75951         * lib/memxor.c (memxor): Fix compiler error.
75952
75953         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
75954         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
75955
75956         * lib/memxor.h, lib/memxor.c: New files.
75957
75958         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
75959         we assume all systems have it, suggested by Jim Meyering
75960         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
75961         any systems lack sys/socket.h; mingw32 is known to lack it, but we
75962         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
75963         same reasons.
75964
75965 2005-10-05  Simon Josefsson  <jas@extundo.com>
75966
75967         * config/srclist.txt: Add glibc bug 1423 for md5.h.
75968
75969 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
75970
75971         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
75972         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
75973         needed, since the source code now assumes these .h files.
75974
75975 2005-10-05  Derek Price  <derek@ximbiot.com>
75976
75977         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
75978
75979 2005-10-05  Bruno Haible  <bruno@clisp.org>
75980
75981         * modules/stdint (License): Change to LGPL.
75982
75983 2005-10-04  Simon Josefsson  <jas@extundo.com>
75984
75985         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
75986         D. Baushke" <mdb@gnu.org>.
75987
75988 2005-10-04  Bruno Haible  <bruno@clisp.org>
75989
75990         * lib/verify.h (verify_true): Provide alternative definition for C++.
75991
75992 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
75993
75994         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
75995         (SSIZE_MAX): New macro, if not already defined.
75996         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
75997         than 2 GiB.
75998
75999 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76000
76001         Sync from coreutils.
76002         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
76003         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
76004         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
76005         ULLONG_MAX doesn't work with 2.7.2.1.
76006
76007 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76008
76009         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
76010         From Ben Pfaff.
76011
76012         * modules/exclude (Depends-on): Depend on verify.
76013         * modules/strtoimax (Depends-on): Likewise.
76014         * modules/utimecmp (Depends-on): Likewise.
76015
76016 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76017
76018         * lib/exclude.c: Include verify.h.
76019         (verify): Remove.  All callers changed to use verify.h's version.
76020         * lib/strtoimax.c: Likewise.
76021         * lib/utimecmp.c: Likewis.e
76022
76023         Sync from coreutils.
76024         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
76025         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
76026         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
76027         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
76028         bother returning ENOSYS if settimeofday or stime fails; just let
76029         them return whatever errno they want to return.
76030         * lib/utimens.c: Include unistd.h, for dup2.
76031         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
76032         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
76033
76034 2005-10-02  Jim Meyering  <jim@meyering.net>
76035
76036         Sync from coreutils.
76037         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
76038         from glibc-2.2.5 that fails for read-only files.
76039
76040 2005-10-02  Jim Meyering  <jim@meyering.net>
76041
76042         Sync from coreutils.
76043         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
76044         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
76045         `#if HAVE_CONFIG_H'.
76046         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
76047         Remove AT_FDCWD test.
76048         Do not consume the fd unless successful.
76049         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
76050         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
76051         block, so that we don't even try to compile it if settimeofday is
76052         available.  This works around a compilation failure on OSF1 V5.1,
76053         due to stime requiring a `long int*' while tv_sec is `int'.
76054
76055 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
76056
76057         Sync from coreutils.
76058         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
76059         against `yes', rather than just testing for nonempty.
76060
76061 2005-10-01  Simon Josefsson  <jas@extundo.com>
76062
76063         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
76064         and Darwin.
76065
76066         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
76067         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
76068         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
76069         freeaddrinfo and gai_strerror are declared by the POSIX headers.
76070         Check if struct addrinfo is declared.
76071
76072 2005-10-01  Simon Josefsson  <jas@extundo.com>
76073
76074         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
76075         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
76076         AI_* and EAI_* definitions.  Protect function declarations.
76077
76078 2005-10-01  Jim Meyering  <jim@meyering.net>
76079
76080         Sync from coreutils.
76081
76082         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
76083         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
76084         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
76085         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
76086         in the inet and nsl libraries.  Required on Solaris 5.7.
76087
76088 2005-10-01  Jim Meyering  <jim@meyering.net>
76089
76090         Sync from coreutils.
76091         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
76092         in the inet and nsl libraries.  Required on Solaris 5.7.
76093
76094 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
76095
76096         * lib/getdelim.c (getdelim): Remove unused variables.
76097
76098 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
76099
76100         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
76101         so that the code works even with ancient cpp.  Portability problem
76102         with GCC 2.7.2.1 reported by Thomas M.Ott.
76103
76104 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
76105
76106         * modules/regex (Depends-on): Add strcase.
76107
76108         * modules/gethostname (Licence): Change from GPL to LGPL, since
76109         gethostname.c is a trivial implementation of a standard library
76110         function.
76111         * modules/poll (License): Change from GPL to LGPL, since it's
76112         derived from LGPL code.
76113
76114 2005-09-27  Jim Meyering  <jim@meyering.net>
76115
76116         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
76117         HAVE_CONFIG_H.
76118
76119         * lib/intprops.h (signed_type_or_expr__): Define.
76120         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
76121         for unsigned types.
76122
76123 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
76124
76125         * lib/verify.h (verify_expr): Remove, replacing with:
76126         (verify_true): New macro that returns true instead of void.
76127         (verify_type__): Remove.
76128         (verify): Use verify_true rather than verify_type__.
76129
76130 2005-09-26  Bruno Haible  <bruno@clisp.org>
76131
76132         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
76133         is necessary.
76134         (lib_SOURCES): Remove mbchar.c.
76135         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
76136         (Files): Add m4/mbrtowc.m4.
76137         * modules/mbiter: Likewise.
76138         * modules/mbuiter: Likewise.
76139
76140 2005-09-26  Bruno Haible  <bruno@clisp.org>
76141
76142         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
76143         compile mbchar.c if they are not both present.
76144         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
76145         * m4/mbiter.m4 (gl_MBITER): Likewise.
76146         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
76147         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
76148         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
76149
76150 2005-09-25  Jim Meyering  <jim@meyering.net>
76151
76152         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
76153         also uses socklen_t.
76154
76155 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
76156
76157         * lib/utimens.c (ENOSYS): Define if not already defined.
76158         (futimens): Support having a null PATH if the file descriptor
76159         is nonnegative.
76160
76161         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
76162         Remove.
76163         (__attribute): Define to empty unless GCC 3.1 or later.
76164         This works around a core dump on OpenBSD 3.4, which has GCC
76165         2.95.3, which dumps core when given __attribute__(()).  It also
76166         simplifies other tests, since we really don't want to bother with
76167         worrying about which ancient version of GCC supported what.
76168         Original problem reported by Yoann Vandoorselaere, with part of
76169         the fix suggested by Derek Price.
76170
76171 2005-09-24  Jim Meyering  <jim@meyering.net>
76172
76173         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
76174         so we can once again use a positive bitfield width of 1 -- now we
76175         don't have to explain why we were using a bitfield width of 2.
76176
76177 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
76178
76179         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
76180         and similarly for the other external symbols.  Problem reported
76181         by James Gallager.
76182
76183         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
76184         bug reported by Jim Meyering.
76185
76186         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
76187         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
76188         not needed, since socklen is a prerequisite module.
76189
76190 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
76191
76192         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
76193         Problem reported by Eric Blake.
76194         (getaddrinfo): Initialize se so that it's not garbage.
76195         Redo internal storage allocation so that it doesn't make unportable
76196         assumptions about alignment.
76197         Fix a memory leak.
76198
76199         * lib/utimens.c (futimens): Use futimesat if available.
76200         Prefer it to futimes since it doesn't have the futimes bug.
76201
76202         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
76203         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
76204         Instead, declare a function that returns a pointer to an array,
76205         and use verify_type__ to declare the size of the array.
76206         Problem and germ of a solution reported by Bruno Haible.
76207         (verify_type__): Use 2, not 1, for bitfield size, to avoid
76208         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
76209
76210 2005-09-23  Jim Meyering  <jim@meyering.net>
76211
76212         Sync from coreutils.
76213         Correct build failure (socklen_t not defined) on at least
76214         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
76215         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
76216
76217 2005-09-23  Jim Meyering  <jim@meyering.net>
76218
76219         * modules/getaddrinfo (Depends-on): Add socklen.
76220
76221 2005-09-23  Bruno Haible  <bruno@clisp.org>
76222
76223         * tests/test-verify.c: New file.
76224
76225 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76226
76227         Sync from coreutils.
76228
76229         * modules/argmatch (Depends-on): Add verify.
76230         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
76231         unistd-safer.
76232         * modules/save-cwd (Depends-on): Likewise.
76233
76234         * modules/openat (Files): Add lib/openat-die.c.
76235         (Depends-on): Remove error, exitfail.
76236         Add dirname.
76237
76238         * modules/verify: New file.
76239         * MODULES.html.sh (Diagnostics <assert.h>): New section,
76240         with "verify" module.
76241
76242 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76243
76244         Sync from coreutils.
76245
76246         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
76247         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
76248         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
76249         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
76250         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
76251         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
76252         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
76253         Don't bother checking for string.h, stdlib.h, unistd.h.
76254         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
76255         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
76256         module's job.
76257         * m4/jm-macros.m4 (gl_MACROS): Likewise.
76258         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
76259
76260         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
76261         (gl_GETDATE): Use it.
76262
76263         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
76264
76265 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76266
76267         Sync from coreutils.
76268
76269         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
76270         stat-time.h.
76271         * lib/argmatch.h: Include verify.h
76272         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
76273         (ARGMATCH_ASSERT): Remove; unused.
76274         * lib/canonicalize.c: Assume STDC_HEADERS.
76275         * lib/exclude.c: Include "strcase.h".
76276         * lib/regex_internal.h [!defined _LIBC]: Likewise.
76277         * lib/getusershell.c: Include stdio--.h rather than stdio.h
76278         and stdio-safer.h.
76279         (getusershell): Call fopen, not fopen_safer.
76280         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
76281         Do not include unistd-safer.h.
76282         (save_cwd): Don't call fd_safer; no longer needed
76283         now that we include fcntl--.h.
76284
76285         * lib/getdate.y (relative_time): New type.
76286         (RELATIVE_TIME_0): New constant.
76287         (parser_control): Use relative_time instead of doing it ourselves.
76288         (%union): Add new relative_time rel member.
76289         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
76290         Now typeless.
76291         (relunit, relunit_snumber): Now of type rel.
76292         (zone, rel, relunit, get_date): Adjust to above changes.
76293
76294         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
76295         Do not include unistd-safer.h.
76296         (getloadavg): Don't call fd_safer; no longer needed
76297         now that we include fcntl--.h.
76298
76299         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
76300         (make_dir_parents): Treat ENOSYS like EEXIST.
76301
76302         Improve quality of diagnostics on restore_cwd failure.
76303         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
76304         (make_dir_parents): Last arg is now int * (for errno), not bool *.
76305         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
76306         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
76307         each time through the loop.  Do not diagnose restore_cwd failure;
76308         that is the caller's job (and perhaps the caller does not care).
76309
76310         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
76311         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
76312         If the file already exists but is not a directory, don't bother
76313         to try to make its parents.
76314         Close potential file descriptor leak if we can't chdir("/") (!).
76315         Don't always return true if chdir($PWD) fails; return true only
76316         if the requested action was done successfully (except for the
76317         chdir($PWD)).
76318         Don't log final directory unless we actually made it.
76319         Refactor to avoid duplicate code to fix up permissions.
76320         Don't attempt to fix up parent permissions if chdir($PWD) fails.
76321
76322         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
76323         to make it a bit faster and (I hope) clearer.
76324         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
76325         Fix bug in formats like %2N.
76326
76327         * lib/verify.h: New file.
76328
76329 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76330
76331         Sync from coreutils.
76332         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
76333
76334 2005-09-22  Jim Meyering  <jim@meyering.net>
76335
76336         Sync from coreutils.
76337
76338         * m4/lstat.m4 (gl_FUNC_LSTAT):
76339         Use AC_LIBSOURCES to require lstat.c and lstat.h.
76340         Remove obsolete comment.
76341         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
76342         * m4/xstrtod.m4: Likewise.
76343
76344         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
76345
76346 2005-09-22  Jim Meyering  <jim@meyering.net>
76347
76348         Sync from coreutils.
76349
76350         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
76351
76352         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
76353         the .tm_year member, since otherwise gcc-4.0 would now warn about
76354         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
76355
76356         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
76357         order to avoid an unsuppressible warning from gcc on 64-bit systems.
76358
76359         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
76360         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
76361         when run in a time zone for which daylight savings time is in effect
76362         for the starting date.
76363
76364         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
76365         stop us from restricting permissions of just-created absolute-named
76366         directories.
76367         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
76368         to restore initial working directory.
76369         * lib/mkdir-p.c (make_dir_parents): New parameter:
76370         different_working_dir, to tell caller if/when we change the working
76371         directory and are unable to return to the initial one.
76372         * lib/mkdir-p.h (make_dir_parents): Update prototype.
76373         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
76374         `return false'.  This fixes a bug introduced on 2004-07-30.
76375
76376         * lib/openat.c (fdopendir): Be sure to close the supplied
76377         file descriptor before returning.  This makes our replacement
76378         implementation a little closer to Solaris's, where fdopendir
76379         ties the file descriptor to the returned DIR* pointer.
76380         * lib/openat.c (unlinkat): New function.
76381         * lib/openat.h (unlinkat): Add prototype.
76382         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
76383         (openat_restore_fail): Rename from openat_restore_die.
76384         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
76385
76386         Provide an alternative to exiting immediately upon save_cwd or
76387         restore_cwd failure.  Now, an application can arrange e.g.,
76388         to perform a longjump in that case.
76389         * lib/openat.c: Include dirname.h.
76390         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
76391         (rpl_openat, fdopendir, fstatat): Call openat_save_die
76392         and openat_restore_die rather than calling error directly.
76393         Don't include "error.h" or "exitfail.h"; they're no longer needed.
76394
76395         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
76396         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
76397         define.
76398
76399         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
76400         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
76401                             int utc, int nanoseconds);
76402         Background:
76403         date should not have to allocate a megabyte of virtual memory to
76404         handle a format argument like +%1048575T.  When implemented with
76405         strftime, it must allocate such a buffer, use strftime to fill it
76406         in, print it, then free it.
76407         With fprintftime, it simply prints everything and exits.
76408         With no need for memory allocation, that's one fewer way to fail.
76409         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
76410         optional field width, not before, so we accept %9:z, not %:9z.
76411         (my_strftime): Be sure to use L_('x') for literals.
76412
76413         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
76414         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
76415         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
76416         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
76417         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
76418         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
76419         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
76420         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
76421         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
76422         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
76423         * lib/xgethostname.c, lib/xreadlink.c:
76424         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
76425
76426         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
76427         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
76428         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
76429         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76430         and don't include <sys/file.h>).
76431
76432 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
76433
76434         Sync from coreutils.
76435
76436         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
76437         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
76438         [!LDAV_DONE]: Avoid unused variable warning.
76439
76440 2005-09-21  Bruno Haible  <bruno@clisp.org>
76441
76442         * lib/unicodeio.h (unicode_to_mb): New declaration.
76443
76444 2005-09-20  Derek Price  <derek@ximbiot.com>
76445
76446         * lib/getaddrinfo.c: Don't include <netdb.h> included from
76447         getaddrinfo.h.
76448
76449 2005-09-20  Bruno Haible  <bruno@clisp.org>
76450
76451         * gnulib-tool: Remove trailing slashes from the values specified for
76452         --source-base, --m4-base, --tests-base, --aux-dir.
76453         Suggested by Simon Josefsson <jas@extundo.com>.
76454
76455 2005-09-20  Bruno Haible  <bruno@clisp.org>
76456
76457         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
76458         func_modules_to_filelist, func_import, func_create_testdir): Make all
76459         sorting results locale-independent, so that gnulib-cache.m4 doesn't
76460         change when gnulib-tool is invoked in a different locale.
76461
76462 2005-09-19  Simon Josefsson  <jas@extundo.com>
76463
76464         * m4/socklen.m4: Fix typo.
76465
76466 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76467
76468         Use a consistent style for including <config.h>.
76469         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
76470         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
76471         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
76472         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
76473         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
76474         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
76475         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
76476         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
76477         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
76478         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
76479         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
76480         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
76481         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
76482         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
76483         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
76484         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
76485         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
76486         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
76487         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
76488         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
76489         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
76490         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
76491         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
76492         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
76493         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
76494         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
76495         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
76496         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
76497         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
76498         lib/xstrtoumax.c, lib/yesno.c:
76499         Standardize inclusion of config.h.
76500         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
76501         lib/inttostr.h:  Removed inclusion of config.h from header files.
76502         * lib/inttostr.c:  Adjusted in-tree users.
76503         * lib/timespec.h: Remove superfluous warning to include config.h.
76504         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
76505         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
76506         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
76507         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
76508         config.h with HAVE_CONFIG_H.
76509
76510 2005-09-19  Jim Meyering  <jim@meyering.net>
76511
76512         * modules/pathmax (License): Change to LGPL.
76513
76514 2005-09-19  Derek Price  <derek@ximbiot.com>
76515
76516         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
76517
76518 2005-09-19  Bruno Haible  <bruno@clisp.org>
76519
76520         * gnulib-tool (import): Provide default for --tests-base.
76521
76522 2005-09-19  Bruno Haible  <bruno@clisp.org>
76523
76524         * doc/quote.texi: New file, extracted from gnulib.texi.
76525         * doc/ctime.texi: New file, extracted from gnulib.texi.
76526         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
76527         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
76528         * doc/gnulib.texi: Include them.
76529
76530 2005-09-18  Bruno Haible  <bruno@clisp.org>
76531
76532         Portability fix.
76533         * gnulib-tool (func_readlink): New function.
76534         (func_ln_if_changed): Use it.
76535
76536 2005-09-18  Bruno Haible  <bruno@clisp.org>
76537
76538         * gnulib-tool: Support --with-tests also with --import.
76539         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
76540         (func_import): Use variables $testsbase and $inctests. Emit a
76541         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
76542         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
76543         SUBDIRS += $testsdir.
76544         (func_create_testdir): Update.
76545
76546 2005-09-18  Bruno Haible  <bruno@clisp.org>
76547
76548         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
76549         instead of $dry_run.
76550         (func_cp_if_changed, func_mv_if_changed): Remove functions.
76551         (func_ln_if_changed): Don't handle dry-run here.
76552         (func_import): In dry-run mode, detect more precisely which actions
76553         would be performed, and don't use "...ing" verbs.
76554
76555 2005-09-18  Bruno Haible  <bruno@clisp.org>
76556
76557         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
76558         (func_import): Use join on two temporary files instead of three nested
76559         loops, in order to determine which files are new or old.
76560
76561 2005-09-18  Bruno Haible  <bruno@clisp.org>
76562
76563         * gnulib-tool (func_import): Comment out code that spits out the
76564         new files with --dry-run.
76565
76566 2005-09-18  Bruno Haible  <bruno@clisp.org>
76567
76568         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
76569
76570 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
76571
76572         * lib/stat-time.h: New file.
76573         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
76574         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
76575         in a different way.
76576         (timespec_cmp): New function.
76577         * lib/utimecmp.c: Include stat-time.h.
76578         (SYSCALL_RESOLUTION): Depend on whether various struct stat
76579         members exist, not on the obsolescent ST_MTIM_NSEC.
76580         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
76581
76582 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
76583
76584         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
76585
76586 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
76587
76588         * MODULES.html.sh (File system functions): Add stat-time.
76589         * modules/stat-time: New file.
76590         * modules/timespec (Files): Remove m4/st_mtim.m4; this
76591         is now done in a different way, by the stat-time module.
76592         * modules/utimecmp (Depends-on): Add stat-time.
76593
76594 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76595
76596         * m4/st_mtim.m4: Remove.  Superseded by...
76597         * m4/stat-time.m4: New file.
76598         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
76599         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
76600
76601 2005-09-15  Derek Price  <derek@ximbiot.com>
76602
76603         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
76604
76605 2005-09-15  Derek Price  <derek@ximbiot.com>
76606
76607         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
76608         * lib/regex_internal.c: Ditto, using this...
76609         (__GNUC_PREREQ): ...new macro.
76610         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
76611         using...
76612         (__GNUC_PREREQ): ...this new macro.
76613
76614         * lib/strstr.h: Include string.h. Define strstr as a macro here.
76615
76616 2005-09-15  Derek Price  <derek@ximbiot.com>
76617             Paul Eggert  <eggert@cs.ucla.edu>
76618
76619         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
76620         changes, consolidating in...
76621         * lib/regex_internal.h: ...this file.
76622
76623 2005-09-13  Jim Meyering  <jim@meyering.net>
76624
76625         * lib/canon-host.c: Filter through gnu indent and reword comments
76626         slightly.
76627         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
76628
76629 2005-09-13  Derek Price  <derek@ximbiot.com>
76630
76631         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
76632         failure.
76633         Reported by Jim Meyering  <jim@meyering.net>.
76634
76635 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76636
76637         * lib/base64.c: Typo.
76638         (base64_encode): Put b64str in initialized data section.
76639
76640 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
76641
76642         Merge glibc and coreutils changes into gnulib, plus a few
76643         extra fixes.
76644         * lib/md5.c: Use #error rather than a string.
76645         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
76646         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
76647         (__attribute__): Define to empty for non recent-GCC.
76648         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
76649         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
76650         Renamed from their non-__ counterparts, with new macros replacing
76651         them if not _LIBC.  Add __THROW attribute.
76652         (rol): Remove.
76653         (struct md5_ctx): Align buffer if using GCC.
76654         * lib/sha1.h (struct sha1_ctx): Likewise.
76655         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
76656         The old name was backwards.
76657         (NOTSWAP): Remove; not used.
76658         (rol): New macro, moved here from md5.h.
76659         (sha1_process_block): Remove a FIXME that doesn't make sense.
76660
76661 2005-09-12  Derek Price  <derek@ximbiot.com>
76662
76663         Return usable errors from canon-host.
76664         * lib/canon-host.h: New file.
76665         * lib/canon-host.c (canon_host): Wrap...
76666         (canon_host_r): ...this new function, which now relies exclusively on
76667         getaddrinfo.
76668         (ch_strerror): New function.
76669         (last_cherror): New global.
76670         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
76671         interface.
76672         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
76673         void *.
76674         (freeaddrinfo): Free ai->ai_canonname when set.
76675
76676 2005-09-12  Derek Price  <derek@ximbiot.com>
76677
76678         Make canon-host require getaddrinfo.
76679         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
76680         AC_LIBSOURCE canon-host.h.  Call...
76681         (gl_PREREQ_CANON_HOST): ...this new function, which requires
76682         gl_GETADDRINFO.
76683         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
76684
76685 2005-09-12  Derek Price  <derek@ximbiot.com>
76686
76687         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
76688         LGPL.
76689         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
76690
76691 2005-09-12  Derek Price  <derek@ximbiot.com>
76692
76693         * lib/gai_strerror.c: Include config.h when available.  Include
76694         getaddrinfo.h before other headers to test interface.
76695         Reported by Larry Jones <lawrence.jones@ugs.com>.
76696
76697 2005-09-12  Derek Price  <derek@ximbiot.com>
76698             Paul Eggert  <eggert@cs.ucla.edu>
76699
76700         * modules/glob (Files): Add glob-libc.h.
76701
76702 2005-09-12  Derek Price  <derek@ximbiot.com>
76703             Paul Eggert  <eggert@cs.ucla.edu>
76704
76705         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
76706         glob_.h, glob-libc.h.
76707         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
76708
76709 2005-09-12  Derek Price  <derek@ximbiot.com>
76710             Paul Eggert  <eggert@cs.ucla.edu>
76711
76712         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
76713         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
76714         protecting things that should be done only in gnulib contexts.
76715         * lib/glob_.h: New file, containing only the glob things needed for
76716         gnulib.
76717         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
76718         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
76719         (glob, globfree, glob_pattern_p): Now defined simply in terms of
76720         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
76721         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
76722         and to respect the namespace rules better.
76723
76724 2005-09-08  Simon Josefsson  <jas@extundo.com>
76725
76726         * modules/socklen: New file.
76727
76728 2005-09-08  Simon Josefsson  <jas@extundo.com>
76729
76730         * m4/socklen.m4: New file.
76731
76732 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76733
76734         * modules/utimens (Files): Add m4/utimbuf.m4, since
76735         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
76736         Reported by Sergey Poznyakoff.
76737
76738 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76739
76740         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
76741         definitions, since that's the preferred style in glibc.
76742         Fix a minor spacing issue, and update copyright notice to match
76743         glibc's.
76744
76745 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76746
76747         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
76748
76749 2005-09-06  Simon Josefsson  <jas@extundo.com>
76750
76751         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
76752         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
76753
76754 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76755
76756         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
76757         warning.
76758
76759 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76760
76761         * config/srclist.txt: Add glibc bug 1302.
76762
76763 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
76764
76765         Change bitset word type from unsigned int to unsigned long int,
76766         as this has better performance on typical 64-bit hosts.
76767         Port bitset code to hosts with unusual word sizes.
76768         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
76769         (build_collating_symbol):
76770         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
76771         argument is a bitset.  This is merely a style issue, but it makes
76772         it clearer that an entire array is expected.
76773         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
76774         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
76775         Port to the case where bitset_word is not the same as unsigned int.
76776         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
76777         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
76778         Likewise.
76779         * lib/regexec.c (check_dst_limits_calc_pos_1,
76780         check_subexp_matching_top):
76781         (build_trtable, group_nodes_into_DFAstates):
76782         Likewise.
76783         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
76784         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
76785         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
76786         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
76787         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
76788         * lib/regcomp.c (optimize_subexps, lower_subexp):
76789         Work even if bitset_word has holes in its bitwise representation.
76790         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
76791         * lib/regexec.c (check_dst_limits_calc_pos_1,
76792         check_subexp_matching_top):
76793         Likewise.
76794         * lib/regex_internal.c (re_string_reconstruct):
76795         Don't assume UCHAR_MAX == 255.
76796         * lib/regex_internal.h (bitset_set_all): Likewise.
76797         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
76798         All uses changed.
76799         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
76800         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
76801         All uses changed.
76802         (BITSET_WORD_MAX): New macro.
76803         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
76804         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
76805         (bitset_empty, bitset_copy):
76806         Prefer sizeof (bitset) to multiplying it out ourselves.
76807         (bitset_not_merge): Remove; unused.
76808         (bitset_contain): Return bool, not unsigned int with one bit on.
76809         All callers changed.
76810         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
76811         alignment than re_node_set; do this by defining a new internal
76812         type struct dests_alloc and using it to allocate memory.
76813
76814 2005-09-05  Bruno Haible  <bruno@clisp.org>
76815
76816         * gnulib-tool (func_import): Fix comparison in handling of symbolic
76817         links.
76818
76819 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
76820
76821         * modules/size_max (Makefile.am): Add size_max.h
76822
76823 2005-09-04  Derek Price  <derek@ximbiot.com>
76824
76825         * gnulib-tool (func_import): Fix reversed $symbolic logic.
76826
76827 2005-09-03  Simon Josefsson  <jas@extundo.com>
76828
76829         * gnulib-tool: Fix typo.
76830
76831 2005-09-03  Simon Josefsson  <jas@extundo.com>
76832
76833         * config/srclist.txt: Add glibc bug 1293.
76834
76835 2005-09-03  Derek Price  <derek@ximbiot.com>
76836
76837         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
76838         From Larry Jones <lawrence.jones@ugs.com>.
76839
76840 2005-09-02  Simon Josefsson  <jas@extundo.com>
76841
76842         * modules/socklen: New file.
76843
76844 2005-09-02  Simon Josefsson  <jas@extundo.com>
76845
76846         * modules/havelib: New module.
76847
76848         * modules/gettext, modules/iconv, modules/lock, modules/readline:
76849         Use havelib.
76850
76851 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
76852
76853         Check for arithmetic overflow when calculating sizes, to prevent
76854         some buffer-overflow issues.  These patches are conservative, in the
76855         sense that when I couldn't determine whether an overflow was possible,
76856         I inserted a run-time check.
76857         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
76858         macros.
76859         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
76860         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
76861         (re_xnrealloc, re_x2nrealloc): New inline functions.
76862         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
76863         parse_bracket_exp):
76864         (build_equiv_class, build_charclass): Check for arithmetic overflow
76865         in size expression calculations.
76866         * lib/regex_internal.c (re_string_realloc_buffers):
76867         (build_wcs_upper_buffer, re_node_set_add_intersect):
76868         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
76869         (re_dfa_add_node, register_state): Likewise.
76870         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
76871         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
76872         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
76873         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
76874
76875 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
76876
76877         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
76878         m4/ulonglong.m4.  Problem reported by Martin Lambers.
76879
76880 2005-09-02  Bruno Haible  <bruno@clisp.org>
76881
76882         Support for lib vs. lib64 distinction on biarch platforms.
76883         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
76884         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
76885         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
76886
76887 2005-09-02  Bruno Haible  <bruno@clisp.org>
76888
76889         * gnulib-tool (import): In the other first-use case, provide defaults
76890         as well.
76891
76892 2005-09-02  Bruno Haible  <bruno@clisp.org>
76893
76894         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
76895         patches not yet found in the latest gettext release.
76896
76897 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76898
76899         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
76900         to avoid a collision with bits/local_lim.h in glibc.
76901         All uses changed.  Problem reported by Dmitry V. Levin in
76902         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
76903
76904         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
76905         bugs in int versus size_t comparisons.
76906         (re_string_context_at): Fix bug where the code assumed that
76907         Idx is signed.
76908
76909         Use bool where appropriate.
76910         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
76911         All callers changed.
76912         (calc_eclosure_iter): Likewise, for ROOT arg.
76913         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
76914         (build_charclass_op): Likewise, for NON_MATCH arg.
76915         * lib/regex_internal.c (re_string_allocate, re_string_construct):
76916         (re_string_construct_common): Likewise, for ICASE arg.
76917         * lib/regexec.c (re_search_2_stub, re_search_stub):
76918         Likewise, for RET_LEN arg.
76919         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
76920         (set_regs): Likewise, for FL_BACKTRACK arg.
76921         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
76922         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
76923         (calc_eclosure_iter, parse_bracket_exp):
76924         Use bool for internal variables that are booleans.
76925         * lib/regexec.c (re_search_internal, check_matching,
76926         proceed_next_node):
76927         (set_regs, build_sifted_states, sift_states_bkref):
76928         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
76929         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
76930         (find_collation_sequence_value):
76931         Likewise.
76932         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
76933         (re_node_set_compare):
76934         Return bool, not int. All callers changed.
76935         * lib/regexec.c (check_halt_node_context, check_dst_limits):
76936         (build_trtable, check_node_accept): Likewise.
76937         * lib/regex_internal.h: Include stdbool.h.
76938
76939         Fix bugs uncovered when converting to bool.
76940         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
76941         failure instead of charging ahead blindly.
76942         * lib/regex_internal.c (register_state): Likewise.
76943         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
76944         for freeing internal storage.
76945         (group_nodes_into_DFA_states): Use unsigned int, not int, for
76946         bitset pieces used as boolean, to avoid undefined behavior
76947         on hosts that do int overflow checking.
76948
76949 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76950
76951         * config/srclist.txt: Add glibc bugs 1285-1287.
76952
76953 2005-09-01  Jim Meyering  <jim@meyering.net>
76954
76955         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
76956         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
76957         Require gl_STAT_MACROS, too.
76958
76959 2005-09-01  Bruno Haible  <bruno@clisp.org>
76960
76961         * gnulib-tool (import): In the first-use case, provide defaults.
76962
76963 2005-09-01  Bruno Haible  <bruno@clisp.org>
76964
76965         * gnulib-tool (func_import): Remove the .tmp files.
76966
76967 2005-09-01  Bruno Haible  <bruno@clisp.org>
76968
76969         * gnulib-tool (func_import): Fix handling of symbolic links.
76970
76971 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76972
76973         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
76974         old glibc regex code mishandles strings longer than 2**31 bytes.
76975         This patch fixes this when the regex code is used in gnulib
76976         (i.e., outside glibc).
76977
76978         This patch should not affect the use of the regex code inside
76979         glibc.  No doubt this problem also needs to be handled for glibc
76980         as well, but the result will be an incompatible change to the
76981         glibc ABI, and the old ABI will have to be supported too.  That
76982         can be the the subject for another patch.
76983
76984         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
76985         governing whether the rest of this patch is active.  By default,
76986         the macro is disabled and the patch has no effect.
76987         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
76988         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
76989         (struct re_pattern_buffer, re_search, re_search_2, re_match):
76990         (re_match_2, re_set_registers): Use the new types.
76991         * lib/regex_internal.h (Idx, re_hashval_t): New types.
76992         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
76993         New macros.
76994         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
76995         (re_string_context_at, bin_tree_t, re_dfastate_t):
76996         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
76997         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
76998         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
76999         (re_string_char_size_at, re_string_wchar_at):
77000         (re_string_elem_size_at):
77001         Use the new types and macros to port to 64-bit hosts.
77002         Use unsigned types for internal values, so that the code
77003         mostly works even for arrays larger than SSIZE_MAX.
77004         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
77005         (search_duplicated_node, calc_eclosure_iter, fetch_number):
77006         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
77007         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
77008         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
77009         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
77010         (calc_inveclosure, parse_dup_op, build_range_exp):
77011         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
77012         (fetch_number, create_token_tree, mark_opt_subexp):
77013         Likewise.
77014         * lib/regex_internal.c (re_string_construct_common,
77015         create_ci_newstate):
77016         (create_cd_newstate, re_string_allocate, re_string_construct):
77017         (re_string_realloc_buffers, build_wcs_upper_buffer):
77018         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
77019         (re_string_reconstruct, re_string_peek_byte_case):
77020         (re_string_fetch_byte_case, re_string_context_at):
77021         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
77022         (re_node_set_init_copy, re_node_set_add_intersect):
77023         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77024         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77025         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
77026         (re_acquire_state, re_acquire_state_context, register_state):
77027         Likewise.
77028         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
77029         search_cur_bkref_entry):
77030         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
77031         (re_search_internal, re_search_2_stub, re_search_stub)
77032         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
77033         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
77034         (update_cur_sifted_state, check_dst_limits):
77035         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77036         (check_subexp_limits, sift_states_bkref, merge_state_array):
77037         (check_subexp_matching_top, get_subexp, get_subexp_sub):
77038         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
77039         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
77040         (expand_bkref_cache, check_node_accept_bytes):
77041         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
77042         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
77043         (acquire_init_state_context, check_halt_node_context):
77044         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
77045         (sift_states_backward, clean_state_log_if_needed):
77046         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
77047         (find_recover_state, transit_state_sb, transit_state_mb):
77048         (transit_state_bkref, build_trtable, match_ctx_clean):
77049         Likewise.
77050         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
77051         to work around an assumption that REG_MISSING is negative.
77052
77053         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
77054         (seek_collating_symbol_entry) [defined _LIBC]:
77055         (lookup_collation_sequence_value) [defined _LIBC]:
77056         (build_range_exp, build_collating_symbol) [defined _LIBC]:
77057         Use prototypes rather than old-style function definitions.
77058         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
77059         (transit_state_sb) [0]:
77060         (find_collation_sequence_value) [defined _LIBC]: Likewise.
77061
77062         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
77063         rm_eo.
77064
77065         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
77066         (optimize_subexps, lower_subexp):
77067         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
77068         since the signed shift might overflow.  Use 1u<<31 instead.
77069         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77070         Likewise.
77071         * lib/regexec.c (check_dst_limits_calc_pos_1,
77072         check_subexp_matching_top): Likewise.
77073
77074         * lib/regcomp.c (optimize_subexps, lower_subexp):
77075         Use CHAR_BIT rather than 8, for clarity.
77076         * lib/regexec.c (check_dst_limits_calc_pos_1):
77077         (check_subexp_matching_top): Likewise.
77078         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
77079         have to worry about portability issues when shifting it left.
77080         Remove no-longer-needed test for table_size > 0.
77081         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
77082         in a word, as the resulting behavior is undefined.
77083         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
77084         in one case, a <= should have been an <, and in another case the
77085         whole test was missing.
77086         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
77087         the standard name CHAR_BIT.
77088         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
77089         this is not true on one's complement and signed-magnitude hosts.
77090
77091         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
77092         next_last_offset.
77093         (struct re_dfa_t): Remove unused member states_alloc.
77094         * lib/regcomp.c (init_dfa): Don't initialize unused members.
77095
77096 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77097
77098         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
77099         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
77100         and large-file glibc and in 32-bit large-file Solaris.
77101
77102 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77103
77104         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
77105         lengths fit in regoff_t; this isn't true if regoff_t is the same
77106         width as size_t.
77107         * lib/regex.c (re_search_internal): 5th arg is LAST_START
77108         (= START + RANGE) instead of RANGE.  This avoids overflow
77109         problems when regoff_t is the same width as size_t.
77110         All callers changed.
77111         (re_search_2_stub): Check for overflow when adding the
77112         sizes of the two strings.
77113         (re_search_stub): Check for overflow when adding START
77114         to RANGE; if it occurs, substitute the extreme value.
77115
77116 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77117
77118         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
77119
77120 2005-08-31  Jim Meyering  <jim@meyering.net>
77121
77122         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
77123         a pointer-to-const.
77124         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
77125         (register_state): Likewise.
77126         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
77127         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77128         (group_nodes_into_DFAstates): Likewise.
77129
77130 2005-08-31  Jim Meyering  <jim@meyering.net>
77131
77132         * check-module: Add a FIXME comment.
77133
77134 2005-08-31  Eric Blake  <ebb9@byu.net>
77135
77136         * modules/unistd-safer (Files): Add unistd--.h.
77137         * modules/stdio-safer (Files): Add stdio--.h.
77138
77139 2005-08-31  Derek Price  <derek@ximbiot.com>
77140
77141         * lib/getdelim.c (getdelim): Return EOF on EOF.
77142         Reported by Larry Jones <lawrence.jones@ugs.com>.
77143
77144 2005-08-31  Bruno Haible  <bruno@clisp.org>
77145
77146         Avoid unnecessary diffs in the generated lib/Makefile.am.
77147         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
77148         the generated files.
77149         (func_import): Don't set cmd.
77150
77151 2005-08-31  Bruno Haible  <bruno@clisp.org>
77152
77153         * lib/strstr.c: Include <stddef.h>, for NULL.
77154         * lib/strcasestr.c: Likewise.
77155         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77156
77157 2005-08-31  Bruno Haible  <bruno@clisp.org>
77158
77159         * gnulib-tool: New option --macro-prefix.
77160         (func_import): Use macro_prefix.
77161         (import): Handle option --macro-prefix.
77162
77163 2005-08-31  Bruno Haible  <bruno@clisp.org>
77164
77165         * gnulib-tool (import): Rename most ac_* variables to cached_*.
77166         Also use new variables cached_lgpl, cached_libtool.
77167
77168 2005-08-31  Bruno Haible  <bruno@clisp.org>
77169
77170         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
77171         always instantiating them.
77172
77173 2005-08-31  Bruno Haible  <bruno@clisp.org>
77174
77175         * gnulib-tool (func_import): Read the previous cached settings
77176         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
77177         earlier added by gnulib but are now dropped. Warn when a gnulib file
77178         overwrites a non-gnulib file.
77179
77180 2005-08-31  Bruno Haible  <bruno@clisp.org>
77181
77182         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
77183         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
77184         projects that don't keep autogenerated files in CVS. Put into
77185         actioncmd only the specified modules, not the transitive closure.
77186
77187 2005-08-31  Bruno Haible  <bruno@clisp.org>
77188
77189         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
77190         Create directories that shall be filled.
77191         (import): Don't look for gl_* macros in configure.ac. Recurse across
77192         all directories containing a gnulib-cache.m4 files, if meaningful.
77193
77194 2005-08-31  Bruno Haible  <bruno@clisp.org>
77195
77196         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
77197         (import): Set seen_libtool when we see gl_LIBTOOL.
77198
77199 2005-08-31  Bruno Haible  <bruno@clisp.org>
77200
77201         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
77202         declaration macro definitions from generated gnulib.m4.
77203
77204 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
77205
77206         * lib/iconvme.h: Add prototype for iconv_alloc.
77207
77208 2005-08-29  Simon Josefsson  <jas@extundo.com>
77209
77210         * lib/iconvme.c: Fix errno.
77211
77212 2005-08-29  Bruno Haible  <bruno@clisp.org>
77213
77214         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
77215         that it works when the directory contains spaces.
77216
77217 2005-08-29  Bruno Haible  <bruno@clisp.org>
77218
77219         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
77220
77221 2005-08-29  Bruno Haible  <bruno@clisp.org>
77222
77223         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
77224         Emit more advice.
77225
77226 2005-08-29  Bruno Haible  <bruno@clisp.org>
77227         and Stepan Kasal  <kasal@ucw.cz>
77228
77229         * check-module: If more parameters are given, check each of them
77230         separately; add more exceptions, as noted by Jim Meyering.
77231         (check_module): New procedure.
77232         (%exempt_header): Now contains all exceptions.
77233
77234 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
77235
77236         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
77237
77238 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
77239
77240         * lib/iconvme.c: Split iconv_string into iconv_alloc.
77241
77242 2005-08-28  Bruno Haible  <bruno@clisp.org>
77243
77244         * m4/gnulib-tool.m4: New file.
77245
77246 2005-08-27  Jim Meyering  <jim@meyering.net>
77247
77248         * modules/unistd-safer (Files): Add pipe-safer.c.
77249         * modules/fcntl-safer (Files): Add creat-safer.c.
77250
77251 2005-08-27  Jim Meyering  <jim@meyering.net>
77252
77253         * m4/stdlib-safer.m4: New file.  From coreutils.
77254         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
77255         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
77256         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
77257         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
77258         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
77259
77260 2005-08-27  Jim Meyering  <jim@meyering.net>
77261
77262         * lib/fopen-safer.c: Merge minor changes from coreutils.
77263         * lib/dup-safer.c: Likewise.
77264         * lib/fd-safer.c: Likewise.
77265
77266         Merge from coreutils.
77267         * lib/stdio--.h: New file.
77268         * lib/stdlib--.h: New file.
77269         * lib/mkstemp-safer.c: New file.
77270
77271         GNU tar needs these.
77272         * lib/pipe-safer.c: New file.
77273         * lib/creat-safer.c: New file.
77274         * lib/fcntl--.h (creat): Define to creat_safer.
77275         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
77276         * lib/unistd--.h (pipe): Define to pipe_safer.
77277         * lib/unistd-safer.h: Declare pipe_safer.
77278
77279 2005-08-26  Simon Josefsson  <jas@extundo.com>
77280
77281         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
77282         Haible <bruno@clisp.org>.
77283
77284 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
77285
77286         * lib/regex_internal.h: Remove all references to
77287         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
77288         or better.
77289         (bitset_not, bitset_merge, bitset_not_merge):
77290         (bitset_mask, re_string_allocate, re_string_construct):
77291         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
77292         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
77293         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
77294         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
77295         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77296         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77297         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
77298         (re_acquire_state_context):
77299         Remove unnecessary forward decls.
77300         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
77301         Put __attribute at function definition,
77302         now that the function decl has been removed.
77303         * lib/regex_internal.c (re_string_peek_byte_case):
77304         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
77305         Likewise.
77306
77307 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
77308
77309         * m4/regex.m4: Add AC_PREREQ(2.50).
77310         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
77311
77312 2005-08-25  Simon Josefsson  <jas@extundo.com>
77313
77314         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
77315         __fsetlocking.
77316
77317 2005-08-25  Simon Josefsson  <jas@extundo.com>
77318
77319         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
77320         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
77321         GLIBC specific code.
77322
77323 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77324
77325         Make regex safe for g++.  This fixes one real bug (an "err"
77326         that should have been "*err").  g++ problem reported by
77327         Sam Steingold.
77328         * lib/regex_internal.h (re_calloc): New macro, consistent with
77329         re_malloc etc.  All callers of calloc changed to use re_calloc.
77330         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
77331         not int.  All callers changed.
77332         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
77333         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
77334         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
77335         (find_recover_state): Change "err" to "*err"; this fixes what
77336         appears to be a real bug.
77337         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
77338         versus int.
77339
77340 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77341
77342         * modules/regex (Depends-on): Add malloc, since the code
77343         assumes that !malloc(0) means failure.
77344
77345 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77346
77347         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
77348
77349         alloca modernization/simplification for regex.
77350         * lib/regex.c: Remove portability cruft for alloca.  This no longer
77351         needs to be at the start of the file, and can be moved into
77352         regex_internal.h and simplified.
77353         * lib/regex_internal.h: Include <alloca.h>.
77354         (__libc_use_alloca) [!defined _LIBC]: New macro.
77355         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
77356         now works outside glibc.
77357
77358 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77359
77360         * config/srclist.txt: Add glibc bugs 1241, 1245.
77361
77362 2005-08-25  Jim Meyering  <jim@meyering.net>
77363
77364         * lib/open-safer.c: Include <config.h>.
77365         Otherwise, we'd lose LARGEFILE support in any file using
77366         e.g. "fcntl--.h"
77367
77368 2005-08-25  Bruno Haible  <bruno@clisp.org>
77369
77370         * m4/minmax.m4: Require autoconf 2.52.
77371         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
77372         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
77373         alternatives of translit over the alphabet.
77374         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
77375
77376 2005-08-24  Simon Josefsson  <jas@extundo.com>
77377
77378         * tests/test-getpass.c: New file.
77379
77380 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77381
77382         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
77383         for GNU regex features.
77384
77385 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77386
77387         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
77388         * lib/regex.h (regerror): Likewise.
77389
77390         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
77391         requires this.  (The code never needed it.)
77392
77393         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
77394         All uses of recently-renamed identifiers changed to use the new,
77395         POSIX-compliant names.  The code will build and run just fine
77396         without these changes, but it's better to eat our own dog food
77397         and use the standard-conforming names.
77398
77399         * lib/regex.h: Fix a multitude of POSIX name space violations.
77400         These changes have an effect only for programs that define
77401         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
77402         do not change anything for programs compiled in the normal way.
77403         Also, there is no effect on the ABI.
77404
77405         (_REGEX_SOURCE): New macro.
77406         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
77407         defined and _GNU_SOURCE is not; this fixes a name space violation.
77408
77409         Rename the following macros to obey POSIX requirements.
77410         The old names are still visible as macros if _REGEX_SOURCE is defined.
77411         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
77412         RE_BACKSLASH_ESCAPE_IN_LISTS.
77413         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
77414         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
77415         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
77416         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
77417         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
77418         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
77419         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
77420         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
77421         (REG_INTERVALS): renamed from RE_INTERVALS.
77422         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
77423         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
77424         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
77425         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
77426         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
77427         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
77428         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
77429         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
77430         RE_UNMATCHED_RIGHT_PAREN_ORD.
77431         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
77432         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
77433         (REG_DEBUG): renamed from RE_DEBUG.
77434         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
77435         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
77436         unusual, since we can't clash with the POSIX REG_ICASE.
77437         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
77438         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
77439         (REG_NO_SUB): renamed from RE_NO_SUB.
77440         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
77441         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
77442         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
77443         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
77444         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
77445         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
77446         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
77447         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
77448         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
77449         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
77450         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
77451         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
77452         RE_SYNTAX_POSIX_MINIMAL_BASIC.
77453         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
77454         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
77455         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
77456         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
77457         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
77458         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
77459         (REG_FIXED): Renamed from REGS_FIXED.
77460         (REG_NREGS): Renamed from RE_NREGS.
77461
77462         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
77463         of other REG_* macros, since POSIX says the user is allowed to
77464         #undef these macros selectively.
77465
77466         (reg_errcode_t): Update comment stating what other tables need
77467         to be consistent.
77468
77469         Rename the following enum values to obey POSIX requirements.
77470         The old names are still visible as macros.
77471         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
77472         is not defined, since GNU is supposed to be a superset of POSIX as
77473         much as possible, and since we want reg_errcode_t to be a signed
77474         type for implementation consistency.
77475         (_REG_NOERROR): Renamed from REG_NOERROR.
77476         (_REG_NOMATCH): Renamed from REG_NOMATCH.
77477         (_REG_BADPAT): Renamed from REG_BADPAT.
77478         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
77479         (_REG_ECTYPE): Renamed from REG_ECTYPE.
77480         (_REG_EESCAPE): Renamed from REG_EESCAPE.
77481         (_REG_ESUBREG): Renamed from REG_ESUBREG.
77482         (_REG_EBRACK): Renamed from REG_EBRACK.
77483         (_REG_EPAREN): Renamed from REG_EPAREN.
77484         (_REG_EBRACE): Renamed from REG_EBRACE.
77485         (_REG_BADBR): Renamed from REG_BADBR.
77486         (_REG_ERANGE): Renamed from REG_ERANGE.
77487         (_REG_ESPACE): Renamed from REG_ESPACE.
77488         (_REG_BADRPT): Renamed from REG_BADRPT.
77489         (_REG_EEND): Renamed from REG_EEND.
77490         (_REG_ESIZE): Renamed from REG_ESIZE.
77491         (_REG_ERPAREN): Renamed from REG_ERPAREN.
77492         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
77493         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
77494         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
77495         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
77496
77497         (_REG_RE_NAME, _REG_RM_NAME): New macros.
77498         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
77499         changed.  But support the old name if the new one is not defined
77500         and if _REGEX_SOURCE.
77501
77502         Change the following member names in struct re_pattern_buffer.
77503         The old names are still supported if !_REGEX_SOURCE.
77504         The new names are always supported, regardless of _REGEX_SOURCE.
77505         (re_buffer): Renamed from buffer.
77506         (re_allocated): Renamed from allocated.
77507         (re_used): Renamed from used.
77508         (re_syntax): Renamed from syntax.
77509         (re_fastmap): Renamed from fastmap.
77510         (re_translate): Renamed from translate.
77511         (re_can_be_null): Renamed from can_be_null.
77512         (re_regs_allocated): Renamed from regs_allocated.
77513         (re_fastmap_accurate): Renamed from fastmap_accurate.
77514         (re_no_sub): Renamed from no_sub.
77515         (re_not_bol): Renamed from not_bol.
77516         (re_not_eol): Renamed from not_eol.
77517         (re_newline_anchor): Renamed from newline_anchor.
77518
77519         Change the following member names in struct re_registers.
77520         The old names are still supported if !_REGEX_SOURCE.
77521         The new names are always supported, regardless of _REGEX_SOURCE.
77522         (rm_num_regs): Renamed from num_regs.
77523         (rm_start): Renamed from start.
77524         (rm_end): Renamed from end.
77525
77526         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
77527         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
77528         Prepend __ to parameter names.
77529
77530         Undo yesterday's changes.
77531
77532 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77533
77534         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
77535         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
77536         lib/regex.c.
77537
77538 2005-08-24  Jim Meyering  <jim@meyering.net>
77539
77540         Sync from coreutils.
77541         * m4/fcntl-safer.m4: New file.
77542
77543         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
77544         and object files for this module.
77545
77546 2005-08-24  Jim Meyering  <jim@meyering.net>
77547
77548         Sync from coreutils.
77549         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
77550
77551 2005-08-24  Jim Meyering  <jim@meyering.net>
77552
77553         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
77554         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
77555
77556 2005-08-24  Jim Meyering  <jim@meyering.net>
77557
77558         * modules/fcntl-safer: New module.
77559         * modules/fts (Depends-on): Add fcntl-safer.
77560         * MODULES.html.sh (File descriptor based Input/Output):
77561         Add fcntl-safer.
77562
77563 2005-08-24  Bruno Haible  <bruno@clisp.org>
77564
77565         Support for unit test modules.
77566         * modules/README: Mention tests modules.
77567         * modules/TEMPLATE-TESTS: New file.
77568         * gnulib-tool: New options --extract-tests-module, --with-tests and
77569         --tests-base (unused for the moment).
77570         (testsbase, inctests): New variables.
77571         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
77572         (func_verify_module): Exclude TEMPLATE-TESTS.
77573         (func_verify_nontests_module, func_verify_tests_module): New functions.
77574         (func_get_dependencies): Add implicit dependency for tests modules.
77575         (func_get_tests_module): New function.
77576         (func_modules_transitive_closure): When --with-tests was specified,
77577         include the unit tests as well, unless explicitly avoided.
77578         (func_emit_lib_Makefile_am): Ignore the tests modules here.
77579         (func_emit_tests_Makefile_am): New function.
77580         (func_create_testdir): When --with-tests was specified, emit a
77581         tests/ directory.
77582         * MODULES.html.sh (Future developments): Update.
77583
77584 2005-08-24  Bruno Haible  <bruno@clisp.org>
77585
77586         * modules/tls-tests: New file.
77587         * tests/test-tls.c: New file, from GNU gettext.
77588
77589 2005-08-24  Bruno Haible  <bruno@clisp.org>
77590
77591         * modules/lock-tests: New file.
77592         * tests/test-lock.c: New file, from GNU gettext.
77593
77594 2005-08-24  Bruno Haible  <bruno@clisp.org>
77595
77596         * lib/lock.h: Add multiple inclusion guard.
77597         * lib/tls.h: Add multiple inclusion guard.
77598
77599 2005-08-24  Bruno Haible  <bruno@clisp.org>
77600
77601         * gnulib-tool: Add support for the --aux-dir option to
77602         --create-testdir, --create-megatestdir, --test, --megatest.
77603         (func_create_testdir, func_create_megatestdir): Optionally emit a
77604         AC_CONFIG_AUX_DIR directive.
77605         (create-testdir, create-megatestdir, test, megatest): Provide a
77606         default value for $auxdir.
77607
77608 2005-08-24  Bruno Haible  <bruno@clisp.org>
77609
77610         * gnulib-tool (import): Use compound statement instead of subshell
77611         where possible.
77612
77613 2005-08-24  Bruno Haible  <bruno@clisp.org>
77614
77615         * gnulib-tool (import): Change --aux-dir default to "build-aux".
77616
77617 2005-08-24  Bruno Haible  <bruno@clisp.org>
77618
77619         * gnulib-tool (func_version): Update.
77620
77621 2005-08-24  Bruno Haible  <bruno@clisp.org>
77622
77623         * gnulib-tool (func_import, func_create_testdir,
77624         func_create_megatestdir): Quote all autoconf macro arguments.
77625
77626 2005-08-24  Bruno Haible  <bruno@clisp.org>
77627
77628         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
77629         option --force, because --force causes the aclocal.m4 of each
77630         subdirectory to be newer than the corresponding config.h.in.
77631
77632 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
77633
77634         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
77635         All contents moved to gl_REGEX.
77636         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
77637         assume that it does.
77638
77639 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
77640
77641         * lib/regex.h (REG_NOSYS)
77642         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
77643         Define, since POSIX requires it as of 2001.
77644         (_REG_ENOSYS)
77645         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
77646         New private symbol, used to keep the enum signed in all cases.
77647         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
77648         Youngman in
77649         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
77650
77651         * lib/regex_internal.c (re_string_skip_chars, register_state):
77652         (calc_state_hash):
77653         Remove forward decls; no longer needed now that we use prototypes.
77654         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
77655         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
77656         (clean_state_log_if_needed): Likewise.
77657
77658 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
77659
77660         * config/srclist.txt: Add glibc bugs 1231-1233.
77661
77662 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77663
77664         Fix problems reported by Sam Steingold in
77665         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
77666         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
77667         assumed that reg_errcode_t is a signed type, which is not
77668         necessarily true if _XOPEN_SOURCE is not defined.
77669         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
77670         since some compilers warn about it otherwise.
77671
77672 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77673
77674         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
77675         (init_word_char, create_initial_state, duplicate_node_closure):
77676         (fetch_token, peek_token_bracket, build_range_exp):
77677         (build_collating_symbol): Remove forward decls; no longer needed
77678         now that we use prototypes.
77679
77680         * lib/regcomp.c:
77681         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
77682         (re_compile_fastmap_iter, regcomp, regerror, regfree):
77683         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
77684         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
77685         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
77686         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
77687         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
77688         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
77689         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
77690         (build_range_exp, build_collating_symbol, parse_bracket_exp):
77691         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
77692         (build_charclass, build_charclass_op, fetch_number, create_tree):
77693         (create_token_tree, mark_opt_subexp, duplicate_tree):
77694         Use prototypes rather than old-style definitions.
77695
77696         * lib/regex_internal.c:
77697         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
77698         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
77699         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
77700         (re_string_reconstruct, re_string_peek_byte_case):
77701         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
77702         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
77703         (re_node_set_init_copy, re_node_set_add_intersect):
77704         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77705         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77706         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
77707         (re_acquire_state, re_acquire_state_context, register_state):
77708         (create_ci_newstate, create_cd_newstate, free_state):
77709         Likewise.
77710         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
77711         re_search_2):
77712         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
77713         (re_search_internal, prune_impossible_nodes):
77714         (acquire_init_state_context, check_matching, static):
77715         (check_halt_node_context, check_halt_state_context, proceed_next_node):
77716         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
77717         (update_regs, sift_states_backward, build_sifted_states):
77718         (clean_state_log_if_needed, merge_state_array):
77719         (update_cur_sifted_state, add_epsilon_src_nodes):
77720         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
77721         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
77722         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
77723         (find_recover_state, check_subexp_matching_top, transit_state_mb):
77724         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
77725         (check_arrival, check_arrival_add_next_nodes):
77726         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
77727         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
77728         (check_node_accept_bytes, check_node_accept, extend_buffers):
77729         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
77730         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
77731         (sift_ctx_init):
77732         Likewise.
77733
77734         * lib/regex_internal.h:
77735         (re_string_allocate, re_string_construct, re_string_reconstruct):
77736         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
77737         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
77738         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
77739         (re_string_context_at, re_string_peek_byte_case):
77740         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
77741         is defined, since we now use prototypes always.
77742
77743         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
77744         C89 or better.  All uses removed.
77745
77746 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77747
77748         * config/srclist.txt: Add glibc bugs 1220-1227.
77749
77750 2005-08-20  Jim Meyering  <jim@meyering.net>
77751
77752         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
77753         of unused local, dfa.
77754
77755 2005-08-20  Bruno Haible  <bruno@clisp.org>
77756
77757         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
77758
77759 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77760
77761         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
77762         (re_node_set_insert_last, re_dfa_add_node):
77763         Rename local variables to avoid GCC shadowing warnings.
77764
77765 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77766
77767         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
77768         [defined lint]: Suppress bogus uninitialized-variable warnings.
77769
77770         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
77771         and let the caller return REG_ESPACE if out of space.  This
77772         removes an uninitialied-variable warning with GCC 4.0.1, and also
77773         avoids taking the address of a local variable.  All callers
77774         changed.
77775
77776 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77777
77778         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
77779         $LIBCSRC/posix/regexec.c.
77780         Add glibc bug 1217 for regcomp.c.
77781
77782 2005-08-19  Jim Meyering  <jim@meyering.net>
77783
77784         * lib/regexec.c (proceed_next_node): Redo local variables to
77785         avoid GCC shadowing warnings.
77786
77787 2005-08-18  Bruno Haible  <bruno@clisp.org>
77788
77789         * lib/strstr.c (strstr): Fix return value in multibyte case.
77790         * lib/strcasestr.c (strcasestr): Likewise.
77791
77792 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
77793
77794         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
77795
77796 2005-08-17  Jim Meyering  <jim@meyering.net>
77797
77798         Make the %s format (seconds since the epoch) work for a negative
77799         number and when used with a zero-padded field width, e.g. %015s.
77800
77801         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
77802         label so that it precedes the code to set `digits'.  Otherwise,
77803         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
77804         print `00-22'.  Now, it prints `-0022', as it should.
77805
77806 2005-08-17  Bruno Haible  <bruno@clisp.org>
77807
77808         * modules/strstr (Files): Add m4/mbrtowc.m4.
77809         (Depends-on): Add mbuiter.
77810
77811 2005-08-17  Bruno Haible  <bruno@clisp.org>
77812
77813         * modules/strcasestr: New file.
77814         * MODULES.html.sh (String handling, based on ANSI C 89): Add
77815         strcasestr.
77816
77817 2005-08-17  Bruno Haible  <bruno@clisp.org>
77818
77819         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
77820
77821 2005-08-17  Bruno Haible  <bruno@clisp.org>
77822
77823         * modules/mbuiter: New file.
77824         * MODULES.html.sh (Extended multibyte and wide character utilities):
77825         Add mbuiter.
77826
77827 2005-08-17  Bruno Haible  <bruno@clisp.org>
77828
77829         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
77830         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
77831
77832 2005-08-17  Bruno Haible  <bruno@clisp.org>
77833
77834         * m4/strcasestr.m4: New file.
77835
77836 2005-08-17  Bruno Haible  <bruno@clisp.org>
77837
77838         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
77839         * lib/strstr.c: Completely rewritten, with multibyte locale support.
77840
77841 2005-08-17  Bruno Haible  <bruno@clisp.org>
77842
77843         * lib/strcasestr.h: New file.
77844         * lib/strcasestr.c: New file.
77845
77846 2005-08-17  Bruno Haible  <bruno@clisp.org>
77847
77848         * lib/strcasecmp.c: Use mbuiter.h.
77849
77850 2005-08-17  Bruno Haible  <bruno@clisp.org>
77851
77852         * lib/mbuiter.h: New file.
77853
77854 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
77855
77856         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
77857         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
77858         and gl_GETOPT are both invoked via different paths (as happens
77859         with GNU tar CVS because it uses both argp and getopt), the former
77860         wins.
77861
77862 2005-08-16  Bruno Haible  <bruno@clisp.org>
77863
77864         * modules/tls: New file.
77865         * MODULES.html.sh (Multithreading): Add tls.
77866
77867 2005-08-16  Bruno Haible  <bruno@clisp.org>
77868
77869         * modules/strnlen1: New file.
77870         * MODULES.html.sh (String handling): Add strnlen1.
77871
77872 2005-08-16  Bruno Haible  <bruno@clisp.org>
77873
77874         * modules/strcase (Files): Add m4/mbrtowc.m4.
77875         (Depends-on): Add strnlen1, mbchar.
77876
77877 2005-08-16  Bruno Haible  <bruno@clisp.org>
77878
77879         * modules/mbiter: New file.
77880         * MODULES.html.sh (Extended multibyte and wide character utilities):
77881         Add mbiter.
77882
77883 2005-08-16  Bruno Haible  <bruno@clisp.org>
77884
77885         * modules/mbfile: New file.
77886         * MODULES.html.sh (Extended multibyte and wide character utilities):
77887         Add mbfile.
77888
77889 2005-08-16  Bruno Haible  <bruno@clisp.org>
77890
77891         * modules/mbchar: New file.
77892         * MODULES.html.sh (Extended multibyte and wide character utilities):
77893         New section.
77894
77895 2005-08-16  Bruno Haible  <bruno@clisp.org>
77896
77897         * m4/tls.m4: New file, from GNU gettext.
77898
77899 2005-08-16  Bruno Haible  <bruno@clisp.org>
77900
77901         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
77902         always.
77903         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
77904
77905 2005-08-16  Bruno Haible  <bruno@clisp.org>
77906
77907         * m4/mbiter.m4: New file.
77908
77909 2005-08-16  Bruno Haible  <bruno@clisp.org>
77910
77911         * m4/mbfile.m4: New file.
77912
77913 2005-08-16  Bruno Haible  <bruno@clisp.org>
77914
77915         * m4/mbchar.m4: New file.
77916
77917 2005-08-16  Bruno Haible  <bruno@clisp.org>
77918
77919         * lib/tls.h: New file, from GNU gettext.
77920         * lib/tls.c: New file, from GNU gettext.
77921
77922 2005-08-16  Bruno Haible  <bruno@clisp.org>
77923
77924         * lib/strnlen1.h: New file.
77925         * lib/strnlen1.c: New file.
77926
77927 2005-08-16  Bruno Haible  <bruno@clisp.org>
77928
77929         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
77930         (mbi_init): Update.
77931         (mbi_avail, mbi_advance): Let the iteration end before the terminating
77932         NUL byte, not after it.
77933
77934 2005-08-16  Bruno Haible  <bruno@clisp.org>
77935
77936         * lib/strcase.h (strcasecmp): Add note in comments.
77937         * lib/strncasecmp.c: Use code from strcasecmp.c.
77938         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
77939         (strcasecmp): Work correctly in multibyte locales.
77940
77941 2005-08-16  Bruno Haible  <bruno@clisp.org>
77942
77943         * lib/mbiter.h: New file.
77944
77945 2005-08-16  Bruno Haible  <bruno@clisp.org>
77946
77947         * lib/mbfile.h: New file.
77948
77949 2005-08-16  Bruno Haible  <bruno@clisp.org>
77950
77951         * lib/mbchar.h: New file.
77952         * lib/mbchar.c: New file.
77953
77954 2005-08-16  Bruno Haible  <bruno@clisp.org>
77955
77956         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
77957         the valid ones. Makes the comparison operations transitive:
77958         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
77959         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
77960
77961 2005-08-15  Simon Josefsson  <jas@extundo.com>
77962
77963         * modules/ssize_t (License): Change to 'unlimited'.
77964
77965         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
77966
77967 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77968
77969         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
77970         Add comments for each pending glibc patch.
77971
77972 2005-08-15  Bruno Haible  <bruno@clisp.org>
77973
77974         * lib/regex.h (__restrict_arr): Don't define to __restrict if
77975         __cplusplus is defined.
77976
77977 2005-08-14  Jim Meyering  <jim@meyering.net>
77978
77979         Sync from coreutils.
77980
77981         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
77982         Use the hash-table-based cycle-detection code not just when
77983         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
77984         Reported by James Youngman in
77985         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
77986         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
77987         FTS_TIGHT_CYCLE_CHECK.
77988         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
77989         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
77990         once again.
77991         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
77992         * lib/fts.c (fd_safer): Remove decl.
77993         Include fcntl--.h rather than unistd-safer.h
77994         (fts_safe_changedir): Don't call fd_safer; no longer needed
77995         now that we include fcntl--.h.
77996
77997 2005-08-12  Simon Josefsson  <jas@extundo.com>
77998
77999         * modules/getndelim2: Use ssize_t module.
78000         * modules/getnline: Likewise.
78001         * modules/safe-read: Likewise.
78002         * modules/xreadlink: Likewise.
78003
78004         * modules/ssize_t: New file.
78005
78006 2005-08-12  Simon Josefsson  <jas@extundo.com>
78007
78008         * m4/readline.m4: Look for termcap, curses or ncurses if required.
78009
78010 2005-08-12  Simon Josefsson  <jas@extundo.com>
78011
78012         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78013         ssize_t.
78014
78015 2005-08-12  Simon Josefsson  <jas@extundo.com>
78016
78017         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
78018         readline, getdelim and check_version.
78019         (Support for systems lacking ISO C 99: Sizes of integer types):
78020         Add size_max.
78021
78022 2005-08-12  Bruno Haible  <bruno@clisp.org>
78023
78024         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
78025
78026 2005-08-11  Simon Josefsson  <jas@extundo.com>
78027
78028         * modules/readline: New file.
78029
78030         * modules/strnlen (Files): Add strnlen.h.
78031
78032 2005-08-11  Simon Josefsson  <jas@extundo.com>
78033
78034         * m4/readline.m4: New file.
78035
78036 2005-08-11  Simon Josefsson  <jas@extundo.com>
78037
78038         * lib/readline.h, readline.c: New file.
78039
78040 2005-08-11  Simon Josefsson  <jas@extundo.com>
78041
78042         * doc/gnulib.texi (Initial import, Finishing touches): Mention
78043         gl_AVOID.
78044
78045 2005-08-11  Bruno Haible  <bruno@clisp.org>
78046
78047         * lib/strnlen.h (strnlen): Change parameter name to match comment.
78048
78049 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
78050
78051         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
78052
78053 2005-08-10  Simon Josefsson  <jas@extundo.com>
78054
78055         * tests/test-iconvme.c: New file.
78056
78057 2005-08-10  Simon Josefsson  <jas@extundo.com>
78058
78059         * m4/strnlen.m4: New file.
78060
78061         * m4/strndup.m4: Don't check for strnlen declaration, done in
78062         strnlen.m4.
78063
78064 2005-08-10  Simon Josefsson  <jas@extundo.com>
78065
78066         * lib/strndup.c: Use strnlen.h.
78067
78068         * lib/strnlen.h: New file.
78069
78070 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78071
78072         * README: Typos.
78073
78074 2005-08-02  Simon Josefsson  <jas@extundo.com>
78075
78076         * modules/readline: New file.
78077
78078 2005-08-02  Simon Josefsson  <jas@extundo.com>
78079
78080         * modules/getdelim: New file.
78081
78082         * modules/getline: Rewrite, don't use getndelim2.
78083
78084 2005-08-02  Simon Josefsson  <jas@extundo.com>
78085
78086         * m4/getline.m4: Separate out getdelim stuff into separate module.
78087
78088         * m4/getdelim.m4: New file.
78089
78090 2005-08-02  Simon Josefsson  <jas@extundo.com>
78091
78092         * lib/getline.h, getline.c: Rewrite.
78093
78094         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
78095
78096 2005-07-31  Bruno Haible  <bruno@clisp.org>
78097
78098         * lib/lock.h (gl_lock_initializer): New macro.
78099         (gl_lock_define_initialized): Use it.
78100         (gl_rwlock_initializer): New macro.
78101         (gl_rwlock_define_initialized): Use it.
78102         (gl_recursive_lock_initializer): New macro.
78103         (gl_recursive_lock_define_initialized): Use it.
78104
78105 2005-07-30  Karl Berry  <karl@gnu.org>
78106
78107         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
78108         Report from Ben Pfaff, regarding getopt.
78109
78110 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
78111
78112         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
78113         normal way.
78114         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
78115         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
78116         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
78117         (gl_GETOPT): Use the new macros.  Most of the implementation
78118         is moved to the new macros.  This is for programs like Emacs
78119         that don't want all the functionality of gl_GETOPT.
78120
78121 2005-07-26  Bruno Haible  <bruno@clisp.org>
78122
78123         * m4/lock.m4: Update from GNU gettext.
78124
78125 2005-07-26  Bruno Haible  <bruno@clisp.org>
78126
78127         * lib/lock.h: Update from GNU gettext.
78128         * lib/lock.c: Update from GNU gettext.
78129
78130 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
78131
78132         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
78133         obsolescent AC_TRY_RUN.  Include the default includes files, for
78134         'exit'.
78135
78136 2005-07-24  Bruno Haible  <bruno@clisp.org>
78137
78138         * modules/visibility: New file.
78139         * MODULES.html.sh (Misc): Add visibility.
78140
78141 2005-07-24  Bruno Haible  <bruno@clisp.org>
78142
78143         * m4/visibility.m4: New file.
78144
78145 2005-07-24  Bruno Haible  <bruno@clisp.org>
78146
78147         * doc/visibility.texi: New file.
78148
78149 2005-07-22  Bruno Haible  <bruno@clisp.org>
78150
78151         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
78152         $(ALLOCA_H), redundant through BUILT_SOURCES.
78153         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
78154         redundant through BUILT_SOURCES.
78155         * modules/byteswap (Makefile.am): Remove explicit dependency on
78156         $(BYTESWAP_H), redundant through BUILT_SOURCES.
78157         * modules/fnmatch (Makefile.am): Remove explicit dependency on
78158         $(FNMATCH_H), redundant through BUILT_SOURCES.
78159         * modules/getopt (Makefile.am): Remove explicit dependency on
78160         $(GETOPT_H), redundant through BUILT_SOURCES.
78161         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
78162         redundant through BUILT_SOURCES.
78163         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
78164         redundant through BUILT_SOURCES.
78165         * modules/stdbool (Makefile.am): Remove explicit dependency on
78166         $(STDBOOL_H), redundant through BUILT_SOURCES.
78167         * modules/stdint (Makefile.am): Remove explicit dependency on
78168         $(STDINT_H), redundant through BUILT_SOURCES.
78169         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
78170         Remove explicit dependency on $(SYSEXITS_H).
78171         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
78172
78173 2005-07-18  Simon Josefsson  <jas@extundo.com>
78174
78175         * lib/check-version.c (check_version): Accept identical versions too.
78176
78177 2005-07-18  Bruno Haible  <bruno@clisp.org>
78178
78179         * modules/lock: New file.
78180         * MODULES.html.sh (Multithreading): New section.
78181
78182 2005-07-18  Bruno Haible  <bruno@clisp.org>
78183
78184         * m4/lock.m4: New file, from GNU gettext.
78185
78186 2005-07-18  Bruno Haible  <bruno@clisp.org>
78187
78188         * lib/lock.h: New file, from GNU gettext.
78189         * lib/lock.c: New file, from GNU gettext.
78190
78191 2005-07-18  Bruno Haible  <bruno@clisp.org>
78192
78193         * lib/lock.h (gl_once_t): New type.
78194         (gl_once_define, gl_once): New macros.
78195         * lib/lock.c (fresh_once): New variable.
78196         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
78197         functions.
78198
78199 2005-07-16  Simon Josefsson  <jas@extundo.com>
78200
78201         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
78202         workaround, suggested by Bruno.
78203
78204 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
78205
78206         * modules/xalloc (Depends-on): Add xalloc-die.
78207         * modules/xvasprintf (Depends-on): Add xalloc-die.
78208
78209 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
78210
78211         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
78212         with a minor change.
78213
78214 2005-07-15  Bruno Haible  <bruno@clisp.org>
78215
78216         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
78217         When using lib/poll.c, define poll as rpl_poll.
78218
78219 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
78220
78221         * modules/argp (Depends-on): Remove unlocked-io.
78222
78223 2005-07-14  Derek Price  <derek@ximbiot.com>
78224
78225         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
78226         for glob symlink bug.
78227
78228 2005-07-14  Bruno Haible  <bruno@clisp.org>
78229
78230         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
78231         Instead, test for *_unlocked function declarations directly.
78232
78233 2005-07-11  Simon Josefsson  <jas@extundo.com>
78234
78235         * modules/size_max: New file.
78236
78237         * modules/xsize: Depend on size_max module for size_max.m4.
78238
78239 2005-07-11  Simon Josefsson  <jas@extundo.com>
78240
78241         * lib/size_max.h: New file.
78242
78243 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
78244
78245         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
78246         copyright symbol and the year.
78247         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
78248         (version_etc_va): Use parameterized copyright notice.
78249         Reword to conform to the current GNU coding standards.
78250
78251 2005-07-11  Karl Berry  <karl@gnu.org>
78252
78253         * doc/gnulib.texi (Quoting): new node.
78254         (Initial import): more info, from Patrice.
78255
78256 2005-07-11  Bruno Haible  <bruno@clisp.org>
78257
78258         * gnulib-tool (func_usage): Document option --avoid.
78259         (Command line options): Handle --avoid.
78260         (func_acceptable): New function.
78261         (func_modules_transitive_closure): Use it.
78262
78263 2005-07-11  Bruno Haible  <bruno@clisp.org>
78264
78265         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
78266         Reported by Jim Meyering.
78267
78268 2005-07-10  Bruno Haible  <bruno@clisp.org>
78269
78270         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
78271         Needed when size_t is smaller than 'unsigned int'.
78272         Reported by Paul Eggert.
78273
78274 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78275
78276         * modules/argp (Depends-on): Add unlocked-io
78277
78278 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78279
78280         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
78281         block of defines.
78282
78283 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
78284
78285         * config/srclist.txt: Comment out regcomp.c, since we have a porting
78286         fix now.
78287
78288 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
78289         and Paul Eggert  <eggert@cs.ucla.edu>
78290
78291         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
78292         in wint_t, not wchar_t.  Remove now-unnecessary cast.
78293
78294 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78295
78296         * modules/regex (Files): Add lib/regex_internal.c,
78297         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
78298         (Depends-on): Add extensions.
78299         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
78300
78301 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78302
78303         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
78304         pathconf.
78305         * m4/same.m4 (gl_SAME): Likewise.
78306         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
78307
78308         * m4/regex.m4: Adjust to new libc regex implementation.
78309         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
78310         all the .c and .h parts of (the new) regex.
78311         Quote the m4 stuff better.
78312         Check for RE_ICASE bug of old gnulib.
78313         Check for REG_STARTEND of recent libc.
78314         Rename local variables from jm_* to gl_*.
78315         Quote operand of "test -f".
78316         Say "recent enough" version of libc, not "version 2".
78317         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
78318         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
78319         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
78320         Remove check for btowc, isascii.
78321         Require AM_LANGINFO_CODESET.
78322
78323 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78324
78325         * lib/regex.c, regex.h: Sync from libc.
78326         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
78327         * lib/regexec.c:
78328         New files, synced from libc, except that regex_internal.h
78329         currently has a small porting fix.
78330
78331 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78332
78333         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
78334         regex_internal.c, regexec.c.
78335         Add regex_internal.h too, but as a comment, since the libc version
78336         is currently broken in gnulib mode.
78337
78338 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78339
78340         Support programs like Emacs that use gnulib but not gettext.
78341         * MODULES.html.sh (Internationalization functions): Add gettext-h.
78342         * modules/gettext-h: New file.
78343         * modules/gettext (Files): Remove lib/gettext.h.
78344         (Depends-on): Add gettext-h.
78345         (Makefile.am): Remove lib_SOURCES.
78346         * modules/argmatch, modules/c-stack, modules/closeout:
78347         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
78348         * modules/execute, modules/file-type, modules/getaddrinfo:
78349         * modules/getopt, modules/human, modules/javacomp:
78350         * modules/javaexec, modules/mkdir-p, modules/obstack:
78351         * modules/openat, modules/pagealign_alloc, modules/pipe:
78352         * modules/quotearg, modules/regex, modules/rpmatch:
78353         * modules/unicodeio, modules/userspec, modules/version-etc:
78354         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
78355         * modules/xsetenv:
78356         Depend on gettext-h, not gettext.
78357
78358 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78359
78360         * gnulib-tool (func_import): Add support for 'public domain' license.
78361         * modules/alloca, modules/atexit, modules/memmove:
78362         Now public domain, not GPL.
78363         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
78364         * modules/realloc, modules/strerror, modules/strtod:
78365         Now LGPL, not GPL.
78366
78367 2005-07-05  Bruno Haible  <bruno@clisp.org>
78368
78369         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
78370         autoconf CVS. Needed for mingw.
78371
78372 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78373
78374         Remove the dependency of the strftime module on the tzset module.
78375         * modules/strftime (Depends-on): Remove dependency on tzset.
78376
78377 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78378
78379         Remove the dependency of the strftime module on the tzset module.
78380         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
78381         gl_FUNC_TZSET_CLOBBER.
78382
78383 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78384
78385         Remove the dependency of the strftime module on the tzset module.
78386         * lib/strftime.c (my_strftime)
78387         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
78388         Copy the input structure, to work around some of the bug with
78389         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
78390         Solaris releases, you should also use the tzset module, but we won't
78391         require it as a dependency any more since we don't want LGPLed code
78392         to depend on GPLed code.
78393
78394 2005-07-02  Jim Meyering  <jim@meyering.net>
78395
78396         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
78397         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
78398         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
78399         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
78400
78401 2005-07-02  Jim Meyering  <jim@meyering.net>
78402
78403         * lib/backupfile.c (backup_args): Change a `0' to NULL.
78404
78405 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78406
78407         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
78408         declares only 'struct timespec;' (!).
78409
78410 2005-07-01  Jim Meyering  <jim@meyering.net>
78411
78412         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
78413         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
78414         * lib/save-cwd.c, tempname.c:
78415         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78416         and don't include <sys/file.h>).
78417
78418 2005-06-29  Jim Meyering  <jim@meyering.net>
78419
78420         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
78421         type name.  Use the variable name instead.
78422         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
78423         Likewise.
78424
78425 2005-06-28  Simon Josefsson  <jas@extundo.com>
78426
78427         * modules/check-version (Files): Add check-version.m4.
78428
78429 2005-06-28  Simon Josefsson  <jas@extundo.com>
78430
78431         * m4/check-version.m4: New file, suggested by Jim Meyering
78432         <jim@meyering.net>.
78433
78434 2005-06-28  Simon Josefsson  <jas@extundo.com>
78435
78436         * lib/check-version.h, lib/check-version.c: New files.
78437
78438 2005-06-28  Simon Josefsson  <jas@extundo.com>
78439
78440         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
78441         collision with global variable.  Better indentation.  Don't
78442         increment buffer pointer beyond buffer end.  Based on comments
78443         from Paul Eggert <eggert@cs.ucla.edu>.
78444
78445         * lib/base64.h: Indent.
78446
78447 2005-06-28  Simon Josefsson  <jas@extundo.com>
78448
78449         * doc/gnulib.texi (Library version handling): New section.
78450
78451 2005-06-28  Jim Meyering  <jim@meyering.net>
78452
78453         * check-module (find_included_lib_files): Hard-code another
78454         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
78455         but modules/fts-lgpl (correctly) does not list those files.
78456
78457         * modules/canonicalize (Files): Add lib/pathmax.h.
78458
78459 2005-06-25  Simon Josefsson  <jas@extundo.com>
78460
78461         * modules/check-version: New file.
78462
78463 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
78464
78465         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
78466         initializer of struct addrinfo, as an indication that we don't
78467         care how many members the structure has.
78468
78469 2005-06-24  Derek Price  <derek@ximbiot.com>
78470         and Bruno Haible  <bruno@clisp.org>
78471
78472         Remove stat module & update lstat.
78473         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
78474         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78475         * m4/stat.m4: Remove this file.
78476
78477 2005-06-24  Derek Price  <derek@ximbiot.com>
78478         and Bruno Haible  <bruno@clisp.org>
78479
78480         Remove stat module & update lstat.
78481         * lib/stat.c: Remove this file...
78482         (slash_aware_lstat): ...moving this content and its support...
78483         * lib/lstat.c (rpl_lstat): ...into here.
78484         * lib/lstat.h: New file.
78485
78486 2005-06-24  Derek Price  <derek@ximbiot.com>
78487         and Bruno Haible  <bruno@clisp.org>
78488
78489         Remove stat module & update lstat.
78490         * config/srclist.txt (libc sources): Remove stat.
78491
78492 2005-06-24  Derek Price  <derek@ximbiot.com>
78493         and Bruno Haible  <bruno@clisp.org>
78494
78495         Remove stat module & update lstat.
78496         * MODULES.html.sh (stat): Remove.
78497         * MODULES.html: Regenerated.
78498         * modules/lstat (Description): Correct function name.
78499         (Files): Add "lstat.h".
78500         (Depends-on): Remove stat, add xalloc, stat-macros.
78501         * modules/stat: Remove this file.
78502         (Include): Add "lstat.h", remove <sys/stat.h>.
78503
78504 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
78505
78506         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
78507         (ranged_convert): Don't save conversion in a temporary struct.
78508         This causes a warning with GCC 4.0.0, and anyway in the typical
78509         case it's not worth the extra 100 bytes or so of code.
78510         (ranged_convert, __mktime_internal): When calling a function via a
78511         pointer P, use P () rather than (*P) (), as we now assume C89 or
78512         better.
78513
78514 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
78515
78516         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
78517         "who -r" failed to give output.  Problem reported by Tim Waugh.
78518
78519         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
78520         (xcalloc): Use it to avoid needless tests.
78521         Problem reported by Jim Meyering.
78522
78523 2005-06-20  Derek Price  <derek@ximbiot.com>
78524
78525         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
78526         unnecessary for Autoconfs > 2.59c.
78527
78528 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78529
78530         * lib/argp.h (__option_is_short): Check upper limit of
78531         __key. Isprint() requires its argument to have the value
78532         of an unsigned char or EOF.
78533
78534 2005-06-16  Jim Meyering  <jim@meyering.net>
78535
78536         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
78537         when either N or S is zero.
78538
78539 2005-06-16  Derek Price  <derek@ximbiot.com>
78540
78541         * m4/bison.m4: Declare YACC & YFLAGS precious.
78542
78543 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
78544
78545         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
78546         multibyte string or pattern, fall back on unibyte matching.
78547         Problem reported by James Youngman.
78548
78549 2005-06-08  Bruno Haible  <bruno@clisp.org>
78550
78551         * modules/csharpcomp: New file.
78552         * MODULES.html.sh (C#): Add csharpcomp.
78553
78554 2005-06-08  Bruno Haible  <bruno@clisp.org>
78555
78556         * m4/csharpcomp.m4: New file, from GNU gettext.
78557
78558 2005-06-08  Bruno Haible  <bruno@clisp.org>
78559
78560         * lib/csharpcomp.h: New file, from GNU gettext.
78561         * lib/csharpcomp.c: New file, from GNU gettext.
78562         * lib/csharpcomp.sh.in: New file, from GNU gettext.
78563
78564 2005-06-08  Bruno Haible  <bruno@clisp.org>
78565
78566         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
78567         warning on mingw.
78568
78569 2005-06-07  Derek Price  <derek@ximbiot.com>
78570
78571         Sync from CVS.
78572         * lib/glob_.h: Indent nested #ifdef.
78573
78574 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
78575
78576         Sync from coreutils.
78577         Use "file name" when talking about file names, instead of "filename"
78578         or "path", as per the GNU coding standards.
78579         * lib/mkdir-p.c: Renamed from makepath.c.
78580         (make_dir_parents): Renamed from make_path.  All callers changed.
78581         * lib/mkdir-p.h: Likewise.  All includers changed.
78582         * lib/filenamecat.c: Renamed from path-concat.c.
78583         (file_name_concat): Renamed from path_concat.  All callers changed.
78584         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
78585         * lib/filenamecat.h: Likewise.  All includers changed.
78586         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
78587         in comments or local variable names.
78588         * lib/basename.c: Likewise.
78589         * lib/canonicalize.c, canonicalize.h: Likewise.
78590         * lib/dirname.c, dirname.h: Likewise.
78591         * lib/euidaccess.c: Likewise.
78592         * lib/exclude.c: Likewise
78593         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
78594         * lib/fsusage.c, fsuage.h: Likewise.
78595         * lib/fts.c, fts_.h: Likewise.
78596         * lib/getcwd.c: Likewise.
78597         * lib/getloadavg.c: Likewise.
78598         * lib/mkstemp.c: Likewise.
78599         * lib/mountlist.c, mountlist.h: Likewise.
78600         * lib/openat.c, openat.h: Likewise.
78601         * lib/readlink-stub.c: Likewise.
78602         * lib/readutmp.c, readutmp.h: Likewise.
78603         * lib/rename.c: Likewise.
78604         * lib/rmdir.c: Likewise.
78605         * lib/same.c: Likewise.
78606         * lib/savedir.c: Likewise.
78607         * lib/stripslash.c: Likewise.
78608         * lib/tempname.c: Likewise.
78609         * lib/xreadlink.c: Likewise.
78610         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
78611         All uses changed.
78612         * lib/exclude.h: Likewise.
78613
78614         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
78615         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
78616         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
78617         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
78618         * lib/pathmax.h: Include <limits.h> unconditionally, since other
78619         files have been getting away with it for years (MORE/BSD 4.3
78620         is extinct now).
78621         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
78622         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
78623
78624         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
78625         Define to 256, not 255, as per modern POSIX.
78626
78627 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
78628
78629         Sync from coreutils.
78630         Use "file name" when talking about file names, instead of "filename"
78631         or "path", as per the GNU coding standards.
78632         * MODULES.html.sh: mkdir-p renamed from makepath.
78633         filenamecat renamed from path-concat.
78634         * modules/filenamecat: Renamed from modules/path-concat.
78635         (Files): filenamecat.h and filenamecat.c renamed from
78636         path-concat.h and path-concat.c.
78637         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
78638         (Include): filenamecat.h, not path-concat.h.
78639         * modules/mkdir-p: Renamed from modules/makepath.
78640         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
78641         makepath.c.
78642         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
78643         (Include): mkdir-p.h, not makepath.h.
78644
78645 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
78646
78647         Sync from coreutils.
78648         * m4/mkdir-p.m4: Renamed from makepath.m4.
78649         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
78650         Rename files from makepath.c to mkdir-p.c, and from
78651         makepath.h to mkdir-p.h.
78652         * m4/filenamecat.m4: Renamed from path-concat.m4.
78653         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
78654         Rename files from path-concat.c to filenamecat.c,
78655         and from path-concat.h to filenamecat.h.
78656         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
78657         "file name" in local variables or comments.
78658         * m4/rename.m4: Likewise.
78659
78660 2005-06-01  Bruno Haible  <bruno@clisp.org>
78661
78662         * modules/csharpexec: New file.
78663         * MODULES.html.sh (C#): New section.
78664
78665 2005-06-01  Bruno Haible  <bruno@clisp.org>
78666
78667         * m4/csharp.m4: New file, from GNU gettext.
78668         * m4/csharpexec.m4: New file, from GNU gettext.
78669
78670 2005-06-01  Bruno Haible  <bruno@clisp.org>
78671
78672         * lib/csharpexec.h: New file, from GNU gettext.
78673         * lib/csharpexec.c: New file, from GNU gettext.
78674         * lib/csharpexec.sh.in: New file, from GNU gettext.
78675
78676 2005-05-31  Derek Price  <derek@ximbiot.com>
78677             Paul Eggert  <eggert@cs.ucla.edu>
78678
78679         Sync from cvs.
78680         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
78681
78682 2005-05-31  Derek Price  <derek@ximbiot.com>
78683             Paul Eggert  <eggert@cs.ucla.edu>
78684
78685         Sync from cvs.
78686         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
78687
78688 2005-05-29  Derek Price  <derek@ximbiot.com>
78689
78690         * config/srclist.txt (glob_.h, glob.c): Add these files.
78691
78692 2005-05-29  Derek Price  <derek@ximbiot.com>
78693
78694         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
78695         * modules/glob: New file.
78696         * modules/getlogin_r: Add link to POSIX spec in description.
78697
78698 2005-05-29  Derek Price  <derek@ximbiot.com>
78699             Paul Eggert  <eggert@cs.ucla.edu>
78700
78701         * m4/glob.m4: New file.
78702
78703 2005-05-29  Derek Price  <derek@ximbiot.com>
78704             Paul Eggert  <eggert@cs.ucla.edu>
78705
78706         * lib/glob_.h, lib/glob.c: New files.
78707
78708 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
78709
78710         * modules/fts (Files): Remove m4/inttypes-pri.m4.
78711         * modules/fts-lgpl (Depends-on): Remove gettext.
78712
78713 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
78714
78715         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
78716         and don't require gt_INTTYPES_PRI.
78717
78718 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
78719
78720         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
78721
78722         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
78723         the configuration hassle isn't worth it.
78724         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
78725         (LONGEST_MODIFIER, PRIuMAX): Remove.
78726
78727 2005-05-27  Bruno Haible  <bruno@clisp.org>
78728
78729         * lib/getlogin_r.h: Remove second include of <stddef.h>.
78730
78731 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
78732
78733         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
78734         _POSIX_PTHREAD_SEMANTICS for Solaris.
78735
78736 2005-05-25  Derek Price  <derek@ximbiot.com>
78737
78738         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
78739
78740 2005-05-25  Derek Price  <derek@ximbiot.com>
78741             Paul Eggert  <eggert@cs.ucla.edu>
78742
78743         * modules/getlogin_r, m4/getlogin_r.m4: New files.
78744         * lib/getlogin_r.c, getlogin_r.h: New files.
78745
78746 2005-05-25  Bruno Haible  <bruno@clisp.org>
78747             Derek Price  <derek@ximbiot.com>
78748
78749         * lib/getlogin_r.h: Simplify API documentation.
78750
78751 2005-05-23  Derek Price  <derek@ximbiot.com>
78752
78753         * modules/minmax (Files): Add m4/minmax.m4.
78754         (configure.ac): Add gl_MINMAX.
78755
78756 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
78757
78758         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
78759         so that unistd-safer.h (GPL'ed code) need not be included.
78760
78761 2005-05-22  Bruno Haible  <bruno@clisp.org>
78762
78763         * m4/minmax.m4: New file.
78764         Based on a patch by Derek Price <derek@ximbiot.com>.
78765
78766 2005-05-22  Bruno Haible  <bruno@clisp.org>
78767
78768         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
78769         (INT64_MIN): Fix definition.
78770         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
78771
78772         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
78773         NEED_SIGNED_INT_TYPES.
78774
78775         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
78776         HAVE_SYSTEM_INTTYPES.
78777
78778 2005-05-22  Bruno Haible  <bruno@clisp.org>
78779
78780         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
78781         Also include <sys/param.h> if it defines MIN, MAX.
78782         Based on a patch by Derek Price <derek@ximbiot.com>.
78783
78784 2005-05-21  Jim Meyering  <jim@meyering.net>
78785
78786         * modules/fts (Files): Add m4/inttypes-pri.m4.
78787         (Depends-on): Add lstat and remove gettext.  Alphabetize.
78788
78789 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
78790
78791         New fts module.
78792         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
78793         (setup_dir, free_dir): New functions.
78794         (enter_dir, leave_dir): Define trivial
78795         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
78796         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
78797         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
78798         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
78799         Move to fts-cycle.c.
78800         (fts_open): Use setup_dir.
78801         (fts_close): Use free_dir.
78802         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
78803         This adds a label and some gotos, but the alternatives were messier.
78804         Check for memory allocation failure when entering a dir.
78805         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
78806         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
78807         (FTS): New member fts_cycle, that is a union that contains the
78808         old active_dir_ht and cycle_state.  All uses changed to mention
78809         fts_cycle.ht and fts_cycle.state.
78810         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
78811         fts.c, with the following changes:
78812         (setup_dir, free_dir): New functions.
78813         (enter_dir): Now returns bool.  Return true if successful, false
78814         if memory exhausted.  All callers changed.
78815         Do not bother partly cleaning up on
78816         memory allocation failure; that is free_dir's job.
78817         However, free ad if hash_insert fails, to avoid memory leak.
78818         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
78819         fts->fts_options to see which union member to use.
78820
78821 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
78822
78823         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
78824         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
78825
78826 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
78827
78828         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
78829
78830 2005-05-20  Jim Meyering  <jim@meyering.net>
78831
78832         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
78833         Now a macro, to pacify GCC.
78834
78835 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
78836
78837         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
78838         of -1.
78839
78840 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
78841
78842         * lib/chown.c (rpl_chown): Return -1 on failure.
78843
78844 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
78845
78846         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
78847         Don't check for stddef.h.
78848         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
78849         don't use its results.
78850         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
78851         since we include them unconditionally.  Don't require
78852         AM_STDBOOL_H, since stdbool is a prerequisite.
78853         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
78854         since we assume C89 or better.
78855         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
78856         as we don't use their results.
78857         Don't check for fchdir, memmove, memset, strrchr, as we use
78858         them unconditionally.
78859         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
78860         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
78861
78862 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
78863
78864         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
78865         Include <stddef.h> unconditionally, since we assume C89 now.
78866         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
78867         * lib/fts.c: Include fts_.h first, to check interface.
78868         Do not include intprops.h; no longer needed.
78869         Include cycle-check.h and hash.h, since fts_.h no longer does.
78870         Remove unnecessary casts of closedir to void.
78871         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
78872         decide whether to decrement nlinks.
78873         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
78874         (FTS): Use struct hash_table * instead of Hash_table, so that
78875         we no longer need to include hash.h here.
78876
78877 2005-05-18  Jim Meyering  <jim@meyering.net>
78878
78879         * modules/dirfd (License): Change to LGPL.  Most of the code
78880         is already in the public domain.
78881
78882 2005-05-18  Jim Meyering  <jim@meyering.net>
78883
78884         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
78885         Reported by Yoann Vandoorselaere.
78886
78887 2005-05-17  Jim Meyering  <jim@meyering.net>
78888
78889         * m4/fts.m4: New file, from coreutils.
78890
78891 2005-05-17  Jim Meyering  <jim@meyering.net>
78892
78893         * lib/fts.c, lib/fts_.h: New files, from coreutils.
78894
78895 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78896
78897         Sync from coreutils.
78898         * m4/unlinkdir.m4: New file.
78899
78900 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78901
78902         Sync from coreutils.
78903         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
78904         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
78905         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
78906         White space changes only.
78907         * lib/makepath.c (make_path): Port to hosts where leading "//" is
78908         special.
78909         * lib/yesno.c: Include getline.h, not ctype.h.
78910         (yesno): Don't remove leading white space; POSIX doesn't allow it.
78911         Use getline to remove arbitrary restriction on response length.
78912
78913 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78914
78915         * config/srclist-update: Spell out "Street" in FSF postal
78916         mail address; this is the style the FSF seems to prefer.
78917
78918         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
78919         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
78920         this updates FSF postal mail address.
78921
78922         Sync from coreutils.
78923         * modules/unlinkdir: New file.
78924         * modules/yesno (Depends-on): Add getline.
78925         * MODULES.html.sh (File system functions): Add unlinkdir.
78926
78927 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
78928
78929         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
78930         lib/strsep.h:
78931         Change the initial comment to refer to GPL, not LGPL.
78932         gnulib-tool will change it to LGPL as needed.
78933
78934         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
78935         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
78936         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
78937         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
78938         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
78939         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
78940         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
78941         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
78942         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
78943         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
78944         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
78945         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
78946         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
78947         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
78948         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
78949         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
78950         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
78951         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
78952         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
78953         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
78954         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
78955         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
78956         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
78957         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
78958         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
78959         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
78960         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
78961         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
78962         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
78963         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
78964         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
78965         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
78966         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
78967         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
78968         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
78969         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
78970         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
78971         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
78972         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
78973         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
78974         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
78975         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
78976         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
78977         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
78978         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
78979         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
78980         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
78981         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
78982         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
78983         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
78984         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
78985         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
78986         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
78987         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
78988         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
78989         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
78990         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
78991         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
78992         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
78993         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
78994         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
78995         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
78996         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
78997         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
78998         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
78999         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
79000         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
79001         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
79002         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
79003         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
79004         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
79005         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
79006         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
79007         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
79008         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
79009         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
79010         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
79011         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
79012         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
79013         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
79014         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
79015         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
79016         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
79017         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
79018         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
79019         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
79020         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
79021         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
79022         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
79023         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
79024         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
79025         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
79026         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
79027         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
79028         lib/yesno.c, lib/yesno.h:
79029         Update FSF postal mail address.
79030
79031 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79032
79033         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
79034         tests/test-memmem.c, tests/test-stpncpy.c:
79035         Update FSF postal mail address.
79036
79037 2005-05-13  Bruno Haible  <bruno@clisp.org>
79038
79039         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
79040         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
79041         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
79042         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
79043         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
79044         Add support for 64-bit integers in the MSVC compiler.
79045
79046 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79047
79048         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
79049
79050 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
79051
79052         * gnulib-tool (func_import): Sort and uniquify recommended includes.
79053
79054 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
79055
79056         * doc/getdate.texi (General date syntax): Don't say that date
79057         date --iso-8601=ns generates acceptable dates; it doesn't yet.
79058         Problem reported by Nic Ferrier.
79059
79060 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79061
79062         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
79063         specified in ai_socktype. Fix invalid ai_protocol
79064         check. ai_protocol is usually set to 0 or depending on
79065         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
79066         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
79067         ai_socktype / ai_protocol in the returned addrinfo structure.
79068
79069 2005-05-10  Simon Josefsson  <jas@extundo.com>
79070
79071         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
79072         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79073
79074 2005-05-10  Karl Berry  <karl@gnu.org>
79075
79076         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
79077         (from http://www.gnu.org/licenses).
79078         * doc/COPYING.LIB: also rename to COPYING.LESSER.
79079         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
79080         fdl.texi suffices.
79081
79082 2005-05-10  Karl Berry  <karl@gnu.org>
79083
79084         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
79085         (COPYING.DOC): remove.
79086
79087         * config/srclist-update: new FSF address.
79088
79089 2005-05-10  Derek Price  <derek@ximbiot.com>
79090
79091         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
79092         possible.
79093
79094 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79095             Bruno Haible  <bruno@clisp.org>
79096
79097         * modules/inet_ntop: New file.
79098         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79099         inet_ntop.
79100
79101 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79102             Bruno Haible  <bruno@clisp.org>
79103
79104         * m4/inet_ntop.m4: New file.
79105
79106 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79107             Bruno Haible  <bruno@clisp.org>
79108
79109         * lib/inet_ntop.h: New file.
79110         * lib/inet_ntop.c: New file, from glibc with modifications.
79111
79112 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
79113
79114         * modules/time_r (License): Change to LGPL.
79115         * modules/extensions (License): Change to LGPL.  Actually,
79116         the license is more permissive than that, but currently gnulib-tool
79117         doesn't know how to handle more-permissive licenses.
79118
79119         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
79120         Problem reported by Dave Love.
79121
79122 2005-05-08  Jim Meyering  <jim@meyering.net>
79123
79124         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
79125         blank.
79126
79127 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79128
79129         * modules/argmatch (Depends-on): Add stdbool.
79130         * modules/backupfile (Depends-on): Likewise.
79131         * modules/chdir-long (Depends-on): Likewise.
79132         * modules/closeout (Depends-on): Likewise.
79133         * modules/cycle-check (Depends-on): Likewise.
79134         * modules/dirname (Depends-on): Likewise.
79135         * modules/fnmatch (Depends-on): Likewise.
79136         * modules/fsusage (Depends-on): Likewise.
79137         * modules/fwriteerror (Depends-on): Likewise.
79138         * modules/getcwd (Depends-on): Likewise.
79139         * modules/getloadavg (Depends-on): Likewise.
79140         * modules/hard-locale (Depends-on): Likewise.
79141         * modules/makepath (Depends-on): Likewise.
79142         * modules/mountlist (Depends-on): Likewise.
79143         * modules/nanosleep (Depends-on): Likewise.
79144         * modules/posixtm (Depends-on): Likewise.
79145         * modules/quotearg (Depends-on): Likewise.
79146         * modules/readtokens (Depends-on): Likewise.
79147         * modules/readtokens0 (Depends-on): Likewise.
79148         * modules/readutmp (Depends-on): Likewise.
79149         * modules/save-cwd (Depends-on): Likewise.
79150         * modules/strftime (Depends-on): Likewise.
79151         * modules/userspec (Depends-on): Likewise.
79152         * modules/utimecmp (Depends-on): Likewise.
79153         * modules/xgetcwd (Depends-on): Likewise.
79154         * modules/xnanosleep (Depends-on): Likewise.
79155         * modules/xstrtod (Depends-on): Likewise.
79156         * modules/yesno (Depends-on): Likewise.
79157
79158 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
79159
79160         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
79161         needless checks.
79162
79163 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79164
79165         Merge from coreutils.  Among other things,
79166         add bulletproofing for cases where stdin, stdout, or stderr are closed.
79167         * lib/fd-safer.c: New file.
79168         * lib/fcntl-safer.h, open-safer.c: Remove.
79169         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
79170         * lib/dup-safer.c: Include unistd-safer.h first.
79171         Don't include errno.h.
79172         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
79173         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
79174         * lib/file-type.c: Rely on file-type.h change.
79175         * lib/getloadavg.c: Include unistd-safer.h.
79176         (getloadavg): Use safer open.
79177         * lib/getusershell.c: Include "stdio-safer.h".
79178         (getusershell): Use safer fopen.
79179         * lib/long-options.c (long_options): Use NULL rather than 0.
79180         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
79181         'free'.
79182         * lib/modechange.c: Likewise.
79183         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
79184         (MODE_DONE): New constant.
79185         (struct mode_change): Remove 'next' member.
79186         (make_node_op_equals): New function; like the old one of the
79187         same name, except it allocates an array.
79188         (mode_compile, mode_create_from_ref): Use it.
79189         (mode_compile): Allocate result as an array, not a linked list.
79190         Parse octal string ourself, so that we catch mistakes like "+0".
79191         (mode_adjust): Arg is an array, not a linked list.
79192         * lib/modechange.c: Include stat-macros.h, xalloc.h.
79193         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
79194         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
79195         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
79196         Remove.  This is now stat-macros.h's job.
79197         (talloc): Remove.  All callers replaced by xalloc, so that
79198         our invokers don't have to worry about reporting memory failures.
79199         (make_node_op_equals): Remove.
79200         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
79201         New constants.
79202         (struct mode_change): Moved here from modechange.h.
79203         (mode_append_entry): Remove.
79204         (mode_compile): Remove MASKED_OPS arg, since it encouraged
79205         apps to have incorrect behavior.  Use simpler algorithm for head
79206         and tail.  Don't futz with umask; that's now the job of mode_adjust.
79207         Detect more invalid usages rather than having somewhat-random behavior.
79208         Don't insert an "a=" action, as that leads to incorrect behavior.
79209         (mode_compile, mode_create_from_ref): Return NULL on error instead
79210         of an enum, since now there's only one way to have an error.  All
79211         callers changed.
79212         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
79213         at the correct time.  Simplify calculation of "+u" and its ilk.
79214         Don't mishandle "+X".
79215         (mode_free): Remove "register" and localize decls.
79216         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
79217         (struct mode_change): Move to modechange.c; callers don't
79218         need to see this stuff.
79219         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
79220         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
79221         (mode_change, mode_adjust): Reflect the new signatures noted above.
79222         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
79223         that might redefine system include files.
79224         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
79225         (my_usleep): Use NULL rather than (void *) 0.
79226         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
79227         Use siginterrupt to specify that system calls should be interrupted.
79228         (rpl_nanosleep): Move initialization of suspended closer to call of
79229         my_usleep.
79230         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
79231         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
79232         (desirable_utmp_entry): New function.
79233         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
79234         using x2nrealloc, to simplify logic.
79235         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
79236         size calculation.  Do not assume utmp file is a regular file.
79237         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
79238         (READ_UTMP_CHECK_PIDS): New constant.
79239         * lib/save-cwd.c: Include unistd-safer.h.
79240         (save_cwd): Use fd_safer.
79241         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
79242         [!_LIBC] Include "stat-macros.h" instead.
79243         * lib/unistd-safer.h (fd_safer): New decl.
79244
79245 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79246
79247         * modules/getloadavg (Depends-on): Add unistd-safer.
79248         * modules/getusershell (Depends-on): Add stdio-safer.
79249         * modules/lstat (Depends-on): Remove xalloc.
79250         * modules/mkstemp (Depends-on): Add stat-macros.
79251         * modules/modechange (Depends-on): Remove xstrtol.
79252         Add stat-macros, xalloc.
79253         * modules/save-cwd (Depends-on): Add unistd-safer.
79254         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
79255         * modules/unistd-safer (Files): Add lib/fd-safer.c
79256         (Makefile.am): Remove lib_SOURCES.
79257
79258         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
79259         Remove fcntl-safer; unistd-safer supersedes it.
79260
79261 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79262
79263         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
79264         AC_HEADER_STAT.
79265         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
79266         (gl_PREREQ_CHOWN): Remove.
79267         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
79268         it.  Don't require AC_HEADER_STAT.
79269         (gl_PREREQ_LSTAT): Remove.
79270         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
79271         Don't require AC_HEADER_STAT.
79272         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
79273         (gl_PREREQ_RMDIR): Remove.
79274         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
79275         mention stat-macros.h or AC_HEADER_STAT, since we'll make
79276         the stat-macros module a prerequisite.
79277         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
79278         * m4/filemode.m4 (gl_FILEMODE): Likewise.
79279         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
79280         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
79281         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
79282         variable names.
79283         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
79284         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
79285         variable prefixes.
79286         * m4/fcntl-safer.m4: Remove.
79287         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
79288         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
79289         Invoke gl_PREREQ_FD_SAFER.
79290         (gl_PREREQ_FD_SAFER): New macro.
79291         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
79292         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
79293         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
79294         Remove duplicate call to AC_LIBOBJ(readutmp).
79295         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
79296
79297         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
79298         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
79299
79300 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79301
79302         * MODULES.html.sh (Misc): Add byteswap.
79303
79304 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79305
79306         * modules/getcwd (Depends-on): Add extensions.
79307         * modules/openat (Depends-on): Likewise.
79308
79309 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79310
79311         * modules/byteswap: New file.
79312
79313 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79314
79315         * m4/byteswap.m4: New file.
79316
79317 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79318
79319         * lib/byteswap_.h: New file.
79320
79321 2005-04-25  Karl Berry  <karl@gnu.org>
79322
79323         * m4/gettext.m4: Update from GNU gettext 0.14.4.
79324
79325 2005-04-25  Albert Chin  <china@thewrittenword.com>
79326
79327         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
79328         Toolkit C bug.
79329
79330 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
79331
79332         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
79333         (func_ln_if_changed): Remove forcibly for no error message
79334         in case file does not exist.
79335
79336 2005-04-19  Simon Josefsson  <jas@extundo.com>
79337
79338         * gnulib-tool (Options): Make --symlink mean --symbolic.
79339
79340 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
79341
79342         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
79343
79344 2005-04-16  Simon Josefsson  <jas@extundo.com>
79345
79346         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
79347
79348 2005-04-15  Simon Josefsson  <jas@extundo.com>
79349
79350         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
79351
79352 2005-04-15  Simon Josefsson  <jas@extundo.com>
79353
79354         * gnulib-tool: Rename --symlink to --symbolic.
79355
79356 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
79357
79358         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
79359         symbolic links to files instead of copying/moving.  Add --aux-dir,
79360         specifying directory relative --dir where auxiliary build tools
79361         are placed.
79362
79363 2005-04-14  Bruno Haible  <bruno@clisp.org>
79364
79365         * modules/allocsa (License): Change to LGPL.
79366         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
79367
79368 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
79369
79370         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
79371         that "UTC +1 second" continues to work.  Problem reported
79372         by Dmitry V. Levin.
79373         (relunit_snumber): New rule.
79374         (relunit): Use it.
79375
79376 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
79377
79378         * lib/getdate.y (universal_time_zone_table): New constant.
79379         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
79380         universal_time_zone_table.
79381         (lookup_zone): Prefer universal_time_zone_table to
79382         local_time_zone_table, so that "GMT" time stamps are allowed in
79383         London during the summer.  Problem reported by Ian Abbott.
79384
79385 2005-04-12  Jim Meyering  <jim@meyering.net>
79386
79387         * lib/human.c (humblock): Set *options even when returning due to
79388         xstrtoumax conversion failure.  Thanks to a used-uninitialized
79389         warning from gcc-4.
79390
79391 2005-04-09  Jim Meyering  <jim@meyering.net>
79392
79393         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
79394         -Wuninitialized: initialize tm0.tm_year.
79395
79396 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
79397
79398         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
79399         count, since there's no maximum.  All uses changed.
79400         Add member dsts_seen.
79401         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
79402         not being INT_MAX.
79403         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
79404         Use pc_rels_seen to decide whther a date is absolute.
79405
79406         * lib/getdate.y (number): Don't overwrite year.
79407         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
79408         check.
79409
79410 2005-04-02  Simon Josefsson  <jas@extundo.com>
79411
79412         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
79413         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
79414
79415 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
79416
79417         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
79418         where no absolute path name can be longer than PATH_MAX.
79419
79420 2005-03-27  Jim Meyering  <jim@meyering.net>
79421
79422         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
79423
79424 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
79425
79426         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
79427         "one's complement" -> "ones' complement" in comment, as per Knuth.
79428         "value of type" -> "type or expression" in comment.
79429         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
79430
79431 2005-03-26  Jim Meyering  <jim@meyering.net>
79432
79433         Comment nits.
79434         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
79435         Correct typos: s/or/of/.
79436
79437 2005-03-26  Jim Meyering  <jim@meyering.net>
79438
79439         * modules/check-include-files: Move to ../ and rename to...
79440         * check-module: ...this.
79441
79442 2005-03-25  Jim Meyering  <jim@meyering.net>
79443
79444         * modules/xvasprintf (Files): Add xalloc.h.
79445
79446 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
79447
79448         * modules/gettext (Files): config/config.rpath ->
79449         build-aux/config.rpath
79450         * modules/iconv (Files): Likewise.
79451         Problem reported by Oskar Liljeblad.
79452
79453 2005-03-23  Jim Meyering  <jim@meyering.net>
79454
79455         * modules/check-include-files: New script to check for
79456         missing dependencies, multiple includes, etc.
79457
79458         * modules/c-strtold (Depends-on): Add xalloc.
79459         * modules/c-strtod (Depends-on): Add xalloc.
79460         * modules/hash (Depends-on): Add xalloc.
79461         (Files): Remove lib/xalloc.h.
79462
79463         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
79464         * modules/userspec (Files): Add lib/inttostr.h.
79465
79466 2005-03-23  Jim Meyering  <jim@meyering.net>
79467
79468         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
79469
79470 2005-03-22  Jim Meyering  <jim@meyering.net>
79471
79472         * modules/stat-macros: New module.
79473         * modules/canonicalize, modules/euidaccess, modules/file-type,
79474         * modules/filemode, modules/lchown, modules/makepath,
79475         * modules/rmdir, modules/stat: Depend on new stat-macros module
79476         rather than listing lib/stat-macros.h manually.
79477         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
79478
79479 2005-03-22  Jim Meyering  <jim@meyering.net>
79480
79481         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
79482
79483 2005-03-22  Bruno Haible  <bruno@clisp.org>
79484
79485         * config/srclist.txt: Replace target directory 'config' with
79486         'build-aux'.
79487         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
79488         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
79489         ../build-aux/.
79490
79491 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
79492
79493         * modules/chdir-long (Depends-on): Add mempcpy.
79494
79495         * modules/acl, modules/backupfile, modules/c-strtod,
79496         modules/c-strtold, modules/canon-host, modules/canonicalize,
79497         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
79498         modules/exclude, modules/exitfail, modules/file-type,
79499         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
79500         modules/getdate, modules/getline, modules/getpagesize,
79501         modules/getpass, modules/getugroups, modules/group-member,
79502         modules/hard-locale, modules/hash, modules/human, modules/idcache,
79503         modules/inttostr, modules/long-options, modules/makepath,
79504         modules/md5, modules/memcasecmp, modules/memcoll,
79505         modules/modechange, modules/mountlist, modules/path-concat,
79506         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
79507         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
79508         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
79509         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
79510         modules/strftime, modules/strndup, modules/strverscmp,
79511         modules/timespec, modules/unlocked-io, modules/userspec,
79512         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
79513         modules/yesno:
79514         Remove lib_SOURCES line from Makefile.am section, as this is now
79515         done automatically by the corresponding Autoconf macro.
79516
79517 2005-03-21  Jim Meyering  <jim@meyering.net>
79518
79519         Changes imported from coreutils.
79520
79521         * lib/cycle-check.c: Don't include xalloc.h.
79522
79523         * lib/path-concat.c: Don't include assert.h.
79524         (path_concat): Remove assertion that would have triggered
79525         for ABASE starting with more than one slash.
79526         Reported by Andreas Schwab.
79527
79528         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
79529         properly when ABASE is an absolute file name.
79530         Correct the description of this function.
79531         Include <assert.h>.
79532         Add an assertion and a test driver.
79533         This fixes a bug introduced on 2004-07-02.
79534         Andreas Schwab reported the resulting failure of cp --parents:
79535         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
79536
79537 2005-03-21  Jim Meyering  <jim@meyering.net>
79538
79539         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
79540         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
79541
79542 2005-03-21  Jim Meyering  <jim@meyering.net>
79543         and  Paul Eggert  <eggert@cs.ucla.edu>
79544
79545         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
79546         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
79547         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
79548         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
79549         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
79550         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
79551         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
79552         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
79553         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
79554         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
79555         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
79556         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
79557         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
79558         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
79559         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
79560         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
79561         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
79562         for these modules.
79563
79564 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
79565
79566         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
79567         (which shouldn't happen), generate nothing instead of returning 0
79568         immediately, so that nstrftime (NULL, ...) doesn't return 0.
79569
79570 2005-03-16  Bruno Haible  <bruno@clisp.org>
79571
79572         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
79573         HAVE_LONGLONG_64BIT.
79574
79575 2005-03-16  Bruno Haible  <bruno@clisp.org>
79576
79577         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
79578         HAVE_LONGLONG_64BIT.
79579
79580 2005-03-16  Bruno Haible  <bruno@clisp.org>
79581
79582         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
79583         HAVE_LONGLONG_64BIT.
79584
79585 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
79586
79587         * lib/strftime.c (my_strftime): Prepend space to format so that we can
79588         reliably distinguish strftime failure from empty output on POSIX
79589         hosts.
79590
79591 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
79592
79593         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
79594         (iconv_string): Don't guess a size-zero buffer, as that might cause
79595         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
79596         result would be 'too large', where 'too large' is (heuristically)
79597         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
79598         overflow concerns.  This will prevent some unwanted malloc failures
79599         when the inputs are very large.
79600
79601 2005-03-15  Karl Berry  <karl@gnu.org>
79602
79603         * config/srclist.txt (config.rpath): from gettext.
79604         * config/config.rpath: update.
79605
79606 2005-03-15  Bruno Haible  <bruno@clisp.org>
79607
79608         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
79609         to 'negate'.
79610
79611         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
79612         variable.
79613
79614         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
79615         results.
79616
79617 2005-03-14  Simon Josefsson  <jas@extundo.com>
79618
79619         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
79620         <fx@gnu.org>.
79621
79622 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
79623
79624         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
79625         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
79626         intprops.h.
79627         * lib/strtol.c: Likewise.
79628
79629 2005-03-14  Jim Meyering  <jim@meyering.net>
79630
79631         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
79632         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
79633         to be nonzero so that we (and caller) can detect the difference
79634         between a valid zero-length expansion and an error return, even
79635         when the underlying strftime fails before writing anything into
79636         that location.
79637
79638 2005-03-14  Bruno Haible  <bruno@clisp.org>
79639
79640         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
79641         Update from GNU gettext 0.14.3.
79642
79643 2005-03-10  Jim Meyering  <jim@meyering.net>
79644
79645         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
79646
79647 2005-03-10  Jim Meyering  <jim@meyering.net>
79648
79649         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
79650         so that this module works on systems without fchdir.
79651
79652 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
79653
79654         Factor int-properties macros into a single file, except for
79655         glibc-related files.
79656         * lib/intprops.h: New file.
79657         * lib/getloadavg.c: Include it instead of limits.h.
79658         (INT_STRLEN_BOUND): Remove.
79659         * lib/human.c: Include intprops.h.
79660         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
79661         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
79662         302/1000.
79663         * lib/inttostr.h: Include intprops.h instead of limits.h.
79664         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
79665         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
79666         for consistency with intprops.h.
79667         (time_t_is_integer, twos_complement_arithmetic): Use them.
79668         * lib/sig2str.h: Include <signal.h>, intprops.h.
79669         (INT_STRLEN_BOUND): Remove.
79670         * lib/strftime.c (TYPE_SIGNED): Remove.
79671         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
79672         * lib/strtol.c: Adjust comments to match intprops.h.
79673         * lib/userspec.c: Include intprops.h.
79674         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
79675         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
79676         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
79677         instead of rolling our own expressions.
79678         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
79679
79680         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
79681         instead of int.
79682         (my_strftime): Do not mishandle years close to INT_MAX, by doing
79683         the right thing even if adding 1900 would overflow.  Similarly
79684         for tm_mon + 1 and tm_yday + 1.
79685         Make %Y always equivalent to %C%y, and similarly for %G and %g.
79686         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
79687         (DO_SIGNED_NUMBER): New macro.
79688         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
79689
79690 2005-03-07  Bruno Haible  <bruno@clisp.org>
79691
79692         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
79693
79694 2005-03-07  Bruno Haible  <bruno@clisp.org>
79695
79696         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
79697
79698 2005-03-04  Derek R. Price  <derek@ximbiot.com>
79699
79700         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
79701         (func_import): Only replace files via --import when they have actually
79702         changed.
79703
79704 2005-03-03  Derek R. Price  <derek@ximbiot.com>
79705
79706         * m4/mmap-anon.m4: New file.
79707         * m4/pagealign_alloc.m4: New file.
79708
79709 2005-03-03  Derek R. Price  <derek@ximbiot.com>
79710             Bruno Haible  <bruno@clisp.org>
79711
79712         * modules/pagealign_alloc: New file.
79713         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
79714
79715 2005-03-03  Derek R. Price  <derek@ximbiot.com>
79716             Bruno Haible  <bruno@clisp.org>
79717
79718         * lib/pagealign_alloc.h: New file.
79719         * lib/pagealign_alloc.c: New file.
79720
79721 2005-03-03  Bruno Haible  <bruno@clisp.org>
79722
79723         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
79724         Use an all-permissive copyright notice, recommended by RMS.
79725
79726 2005-03-02  Bruno Haible  <bruno@clisp.org>
79727
79728         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
79729         of AIX, the replacement has to be done only after <string.h> is
79730         included, therefore not in config.h. stpncpy.h does the replacement,
79731         and stpncpy.c uses it.
79732
79733 2005-03-02  Bruno Haible  <bruno@clisp.org>
79734
79735         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
79736         stpncpy.c uses it.
79737
79738 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79739
79740         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
79741         The workaround isn't strictly needed for POSIX conformance, and
79742         it's too much of a pain to configure and maintain.  We'll ask
79743         people to fix their kernels instead.
79744         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
79745         (NANOSLEEP_BUG_WORKAROUND): Remove.
79746         (xnanosleep): Remove the workaround.
79747
79748 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79749
79750         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
79751         Reported by Derek Price.
79752         (Include): Add "timespec.h".
79753
79754         * modules/xnanosleep (Depends-on): Remove gethrxtime.
79755
79756 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79757
79758         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
79759         to detect nanosleep bug.
79760
79761 2005-03-01  Bruno Haible  <bruno@clisp.org>
79762
79763         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
79764
79765 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
79766
79767         * modules/gethrxtime: New file.
79768         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
79769         (Depends-on): Add gethrxtime.
79770         (configure.ac): Add gl_XNANOSLEEP.
79771         (Makefile.am): Remove lib_SOURCES line.
79772
79773 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
79774
79775         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
79776         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
79777
79778 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
79779
79780         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
79781         * lib/timespec.h (gettime): Return void, since it always
79782         succeeds now.  All uses changed.
79783         * lib/gettime.c (gettime): Likewise.
79784         [HAVE_NANOTIME]: Prefer nanotime.
79785         Assume gettimeofday succeeds, as POSIX requires.
79786         Assime time () succeeds, since other code already does.
79787         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
79788         (timespec_subtract): Remove.
79789         (NANOSLEEP_BUG_WORKAROUND): New constant.
79790         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
79791         things considerably.  Use it only on GNU/Linux hosts, since the
79792         workaround shouldn't be needed elsewhere.
79793
79794 2005-02-24  Bruno Haible  <bruno@clisp.org>
79795
79796         * modules/gettext (Files): Add m4/glibc2.m4.
79797
79798 2005-02-24  Bruno Haible  <bruno@clisp.org>
79799
79800         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
79801         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
79802         * m4/progtest.m4:
79803         Update from GNU gettext 0.14.2.
79804         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
79805
79806 2005-02-24  Bruno Haible  <bruno@clisp.org>
79807
79808         * lib/localcharset.c: Update from GNU gettext 0.14.2.
79809         * lib/config.charset: Update from GNU gettext 0.14.2.
79810
79811 2005-02-24  Bruno Haible  <bruno@clisp.org>
79812
79813         * lib/gettext.h: Update from GNU gettext 0.14.2.
79814
79815 2005-02-23  Simon Josefsson  <jas@extundo.com>
79816
79817         * m4/iconvme.m4: New file.
79818
79819 2005-02-23  Jim Meyering  <jim@meyering.net>
79820
79821         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
79822         change.
79823         Thanks to Bruno Haible for catching it.
79824
79825 2005-02-22  Simon Josefsson  <jas@extundo.com>
79826
79827         * modules/iconvme: New file.
79828
79829         * MODULES.html.sh: Add iconvme.
79830
79831 2005-02-22  Simon Josefsson  <jas@extundo.com>
79832
79833         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
79834
79835 2005-02-22  Simon Josefsson  <jas@extundo.com>
79836
79837         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
79838
79839 2005-02-22  Jim Meyering  <jim@meyering.net>
79840
79841         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
79842         s/ifndef/ifdef/.
79843
79844 2005-02-20  Neil Conway  <neilc@samurai.com>
79845
79846         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
79847         returned by OSX/Darwin if the specified buffer is not large
79848         enough for the hostname.
79849
79850 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79851
79852         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
79853         pass it to _help, otherwise the latter coredumps trying to
79854         dereference state.root_argp.
79855
79856 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
79857
79858         * modules/chdir-long (Depends-on): Add memrchr.
79859         * modules/memrchr (Files): Add lib/memrchr.h.
79860         (Include): "memrchr.h".
79861
79862 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
79863
79864         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
79865
79866 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
79867
79868         * lib/memrchr.h: New file.
79869         * lib/chdir-long.c: Include it.
79870         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
79871         Don't bother including stddef.h.
79872
79873 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
79874
79875         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
79876         inclusion.
79877         Include <sys/types.h>, for dev_t.
79878         (ME_DUMMY, ME_REMOTE): Move from here....
79879         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
79880         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
79881         Dmitry V. Levin.
79882         Include mountlist.h first, to test the interface.
79883
79884 2005-01-29  Bruno Haible  <bruno@clisp.org>
79885
79886         * lib/progname.c (program_name): Initialize.
79887         Needed when linking statically on MacOS X.
79888
79889 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
79890
79891         Sync from coreutils.
79892         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
79893         (Depends-on): Add c-strtod.
79894         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
79895
79896 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
79897
79898         Sync from coreutils.
79899         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
79900
79901         Remove files that are specific to coreutils.
79902         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
79903
79904 2005-01-28  Bruno Haible  <bruno@clisp.org>
79905
79906         * modules/javacomp: New file.
79907         * MODULES.html.sh (Java): Add javacomp.
79908
79909 2005-01-28  Bruno Haible  <bruno@clisp.org>
79910
79911         * m4/javacomp.m4: New file, from GNU gettext.
79912
79913 2005-01-28  Bruno Haible  <bruno@clisp.org>
79914
79915         * lib/javacomp.sh.in: New file, from GNU gettext.
79916         * lib/javacomp.h: New file, from GNU gettext.
79917         * lib/javacomp.c: New file, from GNU gettext.
79918
79919 2005-01-26  Simon Josefsson  <jas@extundo.com>
79920
79921         * lib/gai_strerror.c: Use GPL in header.
79922
79923 2005-01-26  Bruno Haible  <bruno@clisp.org>
79924
79925         * modules/javaexec: New file.
79926         * MODULES.html.sh (Java): Add javaexec.
79927
79928 2005-01-26  Bruno Haible  <bruno@clisp.org>
79929
79930         * m4/javaexec.m4: New file, from GNU gettext.
79931
79932 2005-01-26  Bruno Haible  <bruno@clisp.org>
79933
79934         * lib/javaexec.sh.in: New file, from GNU gettext.
79935         * lib/javaexec.h: New file, from GNU gettext.
79936         * lib/javaexec.c: New file, from GNU gettext.
79937
79938 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79939
79940         * modules/lchown (Depends-on): Remove lchown.h
79941
79942 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79943
79944         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
79945         must be defined if the header file was not found, in order
79946         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
79947
79948 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79949
79950         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
79951         initializers for struct pentry_state.
79952         (__argp_error): Check return value of __asprintf
79953         (__argp_failure): Translate error message
79954
79955         * lib/argp-parse.c: Removed braces around the expansion of N_()
79956
79957 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79958
79959         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
79960         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
79961         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
79962         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
79963         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
79964         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
79965         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
79966         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
79967         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
79968         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
79969         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
79970         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
79971         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
79972         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
79973         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
79974         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
79975         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
79976         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
79977         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
79978         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
79979         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
79980         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
79981         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
79982         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
79983         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
79984         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
79985         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
79986         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
79987         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
79988         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
79989         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
79990         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
79991         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
79992         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
79993         xstrtol.m4, xstrtoumax.m4, yesno.m4:
79994         Use an all-permissive copyright notice, recommended by RMS.
79995
79996 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
79997
79998         * modules/chdir-long (Depends-on): Remove mempcpy.
79999
80000 2005-01-21  Jim Meyering  <jim@meyering.net>
80001
80002         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
80003         same value as for Solaris 9.
80004
80005         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
80006         component length.  This included changing the parameter to be
80007         of type `char *' rather than `char const *'.
80008         * lib/chdir-long.h (chdir_long): Update prototype.
80009
80010         * lib/openat.c (fdopendir, fstatat): New functions.
80011         * lib/openat.h: Include headers required for use of DIR and struct
80012         stat.
80013         [AT_SYMLINK_NOFOLLOW]: Define.
80014         (fdopendir, fstatat): Add prototypes.
80015
80016 2005-01-21  Bruno Haible  <bruno@clisp.org>
80017
80018         * modules/classpath: New file.
80019         * MODULES.html.sh (Java): Add classpath.
80020
80021 2005-01-21  Bruno Haible  <bruno@clisp.org>
80022
80023         * lib/classpath.h: New file, from GNU gettext.
80024         * lib/classpath.c: New file, from GNU gettext.
80025
80026 2005-01-20  Simon Josefsson  <jas@extundo.com>
80027
80028         * modules/version-etc-fsf: New file.
80029
80030 2005-01-20  Simon Josefsson  <jas@extundo.com>
80031
80032         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
80033         * lib/version-etc.c: Remove version_etc_copyright.
80034         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
80035         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
80036
80037 2005-01-20  Simon Josefsson  <jas@extundo.com>
80038
80039         * lib/base64.h (isbase64): Add.
80040
80041         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
80042         using a unsigned prototype, don't inline.
80043         (base64_decode): Use it.
80044
80045 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80046
80047         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
80048         it.
80049
80050 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80051
80052         * lib/save-cwd.c (save_cwd): Remove code to support the case
80053         where fchdir is missing or flaky.
80054
80055 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80056
80057         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
80058
80059 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
80060
80061         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
80062         AC_LIBSOURCES now does this.
80063         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
80064         with new ullong_max module.
80065
80066 2005-01-19  Bruno Haible  <bruno@clisp.org>
80067
80068         * modules/sh-quote: New file.
80069         * MODULES.html.sh (Executing programs): Add sh-quote.
80070
80071 2005-01-19  Bruno Haible  <bruno@clisp.org>
80072
80073         * lib/sh-quote.h: New file, from GNU gettext.
80074         * lib/sh-quote.c: New file, from GNU gettext.
80075
80076 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80077
80078         Merge from coreutils.
80079         * m4/ullong_max.m4: New file.
80080         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
80081         (gl_MACROS): Assume localeconv exists.
80082
80083 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80084
80085         Merge changes from coreutils, as described below in several
80086         changelogs dated today.
80087
80088         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
80089         (O_DIRECTORY): Remove; not needed here, since "." must be
80090         a directory.  All uses removed.
80091         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
80092         universal on Suns, and we also need to test for IRIX.
80093         Revamp code to use 'if' rather than '#if'.
80094         Avoid unnecessary comparison of cwd->desc to 0.
80095
80096         * lib/utimens.c (futimens): Robustify the previous patch, by checking
80097         for known valid error numbers rather than observed invalid ones.
80098
80099 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80100
80101         * modules/ullong_max: New file.
80102
80103         * modules/chdir-long, modules/openat: New files.
80104         * modules/save-cwd (Depends-on): Depend on chdir-long.
80105         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
80106
80107 2005-01-18  Jim Meyering  <jim@meyering.net>
80108
80109         Merge from coreutils.
80110         * m4/chdir-long.m4, m4/openat.m4: New files.
80111         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
80112         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
80113         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
80114         is sane and DOES follow symlinks.  Besides, testing 20 different
80115         systems found no broken chown implementations.
80116         Prompted by a change in rsync's copy of this macro.
80117         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
80118
80119         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
80120
80121         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
80122         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
80123         NULL-means-set-to-current-time semantics.
80124         Remove temporary file immediately, rather than waiting
80125         for configure's at-exit trap code to do it.
80126
80127 2005-01-18  Jim Meyering  <jim@meyering.net>
80128
80129         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80130
80131         * lib/utimens.c (futimens): Account for the fact that futimes
80132         can also fail with errno == ENOSYS or errno == ENOENT.
80133         Patch from Dmitry V. Levin.
80134
80135         Change the name of the robust chdir function from chdir to chdir_long.
80136         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
80137         (restore_cwd): Use chdir_long, not chdir.
80138         * lib/chdir-long.c: Renamed from chdir.c.
80139         * lib/chdir-long.h: Renamed from chdir.h.
80140         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
80141         Hurd.
80142
80143 2005-01-18  Bruno Haible  <bruno@clisp.org>
80144
80145         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
80146         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
80147         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
80148         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
80149         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
80150         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
80151         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
80152         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
80153         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
80154         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
80155         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
80156         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
80157         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
80158         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
80159         Use an all-permissive copyright notice, recommended by RMS.
80160
80161 2005-01-18  Bob Proulx  <bob@proulx.com>
80162
80163         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
80164         simplify offsetof() macro construct to avoid compile failure with
80165         native HP-UX 11.0 ANSI C compiler.
80166
80167 2005-01-17  Bruno Haible  <bruno@clisp.org>
80168
80169         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
80170         redundant because stpncpy.m4 takes care of it.
80171
80172 2005-01-17  Bruno Haible  <bruno@clisp.org>
80173
80174         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
80175
80176 2005-01-17  Bruno Haible  <bruno@clisp.org>
80177
80178         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
80179         used.
80180
80181 2005-01-17  Bruno Haible  <bruno@clisp.org>
80182
80183         * lib/fwriteerror.h (fwriteerror): Change specification to include
80184         fclose.
80185         * lib/fwriteerror.c: Include <stdbool.h>.
80186         (fwriteerror): At the end, close the file stream. Record whether
80187         stdout was already closed.
80188
80189 2005-01-17  Bruno Haible  <bruno@clisp.org>
80190
80191         * lib/execute.c (environ): Declare if needed.
80192         * lib/pipe.c (environ): Likewise.
80193         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
80194
80195 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80196
80197         * modules/argp: Depend on vsnprintf
80198
80199 2005-01-10  Jim Meyering  <jim@meyering.net>
80200
80201         * modules/closeout (Depends-on): Add atexit.
80202
80203 2005-01-06  Bruno Haible  <bruno@clisp.org>
80204
80205         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
80206
80207 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80208
80209         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
80210         definitions to be after all include files, to avoid collisions.
80211         Problem reported by Bob Proulx.
80212
80213 2005-01-04  Jim Meyering  <jim@meyering.net>
80214
80215         Changes imported from coreutils.
80216         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
80217         as the mkstemp template, use a temporary directory and an
80218         8.3-friendly template to avoid trouble on systems like DJGPP.
80219         Reported by Juan M. Guerrero via Stepan Kasal.
80220         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
80221         close. Remove the temporary directory right away, rather than waiting
80222         for configure's at-exit trap code to do it.
80223         Suggestion from Stepan Kasal.
80224
80225 2005-01-01  Simon Josefsson  <jas@extundo.com>
80226
80227         * gnulib-tool: Print #include directives when --import'ing.
80228
80229 2004-12-28  Simon Josefsson  <jas@extundo.com>
80230
80231         * tests/test-base64.c: Include required header files.  Remove
80232         unused variables.
80233
80234 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
80235
80236         * modules/error (Depends-on): Remove gettext.
80237
80238 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
80239
80240         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
80241         not needed.  This removes a dependency on the gettext module.
80242         [defined _LIBC]: Do not include <libintl.h>; not needed.
80243
80244 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
80245
80246         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
80247         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
80248
80249 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
80250
80251         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
80252         HAVE_DECL_STRTOLD.
80253
80254 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80255
80256         * modules/getdate (Depends-on): Remove alloca-opt.
80257
80258 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80259
80260         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
80261
80262 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80263
80264         * lib/argp-parse.c: Include <stddef.h>.
80265         (alignof, alignto): New macros.
80266         (parser_init): Don't assume that void * is aligned sufficiently
80267         for struct option.
80268
80269         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
80270         need to extend the stack.
80271         (YYINITDEPTH): New macro, so that the initial stack isn't overly
80272         large.
80273
80274 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80275
80276         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
80277
80278 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
80279
80280         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
80281         (2004-10-24) change.  Apparently this was a false alarm.
80282
80283         * modules/getdate: Depend on alloca-opt, not alloca.
80284
80285 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
80286
80287         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
80288         Remove now-obsolete comment about AIX.
80289         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
80290         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
80291         (YYMAXDEPTH): New macro.
80292
80293 2004-12-18  Simon Josefsson  <jas@extundo.com>
80294
80295         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
80296
80297 2004-12-18  Bruno Haible  <bruno@clisp.org>
80298
80299         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
80300
80301 2004-12-18  Bruno Haible  <bruno@clisp.org>
80302
80303         * lib/fatal-signal.c (fatal_signals): Make non-const.
80304         (init_fatal_signals): New function.
80305         (uninstall_handlers, install_handlers): Ignore signals that were set to
80306         SIG_IGN.
80307         (at_fatal_signal): Call init_fatal_signals.
80308         (init_fatal_signal_set): Likewise. Ignore signals that were set to
80309         SIG_IGN.
80310         Reported by Paul Eggert.
80311
80312 2004-12-18  Bruno Haible  <bruno@clisp.org>
80313
80314         * doc/alloca.texi: New file.
80315         * doc/alloca-opt.texi: New file.
80316
80317 2004-12-17  Jim Meyering  <jim@meyering.net>
80318
80319         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
80320         Otherwise, install-sh could exit with improper exit status when
80321         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
80322
80323 2004-12-16  Simon Josefsson  <jas@extundo.com>
80324
80325         * tests/test-base64.c: Add license.
80326
80327 2004-12-15  Stepan Kasal  <address@hidden>
80328
80329         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
80330
80331 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
80332
80333         * modules/getcwd (Files): Add m4/d-ino.m4.
80334         Suggested by Mark D. Baushke.
80335
80336 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
80337
80338         * lib/getdate.y (textint): New member "negative".
80339         (time_zone_hhmm): New function.
80340         Expect 14 shift-reduce conflicts, not 13.
80341         (o_colon_minutes): New rule.
80342         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
80343         (yylex): Set the "negative" member of signed numbers.
80344
80345 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
80346
80347         * doc/getdate.texi (Time of day items, Time zone items):
80348         Describe new formats +00:00, UTC+00:00.
80349
80350 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80351
80352         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
80353         spurious "-l"s.  Problem reported by Stepan Kasal.
80354
80355 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
80356
80357         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
80358         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
80359
80360 2004-12-04  Simon Josefsson  <jas@extundo.com>
80361
80362         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
80363         Vandoorselaere <yoann@prelude-ids.org>.
80364
80365 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80366
80367         Changes imported from coreutils.
80368         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
80369         exist.
80370         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
80371
80372 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80373
80374         Changes imported from coreutils.
80375         * lib/hard-locale.c: Assume <locale.h> exists.
80376         Include "strdup.h".
80377         (GLIBC_VERSION): New macro.
80378         (hard_locale): Assume setlocale exists.
80379         Rewrite to avoid #ifdef.
80380         Use strdup rather than malloc + strcpy.
80381         * lib/human.c: Assume <locale.h> exists.
80382         (human_readable): Assume localeconv exists.
80383
80384 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80385
80386         * modules/hard-locale (Depends-on): Add strdup.
80387
80388 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
80389
80390         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
80391         convert T2, not T.  (Imported from libc.)
80392
80393 2004-11-30  Simon Josefsson  <jas@extundo.com>
80394
80395         * modules/restrict (License): Change to LGPL.
80396
80397 2004-11-30  Simon Josefsson  <jas@extundo.com>
80398
80399         * m4/restrict.m4: Add copyright and copying conditions.
80400
80401 2004-11-30  Simon Josefsson  <jas@extundo.com>
80402
80403         * m4/base64.m4: New file.
80404
80405 2004-11-30  Simon Josefsson  <jas@extundo.com>
80406
80407         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
80408         base64.
80409
80410         * tests/test-base64.c: New file.
80411
80412         * modules/base64: New file.
80413
80414 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
80415
80416         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
80417         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
80418
80419         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
80420
80421 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
80422
80423         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
80424         (__getcwd.c): Don't restore errno; glibc doesn't.
80425         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
80426         first, falling back to our code only if its results look suspicious.
80427         Ensure that the resulting buffer is only as large as necessary.
80428
80429         * lib/readutmp.c: Include readutmp.h first.
80430         Include <errno.h>, since readutmp.h no longer does that.
80431         * lib/readutmp.h: Don't include <errno.h>,
80432         <sys/param.h>, <time.h>; not needed to establish interface.
80433         (errno): Remove decl.
80434         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
80435         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
80436         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
80437
80438 2004-11-28  Simon Josefsson  <jas@extundo.com>
80439
80440         * lib/base64.h, base64.c: New file.
80441
80442 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
80443
80444         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
80445
80446 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
80447
80448         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
80449         (Depends-on): Remove pathmax, same.  Add mempcpy.
80450         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
80451         (Makefile.am): Append getcwd.h to lib_SOURCES.
80452         (Include): Add getcwd.h.
80453         (Maintainer): Change from Jim Meyering to "all, glibc",
80454         since getdate now uses intended-for-glibc code.
80455         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
80456         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
80457
80458 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80459
80460         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
80461         HP's ANSI C compiler.
80462         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
80463         Declaring int functions causes warnings on some modern systems and
80464         shouldn't be needed to compile on ancient ones.
80465         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
80466         defined.
80467
80468         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
80469         with the following changes.
80470         (__set_errno): Parenthesize properly.
80471         Include <stdbool.h>.
80472         (MIN, MAX, MATCHING_INO): New macros.
80473         (__getcwd): Define with prototype, not K&R form.
80474         Use heuristics to allocate default buffer on stack if possible.
80475         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
80476         behavior, and to avoid the PATH_MAX limit when computing
80477         ../../../../...
80478         Use MATCHING_INO to compare inode number to file.
80479         Check for arithmetic overflow in size calculations.
80480         Fix bug in reallocation of dot array that caused getcwd to fail
80481         on directories nested deeper than 75.
80482         Be more careful about saving errno on error.
80483         Do not use realloc; use only free+malloc, as this is a bit
80484         more flexible and avoids a needless copy operation.
80485         Do not inspect st_dev and st_ino for symbolic links; POSIX
80486         doesn't specify the latter.
80487         Check for closedir errors.
80488         Avoid needless casts.
80489         Use "#ifdef weak_alias" around weak_alias, to be like other
80490         glibc code.
80491         The following changes to getcwd.c have effect only when used in
80492         gnulib; they have no effect inside glibc proper.
80493         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
80494         as alloca isn't used.
80495         (alloca, __alloca): Likewise.
80496         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
80497         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
80498         unconditionally, as gnulib assumes C89 or better.
80499         Do not include <sys/param.h>.
80500         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
80501         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
80502         better.
80503         (NULL) [!defined NULL]: Remove; we assume C89 or better.
80504         Include <dirent.h> in a way that is compatible with modern Autoconf.
80505         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
80506         New macros, if not already defined.
80507         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
80508         Use "_LIBC", not "defined _LIBC", for consistency.
80509         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
80510         a mempcpy module.
80511         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
80512         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
80513         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
80514         credit only to Jim Meyering and adjust the copyright dates.
80515         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
80516         <stdlib.h>, <unistd.h>, "pathmax.h".
80517         Instead, include "xgetcwd.h" (first) and "getcwd.h".
80518         (INITIAL_BUFFER_SIZE): Remove.
80519         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
80520
80521 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80522
80523         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
80524         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
80525         Use the _ONCE methods, for efficiency.
80526         Check for fcntl.h.  In test program, include <errno.h>
80527         and <fcntl.h> if available.  Remove old K&R cruft from
80528         test program.  Check for common errors in GNU/Linux,
80529         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
80530         don't do AC_LIBOBJ, as that's getcwd.m4's job.
80531         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
80532         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
80533         name accordingly.
80534         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
80535         accommodate new getcwd.c.
80536         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
80537         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
80538         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
80539         that's all we need now.
80540
80541 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80542
80543         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
80544         argp-parse.c depends on getopt internals, that means we should
80545         always use our getopt, to be on the safe side.
80546         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
80547         order not to spoil the result of an eventual previous invocation
80548         of gl_GETOPT_SUBSTITUTE.
80549
80550 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80551
80552         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
80553         redefinition warnings. To avoid them, include the defines
80554         in `#if !defined __need_getopt ... #endif'. The only place
80555         where __getopt_argv_const is used is in definitions
80556         of getopt_long and getopt_long_only below, which are as well
80557         protected by `#ifndef __need_getopt'.
80558         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
80559         __need_getopt after including <stdio.h> and <unistd.h> These
80560         headers might have defined it.
80561
80562 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
80563
80564         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
80565
80566 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
80567
80568         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
80569         (futimens): New function, which uses futimes if available.
80570         (futimens, utimens): Support timespec==NULL, with same semantics
80571         as utime and utimens.
80572         * lib/utimens.h (futimens): New decl.
80573
80574 2004-11-23  Jim Meyering  <jim@meyering.net>
80575
80576         * lib/getopt_.h: Remove trailing blanks.
80577
80578 2004-11-23  Jim Meyering  <jim@meyering.net>
80579
80580         * lib/__fpending.c: Add comment.
80581
80582 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
80583
80584         * modules/canonicalize (Depends-on): Add xreadlink.
80585         Problem reported by James Youngman.
80586
80587 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
80588
80589         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
80590         New macros.
80591         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
80592         optopt): Use them instead of invoking ## directly; otherwise, the
80593         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
80594
80595 2004-11-19  Bruno Haible  <bruno@clisp.org>
80596
80597         * lib/strtok_r.c: Move comments from here...
80598         * lib/strtok_r.h: ... to here.
80599
80600 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
80601
80602         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
80603         implementations that mishandle size_t overflow.
80604
80605 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
80606
80607         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
80608         might fail.  Problem reported by Yoann Vandoorselaere.
80609         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
80610         implementations that mishandle size_t overflow.
80611
80612 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80613
80614         * modules/canon-host (Depends-on): Add strdup.
80615
80616 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80617
80618         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
80619
80620 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80621
80622         * lib/canon-host.c: Include "strdup.h".
80623         (canon_host): Use getaddrinfo if available, so that IPv6 works.
80624         Use strdup instead of malloc/strcpy to duplicate strings.
80625
80626         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
80627         (human_space_before_unit): New constant.
80628         * lib/human.c (human_readable): Support it.
80629
80630         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
80631         (xgetcwd): Set errno correctly when failing.
80632         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
80633         the failure is actually due to a PATH_MAX problem.
80634
80635         Further getopt changes to make it more likely that glibc will
80636         buy the changes back.
80637         * lib/getopt.c (POSIXLY_CORRECT): New constant.
80638         (getopt): Use it, so to preserve glibc semantic
80639         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
80640         when compiling for libc.
80641         * lib/getopt_.h (__getopt_argv_const): Bring it back.
80642         (getopt_long, getopt_long_only): Use it.
80643
80644         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
80645         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
80646         (getopt): Argv is now char * const *, as per standard.
80647         (_getopt_internal_r, _getopt_internal): Argv is now char **,
80648         not char *__getopt_argv_const *.
80649         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
80650         _getopt_long_only_r): Likewise.
80651         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
80652         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
80653         _getopt_long_r, _getopt_long_only_r): Likewise.
80654         * lib/getopt_.h (__getopt_argv_const): Remove.
80655         (getopt): Argv is now char * const *, as per standard.
80656
80657         * lib/getdate.y (tORDINAL): New token.
80658         (day, relunit): Allow it for relative times.
80659         (relative_time_table): Use tORDINAL for ordinals.
80660
80661 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80662
80663         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
80664         Document that "second" isn't allowed as an ordinal number.
80665
80666 2004-11-16  Jim Meyering  <jim@meyering.net>
80667
80668         * modules/closeout (Depends-on): Add fpending.
80669
80670 2004-11-15  Jim Meyering  <jim@meyering.net>
80671
80672         * lib/closeout.c: Include "__fpending.h" once again.
80673         Include <stdbool.h>.
80674         (close_stdout): Don't fail just because stdout was closed initially,
80675         since some programs don't write to stdout in the normal course of
80676         operation (other than --version and --help), and we don't want this
80677         function to make e.g. `touch file >&-' fail.
80678         But do fail if it was closed and someone has tried to write to it.
80679         E.g., `printf foo >&-' must fail.
80680
80681 2004-11-13  Jim Meyering  <jim@meyering.net>
80682
80683         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
80684
80685 2004-11-12  Simon Josefsson  <jas@extundo.com>
80686
80687         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
80688         small doc fix is still pending.
80689
80690 2004-11-11  Simon Josefsson  <jas@extundo.com>
80691
80692         * modules/strtok_r: New file.
80693
80694         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80695         strtok_r.
80696
80697 2004-11-11  Simon Josefsson  <jas@extundo.com>
80698
80699         * m4/strtok_r.m4: New file.
80700
80701         * m4/getopt.m4: Replace opterr.
80702
80703 2004-11-11  Simon Josefsson  <jas@extundo.com>
80704
80705         * lib/strtok_r.h, strtok_r.c: New file.
80706
80707 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
80708
80709         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
80710         of replacing opterr, getopt, etc.  This should handle the
80711         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
80712
80713 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
80714
80715         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
80716         we can stop lying to compilers about the constness of argv when we
80717         are compiled outside glibc.
80718         (getopt, getopt_long, getopt_long_only): Use it.
80719         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
80720         _getopt_internal, getopt): Likewise.
80721         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
80722         _getopt_long_only_r): Likewise.
80723         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
80724         _getopt_long_r, _getopt_long_only_r): Likewise.
80725
80726         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
80727         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
80728         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
80729         the other external symbols.
80730         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
80731         declaration, since the above renaming now works around collisions.
80732
80733 2004-11-11  Jim Meyering  <jim@meyering.net>
80734
80735         * lib/linebreak.c: Remove trailing blanks.
80736         * lib/alloca_.h: Likewise.
80737         * lib/acosl.c: Likewise.
80738         * lib/euidaccess.c: Likewise.
80739         * lib/allocsa.h: Likewise.
80740
80741 2004-11-10  Simon Josefsson  <jas@extundo.com>
80742
80743         * m4/getaddrinfo.m4: New file.
80744
80745 2004-11-10  Simon Josefsson  <jas@extundo.com>
80746
80747         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
80748
80749 2004-11-10  Simon Josefsson  <jas@extundo.com>
80750
80751         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80752         getaddrinfo.
80753
80754         * modules/getaddrinfo: New file.
80755
80756 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80757
80758         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
80759
80760 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80761
80762         * lib/mktime.c (SHR): New macro, which is a portable
80763         substitute for >> that should work even on Crays.
80764         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
80765         Problem reported by Mark D. Baushke in
80766         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
80767         * lib/getdate.y (SHR): Likewise.
80768         (tm_diff): Use it.
80769         * lib/strftime.c (SHR): Likewise.
80770         (tm_diff): Use it.
80771         * lib/quotearg.c (struct quoting_options): Use unsigned int for
80772         quote_these_too, so that right shifts are well defined.  All uses
80773         changed.
80774
80775 2004-11-10  Jim Meyering  <jim@meyering.net>
80776
80777         Ensure that no close failure goes unreported.
80778         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
80779         return early when it seems there's nothing to flush.
80780         Don't include __fpending.h.
80781
80782 2004-11-10  Jim Meyering  <jim@meyering.net>
80783
80784         * modules/closeout (Depends-on): Remove fpending.
80785
80786 2004-11-10  Jim Meyering  <jim@meyering.net>
80787
80788         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
80789
80790 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
80791
80792         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
80793         gl_FUNC_STRFTIME.
80794         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
80795         and AC_REQUIRE when possible, to avoid duplicate checks.
80796         Check for <wchar.h>.
80797
80798 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
80799
80800         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
80801
80802 2004-11-09  Bruno Haible  <bruno@clisp.org>
80803
80804         * m4/sockpfaf.m4: New file.
80805
80806 2004-11-05  Bruno Haible  <bruno@clisp.org>
80807
80808         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
80809         Reported by Mark D. Baushke <mdb@cvshome.org>.
80810
80811 2004-11-04  Bruno Haible  <bruno@clisp.org>
80812
80813         2004-09-11  Bruno Haible  <bruno@clisp.org>
80814                 * allocsa.valgrind: New file.
80815         2004-02-06  Bruno Haible  <bruno@clisp.org>
80816                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
80817                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
80818                 Reported by Christopher Seip <chris.seip@hp.com>.
80819
80820 2004-11-04  Bruno Haible  <bruno@clisp.org>
80821
80822         * modules/allocsa (Files): Add lib/allocsa.valgrind.
80823         (Makefile.am): Distribute it.
80824
80825 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
80826
80827         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
80828         with errno == ERANGE if the buffer is too small.
80829         Problem reported by Mark D. Baushke.
80830
80831 2004-11-03  Albert Chin  <china@thewrittenword.com>
80832             Paul Eggert  <eggert@cs.ucla.edu>
80833
80834         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
80835         equivalent, substitute $ac_type for equivalent type rather than
80836         blindly using uint32_t *always* which won't work if uint32_t is not
80837         available.  Define _UINT32_T to work around typedef of uint32_t if
80838         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
80839         2.5.1.
80840
80841 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
80842
80843         * m4/jm-macros.m4: Sync from coreutils.
80844         (gl_MACROS): Check for mbrlen, for pathchk.
80845         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
80846
80847 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
80848
80849         * lib/xreadlink.c (MAXSIZE): New macro.
80850         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
80851         size does not exceed MAXSIZE.  Avoid cast.
80852         As suggested by Mark D. Baushke in
80853         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
80854         if readlink fails with buffer size just under MAXSIZE, try again
80855         with MAXSIZE.
80856
80857 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
80858
80859         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
80860
80861 2004-11-02  Derek R. Price  <derek@ximbiot.com>
80862         and  Paul Eggert  <eggert@cs.ucla.edu>
80863
80864         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
80865         (get_date): Overparenthesize to avoid GCC warning.
80866
80867 2004-11-02  Bruno Haible  <bruno@clisp.org>
80868
80869         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
80870         returns void.
80871
80872 2004-11-02  Bruno Haible  <bruno@clisp.org>
80873
80874         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
80875         function returns void.
80876
80877 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
80878
80879         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
80880         fflush_unlocked, flockfile, funlockfile, funlockfile,
80881         fputs_unlocked, putc_unlocked.
80882
80883 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
80884
80885         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
80886         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
80887         already declared.
80888
80889 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80890
80891         * modules/getdate (Files): Add doc/getdate.texi.
80892         (Depends-on): Add setenv, xalloc.
80893
80894 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80895
80896         * lib/getdate.y: Add support for TZ="foo" within a date string.
80897         Fix some bugs near time_t boundaries.  Reject dates with
80898         out-of-range components, e.g., "Sept 31".
80899         Include <stdlib.h>, "setenv.h", "xalloc.h".
80900         (ISDIGIT_LOCALE): Remove; unused.
80901         Note that the TZ and time functions used here are not reentrant.
80902         (mktime_ok, get_tz): New functions.
80903         (TZBUFSIZE): New constant.
80904         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
80905         This requires that we sometimes generate our own TZ="XXX..." setting.
80906
80907 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80908
80909         * doc/getdate.texi: New file, from coreutils with modifications for
80910         the new TZ parsing.
80911
80912 2004-10-27  Derek R. Price  <derek@ximbiot.com>
80913
80914         * lib/mktime.c (not_equal_tm): Remove redundant check.
80915
80916 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
80917
80918         * modules/regex (lib_SOURCES): Add regex.c.
80919         Reported by James Youngman in
80920         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
80921
80922 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
80923
80924         * lib/getdate.y: Use Bison 1.875 features, and some minor
80925         code cleanups.  This change does not affect semantics.
80926         Don't include <stdlib.h>; no longer needed.
80927         Don't include unlocked-io.h; only the "#if TEST" code uses
80928         stdio, and performance isn't crucial there.
80929         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
80930         Bison 1.875 features as described below.
80931         All uses of "PC." replaced by "pc->".
80932         (YYSTYPE): Add a forward declaration.
80933         (yylex, yyerror): Use full prototypes in forward decls.
80934         Use "%pure-parser" rather than obsolescent "%pure_parser".
80935         Use %parse-param and %lex-param instead of obsolescent
80936         YYPARSE_PARAM and YYLEX_PARAM.
80937         (meridian_table, month_and_day_table, time_units_table,
80938         relative_time_table, time_zone_table, military_table,
80939         lookup_zone, lookup_word, get_date):
80940         Use NULL instead of 0 where appropriate.
80941         (to_hour): Avoid abort (), to avoid a dependency on
80942         stdlib.h.
80943         (yyerror, yylex): Now accepts parser_control * arg.
80944         (main) [TEST]: Use '\0' rather than 0 for char.
80945
80946 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
80947
80948         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
80949
80950 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
80951
80952         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
80953         It's now the caller's responsibility to handle the case where
80954         !HAVE_GETPAGESIZE && !defined getpagesize.
80955
80956         * lib/mktime.c (leapyear): Arg is long int, not int.
80957
80958 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
80959
80960         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
80961
80962 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
80963
80964         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
80965         missing.  Problem reported by James Youngman.
80966
80967 2004-10-16  Simon Josefsson  <jas@extundo.com>
80968
80969         * gnulib-tool: Fix comments.  Fix parse problem.
80970         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
80971
80972 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
80973
80974         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
80975         implementation of getopt_long.  Problem reported by Alexander Taler in:
80976         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
80977
80978 2004-10-15  Bruno Haible  <bruno@clisp.org>
80979
80980         * gnulib-tool: Untabify. Initialize supplied_libname.
80981         (func_usage): More homogenous output.
80982         (func_modules_transitive_closure, func_modules_to_filelist,
80983         func_emit_lib_Makefile_am): New functions.
80984         (func_import): New function, extracted from big case statement. Use
80985         func_get_license, func_modules_transitive_closure,
80986         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
80987         opt_lgpl. Don't use test -a, as it's not portable.
80988         (func_create_testdir): Use func_modules_transitive_closure,
80989         func_modules_to_filelist, func_emit_lib_Makefile_am.
80990
80991 2004-10-15  Bruno Haible  <bruno@clisp.org>
80992
80993         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
80994
80995 2004-10-15  Bruno Haible  <bruno@clisp.org>
80996
80997         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
80998         the portions belonging to each module.
80999         Suggested by Derek Robert Price <derek@ximbiot.com>.
81000
81001 2004-10-12  Simon Josefsson  <jas@extundo.com>
81002
81003         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81004         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
81005         to real functions.
81006
81007 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81008
81009         * modules/vsnprintf: New file.
81010
81011 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81012
81013         * m4/vsnprintf.m4: New file.
81014
81015 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81016
81017         * lib/vsnprintf.h: New file.
81018         * lib/vsnprintf.c: New file.
81019
81020 2004-10-11  Bruno Haible  <bruno@clisp.org>
81021
81022         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
81023         vsnprintf.
81024
81025 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81026
81027         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
81028
81029 2004-10-07  Bruno Haible  <bruno@clisp.org>
81030
81031         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
81032         fits into the provided buffer.
81033
81034 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81035
81036         * lib/diacrit.c, diacrit.h: Add GPL notice.
81037
81038         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
81039         notice.
81040         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
81041         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
81042         This avoids a potential constant-folding bug.
81043
81044 2004-10-05  Bruno Haible  <bruno@clisp.org>
81045
81046         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
81047         for the declaration of strsep.
81048
81049 2004-10-05  Bruno Haible  <bruno@clisp.org>
81050
81051         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
81052
81053 2004-10-04  Simon Josefsson  <jas@extundo.com>
81054
81055         * modules/memmem: New file.
81056         * tests/test-memmem.c: New file.
81057         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
81058
81059 2004-10-04  Simon Josefsson  <jas@extundo.com>
81060
81061         * m4/memmem.m4: New file.
81062
81063 2004-10-04  Simon Josefsson  <jas@extundo.com>
81064
81065         * lib/memmem.h: New file.
81066         * lib/memmem.c: New file, taken from glibc.
81067
81068 2004-10-04  Simon Josefsson  <jas@extundo.com>
81069
81070         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
81071         '#ifdef USE_UNLOCKED_IO'.
81072
81073 2004-10-04  Simon Josefsson  <jas@extundo.com>
81074
81075         * config/srclist.txt: Add memmem from glibc.
81076
81077 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81078
81079         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
81080
81081         * modules/argmatch, modules/argp, modules/closeout, modules/error,
81082         modules/exclude, modules/getdate, modules/getline,
81083         modules/getndelim2, modules/getpass, modules/getpass-gnu,
81084         modules/getusershell, modules/linebuffer, modules/md5,
81085         modules/mountlist, modules/posixtm, modules/readtokens,
81086         modules/readutmp, modules/regex, modules/sha1,
81087         modules/version-etc, modules/yesno:
81088         Remove dependency on unlocked-io.
81089
81090 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81091
81092         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
81093
81094         * m4/unlocked-io.m4: Add copyright notice.
81095         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
81096
81097 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81098
81099         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
81100         * lib/xmalloc.c (xmemdup): Likewise.
81101         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
81102         XFREE): Remove these long-obsolescent macros.
81103         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
81104         * lib/xstrdup.c: Remove.
81105
81106         * lib/regex.c (re_comp): Cast gettext return value to char *,
81107         Problem reported by Martin Neitzel via Mark D. Baushke.
81108
81109 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81110
81111         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
81112         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
81113         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
81114         regex.c, sha1.c, version-etc.c, yesno.c:
81115         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
81116         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
81117         the includer's responsibility.
81118
81119         Sync from coreutils.
81120
81121         * lib/modechange.c (mode_compile): Don't decrement a pointer that
81122         points to the start of a string, as the C Standard says the
81123         resulting behavior is undefined.
81124
81125         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
81126         simple -> simple_backups, numbered_existing ->
81127         numbered_existing_backups, numbered -> numbered_backups
81128         to avoid shadowing problems.  All uses changed.
81129         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
81130         * lib/backupfile.c (check_extension, numbered_backup):
81131         Rename locals to avoid shadowing 'basename'.
81132         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
81133         once.
81134
81135         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
81136         * lib/.cvsignore: Add getopt.h.
81137
81138 2004-10-04  Bruno Haible  <bruno@clisp.org>
81139
81140         * modules/README: New file.
81141         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
81142         not a module.
81143
81144 2004-10-02  Jim Meyering  <jim@meyering.net>
81145
81146         * lib/dirfd.h, getpagesize.h: Add copyright notice.
81147
81148 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81149
81150         * modules/strsep: New file.
81151
81152 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81153
81154         * m4/strsep.m4: New file.
81155
81156 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81157
81158         * lib/strsep.h: New file.
81159         * lib/strsep.c: New file.
81160
81161 2004-10-01  Simon Josefsson  <jas@extundo.com>
81162
81163         * lib/snprintf.c (snprintf): Handle size==0.
81164
81165 2004-10-01  Simon Josefsson  <jas@extundo.com>
81166             Bruno Haible  <bruno@clisp.org>
81167
81168         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
81169         (snprintf): Declare 'args'.
81170
81171 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
81172
81173         * lib/snprintf.c: Remove comments as to why each header is needed.
81174
81175 2004-10-01  Bruno Haible  <bruno@clisp.org>
81176
81177         * MODULES.html.sh: Add strsep.
81178
81179 2004-09-30  Simon Josefsson  <jas@extundo.com>
81180
81181         * modules/snprintf: New file.
81182
81183 2004-09-30  Simon Josefsson  <jas@extundo.com>
81184
81185         * m4/snprintf.m4: New file.
81186
81187 2004-09-30  Simon Josefsson  <jas@extundo.com>
81188
81189         * lib/snprintf.h, lib/snprintf.c: New files.
81190
81191 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81192
81193         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
81194         (hol_entry_help): Never translate an empty string.
81195         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
81196         * lib/argp.h (OPTION_NO_TRANS): New option.
81197
81198 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81199
81200         * modules/argp (Maintainer): Replace Simon Josefsson
81201         by Sergey Poznyakoff.
81202
81203 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81204
81205         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
81206         changes merged back into glibc.
81207
81208 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81209
81210         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
81211
81212 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81213
81214         * lib/xvasprintf.c: Include xalloc.h.
81215         (xvasprintf): Use xalloc_die, not xmalloc_die.
81216
81217 2004-09-29  Bruno Haible  <bruno@clisp.org>
81218
81219         * modules/alloca-opt: New file, derived from modules/alloca.
81220         * modules/allocsa: Depend on alloca-opt instead of alloca.
81221         * modules/setenv: Likewise.
81222         * modules/vasnprintf: Likewise.
81223         * MODULES.html.sh: Add alloca-opt.
81224
81225 2004-09-28  Simon Josefsson  <jas@extundo.com>
81226
81227         * gnulib-tool: New parameter --lgpl, to asseert that modules are
81228         LGPL, and to replace license template from GPL to LGPL.
81229
81230 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
81231
81232         * modules/dummy: Change license to LGPL.
81233
81234 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
81235
81236         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
81237
81238 2004-09-24  Simon Josefsson  <jas@extundo.com>
81239
81240         * modules/minmax (License): Change from GPL to LGPL.
81241
81242 2004-09-23  Simon Josefsson  <jas@extundo.com>
81243
81244         * gnulib-tool (--import): Typo.
81245
81246 2004-09-23  Simon Josefsson  <jas@extundo.com>
81247
81248         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
81249
81250 2004-09-22  Bruno Haible  <bruno@clisp.org>
81251
81252         * modules/*: Add 'License' field.
81253         * gnulib-tool: Accept --extract-license option.
81254         (func_get_license): New function.
81255
81256 2004-09-21  Bruno Haible  <bruno@clisp.org>
81257
81258         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
81259         Reported by Simon Josefsson.
81260
81261 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
81262
81263         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
81264         gl_AC_TYPE_LONG_LONG.
81265
81266 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
81267
81268         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
81269
81270 2004-09-18  Simon Josefsson  <jas@extundo.com>
81271         and  Paul Eggert  <eggert@cs.ucla.edu>
81272
81273         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
81274         calls with autoreconf.  Define GL_LIB.
81275
81276 2004-09-14  Karl Berry  <karl@gnu.org>
81277
81278         * config/srclist.txt: unsync setenv.c, sigh.
81279
81280 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
81281
81282         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
81283         Problem reported by Bruno Haible in:
81284         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
81285
81286 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
81287
81288         * config/srclist.txt: Comment out argp-pvh.c.
81289
81290 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
81291
81292         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
81293         in case some system header has #define'd it.  Problem reported by
81294         Soeren D. Schulze in
81295         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
81296
81297 2004-09-09  Karl Berry  <karl@gnu.org>
81298
81299         * regex.[ch]: delete from the root.  These were supposed to be
81300                 synced with emacs cvs, but this has not happened for about
81301                 a year, and anyway nothing else uses emacs regex.[ch].
81302                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
81303                 lib/regex[.ch] is untouched.
81304
81305 2004-09-09  Bruno Haible  <bruno@clisp.org>
81306
81307         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
81308
81309 2004-09-09  Bruno Haible  <bruno@clisp.org>
81310
81311         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
81312         modifications.
81313         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
81314
81315 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
81316
81317         * modules/xvasprintf: New file.
81318         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
81319
81320 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
81321
81322         * lib/xvasprintf.h: New file.
81323         * lib/xvasprintf.c: New file.
81324         * lib/xasprintf.c: New file.
81325
81326 2004-09-08  Bruno Haible  <bruno@clisp.org>
81327
81328         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
81329
81330 2004-09-08  Bruno Haible  <bruno@clisp.org>
81331
81332         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
81333         length is > INT_MAX.
81334         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
81335         more.
81336
81337 2004-09-08  Bruno Haible  <bruno@clisp.org>
81338
81339         * lib/stdint_.h: New file, taken from GNU clisp.
81340
81341 2004-09-08  Bruno Haible  <bruno@clisp.org>
81342             Oskar Liljeblad  <oskar@osk.mine.nu>
81343
81344         * modules/stdint: New file.
81345         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
81346
81347 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81348
81349         Import from coreutils.
81350         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
81351         strings on unbounded length.  alloca's performance benefits aren't
81352         that important here.
81353         (V_STRDUP): Remove.
81354         (parse_with_separator): New function, with most of the internals
81355         of the old parse_user_spec.  Allow user to omit both user and group,
81356         for compatibility with FreeBSD.
81357         Clone only the user name, not the entire spec.
81358         Do not set *uid, *gid unless entirely successful.
81359         Avoid memory leak in some failing cases.
81360         Fix regression for USER.GROUP reported by Dmitry V. Levin in
81361         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
81362         (parse_user_spec): Rewrite to use parse_with_separator.
81363
81364 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81365
81366         * modules/userspec: Don't depend on alloca.
81367
81368 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81369
81370         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
81371
81372 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
81373
81374         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
81375         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
81376         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
81377
81378 2004-08-16  Simon Josefsson  <jas@extundo.com>
81379
81380         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
81381         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
81382         Add --dry-run for --import.
81383         Let user provided command line parameters override configure.ac
81384         settings.
81385
81386 2004-08-12  Simon Josefsson  <jas@extundo.com>
81387
81388         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
81389         as discussed with Paul Eggert in threads rooted at
81390         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
81391         and
81392         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
81393         Before, the test was empty, and relied on ELIDE_CODE in source
81394         code.)
81395         (gl_PREREQ_GETOPT): New macro.
81396         (gl_GETOPT): Use them.
81397
81398 2004-08-12  Simon Josefsson  <jas@extundo.com>
81399
81400         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
81401         * lib/getopt_.h: Renamed from getopt.h.
81402
81403 2004-08-12  Simon Josefsson  <jas@extundo.com>
81404
81405         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
81406         Change default library name from libfoo to libgnu.
81407         Now, if you have a configure.ac that says:
81408                 gl_SOURCE_BASE(gl)
81409                 gl_M4_BASE(gl/m4)
81410                 gl_MODULES(error getopt etcetera)
81411                 gl_INIT
81412         you can import all you need by running:
81413                 ../gnulib/gnulib-tool --import
81414
81415         * modules/getopt (Files): Rename getopt.h to getopt_.h.
81416         (Makefile.am): Rewrite, use logic from argz.
81417         (Include): Use <getopt.h> instead of "getopt.h".
81418
81419 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81420
81421         * modules/argp (Files): Add m4/unlocked-io.m4.
81422         (Depends-on): Add extensions.
81423
81424 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81425
81426         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
81427         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
81428         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
81429         Check for program_invocation_name, program_invocation_short_name,
81430         flockfile, funlockfile, features.h, _getopt_long_only_r.
81431
81432 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81433
81434         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
81435         its complicated substitute.
81436         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
81437         and program_invocation_name.
81438         (__argp_basename) [!_LIBC]: Remove; the only use was
81439         replaced by its body.
81440         (__argp_short_program_name): Change condition from
81441         !defined __argp_short_program_name to
81442         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
81443         to match argp-namefrob.h.
81444         (__argp_failure): Don't assume strerror_r returns char *.
81445         * lib/argp-parse.c (N_): Define unconditionally.
81446         (argp_default_options): Fill out initializers with 0 to avoid
81447         gcc warnings.
81448
81449 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81450
81451         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
81452         getopt1.c.
81453
81454 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
81455
81456         Merge from coreutils.
81457
81458         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
81459
81460         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
81461         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
81462
81463 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
81464
81465         Merge from coreutils.
81466
81467         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
81468         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
81469         for Reliant Unix 5.43.
81470
81471         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
81472         (union fooround): Use uintmax_t, not long int.
81473         The rest is a merge from libc:
81474         [defined _LIBC]: Include <shlib-compat.h>.
81475         (_obstack) [defined _LIBC]: Remove after 2.3.4.
81476
81477         * lib/settime.c (settime): Recode to avoid warning with
81478         Sun Forte C 6U2.
81479
81480         * lib/strverscmp.c: Convert to UTF-8.
81481
81482 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
81483
81484         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
81485         m4/uintmax_t.m4.
81486
81487 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
81488
81489         * modules/xalloc-die: New file.
81490         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
81491
81492         * modules/md5 (Files): Add m4/uint32_t.m4.
81493         * modules/sha1: Renamed from modules/sha.
81494         (Files):
81495         Rename lib/sha.h to lib/sha1.h.
81496         Rename lib/sha.c to lib/sha1.c.
81497         Rename m4/sha.m4 to m4/sha1.m4.
81498         (lib_SOURCES): Likewise.
81499         (configure.ac): Rename gl_SHA to gl_SHA1.
81500         (Include): sha.h -> sha1.h.
81501
81502 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
81503
81504         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
81505         * m4/sha1.m4: Renamed from sha.m4.
81506         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
81507
81508 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
81509
81510         * lib/obstack.h (obstack_empty_p):
81511         Don't assume that chunk->contents is suitably aligned.
81512         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
81513         Likewise. Problem reported by Benno in
81514         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
81515
81516         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
81517         readable.  This could be improved further but it'd take some work.
81518
81519 2004-08-08  Simon Josefsson  <jas@extundo.com>
81520
81521         * modules/xgethostname (Depends-on): Remove exit and error (not
81522         used).
81523
81524         * modules/getpass-gnu: Add getpass.h.
81525         (Depends-on): Add stdbool.
81526         * modules/getpass: Add getpass.h.
81527
81528 2004-08-08  Simon Josefsson  <jas@extundo.com>
81529
81530         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
81531         Check getpass declaration.
81532
81533 2004-08-08  Simon Josefsson  <jas@extundo.com>
81534
81535         * lib/xgethostname.c: Don't include error.h (not used).
81536
81537         * lib/getpass.h: Add.
81538         * lib/getpass.c: Include getpass.h first.
81539
81540 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
81541
81542         * lib/xalloc-die.c: New file.
81543         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
81544         All uses removed.
81545         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
81546         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
81547         xalloc-die.c.
81548         (_, N_, xalloc_die): Move to xalloc-die.c.
81549         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
81550         so that we needn't mess with xalloc_msg_memory_exhausted.
81551
81552         * lib/sha1.h: Renamed from sha.h.
81553         (SHA1_H): Renamed from _SHA_H.
81554         (sha1_ctx): Renamed from sha_ctx.
81555         (sha1_init_ctx): Renamed from sha_init_ctx.
81556         (sha1_process_block): Renamed from sha_process_block.
81557         (sha1_process_bytes): Renamed from sha_process_bytes.
81558         (sha1_finish_ctx): Renamed from sha_finish_ctx.
81559         (sha1_read_ctx): Renamed from sha_read_ctx.
81560         (sha1_stream): Renamed from sha_stream.
81561         (sha1_buffer): Renamed from sha_buffer.
81562         * lib/sha1.c: Likewise; renamed from sha.c.
81563         Do not include <sys/types.h>.
81564         Include <stddef.h> rather than <stdlib.h>.
81565
81566 2004-08-08  Bruno Haible  <bruno@clisp.org>
81567
81568         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
81569         FILESYSTEM_PREFIX_LEN.
81570         * lib/progreloc.c: Likewise.
81571         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
81572
81573 2004-08-06  Simon Josefsson  <jas@extundo.com>
81574
81575         * modules/progname (Depends-on): Don't depend on stdbool.
81576
81577 2004-08-06  Simon Josefsson  <jas@extundo.com>
81578
81579         * modules/getsubopt: New file.
81580         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81581         getsubopt.
81582
81583 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
81584
81585         More merge from coreutils.
81586
81587         * m4/utimens.m4, m4/utimecmp.m4: New files.
81588         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
81589         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
81590         prereq.m4, sha.m4: Import changes from coreutils.
81591
81592 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
81593
81594         More merge from coreutils.
81595         * modules/raise, modules/readtokens0, modules/utimens:
81596         * modules/utimecmp, module/xnanosleep: New files.
81597         * modules/strftime: Add lib/strftime.h.
81598         Change include from <time.h> to "strftime.h".
81599         * modules/yesno: Add lib/yesno.h.
81600         * modules/backupfile: Remove lib/addext.c.
81601         * modules/euidaccess: Add stat-macros.h.
81602         * modules/canonicalize, modules/euidaccess,
81603         modules/filemode, modules/lchown, modules/makepath,
81604         modules/rmdir, modules/stat: Likewise.
81605
81606 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
81607
81608         Merge from tar.
81609         * lib/argp-help.c (make_hol, hol_append): Don't assume that
81610         SIZE_MAX is a valid preprocessor constant.
81611         (__argp_basename): Change from "#ifndef _LIBC"
81612         to "#ifndef __argp_short_program_name", so that
81613         we don't compile these functions for tar.
81614
81615         More merges from coreutils.
81616         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
81617         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
81618         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
81619         * lib/addext.c: Remove; no longer needed.
81620         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
81621         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
81622         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
81623         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
81624         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
81625         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
81626         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
81627         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
81628         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
81629         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
81630         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
81631         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
81632         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
81633         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
81634         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
81635         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
81636         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
81637         Import changes from coreutils.
81638
81639 2004-08-05  Simon Josefsson  <jas@extundo.com>
81640
81641         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
81642
81643 2004-08-05  Simon Josefsson  <jas@extundo.com>
81644
81645         * m4/getsubopt.m4: New file.
81646
81647 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
81648
81649         Merge from coreutils.
81650
81651         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
81652         * m4/getcwd-path-max.m4: New files.
81653
81654         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
81655         FILESYSTEM_PREFIX_LEN ->
81656         FILE_SYSTEM_PREFIX_LEN.
81657         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
81658         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
81659         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
81660         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
81661
81662         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
81663         prerequisite modules now handle the DOS stuff.
81664         Don't check for unistd.h.
81665
81666 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
81667
81668         Merge from coreutils.
81669
81670         * lib/.gdb-history: Remove; this doesn't belong here.
81671
81672         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
81673         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
81674         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
81675         * lib/getcwd.c: New files.
81676
81677         * lib/dirname.h: Include <stdbool.h>.
81678         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
81679         for consistency with POSIX terminology.  All uses changed.
81680         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
81681         (strip_trailing_slashes): Use bool for booleans.
81682         * lib/stripslash.c (strip_trailing_slashes): Likewise.
81683
81684         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
81685         sometimes returns a positive errno value even when it succeeds.
81686         (print_errno_message) [!LIBC]: Fall back on strerror if
81687         __strerror_r fails.
81688
81689         * lib/path-concat.c (mempcpy): Don't define if a system header defines
81690         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
81691         (longest_relative_suffix): New function.
81692         (path_concat): Use it.  Assume first argument is not NULL.
81693         Port to DOS.  Omit redundant separators.
81694         Report an error instead of returning NULL.
81695         Use mempcpy instead of memcpy.
81696         (xpath_concat): Remove: not declared or used.
81697
81698         * lib/same.h: Include <stdbool.h>
81699         (same_name): Return bool, not int.
81700         * lib/same.c (same_name): Likewise.
81701         (errno): Don't declare; we assume C89 or better now.
81702
81703         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
81704         if not already defined.
81705
81706         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
81707         * lib/dup-safer.c (errno): Likewise.
81708
81709 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
81710
81711         Merge from coreutils.
81712         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
81713         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
81714         * modules/path-concat: Don't depend on strdup.
81715
81716 2004-08-03  Simon Josefsson  <jas@extundo.com>
81717
81718         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
81719         * lib/progname.h: Don't include stdbool.h.
81720
81721 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
81722
81723         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
81724         * MODULES.html.sh (func_all_modules): Remove fatal.
81725
81726 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
81727
81728         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
81729
81730 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
81731
81732         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
81733         working.
81734
81735 2004-08-02  Simon Josefsson  <jas@extundo.com>
81736
81737         * lib/getsubopt.h: New file, with comments from Bruno Haible.
81738         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
81739         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
81740
81741 2004-08-01  Simon Josefsson  <jas@extundo.com>
81742
81743         * lib/xgetdomainname.c: Include stdlib.h, for free().
81744
81745 2004-07-19  Bruno Haible  <bruno@clisp.org>
81746
81747         * MODULES.html.sh (func_all_modules): Add dummy.
81748
81749 2004-07-16  Simon Josefsson  <jas@extundo.com>
81750
81751         * modules/dummy: New file.
81752
81753 2004-07-16  Simon Josefsson  <jas@extundo.com>
81754
81755         * lib/dummy.c: New file.
81756
81757 2004-07-16  Bruno Haible  <bruno@clisp.org>
81758
81759         * lib/backupfile.h: Add extern "C" for C++.
81760         * lib/closeout.h: Likewise.
81761         * lib/copy-file.h: Likewise.
81762         * lib/findprog.h: Likewise.
81763         * lib/full-write.h: Likewise.
81764         * lib/pathname.h: Likewise.
81765         * lib/progname.h: Likewise.
81766         * lib/stpcpy.h: Likewise.
81767         * lib/stpncpy.h: Likewise.
81768         * lib/strcase.h: Likewise.
81769         * lib/strstr.h: Likewise.
81770         * lib/xalloc.h: Likewise.
81771
81772         * lib/mbswidth.h: Add extern "C" for C++.
81773         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
81774
81775 2004-07-13  Robert Millan  <robertmh@gnu.org>
81776
81777         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
81778
81779 2004-07-09  Simon Josefsson  <jas@extundo.com>
81780
81781         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
81782         failed without this.)
81783
81784 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81785
81786         * modules/chown (Files): Add lib/fchown-stub.c, since
81787         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
81788
81789 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81790
81791         * lib/fchown-stub.c: New file.
81792
81793 2004-06-24  Jim Meyering  <jim@meyering.net>
81794
81795         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
81796
81797 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81798
81799         * modules/argz: Omit "#include".
81800
81801         * MODULES.html.sh (func_all_modules): Add calloc, to match
81802         2004-06-01 addition of calloc module.
81803
81804 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81805
81806         * m4/argz.m4: New file, which is autoupdated from libtool.
81807
81808 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81809
81810         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
81811         libtool.
81812
81813 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81814
81815         * config/srclist-update: Don't insist on "USA." before the
81816         close-comment, as libtool omits the period and puts the */ on a
81817         separate line.
81818         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
81819         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
81820
81821 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
81822
81823         * modules/argz: New file.
81824         * MODULES.html.sh (func_all_modules): Add argz.
81825
81826 2004-06-12  Jim Meyering  <jim@meyering.net>
81827         and  Paul Eggert  <eggert@cs.ucla.edu>
81828
81829         * modules/hash (Files): Add lib/xalloc.h.
81830         * modules/pipe (Depends-on): Add wait-process.
81831         * modules/stat (Depends-on): Add xalloc.
81832         * modules/userspec (Files): Add lib/userspec.h.
81833         * modules/xstrto
81834
81835         Upgrade from gettext-0.13.
81836         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
81837         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
81838         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
81839
81840 2004-06-10  Jim Meyering  <jim@meyering.net>
81841
81842         * lib/calloc.c: New file.
81843
81844 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
81845
81846         * lib/getdate.y (yylex): Allow space between sign and number.
81847         Problem reported by Dan Jacobson.
81848
81849 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
81850
81851         Merge from coreutils CVS.
81852
81853         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
81854         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
81855         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
81856         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
81857         xstrtol.m4: Fix copyright date and/or serial number.
81858
81859         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
81860         See if we need an fchown replacement.
81861         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
81862         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
81863         and use the replacement function if we detect either defect.
81864
81865         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
81866         gl_UTIMECMP.
81867
81868 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
81869         and  Jim Meyering  <jim@meyering.net>
81870
81871         Merge from coreutils CVS.
81872
81873         * lib/stat-macros.h: New file, with contents from file-type.h
81874         and coreutils' system.h.
81875         * lib/file-type.c: Include "stat-macros.h".
81876         * lib/file-type.h (file_type): Move all macro definitions to new file,
81877         stat-macros.h.
81878
81879         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
81880         Wrap old code with this conditional.
81881         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
81882         function that does not dereference symlinks.
81883         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
81884
81885         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
81886         dependency problems.
81887         (xreadlink): Accept new arg SIZE, for efficiency.
81888         All decls and uses changed.
81889         * lib/xreadlink.h: Include <stddef.h>, for size_t.
81890
81891         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
81892         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
81893
81894         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
81895         sysexits.h.
81896
81897 2004-06-01  Jim Meyering  <jim@meyering.net>
81898
81899         * m4/calloc.m4: New file.
81900
81901 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
81902
81903         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
81904         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
81905         Also, fix a typo in a diagnostic.
81906
81907 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
81908
81909         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
81910         or AC_FUNC_REALLOC.
81911
81912 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
81913
81914         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
81915         macros to be defined.
81916         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
81917         the allocator returns NULL because the requested size is zero.
81918
81919 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81920
81921         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
81922         var.  Add comment explaining why libc still defines it.  This
81923         merges the following patch from glibc:
81924         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
81925
81926 2004-05-20  Andreas Schwab  <schwab@suse.de>
81927
81928         * m4/free.m4: Replace free if it not known to work, not the other
81929         way round.
81930
81931 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81932
81933         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
81934         present in glibc since revision 1.1 of this file.
81935         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
81936         obstack_alignment_mask, obstack_alloc, obstack_base,
81937         obstack_blank, obstack_blank_fast, obstack_chunk_size,
81938         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
81939         obstack_grow0, obstack_init, obstack_int_grow,
81940         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
81941         obstack_next_free, obstack_object_size, obstack_ptr_grow,
81942         obstack_ptr_grow_fast, obstack_room): Remove declarations of
81943         nonexistent functions.
81944
81945 2004-05-18  Karl Berry  <karl@gnu.org>
81946
81947         * config/srclist.txt: break link for vasnprintf.c.
81948
81949 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
81950
81951         Port obstack to the AS/400, where pointers are 16 bytes wide and
81952         you cannot cast an integer to a valid pointer.  This patch is
81953         currently waiting to be integrated into glibc; see
81954         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
81955
81956         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
81957         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
81958         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
81959         (struct obstack): temp member is now a union of a pointer and
81960         an integer, instead of an integer.  All integer uses changed.
81961         This does not affect the physical layout of struct obstack,
81962         except on hosts (like the AS/400) where the size or alignment of
81963         void * is greater than that of ptrdiff_t.
81964         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
81965         __STDC__)]: Store temporary in pointer member of union, not
81966         integer member.
81967         * lib/obstack.c: Include <stddef.h>, for offsetof.
81968         (struct fooalign): Remove; it doesn't need a name.
81969         (union fooround): Change double to long double, and add void *.
81970         (DEFAULT_ALIGNMENT): Use offsetof to compute.
81971         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
81972         not a macro.  Hence the values are always int; so remove all
81973         casts-to-int in uses.
81974
81975 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
81976
81977         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
81978         we can get this patch merged into glibc.
81979
81980 2004-05-17  Derek R. Price  <derek@ximbiot.com>
81981             Paul Eggert  <eggert@cs.ucla.edu>
81982
81983         * m4/argp: Depend on alloca.
81984
81985 2004-05-17  Derek R. Price  <derek@ximbiot.com>
81986             Paul Eggert  <eggert@cs.ucla.edu>
81987
81988         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
81989         freecoding.
81990
81991 2004-05-17  Bruno Haible  <bruno@clisp.org>
81992
81993         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
81994         precision that consists of a '.' followed by an empty digit string.
81995         Patch by Tor Lillqvist <tml@iki.fi>.
81996
81997 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
81998
81999         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
82000         for backward compatibility with older code.  We need our own
82001         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
82002         it under some other name, and our alloca.h will define it.
82003
82004 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82005             Derek Price  <derek@ximbiot.com>
82006
82007         * lib/alloca.c: Include <alloca.h>, to get our interface.
82008         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
82009         include <alloca.h> first.  Use C89 prototype for alloca; this
82010         requires including <stddef.h> for size_t.  Use extern "C" if C++.
82011         Use #elif for simplicity, since we can assume C89 now.
82012         Don't try to source the system alloca.h since it will not be found
82013         and to prevent recursively including its replacement.
82014         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
82015         * lib/regex.c: Likewise.
82016
82017 2004-05-16  Derek Price  <derek@ximbiot.com>
82018             Paul Eggert  <eggert@cs.ucla.edu>
82019
82020         getline cleanup.  This changes the getndelim2 API: both order of
82021         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
82022         no delimiter).
82023
82024         * lib/getline.c: Don't include stddef.h or stdio.h, since our
82025         interface does that.
82026         (getline): Always use getdelim, so that we don't have two
82027         copies of this code.
82028         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
82029         if available.
82030         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
82031         (GETNDELIM2_MAXIMUM): New macro.
82032         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
82033         instead of the old practice of delim2==0.  All callers changed.
82034         Return -1 on overflow, instead of returning junk.
82035         Do not set *linesize unless allocation succeeds.
82036         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
82037         that we include sys/types.h.
82038         * lib/getnline.h: Likewise.
82039         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
82040         (getndelim2): Reorder arguments.
82041         * lib/getnline.c (getnline, getndelim):
82042         Don't discard the NMAX argument.
82043         (getnline): Invoke getndelim, to avoid code duplication.
82044         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
82045         of (size_t) -1 by callers of the getnline family.
82046
82047 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82048
82049         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
82050         Check for gettimeofday.
82051         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
82052         Check for settimeofday, stime.
82053
82054 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82055
82056         * lib/nanosleep.c (suspended): Change its type from int to
82057         sig_atomic_t volatile.
82058         (first_call): Make it private to rpl_nanosleep, and have it
82059         be zero initially as that's a bit faster.
82060         (my_usleep): Round up fractional times instead of truncating them,
82061         as this is the usual meaning for 'sleep'.
82062
82063         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
82064         doesn't work.
82065         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
82066         (ENOSYS): Define if not defined.
82067         (settime): Fall back on stime if it exists and settimeofday fails.
82068         But don't bother with fallbacks if a method fails with errno == EPERM.
82069
82070 2004-05-11  Jim Meyering  <jim@meyering.net>
82071
82072         Prior to this change, the save_cwd caller required read access to the
82073         current directory on most systems (ones with the fchdir function).
82074
82075         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
82076         fails, try write-only, and finally, resort to using xgetcwd.
82077
82078 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
82079
82080         * lib/obstack.c, obstack.h: Import changes from libc.
82081
82082 2004-04-28  Bruno Haible  <bruno@clisp.org>
82083
82084         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
82085         also implicitly appends .exe to executables.
82086         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
82087         accepts Windows pathnames.
82088         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
82089         Treat Cygwin like Windows, since it now accepts Windows pathnames.
82090         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
82091         Treat Cygwin like Windows, since it now accepts Windows pathnames.
82092         Reported by Derek Robert Price <derek@ximbiot.com>.
82093
82094 2004-04-21  Karl Berry  <karl@gnu.org>
82095
82096         * config/srclist.txt (localcharset.c): break sync.
82097
82098 2004-04-20  Paul Eggert  <eggert@twinsun.com>
82099
82100         * m4/host-os.m4: Add a copyright notice.
82101
82102 2004-04-20  Jim Meyering  <jim@meyering.net>
82103
82104         Change UTILS_ to gl_ in AC_DEFINE'd names.
82105         Change utils_- and jm_-prefixed variables, too.
82106         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
82107         UTILS_FUNC_MKDIR_TRAILING_SLASH.
82108         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
82109
82110         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
82111         Don't emit trailing blanks.
82112         Also rename jm_-prefixed variables to have gl_ prefix.
82113
82114         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
82115         Also rename jm_-prefixed variables to have gl_ prefix.
82116
82117         * m4/jm-macros.m4: Reflect the renamings.
82118         * m4/prereq.m4: Likewise.
82119
82120 2004-04-20  Jim Meyering  <jim@meyering.net>
82121
82122         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
82123         memory.
82124
82125 2004-04-20  Jim Meyering  <jim@meyering.net>
82126             Bruno Haible  <bruno@clisp.org>
82127
82128         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
82129         memory when realloc fails.
82130
82131 2004-04-19  Jim Meyering  <jim@meyering.net>
82132
82133         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
82134         now that readutmp.c may call `free (0)'.
82135
82136 2004-04-19  Bruno Haible  <bruno@clisp.org>
82137
82138         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
82139         * m4/inttypes_h.m4: Likewise.
82140         * m4/stdint_h.m4: Likewise.
82141         * m4/intmax_t.m4: Likewise.
82142         * m4/uintmax_t.m4: Likewise.
82143
82144 2004-04-18  Jim Meyering  <jim@meyering.net>
82145
82146         * m4/prereq.m4: Don't forbid jm_ prefix.
82147
82148         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
82149         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
82150         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
82151         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
82152         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
82153         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
82154         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
82155         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
82156         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
82157         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
82158         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
82159         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
82160         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
82161         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
82162         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
82163         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
82164         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
82165         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
82166         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
82167
82168 2004-04-18  Jim Meyering  <jim@meyering.net>
82169
82170         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
82171         failure, don't leak memory and do call END_UTMP_ENT.
82172
82173 2004-04-16  Jim Meyering  <jim@meyering.net>
82174
82175         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
82176         coreutils' stat program.
82177         (gl_PREREQ): Don't require jm_PREREQ_STAT.
82178
82179 2004-04-11  Paul Eggert  <eggert@twinsun.com>
82180
82181         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
82182         C89.
82183         (CHAR_BIT): Remove, since we assume C89.
82184         Include <stdint.h> if available, as per current Autoconf CVS advice.
82185
82186 2004-03-31  Jim Meyering  <jim@meyering.net>
82187
82188         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
82189         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
82190         * m4/xalloc.m4: Likewise.
82191
82192 2004-03-30  Paul Eggert  <eggert@twinsun.com>
82193
82194         Merge from coreutils.
82195
82196         * m4/inttostr.m4: New file.
82197         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
82198         Require AM_STDBOOL_H and gl_TIMESPEC instead.
82199         Require gl_CLOCK_TIME.
82200         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
82201
82202 2004-03-30  Paul Eggert  <eggert@twinsun.com>
82203
82204         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
82205         not bool, to be more consistent with Unix conventions.
82206         Suggested by Bruno Haible.
82207
82208         Merge from coreutils.
82209
82210         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
82211         * lib/umaxtostr.c: New files.
82212
82213         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
82214         the usual <time.h> dance.
82215         (get_date): Change signature to support fractional time stamps.
82216         All callers changed.
82217         * lib/getdate.y: Include "getdate.h" first, as we can now
82218         assume C89 and don't need to worry about 'const'.
82219         Similarly, include "unlocked-io.h" near start, not in middle.
82220         Include <limits.h>.
82221         (textint.value): Use long int rather than int.
82222         (textint.digits): Use size_t rather than int.
82223         (BILLION, LOG10_BILLION): New constants.
82224         (parser_control): New member rel_ns.  Members day_ordinal,
82225         time_zone, month, day, hour, minutes, rel_year, rel_month,
82226         rel_day, rel_hour, rel_minutes, rel_seconds
82227         are now long int, not int.  Member seconds is now struct timespec,
82228         not int.  New member timespec_seen.  Members dates_seen, days_seen,
82229         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
82230         not int.
82231         (%union.intval): Now long int, not int.
82232         New member timespec.
82233         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
82234         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
82235         (spec): Now is a timespec or an item list.
82236         (timespec, items): New nonterminals.
82237         (time, rel, relunit, number, get_date):
82238         Add support for fractional seconds.
82239         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
82240         (gmtime, localtime, mktime): Remove decls; not needed with C89.
82241         (to_hour): First arg is now long int, not int.
82242         (to_year): Returns long int, not int.
82243         Don't treat year -70 like 70.
82244         (tm_diff): Returns long int, not int.
82245         (lookup_word): Use bool instead of int when appropriate.
82246         (yylex): Use size_t for count, not int.
82247         Detect overflow when parsing large integer constants.
82248         Add support for fractions.
82249         (get_date): Make pointers 'const' if possible.
82250         Use more-portable code to detect integer overflow.
82251         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
82252         Don't use ctime; it's not reliable if the year has >4 digits.
82253
82254         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
82255         This is for compatibility with BSD.
82256
82257         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
82258         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
82259         From coreutils' system.h.
82260
82261         * lib/userspec.c: Don't include "posixver.h".
82262         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
82263         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
82264         compatible extension.  Simplify code by removing a boolean int
82265         that was always nonzero if a string was nonnull.
82266
82267 2004-03-30  Jim Meyering  <jim@meyering.net>
82268
82269         Merge from coreutils.
82270
82271         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
82272         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
82273         on some systems one must include <grp.h> before it.
82274         Reported by Christian Krackowizer.
82275
82276 2004-03-30  Jim Meyering  <jim@meyering.net>
82277
82278         Merge from coreutils.
82279
82280         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
82281
82282         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
82283         an empty input stream.
82284
82285         * lib/readtokens.c: Include <stdbool.h>.
82286         (readtoken): Use `size_t' rather than int/long.
82287         All callers adjusted.
82288         Use `bool' rather than `int' where appropriate.
82289         Use memset rather than an explicit loop.
82290         Use x2nrealloc rather than xrealloc.
82291         Allow the use of `\0' as a delimiter.
82292         (readtokens): Likewise.
82293         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
82294
82295 2004-03-30  Jim Meyering  <jim@meyering.net>
82296
82297         * m4/realloc.m4: Remove file, since now it does no more than
82298         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
82299         the `configure.ac' section of module/realloc.
82300         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
82301
82302 2004-03-30  Bruno Haible  <bruno@clisp.org>
82303
82304         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
82305         nonnull.
82306
82307 2004-03-29  Paul Eggert  <eggert@twinsun.com>
82308
82309         Merge changes to getloadavg.c from coreutils and Emacs.
82310
82311         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
82312         Define to an expression, not to the empty string.
82313         Include cloexec.h and xalloc.h.
82314         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
82315         Use set_cloexec_flag rather than rolling our own.
82316         * lib/cloexec.c, lib/cloexec.h: New files.
82317
82318 2004-03-29  Paul Eggert  <eggert@twinsun.com>
82319
82320         * m4/cloexec.m4: New file.
82321
82322 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82323
82324         * lib/getopt.h: Sync with libc CVS.
82325
82326 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82327             Bruno Haible  <bruno@clisp.org>
82328
82329         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
82330         mbswidth.
82331
82332 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82333             Bruno Haible  <bruno@clisp.org>
82334
82335         * lib/mbswidth.h: Include <wchar.h> only if
82336         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
82337         <wchar.h>.
82338         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
82339
82340 2004-03-09  Paul Eggert  <eggert@twinsun.com>
82341
82342         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
82343         Sync with libc CVS.
82344         * lib/getopt_int.h: New file, also synced from libc.
82345
82346 2004-03-09  Paul Eggert  <eggert@twinsun.com>
82347
82348         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
82349         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
82350         Bring back getopt.c, getopt.h, getopt1.c.
82351
82352 2004-03-07  Paul Eggert  <eggert@twinsun.com>
82353
82354         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
82355         All uses changed.  Check for sa_sigaction member; this fixes
82356         a bug first reported by Jason Andrade in
82357         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
82358
82359 2004-03-07  Paul Eggert  <eggert@twinsun.com>
82360
82361         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
82362         '#if' expressions.  Unlike the code it replaces, it does not
82363         depend on (defined _SC_PAGESIZE).  However, it does depend on
82364         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
82365         first reported by Jason Andrade in
82366         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
82367
82368 2004-02-25  Simon Josefsson  <jas@extundo.com>
82369
82370         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
82371
82372 2004-02-25  Simon Josefsson  <jas@extundo.com>
82373
82374         * lib/strdup.h: New file.
82375         * lib/strdup.c: Include it.
82376         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
82377         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
82378
82379 2004-02-23  Karl Berry  <karl@gnu.org>
82380
82381         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
82382         (from fencepost.gnu.org:/gd/gnuorg).
82383
82384 2004-02-23  Karl Berry  <karl@gnu.org>
82385
82386         * config/srclistvars.sh (GNUORG) [karl]: redefine.
82387         * config/srclist.txt: add maintain/standards documents.
82388
82389 2004-02-18  Bruno Haible  <bruno@clisp.org>
82390
82391         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
82392         Reported by Derek Robert Price <derek@ximbiot.com>.
82393
82394 2004-02-16  Karl Berry  <karl@gnu.org>
82395
82396         * config/mkinstalldirs, install-sh: update from automake.
82397
82398 2004-02-06  Karl Berry  <karl@gnu.org>
82399
82400         * m4/po.m4: update from gettext 0.14.1.
82401
82402 2004-02-06  Karl Berry  <karl@gnu.org>
82403
82404         * lib/config.charset: update from gettext 0.14.1.
82405
82406 2004-02-05  Paul Eggert  <eggert@twinsun.com>
82407
82408         Add comments and code, prompted by suggestions from Bruno Haible
82409         for sh-quote.
82410         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
82411         describing the enum quoting_style values.
82412         * lib/quotearg.c (quotearg_alloc): New function.
82413         (quotearg_buffer_restyled): Treat lone { and } as special.
82414         Treat = as special.  Work around bug with older shells
82415         that "see" a '\' that is really the 2nd byte of a multibyte char.
82416         Quote empty string with shell_quoting_style.
82417
82418 2004-02-03  Bruno Haible  <bruno@clisp.org>
82419
82420         * m4/pipe.m4: New file, from GNU gettext.
82421
82422 2004-02-03  Bruno Haible  <bruno@clisp.org>
82423
82424         * lib/pipe.h: New file, from GNU gettext.
82425         * lib/pipe.c: New file, from GNU gettext.
82426
82427 2004-01-27  Bruno Haible  <bruno@clisp.org>
82428
82429         * m4/execute.m4: New file, from GNU gettext.
82430
82431 2004-01-27  Bruno Haible  <bruno@clisp.org>
82432
82433         * lib/execute.h: New file, from GNU gettext.
82434         * lib/execute.c: New file, from GNU gettext.
82435         * lib/w32spawn.h: New file, from GNU gettext.
82436
82437 2004-01-24  Paul Eggert  <eggert@twinsun.com>
82438
82439         Merge from diffutils.
82440
82441         * lib/file-type.c (file_type): Add typed memory objects.
82442         * lib/file-type.h (S_TYPEISTMO): New macro.
82443
82444         * lib/c-stack.h (c_stack_action): Remove argv argument.
82445         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
82446         (die): Don't calculate message unless segv_action returns.
82447         (get_stack_location, min_address_from_argv, max_address_from_argv,
82448         volatile stack_base, volatile_stack_size): Remove.
82449         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
82450         that every segmentation violation is a stack overflow.  (Ouch!)
82451         See Debian bug 136249 (still outstanding) for more info about why
82452         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
82453
82454 2004-01-24  Paul Eggert  <eggert@twinsun.com>
82455
82456         Exit-status fix from coreutils.
82457
82458         Use exit_failure consistently in place of EXIT_FAILURE,
82459         so that program exit statuses are consistent on failure.
82460
82461         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
82462         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
82463         * lib/argmatch.h: Comment fix to match the above.
82464         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
82465         Now a macro referring to exit_failure, instead of a separate
82466         variable.  Include "exitfail.h" to get it.
82467         * lib/xstrtol.h: Include "exitfail.h".
82468         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
82469
82470         * lib/long-options.c (parse_long_options): Use prototype
82471         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
82472         for clarity.
82473
82474 2004-01-21  Jim Meyering  <jim@meyering.net>
82475
82476         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
82477         so as not to conflict with a different-sized __mktime_internal
82478         function in GNU libc.
82479         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
82480         Problem building statically-linked `ls' reported by Michael Brunnbauer.
82481
82482 2004-01-20  Karl Berry  <karl@gnu.org>
82483
82484         * config/config.guess: update from config.
82485
82486         * config/srclistvars.sh: GNUWWWLICENSES for karl.
82487
82488 2004-01-20  Bruno Haible  <bruno@clisp.org>
82489
82490         Safer stack allocation.
82491         * lib/setenv.c: Include allocsa.h.
82492         (alloca): Remove fallback definition.
82493         (freea): Remove macro.
82494         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
82495         instead of freea.
82496
82497 2004-01-20  Bruno Haible  <bruno@clisp.org>
82498
82499         * m4/eealloc.m4: New file, from GNU gettext.
82500
82501 2004-01-20  Bruno Haible  <bruno@clisp.org>
82502
82503         * m4/allocsa.m4: New file, from GNU gettext.
82504
82505 2004-01-20  Bruno Haible  <bruno@clisp.org>
82506
82507         * lib/xallocsa.h: New file, from GNU gettext.
82508         * lib/xallocsa.c: New file, from GNU gettext.
82509
82510 2004-01-20  Bruno Haible  <bruno@clisp.org>
82511
82512         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
82513
82514 2004-01-20  Bruno Haible  <bruno@clisp.org>
82515
82516         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
82517         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
82518         specially.
82519
82520 2004-01-20  Bruno Haible  <bruno@clisp.org>
82521
82522         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
82523         patch.
82524
82525 2004-01-20  Bruno Haible  <bruno@clisp.org>
82526
82527         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
82528
82529 2004-01-20  Bruno Haible  <bruno@clisp.org>
82530
82531         * lib/eealloc.h: New file.
82532
82533 2004-01-20  Bruno Haible  <bruno@clisp.org>
82534
82535         * lib/binary-io.h: Avoid warnings on Cygwin.
82536
82537 2004-01-20  Bruno Haible  <bruno@clisp.org>
82538
82539         * lib/allocsa.h: New file, from GNU gettext.
82540         * lib/allocsa.c: New file, from GNU gettext.
82541
82542 2004-01-18  Karl Berry  <karl@gnu.org>
82543
82544         * doc/gpl.texi, doc/lgpl.texi: new files.
82545
82546 2004-01-18  Karl Berry  <karl@gnu.org>
82547
82548         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
82549         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
82550
82551 2004-01-15  Paul Eggert  <eggert@twinsun.com>
82552
82553         Merge from coreutils.
82554
82555         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
82556         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
82557         (gl_DEFAULT_POSIX2_VERSION): Move
82558         the documentation from 'configure' into 'config.hin',
82559         so that 'configure --help' isn't burdened by it and
82560         we don't have to worry about its formatting there.
82561         Reword the documentation so that it's more succinct
82562         and can be run together into a single paragraph.
82563         * m4/same.m4 (gl_SAME): Check for pathconf.
82564
82565 2004-01-15  Paul Eggert  <eggert@twinsun.com>
82566
82567         Merge from coreutils.
82568
82569         * lib/posixver.c: Include posixver.h.
82570
82571         * lib/same.c: Include <stdbool.h>, <limits.h>.
82572         (_POSIX_NAME_MAX): Define if not defined.
82573         (MIN): New macro.
82574         (same_name): If file names are silently truncated, report
82575         that the file names are the same if they are the same after
82576         the silent truncation.
82577
82578         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
82579         conversion function.
82580         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
82581         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
82582         longer needed.
82583
82584 2004-01-15  Jim Meyering  <jim@meyering.net>
82585
82586         Merge from coreutils.
82587
82588         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
82589         if no library is required.
82590         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
82591         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
82592         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
82593         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
82594         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
82595         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
82596         value, $ac_cv_search_crypt, if it's "none required".
82597         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
82598         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
82599         not gl_FUNC_GETLOADAVG.
82600         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
82601         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
82602
82603 2004-01-15  Jim Meyering  <jim@meyering.net>
82604
82605         Merge from coreutils.
82606
82607         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
82608         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
82609         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
82610
82611         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
82612         optional configure-time default.
82613
82614         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82615
82616         * lib/xreadlink.c (xreadlink): Correct outdated comment.
82617
82618 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
82619
82620         Merge from coreutils.
82621
82622         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
82623         value, $ac_cv_search_nanosleep, if it's "none required".
82624
82625 2004-01-14  Paul Eggert  <eggert@twinsun.com>
82626
82627         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
82628         with like-named macro in fnmatch.c.
82629         (EXT): Use an internal constant instead.
82630
82631         Merge fnmatch patches from glibc.
82632         * lib/fnmatch.c (mbsinit): Remove define.
82633         Add libc_hidden_ver (__fnmatch, fnmatch).
82634         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
82635         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
82636
82637 2004-01-14  Karl Berry  <karl@gnu.org>
82638
82639         * config/install-sh: update from automake.
82640
82641 2004-01-13  Karl Berry  <karl@gnu.org>
82642
82643         * config/install-sh: update from automake.
82644
82645 2004-01-09  Karl Berry  <karl@gnu.org>
82646
82647         * config/install-sh: update from automake.
82648
82649 2004-01-05  Karl Berry  <karl@gnu.org>
82650
82651         * config/config.{sub,guess}: update from config.
82652
82653 2003-12-31  Karl Berry  <karl@gnu.org>
82654
82655         * config/depcomp: update from automake.
82656
82657 2003-12-14  Karl Berry  <karl@gnu.org>
82658
82659         * lib/config.charset: update from gettext-runtime.
82660
82661 2003-12-03  Paul Eggert  <eggert@twinsun.com>
82662
82663         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
82664         Bug reported by Alfred M. Szmidt.
82665
82666 2003-12-03  Bruno Haible  <bruno@clisp.org>
82667
82668         * m4/gettext.m4: Upgrade from gettext-0.13.
82669         * m4/po.m4: Upgrade from gettext-0.13.
82670         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
82671         * m4/intmax.m4: New file, from gettext-0.13.
82672         * m4/printf-posix.m4: New file, from gettext-0.13.
82673
82674 2003-11-29  Karl Berry  <karl@gnu.org>
82675
82676         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
82677
82678 2003-11-25  Paul Eggert  <eggert@twinsun.com>
82679             Bruno Haible  <bruno@clisp.org>
82680
82681         * lib/printf-parse.h: Don't include sys/types.h.
82682         (ARG_NONE): New macro.
82683         (char_directive): Change type of *arg_index fields to size_t.
82684         * lib/printf-parse.c: Don't include sys/types.h.
82685         (SSIZE_MAX): Remove macro.
82686         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
82687         Remove unnecessary overflow check.
82688         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
82689         fields.
82690
82691 2003-11-25  Bruno Haible  <bruno@clisp.org>
82692
82693         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
82694
82695 2003-11-25  Bruno Haible  <bruno@clisp.org>
82696
82697         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
82698         gt_TYPE_SSIZE_T.
82699
82700 2003-11-24  Paul Eggert  <eggert@twinsun.com>
82701
82702         * modules/alloca: Remove dependency on xalloc.
82703
82704 2003-11-24  Paul Eggert  <eggert@twinsun.com>
82705
82706         * lib/alloca.c: Remove dependency on xalloc module.
82707         (xalloc_die): Remove.
82708         (memory_full) [!defined emacs]: New macro.
82709         [!defined emacs]: Don't include xalloc.h.
82710         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
82711         address arithmetic overflows.  Change datatypes a bit to avoid
82712         unnecessary casts.
82713
82714 2003-11-22  Jim Meyering  <jim@meyering.net>
82715
82716         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
82717         s/size/size_t/.
82718
82719 2003-11-21  Karl Berry  <karl@gnu.org>
82720
82721         * config/config.{sub,guess}: update from config.
82722
82723 2003-11-18  Karl Berry  <karl@gnu.org>
82724
82725         * config/config.{sub,guess}: update from config.
82726
82727         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
82728
82729 2003-11-17  Paul Eggert  <eggert@twinsun.com>
82730
82731         * README: Mention that S+T cannot overflow if S is the size of
82732         an existing object and T is sufficiently small.
82733
82734 2003-11-17  Jim Meyering  <jim@meyering.net>
82735
82736         On systems without utime and without a utimes function capable of
82737         dealing with a NULL struct utimbuf* argument, this utime replacement
82738         could -- in unusual circumstances -- leak a file descriptor.
82739         * lib/utime.c: Include <unistd.h> and <errno.h>.
82740         (utime_null): Be sure to close `fd' and to preserve errno.
82741         Reported by Geoff Collyer via Arnold Robbins.
82742
82743 2003-11-17  Bruno Haible  <bruno@clisp.org>
82744
82745         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
82746         (Depends-on): Add xsize.
82747
82748 2003-11-17  Bruno Haible  <bruno@clisp.org>
82749
82750         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
82751
82752 2003-11-17  Bruno Haible  <bruno@clisp.org>
82753
82754         * lib/vasnprintf.c (alloca): Remove fallback definition.
82755         (freea): Remove definition.
82756         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
82757         Reported by Paul Eggert.
82758
82759 2003-11-16  Paul Eggert  <eggert@twinsun.com>
82760             Bruno Haible  <bruno@clisp.org>
82761
82762         Protect against address arithmetic overflow.
82763         * lib/printf-args.h: Include stddef.h.
82764         (arguments): Change type of field 'count' to size_t.
82765         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
82766         'unsigned int' where appropriate.
82767         * lib/printf-parse.h: Include sys/types.h.
82768         (char_directive): Change type of *arg_index fields to ssize_t.
82769         (char_directives): Change type of fields 'count', max_*_length to
82770         size_t.
82771         * lib/printf-parse.c: Include sys/types.h and xsize.h.
82772         (SSIZE_MAX): Define fallback value.
82773         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
82774         instead of 'int' where appropriate. Check a_allocated, d_allocated
82775         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
82776         * lib/vasnprintf.c: Include xsize.h.
82777         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
82778         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
82779         overflow. Avoid wraparound when converting a width or precision from
82780         decimal to binary.
82781
82782 2003-11-16  Bruno Haible  <bruno@clisp.org>
82783
82784         Update from GNU gettext.
82785         * lib/printf-parse.c: Generalize to it can be compiled for wide
82786         strings.
82787         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
82788         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
82789         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
82790         SNPRINTF): New macros.
82791         Don't include <alloca.h> if the file is used inside libintl.
82792         (local_wcslen): New function, for Solaris 2.5.1.
82793         (VASNPRINTF): Use it instead of wcslen.
82794
82795 2003-11-16  Bruno Haible  <bruno@clisp.org>
82796
82797         * lib/xsize.h (xmax): New function.
82798         (xsum, xsum3, xsum4): Declare as "pure" functions.
82799
82800 2003-11-12  Paul Eggert  <eggert@twinsun.com>
82801
82802         * modules/xalloc (Files): Undo latest change, since xalloc.h
82803         no longer needs SIZE_MAX or PTRDIFF_MAX.
82804
82805 2003-11-12  Paul Eggert  <eggert@twinsun.com>
82806
82807         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
82808         gl_PTRDIFF_MAX.
82809
82810 2003-11-12  Paul Eggert  <eggert@twinsun.com>
82811
82812         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
82813         "return", to pacify some unknown compiler.  Problem reported
82814         by Joerg Schilling.
82815
82816 2003-11-12  Paul Eggert  <eggert@twinsun.com>
82817
82818         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
82819         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
82820         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
82821         heuristic is just as accurate as far as we know, and it removes a
82822         dependency on size_max.m4 and ptrdiff_max.m4.
82823
82824 2003-11-11  Bruno Haible  <bruno@clisp.org>
82825
82826         * modules/xsize (Files): Add m4/size_max.m4.
82827         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
82828
82829 2003-11-11  Bruno Haible  <bruno@clisp.org>
82830
82831         * m4/size_max.m4: New file.
82832         * m4/ptrdiff_max.m4: New file.
82833         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
82834         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
82835         (gl_XALLOC): Invoke it.
82836
82837 2003-11-11  Bruno Haible  <bruno@clisp.org>
82838
82839         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
82840         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
82841         defined.
82842
82843 2003-11-10  Paul Eggert  <eggert@twinsun.com>
82844
82845         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
82846         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
82847         rejected some allocations of exactly SIZE_MAX - 2 bytes.
82848         From Bruno Haible.
82849         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
82850         not (size_t) -1, since it's defined here.
82851
82852 2003-11-09  Karl Berry  <karl@gnu.org>
82853
82854         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
82855
82856 2003-11-06  Paul Eggert  <eggert@twinsun.com>
82857
82858         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
82859         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
82860         Reject sizes of exactly SIZE_MAX bytes.
82861         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
82862         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
82863
82864 2003-11-05  Bruno Haible  <bruno@clisp.org>
82865
82866         * lib/xsize.h: Include limits.h, to avoid a possible collision with
82867         SIZE_MAX defined in <limits.h> on Solaris.
82868
82869 2003-11-04  Jim Meyering  <jim@meyering.net>
82870
82871         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
82872         variable names, rather than @VAR@.
82873         * modules/poll: Likewise.
82874
82875 2003-11-04  Bruno Haible  <bruno@clisp.org>
82876
82877         * modules/xsize: New file.
82878         * modules/linebreak: Depend on xsize.
82879         * MODULES.html.sh (func_all_modules): Add xsize.
82880
82881 2003-11-04  Bruno Haible  <bruno@clisp.org>
82882
82883         * m4/xsize.m4: New file.
82884
82885 2003-11-04  Bruno Haible  <bruno@clisp.org>
82886
82887         * lib/xsize.h: New file.
82888         * lib/linebreak.c: Include xsize.h.
82889         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
82890         argument for overflow.
82891         Suggested by Paul Eggert.
82892
82893 2003-11-03  Karl Berry  <karl@gnu.org>
82894
82895         * config/config.{guess,sub}: update from config.
82896
82897 2003-11-03  Jim Meyering  <jim@meyering.net>
82898
82899         * modules/userspec (lib_SOURCES): Add userspec.h.
82900         (Include): Add "userspec.h".
82901         Improve description.
82902
82903 2003-11-03  Jim Meyering  <jim@meyering.net>
82904
82905         * lib/userspec.c: Include "userspec.h".
82906         * lib/userspec.h: New file.
82907
82908 2003-11-03  Bruno Haible  <bruno@clisp.org>
82909
82910         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
82911
82912 2003-11-03  Bruno Haible  <bruno@clisp.org>
82913
82914         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
82915         available, to avoid (extremely rare) race condition.
82916         Suggested by Paul Eggert.
82917
82918 2003-11-02  Karl Berry  <karl@gnu.org>
82919
82920         * config/srclist.txt (vasprintf.c): sync broken, sigh.
82921
82922 2003-10-31  Paul Eggert  <eggert@twinsun.com>
82923
82924         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
82925         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
82926         (read_filesystem_list): Set and use me_type_malloced.
82927         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
82928         whatever the type happens to be), for brevity and consistency.
82929         Check for size calculation overflow on Alphas running OSF/1.
82930
82931 2003-10-31  Jim Meyering  <jim@meyering.net>
82932
82933         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
82934
82935         * lib/linebuffer.c: Include <string.h> for declaration of memset.
82936
82937 2003-10-30  Paul Eggert  <eggert@twinsun.com>
82938             Bruno Haible  <bruno@clisp.org>
82939
82940         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
82941         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
82942
82943 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
82944
82945         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
82946         netbsd*-gnu*.  Suggested by Robert Millan.
82947
82948 2003-10-29  Paul Eggert  <eggert@twinsun.com>
82949
82950         * modules/group-member: Depend on stdbool.
82951
82952 2003-10-29  Paul Eggert  <eggert@twinsun.com>
82953
82954         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
82955
82956 2003-10-29  Paul Eggert  <eggert@twinsun.com>
82957
82958         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
82959         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
82960         after the 'gnu' in these cases.  This fixes some bugs in the
82961         previous change, and is based on suggestions by Robert Millan.
82962
82963 2003-10-29  Paul Eggert  <eggert@twinsun.com>
82964
82965         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
82966         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
82967         no longer needed.
82968         * lib/quotearg.c (quotearg_n_options): Use it.
82969         * lib/group-member.c: Include <stdbool.h>.
82970         (free_group_info): Arg is now const *; don't free arg.
82971         (get_group_info): Now returns bool and accepts struct group_info *,
82972         rather than returning a malloc'ed struct group_info *.
82973         All uses changed.  Check for overflow in internal size calculation.
82974
82975         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
82976         rather than xmalloc/xrealloc.
82977         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
82978         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
82979         conformance bug: the old code used a pointer after freeing the
82980         storage that it addressed.
82981         * lib/hash.c (hash_initialize): Simplify the code by using
82982         xalloc_oversized rather than doing it by hand.
82983         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
82984         the buffer preserved.  Use free and xmalloc instead.
82985         * lib/quotearg.c (quotearg_n_options): Likewise.
82986         Use a simpler test for size overflow.  Don't use xalloc_oversized
82987         because unsigned int might be wider than size_t (!); this suggests
82988         that we should switch from unsigned int to size_t for slot numbers.
82989
82990 2003-10-28  Paul Eggert  <eggert@twinsun.com>
82991
82992         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
82993         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
82994         NetBSD kernels.  Requested by Richard Stallman.
82995
82996 2003-10-27  Paul Eggert  <eggert@twinsun.com>
82997
82998         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
82999         to allocate the returned structure.  Do not allocate a subarray,
83000         as x2nrealloc will do that.
83001         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
83002         instead of xnrealloc.
83003         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
83004
83005 2003-10-27  Bruno Haible  <bruno@clisp.org>
83006
83007         * lib/stdbool_.h: Better support for BeOS.
83008
83009 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83010
83011         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
83012         now uses inline.
83013
83014 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83015
83016         * lib/xalloc.h (xalloc_oversized): New static inline function, for
83017         callers that want to do their own size-overflow checking.  Include
83018         <stdbool.h>, since xalloc_oversized returns bool.
83019         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
83020         to use xalloc_oversized.
83021
83022         Add two functions x2realloc, x2nrealloc, for programs that grow
83023         arrays dynamically by doubling their sizes.
83024         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
83025         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
83026         New functions.
83027
83028         Port to C99 semantics for 'inline' of external functions.
83029         Bug reported by Bruno Haible.
83030         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
83031         with the old contents of xnmalloc.
83032         (xnmalloc, xmalloc): Use it.
83033         (xnrealloc_inline): New static inline function,
83034         with the old contents of xnrealloc.
83035         (xnrealloc, xrealloc): Use it.
83036
83037         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
83038         that.
83039
83040 2003-10-26  Karl Berry  <karl@gnu.org>
83041
83042         * config/srclist.txt (COPYING.DOC): no longer available from
83043         /gd/gnuorg; don't know where the ultimate source is.
83044
83045 2003-10-25  Paul Eggert  <eggert@twinsun.com>
83046
83047         Fix several address-calculation bugs in the hash modules,
83048         plus some minor code cleanup.
83049
83050         * lib/hash.h: Include <stdbool.h>, for bool.
83051         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
83052         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
83053         hash_get_n_entries, hash_get_max_bucket_length,
83054         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
83055         hash_rehash): Use size_t rather than unsigned.
83056         * lib/hash.c (struct hash_table, hash_get_n_buckets,
83057         hash_get_n_buckets_used, hash_get_n_entries,
83058         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
83059         hash_get_entries, hash_do_for_each, hash_string, is_prime,
83060         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
83061         Likewise.
83062         (SIZE_MAX): Define if not defined.
83063         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
83064         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
83065         hash_print):
83066         Use const * when possible.
83067         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
83068         (check_tuning): Fix bug: if tuning parameters were very close to
83069         0 or 1, rounding errors could have caused subscript violations.
83070         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
83071         (hash_initialize): Add 'fail:' label
83072         to free table and return NULL, and use it to simplify code.
83073         Use calloc rather than clearing the storage ourself.
83074         (hash_initialize, hash_rehash): Check for arithmetic overflow in
83075         buffer size calculations.
83076         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
83077         Include <stddef.h>, for size_t.
83078         * lib/hash-pjw.c (hash_pjw): Likewise.
83079         Switch to method described by Bruno Haible.
83080         Include <limits.h>, for CHAR_BIT.
83081         (SIZE_BITS): New macro.
83082
83083 2003-10-23  Paul Eggert  <eggert@twinsun.com>
83084
83085         * m4/getline.m4 (AM_FUNC_GETLINE):
83086         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
83087         hosts.  Problem reported by Derek Robert Price in
83088         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
83089         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
83090         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
83091
83092 2003-10-21  Paul Eggert  <eggert@twinsun.com>
83093
83094         * lib/getndelim2.c (getndelim2): When size calculation overflows,
83095         ceiling the allocation at NMAX bytes rather than silently
83096         discarding input bytes before NMAX is reached.  This makes
83097         a difference only if NMAX exceeds SIZE_MAX / 2.
83098
83099         * lib/obstack.c: Merge from glibc.
83100         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
83101         Add libc_hidden_def (_obstack_newchunk).
83102         (_obstack_free) [! defined _LIBC]: Remove.
83103         [defined _LIBC]: Make a strong alias from obstack_free, rather than
83104         a clone of the function body.
83105         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
83106         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
83107
83108         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
83109         glibc.
83110         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
83111         arg to memcpy.
83112
83113         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
83114         (obstack_ptr_grow_fast, obstack_int_grow_fast):
83115         Don't use lvalue casts, as GCC plans to remove support for them
83116         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
83117         was also present in the non-GCC version, indicating that this
83118         code had always been buggy and had never been widely used.
83119         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
83120         Use the fast variant of each macro, rather than copying the
83121         definiens of the fast variant; that way, we'll be more likely to
83122         catch future bugs in the fast variants.
83123
83124 2003-10-20  Bruno Haible  <bruno@clisp.org>
83125
83126         * modules/wait-process: New file.
83127         * MODULES.html.sh (func_all_modules): Add wait-process.
83128
83129 2003-10-20  Bruno Haible  <bruno@clisp.org>
83130
83131         * m4/wait-process.m4: New file.
83132
83133 2003-10-20  Bruno Haible  <bruno@clisp.org>
83134
83135         * lib/wait-process.h: New file, from GNU gettext.
83136         * lib/wait-process.c: New file, from GNU gettext.
83137
83138 2003-10-19  Jim Meyering  <jim@meyering.net>
83139
83140         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
83141         HPUX 10.20.
83142
83143 2003-10-18  Karl Berry  <karl@gnu.org>
83144
83145         * config/config.guess: update from config.
83146
83147 2003-10-16  Paul Eggert  <eggert@twinsun.com>
83148
83149         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
83150         (getgroups): First arg is int, not size_t.
83151         Don't let 'free' mangle errno.
83152
83153 2003-10-16  Paul Eggert  <eggert@twinsun.com>
83154
83155         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
83156
83157 2003-10-16  Karl Berry  <karl@gnu.org>
83158
83159         * config/config.{guess,sub}: update from config.
83160
83161 2003-10-16  Jim Meyering  <jim@meyering.net>
83162
83163         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
83164         memcpy.
83165
83166 2003-10-15  Paul Eggert  <eggert@twinsun.com>
83167
83168         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
83169         (SIZE_MAX): Remove.
83170         (new_exclude, add_exclude_file): Initial size no longer needs to
83171         be a power of 2.
83172         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
83173         our own address arithmetic overflow checking.
83174
83175         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
83176         (fnmatch): Do not alloca more than 2000 wide characters;
83177         instead, use malloc for large buffers.
83178         Check for address arithmetic overflow, and return -1
83179         with errno set to ENOMEM in that case.
83180         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
83181         (NEW_PATTERN): Do not alloca more than 8000 bytes;
83182         instead, return -1.  Check for address arithmetic overflow.
83183
83184 2003-10-14  Paul Eggert  <eggert@twinsun.com>
83185
83186         Handle invalid suffixes and overflow independently, so that
83187         callers can treat them independently as needed.  Fix some bugs in
83188         suffix handling, e.g., "100k@" was not diagnosed as an invalid
83189         suffix for a human-readable blocksize.  The major caller-visible
83190         change is the addition of a new
83191         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
83192         that both overflow and suffix chars were found.
83193
83194         * lib/human.c (humblock): Don't check separately for invalid suffix
83195         char; that is xstrtoumax's job (now that its bug is fixed).
83196         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
83197         INTMAX_MAX]: New macros.
83198         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
83199         TYPE_MAXIMUM): New macros.
83200         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
83201         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
83202         if overflow occurs, as it's what __strtol does and it's more useful
83203         in practice.
83204         (__xstrtol): If __strtol reports some error other than ERANGE,
83205         reflect it to the caller as LONGINT_INVALID.  If it reports
83206         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
83207         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
83208         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
83209         value.
83210         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
83211         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
83212         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
83213         [defined UINTMAX_MAX]: New macros.
83214
83215 2003-10-14  Bruno Haible  <bruno@clisp.org>
83216
83217         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
83218
83219 2003-10-14  Bruno Haible  <bruno@clisp.org>
83220
83221         * m4/sig_atomic_t: New file, from GNU gettext.
83222         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
83223
83224 2003-10-14  Bruno Haible  <bruno@clisp.org>
83225
83226         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
83227         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
83228         Also use volatile where needed.
83229
83230 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83231
83232         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
83233         Change maintainer from Bruno Haible to 'all'.
83234
83235 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83236
83237         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
83238
83239 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83240
83241         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
83242         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
83243         and define in terms of the other primitives.
83244         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
83245         (SIZE_MAX): Define if not already defined.
83246         (array_size_overflow): New function.
83247         (xalloc_die): Abort instead of exiting if 'error' returns.
83248         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
83249         (xmalloc, xrealloc): Use them.
83250         (xcalloc): Check for address arithmetic overflow.
83251         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
83252         a bit faster than strcpy.
83253
83254 2003-10-10  Simon Josefsson  <jas@extundo.com>
83255
83256         * modules/argp (Depends-on): Add restrict and strcase.
83257
83258 2003-10-10  Simon Josefsson  <jas@extundo.com>
83259
83260         * m4/argp.m4: Add AC_C_INLINE.
83261
83262 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83263
83264         Merge getpass from libc, plus a few fixes.
83265
83266         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
83267         Include <stdbool.h>.
83268         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
83269         __fsetlocking to empty.
83270         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
83271         do include <bits/libc-lock.h>.
83272         Do not include <fcntl.h>; not needed.
83273         [_LIBC]: Include <wchar.h>.
83274         (NOTCANCEL_MODE): New macro.
83275         (flockfile, funlockfile) [_LIBC]: New macros.
83276         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
83277         [!_LIBC]: New macros.
83278         (call_fclose): New function.
83279         (getpass): Use it.  Save tty stream separately; this simplifies the
83280         code and makes it more reliable if stdin happens to equal stdout.
83281         Invoke __fsetlocking on tty.
83282         Handle thread cancellation if needed.
83283         Namespace cleanup (use __tcgetattr, __getline).
83284         Use bool for Booleans.
83285         [USE_IN_LIBIO]: Handle wide streams.
83286         [!_LIBC]: Unconditionally do the fseek, since we don't know what
83287         stream might go where.
83288
83289         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
83290         doesn't have to include <stdio.h> before us.
83291         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
83292         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
83293         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
83294         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
83295         if not declared, so that we can use getpass.c code from libc without
83296         rewriting it.
83297         (flockfile, ftrylockfile, funlockfile): New macros.
83298
83299 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83300
83301         * modules/getpass: Depend on stdbool.
83302
83303 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83304
83305         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
83306
83307 2003-10-07  Karl Berry  <karl@gnu.org>
83308
83309         * config/config.{guess,sub}: update from config.
83310
83311 2003-10-06  Jim Meyering  <jim@meyering.net>
83312             Bruno Haible  <bruno@clisp.org>
83313
83314         This lets translators provide better translations for the
83315         "Written by ..." part of --version output.
83316         * lib/version-etc.h: Include stdarg.h.
83317         (version_etc_copyright): Declare as readonly.
83318         (version_etc): Make this function variadic with a NULL-terminated list
83319         of author name strings.
83320         (version_etc_va): New declaration.
83321         * lib/version-etc.c: Include stdarg.h, stdlib.h.
83322         (version_etc_copyright): Declare as readonly.
83323         (version_etc_va): New function. Provide a different translatable string
83324         for each possible number of authors < 10. Abbreviate when there are 10
83325         authors or more.
83326         (version_etc): Make this function variadic. Call version_etc_va.
83327         Suggestion from Gary V. Vaughan.
83328
83329         * lib/long-options.h (parse_long_options): Change prototype: the
83330         authors string is moved to the end and becomes variadic.
83331         * lib/long-options.c: Include stdarg.h.
83332         (parse_long_options): Make this function variadic, too.
83333         Call version_etc_va, not version_etc.
83334
83335 2003-10-06  Bruno Haible  <bruno@clisp.org>
83336
83337         * modules/version-etc-2: Remove file.
83338         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
83339
83340 2003-10-06  Bruno Haible  <bruno@clisp.org>
83341
83342         * modules/fatal-signal: New file.
83343         * MODULES.html.sh (func_all_modules): Add fatal-signal.
83344
83345 2003-10-06  Bruno Haible  <bruno@clisp.org>
83346
83347         * m4/fatal-signal.m4: New file.
83348         * m4/signalblocking.m4: New file, from GNU gettext.
83349
83350 2003-10-06  Bruno Haible  <bruno@clisp.org>
83351
83352         * lib/version-etc-2.h: Remove file.
83353         * lib/version-etc-2.c: Remove file.
83354
83355 2003-10-06  Bruno Haible  <bruno@clisp.org>
83356
83357         * lib/fatal-signal.h: New file, from GNU gettext.
83358         * lib/fatal-signal.c: New file, from GNU gettext.
83359
83360 2003-10-05  Paul Eggert  <eggert@twinsun.com>
83361
83362         * README: Rework advice for preventing empty .o files.
83363         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
83364         not <sys/types.h>.
83365
83366 2003-10-04  Karl Berry  <karl@gnu.org>
83367
83368         * lib/argp*: update from libc.
83369
83370 2003-10-04  Karl Berry  <karl@gnu.org>
83371
83372         * config/config.{guess,sub}: update from config.
83373
83374 2003-10-02  Bruno Haible  <bruno@clisp.org>
83375
83376         * modules/lchown (Include): Add lchown.h.
83377         * modules/time_r (Include): Use "..." syntax.
83378         * modules/xgetdomainname (Include): Add xgetdomainname.h.
83379
83380 2003-10-01  Simon Josefsson  <jas@extundo.com>
83381
83382         * MODULES.html.sh (func_all_modules): Move gethostname from section
83383         'based on' to section 'lacking' POSIX:2001.
83384
83385 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
83386
83387         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
83388         to output mode on the same stream.
83389
83390 2003-09-29  Paul Eggert  <eggert@twinsun.com>
83391
83392         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
83393         Fix arg typo in previous patch.
83394
83395 2003-09-28  Jim Meyering  <jim@meyering.net>
83396
83397         * lib/error.c: Correct cpp indentation.
83398
83399 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83400
83401         * modules/free: New file.
83402
83403 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83404
83405         * m4/free.m4: New file.
83406
83407 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83408
83409         * lib/minmax.h (MIN, MAX)
83410         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
83411         Omit the special code that used __typeof__, since we worry that
83412         it could be more trouble than it's worth.  See:
83413         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
83414         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
83415
83416         * lib/free.c: New file.
83417
83418 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
83419
83420         Trivial fixes to Makefile.am parts of module listings.
83421         * modules/strstr: Append strstr.h to lib_SOURCES.
83422         * modules/strcase: Likewise, for strcase.h.
83423
83424 2003-09-27  Karl Berry  <karl@gnu.org>
83425
83426         * config/mkinstalldirs: update from automake.
83427
83428 2003-09-26  Paul Eggert  <eggert@twinsun.com>
83429
83430         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
83431         (error_tail): Do not loop, reallocating temporary buffer, since
83432         the output cannot contain more wide characters than the input
83433         contains bytes, the size must be big enough already.  This avoids
83434         one potential size overflow calculation.  Check for size overflow
83435         when calculating temporary buffer size.  Free temporary buffer
83436         when done, if it was allocated with malloc; this plugs a memory
83437         leak.  Remove casts from void * to pointers, that are no longer
83438         needed now that we're assuming C89 or better.
83439
83440         Merge error changes from glibc.
83441
83442         * lib/error.c, error.h: Update copyright notice header to match glibc.
83443         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
83444         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
83445         Disable cancellation while printing error.
83446         * lib/error.h: Prepend __ to parameter names.
83447
83448 2003-09-26  Jim Meyering  <jim@meyering.net>
83449
83450         * lib/error.c (error_tail): Move some declarations
83451         into inner scope where the local variables are used.
83452
83453 2003-09-26  Bruno Haible  <bruno@clisp.org>
83454
83455         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
83456         stpncpy().
83457         Don't define stpncpy through config.h; it's now done through stpncpy.h.
83458
83459 2003-09-26  Bruno Haible  <bruno@clisp.org>
83460
83461         * lib/stpncpy.h (gnu_stpncpy): New declaration.
83462         (stpncpy): Define as alias for gnu_stpncpy.
83463         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
83464
83465 2003-09-25  Simon Josefsson  <jas@extundo.com>
83466
83467         * lib/xgetdomainname.h: New file.
83468         * lib/xgetdomainname.c: New file.
83469
83470 2003-09-25  Simon Josefsson  <jas@extundo.com>
83471             Bruno Haible  <bruno@clisp.org>
83472
83473         * modules/getdomainname: New file.
83474         * modules/xgetdomainname: New file.
83475         * MODULES.html.sh (func_all_modules): Add getdomainname,
83476         xgetdomainname.
83477
83478 2003-09-25  Simon Josefsson  <jas@extundo.com>
83479             Bruno Haible  <bruno@clisp.org>
83480
83481         * m4/getdomainname.m4: New file.
83482
83483 2003-09-25  Simon Josefsson  <jas@extundo.com>
83484             Bruno Haible  <bruno@clisp.org>
83485
83486         * lib/getdomainname.h: New file.
83487         * lib/getdomainname.c: New file.
83488
83489 2003-09-25  Karl Berry  <karl@gnu.org>
83490
83491         * lib/argp-fmtstream.c, argp-help.c: update from libc.
83492
83493 2003-09-25  Karl Berry  <karl@gnu.org>
83494
83495         * config/install-sh: update from automake.
83496
83497 2003-09-25  Bruno Haible  <bruno@clisp.org>
83498
83499         * modules/version-etc-2: New file, from modules/version-etc with
83500         modifications.
83501         * MODULES.html.sh (func_all_modules): Add version-etc-2.
83502
83503 2003-09-25  Bruno Haible  <bruno@clisp.org>
83504
83505         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
83506         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
83507
83508 2003-09-24  Simon Josefsson  <jas@extundo.com>
83509
83510         * modules/xgethostname: Add xgethostname.h.
83511
83512 2003-09-24  Paul Eggert  <eggert@twinsun.com>
83513
83514         * lib/linebuffer.c (freebuffer): Don't free the argument, just
83515         the buffer associated with the argument.  Bug reported by
83516         Simon Josefsson.
83517
83518 2003-09-24  Paul Eggert  <eggert@twinsun.com>
83519
83520         * README: Document assumptions that 'int' is at least 32 bits
83521         wide, that integer arithmetic is 2's complement without overflow,
83522         that there are no holes in integer values, that adding sizes of
83523         two nonoverlapping objects can't overflow, and that all-bits-zero
83524         yields scalar zero.  Fix spelling and capitalization typos.
83525
83526 2003-09-19  Karl Berry  <karl@gnu.org>
83527
83528         * lib/argp.h: update from libc.
83529
83530 2003-09-17  Paul Eggert  <eggert@twinsun.com>
83531
83532         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
83533         to avoid spurious warnings like "AC_RUN_IFELSE was called before
83534         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
83535
83536 2003-09-17  Paul Eggert  <eggert@twinsun.com>
83537
83538         * gnulib-tool: Use "test -h", not "test -L", for portability
83539         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
83540         (tags_regexp): Remove, since \| doesn't conform to POSIX.
83541         (sed_extract_prog): Issue s commands one-by-one, rather than
83542         using \| in one s command.
83543
83544 2003-09-16  Paul Eggert  <eggert@twinsun.com>
83545
83546         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
83547         input error, instead of returning NULL the next time we are called
83548         (and therefore losing track of errno).
83549
83550 2003-09-16  Bruno Haible  <bruno@clisp.org>
83551
83552         * gnulib-tool (func_create_testdir): Warn about duplicated
83553         dependencies.
83554
83555 2003-09-15  Paul Eggert  <eggert@twinsun.com>
83556
83557         * modules/argmatch, modules/fatal, modules/obstack,
83558         modules/xalloc, modules/xgethostname: Sort dependencies by
83559         importance, not alphabetically.
83560
83561 2003-09-15  Paul Eggert  <eggert@twinsun.com>
83562
83563         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
83564         fails, so that the caller gets the proper errno.
83565
83566         * lib/readutmp.c (read_utmp): Likewise.
83567         Check for fstat error.  Close stream and free storage
83568         when failing.
83569
83570 2003-09-14  Karl Berry  <karl@gnu.org>
83571
83572         * config/srclist.txt (strdup.c): disable for c89 changes.
83573
83574 2003-09-14  Jim Meyering  <jim@meyering.net>
83575
83576         * lib/getloadavg.c: Correct cpp indentation.
83577         * lib/strdup.c: Likewise.
83578         * lib/vasnprintf.c: Likewise.
83579
83580 2003-09-14  Bruno Haible  <bruno@clisp.org>
83581
83582         * modules/fwriteerror: New file.
83583         * MODULES.html.sh (func_all_modules): Add fwriteerror.
83584
83585 2003-09-14  Bruno Haible  <bruno@clisp.org>
83586
83587         * lib/fwriteerror.h: New file.
83588         * lib/fwriteerror.c: New file.
83589
83590 2003-09-12  Paul Eggert  <eggert@twinsun.com>
83591
83592         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
83593         modules/xgethostname, modules/xalloc: Depend on exit.
83594
83595 2003-09-12  Paul Eggert  <eggert@twinsun.com>
83596
83597         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
83598
83599         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
83600         and AC_MINIX, too, so that their extensions are available.
83601
83602         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
83603         This macro has been superseded by gl_BACKUPFILE.
83604
83605         More patches to assume C89 or better.
83606
83607         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
83608
83609         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
83610         unconditionally.
83611         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
83612         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
83613         Include <string.h>, <stdlib.h> unconditionally.
83614         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
83615         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
83616         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
83617         headers or for string.h.
83618         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
83619         or strtoul.
83620
83621         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
83622         headers.
83623         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
83624         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83625         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
83626         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
83627         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
83628         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
83629         memcpy, memset.
83630         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
83631         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
83632         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
83633         strtol.
83634         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
83635         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
83636         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
83637         strtoul.
83638
83639 2003-09-12  Paul Eggert  <eggert@twinsun.com>
83640
83641         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
83642         * lib/obstack.c [!defined _LIBC]: Likewise.
83643         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
83644         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
83645         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
83646
83647         More changes to assume C89 or better.
83648
83649         * lib/error.c (error_tail): Assume vprintf.
83650
83651         * lib/argmatch.c (getenv): Remove decl.
83652         * lib/progreloc.c (get_full_program_name): Define via prototype.
83653         * lib/setenv.c (clearenv): Likewise.
83654         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
83655         needed.
83656         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
83657         (malloc, memcpy): Remove decls.
83658         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
83659         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
83660         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
83661         (memcpy): Remove macro.
83662         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
83663         (__P): Remove.  All uses removed.
83664         (PTR): Remove.  All uses changed to void *.
83665         (CHAR_BIT, NULL): Remove.
83666         (spaces, zeros, memset_space, memset_zero)
83667         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
83668         Remove.
83669         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
83670         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
83671         Define with prototype.
83672         Remove now-unnecessary prototype decl.
83673         (extra_args_spec): Assume ANSI C.  All uses changed.
83674         (extra_args_spec_iso): Remove.
83675         (my_strftime, emacs_strftimeu): Define via prototype.
83676         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
83677         unconditionally.
83678         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
83679         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
83680         (strtoul, strtol): Remove decls.
83681         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
83682         LONG_MAX): Remove.
83683         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
83684         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
83685         (LOCALE_PARAM_PROTO): New macro.
83686         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
83687         (INTERNAL (strtol), strtol): Define with a prototype.
83688         (PARAMS): Remove.  All uses removed.
83689         * lib/tempname.c: Include <string.h> unconditionally.
83690         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
83691         * lib/xgethostname.c (main): Define with a prototype.
83692         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
83693         Include <stdlib.h> unconditionally.
83694         (calloc, malloc, realloc, free): Remove decls.
83695         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
83696         Include <stdlib.h> unconditionally.  Sort include file names.
83697         (strtod): Remove.
83698         (xstrtod): Define with a prototype.
83699         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
83700         (strtol, strtoul): Remove decls.
83701
83702 2003-09-11  Paul Eggert  <eggert@twinsun.com>
83703
83704         More patches to assume C89 or better.
83705         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
83706         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
83707         string.h, memchr, STDC_HEADERS.
83708
83709 2003-09-11  Paul Eggert  <eggert@twinsun.com>
83710
83711         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
83712         Include <stdlib.h>, <string.h> unconditionally.
83713         Remove now-unnecessary cast to char *.
83714         * lib/strnlen.c: Include <string.h> unconditionally.
83715         * lib/yesno.c (yesno): Define with a prototype.
83716
83717 2003-09-11  Bruno Haible  <bruno@clisp.org>
83718
83719         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
83720
83721 2003-09-10  Jim Meyering  <jim@meyering.net>
83722
83723         * lib/error.c: Correct indentation of cpp directives.
83724
83725 2003-09-10  Bruno Haible  <bruno@clisp.org>
83726
83727         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
83728         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
83729         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
83730         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
83731         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
83732         <stdlib.h> and <string.h> checks.
83733         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
83734         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
83735
83736 2003-09-10  Bruno Haible  <bruno@clisp.org>
83737
83738         * lib/strcspn.c: Include <string.h> unconditionally.
83739         * lib/strpbrk.c: Include <string.h> unconditionally.
83740         * lib/strstr.c: Include <string.h> unconditionally.
83741         * lib/unicodeio.c: Include <string.h> unconditionally.
83742         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
83743         * lib/unsetenv.c: Likewise.
83744         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
83745         * lib/yesno.c: Include <stdlib.h> unconditionally.
83746         (rpmatch): Add prototype.
83747
83748 2003-09-09  Paul Eggert  <eggert@twinsun.com>
83749
83750         More patches to assume C89 or better.
83751         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
83752         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
83753         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
83754         or for string.h.
83755         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
83756         stdlib.h.
83757         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
83758         C headers.
83759         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
83760         string.h.
83761         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
83762         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
83763         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
83764         or for string.h.
83765         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
83766         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
83767         C headers.
83768         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
83769         memcpy.
83770         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
83771         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
83772         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
83773         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
83774         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
83775         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
83776         string.h, free.
83777         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
83778         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
83779         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
83780         C headers, or for string.h.
83781         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
83782         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
83783         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
83784         headers, memory.h, stdlib.h, string.h, strings.h.
83785         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
83786         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
83787         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
83788         strchr.
83789         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
83790         headers, memory.h, string.h.
83791         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
83792         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
83793         free.
83794         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
83795         headers.
83796         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
83797         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
83798         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
83799         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
83800         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
83801
83802 2003-09-09  Paul Eggert  <eggert@twinsun.com>
83803
83804         More K&R removal.
83805
83806         * lib/acosl.c (main): Use a prototype.
83807         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
83808         tanl.c: Likewise.
83809
83810         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
83811
83812         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
83813         (getopt, etopt_long, getopt_long_only, _getopt_internal)
83814         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
83815         with a prototype.
83816         * lib/getopt.c (const): Remove macro.
83817         Include <string.h> unconditionally.
83818         (my_index): Remove; all uses changed to strchr.
83819         (strlen): Remove decl.
83820         (exchange): Remove forward decl; no longer needed.
83821         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
83822         Define with prototype.
83823         * lib/getopt1.c (const): Remove macro.
83824         (getopt_long, getopt_long_only, main): Define with prototype.
83825
83826         * lib/getugroups.c: Include <string.h> unconditionally.
83827
83828         * lib/getusershell.c: Include <stdlib.h> unconditionally.
83829         (getusershell, setusershell, endusershell, readname, main):
83830         Define with prototypes.
83831
83832         * lib/group-member.c: Include group-member.h first.
83833         Include <stdlib.h> unconditionally.
83834
83835         * lib/hard-locale.c: Include hard-locale.h first.
83836         Include <stdlib.h>, <string.h> unconditionally.
83837
83838         * lib/hash.c (free, malloc): Remove decls.
83839         Include <stdlib.h> unconditionally.
83840
83841         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
83842         (getenv): Do not declare.
83843
83844         * lib/idcache.c: Include <string.h> unconditionally.
83845
83846         * lib/long-options.c: Include long-options.h first, to test interface.
83847         Include <stdlib.h> unconditionally.
83848
83849         * lib/makepath.c: Include makepath.h first, to test interface.
83850         Include <stdlib.h> and <string.h> unconditionally.
83851
83852         * lib/linebuffer.c: Include <stdlib.h>.
83853         (free): Remove decl.
83854
83855         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
83856         stddef.h. rpl_malloc returns void *, not char *.
83857         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
83858         prototype.
83859
83860         * lib/md5.h: Include <limits.h> unconditionally.
83861         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
83862         (__P): Remove; all uses removed.
83863         * lib/md5.c: Include "md5.h" first.
83864         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
83865         md5_buffer, md5_process_bytes, md5_process_block):
83866         Define with prototypes.
83867         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
83868         * lib/sha.c: Include "sha.h" first.
83869         Include <stdlib.h>, <string.h> unconditionally.
83870
83871         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
83872         * lib/memcmp.c (__ptr_t): Likewise.
83873         * lib/memrchr.c (__ptr_t): Likewise.
83874         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
83875         Include <string.h> unconditionally.
83876         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
83877         * lib/memchr.c: Include <stdlib.h> unconditionally.
83878         * lib/memchr.c (LONG_MAX): Remove.
83879         * lib/memrchr.c (LONG_MAX): Likewise.
83880         * lib/memchr.c (__memchr): Define via a prototype.
83881         * lib/memrchr.c (__memrchr): Likewise.
83882         * lib/memcmp.c (__P): Remove, and remove all uses.
83883         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
83884         Remove forward decls; no longer needed.
83885         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
83886         Use types required by C89 in prototype.
83887
83888         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
83889         * lib/savedir.c: Likewise.
83890         * lib/mkdir.c (free): Remove decl.
83891         * lib/rmdir.c (rmdir): Define with a prototype.
83892         * lib/savedir.c: Include savedir.h first, to test interface.
83893
83894         * lib/mktime.c (STDC_HEADERS): Remove.
83895         Include <stdlib.h>, <string.h> unconditionally.
83896
83897         * lib/modechange.c: Include <stdlib.h> unconditionally.
83898         (malloc): Remove decl.
83899
83900         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
83901         (free): Remove decl.
83902
83903         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
83904         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
83905         (This type really should be intptr_t, but that's a C99ism.)
83906         (_obstack_memcpy): Remove: all uses changed to memcpy.
83907         Include <string.h> unconditionally.
83908         (struct obstack): Assume __STDC__ for types of members
83909         chunkfun, freefun, extra_arg.
83910         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
83911         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
83912         obstack_begin, obstack_specify_allocation,
83913         obstack_specify_allocation_with_arg, obstack_chunkfun,
83914         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
83915         Remove unprototyped decls and the macros that use them.
83916         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
83917         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
83918         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
83919         (defined __STDC__ && __STDC__)]:
83920         Remove nonprototyped code.
83921         Include <stdlib.h> unconditionally.
83922         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
83923         _obstack_allocated_p, _obstack_free, obstack_free,
83924         _obstack_memory_used, print_and_abort):
83925         Define using prototypes.
83926         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
83927         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
83928         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
83929         obstack_next_free, obstack_object_size, obstack_room) [0]:
83930         Remove unused, unprototyped code.
83931
83932         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
83933
83934         * lib/physmem.c (physmem_total, physmem_available, main): Define
83935         with prototypes.
83936
83937         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
83938         (main): Define with a prototype.
83939
83940         * lib/posixver.c (getenv): Remove decl.
83941
83942         * lib/putenv.c (malloc): Returns void *, not char *.
83943         Include <string.h> unconditionally.
83944         (strchr, memcpy, NULL): Do not define.
83945
83946         * lib/readtokens.c: Include readtokens.h first, to test interface.
83947         Include <stdlib.h>, <string.h> unconditionally.
83948         (init_tokenbuffer): Define with a prototype.
83949
83950         * lib/regex.c (PARAMS): Remove.  All uses removed.
83951         All uses of _RE_ARGS removed, too.
83952         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
83953         unconditionally.
83954         (bzero): Assume memset exists.
83955         (memcmp, memcpy, NULL): Remove.
83956         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
83957         char, or assignments to local vars of type signed char.
83958         (init_syntax_once, PREFIX(extract_number_and_incr),
83959         PREFIX(print_partial_compiled_pattern),
83960         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
83961         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
83962         PREFIX(regex_grow_registers), PREFIX(regex_compile),
83963         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
83964         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
83965         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
83966         wcs_compile_range, byte_compile_range, truncate_wchar,
83967         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
83968         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
83969         count_mbs_length, wcs_re_match_2_internal,
83970         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
83971         PREFIX(alt_match_null_string_p),
83972         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
83973         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
83974         regfree, PREFIX(extract_number)): Define with prototype.  Remove
83975         now-unnecessary declaration, if any.
83976         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
83977         regcomp, regexec):
83978         Remove now-unnecessary casts among pointer types.
83979         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
83980
83981         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
83982         (free): Remove decl.
83983
83984         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
83985
83986         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
83987         (free): Remove decl.
83988
83989         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
83990         * lib/xgetcwd.c: Likewise.
83991
83992         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
83993         (free): Remove decl.
83994
83995         * lib/strchrnul.c (strchrnul): Define with a prototype.
83996         Fix bug: c_in was not converted to char before searching.
83997
83998         The following changes are not K&R related:
83999
84000         * lib/group-member.h: Include <sys/types.h>, so that this file is
84001         self-contained.
84002         * lib/makepath.h: Likewise.
84003
84004         * lib/getusershell.c (readname, default_index, line_size, readname):
84005         Use size_t, not int, for sizes.
84006         (readname): If the size overflows, report an error instead of
84007         looping forever.
84008
84009 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84010
84011         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
84012         libc.
84013
84014 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84015
84016         * README: New section: portability guidelines.
84017
84018 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84019
84020         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
84021         C89 spec.
84022
84023 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84024
84025         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
84026
84027 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84028
84029         Assume C89 or better; remove K&R cruft.
84030         A few of these changes were first proposed by Derek Robert Price
84031         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
84032
84033         * lib/addext.c: Include <string.h> unconditionally.
84034         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
84035         Don't declare getenv or malloc.
84036
84037         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
84038         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
84039         (NULL): Remove.
84040         (find_stack_direction, alloca): Use prototypes.
84041
84042         * lib/atexit.c (atexit): Define using a prototype.
84043
84044         * lib/basename.c, dirname.c, stripslash.c:
84045         Include <string.h> unconditionally.
84046
84047         * lib/bcopy.c: Include <stddef.h>.
84048         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
84049
84050         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
84051
84052         * lib/error.h (error, error_at_line, error_print_progname)
84053         [! (defined (__STDC__) && __STDC__)]: Remove decls.
84054         * lib/error.c: Include error.h first, to check interface.
84055         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
84056         (VA_START): Remove; all uses changeed to va_start.
84057         (exit, strerror): Remove decls.
84058         (error_print_progname): Prototype uncondionally.
84059         Don't include <errno.h>; no longer needed.
84060         (private_strerror): Remove.
84061         (error_tail): Always define.
84062         (error, error_at_line): Assume C89 or better; always use prototypes.
84063         * lib/fatal.c: Include "fatal.h" first, to test interface.
84064         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
84065         (VA_START): Remove; all uses changed to va_start.
84066         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
84067         this case.
84068         (exit): Remove decl.
84069         (fatal): Prototype unconditionally.  Assume va_start works.
84070         Abort at end, to pacify gcc.
84071
84072         * lib/euidaccess.c (main): Define with a prototype.
84073
84074         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
84075
84076         * lib/exitfail.c: Include <stdlib.h> unconditionally.
84077
84078         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
84079         prototypes.
84080         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
84081         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
84082         (getenv): Remove decl.
84083         (fnmatch): Define using a prototype.
84084         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
84085         (FCT): Define using a prototype.
84086
84087         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
84088
84089         * lib/gethostname.c: Include <stddef.h>.
84090         (gethostname): Define with prototype.  Length is size_t, not int.
84091
84092 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84093
84094         Assume C89 or better; remove K&R cruft.
84095         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
84096         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
84097         string.h, getenv, malloc.
84098         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
84099         headers.
84100         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
84101         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
84102         do not check for strerror.
84103         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
84104         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
84105         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
84106         do not check for doprnt or vprintf.
84107         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
84108         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
84109
84110 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84111
84112         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
84113         getversion.c should have been removed then, but was accidentally
84114         preserved.
84115
84116         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
84117         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
84118
84119 2003-09-08  Karl Berry  <karl@gnu.org>
84120
84121         * config/config.sub, config.guess, srclistvars.sh: update from savannah
84122                 config, forget about prep.
84123
84124         * config/depcomp, missing: update from automake.
84125
84126 2003-09-07  Paul Eggert  <eggert@twinsun.com>
84127
84128         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
84129         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
84130
84131 2003-09-07  Paul Eggert  <eggert@twinsun.com>
84132
84133         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
84134         copy_tm_result.  Bug reported by Simon Josefsson in
84135         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
84136
84137 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84138
84139         * m4/time_r.m4: New file.
84140         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
84141         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
84142         is. Check for timegm declaration.
84143         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
84144         Do not check for gmtime_r.
84145         Replace mktime if __mktime_internal does not exist and if mktime
84146         hasn't been replaced already.
84147
84148 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84149
84150         * lib/time_r.c, lib/time_r.h: New files.
84151
84152         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
84153         __localtime_r.
84154         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
84155         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
84156
84157         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
84158         __gmtime_r.
84159         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
84160         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
84161         Include <time_r.h>.
84162
84163         * lib/timegm.c: Switch to glibc implementation, with the following
84164         changes:
84165         [defined HAVE_CONFIG_H]: Include <config.h>.
84166         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
84167         (__mktime_internal) [!defined _LIBC]: New decl.
84168         (__gmtime_r) [!defined _LIBC]: New macro and function.
84169         (timegm): Use a prototype, since gnulib assumes C89.
84170         Do not bother declaring tmp to be const, as it's not really usefu.
84171         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
84172         (timegm): Declare only if HAVE_DECL_TIMEGM.
84173
84174 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84175
84176         * MODULES.html.sh (func_all_modules): Add time_r.
84177         * modules/time_r: New file.
84178         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
84179         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
84180
84181 2003-09-03  Paul Eggert  <eggert@twinsun.com>
84182
84183         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
84184         Bug reported by Lute Kamstra in
84185         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
84186
84187         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
84188         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
84189         course with correspondingly smaller numbers for tomorrow and
84190         yesterday.  From Tadayoshi Funaba.  Originally installed into
84191         sh-utils on 1999-08-07, but the patch got lost (I guess during the
84192         coreutils merge?).
84193
84194 2003-08-31  Simon Josefsson  <jas@extundo.com>
84195
84196         * modules/timegm: New file.
84197         * MODULES.html.sh (func_all_modules): Add timegm.
84198
84199 2003-08-31  Simon Josefsson  <jas@extundo.com>
84200
84201         * m4/timegm.m4: New file.
84202
84203 2003-08-31  Simon Josefsson  <jas@extundo.com>
84204
84205         * lib/timegm.h: New file.
84206         * lib/timegm.c: New file.  Based on
84207         wget-1.8.2/src/http.c:mktime_from_utc.
84208
84209 2003-08-31  Karl Berry  <karl@gnu.org>
84210
84211         * lib/argp.h: update from libc.
84212
84213 2003-08-28  Bruno Haible  <bruno@clisp.org>
84214
84215         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
84216         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
84217         followed by '#define fnmatch fnmatch_posix' gives an error.
84218
84219 2003-08-28  Bruno Haible  <bruno@clisp.org>
84220
84221         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
84222         warning on QNX, which defines O_BINARY to 000000.
84223
84224 2003-08-27  Jim Meyering  <jim@meyering.net>
84225
84226         * m4/mkstemp.m4: Require that the system mkstemp be able to create
84227         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
84228         would fail after 32.  Reported by Danny Levinson.  Details here:
84229         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
84230
84231 2003-08-24  Bruno Haible  <bruno@clisp.org>
84232
84233         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
84234         MSVC7 <stdio.h> is included later.
84235
84236 2003-08-22  Simon Josefsson  <jas@extundo.com>
84237
84238         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
84239
84240 2003-08-20  Karl Berry  <karl@gnu.org>
84241
84242         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
84243
84244 2003-08-20  Bruno Haible  <bruno@clisp.org>
84245
84246         * modules/progname: New file.
84247         * MODULES.html.sh (func_all_modules): Add progname.
84248
84249 2003-08-20  Bruno Haible  <bruno@clisp.org>
84250
84251         * lib/progname.h: New file, from GNU gettext.
84252         * lib/progname.c: New file, from GNU gettext.
84253         * lib/progreloc.c: New file, from GNU gettext.
84254
84255 2003-08-19  Jim Meyering  <jim@meyering.net>
84256
84257         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
84258         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
84259
84260 2003-08-19  Bruno Haible  <bruno@clisp.org>
84261
84262         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
84263         more.
84264
84265 2003-08-19  Bruno Haible  <bruno@clisp.org>
84266
84267         * lib/xstrdup.c: Assume <string.h> exists.
84268
84269 2003-08-18  Paul Eggert  <eggert@twinsun.com>
84270
84271         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
84272         in makefile rules.
84273
84274 2003-08-18  Jim Meyering  <jim@meyering.net>
84275
84276         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
84277         * m4/lib-ld.m4: Likewise.
84278
84279 2003-08-18  Jim Meyering  <jim@meyering.net>
84280
84281         * lib/setenv.h: Indent nested cpp directive.
84282         * lib/vasnprintf.c: Remove trailing blanks.
84283
84284 2003-08-17  Simon Josefsson  <jas@extundo.com>
84285
84286         * modules/xstrndup: New file.
84287         * MODULES.html.sh (func_all_modules): Add xstrndup.
84288
84289 2003-08-17  Simon Josefsson  <jas@extundo.com>
84290
84291         * modules/argp: Fix autoconf macro name. Add more dependencies.
84292
84293 2003-08-17  Simon Josefsson  <jas@extundo.com>
84294
84295         * m4/xstrndup.m4: New file.
84296
84297 2003-08-17  Simon Josefsson  <jas@extundo.com>
84298
84299         * m4/argp.m4: New file.
84300
84301 2003-08-17  Simon Josefsson  <jas@extundo.com>
84302             Bruno Haible  <bruno@clisp.org>
84303
84304         * lib/xstrndup.h: New file.
84305         * lib/xstrndup.c: New file.
84306
84307 2003-08-17  Bruno Haible  <bruno@clisp.org>
84308
84309         * modules/strndup (Files, Include): Add lib/strndup.h.
84310
84311 2003-08-17  Bruno Haible  <bruno@clisp.org>
84312
84313         * modules/euidaccess (Files): Add lib/euidaccess.h.
84314
84315 2003-08-17  Bruno Haible  <bruno@clisp.org>
84316
84317         * lib/strndup.h: New file.
84318
84319 2003-08-17  Bruno Haible  <bruno@clisp.org>
84320
84321         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
84322         like AC_GNU_SOURCE.
84323         * modules/extensions (configure.ac): Comment out the invocation of
84324         gl_USE_SYSTEM_EXTENSIONS.
84325
84326 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84327
84328         Merges from coreutils, etc.
84329         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
84330         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
84331         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
84332         fixing a typo.
84333         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
84334         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
84335
84336 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84337
84338         Document merge from coreutils.
84339         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
84340         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
84341         * modules/utime: Add m4/utimes-null.m4.
84342
84343 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84344
84345         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
84346         space, undoing this 2003-08-12 change:
84347         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
84348
84349 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84350
84351         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
84352         strtoul.c from libc, undoing this 2003-08-12 change:
84353         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
84354
84355 2003-08-16  Jim Meyering  <jim@meyering.net>
84356
84357         Merges from coreutils.
84358         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
84359         prefix.  Adjust cache variables similarly.  Create 500 rather than
84360         just 300 files, to exercise bug on Darwin6.5, too.
84361         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
84362         $missing_dir.
84363         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
84364         AM_SYS_POSIX_TERMIOS.
84365         Reported by mkc@mathdogs.com.
84366         Also change use of $am_cv_sys_posix_termios
84367         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
84368         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
84369         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
84370         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
84371         in /proc/mounts until it finds one with matching device number.  This
84372         is unnecessary when the FILE argument *is* a mount point.  No stat call
84373         is necessary in that case.  So, disable the statvfs-testing code on
84374         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
84375         as RedHat bug# 84846.
84376         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
84377         to 1MB, so as not to render systems with no stack size limit (e.g.,
84378         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
84379         Include <unistd.h>.  On some systems,
84380         it is required for the definition of _SC_PAGESIZE.
84381
84382 2003-08-16  Jim Meyering  <jim@meyering.net>
84383
84384         Merge from coreutils.
84385         * lib/xstrtoimax.c: #else #if -> #elif.
84386         * lib/xstrtoumax.c: Likewise.
84387
84388 2003-08-16  Jim Meyering  <jim@meyering.net>
84389
84390         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
84391         * m4/utimes.m4: Removed.
84392         * m4/utimes-null.m4: Renamed from utimes.m4.
84393
84394         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
84395         to 1MB, so as not to render systems with no stack size limit (e.g.,
84396         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
84397         Include <unistd.h>.  On some systems,
84398         it is required for the definition of _SC_PAGESIZE.
84399
84400 2003-08-16  Jim Meyering  <jim@meyering.net>
84401         and Paul Eggert  <eggert@cs.ucla.edu>
84402
84403         Merges from coreutils, etc.
84404
84405         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
84406         using the latest version from cvs.  This avoids problems with #line
84407         directives using a vendor (Sun) compiler.
84408         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
84409         Don't set GETGROUPS_LIB here; now it's
84410         done via getgroups.m4's wrapper function.
84411         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
84412         rather than just in sh-util/configure.in, so that the
84413         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
84414         same.
84415         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
84416         AC_FUNC_GETLOADAVG where to find getloadavg.c.
84417         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
84418         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
84419         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
84420         Remove code that is now done by the newly-required macros.
84421         Append $(EXEEXT) to DF_PROG.
84422         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
84423         Do not invoke or require the following here,
84424         since prereq.m4 or some gnulib .m4 now does this for us:
84425         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
84426         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
84427         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
84428         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
84429         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
84430         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
84431         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
84432         AC_FUNC_OBSTACK.
84433         Do not replace the following functions, as this is now the job
84434         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
84435         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
84436         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
84437         atexit getpass, strdup, getpagesize.
84438         Replace 'raise'.
84439         Do not check for the following functions, as this is now the job
84440         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
84441         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
84442         setregid.
84443         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
84444         Check for sys/sysctl.h.
84445         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
84446         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
84447         of checking for ssize_t ourselves.
84448
84449         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
84450         Require every macro that gnulib/modules/* suggests for us.
84451         (jm_PREREQ_ADDEXT): New macro.
84452         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
84453         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
84454
84455         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
84456         (gl_PHYSMEM): Use it.
84457         Also check for `table' function.
84458         Check for new headers and functions.
84459         Add check for sys/sysmp.h.
84460         With suggestions from Kaveh Ghazi.
84461         Ignore headers that are present but cannot be compiled.  This
84462         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
84463         C 5.4.
84464
84465 2003-08-15  Paul Eggert  <eggert@twinsun.com>
84466
84467         Document merge from coreutils.
84468         * modules/userspec: Depend on posixver.
84469         * modules/strftime: Depend on tzset.
84470
84471 2003-08-15  Paul Eggert  <eggert@twinsun.com>
84472
84473         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
84474         rather than tab, after '#' in shell-script copyright notices.
84475         Suggested by Bruno Haible.
84476
84477 2003-08-15  Paul Eggert  <eggert@twinsun.com>
84478
84479         * config/srclist-update: Use three spaces, rather than tab, after '#'
84480         in shell-script copyright notices.  Suggested by Bruno Haible.
84481         Remove unnecessary parenthesization in regular expression.
84482
84483 2003-08-15  Jim Meyering  <jim@meyering.net>
84484
84485         Merge from coreutils.
84486         * lib/xgethostname.c: Include <stdlib.h>.
84487         (xghostname): Don't exit for anything other than memory-related
84488         failure; just return NULL.
84489         * lib/userspec.c: Include "posixver.h".
84490         (parse_user_spec): Accept `.' as a separator only
84491         in pre-POSIX-200112 mode.
84492         * lib/strtoimax.c: Use #elif rather than #else #if.
84493         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
84494         Remove function, now that we can rely on a working tzset function.
84495         [!_LIBC]: Ensure that the required autoconf test has been run.
84496         [!defined _NL_CURRENT && HAVE_STRFTIME]:
84497         Use underlying_strftime for %r.
84498         * lib/sha.c: Merge in some clean-up and optimization changes from
84499         glibc.
84500         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
84501         Ensure that it is a multiple of 64.
84502         Rearrange loop exit tests so as to avoid performing an
84503         additional fread after encountering an error or EOF.
84504         * lib/realloc.c: Update copyright date.
84505
84506 2003-08-15  Jim Meyering  <jim@meyering.net>
84507         and Paul Eggert  <eggert@twinsun.com>
84508
84509         Merge from coreutils.
84510         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
84511         member but strut utmpx does not.  Needed for AIX 4.3.3.
84512         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
84513
84514 2003-08-15  Jim Meyering  <jim@meyering.net>
84515         and Paul Eggert  <eggert@cs.ucla.edu>
84516
84517         Merges from coreutils, etc.
84518         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
84519         Require gl_FUNC_TZSET_CLOBBER.
84520         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
84521         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
84522         members.
84523
84524 2003-08-14  Paul Eggert  <eggert@twinsun.com>
84525
84526         Help the merge from coreutils.
84527         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
84528         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
84529         * m4/tzset.m4: Use it too.
84530
84531 2003-08-14  Paul Eggert  <eggert@twinsun.com>
84532
84533         * modules/tzset: New file.
84534
84535 2003-08-14  Jim Meyering  <jim@meyering.net>
84536
84537         Merges from coreutils.
84538         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
84539         variable names, rather than @FNMATCH_H@.
84540         * modules/alloca: Likewise for $(ALLOCA_H).
84541
84542         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
84543         the three copies of the literal target, `fnmatch.h'.
84544         * modules/alloca (alloca.h): Likewise.
84545
84546 2003-08-14  Jim Meyering  <jim@meyering.net>
84547
84548         Merge from coreutils.
84549         * m4/tzset.m4: New file.
84550         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
84551         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
84552         otherwise, AIX 5.1 systems would end up using the latter.
84553         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
84554         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
84555         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
84556         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
84557
84558 2003-08-14  Jim Meyering  <jim@meyering.net>
84559
84560         Merge from coreutils.
84561         * lib/obstack.h: Whitespace changes.
84562         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
84563         and xcalloc return values.
84564         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
84565         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
84566         hang on OSF/1 5.1 for DIR on both local and remote file systems.
84567         Reported by (and fix confirmed by) Nelson H. F. Beebe.
84568         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
84569         error from mntctl.
84570         Use mntctl's return value to drive the entry-processing loop, since
84571         we can't rely on the value of the vmt_length member in the last
84572         entry.  On some systems doing so could result in exhausting
84573         virtual memory.  Based in part on a patch from Mike Jetzer.
84574
84575 2003-08-14  Jim Meyering  <jim@meyering.net>
84576         and Paul Eggert  <eggert@twinsun.com>
84577
84578         Merges from coreutils, plus other fixes.
84579         * lib/physmem.c: Merge in portability changes from gcc/libiberty
84580         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
84581         for credits and details.  Thanks to Kaveh Ghazi for helping
84582         to keep these files in sync.
84583         (ARRAY_SIZE): Define it.
84584         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
84585         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
84586         (memcasecmp): Don't assume size_t fits in unsigned int.
84587         Remove casts and duplicate code.
84588         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
84589         (memcpy): Remove definition.
84590         Merge in some clean-up and optimization changes from glibc.
84591         [BLOCKSIZE]: Move definition to top of file.
84592         Ensure that it is a multiple of 64.
84593         Rearrange loop exit tests so as to avoid performing an
84594         additional fread after encountering an error or EOF.
84595         * lib/md5.h (md5_uintptr): Define.
84596         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
84597         return to the initial working directory.  Preserve errno
84598         for caller.
84599         * lib/idcache.c: Include "xalloc.h".
84600         (xmalloc, xrealloc): Remove decls.
84601         (getuser): Remove casts no longer required in C89.
84602         * lib/human.c: Include stdio.h, for sprintf.
84603         * lib/group-member.c: Include "xalloc.h".
84604         (xmalloc, xrealloc): Remove decls.
84605         (get_group_info): Remove casts no longer required in C89.
84606         * lib/getusershell.c (readname): Remove casts no longer required in
84607         C89.
84608         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
84609         * lib/getline.c: Whitespace fix, from coreutils.
84610
84611 2003-08-13  Paul Eggert  <eggert@twinsun.com>
84612
84613         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
84614         Check for isascii.
84615
84616         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
84617         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
84618         Undo previous (whitespace-only) change.
84619
84620 2003-08-13  Paul Eggert  <eggert@twinsun.com>
84621
84622         * lib/exclude.c: Include <ctype.h>
84623         (IN_CTYPE_DOMAIN): New macro.
84624         (is_space): New fn.
84625         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
84626         and empty lines.
84627
84628         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
84629         Undo previous (whitespace-only) change.
84630
84631 2003-08-13  Paul Eggert  <eggert@twinsun.com>
84632
84633         * config/srclist-update: Change update back to the old behavior,
84634         leaving whitespace alone.  Use one 'sed' command rather than a
84635         pipeline.
84636         (fixlicense): Now a variable, not a function.
84637         (remove_trailing_blanks): Remove.
84638         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
84639         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
84640         Undo previous (whitespace-only) change.
84641
84642 2003-08-12  Paul Eggert  <eggert@twinsun.com>
84643
84644         Merge from coreutils.
84645         * modules/euidaccess: Add lib_SOURCES, include for new
84646         file euidaccess.h
84647
84648 2003-08-12  Paul Eggert  <eggert@twinsun.com>
84649
84650         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
84651         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
84652         Normalize leading white space and remove trailing white space.
84653
84654         Merge from coreutils
84655         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
84656
84657         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
84658         0.12.1.  These files are now being upgraded automatically by
84659         ../config/srclist-update.
84660
84661 2003-08-12  Paul Eggert  <eggert@twinsun.com>
84662
84663         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
84664         Normalize leading white space and remove trailing white space.
84665         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
84666         notice, as per ../config/srclist-update.
84667
84668         Merge from coreutils.
84669         * lib/euidaccess.h: New file.
84670         * lib/euidaccess.c: Include it.
84671         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
84672         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
84673         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
84674
84675 2003-08-12  Paul Eggert  <eggert@twinsun.com>
84676
84677         * config/srclist-update: Add copyright notice.
84678         (remove_id_lines, remove_trailing_blanks): New constants.
84679         (fixfile): Use them to normalize spacing a bit in copied files.
84680         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
84681         Normalize leading white space and remove trailing white space.
84682
84683         * config/texinfo.tex: Sync with texinfo.
84684
84685         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
84686         strtoul.c from libc, to merge coreutils whitespace changes.
84687
84688         * config/srclist.txt: Get the following m4 files from gettext:
84689         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
84690         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
84691         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
84692         wint_t.m4.
84693
84694 2003-08-12  Karl Berry  <karl@gnu.org>
84695
84696         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
84697         been made.
84698
84699 2003-08-11  Paul Eggert  <eggert@twinsun.com>
84700
84701         * modules/gnu-source, m4/gnu-source.m4:
84702         Remove; we're assuming Autoconf 2.54 or later now.
84703         Suggested by Bruno Haible.
84704         * MODULES.html.sh (func_all_modules): Remove gnu-source.
84705
84706 2003-08-11  Bruno Haible  <bruno@clisp.org>
84707
84708         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
84709
84710 2003-08-11  Bruno Haible  <bruno@clisp.org>
84711
84712         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
84713         (vasnprintf): Use it instead of wcslen.
84714
84715 2003-08-11  Bruno Haible  <bruno@clisp.org>
84716
84717         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
84718         value to ensure that _Bool promotes to int. Use #define for _Bool when
84719         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
84720
84721 2003-08-10  Karl Berry  <karl@gnu.org>
84722
84723         * lib/regex.h: update from libc (whitespace fix).
84724
84725 2003-08-09  Paul Eggert  <eggert@twinsun.com>
84726
84727         Merge some files from coreutils.  These changes were
84728         originally made by Jim Meyering.
84729         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
84730         many older Unixes require this.
84731         * lib/alloca.c (alloca): Remove cast to argument of free;
84732         no longer needed in C89.
84733         * lib/alloca_.h, regex.h: Fix white space to match
84734         what GNU indent does.
84735
84736 2003-08-09  Paul Eggert  <eggert@twinsun.com>
84737
84738         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
84739         apparently Emacs's Unicode mode got confused before my 2003-08-05
84740         checkin.
84741
84742 2003-08-08  Paul Eggert  <eggert@twinsun.com>
84743
84744         * m4/extensions.m4: New file.
84745         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
84746         Require gl_USE_SYSTEM_EXTENSIONS.
84747         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
84748         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
84749
84750 2003-08-08  Paul Eggert  <eggert@twinsun.com>
84751
84752         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
84753         * modules/extensions, modules/gnu-source: New files.
84754         * modules/timespec, modules/unlocked-io: Depend on extensions.
84755
84756 2003-08-07  Paul Eggert  <eggert@twinsun.com>
84757
84758         * modules/restrict: New file.
84759         * MODULES.html.sh (func_all_modules): Add restrict.
84760         * modules/regex: Depend on restrict.
84761
84762 2003-08-07  Paul Eggert  <eggert@twinsun.com>
84763
84764         * m4/restrict.m4: New file.
84765         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
84766
84767 2003-08-07  Bruno Haible  <bruno@clisp.org>
84768
84769         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
84770         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
84771
84772 2003-08-07  Bruno Haible  <bruno@clisp.org>
84773
84774         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
84775         makes the module 'getndelim2' compatible with the module 'getline'.
84776
84777 2003-08-05  Paul Eggert  <eggert@twinsun.com>
84778
84779         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
84780         byte with "\201" to avoid glitches when editing that source file
84781         with multi-gnome-terminal.
84782
84783 2003-08-05  Paul Eggert  <eggert@twinsun.com>
84784
84785         * lib/bumpalloc.h: Remove.
84786
84787 2003-08-05  Paul Eggert  <eggert@twinsun.com>
84788
84789         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
84790         * modules/bumpalloc: Remove.
84791
84792 2003-08-04  Paul Eggert  <eggert@twinsun.com>
84793
84794         * lib/getloadavg.c: Change copyright notice and spacing to conform to
84795         GNU coding style.
84796
84797         Merge from coreutils.
84798         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
84799         1. From glibc.
84800         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
84801         from Karl Berry, implemented by Jim Meyering.
84802         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
84803         from Dmitry V. Levin.
84804         Remove anachronistic cast of xrealloc.
84805         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
84806         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
84807         type. Otherwise, it wouldn't compile with at least /bin/cc on
84808         ymp-cray-unicos9.0.2.X.
84809         Combine two mostly-identical uses of alloca into one.
84810         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
84811
84812 2003-08-04  Dave Love  <d.love@dl.ac.uk>
84813
84814         [From Emacs.]
84815
84816         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
84817         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
84818         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
84819         obsolete NLIST_NAME_UNION.
84820         [__GNU__]: Undef BSD and FSCALE.
84821         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
84822
84823 2003-08-03  Paul Eggert  <eggert@twinsun.com>
84824
84825         * lib/stdbool_.h (_Bool): Make it signed char, instead of
84826         an enum type, so that it's guaranteed to promote to int.  See:
84827         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
84828
84829 2003-08-03  Karl Berry  <karl@gnu.org>
84830
84831         * config/depcomp: update from automake.
84832
84833 2003-07-31  Paul Eggert  <eggert@twinsun.com>
84834
84835         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
84836         (strerror): Don't assume that a printable int fits in 14 bytes.
84837
84838 2003-07-31  Bruno Haible  <bruno@clisp.org>
84839
84840         * modules/getpass-gnu: New file.
84841         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
84842
84843 2003-07-31  Bruno Haible  <bruno@clisp.org>
84844
84845         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
84846
84847 2003-07-24  Karl Berry  <karl@gnu.org>
84848
84849         * config/missing: update from automake.
84850
84851 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
84852             Bruno Haible  <bruno@clisp.org>
84853
84854         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
84855         * lib/getline.c (getline, getdelim): Likewise.
84856         Remove _GNU_SOURCE define; now it's defined in config.h through
84857         m4/getline.m4.
84858
84859 2003-07-23  Karl Berry  <karl@gnu.org>
84860
84861         * config/config.sub: update from prep.
84862
84863 2003-07-22  Paul Eggert  <eggert@twinsun.com>
84864
84865         * modules/xalloc (Depends-on): Add exitfail.
84866         * modules/xmemcoll: Likewise.
84867
84868 2003-07-22  Paul Eggert  <eggert@twinsun.com>
84869
84870         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
84871         over-parenthesization in macros.
84872
84873         Sync with coreutils.
84874
84875         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
84876         required by C99.
84877
84878         Use `exit_failure' for xalloc and xmemcoll instead of their own
84879         private exit-failure variables.
84880         * lib/xalloc.h (xalloc_exit_failure): Remove.
84881         * lib/xmalloc.c: Likewise.  Include exitfail.h.
84882         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
84883         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
84884         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
84885         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
84886
84887 2003-07-20  Jim Meyering  <jim@meyering.net>
84888
84889         * modules/closeout (Depends-on): Add exitfail.
84890         Suggestion from Bruno Haible.
84891
84892 2003-07-19  Karl Berry  <karl@gnu.org>
84893
84894         * config/config.sub: update from prep.
84895
84896 2003-07-18  Paul Eggert  <eggert@twinsun.com>
84897
84898         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
84899         Remove.
84900         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
84901         to test that it can stand by itself.  Include "exitfail.h".
84902         Clients should set exit_failure instead.
84903         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
84904
84905 2003-07-18  Bruno Haible  <bruno@clisp.org>
84906
84907         * modules/getndelim2: New file.
84908         * modules/getline: Share files with module getndelim2.
84909         * modules/getnline: Depend on getndelim2 instead of sharing files with
84910         it. Add getnline.c to lib_SOURCES.
84911         * MODULES.html.sh (func_all_modules): Add getndelim2.
84912
84913 2003-07-18  Bruno Haible  <bruno@clisp.org>
84914
84915         * m4/getndelim2.m4: New file.
84916         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
84917         invoke gl_PREREQ_GETNDELIM2.
84918         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
84919         gl_PREREQ_GETNDELIM2.
84920         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
84921         gl_GETNDELIM2.
84922
84923 2003-07-18  Bruno Haible  <bruno@clisp.org>
84924
84925         * lib/getndelim2.h: New file.
84926         * lib/getndelim2.c: Make into a module of its own. Include config.h,
84927         getndelim2.h.
84928         (getndelim2): Make non-static. Change return type to ssize_t.
84929         * lib/getline.h: Change argument names.
84930         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
84931         * lib/getnline.c: Include getndelim2.h.
84932
84933 2003-07-18  Andreas Schwab  <schwab@suse.de>
84934
84935         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
84936
84937 2003-07-17  Karl Berry  <karl@gnu.org>
84938
84939         * config/config.sub: update from prep.
84940
84941 2003-07-17  Bruno Haible  <bruno@clisp.org>
84942
84943         * modules/getnline: New file.
84944         * modules/getline: Add lib/getndelim2.c to source file list.
84945         * MODULES.html.sh (func_all_modules): Add getnline.
84946
84947 2003-07-17  Bruno Haible  <bruno@clisp.org>
84948
84949         * m4/getnline.m4: New file.
84950
84951 2003-07-17  Bruno Haible  <bruno@clisp.org>
84952
84953         * m4/Makefile.am.in: Remove file.
84954         * m4/Makefile.am: Remove file.
84955         * m4/Makefile.in: Remove file.
84956
84957 2003-07-17  Bruno Haible  <bruno@clisp.org>
84958
84959         * lib/getnline.h: New file.
84960         * lib/getnline.c: New file.
84961         * lib/getndelim2.c: New file, extracted from getline.c.
84962         (getndelim2): Renamed from getdelim2, with added nmax argument.
84963         * lib/getline.c: Include getndelim2.c.
84964         (getdelim2): Moved out to getndelim2.c.
84965         (getline, getdelim): Update.
84966
84967 2003-07-17  Bruno Haible  <bruno@clisp.org>
84968
84969         * lib/Makefile.am: Remove file.
84970         * lib/Makefile.in: Remove file.
84971
84972 2003-07-17  Bruno Haible  <bruno@clisp.org>
84973
84974         * configure.in: Remove file.
84975         * Makefile.in: Remove file.
84976
84977 2003-07-17  Bruno Haible  <bruno@clisp.org>
84978
84979         * MODULES.html.sh: Put the </BODY> right before </HTML>.
84980
84981 2003-07-16  Karl Berry  <karl@gnu.org>
84982
84983         * config/srclist-update: was running fixlicense twice, which caused
84984                 texinfo.tex to be nullified for some reason.  Simplify,
84985                 $gplsrc is no longer needed as far as I can see?
84986
84987 2003-07-16  Jim Meyering  <jim@meyering.net>
84988
84989         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
84990
84991 2003-07-15  Paul Eggert  <eggert@twinsun.com>
84992
84993         * config/srclist.txt: Get the following files from gettext-runtime/intl
84994         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
84995         ref-del.sin.  From Bruno Haible.
84996         * config/srclist-update (fixfile): Change grep pattern again, since the
84997         previous fix didn't work (there was another trailing $).  Use
84998         '[$]' to escape the $s.
84999
85000 2003-07-15  Karl Berry  <karl@gnu.org>
85001
85002         * lib/vasnprintf.c: update from gettext.
85003
85004 2003-07-15  Karl Berry  <karl@gnu.org>
85005
85006         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
85007         gets expanded when surrounded by '$'.
85008
85009 2003-07-15  Jim Meyering  <jim@meyering.net>
85010
85011         * modules/save-cwd: Don't depend on error.  From Derek Price.
85012
85013 2003-07-15  Jim Meyering  <jim@meyering.net>
85014
85015         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
85016
85017 2003-07-14  Simon Josefsson  <jas@extundo.com>
85018
85019         * modules/mempcpy: New file.
85020         * MODULES.html.sh (func_all_modules): Add mempcpy.
85021
85022 2003-07-14  Simon Josefsson  <jas@extundo.com>
85023
85024         * m4/mempcpy.m4: New file.
85025
85026 2003-07-14  Simon Josefsson  <jas@extundo.com>
85027
85028         * lib/mempcpy.h: New file.
85029         * lib/mempcpy.c: New file.
85030
85031 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85032
85033         * modules/getdate, modules/posixtm: Depend on mktime.
85034
85035 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85036
85037         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
85038         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
85039         unicodeio.c, unicodeio.h, unlocked-io.h:
85040         Switch from LGPL to GPL.
85041
85042 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85043
85044         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
85045         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
85046         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
85047         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
85048         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
85049         updated automatically by ../config/srclist-update.  This changes
85050         their license from LPGL to GPL.
85051
85052 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85053
85054         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
85055         assumed to refer to the root of the most recent stable gettext version.
85056         * config/srclistvars.sh: Add defaults for eggert.
85057         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
85058         Match "This program" as well as "The program".  This is needed
85059         for gettext.
85060
85061 2003-07-14  Jim Meyering  <jim@meyering.net>
85062
85063         Don't emit diagnostics.  Let callers do that.
85064         * lib/save-cwd.c: Don't include "error.h".
85065         (save_cwd): Don't call error.  Ensure that errno is valid
85066         when returning nonzero.
85067
85068         * lib/save-cwd.h (restore_cwd): Update prototype.
85069         * lib/save-cwd.c (restore_cwd): Remove two parameters.
85070         Simplify.  Don't call error upon failure.  Let callers do that.
85071         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
85072         when auditing is enabled.  But don't bother updating the #if.
85073
85074 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
85075
85076         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
85077         it breaks C++ compilation.
85078         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
85079
85080 2003-07-10  Simon Josefsson  <jas@extundo.com>
85081
85082         * modules/strchrnul (Makefile.am): Add strchrnul.h.
85083
85084 2003-07-10  Jim Meyering  <jim@meyering.net>
85085
85086         * m4/clock_time.m4: Remove trailing blank.
85087         * m4/intmax_t.m4: Likewise.
85088
85089 2003-07-10  Jim Meyering  <jim@meyering.net>
85090
85091         * lib/vasnprintf.c: Remove trailing blanks.
85092         Make cpp indentation consistent.
85093
85094 2003-07-09  Paul Eggert  <eggert@twinsun.com>
85095
85096         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
85097         posixver.c, strftime.c, strnlen.c, strverscmp.c:
85098         Switch from LGPL to GPL.
85099
85100 2003-07-09  Paul Eggert  <eggert@twinsun.com>
85101
85102         * config/srclist.txt: Sort sublists.  Add
85103         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
85104         that differ from gnulib for one reason or another; we'd like this list
85105         to be smaller but for now let's document what we have.
85106
85107 2003-07-08  Paul Eggert  <eggert@twinsun.com>
85108
85109         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
85110         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
85111         and sweeter "eval x=$x".
85112         * config/srclist.txt: Get lib/argp* from glibc.
85113
85114 2003-07-07  Paul Eggert  <eggert@twinsun.com>
85115
85116         * lib/mktime.c: Fix some boundary cases and remove need for floating
85117         point.
85118
85119         Issue a compile-time diagnostic if time_t is floating point, or if
85120         two's complement arithmetic is not in effect, or if arithmetic
85121         right shift does not propagate the sign.  These assumptions were
85122         all in the original code but they weren't checked.
85123
85124         (TIME_T_MIDPOINT, verify): New macros.
85125         (__isleap): Remove; it has integer overflow problems.
85126         (leapyear): New function, without those problems.
85127         (ydhms_tm_diff): Remove; splitting into two parts.
85128         (ydhms_diff): New function, containing the arithmetic part of
85129         the old ydhms_tm_diff function.  Issue a compile-time
85130         diagnostic if we are not using C99 integer division.
85131         Avoid casts when possible.
85132         (guess_time_tm): New function, containing the checking part of
85133         the old ydhms_tm_diff function.  Return the new value, rather than
85134         the difference between it and the old.  Accept a new argument T
85135         so that *T specifies the old value.  Check for overflow in the result.
85136
85137         (__mktime_internal): Use a time_t offset, not a long int offset.
85138         This undoes the 2003-06-04 change, which is no longer needed now
85139         that we have better overflow checking.
85140         (localtime_offset): Likewise.
85141
85142         (__mktime_internal): Avoid harmful overflow on hosts where time_t
85143         and long are 64-bit but int is only 32-bit.
85144         (ydhms_diff): Use long int to store year1 and yday1.
85145         Issue a compile-time diagnostic if long int is not wide enough.
85146
85147         (__mktime_internal): Use long int to store adjusted year and yday.
85148         Use plain C rather than preprocessor commands, if that doesn't
85149         affect efficiency.
85150         Check for overflow (and try to repair) after each probe
85151         rather than checking only at the very end.  This avoids some bugs
85152         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
85153         does not equal GMT offset at maximum time).
85154         Use integer to check for overflow rather than floating point; this
85155         is more portable to non-IEEE hosts, and is a tad faster.
85156         When we detect that we are oscillating between two values,
85157         don't check whether tm_isdst has the requested value, since
85158         we already know the answer.  When tm_isdst has the wrong value,
85159         use a different heuristic to find the right one, based on the
85160         extreme values actually observed in practice in tz2003a,
85161         rather than the (overly optimistic) "previous 3 calendar quarters".
85162
85163         (not_equal_tm, print_tm, check_result): Use "const T" rather than
85164         "T const" to accommodate glibc style.
85165         (check_result): Use less-confusing report format.  "long" -> "long int.
85166         (main): Likewise.
85167         Don't loop if the iteration overflows time_t.
85168         Allow a negative step in the iteration.
85169
85170 2003-07-06  Karl Berry  <karl@gnu.org>
85171
85172         * config/depcomp: update from automake.
85173         * config/config.sub: update from prep.
85174
85175 2003-07-03  Karl Berry  <karl@gnu.org>
85176
85177         * config/config.guess: update from prep.
85178
85179 2003-07-01  Paul Eggert  <eggert@twinsun.com>
85180
85181         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
85182         xreadlink.c now includes it unconditionally.
85183
85184 2003-07-01  Paul Eggert  <eggert@twinsun.com>
85185
85186         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
85187         having it depend on HAVE_SYS_TYPES_H.
85188
85189 2003-07-01  Bruno Haible  <bruno@clisp.org>
85190
85191         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
85192         <sys/types.h> should be sufficient.
85193         Reported by Paul Eggert.
85194
85195 2003-06-26  Karl Berry  <karl@gnu.org>
85196
85197         * config/depcomp: update from automake.
85198
85199 2003-06-26  Bruno Haible  <bruno@clisp.org>
85200
85201         * modules/human: Depend on module stdbool.
85202
85203 2003-06-25  Bruno Haible  <bruno@clisp.org>
85204
85205         * modules/readlink: New file.
85206         * modules/xreadlink: Depend on it.
85207         * MODULES.html.sh (func_all_modules): Add readlink.
85208
85209 2003-06-25  Bruno Haible  <bruno@clisp.org>
85210
85211         * m4/readlink.m4: New file.
85212
85213 2003-06-25  Bruno Haible  <bruno@clisp.org>
85214
85215         * lib/readlink.c: New file.
85216
85217 2003-06-22  Karl Berry  <karl@gnu.org>
85218
85219         * config/srclist.txt: update mkinstalldirs from automake.
85220         * config/mkinstalldirs: update.
85221
85222 2003-06-22  Bruno Haible  <bruno@clisp.org>
85223
85224         Portability to mingw32.
85225         * m4/ssize_t.m4: New file, from GNU gettext.
85226         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
85227         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
85228
85229 2003-06-22  Bruno Haible  <bruno@clisp.org>
85230
85231         * modules/safe-read: Add m4/ssize_t.m4.
85232         * modules/xreadlink: Add m4/ssize_t.m4.
85233
85234 2003-06-20  Bruno Haible  <bruno@clisp.org>
85235
85236         Assume C89, so PARAMS isn't needed.
85237         * lib/unicodeio.h (PARAMS): Remove.
85238         * lib/unicodeio.c: Don't use PARAMS.
85239
85240 2003-06-18  Karl Berry  <karl@gnu.org>
85241
85242         * config/config.{guess,sub}: update from prep.
85243
85244 2003-06-18  Jim Meyering  <jim@meyering.net>
85245
85246         Merge changes from coreutils.
85247         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
85248         Remove explicit declarations of xmalloc and realloc.
85249         Include xalloc.h.
85250         (read_utmp): Remove anachronistic cast of xmalloc.
85251
85252 2003-06-17  Paul Eggert  <eggert@twinsun.com>
85253
85254         Assume C89, so PARAMS isn't needed.
85255         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
85256         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
85257         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
85258         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
85259         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
85260         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
85261         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
85262         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
85263         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
85264         lib/xstrtod.h, lib/xstrtol.h: Likewise.
85265         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
85266         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
85267         no longer needed. Anyway, config.h should always be included before any
85268         other file.
85269
85270 2003-06-11  Simon Josefsson  <jas@extundo.com>
85271
85272         * modules/sysexits: New file.
85273         * MODULES.html.sh (func_all_modules): Add sysexits.
85274
85275 2003-06-11  Simon Josefsson  <jas@extundo.com>
85276
85277         * lib/sysexit_.h: New file.
85278
85279 2003-06-11  Derek Price  <derek@ximbiot.com>
85280
85281         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
85282         necessary.
85283
85284 2003-06-11  Bruno Haible  <bruno@clisp.org>
85285
85286         * m4/sysexits.m4: New file.
85287
85288 2003-06-10  Simon Josefsson  <jas@extundo.com>
85289
85290         * lib/argp.h: New file, from glibc.
85291         * lib/argp-ba.c: New file, from glibc.
85292         * lib/argp-eexst.c: New file, from glibc.
85293         * lib/argp-fmtstream.c: New file, from glibc.
85294         * lib/argp-fmtstream.h: New file, from glibc.
85295         * lib/argp-fs-xinl.c: New file, from glibc.
85296         * lib/argp-help.c: New file, from glibc.
85297         * lib/argp-namefrob.h: New file, from glibc.
85298         * lib/argp-parse.c: New file, from glibc.
85299         * lib/argp-pv.c: New file, from glibc.
85300         * lib/argp-pvh.c: New file, from glibc.
85301         * lib/argp-xinl.c: New file, from glibc.
85302
85303 2003-06-10  Simon Josefsson  <jas@extundo.com>
85304
85305         * modules/strchrnul: New file.
85306
85307 2003-06-10  Simon Josefsson  <jas@extundo.com>
85308
85309         * modules/argp: New file.
85310
85311 2003-06-10  Simon Josefsson  <jas@extundo.com>
85312
85313         * m4/strchrnul.m4: New file.
85314
85315 2003-06-10  Simon Josefsson  <jas@extundo.com>
85316
85317         * lib/strchrnul.h: New file.
85318         * lib/strchrnul.c: New file.
85319
85320 2003-06-10  Bruno Haible  <bruno@clisp.org>
85321
85322         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
85323
85324 2003-06-07  Karl Berry  <karl@gnu.org>
85325
85326         * config/config.{guess,sub}: update from prep.
85327
85328 2003-06-07  Jim Meyering  <jim@meyering.net>
85329
85330         * modules/strtod: Use $(...) notation, not @...@ for
85331         AC_REPLACE'd variables.
85332         * modules/localcharset: Likewise.
85333
85334 2003-06-07  Jim Meyering  <jim@meyering.net>
85335
85336         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
85337         in place of my name in the copyright comment.
85338         Remove definition and uses of __P.
85339
85340         From coreutils.
85341         * lib/stat.c: Don't declare xmalloc explicitly.
85342         Instead, include "xalloc.h".
85343         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
85344         xrealloc, and xcalloc return values.
85345         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
85346         Improve comment.
85347         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
85348
85349 2003-06-07  Bruno Haible  <bruno@clisp.org>
85350
85351         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
85352         avoid AC_CONFIG_LINKS.
85353         * modules/fnmatch (Makefile.am): Use explicit creation rule for
85354         fnmatch.h, to avoid AC_CONFIG_LINKS.
85355         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
85356
85357 2003-06-07  Bruno Haible  <bruno@clisp.org>
85358
85359         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
85360         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
85361         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
85362         directory.
85363         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
85364         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
85365         directory.
85366
85367 2003-06-06  Jim Meyering  <jim@meyering.net>
85368
85369         Merge from coreutils.
85370         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
85371         Consolidate declarations and initializations of *_base* locals.
85372
85373         Merge from coreutils.
85374         This avoids a core dump on systems without GNU putenv,
85375         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
85376         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
85377         (unsetenv): New static function, from GNU libc.
85378         (rpl_putenv): Use it.
85379
85380         * lib/modechange.c: Remove trailing blanks.
85381
85382         Merge from coreutils.
85383         * lib/fsusage.c: Remove declaration of statfs.
85384         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
85385
85386         * lib/posixtm.c: Include <stdbool.h> unconditionally.
85387
85388 2003-06-06  Jim Meyering  <jim@meyering.net>
85389
85390         * lib/stdbool_.h: Renamed from stdbool.h.in.
85391
85392 2003-06-06  Jim Meyering  <jim@meyering.net>
85393             Bruno Haible  <bruno@clisp.org>
85394
85395         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
85396         Adjust Makefile.am snippet not to redirect directly to target.
85397         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
85398
85399 2003-06-05  Paul Eggert  <eggert@twinsun.com>
85400
85401         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
85402         mismatch, look in future quarters as well as past.  This fixes a
85403         bug when processing fall-backwards gaps immediately after a long
85404         period of daylight-saving time.
85405
85406         * lib/mktime.c: Assume freestanding C89 or better.
85407         (HAVE_LIMITS_H): Remove.  Assume it's 1.
85408         (__P): Remove; not used.
85409         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
85410         (mktime, not_equal_tm, print_tm, check_result,
85411         main): Use prototypes.  Use const * where appropriate.
85412         (main): Fix typo in testing code that uncovered by above changes.
85413         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
85414
85415 2003-06-04  Paul Eggert  <eggert@twinsun.com>
85416
85417         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
85418         locale.h, localeconv.  This merges changes from coreutils.
85419
85420         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
85421         It can be removed after the next Autoconf is released.
85422         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
85423         needed.
85424
85425 2003-06-04  Paul Eggert  <eggert@twinsun.com>
85426
85427         * lib/mktime.c: Fix Debian bug 177940
85428         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
85429         (localtime_offset): Now long int, not time_t, because we want it
85430         to be guaranteed to be signed.  All uses changed.
85431         (__mktime_internal): If overflow would occur when adding offset,
85432         don't add it.
85433
85434         Merge 'human' changes from coreutils.  Rewrite to support
85435         locale-specific notations like thousands separators.
85436         * lib/human.c: Simplify authorship notice.
85437         Include human.h immediately after config.h.
85438         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
85439         <limits.h>: Do not include, since human.h does.
85440         (SIZE_MAX, UINTMAX_MAX): New macros.
85441         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
85442         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
85443         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
85444         (power_letter): Renamed from suffixes.
85445         (generate_suffix_backwards): Remove.
85446         (adjust_value): Now takes int style (because of human.h changes)
85447         and long double value (for greater precision on some platforms).
85448         (group_number): New function.
85449         (human_readable): Use it.  Use integer options, not enum.
85450         Put the options before the sizes in the arg list.
85451         Support all the new options.
85452         The old human_readable function has been removed;
85453         use inttostr.h instead.
85454         (human_readable, default_block_size, humblock):
85455         Use uintmax_t, not int, for block sizes.
85456         (human_readable_inexact, block_size_types): Remove.
85457         (block_size_opts): New constant.
85458         (human_options): Renamed from human_block_size, with new signature
85459         that allows block sizes up to UINTMAX_MAX.  All callers changed.
85460         * lib/human.h: Add copyright and authorship notice.
85461         Include <limits.h> and <stdbool.h> unconditionally.
85462         (PARAMS): Remove.  All uses removed.
85463         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
85464         (enum human_inexact_style): Remove tag; now a nameless enum.
85465         (human_floor, human_ceiling, human_round_to_even): Now have
85466         values 2, 0, 1 rather than -1, 1, 0.
85467         (human_group_digits, human_suppress_point_zero, human_autoscale,
85468         human_base_1024, human_SI, human_B): New constants.
85469         (human_readable_inexact, human_block_size): Remove.
85470         (human_readable): Size args are now uintmax_t, not int.
85471         (human_options): New decl.
85472
85473         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
85474         unnecessary now that we assume C89 or better.  This change
85475         imported from coreutils.
85476
85477         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
85478         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
85479         in the 2003-05-30 sync from glibc.
85480
85481         .h files should stand alone, but we shouldn't include <sys/types.h>
85482         if we can get away with just <stddef.h>.
85483
85484         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
85485         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
85486         rather than <sys/types.h>, as we merely need size_t.
85487         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
85488         to get size_t.
85489         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
85490         Include <stdio.h>, to get FILE.
85491         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
85492         memcasecmp.h has included <stddef.h> and all we need is size_t.
85493         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
85494         our interface, instead of including <sys/types.h>
85495
85496 2003-06-04  Paul Eggert  <eggert@twinsun.com>
85497
85498         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
85499         now, as glibc mktime is buggy on non-glibc systems.
85500
85501 2003-06-03  Karl Berry  <karl@gnu.org>
85502
85503         * config/config.sub: update from prep.
85504
85505 2003-06-02  Paul Eggert  <eggert@twinsun.com>
85506
85507         [from coreutils]
85508         Fix some minor time-related bugs with POSIX time arguments.
85509         Some valid time stamps were being rejected (notably -1, and
85510         time stamps before 1900 on 64-bit hosts).  And some invalid
85511         time stamps were being accepted, e.g. September 31.
85512
85513         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
85514         that we can return (time_t) -1 successfully.
85515         * lib/posixtm.c: Likewise.
85516         [HAVE_STDBOOL_H]: Include <stdbool.h>.
85517         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
85518         (t): Remove static var.
85519         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
85520         of static var.  All uses changed.
85521         (year): Do not reject years before 1900; they can occur with
85522         64-bit time_t.
85523         (posix_time_parse): Do not check for out-of-range components;
85524         that is now the caller's responsibility, since our checks were
85525         only approximations.
85526         (posixtime): Use mktime to check for out-of-range components,
85527         since it knows them exactly.
85528         If mktime returns (time_t) -1, check whether an error actually occurred
85529         by invoking localtime on -1.
85530         (main) [TEST_POSIXTIME]: Check for input data errors, and report
85531         posixtime failures better.
85532         Improve the test data (in comments only).
85533
85534 2003-06-02  Karl Berry  <karl@gnu.org>
85535
85536         * config/mkinstalldirs (version): new variable.
85537         (--version): new option.
85538         (usage): improve message.
85539
85540 2003-05-30  Karl Berry  <karl@gnu.org>
85541
85542         * lib/mktime.c: update from libc.
85543
85544 2003-05-30  Bruno Haible  <bruno@clisp.org>
85545
85546         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
85547         * config/config.rpath: Upgrade to gettext-0.12.1.
85548
85549 2003-05-30  Bruno Haible  <bruno@clisp.org>
85550
85551         * m4/gettext.m4: Upgrade to gettext-0.12.1.
85552         * m4/nls.m4: New file, from gettext-0.12.1.
85553         * m4/po.m4: New file, from gettext-0.12.1.
85554         * m4/progtest.m4: Upgrade to gettext-0.12.1.
85555
85556 2003-05-30  Bruno Haible  <bruno@clisp.org>
85557
85558         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
85559         * lib/localcharset.h: Likewise.
85560         * lib/localcharset.c: Likewise.
85561
85562 2003-05-29  Karl Berry  <karl@gnu.org>
85563
85564         * config/config.rpath: update from gettext.
85565
85566 2003-05-28  Paul Eggert  <eggert@twinsun.com>
85567
85568         Assume the headers required for C89 freestanding compilers.
85569         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
85570         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
85571         * m4/human.m4 (gl_HUMAN): Likewise.
85572         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
85573         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
85574         * m4/userspec.m4 (gl_USERSPEC): Likewise.
85575         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
85576         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
85577         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
85578
85579 2003-05-28  Paul Eggert  <eggert@twinsun.com>
85580
85581         Assume the headers required for C89 freestanding compilers.
85582         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
85583         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
85584         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
85585         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
85586         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
85587         define, since <limits.h> is guaranteed to do that.
85588         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
85589         * lib/exclude.c: Include <stdbool.h> unconditionally.
85590         * lib/tempname.c: Include <stddef.h> unconditionally.
85591         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
85592         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
85593         <stddef.h> does that.
85594         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
85595         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
85596         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
85597         needed.
85598         * lib/xstrtol.c: Likewise.
85599         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
85600         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
85601
85602         * lib/addext.c (addext): Use assignment rather than cast, to avoid
85603         warnings on some platforms.
85604
85605         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
85606         arbitrarily.
85607
85608 2003-05-26  Jim Meyering  <jim@meyering.net>
85609
85610         Merge in a change from coreutils:
85611         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
85612         that is guaranteed to be `no'.  Use `no_such_member' to indicate
85613         that condition, rather than `-1' which is slightly misleading.
85614         Change the name of the cache variable to have the gl_ prefix.
85615         Prompted by a patch from Richard Dawe for DJGPP.
85616
85617 2003-05-24  Karl Berry  <karl@gnu.org>
85618
85619         * config/config.guess: update from prep.
85620
85621 2003-05-22  Karl Berry  <karl@gnu.org>
85622
85623         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
85624
85625 2003-05-20  Karl Berry  <karl@gnu.org>
85626
85627         * config/config.guess: update from prep.
85628
85629 2003-05-18  Karl Berry  <karl@gnu.org>
85630
85631         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
85632         might actually be set by the user.
85633
85634         * config/depcomp, install-sh, mdate-sh: update from automake.
85635
85636 2003-05-17  Bruno Haible  <bruno@clisp.org>
85637
85638         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
85639         invalid expansion for AC_EGREP_CPP.
85640         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
85641         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
85642         Suggested by Akim Demaille <akim@epita.fr> in
85643         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
85644
85645 2003-05-12  Jim Meyering  <jim@meyering.net>
85646
85647         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
85648         the space-padded-by-default conversion specifiers, %e, %k, %l.
85649
85650 2003-05-12  Bruno Haible  <bruno@clisp.org>
85651
85652         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
85653         the string is longer than 4 KB.
85654
85655 2003-05-11  Karl Berry  <karl@gnu.org>
85656
85657         * config/config.{guess,sub}: update from prep.
85658
85659 2003-05-09  Bruno Haible  <bruno@clisp.org>
85660
85661         * modules/error: Add m4/strerror_r.m4 to file list.
85662
85663 2003-05-03  Bruno Haible  <bruno@clisp.org>
85664
85665         Upgrade to Unicode-4.0.
85666         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
85667         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
85668         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
85669         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
85670         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
85671         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
85672         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
85673         Change width of U+E0100..U+E01EF from 1 to 0.
85674
85675 2003-04-25  Jim Meyering  <jim@meyering.net>
85676
85677         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
85678         of type size_t, not int.
85679
85680 2003-04-25  Bruno Haible  <bruno@clisp.org>
85681
85682         * lib/copy-file.c: Include <stddef.h>, for size_t.
85683
85684 2003-04-21  Paul Eggert  <eggert@twinsun.com>
85685
85686         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
85687         code which expansion is under static control.  Patch imported from
85688         Akim Demaille's patch to Bison; see
85689         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
85690
85691 2003-04-14  Bruno Haible  <bruno@clisp.org>
85692
85693         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
85694
85695 2003-04-11  Jim Meyering  <jim@meyering.net>
85696
85697         Merge changes from Coreutils.
85698
85699         2003-03-22  Jim Meyering  <jim@meyering.net>
85700
85701         * lib/strftime.c (widen): Cast alloca return value to proper type.
85702
85703         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
85704
85705         From GNU libc.
85706         * lib/strftime.c (my_strftime): Handle very large width
85707         specifications for numeric values correctly.  Improve checks for
85708         overflow.
85709
85710         2003-01-19  Jim Meyering  <jim@meyering.net>
85711
85712         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
85713         definitions.
85714         (nl_get_alt_digit) [! defined my_strftime]: Define.
85715         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
85716         _nl_get_alt_digit and _nl_get_walt_digit.
85717
85718         * lib/strftime.c (my_strftime): Merge in locale-related changes from
85719         libc. These changes have no effect outside of _LIBC.
85720
85721 2003-04-10  Bruno Haible  <bruno@clisp.org>
85722
85723         * modules/findprog: New file.
85724         * MODULES.html.sh (func_all_modules): Add it.
85725
85726 2003-04-10  Bruno Haible  <bruno@clisp.org>
85727
85728         * m4/findprog.m4: New file.
85729         * m4/eaccess.m4: New file.
85730
85731 2003-04-10  Bruno Haible  <bruno@clisp.org>
85732
85733         * lib/findprog.h: New file, from GNU gettext.
85734         * lib/findprog.c: New file, from GNU gettext.
85735
85736 2003-04-05  Jim Meyering  <jim@meyering.net>
85737
85738         Merge changes from Coreutils.
85739
85740         * lib/exclude.h (PARAMS): Remove definition and uses.
85741         * lib/exclude.c: Remove uses of `PARAMS'.
85742
85743         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
85744         Add test-cases for DOS filenames. Declare program_name.
85745         (main): Set up program_name.  Patch by Rich Dawe.
85746
85747         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
85748         error from mntctl.
85749         Use mntctl's return value to drive the entry-processing loop, since
85750         we can't rely on the value of the vmt_length member in the last
85751         entry.  On some systems doing so could result in exhausting
85752         virtual memory.  Based in part on a patch from Mike Jetzer.
85753
85754 2003-04-04  Bruno Haible  <bruno@clisp.org>
85755
85756         * modules/linebreak: New file.
85757         * MODULES.html.sh (func_all_modules): Add it.
85758
85759 2003-04-04  Bruno Haible  <bruno@clisp.org>
85760
85761         * m4/linebreak.m4: New file.
85762
85763 2003-04-04  Bruno Haible  <bruno@clisp.org>
85764
85765         * lib/linebreak.h: New file, from GNU gettext.
85766         * lib/linebreak.c: New file, from GNU gettext with slight
85767         modifications.
85768         * lib/lbrkprop.h: New file, from GNU gettext.
85769
85770 2003-04-03  Bruno Haible  <bruno@clisp.org>
85771
85772         * modules/utf8-ucs4: New file.
85773         * modules/utf16-ucs4: New file.
85774         * modules/ucs4-utf8: New file.
85775         * modules/ucs4-utf16: New file.
85776         * MODULES.html.sh (func_all_modules): Add them.
85777
85778 2003-04-03  Bruno Haible  <bruno@clisp.org>
85779
85780         * m4/utf-ucs4.m4: New file.
85781         * m4/ucs4-utf.m4: New file.
85782
85783 2003-04-03  Bruno Haible  <bruno@clisp.org>
85784
85785         * lib/utf8-ucs4.h: New file, from GNU gettext.
85786         * lib/utf16-ucs4.h: New file, from GNU gettext.
85787         * lib/ucs4-utf8.h: New file, from GNU gettext.
85788         * lib/ucs4-utf16.h: New file, from GNU gettext.
85789
85790 2003-04-02  Bruno Haible  <bruno@clisp.org>
85791
85792         * modules/binary-io: New file.
85793         * MODULES.html.sh (func_all_modules): Add it.
85794
85795 2003-04-02  Bruno Haible  <bruno@clisp.org>
85796
85797         * lib/binary-io.h: New file, from GNU gettext.
85798
85799 2003-04-01  Bruno Haible  <bruno@clisp.org>
85800
85801         * modules/pathname: New file.
85802         * MODULES.html.sh (func_all_modules): Add it.
85803
85804 2003-04-01  Bruno Haible  <bruno@clisp.org>
85805
85806         * lib/pathname.h: New file, from GNU gettext.
85807         * lib/concatpath.c: New file, from GNU gettext.
85808
85809 2003-03-30  Bruno Haible  <bruno@clisp.org>
85810
85811         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
85812
85813 2003-03-30  Bruno Haible  <bruno@clisp.org>
85814
85815         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
85816         function chown() doesn't exist.
85817
85818 2003-03-28  Bruno Haible  <bruno@clisp.org>
85819
85820         * modules/copy-file: New file.
85821         * MODULES.html.sh (func_all_modules): Add it.
85822
85823 2003-03-28  Bruno Haible  <bruno@clisp.org>
85824
85825         * m4/copy-file.m4: New file.
85826
85827 2003-03-28  Bruno Haible  <bruno@clisp.org>
85828
85829         * lib/copy-file.h: New file, from GNU gettext.
85830         * lib/copy-file.c: New file, from GNU gettext.
85831
85832 2003-03-18  Jim Meyering  <jim@meyering.net>
85833
85834         * lib/quote.c (quote_n): Fix typo in comment.
85835
85836 2003-03-18  Bruno Haible  <bruno@clisp.org>
85837
85838         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
85839         checking.
85840         * m4/onceonly_2_57.m4: Likewise.
85841
85842 2003-03-17  Bruno Haible  <bruno@clisp.org>
85843
85844         * m4/onceonly.m4: Require autoconf 2.54 or newer.
85845         (m4_quote): Remove macro.
85846         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
85847
85848 2003-03-14  Jim Meyering  <jim@meyering.net>
85849
85850         Merge changes from Coreutils.
85851         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
85852         to be const, in order to avoid warnings.
85853         (obstack_room): Likewise.
85854         (obstack_empty_p): Likewise.
85855
85856 2003-03-14  Bruno Haible  <bruno@clisp.org>
85857
85858         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
85859         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
85860
85861 2003-03-13  Paul Eggert  <eggert@twinsun.com>
85862
85863         Merge changes from Bison.
85864         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
85865         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
85866         when compiling Bison 1.875's `bitset bset = obstack_alloc
85867         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
85868         * lib/hash.c: Include <stdbool.h> unconditionally.
85869
85870 2003-03-13  Paul Eggert  <eggert@twinsun.com>
85871
85872         * m4/onceonly.m4 (m4_quote): New macro.
85873         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
85874         Quote AC_FOREACH variable-expansions properly.
85875
85876 2003-03-13  Paul Eggert  <eggert@twinsun.com>
85877
85878         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
85879
85880 2003-03-09  Paul Eggert  <eggert@twinsun.com>
85881
85882         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
85883         Reported by Bruce Becker; see:
85884         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
85885
85886 2003-03-03  Paul Eggert  <eggert@twinsun.com>
85887             Bruno Haible  <bruno@clisp.org>
85888
85889         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
85890         Reported by John Hughes, see
85891         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
85892
85893 2003-02-20  Bruno Haible  <bruno@clisp.org>
85894
85895         * MODULES.html.sh (func_all_modules): Add poll.
85896
85897 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
85898
85899         * modules/poll: New file.
85900
85901 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
85902
85903         * lib/poll_.h: New file.
85904         * lib/poll.c: New file.
85905
85906 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
85907
85908         * m4/poll.m4: New file.
85909
85910 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
85911
85912         * modules/mathl: New file.
85913
85914 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
85915
85916         * lib/mathl.h: New file.
85917         * lib/acosl.c: New file.
85918         * lib/asinl.c: New file.
85919         * lib/atanl.c: New file.
85920         * lib/ceill.c: New file.
85921         * lib/cosl.c: New file.
85922         * lib/expl.c: New file.
85923         * lib/floorl.c: New file.
85924         * lib/frexpl.c: New file.
85925         * lib/ldexpl.c: New file.
85926         * lib/logl.c: New file.
85927         * lib/sincosl.c: New file.
85928         * lib/sinl.c: New file.
85929         * lib/sqrtl.c: New file.
85930         * lib/tanl.c: New file.
85931         * lib/trigl.c: New file.
85932         * lib/trigl.h: New file.
85933
85934 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
85935
85936         * m4/mathl.m4: New file.
85937
85938 2003-02-18  Bruno Haible  <bruno@clisp.org>
85939
85940         * MODULES.html.sh (func_all_modules): Add mathl.
85941
85942 2003-02-17  Bruno Haible  <bruno@clisp.org>
85943
85944         * modules/mkdtemp: New module.
85945         * MODULES.html.sh (func_all_modules): Add it.
85946
85947 2003-02-17  Bruno Haible  <bruno@clisp.org>
85948
85949         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
85950
85951 2003-02-17  Bruno Haible  <bruno@clisp.org>
85952
85953         * lib/mkdtemp.h: New file, from GNU gettext.
85954         * lib/mkdtemp.c: New file, from GNU gettext.
85955
85956 2003-02-02  Jim Meyering  <jim@meyering.net>
85957
85958         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
85959         e.g. glibc-2.2.93.
85960
85961 2003-01-31  Bruno Haible  <bruno@clisp.org>
85962
85963         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
85964         'rpl_rename'.
85965         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
85966         'rpl_strnlen'.
85967         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
85968         'rpl_strtod'.
85969         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
85970         'rpl_utime'.
85971
85972 2003-01-31  Bruno Haible  <bruno@clisp.org>
85973
85974         * lib/rename.c: #undef rename before defining rpl_rename.
85975         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
85976
85977 2003-01-30  Bruno Haible  <bruno@clisp.org>
85978
85979         * modules/vasnprintf, modules/vasprintf: New modules.
85980         * MODULES.html.sh (func_all_modules): Add them.
85981
85982 2003-01-30  Bruno Haible  <bruno@clisp.org>
85983
85984         * m4/signed.m4: New file, from GNU gettext.
85985         * m4/longdouble.m4: New file, from GNU gettext.
85986         * m4/wchar_t.m4: New file, from GNU gettext.
85987         * m4/wint_t.m4: New file, from GNU gettext.
85988         * m4/vasnprintf.m4: New file.
85989         * m4/vasprintf.m4: New file.
85990
85991 2003-01-30  Bruno Haible  <bruno@clisp.org>
85992
85993         * lib/printf-args.h: New file, from GNU gettext.
85994         * lib/printf-args.c: New file, from GNU gettext.
85995         * lib/printf-parse.h: New file, from GNU gettext.
85996         * lib/printf-parse.c: New file, from GNU gettext.
85997         * lib/vasnprintf.h: New file, from GNU gettext.
85998         * lib/vasnprintf.c: New file, from GNU gettext.
85999         * lib/asnprintf.c: New file, from GNU gettext.
86000         * lib/vasprintf.h: New file, from GNU gettext with modifications.
86001         * lib/vasprintf.c: New file, from GNU gettext.
86002         * lib/asprintf.c: New file, from GNU gettext.
86003
86004 2003-01-29  Bruno Haible  <bruno@clisp.org>
86005
86006         * modules/stpncpy: New module.
86007         * MODULES.html.sh (func_all_modules): Add it.
86008
86009 2003-01-29  Bruno Haible  <bruno@clisp.org>
86010
86011         * m4/stpncpy.m4: New file.
86012
86013 2003-01-29  Bruno Haible  <bruno@clisp.org>
86014
86015         * lib/stpncpy.h: New file, from GNU gettext with modifications.
86016         * lib/stpncpy.c: New file, from GNU gettext with modifications.
86017
86018 2003-01-28  Bruno Haible  <bruno@clisp.org>
86019
86020         * modules/c-ctype: New module.
86021         * MODULES.html.sh (func_all_modules): Add it.
86022
86023 2003-01-28  Bruno Haible  <bruno@clisp.org>
86024
86025         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
86026         Paul Eggert.
86027         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
86028         Paul Eggert.
86029
86030 2003-01-27  Bruno Haible  <bruno@clisp.org>
86031
86032         * modules/xsetenv: New module.
86033         * MODULES.html.sh (func_all_modules): Add it.
86034
86035 2003-01-27  Bruno Haible  <bruno@clisp.org>
86036
86037         * lib/xsetenv.h: New file, from GNU gettext.
86038         * lib/xsetenv.c: New file, from GNU gettext.
86039
86040 2003-01-23  Jim Meyering  <jim@meyering.net>
86041
86042         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
86043         from working on systems without dirfd (at least Irix and OSF1/Tru64).
86044
86045 2003-01-23  Bruno Haible  <bruno@clisp.org>
86046
86047         * modules/minmax: New module.
86048         * MODULES.html.sh (func_all_modules): Add it.
86049
86050 2003-01-23  Bruno Haible  <bruno@clisp.org>
86051
86052         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
86053         Eggert.
86054
86055 2003-01-22  Bruno Haible  <bruno@clisp.org>
86056
86057         * modules/exit: New module.
86058         * MODULES.html.sh (func_all_modules): Add it.
86059
86060 2003-01-22  Bruno Haible  <bruno@clisp.org>
86061
86062         * lib/exit.h: New file, from GNU gettext.
86063
86064 2003-01-19  Bruno Haible  <bruno@clisp.org>
86065
86066         * gnulib-tool: Recognize option --extract-maintainer.
86067         (func_get_maintainer): New function.
86068         * modules/*: Add Maintainer entry.
86069
86070 2003-01-16  Jim Meyering  <jim@meyering.net>
86071
86072         * m4/regex.m4: The `regex' struct is both input and output.
86073         Initialize it before each use.  Patch by Tim Waugh.
86074
86075 2003-01-16  Bruno Haible  <bruno@clisp.org>
86076
86077         * MODULES.html.sh: Add a table of contents. Add the module name as
86078         leftmost column. Add hyperlinks.
86079
86080 2003-01-15  Bruno Haible  <bruno@clisp.org>
86081
86082         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
86083
86084 2003-01-15  Bruno Haible  <bruno@clisp.org>
86085
86086         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
86087         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
86088         suffix.
86089
86090 2003-01-15  Bruno Haible  <bruno@clisp.org>
86091
86092         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
86093
86094 2003-01-15  Bruno Haible  <bruno@clisp.org>
86095
86096         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
86097         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
86098
86099 2003-01-14  Jim Meyering  <jim@meyering.net>
86100
86101         * lib/same.c (same_name): Tweak a comment.
86102
86103 2003-01-14  Bruno Haible  <bruno@clisp.org>
86104
86105         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
86106         when a string comparison is sufficient.
86107
86108 2003-01-14  Bruno Haible  <bruno@clisp.org>
86109
86110         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
86111         'unsigned int'.
86112
86113 2003-01-14  Bruno Haible  <bruno@clisp.org>
86114
86115         * lib/hash-pjw.c: Add comment about low quality of this function.
86116
86117 2003-01-13  Bruno Haible  <bruno@clisp.org>
86118
86119         * modules/stpcpy: Distribute lib/stpcpy.h.
86120         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
86121
86122 2003-01-13  Bruno Haible  <bruno@clisp.org>
86123
86124         * modules/*: Add a description.
86125         * modules/strpbrk: Fix Makefile.am snippet.
86126         * modules/strtoimax: Fix dependencies.
86127         * modules/strtoumax: Likewise.
86128
86129 2003-01-13  Bruno Haible  <bruno@clisp.org>
86130
86131         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
86132         * modules/alloca (Makefile.am): All object files depend on alloca.h.
86133         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
86134
86135 2003-01-13  Bruno Haible  <bruno@clisp.org>
86136
86137         * gnulib-tool (func_create_testdir): Store config/* files in the main
86138         directory.
86139         * config.rpath: Move to ...
86140         * config/config.rpath: ... here.
86141         * modules/gettext: Contains config/config.rpath, not config.rpath.
86142         * modules/iconv: Likewise.
86143
86144 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86145
86146         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86147         to avoid collisions with libcurses and libreadline.
86148
86149         * m4/getstr.m4: Remove.
86150         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
86151
86152 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86153
86154         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86155         to avoid collisions with libcurses and libreadline.
86156
86157         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
86158         * lib/getstr.h, getstr.c: Remove.
86159         * lib/getline.c: Include "getline.h", to check interface.
86160         Move body of old getstr.c here: this defines MIN_CHUNK and
86161         declares getdelim2, which is renamed from getstr.
86162         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
86163
86164         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
86165         All uses changed.
86166         * lib/linebuffer.h: Likewise.
86167         (readline): Remove backward-compatibility macro.
86168
86169 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86170
86171         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86172         to avoid collisions with libcurses and libreadline.
86173         * getstr: Remove.
86174         * MODULES.html.sh: Remove getstr.
86175         * modules/getline: Depend on unlocked-io, not getstr.
86176
86177 2003-01-12  Jim Meyering  <jim@meyering.net>
86178
86179         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
86180
86181 2003-01-10  Bruno Haible  <bruno@clisp.org>
86182
86183         * modules/alloca: Change Makefile.am requirements. Simplify Include
86184         requirements. Add lib/alloca_.h to file list.
86185
86186 2003-01-10  Bruno Haible  <bruno@clisp.org>
86187
86188         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
86189
86190 2003-01-10  Bruno Haible  <bruno@clisp.org>
86191
86192         * lib/alloca_.h: New file.
86193         * lib/getdate.y: Unconditionally include alloca.h.
86194         * lib/makepath.c: Likewise.
86195         * lib/setenv.c: Likewise.
86196         * lib/userspec.c: Likewise.
86197
86198 2003-01-09  Karl Berry  <karl@gnu.org>
86199
86200         * MODULES.html.sh: include `dirname $0` in PATH, to find
86201         gnulib-tool.
86202
86203 2003-01-09  Bruno Haible  <bruno@clisp.org>
86204
86205         * modules/stdbool: Change configure.ac, Makefile.am requirements.
86206         Simplify Include requirements. Add lib/stdbool.h.in to file list.
86207
86208 2003-01-09  Bruno Haible  <bruno@clisp.org>
86209
86210         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
86211
86212 2003-01-09  Bruno Haible  <bruno@clisp.org>
86213
86214         * lib/stdbool.h.in: New file.
86215
86216 2003-01-09  Bruno Haible  <bruno@clisp.org>
86217
86218         * gnulib-tool (func_all_modules): Ignore files ending in ~.
86219         * MODULES.html.sh: Likewise.
86220
86221 2003-01-08  Jim Meyering  <jim@meyering.net>
86222
86223         * lib/full-write.c: Undefine and define-away `const' after inclusion
86224         of errno.h, not before.  Suggestion from Bruno Haible.
86225
86226 2003-01-08  Bruno Haible  <bruno@clisp.org>
86227
86228         * modules/full-read: Depend on full-write.
86229
86230 2003-01-08  Bruno Haible  <bruno@clisp.org>
86231
86232         * lib/safe-read.c: Include specification header first, to ensure its
86233         selfcontainedness.
86234         * lib/full-write.c: Likewise.
86235
86236 2003-01-07  Jim Meyering  <jim@meyering.net>
86237
86238         * lib/full-write.c: Rework so that it may serve to define full_read,
86239         too.
86240         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
86241
86242 2003-01-07  Bruno Haible  <bruno@clisp.org>
86243
86244         * lib/strtoimax.c: Include <stdint.h> as an alternative to
86245         <inttypes.h>.
86246         * lib/xstrtol.h: Likewise.
86247         * lib/xstrtoimax.c: Likewise.
86248         * lib/xstrtoumax.c: Likewise.
86249         * lib/human.h: Likewise.
86250
86251         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
86252         on systems that have <inttypes.h> but not <stdint.h>.
86253
86254 2003-01-07  Bruno Haible  <bruno@clisp.org>
86255
86256         * MODULES.html.sh: Add copyright notice.
86257         (missed_files): Omit CVS directory entries.
86258         (func_module): Make it work with sed-3.02.
86259         * MODULES.txt: Remove file.
86260
86261 2003-01-06  Jim Meyering  <jim@meyering.net>
86262
86263         * lib/version-etc.c: Update year in translatable copyright string.
86264
86265 2003-01-03  Karl Berry  <karl@gnu.org>
86266
86267         * config/config.{guess,sub}: update from prep.
86268
86269 2003-01-02  Karl Berry  <karl@gnu.org>
86270
86271         * doc/COPYING.DOC: belatedly updated to 1.2.
86272
86273 2003-01-01  Karl Berry  <karl@gnu.org>
86274
86275         * gnulib-tool (func_verify_module): report module name $module in
86276         error message, not $1.
86277         * gnulib-tool (create-testdir): don't complain if destdir couldn't
86278         be created, only if it doesn't exist.
86279         * gnulib-tool (last_checkin_date): don't expand the $Date here.
86280
86281 2002-12-31  Paul Eggert  <eggert@twinsun.com>
86282
86283         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
86284
86285 2002-12-31  Paul Eggert  <eggert@twinsun.com>
86286
86287         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
86288         memcmp if strcoll doesn't work.
86289
86290 2002-12-31  Bruno Haible  <bruno@clisp.org>
86291
86292         * lib/utime.c (utime_null): No need to call ftruncate if the file was
86293         nonempty.
86294
86295 2002-12-31  Bruno Haible  <bruno@clisp.org>
86296
86297         * lib/memcoll.c (STRCOLL): New macro.
86298         (memcoll): Use it.
86299
86300 2002-12-31  Bruno Haible  <bruno@clisp.org>
86301
86302         * lib/localcharset.h: New file.
86303         * lib/localcharset.c: Include it.
86304         * lib/unicodeio.c: Likewise.
86305
86306 2002-12-31  Bruno Haible  <bruno@clisp.org>
86307
86308         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
86309         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
86310
86311 2002-12-31  Bruno Haible  <bruno@clisp.org>
86312
86313         * lib/getline.h: Include <stddef.h>, for size_t.
86314
86315         * lib/unicodeio.h: Include <stddef.h>, for size_t.
86316         * lib/unicodeio.c: Don't include <stddef.h>.
86317
86318 2002-12-31  Bruno Haible  <bruno@clisp.org>
86319
86320         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
86321         HAVE_TM_ZONE.
86322
86323 2002-12-24  Karl Berry  <karl@gnu.org>
86324
86325         * config/config.guess: update from prep.
86326
86327 2002-12-24  Bruno Haible  <bruno@clisp.org>
86328
86329         General infrasructure.
86330         * m4/README: Rewritten.
86331         * m4/onceonly.m4: New file.
86332         * m4/onceonly_2_57.m4: New file.
86333
86334         Module atexit.
86335         * m4/atexit.m4: New file.
86336
86337         Module strtod.
86338         * m4/strtod.m4: New file.
86339
86340         Module strtol.
86341         * m4/strtol.m4: New file.
86342
86343         Module strtoul.
86344         * m4/strtoul.m4: New file.
86345
86346         Module memchr.
86347         * m4/memchr.m4: New file.
86348
86349         Module memcmp.
86350         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
86351         (jm_FUNC_MEMCMP): Invoke it.
86352
86353         Module memcpy.
86354         * m4/memcpy.m4: New file.
86355
86356         Module memmove.
86357         * m4/memmove.m4: New file.
86358
86359         Module memset.
86360         * m4/memset.m4: New file.
86361
86362         Module strcspn.
86363         * m4/strcspn.m4: New file.
86364
86365         Module strpbrk.
86366         * m4/strpbrk.m4: New file.
86367
86368         Module strstr.
86369         * m4/strstr.m4: New file.
86370
86371         Module strerror.
86372         * m4/strerror.m4: New file.
86373
86374         Module mktime.
86375         * m4/mktime.m4: Renamed from jm-mktime.m4.
86376         (gl_PREREQ_MKTIME): New macro.
86377         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
86378
86379         Module malloc.
86380         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
86381         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
86382         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
86383
86384         Module realloc.
86385         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
86386         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
86387         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
86388
86389         Module strftime.
86390         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
86391         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
86392         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
86393         gl_TM_GMTOFF.
86394         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
86395
86396         Module xalloc.
86397         * m4/xalloc.m4: New file.
86398
86399         Module alloca.
86400         * m4/alloca.m4: New file.
86401
86402         Module putenv.
86403         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
86404         (jm_FUNC_PUTENV): Invoke it.
86405
86406         Module setenv.
86407         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
86408         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
86409         when invoked twice.
86410         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
86411         gt_FUNC_SETENV.
86412
86413         Module memrchr.
86414         * m4/memrchr.m4: New file.
86415
86416         Module stpcpy.
86417         * m4/stpcpy.m4: New file.
86418
86419         Module strcase.
86420         * m4/strcase.m4: New file.
86421
86422         Module strdup.
86423         * m4/strdup.m4: New file.
86424
86425         Module strnlen.
86426         * m4/strnlen.m4: New file.
86427
86428         Module strndup.
86429         * m4/strndup.m4: New file.
86430
86431         Module xstrtod.
86432         * m4/xstrtod.m4: New file.
86433
86434         Module xstrtol.
86435         * m4/xstrtol.m4: New file.
86436
86437         Module getdate.
86438         * m4/getdate.m4: New file.
86439
86440         Module unlocked-io.
86441         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
86442         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
86443         * m4/jm-glibc-io.m4n: Remove file.
86444
86445         Module long-options.
86446         * m4/long-options.m4: New file.
86447
86448         Module md5.
86449         * m4/md5.m4: New file.
86450
86451         Module sha.
86452         * m4/sha.m4: New file.
86453
86454         Module getstr.
86455         * m4/getstr.m4: New file.
86456
86457         Module getline.
86458         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
86459         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
86460         <sys/types.h>, for size_t. Use the function name gnu_getline, not
86461         simply getline. Infoke gl_PREREQ_GETLINE.
86462
86463         Module obstack.
86464         * m4/obstack.m4: New file.
86465
86466         Module hash.
86467         * m4/hash.m4: New file.
86468
86469         Module readtokens.
86470         * m4/readtokens.m4: New file.
86471
86472         Module strverscmp.
86473         * m4/strverscmp.m4: New file.
86474
86475         Module stdbool.
86476         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
86477         OSF/1.
86478
86479         Module strtoll.
86480         * m4/strtoll.m4: New file.
86481
86482         Module strtoull.
86483         * m4/strtoull.m4: New file.
86484
86485         Module strtoimax.
86486         * m4/strtoimax.m4: New file.
86487
86488         Module strtoumax.
86489         * m4/strtoumax.m4: New file.
86490
86491         Module xstrtoimax.
86492         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
86493         jm_AC_PREREQ_XSTRTOIMAX.
86494         Moved the strtol prerequisites to strtol.m4.
86495         Moved the strtoll prerequisites to strtoll.m4.
86496         Moved the strtoimax prerequisites to strtoimax.m4.
86497
86498         Module xstrtoumax.
86499         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
86500         jm_AC_PREREQ_XSTRTOUMAX.
86501         Moved the strtoul prerequisites to strtoul.m4.
86502         Moved the strtoull prerequisites to strtoull.m4.
86503         Moved the strtoumax prerequisites to strtoumax.m4.
86504
86505         Module chown.
86506         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
86507         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
86508
86509         Module dup2.
86510         * m4/dup2.m4: New file.
86511
86512         Module ftruncate.
86513         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
86514         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
86515
86516         Module getgroups.
86517         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
86518         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
86519
86520         Module gettimeofday.
86521         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
86522         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
86523         gl_PREREQ_GETTIMEOFDAY.
86524
86525         Module mkdir.
86526         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
86527         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
86528
86529         Module mkstemp.
86530         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
86531         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
86532         jm_AC_TYPE_UINTMAX_T.
86533         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
86534
86535         Module stat.
86536         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
86537         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
86538
86539         Module lstat.
86540         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
86541         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
86542
86543         Module timespec.
86544         * m4/timespec.m4 (gl_TIMESPEC): New macro.
86545         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
86546         * m4/st_mtim.m4: Indentation.
86547
86548         Module nanosleep.
86549         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
86550         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
86551         gl_PREREQ_NANOSLEEP.
86552
86553         Module regex.
86554         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
86555         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
86556         (gl_REGEX): New macro.
86557
86558         Module rename.
86559         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
86560         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
86561
86562         Module rmdir.
86563         * m4/rmdir.m4: New file.
86564
86565         Module utime.
86566         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
86567         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
86568         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
86569
86570         Module dirname.
86571         * m4/dirname.m4: New file.
86572
86573         Module getopt.
86574         * m4/getopt.m4: New file.
86575
86576         Module unistd-safer.
86577         * m4/unistd-safer.m4: New file.
86578
86579         Module fnmatch.
86580         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
86581         declaration.
86582         (gl_PREREQ_FNMATCH_EXTRA): New macro.
86583         (gl_FUNC_FNMATCH_POSIX): New macro.
86584         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
86585         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
86586         simply fnmatch.
86587
86588         Module exclude.
86589         * m4/exclude.m4: New file.
86590
86591         Module human.
86592         * m4/human.m4: New file.
86593
86594         Module acl.
86595         * m4/acl.m4: Nop.
86596
86597         Module backupfile.
86598         * m4/backupfile.m4: New file.
86599         * m4/d-ino.m4: Indentation.
86600
86601         Module fsusage.
86602         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
86603         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
86604         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
86605
86606         Module dirfd.
86607         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
86608         requirements.
86609
86610         Module euidaccess.
86611         * m4/euidaccess.m4: New file.
86612
86613         Module file-type.
86614         * m4/file-type.m4: New file.
86615
86616         Module fileblocks.
86617         * m4/fileblocks.m4: New file.
86618
86619         Module filemode.
86620         * m4/filemode.m4: New file.
86621
86622         Module isdir.
86623         * m4/isdir.m4: New file.
86624
86625         Module lchown.
86626         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
86627         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
86628
86629         Module makepath.
86630         * m4/makepath.m4: New file.
86631
86632         Module modechange.
86633         * m4/modechange.m4: New file.
86634
86635         Module mountlist.
86636         * m4/mountlist.m4: New file.
86637         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
86638         Indentation.
86639
86640         Module path-concat.
86641         * m4/path-concat.m4: New file.
86642
86643         Module pathmax.
86644         * m4/pathmax.m4: New file.
86645
86646         Module same.
86647         * m4/same.m4: New file.
86648
86649         Module save-cwd.
86650         * m4/save-cwd.m4: New file.
86651
86652         Module savedir.
86653         * m4/savedir.m4: New file.
86654
86655         Module xgetcwd.
86656         * m4/xgetcwd.m4: New file.
86657         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
86658
86659         Module xreadlink.
86660         * m4/xreadlink.m4: New file.
86661
86662         Module safe-read.
86663         * m4/safe-read.m4: New file.
86664
86665         Module safe-write.
86666         * m4/safe-write.m4: New file.
86667
86668         Module closeout.
86669         * m4/closeout.m4: New file.
86670
86671         Module stdio-safer.
86672         * m4/stdio-safer.m4: New file.
86673
86674         Module getpass.
86675         * m4/getpass.m4: New file.
86676
86677         Module getugroups.
86678         * m4/getugroups.m4: New file.
86679
86680         Module group-member.
86681         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
86682         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
86683
86684         Module idcache.
86685         * m4/idcache.m4: New file.
86686
86687         Module userspec.
86688         * m4/userspec.m4: New file.
86689
86690         Module gettime.
86691         * m4/clock_time.m4: New file.
86692         * m4/gettime.m4: New file.
86693
86694         Module settime.
86695         * m4/settime.m4: New file.
86696
86697         Module posixtm.
86698         * m4/posixtm.m4: New file.
86699
86700         Module gethostname.
86701         * m4/gethostname.m4: New file.
86702
86703         Module canon-host.
86704         * m4/canon-host.m4: New file.
86705
86706         Module gettext.
86707         * m4/codeset.m4: New file, from gettext-0.11.5.
86708         * m4/gettext.m4: New file, from gettext-0.11.5.
86709         * m4/glibc21.m4: New file, from gettext-0.11.5.
86710         * m4/iconv.m4: New file, from gettext-0.11.5.
86711         * m4/intdiv0.m4: New file, from gettext-0.11.5.
86712         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
86713         * m4/inttypes.m4: New file, from gettext-0.11.5.
86714         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
86715         * m4/isc-posix.m4: New file, from gettext-0.11.5.
86716         * m4/lcmessage.m4: New file, from gettext-0.11.5.
86717         * m4/lib-ld.m4: New file, from gettext-0.11.5.
86718         * m4/lib-link.m4: New file, from gettext-0.11.5.
86719         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
86720         * m4/progtest.m4: New file, from gettext-0.11.5.
86721         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
86722         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
86723         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
86724
86725         Module localcharset.
86726         * m4/localcharset.m4: New file.
86727
86728         Module hard-locale.
86729         * m4/hard-locale.m4: New file.
86730
86731         Module mbswidth.
86732         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
86733         onceonly macros.
86734         * m4/mbrtowc.m4: Add comment.
86735
86736         Module memcasecmp.
86737         * m4/memcasecmp.m4: New file.
86738
86739         Module memcoll.
86740         * m4/memcoll.m4: New file.
86741
86742         Module unicodeio.
86743         * m4/unicodeio.m4: New file.
86744
86745         Module rpmatch.
86746         * m4/rpmatch.m4: New file.
86747
86748         Module yesno.
86749         * m4/yesno.m4: New file.
86750
86751         Module exitfail.
86752         * m4/exitfail.m4: New file.
86753
86754         Module c-stack.
86755         * m4/c-stack.m4 (gl_C_STACK): New macro.
86756         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
86757
86758         Module error.
86759         * m4/error.m4 (gl_ERROR): New macro.
86760         (jm_PREREQ_ERROR): Use onceonly macros.
86761
86762         Module fatal.
86763         * m4/fatal.m4: New file.
86764
86765         Module getloadavg.
86766         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
86767         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
86768
86769         Module getpagesize.
86770         * m4/getpagesize.m4: New file.
86771
86772         Module getusershell.
86773         * m4/getusershell.m4: New file.
86774
86775         Module physmem.
86776         * m4/physmem.m4: New file.
86777
86778         Module posixver.
86779         * m4/posixver.m4: New file.
86780
86781         Module quotearg.
86782         * m4/quotearg.m4: New file.
86783
86784         Module quote.
86785         * m4/quote.m4: New file.
86786
86787         Module readutmp.
86788         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
86789
86790         Module sig2str.
86791         * m4/sig2str.m4: New file.
86792
86793         Other.
86794         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
86795         ulonglong.m4.
86796         * m4/intmax_t.m4: New file.
86797         * m4/d-type.m4: Indentation.
86798         * m4/jm-macros.m4: Update.
86799         * m4/prereq.m4 (jm_PREREQ): Update.
86800         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
86801         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
86802         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
86803         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
86804         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
86805         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
86806         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
86807         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
86808         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
86809         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
86810         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
86811         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
86812         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
86813         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
86814         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
86815         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
86816         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
86817         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
86818         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
86819
86820 2002-12-24  Bruno Haible  <bruno@clisp.org>
86821
86822         * MODULES.txt: Update according to m4/ changes.
86823
86824         Module gettext.
86825         * config.rpath: New file, from gettext-0.11.5.
86826
86827         * modules/*: New module descriptions.
86828         * gnulib-tool: New file.
86829         * MODULES.html.sh: New file.
86830
86831 2002-12-21  Karl Berry  <karl@gnu.org>
86832
86833         * doc/fdl.texi: update to version 1.2.
86834
86835 2002-12-19  Karl Berry  <karl@gnu.org>
86836
86837         * config/config.guess: update from prep.
86838
86839 2002-12-18  Bruno Haible  <bruno@clisp.org>
86840
86841         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
86842         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
86843
86844 2002-12-17  Bruno Haible  <bruno@clisp.org>
86845
86846         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
86847         stdlib.h, string.h.
86848
86849 2002-12-17  Bruno Haible  <bruno@clisp.org>
86850
86851         * lib/canon-host.c (strdup): Remove unused declaration.
86852
86853         * lib/fsusage.c: Include full_read.h.
86854         (get_fs_usage): Use full_read instead of safe_read.
86855
86856         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
86857
86858 2002-12-12  Karl Berry  <karl@gnu.org>
86859
86860         * config/config.guess: update from prep.
86861
86862 2002-12-11  Bruno Haible  <bruno@clisp.org>
86863
86864         * m4/setenv.m4: New file, from gettext-0.11.5.
86865
86866 2002-12-11  Bruno Haible  <bruno@clisp.org>
86867
86868         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
86869         not unsetenv().
86870         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
86871         modifications:
86872
86873         2002-12-11  Bruno Haible  <bruno@clisp.org>
86874
86875                 * setenv.c (alloca): Fall back to malloc.
86876                 (freea): New macro.
86877                 (setenv): Use freea() to free memory allocated with alloca().
86878
86879         2002-11-13  Bruno Haible  <bruno@clisp.org>
86880
86881                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
86882                 function declarations.
86883                 * unsetenv.c (unsetenv): Likewise.
86884
86885         2002-03-04  Bruno Haible  <bruno@clisp.org>
86886
86887                 Portability to AIX 4.3.3.
86888                 * unsetenv.c: New file, extracted from setenv.c.
86889                 * setenv.c: Move the unsetenv() function to unsetenv.c.
86890
86891         2001-12-20  Bruno Haible  <bruno@clisp.org>
86892
86893                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
86894                 use malloc instead. For SunOS 4.
86895
86896         2001-12-11  Bruno Haible  <bruno@clisp.org>
86897
86898                 * setenv.c: Declare alloca.
86899                 (compar_fn_t): New typedef.
86900                 (KNOWN_VALUE, STORE_VALUE): Use it.
86901
86902         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
86903         setenv.h.
86904
86905 2002-12-10  Paul Eggert  <eggert@twinsun.com>
86906
86907         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
86908         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
86909         Choose values that are less likely to collide with system fnmatch
86910         options.
86911         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
86912         defined (e.g., a pure POSIX system).
86913         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
86914         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
86915
86916 2002-12-06  Paul Eggert  <eggert@twinsun.com>
86917
86918         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
86919         a pain in practice to deal with generated m4 files.  This change
86920         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
86921
86922         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
86923         and jm-glibc-io.m4, as they are no longer a special case.
86924         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
86925         kludge and the auto-generation stuff.  Check only whether the
86926         functions are declared, not whether they exist, since older hosts
86927         that don't declare the functions can't use the optimization anyway.
86928
86929 2002-12-06  Jim Meyering  <jim@meyering.net>
86930
86931         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
86932
86933         Merge in changes from libc's misc/error.c, in preparation
86934         for the merge of gnulib's changes back into libc.
86935
86936         * lib/error.c (_): Define only if not already defined.
86937         Move definition to follow all #include directives.
86938         Include unlocked-io.h only if !_LIBC.
86939         [_LIBC]: Include <libio/libioP.h>.
86940         [USE_IN_LIBIO]: Include <libio/iolibio.h>
86941         (fflush): Tweak definition to use INTUSE.
86942         (putc): Define.
86943
86944 2002-12-05  Paul Eggert  <eggert@twinsun.com>
86945
86946         * lib/alloca.c [defined emacs]: Include "lisp.h".
86947         (xalloc_die) [defined emacs]: New macro.
86948         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
86949         [! defined emacs]: Include <xalloc.h>.
86950         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
86951         (pointer): Typedef to POINTER_TYPE *.
86952         (malloc): Remove decl; we now always use xmalloc.
86953         (alloca): Use old-style definition, since Emacs needs this.
86954         Check for arithmetic overflow when computing combined size.
86955
86956 2002-12-04  Paul Eggert  <eggert@twinsun.com>
86957
86958         Do not generate unlocked-io.h automatically, since it's easier to
86959         maintain it by hand.
86960
86961         * lib/unlocked-io.h: New file, from GNU diffutils,
86962         but with proper copyright notice and attribution.
86963         * lib/gen-uio: Remove.
86964         * lib/Makefile.am: Add copyright notice.
86965         (libfetish_a_SOURCES): Add unlocked-io.h.
86966         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
86967         (DISTCLEANFILES, io_functions): Remove macros.
86968         (EXTRA_DIST): Remove gen_uio.
86969         (unlocked-io.h): Remove rule.
86970
86971 2002-12-04  Jim Meyering  <jim@meyering.net>
86972
86973         Reflect the fact that stat.c and lstat.c are no longer generated.
86974         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
86975         (DISTCLEANFILES): Likewise.
86976         (EXTRA_DIST): Likewise.
86977         (all_local): Don't depend on stat.c or lstat.c.
86978         (stat.c, lstat.c): Remove rules.
86979         (EXTRA_DIST): Remove xstat.in.
86980
86981         * lib/xstat.in: Remove file.  Contents moved into stat.c.
86982         * lib/stat.c: New file.  Contents mostly from xstat.in.
86983         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
86984         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
86985
86986         * lib/safe-read.c: Rework so that it may serve to define safe_write,
86987         too.
86988         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
86989
86990 2002-12-03  Jim Meyering  <jim@meyering.net>
86991
86992         * lib/safe-read.c, safe-write.c: Change variable names and comments,
86993         but not semantics, to minimize the differences between these two files.
86994         (safe_read): Change comment to mention SAFE_READ_ERROR.
86995
86996         * lib/safe-read.c (IS_EINTR): Define.
86997         (safe_read): Use IS_EINTR in place of in-function cpp directives.
86998
86999 2002-12-02  Jim Meyering  <jim@meyering.net>
87000
87001         * lib/safe-read.c (EINTR): Define.
87002         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87003         (INT_MAX): Provide fallback.
87004         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
87005
87006         * lib/safe-read.h (SAFE_READ_ERROR): Define.
87007
87008 2002-12-02  Bruno Haible  <bruno@clisp.org>
87009
87010         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
87011         Define, taken from safe-read.c.
87012         (INT_MAX): Provide fallback.
87013         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
87014         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
87015
87016         * lib/safe-read.c (EINTR): Remove definition.
87017         (safe_read): Don't use EINTR if it is absent.
87018
87019 2002-12-01  Jim Meyering  <jim@meyering.net>
87020
87021         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
87022         zero.
87023         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
87024
87025 2002-11-27  Paul Eggert  <eggert@twinsun.com>
87026
87027         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
87028         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
87029         with `if (! (value < limit)) abort ();', for readability.
87030
87031 2002-11-26  Karl Berry  <karl@gnu.org>
87032
87033         * lib/strdup.c: copy from libc again, with jim's ok.
87034         * lib/.cppi-disable: re-add strdup.c
87035
87036 2002-11-25  Karl Berry  <karl@gnu.org>
87037
87038         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
87039         instead of "strtol.c".
87040
87041 2002-11-25  Karl Berry  <karl@gnu.org>
87042
87043         * config/install-sh: update from automake for variable quoting, $0 in
87044         error msgs, etc.
87045
87046         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
87047         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
87048         entry.
87049
87050 2002-11-25  Jim Meyering  <jim@meyering.net>
87051
87052         * lib/mktime.c: Sync from libc, now that it has the latest fix.
87053
87054 2002-11-24  Karl Berry  <karl@gnu.org>
87055
87056         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
87057         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
87058
87059 2002-11-24  Jim Meyering  <jim@meyering.net>
87060
87061         Update from coreutils:
87062
87063         * lib/mktime.c: Merge in changes from libc.
87064
87065         Avoid a link-time failure on some Linux systems.
87066         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
87067         (otherwise).
87068         (__mon_yday): Declare with the STATIC attribute.
87069         (__mktime_internal): Likewise.
87070         Based on a report from Greg Schafer.
87071
87072 2002-11-23  Jim Meyering  <jim@meyering.net>
87073
87074         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
87075         Use `unsigned', not `int', as type of index.
87076
87077         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
87078
87079         * lib/fsusage.c: Remove unneeded parentheses around operands of
87080         `defined'.
87081
87082 2002-11-22  Paul Eggert  <eggert@twinsun.com>
87083
87084         * lib/quotearg.h: Allow multiple inclusion by surrounding with
87085         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
87086         so that we can be included first.
87087         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
87088         * lib/quotearg.c: Include quotearg.h immediately after config.h.
87089         No need to include stddef.h or sys/types.h any more.
87090         Surround local include files with "", not "<>".
87091         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
87092         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
87093         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
87094         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
87095         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
87096         (ISPRINT): Remove; no longer needed now that we assume C89.
87097
87098         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
87099         Preserve errno.
87100
87101         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
87102         quotearg_char): Use SIZE_MAX rather than
87103         (size_t) -1 when we are talking about "infinity".
87104
87105         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
87106
87107 2002-11-22  Paul Eggert  <eggert@twinsun.com>
87108
87109         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
87110         hint that one should use `if (! x) abort ();' rather than `assert
87111         (x);', and anyway it's one less thing to worry about configuring.
87112         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
87113         hash_rehash, hash_insert): Use abort rather than assert.
87114
87115 2002-11-22  Bruno Haible  <bruno@clisp.org>
87116
87117         * lib/safe-read.h: Assume C89. Add comments.
87118         (safe_read): Change return type to size_t.
87119         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
87120         byte counts > SSIZE_MAX correctly.
87121         * lib/safe-write.h: New file.
87122         * lib/safe-write.c: New file.
87123         * lib/full-read.h: New file.
87124         * lib/full-read.c: New file.
87125         * lib/full-write.h: Assume C89. Add comments.
87126         * lib/full-write.c: Include safe-write.h.
87127         (full_write): Rewritten to use safe_write.
87128         Suggested by Jim Meyering and Paul Eggert.
87129
87130 2002-11-21  Jim Meyering  <jim@meyering.net>
87131
87132         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
87133
87134         Merge in changes from the coreutils.
87135
87136         2002-09-25  Paul Eggert  <eggert@twinsun.com>
87137         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
87138         <stdint.h>.
87139         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
87140         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
87141         int.  Work more efficiently if X is the same width as uintmax_t.
87142         Do not compare X to -1, to avoid bogus compiler warning.
87143         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
87144         Don't assume that f_frsize and f_bsize are the same type.
87145
87146         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
87147         warning on FreeBSD.
87148
87149         * lib/makepath.c (make_path): Restore umask *before* creating the final
87150         component.
87151         (make_path): Minor reformatting.
87152
87153         * lib/xmalloc.c: Adjust to work with new autoconf macros,
87154         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
87155         HAVE_MALLOC/HAVE_REALLOC.
87156
87157         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
87158         dummy ones.  At least on GNU/Linux systems, `auto' means something
87159         else.
87160         From Michael Stone.
87161
87162 2002-11-21  Bruno Haible  <bruno@clisp.org>
87163
87164         Remove case insensitive option matching.
87165         * lib/argmatch.h (argcasematch): Remove declaration.
87166         (ARGCASEMATCH): Remove macro.
87167         (__xargmatch_internal): Remove case_sensitive argument.
87168         (XARGMATCH): Update.
87169         (XARGCASEMATCH): Remove macro.
87170         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
87171         case_sensitive argument.
87172         (argcasematch): Remove function.
87173         (__xargmatch_internal): Remove case_sensitive argument.
87174         (main): Use XARGMATCH instead of XARGCASEMATCH.
87175
87176         * lib/xmalloc.c: Change compile-time error message. Add comment about
87177         required autoconf version.
87178
87179 2002-11-20  Paul Eggert  <eggert@twinsun.com>
87180
87181         Merge argmatch cleanups from Bison.  Assume C89.
87182
87183         * lib/argmatch.c: Include config.h here, not in argmatch.h.
87184         Include stdlib.h, for EXIT_FAILURE.
87185         Always include <string.h>, since we assume C89.
87186         (EXIT_FAILURE): Remove pre-C89 bug workaround.
87187         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
87188         Include <stddef.h> instead, since it's all we need for size_t.
87189         (PARAMS): Remove.  All uses removed.
87190         (ARRAY_CARDINALITY): Do not bother to #undef.
87191         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
87192         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
87193         Remove unnecessary parentheses.
87194         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
87195         Insert necessary parentheses.
87196         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
87197         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
87198
87199 2002-11-19  Bruno Haible  <bruno@clisp.org>
87200
87201         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
87202         * lib/mbswidth.h: Include <stddef.h>, for size_t.
87203
87204         * lib/mbswidth.h (PARAMS): Remove macro.
87205         (mbswidth, mbsnwidth): Use ANSI C function declarations.
87206         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
87207
87208         * lib/gcd.h (PARAMS): Remove macro.
87209         (gcd): Use ANSI C function declarations.
87210         * lib/gcd.c (gcd): Likewise.
87211
87212 2002-11-15  Bruno Haible  <bruno@clisp.org>
87213
87214         * lib/strcspn.c: Include <stddef.h>.
87215         (strcspn): Use ANSI C function declaration. Change return type to
87216         size_t. Use NULL.
87217         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
87218         (strpbrk): Use NULL.
87219         * lib/strpbrk.h (PARAMS): Remove macro.
87220         (strpbrk): Use ANSI C function declaration.
87221         * lib/strstr.c: Don't include <sys/types.h>.
87222         * lib/strstr.h (PARAMS): Remove macro.
87223         (strstr): Use ANSI C function declarations.
87224
87225 2002-11-14  Karl Berry  <karl@gnu.org>
87226
87227         * config/mkinstalldirs: `do' on separate line, instead of
87228         `for var; do'.
87229
87230 2002-11-06  Bruno Haible  <bruno@clisp.org>
87231
87232         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
87233         * lib/gcd.c (gcd): Likewise.
87234
87235 2002-11-05  Bruno Haible  <bruno@clisp.org>
87236
87237         * lib/gcd.h: New file, from gettext-0.11.5.
87238         * lib/gcd.c: New file, from gettext-0.11.5.
87239
87240 2002-11-05  Bruno Haible  <bruno@clisp.org>
87241
87242         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87243         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87244         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87245         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87246
87247         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
87248         <libintl.h>.
87249         * lib/makepath.c: Include gettext.h instead of <locale.h> and
87250         <libintl.h>.
87251
87252         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
87253         * lib/human.c: Include gettext.h instead of <libintl.h>.
87254         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
87255         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
87256         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
87257         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
87258         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
87259         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
87260         (textdomain): Remove definition.
87261         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
87262
87263         * lib/long-options.c: Remove include of <libintl.h> and definition of
87264         _.
87265         * lib/same.c: Remove include of <libintl.h> and definition of _.
87266
87267 2002-11-04  Owen Taylor  <otaylor@redhat.com>
87268
87269         * lib/config.charset: A few additions for Solaris.
87270
87271 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
87272
87273         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
87274         * lib/localcharset.c (locale_charset): Declare as extern "C".
87275
87276 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
87277
87278         * lib/config.charset: msdos in uk_UA uses CP1125.
87279
87280 2002-11-04  Bruno Haible  <bruno@clisp.org>
87281
87282         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
87283         * lib/strcase.h: New file, from GNU gettext-0.11.5.
87284         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
87285         * lib/strstr.h: New file, from GNU gettext-0.11.5.
87286         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
87287
87288 2002-11-04  Bruno Haible  <bruno@clisp.org>
87289
87290         * lib/localcharset.c (locale_charset): Don't return an empty string.
87291
87292 2002-11-04  Bruno Haible  <bruno@clisp.org>
87293
87294         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
87295         aliases.
87296
87297 2002-11-04  Bruno Haible  <bruno@clisp.org>
87298
87299         * lib/config.charset: Update for newest glibc. Add canonical names
87300         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
87301
87302 2002-11-04  Bruno Haible  <bruno@clisp.org>
87303
87304         * lib/config.charset: Add support for NetBSD.
87305
87306 2002-11-04  Bruno Haible  <bruno@clisp.org>
87307
87308         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
87309
87310 2002-11-01  Bruno Haible  <bruno@clisp.org>
87311
87312         * configure.in: Add AC_CONFIG_AUX_DIR call.
87313         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
87314         test/Makefile.
87315         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
87316
87317 2002-09-28  Karl Berry  <karl@gnu.org>
87318
87319         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
87320         installed automake until the next release, since changes have been
87321         made.
87322
87323 2002-09-25  Karl Berry  <karl@gnu.org>
87324
87325         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
87326         * lib/getopt*: copy from libc/posix.
87327         * lib/gettext.h: copy from gettext.
87328         * lib/.cppi-disable: add strdup.c, gettext.h.
87329
87330 2002-09-25  Karl Berry  <karl@gnu.org>
87331
87332         * config/srclist.txt: enable gettext.h check.
87333         * config/config.{guess,sub}: update from prep.
87334         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
87335                 from automake 1.6.3.
87336         See srclist*.
87337
87338 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
87339
87340         * regex.c (PATFETCH): Remove the translating fetch.
87341         (PATFETCH_RAW): Rename to PATFETCH.
87342         (set_image_of_range): New fun.
87343         (SET_RANGE_TABLE_WORK_AREA): Use it.
87344         (regex_compile): Don't translate the pattern chars so eagerly.
87345         Only do it when inserting an `exactn' bytecode or when handling
87346         a char-range.
87347         (mutually_exclusive_p): Avoid empty statement.
87348
87349 2002-07-06  Jim Meyering  <meyering@lucent.com>
87350
87351         * m4/README: Don't mention Makefile.am.in.
87352         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
87353
87354 2002-07-01  Jim Meyering  <meyering@lucent.com>
87355
87356         * lib/c-stack.c: Include sys/time.h.
87357         From Volker Borchert.
87358
87359 2002-06-26  Paul Eggert  <eggert@twinsun.com>
87360
87361         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
87362
87363 2002-06-26  Paul Eggert  <eggert@twinsun.com>
87364
87365         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
87366         New macro.  Use it uniformly instead of
87367         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
87368         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
87369         reported by Vin Shelton.
87370
87371 2002-06-22  Paul Eggert  <eggert@twinsun.com>
87372
87373         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
87374         Do not assume SA_SIGINFO behavior.
87375         Bug reported by Jim Meyering on NetBSD 1.5.2.
87376
87377 2002-06-22  Jim Meyering  <meyering@lucent.com>
87378
87379         * m4/c-stack.m4: New file, from diffutils-2.8.2.
87380         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
87381
87382         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
87383         now that configure.ac uses AC_GNU_SOURCE.
87384         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
87385         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
87386
87387         Update to latest tools.  Suggestions from Paul Eggert.
87388         * m4/stdbool.m4: New file, from diffutils-2.8.2.
87389         * m4/gnu-source.m4: Update from diffutils-2.8.2.
87390         * m4/fnmatch.m4: Likewise.
87391         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
87392         to AC_HEADER_STDBOOL
87393
87394 2002-06-22  Jim Meyering  <meyering@lucent.com>
87395
87396         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
87397         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
87398
87399 2002-06-22  Jim Meyering  <meyering@lucent.com>
87400
87401         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
87402
87403         * lib/exitfail.c, exitfail.h: Likewise.
87404         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
87405
87406         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
87407         of fnmatch.h.
87408         (EXTRA_DIST): Add fnmatch_loop.c.
87409         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
87410
87411         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
87412         * lib/fnmatch.c: Update from diffutils-2.8.2.
87413         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
87414         * lib/fnmatch.h: Remove file.
87415
87416 2002-06-21  Jim Meyering  <meyering@lucent.com>
87417
87418         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
87419         * m4/mbrtowc.m4: Likewise.
87420
87421         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
87422         * m4/mbswidth.m4: Reflect name change:
87423         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
87424         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
87425
87426         * m4/lib-link.m4: Update from gettext-0.11.2.
87427         * m4/gettext.m4: Likewise.
87428
87429         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
87430         From Alfred M. Szmidt.
87431
87432 2002-06-18  Paul Eggert  <eggert@twinsun.com>
87433
87434         * lib/file-type.h: Report an error if neither S_ISREG nor
87435         S_IFREG is defined, instead of using a test specific to glibc
87436         2.2.  This should be safe, since POSIX requires S_ISREG and
87437         Unix Version 7 had S_IFREG.  We don't need to check for
87438         <sys/types.h> since we don't use any symbols that it defines.
87439
87440 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
87441
87442         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
87443         $@-t, so that each temporary file name is unique and valid in the first
87444         8 characters, for operation under DOS.
87445
87446 2002-06-15  Paul Eggert  <eggert@twinsun.com>
87447
87448         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
87449
87450 2002-06-15  Jim Meyering  <meyering@lucent.com>
87451
87452         Work even with DJGPP 2.03, which lacks support for symlinks.
87453         From Richard Dawe.
87454         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
87455         is defined.
87456         * lib/lchown.c (S_ISLNK): Likewise.
87457
87458 2002-06-15  Jim Meyering  <meyering@lucent.com>
87459
87460         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
87461         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
87462         have been included before this file.
87463
87464 2002-06-14  Jim Meyering  <meyering@lucent.com>
87465
87466         * lib/file-type.h: Use the version from diffutils-2.8.2.
87467         * lib/file-type.c: Likewise.
87468
87469 2002-06-07  Jim Meyering  <meyering@lucent.com>
87470
87471         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
87472         They're needed at least for NetBSD 1.5.2.
87473         ($statxfs_includes): Include those same headers.
87474         ($statxfs_includes): Include sys/vfs.h if available.
87475         ($statxfs_includes): Likewise for sys/statvfs.h.
87476         Check for the following members in both structs statfs and statvfs:
87477         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
87478
87479 2002-06-01  Jim Meyering  <meyering@lucent.com>
87480
87481         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
87482         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
87483
87484 2002-05-28  Jim Meyering  <meyering@lucent.com>
87485
87486         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
87487         Reported by Volker Borchert.
87488
87489 2002-05-27  Jim Meyering  <meyering@lucent.com>
87490
87491         Fix a problem seen only on nonconforming systems whereby ls.c's
87492         use of localtime, and then of gettimeofday would cause trouble:
87493         the localtime call used to initialize rpl_gettimeofday's save
87494         mechanism would clobber ls's current local time information so
87495         that in any long listing the first file would always be listed
87496         with date 1970-01-01.  Analysis by Volker Borchert.
87497
87498         * lib/gettimeofday.c (localtime): Undefine.
87499         (rpl_localtime): New function.
87500
87501 2002-05-27  Jim Meyering  <meyering@lucent.com>
87502
87503         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
87504         localtime.
87505
87506         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
87507         use the replacement function; it wouldn't resolve at link time.
87508         Reported by Volker Borchert.
87509
87510 2002-05-22  Jim Meyering  <meyering@lucent.com>
87511
87512         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
87513         file-type.h.
87514         * lib/file-type.h: New file.
87515         * lib/file-type.c (file_type): New file/function.  Extracted from
87516         diffutils.
87517
87518 2002-04-30  Jim Meyering  <meyering@lucent.com>
87519
87520         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
87521
87522 2002-04-29  Paul Eggert  <eggert@twinsun.com>
87523
87524         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
87525
87526 2002-04-29  Paul Eggert  <eggert@twinsun.com>
87527
87528         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
87529         Do not check for alloca.h (no longer used) or stdbool.h (was never
87530         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
87531
87532 2002-04-29  Paul Eggert  <eggert@twinsun.com>
87533
87534         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
87535
87536 2002-04-29  Jim Meyering  <meyering@lucent.com>
87537
87538         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
87539         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
87540         Use AC_FUNC_STRNLEN here instead.
87541
87542         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
87543         With autoconf-2.53a, it's part of AC_PROG_CC.
87544
87545 2002-04-28  Paul Eggert  <eggert@twinsun.com>
87546
87547         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
87548         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
87549
87550 2002-04-28  Paul Eggert  <eggert@twinsun.com>
87551
87552         * lib/sig2str.h, lib/sig2str.c: New files.
87553         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
87554
87555 2002-04-28  Paul Eggert  <eggert@twinsun.com>
87556
87557         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
87558         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
87559         of 127, since 64 is the largest conceivable number for ancient
87560         nonstandard hosts.
87561         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
87562
87563 2002-04-28  Jim Meyering  <meyering@lucent.com>
87564
87565         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
87566
87567 2002-04-24  Jim Meyering  <meyering@lucent.com>
87568
87569         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
87570         (jm_PREREQ): Use it.
87571
87572         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
87573         mach/mach.h fcntl.h.
87574         Check for this function: setlocale.
87575
87576 2002-04-24  Jim Meyering  <meyering@lucent.com>
87577
87578         * lib/gettext.h: New file, from Gettext.
87579         * lib/Makefile.am (INCLUDES): Remove -I../intl.
87580         (libfetish_a_SOURCES): Add gettext.h.
87581
87582 2002-04-16  Jim Meyering  <meyering@lucent.com>
87583
87584         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
87585         ut_pid, ut_id, ut_exit.
87586
87587 2002-04-16  Jim Meyering  <meyering@lucent.com>
87588
87589         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
87590         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
87591         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
87592
87593 2002-04-12  Jim Meyering  <meyering@lucent.com>
87594
87595         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
87596         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
87597         existence of the getmntinfo function.  Needed for Darwin 5.3.
87598
87599         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
87600         This is necessary at least on Darwin 5.3.
87601
87602         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
87603         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
87604         strnlen.o in the library, and that makes some versions of ranlib
87605         object.
87606
87607 2002-04-12  Jim Meyering  <meyering@lucent.com>
87608
87609         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
87610
87611 2002-04-09  Jim Meyering  <meyering@lucent.com>
87612
87613         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
87614         to be more precise.  Rather than saying we're checking whether the
87615         function `works', say what we're testing.
87616         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
87617         Reported by Bruno Haible.
87618
87619 2002-03-10  Jim Meyering  <meyering@lucent.com>
87620
87621         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
87622         Suggestion from Santiago Vila.
87623
87624 2002-03-08  Jim Meyering  <meyering@lucent.com>
87625
87626         * lib/rename.c: Mention that this wrapper is needed also on
87627         mips-dec-ultrix4.4 systems.
87628
87629 2002-03-02  Jim Meyering  <meyering@lucent.com>
87630
87631         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
87632         not HAVE_CLOCK_SETTIME.
87633
87634 2002-02-27  Paul Eggert  <eggert@twinsun.com>
87635
87636         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
87637         Check for clock_settime.
87638
87639 2002-02-27  Paul Eggert  <eggert@twinsun.com>
87640
87641         * lib/nanosleep.h: Rename to....
87642         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
87643
87644         * lib/gettime.c: New file.
87645         * lib/settime.c: New file.
87646         * lib/stime.c: Remove.
87647
87648         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
87649         timespec.h.  Remove nanosleep.h.
87650
87651 2002-02-25  Paul Eggert  <eggert@twinsun.com>
87652
87653         * m4/acl.m4: New file.
87654         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
87655         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
87656
87657 2002-02-25  Paul Eggert  <eggert@twinsun.com>
87658
87659         * lib/acl.c, lib/acl.h: New files.
87660         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
87661
87662 2002-02-24  Jim Meyering  <meyering@lucent.com>
87663
87664         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
87665         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
87666         cause trouble.  Reported by Nelson Beebe.
87667
87668 2002-02-23  Paul Eggert  <eggert@twinsun.com>
87669
87670         * lib/path-concat.c (xpath_concat): Reorder code to pacify
87671         compilers that don't know that xalloc_die never returns.
87672
87673 2002-02-20  Jim Meyering  <meyering@lucent.com>
87674
87675         * lib/getdate.c: Regenerate using bison-1.33.
87676
87677 2002-02-17  Jim Meyering  <meyering@lucent.com>
87678
87679         * config/config.guess (main): Don't use `head -1'; it's no longer
87680         portable. Use `sed 1q' instead.
87681
87682 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
87683
87684         * m4/codeset.m4: Upgrade to gettext-0.11.
87685         * m4/gettext.m4: Upgrade to gettext-0.11.
87686         * m4/glibc21.m4: Upgrade to gettext-0.11.
87687         * m4/iconv.m4: Upgrade to gettext-0.11.
87688         * m4/isc-posix.m4: Upgrade to gettext-0.11.
87689         * m4/lcmessage.m4: Upgrade to gettext-0.11.
87690         * m4/lib-ld.m4: New file, from gettext-0.11.
87691         * m4/lib-link.m4: New file, from gettext-0.11.
87692         * m4/lib-prefix.m4: New file, from gettext-0.11.
87693         * m4/progtest.m4: Upgrade to gettext-0.11.
87694
87695 2002-02-15  Paul Eggert  <eggert@twinsun.com>
87696
87697         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
87698         (jm_PREREQ): Use it.
87699
87700 2002-02-15  Paul Eggert  <eggert@twinsun.com>
87701
87702         * lib/posixver.c, lib/posixver.h: New files.
87703         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
87704
87705 2002-02-02  Paul Eggert  <eggert@twinsun.com>
87706             Bruno Haible  <bruno@clisp.org>
87707
87708         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
87709         (fwrite_success_callback): New declaration.
87710         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
87711         print_unicode_char. Call failure callback instead of error.
87712         (fwrite_success_callback): New function.
87713         (exit_failure_callback): New function.
87714         (fallback_failure_callback): New function.
87715         (print_unicode_char): Call unicode_to_mb.
87716
87717 2002-01-26  Jim Meyering  <meyering@lucent.com>
87718
87719         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
87720         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
87721
87722 2002-01-26  Jim Meyering  <meyering@lucent.com>
87723
87724         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
87725
87726 2002-01-22  Paul Eggert  <eggert@twinsun.com>
87727
87728         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
87729
87730 2002-01-22  Jim Meyering  <meyering@lucent.com>
87731
87732         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
87733         Otherwise, some versions of automake would omit the rule that makes
87734         Makefile from Makefile.in.
87735
87736 2002-01-21  Paul Eggert  <eggert@twinsun.com>
87737
87738         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
87739         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
87740         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
87741         (memcoll): Set errno to zero if there is no error.
87742
87743         * lib/quotearg.c (quotearg_buffer_restyled):
87744         Fix bug with quoting buffers containing NUL when backslashing escapes.
87745         This bug was exposed by the other changes in this patch.
87746         (quotearg_n_options): New arg ARGSIZE.
87747         All callers changed.
87748         (quoting_options_from_style): New function.
87749         (quotearg_n_style): Use it.
87750         (quotearg_n_style_mem): New function.
87751
87752         * lib/quotearg.h (quotearg_n_style_mem): New function.
87753
87754 2002-01-19  Jim Meyering  <meyering@lucent.com>
87755
87756         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
87757         Remove useless quotes: DF_PROG="df".
87758         * m4/strnlen.m4: New file.
87759
87760 2002-01-16  Paul Eggert  <eggert@twinsun.com>
87761
87762         * lib/backupfile.c (ISDIGIT): Comment fix.
87763         * lib/getdate.y (ISDIGIT): Likewise.
87764         * lib/posixtm.c (ISDIGIT, year): Likewise.
87765         * lib/strverscmp.c (ISDIGIT): Likewise.
87766         * lib/userspec.c (ISDIGIT): Likewise.
87767
87768 2002-01-16  Jim Meyering  <meyering@lucent.com>
87769
87770         * lib/getdate.y: Add three semicolons, each just before a closing
87771         brace. Bison (as of version 1.31) no longer papers over that mistake.
87772
87773 2002-01-05  Jim Meyering  <meyering@lucent.com>
87774
87775         * lib/version-etc.c (version_etc_copyright): Update copyright year.
87776
87777 2001-12-19  Paul Eggert  <eggert@twinsun.com>
87778
87779         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
87780         not silently exit merely because the output buffer happens to
87781         have nothing pending.
87782
87783 2001-12-18  Paul Eggert  <eggert@twinsun.com>
87784
87785         See the big note in ../ChangeLog.
87786         * lib/human.c (suffixes): Prefer K to k for 1024.
87787         (generate_suffix_backwards): New function.
87788         (human_readable_inexact): Use it.
87789         * lib/xstrtol.c (__xstrtol): If there is no number but there
87790         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
87791         Accept 'K' as well as 'k'.
87792
87793 2001-12-15  Jim Meyering  <meyering@lucent.com>
87794
87795         * lib/regex.h (__restrict_arr): Update from libc.
87796
87797         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
87798         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
87799         (STREQ): Define.
87800
87801 2001-12-14  Jim Meyering  <meyering@lucent.com>
87802
87803         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
87804         Suggestion from Bruno Haible.
87805
87806 2001-12-10  Jim Meyering  <meyering@lucent.com>
87807
87808         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
87809         xrealloc, Instead, include "xalloc.h".
87810         (initbuffer): Don't cast xmalloc return value to char*.
87811         (readline): Reword comment.
87812         Don't cast xrealloc return value to char*
87813         Return NULL, not 0.
87814
87815 2001-12-09  Jim Meyering  <meyering@lucent.com>
87816
87817         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
87818         about `signed and unsigned type in conditional expression'.
87819         * lib/posixtm.c (posix_time_parse): Likewise.
87820
87821         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
87822
87823         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
87824         to avoid a pedantic warning.
87825
87826         * lib/getstr.c: Don't include assert.h.
87827         (getstr): Remove warning-evoking assertions.
87828         Return -1 if offset parameter is out of bounds.
87829         Change the type of a local from int to size_t.
87830
87831         * lib/strftime.c (my_strftime_localtime_r): Include this function
87832         definition in the `#if ! HAVE_TM_GMTOFF' block.
87833
87834         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
87835         Include xalloc.h instead.
87836
87837 2001-12-02  Jim Meyering  <meyering@lucent.com>
87838
87839         * lib/tempname.c: Don't declare getenv, thus reverting the change of
87840         2001-11-18.  It's no longer necessary, now that stdlib.h is always
87841         included.
87842
87843         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
87844         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
87845
87846 2001-11-30  Akim Demaille  <akim@epita.fr>
87847
87848         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
87849         before being defined.
87850
87851 2001-11-27  Paul Eggert  <eggert@twinsun.com>
87852
87853         * lib/quotearg.h (quotearg_n, quotearg_n_style):
87854         First arg is int, not unsigned.
87855         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
87856         (SIZE_MAX, UINT_MAX): New macros.
87857         (quotearg_n_options): Abort if N is negative.
87858         Avoid overflow check on hosts where size_t is 64 bits and int
87859         is 32 bits, as overflow is impossible there.
87860         Fix off-by-one typo that caused unnecessary reallocation.
87861
87862 2001-11-27  Jim Meyering  <meyering@lucent.com>
87863
87864         * lib/tempname.c: Merge with version from libc.
87865         * lib/regex.c: Likewise.
87866
87867         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
87868         systems for which STDC_HEADERS is 0, it was not included, resulting in
87869         a warning about an integer-to-pointer conversion problem with getenv.
87870         Reported by Volker Borchert.
87871
87872 2001-11-26  Jim Meyering  <meyering@lucent.com>
87873
87874         * lib/gtod.h: Remove file.
87875         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
87876         * lib/gettimeofday.c: Don't include gtod.h.
87877         (GTOD_init): Remove function.
87878         (rpl_gettimeofday): Do its job here instead, rather than aborting.
87879         Suggestion from Volker Borchert.
87880
87881 2001-11-23  Jim Meyering  <meyering@lucent.com>
87882
87883         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
87884         it.
87885         * lib/hash.c (struct hash_table): Define it here instead.
87886
87887 2001-11-22  Jim Meyering  <meyering@lucent.com>
87888
87889         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
87890
87891 2001-11-20  Jim Meyering  <meyering@lucent.com>
87892
87893         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
87894         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
87895
87896 2001-11-19  Jim Meyering  <meyering@lucent.com>
87897
87898         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
87899         directory.  Use "conftestXXXXXX" as the template.
87900         Suggestion from Paul Eggert.
87901
87902         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
87903         immediately, so the test doesn't mistakenly hit the max-open-files
87904         limit.
87905
87906 2001-11-18  Paul Eggert  <eggert@twinsun.com>
87907
87908         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
87909         (TEMPORARIES): New macro.
87910         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
87911         removes an artificial limitation (e.g. HP-UX 10.20, where
87912         TMP_MAX is 17576).
87913
87914 2001-11-18  Jim Meyering  <meyering@lucent.com>
87915
87916         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
87917
87918 2001-11-18  Jim Meyering  <meyering@lucent.com>
87919
87920         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
87921         on SunOS 4.
87922
87923         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
87924         files will be created before anything else.
87925
87926 2001-11-17  Paul Eggert  <eggert@twinsun.com>
87927
87928         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
87929         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
87930
87931 2001-11-17  Jim Meyering  <meyering@lucent.com>
87932
87933         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
87934         Prompted by a report from Bob Proulx.
87935
87936         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
87937         Instead, require UTILS_FUNC_MKSTEMP.
87938
87939 2001-11-17  Jim Meyering  <meyering@lucent.com>
87940
87941         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
87942         Now, that's done as part of AC_FUNC_STRTOD.
87943
87944 2001-11-17  Jim Meyering  <meyering@lucent.com>
87945
87946         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
87947         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
87948         rather than group writable.  Patch by Juan F. Codagnone.
87949
87950         * lib/readtokens.c: Remove explicit declarations of xmalloc and
87951         xrealloc, Instead, include "xalloc.h".
87952
87953         * lib/mountlist.c: Include unlocked-io.h after all system headers.
87954         Remove explicit declarations of xmalloc, xrealloc,
87955         and xstrdup.  Instead, include "xalloc.h".
87956
87957         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
87958         unlocked-io.h.
87959         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
87960         Likewise.
87961         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
87962
87963         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
87964         Reported by Padraig Brady.
87965
87966         * lib/mkstemp.c: #undef mkstemp.
87967         Include config.h.
87968         (rpl_mkstemp): Rename from mkstemp.
87969         Protoize.
87970
87971 2001-11-16  Jim Meyering  <meyering@lucent.com>
87972
87973         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
87974         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
87975         determine the amount of total physical memory, use pstat_getstatic.
87976         HPUX-11 doesn't define _SC_PHYS_PAGES.
87977         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
87978         If sysconf couldn't be used to determine the amount of available
87979         physical memory, use both pstat_getstatic and pstat_getdynamic.
87980         Based on a patch from Bob Proulx.
87981
87982 2001-11-10  Jim Meyering  <meyering@lucent.com>
87983
87984         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
87985         (jm_PREREQ): Use it.
87986
87987 2001-11-09  Jim Meyering  <meyering@lucent.com>
87988
87989         * m4/jm-macros.m4: Require autoconf-2.52f.
87990         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
87991         Use these AC_-prefixed names, not the AM_-prefixed ones.
87992
87993         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
87994
87995 2001-11-05  Jim Meyering  <meyering@lucent.com>
87996
87997         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
87998
87999 2001-11-04  Jim Meyering  <meyering@lucent.com>
88000
88001         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
88002         $DEFS.
88003
88004 2001-11-03  Jim Meyering  <meyering@lucent.com>
88005
88006         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
88007         of AC_DEFUN.
88008
88009         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
88010         know the name of the variable in the macro definition.
88011
88012 2001-11-03  Jim Meyering  <meyering@lucent.com>
88013
88014         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
88015         in argmatch_to_argument call.
88016
88017         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
88018         argument.
88019
88020         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
88021         e.g., a fault due to an attempt to free a NULL pointer.
88022
88023 2001-11-01  Jim Meyering  <meyering@lucent.com>
88024
88025         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
88026         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
88027
88028 2001-11-01  Jim Meyering  <meyering@lucent.com>
88029
88030         * lib/dirfd.c, lib/dirfd.h: New files.
88031         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
88032
88033         * lib/hash.c (hash_print) [TESTING]: Clean up.
88034
88035 2001-10-22  Paul Eggert  <eggert@twinsun.com>
88036
88037         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
88038         to avoid a warning if -Wall.
88039
88040 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
88041
88042         * README: New file
88043         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
88044         (per RMS's instructions, this is now the canonical source)
88045         * lgpl/, gpl/: New directories.
88046
88047 2001-10-21  Paul Eggert  <eggert@twinsun.com>
88048
88049         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
88050
88051 2001-10-21  Jim Meyering  <meyering@lucent.com>
88052
88053         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
88054         this code would end up calling gettext even in packages built
88055         with --disable-nls.
88056         * lib/getopt.c (_): Likewise.
88057         * lib/regex.c (_): Likewise.
88058
88059 2001-10-20  Paul Eggert  <eggert@twinsun.com>
88060
88061         * m4/error.m4 (jm_PREREQ_ERROR):
88062         Do not invoke AC_CHECK_FUNCS with strerror_r, as
88063         AC_FUNC_STRERROR_R does that.
88064         Check for strerror declaration.
88065
88066         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
88067         are supposed to have them these days.
88068         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
88069         Merge changes from latest Autoconf CVS.
88070         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
88071         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
88072         POSIX decided to standardize on the int flavor of strerror_r.
88073
88074 2001-10-20  Paul Eggert  <eggert@twinsun.com>
88075
88076         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
88077         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
88078         Use strerror_r that is only a macro, even if it is not a function.
88079         (strerror): Check for HAVE_DECL_STRERROR before declaring.
88080         (private_strerror): Use prototypes, not old-style function definition.
88081         (print_errno_message): New function.
88082         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
88083         char*-flavored one.
88084         (error_tail, error, error_at_line): Use it.
88085
88086 2001-10-11  Jim Meyering  <meyering@lucent.com>
88087
88088         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
88089         and quote_n (1, ... to avoid clobbering a buffer.
88090
88091 2001-10-05  Jim Meyering  <meyering@lucent.com>
88092
88093         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
88094         hash-pjw.h.
88095         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
88096         * lib/hash-pjw.h: New file.
88097
88098 2001-09-30  Jim Meyering  <meyering@lucent.com>
88099
88100         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
88101         `struct fsstat' has the `f_fstypename' member.
88102         Use that to define FS_TYPE, which is now used to make
88103         the getfsstat link test tighter.
88104
88105 2001-09-30  Jim Meyering  <meyering@lucent.com>
88106
88107         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
88108         Include <sys/ucred.h>, for Apple Darwin.
88109         Include sys/mount.h and sys/fs_types.h only if available.
88110         (FS_TYPE): Define.
88111         (read_filesystem_list): Use FS_TYPE.
88112
88113 2001-09-29  Paul Eggert  <eggert@twinsun.com>
88114
88115         * lib/exclude.c (excluded_filename): 0 -> false, since it's
88116         a boolean context.
88117
88118 2001-09-29  Jim Meyering  <meyering@lucent.com>
88119
88120         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
88121         [one-argument getmntent function]): Include stdio.h before mntent.h.
88122         SunOS 4.1.x needs it for the declaration of `FILE'.
88123         Patch by Volker Borchert.
88124
88125         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
88126         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
88127         sys/fs_types.h, and make the link-test for getfsstat guard #include
88128         directives with appropriate #if HAVE_*_H tests so that we can
88129         detect getfsstat on Apple Darwin1.3.7 systems.
88130         Reported by Nelson Beebe.
88131         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
88132
88133 2001-09-28  Paul Eggert  <eggert@twinsun.com>
88134
88135         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
88136         #defines strtoimax.  Also treat the other strto* functions
88137         like strtoimax.
88138
88139         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
88140         Check for strtoul and strtoumax,
88141         as those declarations are made even in the signed case.
88142         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
88143         Likewise, for strtol and strtoimax.
88144
88145 2001-09-28  Paul Eggert  <eggert@twinsun.com>
88146
88147         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
88148         #defines strtoimax.  Also treat the other strto* functions
88149         like strtoimax.
88150
88151         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
88152         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
88153         (strtoimax, strtoumax): Do not declare if already defined as a macro.
88154
88155 2001-09-26  Jim Meyering  <meyering@lucent.com>
88156
88157         Most macros in unlocked-io.h had the wrong number of arguments.
88158         * lib/gen-uio: New script.
88159         (USE_UNLOCKED_IO): Define to 1 if not already defined.
88160         * lib/unlocked-io.hin: Remove file.
88161         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
88162         rather than trying to embed it here.
88163         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
88164         Reported by Padraig Brady.
88165
88166 2001-09-25  Volker Borchert  <bt@teknon.de>
88167
88168         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
88169         `result'.
88170
88171 2001-09-24  Jim Meyering  <meyering@lucent.com>
88172
88173         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
88174
88175 2001-09-23  Jim Meyering  <meyering@lucent.com>
88176
88177         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
88178         instead of the mere test for existence of mntent.h.  The latter
88179         would get a false-positive on AIX 3.4 systems.
88180         In the outer getmntent if-block, don't die if neither of the getmntent
88181         tests succeeds.  Instead, just fall through and continue with the
88182         remaining tests.
88183
88184 2001-09-23  Jim Meyering  <meyering@lucent.com>
88185
88186         * lib/mountlist.c: Remove useless parentheses in #if directives.
88187         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
88188         the deprecated MOUNTED symbol is no longer defined in mntent.h.
88189
88190 2001-09-22  Jim Meyering  <meyering@lucent.com>
88191
88192         * m4/gettext.m4: New file.  From gettext.
88193         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
88194         * m4/progtest.m4: Likewise
88195         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
88196         * m4/glibc21.m4: Likewise.
88197
88198         * m4/libintl.m4: Remove.  No longer used.
88199
88200 2001-09-22  Jim Meyering  <meyering@lucent.com>
88201
88202         * lib/localcharset.c: Update from latest gettext.
88203         * lib/config.charset: Likewise.
88204
88205 2001-09-20  Jim Meyering  <meyering@lucent.com>
88206
88207         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
88208         strtoimax.
88209         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
88210         strtoumax.
88211
88212 2001-09-20  Jim Meyering  <meyering@lucent.com>
88213
88214         * lib/xstrtol.c (strtoimax): Guard declaration with
88215         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
88216         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
88217         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
88218         (strtoumax): Likewise, for completeness (it wasn't necessary).
88219
88220 2001-09-17  Paul Eggert  <eggert@twinsun.com>
88221
88222         * lib/strtoimax.c (HAVE_LONG_LONG):
88223         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
88224         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
88225         to work around bug in IBM C compiler.
88226
88227 2001-09-17  Jim Meyering  <meyering@lucent.com>
88228
88229         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
88230         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
88231         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
88232         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
88233         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
88234         whenever the right hand side need not be expanded by the shell.
88235
88236 2001-09-16  Paul Eggert  <eggert@twinsun.com>
88237
88238         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
88239         library.  It's not correct, as some older glibcs are buggy.
88240         fnmatch wasn't fixed until glibc 2.2.
88241
88242         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
88243         special shell magic here.
88244
88245 2001-09-16  Jim Meyering  <meyering@lucent.com>
88246
88247         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
88248         * m4/jm-macros.m4: Require it.
88249
88250 2001-09-16  Jim Meyering  <meyering@lucent.com>
88251
88252         * lib/mkdir.c: New file.
88253
88254 2001-09-15  Jim Meyering  <meyering@lucent.com>
88255
88256         * m4/jm-macros.m4: Check for help2man.
88257
88258 2001-09-11  Jim Meyering  <meyering@lucent.com>
88259
88260         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
88261         The body, by Paul Eggert, was moved here from configure.in.
88262         * m4/jm-macros.m4: Require UTILS_HOST_OS.
88263
88264 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88265
88266         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
88267         (jm_PREREQ): Use it.
88268
88269 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88270
88271         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
88272         Use ssize_t, not int, to store result of readlink.
88273         Check for ssize_t overflow as well as size_t overflow,
88274         as POSIX says the result of readlink is implementation-defined
88275         when ssize_t overflows.
88276         Remove unnecessary cast to char*.
88277         Use free+malloc instead of realloc, as the storage doesn't need
88278         to be preserved and it's clearer and can be more efficient that way.
88279         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
88280         * lib/xreadlink.h (xreadlink): Update prototype.
88281
88282 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88283
88284         * lib/xgetcwd.c: Revert some of the previous change; intead,
88285         fix the HAVE_GETCWD_NULL code to behave more like the
88286         !HAVE_GETCWD_NULL code used to.
88287
88288         Include "xalloc.h".
88289         (xgetcwd): Do not return NULL when memory is exhausted; instead,
88290         invoke xalloc_die.
88291
88292 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88293
88294         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
88295         sys/param.h, as pathmax.h includes them.
88296
88297 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88298
88299         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
88300         (jm_PREREQ_XGETCWD): New macro.
88301
88302         * m4/getcwd.m4: New file.
88303
88304 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88305
88306         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
88307         like the HAVE_GETCWD_NULL code.
88308         Include pathmax.h if not HAVE_GETCWD.
88309         Do not include xalloc.h.
88310         (INITIAL_BUFFER_SIZE): New symbol.
88311         Do not use xmalloc / xrealloc, since the caller is responsible for
88312         handling errors.  Preserve errno around `free' during failure.
88313         Do not overrun buffer when using getwd.
88314
88315 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88316
88317         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
88318         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
88319         getcwd (NULL, 0).
88320
88321 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88322
88323         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
88324         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
88325         spotted by Jim Meyering.
88326
88327 2001-09-03  Jim Meyering  <meyering@lucent.com>
88328
88329         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
88330         failure.
88331
88332 2001-09-02  Jim Meyering  <meyering@lucent.com>
88333
88334         * lib/error.c: Update from GNU libc.
88335
88336 2001-09-01  Jim Meyering  <meyering@lucent.com>
88337
88338         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
88339         Used by df.
88340
88341 2001-09-01  Jim Meyering  <meyering@lucent.com>
88342
88343         * lib/xreadlink.c: New file.
88344         * lib/xreadlink.h: New file.
88345         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
88346         xreadlink.h.
88347
88348         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
88349         doesn't conflict with sparc Solaris 7's definition in
88350         /usr/include/sys/int_types.h.
88351
88352         * lib/exclude.c: Use `""', not `<>' to #include non-system header
88353         files.
88354         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
88355         and strncasecmp as r-values.  Unixware didn't have declarations.
88356
88357 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88358
88359         * lib/xstrtol.h: Add copyright notice.
88360         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
88361         LONGINT_INVALID_SUFFIX_CHAR.
88362
88363 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88364
88365         * lib/xstrtol.c (strtoimax): New decl.
88366
88367 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88368
88369         * lib/xgetcwd.c: Don't include pathmax.h.
88370         Include stdlib.h and unistd.h if available.
88371         Include xalloc.h.
88372         (xmalloc, xstrdup, free): Remove decls.
88373         (xgetcwd): Don't assume sizes fit in unsigned.
88374         Check for overflow when computing sizes.
88375         Simplify reallocation code.
88376
88377 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88378
88379         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
88380         a directory's st_size can have an arbitrary value, so the old
88381         usage could waste an arbitrary amount of memory.  All uses
88382         changed.
88383         * lib/savedir.h: Update prototype.
88384
88385 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88386
88387         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
88388
88389         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
88390         old strtoimax.c.
88391
88392         Also, make the following further changes to make this file's
88393         configuration more similar to that of strtol.c:
88394         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
88395         (strtoumax, uintmax_t, strtoull, strtol): Remove.
88396         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
88397         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
88398         changed to signed values.
88399
88400         And make the following changes as well:
88401         Fix copyright notice, as 1999 was missing.
88402         (verify): New macro.
88403         (strtoimax): Check sizes at compile-time, not run-time.
88404         Prefer strtol to strtoll if both work.
88405         (main): Remove; it was not that useful and was a pain to maintain.
88406
88407         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
88408
88409 2001-08-31  Jim Meyering  <meyering@lucent.com>
88410
88411         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
88412         Use an initial, malloc'd, buffer of length 128 rather than
88413         a statically allocated one of length 1024.
88414
88415 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88416
88417         Simplify code, partly by assuming autoconf 2.52 semantics.
88418
88419         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
88420
88421         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
88422         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
88423         All uses removed.
88424         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
88425         Move AC_REQUIRE to next-to-top level, to avoid confusion.
88426         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
88427         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
88428         jm_AC_HEADER_INTTYPES_H.
88429         * m4/jm-macros.m4 (jm_MACROS): Likewise.
88430
88431         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
88432
88433         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
88434         Quote first arg of AC_DEFUN.
88435         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
88436         since they are needed to parse the include file even if we need
88437         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
88438         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
88439         but with opposite signedness.
88440
88441 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88442
88443         Merge 'exclude' changes from tar 1.13.22.
88444         This fixes one or two unlikely storage allocation overflow bugs,
88445         but doesn't change user-visible behavior otherwise.
88446
88447 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88448
88449         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
88450         (jm_PREREQ_EXCLUDE): New macro.
88451
88452 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88453
88454         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
88455         tm to be declared.
88456
88457 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88458
88459         * lib/hash.c: Remove '2001' from copyright notice.
88460
88461 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88462
88463         * lib/full-write.h: New file.
88464         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
88465         * lib/full-write.c: Correct credits, as cccp.c no longer
88466         exists and anyway it was so heavily changed from the old cccp
88467         code as to be unrecognizable.  Include full-write.h.
88468         (full_write): Return size_t, with short writes meaning failure.
88469         All callers changed.  This fixes a bug with large buffers
88470         on 64-bit hosts.
88471         * lib/utime.c: Include full-write.h.
88472
88473 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88474
88475         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
88476         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
88477         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
88478         Include if available.
88479         (<xalloc.h>): Include
88480         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
88481         (verify): New macro.  Use it to verify that EXCLUDE macros do not
88482         collide with FNM macros.
88483         (struct patopts): New struct.
88484         (struct exclude): Use it, as exclude patterns now come with options.
88485         (new_exclude): Support above changes.
88486         (new_exclude, add_exclude_file):
88487         Initial size must now be a power of two to simplify overflow checking.
88488         (free_exclude, fnmatch_no_wildcards): New function.
88489         (excluded_filename): No longer requires options arg, as the options
88490         are determined by add_exclude.  Now returns bool, not int.
88491         (excluded_filename, add_exclude):
88492         Add support for the fancy new exclusion options.
88493         (add_exclude, add_exclude_file): Now takes int options arg.
88494         Check for arithmetic overflow when computing sizes.
88495         (add_exclude_file): xrealloc might modify errno, so don't
88496         realloc until after errno might be used.
88497
88498         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
88499         New macros.
88500         (free_exclude): New decl.
88501         (add_exclude, add_exclude_file): Now takes int options arg.
88502         (excluded_filename): No longer requires options arg, as the options
88503         are determined by add_exclude.  Now returns bool, not int.
88504
88505 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88506
88507         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
88508
88509 2001-08-27  Jim Meyering  <meyering@lucent.com>
88510
88511         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
88512
88513         * lib/version-etc.c (N_): Remove definition.
88514         Revert most of last change.
88515         Instead, simply don't mark the `Copyright...' string for translation.
88516         Based on advice from Paul Eggert.
88517
88518         * lib/strtoxmax.c: Tweak comment.
88519
88520 2001-08-26  Jim Meyering  <meyering@lucent.com>
88521
88522         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
88523
88524         * m4/xstrtoimax.m4: New file.
88525         * m4/xstrtoumax.m4: Add comments explaining why we
88526         AC_REPLACE_FUNCS(strtol).
88527
88528 2001-08-26  Jim Meyering  <meyering@lucent.com>
88529
88530         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
88531         of copyright with `%s' so translators don't get an untranslated
88532         message in 2002.
88533         (COPYRIGHT_YEAR): Define.
88534         (version_etc): Use fprintf rather than fputs.
88535         Suggestion from Ulrich Drepper.
88536
88537         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
88538
88539         * lib/strtoll.c: New file, from GNU libc.
88540         * lib/xstrtoimax.c: New file.
88541
88542         * lib/xstrtol.h: Add xstrtoimax.
88543         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
88544         * lib/strtoimax.c: New file.  Likewise, but first define
88545         STRTOUXMAX_SIGNED.
88546
88547         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
88548         ...
88549         * lib/strtoxmax.c: ... then renamed to this.
88550
88551 2001-08-18  Paul Eggert  <eggert@twinsun.com>
88552
88553         * m4/inttypes.m4: Add AC_PREREQ(2.13).
88554         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
88555         (jm_AC_TYPE_INTMAX_T): New macro.
88556         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
88557
88558         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
88559
88560         * m4/longlong.m4: Renamed from ulonglong.m4.
88561         * m4/inttypes.m4: Renamed from inttypes_h.m4.
88562         * m4/uintmax_t.m4: Removed.
88563
88564 2001-08-13  Paul Eggert  <eggert@twinsun.com>
88565
88566         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
88567         Port to Solaris 8, where 'sed' requires a space after the 'r'
88568         command, and where sh dislikes "$/".  Clean up the spacing a bit.
88569         Redirect output to $tmp just once.
88570
88571 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
88572
88573         * lib/addext.c (<errno.h>): Include.
88574         (errno): Declare if not defined.
88575         (addext): Work correctly when pathconf returns -1 and leaves
88576         errno alone because there is no limit.  Also, work even if
88577         pathconf returns a value greater than SIZE_MAX.
88578
88579 2001-08-12  Jim Meyering  <meyering@lucent.com>
88580
88581         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
88582         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
88583         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
88584         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
88585         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
88586         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
88587         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
88588         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
88589         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
88590         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
88591         utime.m4, utimes.m4, xstrtoumax.m4:
88592         Quote the first argument in each use of AC_DEFUN.
88593
88594 2001-08-12  Jim Meyering  <meyering@lucent.com>
88595
88596         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
88597         Simply `return getcwd (NULL, 0);'.
88598         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
88599         Use 1300 as initial value for length, not PATH_MAX.
88600
88601         * lib/pathmax.h: Clean up cpp syntax.
88602
88603 2001-08-12  Jim Meyering  <meyering@lucent.com>
88604
88605         * lib/gettimeofday.c: New file.
88606         * lib/gtod.h: New file.
88607         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
88608
88609 2001-08-05  Jim Meyering  <meyering@lucent.com>
88610
88611         * m4/jm-macros.m4: Require autoconf-2.52.
88612
88613 2001-08-04  Jim Meyering  <meyering@lucent.com>
88614
88615         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
88616         stmt, to get in sync with glibc.
88617
88618 2001-08-03  Paul Eggert  <eggert@twinsun.com>
88619
88620         The following changes are from gettext 0.10.39 as maintained by
88621         Bruno Haible.
88622
88623         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
88624         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
88625         with inverted sense.  All uses changed.
88626
88627         * lib/mbswidth.c: Don't include <limits.h>.
88628         Include <stdlib.h> and <string.h> unconditionally.
88629         (iswcntrl, mbsinit, ISCNTRL): New macros.
88630         (mbsnwidth): Use K&R style function declarations.
88631         Don't bother checking for MB_LEN_MAX == 1, since the compiler
88632         can optimize it when MB_CUR_MAX == 1.
88633         The width of control characters is zero, not 1.
88634
88635 2001-08-03  Paul Eggert  <eggert@twinsun.com>
88636
88637         The following changes are from gettext 0.10.39 as maintained by
88638         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
88639
88640         * m4/codeset.m4: Upgrade to serial AM1.
88641         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
88642         all uses changed.  Quote first arg of AC_DEFUN.
88643         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
88644
88645         * m4/iconv.m4: Upgrade to serial AM2.
88646         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
88647         Add --with-libconv-prefix.
88648         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
88649         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
88650         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
88651         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
88652         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
88653
88654         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
88655         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
88656         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
88657         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
88658         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
88659         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
88660         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
88661         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
88662         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
88663
88664         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
88665         string.h any more.
88666
88667         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
88668         not the default value.
88669
88670         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
88671         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
88672         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
88673         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
88674         Also check for iswcntrl, used for wcwidth fallback.
88675         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
88676         to Autoconf 2.13.
88677
88678 2001-08-03  Jim Meyering  <meyering@lucent.com>
88679
88680         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
88681         as it was in the original.  Reported by Paul Eggert.
88682
88683 2001-07-16  Jim Meyering  <meyering@lucent.com>
88684
88685         * m4/gettimeofday.m4: New file.
88686         Prompted by a report from Bernhard Baehr.
88687
88688 2001-07-15  Jim Meyering  <meyering@lucent.com>
88689
88690         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
88691         stuff. Now it's in ../Makefile.cfg.
88692
88693 2001-07-15  Jim Meyering  <meyering@lucent.com>
88694
88695         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
88696         (BUILT_SOURCES): Add unlocked-io.h.
88697         (io_functions): Define.
88698         (unlocked-io.h): New rule.
88699         (DISTCLEANFILES): Add unlocked-io.h.
88700         (all-local): Depend on unlocked-io.h, to ensure it is created.
88701
88702         * lib/unlocked-io.hin: New file
88703
88704         * lib/regex.c: Update from glibc.
88705
88706 2001-07-05  Jim Meyering  <meyering@lucent.com>
88707
88708         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
88709         recommendation.
88710         (libfetish_a_SOURCES): Put all .h files here instead.
88711         Remove a thus-exposed (better checks in automake) duplicate and
88712         two unnecessary .h files.
88713
88714 2001-07-04  Jim Meyering  <meyering@lucent.com>
88715
88716         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
88717         that generates jm-glibc-io.m4 so that it doesn't trigger any make
88718         distcheck failure.
88719
88720 2001-07-02  Jim Meyering  <meyering@lucent.com>
88721
88722         The following changes were prompted by suggestions from Bruno Haible.
88723
88724         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
88725         is now generated.
88726         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
88727         definition of EXTRA_DIST.
88728         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
88729         ensure that the generated file is created/updated whenever the list
88730         of $(unlocked_functions) is changed.
88731         (jm-glibc-io.m4): New rule.
88732         (unlocked-io.h): New rule -- currently unused.
88733
88734 2001-06-24  Jim Meyering  <meyering@lucent.com>
88735
88736         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
88737         unmatched right bracket, rather than kludging it with an extra,
88738         falsely-matching quote in a comment.  Patch by Akim Demaille.
88739
88740 2001-06-11  Jim Meyering  <meyering@lucent.com>
88741
88742         * lib/regex.c: Update from GNU libc.
88743
88744 2001-05-27  Jim Meyering  <meyering@lucent.com>
88745
88746         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
88747         Check for ut_type in struct utmp.
88748
88749 2001-05-27  Jim Meyering  <meyering@lucent.com>
88750
88751         * lib/readutmp.h (UT_TYPE): Define.
88752
88753 2001-05-24  Jim Meyering  <meyering@lucent.com>
88754
88755         * lib/argmatch.c: Include "quote.h".
88756         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
88757         quote function.  Reported by Göran Uddeborg.
88758
88759 2001-05-22  Jim Meyering  <meyering@lucent.com>
88760
88761         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
88762         now that we use the package-supplied version unconditionally.
88763         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
88764
88765 2001-05-21  Jim Meyering  <meyering@lucent.com>
88766
88767         * m4/regex.m4: Change a couple backticks to single quotes to avoid
88768         shell syntax errors.
88769
88770 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
88771
88772         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
88773
88774 2001-05-20  Paul Eggert  <eggert@twinsun.com>
88775
88776         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
88777         Don't bother to check library strftime, since
88778         we'll be using our own my_strftime function anyway.
88779         Define my_strftime instead of strftime.
88780
88781 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
88782
88783         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
88784         which is not yet declared.
88785
88786 2001-05-15  Jim Meyering  <meyering@lucent.com>
88787
88788         * m4/regex.m4: Use proper quoting so brackets appear in the test
88789         program.
88790         Reported by, and with help from, Bruno Haible.
88791
88792 2001-05-13  Jim Meyering  <meyering@lucent.com>
88793
88794         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
88795         undefined.
88796
88797 2001-05-11  Paul Eggert  <eggert@twinsun.com>
88798
88799         dirname code cleanup.  base_name now behaves more compatibly
88800         with POSIX basename when given file names that have trailing
88801         slashes, and similarly for dir_name.  Add new primitives
88802         base_len and dir_len.  Put the directory-name-related decls
88803         into dirname.h.
88804
88805         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
88806         * lib/backupfile.c (base_name): Likewise.
88807         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
88808         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
88809         * lib/makepath.c (strip_trailing_slashes): Likewise.
88810         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
88811         ISSLASH): Likewise.
88812         * lib/rename.c (strip_trailing_slashes): Likewise.
88813         * lib/same.c (base_name): Likewise.
88814         * lib/stripslash.c (ISSLASH): Likewise.
88815
88816         * lib/addext.c: Include <dirname.h> after size_t is defined.
88817         * lib/backupfile.c: Likewise.
88818
88819         * lib/addext.c (addext): Use base_len to trim redundant
88820         trailing slashes instead of doing it ourselves.
88821         But do not trim the last slash if it is not redundant.
88822
88823         * lib/backupfile.c (find_backup_file_name,
88824         max_backup_version): Use base_len instead of rolling it ourselves.
88825         Handle the case of "" and (on DOS) "C:" correctly.
88826
88827         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
88828         needed. Include <string.h>, <dirname.h>.
88829         (base_name): Allow file names ending in slashes, other than names
88830         that are all slashes.  In this case, return the basename followed
88831         by the slashes.  This is more general, and can be used in places
88832         where the original base_name purposely had an assertion failure.
88833         (base_len): New function.
88834
88835         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
88836         Do not include <assert.h>; no longer needed.
88837         Include xalloc.h.
88838         (memrchr): Remove decl.
88839         (dir_name_r): Remove.
88840         (dir_len): Renamed from dirlen.  All callers changed.
88841         Rewrite in terms of base_name, for simplicity and consistency.
88842         (dir_name): Never return NULL.  All callers changed.
88843         Do not include <stdlib.h> in test program; no longer needed.
88844         return 0; is fine for test program.
88845
88846         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
88847         New macros.
88848         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
88849
88850         * lib/path-concat.c (path_concat): Use base_len to compute
88851         base length, not strlen; this means we cannot rely on memcpy
88852         to null-terminate.
88853
88854         * lib/same.c (STREQ): Remove.
88855         (same_name): Handle the case where the basename ends in trailing '/'.
88856
88857         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
88858         a slash was stripped.  Do not strip the last slash after a
88859         file system prefix.
88860
88861 2001-05-11  Paul Eggert  <eggert@twinsun.com>
88862
88863         * lib/Makefile.am (libfetish_a_SOURCES):
88864         Add strftime.c, since we now compile it on all hosts.
88865
88866         * lib/strftime.c (my_strftime):
88867         Define to nstrftime if emacs, but only if my_strftime is not defined.
88868         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
88869         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
88870         Add one more extra argument: a nanoseconds value.
88871         All uses changed.
88872         (ns): New macro.
88873         (my_strftime function): Add %N format.
88874         (emacs_strftimeu): Renamed from emacs_strftime,
88875         with extra ut argument.
88876
88877 2001-05-09  Paul Eggert  <eggert@twinsun.com>
88878
88879         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
88880
88881 2001-04-21  Jim Meyering  <meyering@lucent.com>
88882
88883         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
88884         doesn't interfere.
88885
88886 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
88887
88888         * m4/ftruncate.m4: Check for chsize.
88889         Link with ftruncate.o unconditionally if ftruncate is missing.
88890         This was required when cross-compiling to i586-mingw32msvc.
88891
88892 2001-04-08  Jim Meyering  <meyering@lucent.com>
88893
88894         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
88895         recomputed; that's necessary when the offset spans a DST transition.
88896         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
88897
88898 2001-04-02  Jim Meyering  <meyering@lucent.com>
88899
88900         * lib/regex.h, regex.c: Update from GNU libc.
88901
88902 2001-03-24  Jim Meyering  <meyering@lucent.com>
88903
88904         * m4/jm-macros.m4: Require autoconf-2.49d.
88905
88906 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
88907
88908         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
88909
88910 2001-03-19  Paul Eggert  <eggert@twinsun.com>
88911
88912         * lib/version-etc.c (version_etc_copyright): Update to 2001.
88913
88914 2001-03-17  Jim Meyering  <meyering@lucent.com>
88915
88916         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
88917         now that the version in autoconf is equivalent.
88918         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
88919
88920         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
88921         Suggestion from Akim Demaille.
88922
88923         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
88924         (jm_PREREQ_TEMPNAME): New function.
88925
88926 2001-03-16  Paul Eggert  <eggert@twinsun.com>
88927
88928         * lib/tempname.c (uint64_t): Define to uintmax_t if
88929         not defined, and if UINT64_MAX is not defined.
88930         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
88931         Reported by John David Anglin.
88932
88933 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
88934
88935         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
88936         resolve alias if codeset is empty.
88937         * lib/config.charset (BeOS): Use wildcard syntax.
88938
88939 2001-03-13  Jim Meyering  <meyering@lucent.com>
88940
88941         * lib/path-concat.c (path_concat)
88942         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
88943         concatenating e.g., `C:' and `foo'.
88944         From Bruno Haible.
88945
88946 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
88947
88948         * lib/localcharset.c (locale_charset): Don't use
88949         setlocale(LC_CTYPE,NULL). Don't return NULL.
88950         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
88951
88952 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
88953
88954         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
88955         support for DOS/DJGPP.
88956
88957 2001-03-01  Paul Eggert  <eggert@twinsun.com>
88958
88959         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
88960         lacks mkstemp.  Compile our own tempname.c if we compile our own
88961         mkstemp.c, as mkstemp relies on tempname.
88962
88963 2001-03-01  Jim Meyering  <meyering@lucent.com>
88964
88965         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
88966         AH_VERBATIM really does output its argument verbatim.
88967
88968 2001-02-28  Paul Eggert  <eggert@twinsun.com>
88969
88970         * lib/Makefile.am (libfetish_a_SOURCES):
88971         Add dup-safer.c, fopen-safer.c.
88972         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
88973
88974         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
88975         * lib/unistd-safer.h: New files.
88976
88977 2001-02-25  Paul Eggert  <eggert@twinsun.com>
88978
88979         The mkstemp replacement is taken from glibc 2.2.2, with some
88980         portability fixes for use outside glibc, as follows:
88981
88982         * lib/tempname.c (struct_stat64): New macro.
88983         (direxists, __gen_tempname): Use it.
88984         This avoids a portability problem with Solaris 8.
88985
88986         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
88987         (<stddef.h>, <stdint.h>, <string.h>):
88988         Include only if STDC_HEADERS || _LIBC.
88989         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
88990         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
88991         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
88992         (__set_errno): Define this macro if <errno.h> doesn't.
88993         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
88994         Define these macros if <stdio.h> doesn't.
88995         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
88996         Define these macros if <sys/stat.h>
88997         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
88998         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
88999         __xstat64): Define if not _LIBC.
89000         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
89001         (__gen_tempname): Invoke gettimeofday only if
89002         HAVE_GETTIMEOFDAY || _LIBC;
89003         otherwise, fall back on plain "time".
89004         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
89005
89006         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
89007
89008         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
89009
89010 2001-02-18  Paul Eggert  <eggert@twinsun.com>
89011
89012         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
89013
89014 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89015
89016         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
89017         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
89018         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
89019         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89020
89021 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89022
89023         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
89024         Remove workaround macros for hosts that have mbrtowc but not
89025         mbstate_t, as we now insist on proper declarations for both
89026         before using mbrtowc.
89027
89028 2001-02-17  Jim Meyering  <meyering@lucent.com>
89029
89030         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
89031         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
89032         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
89033         UnixWare 7.1.1.
89034
89035         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
89036         rather than AC_CACHE_VAL.
89037
89038 2001-02-17  Jim Meyering  <meyering@lucent.com>
89039
89040         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
89041         around included file name.
89042
89043         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
89044
89045         * lib/strftime.c: Update from GNU libc (the only changes were to
89046         comments).
89047
89048 2001-02-17  Jim Meyering  <meyering@lucent.com>
89049
89050         * lib/regex.c: Update from libc.
89051
89052 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
89053
89054         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
89055         clash.
89056
89057 2001-02-16  Paul Eggert  <eggert@twinsun.com>
89058
89059         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
89060         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
89061         Reported by Mark Hounschell via Paul Eggert.
89062
89063 2001-02-07  Jim Meyering  <meyering@lucent.com>
89064
89065         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
89066
89067 2001-02-05  Jim Meyering  <meyering@lucent.com>
89068
89069         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
89070         it includes the patch required for `large file' support with at least
89071         HP-UX's 10.20 /bin/cc.
89072
89073 2001-02-03  Jim Meyering  <meyering@lucent.com>
89074
89075         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
89076         AS_IF, now that it works once again (mysteriously).
89077         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
89078
89079 2001-01-30  Jim Meyering  <meyering@lucent.com>
89080
89081         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
89082         * m4/chown.m4: Rename conftestchown to conftest.chown.
89083         * m4/rename.m4: s/conftestdir/conftest.d1/ and
89084         s/conftestdir2/conftest.d2/.
89085         * m4/utimes.m4: s/conftestdata/conftest.data/
89086         Inspired by Pavel Roskin's change in autoconf.
89087
89088 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
89089
89090         * lib/config.charset: Update for FreeBSD 4.2.
89091
89092 2001-01-27  Jim Meyering  <meyering@lucent.com>
89093
89094         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
89095         a use of AS_IF.
89096         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
89097
89098 2001-01-26  Jim Meyering  <meyering@lucent.com>
89099
89100         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
89101         quotearg.c includes it.
89102
89103 2001-01-26  Jim Meyering  <meyering@lucent.com>
89104
89105         * lib/quotearg.c: Include stddef.h.
89106         * lib/quote.c: Include stddef.h.
89107         Reported by Axel Kittenberger.
89108
89109         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
89110         line in double quotes so that it evokes a better diagnostic.
89111         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
89112         Reported by Axel Kittenberger.
89113
89114 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
89115
89116         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
89117         as if it was a `charset'.
89118
89119 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
89120
89121         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
89122         has const.
89123
89124 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
89125
89126         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
89127         to avoid a warning.  Add back 'const' to inptr.
89128
89129 2001-01-20  Jim Meyering  <meyering@lucent.com>
89130
89131         Be sure that headers are checked before used in code compiled
89132         for the type checks.
89133         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
89134         In place of that, invoke jm_CHECK_ALL_TYPES.
89135         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
89136         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
89137         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
89138         The check for ssize_t was mistakenly run before the test for unistd.h.
89139
89140         The configure-time check for stdbool.h was missing.
89141         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
89142         (jm_PREREQ_HASH): New function.
89143
89144 2001-01-17  Jim Meyering  <meyering@lucent.com>
89145
89146         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
89147         for autoconf-2.49c.
89148         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
89149
89150 2001-01-16  Jim Meyering  <meyering@lucent.com>
89151
89152         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
89153         From Bruno Haible.
89154
89155 2001-01-14  Jim Meyering  <meyering@lucent.com>
89156
89157         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
89158         foo and bar.  Create conftestdir/ in the script, not in the C code.
89159         Remove directories in the script, not in the C code.
89160         Remove conftestdir{,2} before trying to create the directory.
89161         Make the entire configure script fail if the mkdir fails.
89162
89163 2001-01-14  Jim Meyering  <meyering@lucent.com>
89164
89165         * lib/rename.c: New file.  From Volker Borchert.
89166         Include stdlib.h, string.h or strings.h, and xalloc.h.
89167         Use strip_trailing_slashes rather than open-coding it.
89168
89169 2001-01-03  Paul Eggert  <eggert@twinsun.com>
89170
89171         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
89172
89173 2001-01-03  Jim Meyering  <meyering@lucent.com>
89174
89175         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
89176         of local `inptr' to avoid warning with some system declarations of
89177         iconv.
89178
89179 2001-01-02  Volker Borchert  <bt@teknon.de>
89180
89181         * m4/rename.m4: New file.
89182         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
89183
89184 2001-01-01  Jim Meyering  <meyering@lucent.com>
89185
89186         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
89187         even on systems with utmpx.h.  It's necessary for the declaration of
89188         utmp's ut_user member.  Reported by Andreas Jaeger.
89189
89190         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
89191         available. They are required for the declarations of getgrgid and
89192         getpwuid resp.
89193         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
89194         Reported by Andreas Jaeger.
89195
89196 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
89197
89198         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
89199         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
89200         so `make install' also works in VPATH builds.
89201
89202 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
89203
89204         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
89205         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
89206         can be used in subdirectories.
89207
89208 2000-12-29  Paul Eggert  <eggert@twinsun.com>
89209
89210         * lib/modechange.c: Do not assume that mode_t uses the
89211         traditional octal encoding.  E.g. "chmod 1 FOO" should set
89212         the other-execute bit of FOO even if S_IXOTH != 1.
89213
89214         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
89215         WOTH, XOTH, ALLM): New macros.
89216         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
89217          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
89218         Use them.
89219         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
89220         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
89221         (mode_compile):
89222         No need to use uintmax_t; unsigned long is long enough.
89223         Don't bother to get suffix since we don't use it.
89224
89225 2000-12-26  Jim Meyering  <meyering@lucent.com>
89226
89227         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
89228         better with autoheader.
89229
89230 2000-12-24  Jim Meyering  <meyering@lucent.com>
89231
89232         * lib/hash.c (is_prime): Return explicit boolean values.
89233         (hash_get_first): Return NULL to appease Irix5.6's 89.
89234         Reported by Nelson Beebe.
89235
89236 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
89237
89238         * lib/localcharset.c (locale_charset): Add support for Win32.
89239
89240 2000-12-18  Paul Eggert  <eggert@twinsun.com>
89241
89242         * lib/physmem.h, lib/physmem.c: New files.
89243
89244         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
89245         (noinst_HEADERS): Add physmem.h.
89246
89247         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
89248         't' for compatibility with Solaris 8 sort.
89249
89250 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
89251
89252         * lib/config.charset: Add support for BeOS.
89253
89254 2000-12-17  Jim Meyering  <meyering@lucent.com>
89255
89256         * m4/dos.m4 (jm_AC_DOS): New file and macro.
89257         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
89258
89259 2000-12-16  Jim Meyering  <meyering@lucent.com>
89260
89261         This bug had a serious impact on chown: `chown N:M FILE' (for integer
89262         N and M) would have treated it like `chown N:N FILE'.
89263
89264         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
89265
89266 2000-12-16  Jim Meyering  <meyering@lucent.com>
89267
89268         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
89269         SHELLS_FILE to a file name that's useful on djgpp systems.
89270         Include stdlib.h.
89271         (ADDITIONAL_DEFAULT_SHELLS): Define.
89272         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
89273         Based mostly on a patch from Prashant TR.
89274
89275 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
89276
89277         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
89278         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
89279         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
89280
89281 2000-12-08  Andreas Schwab  <schwab@suse.de>
89282
89283         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
89284         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
89285
89286 2000-12-07  Jim Meyering  <meyering@lucent.com>
89287
89288         * lib/stripslash.c (ISSLASH): Define.
89289         (strip_trailing_slashes): Use ISSLASH rather than comparing against
89290         `/'.
89291         From Prashant TR.
89292
89293         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
89294         (dir_name_r): Declare this function as static.
89295         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
89296         manifest itself on a name containing a mix of slashes and
89297         backslashes.
89298         Make this function work with names starting with a DOS-style
89299         drive letter and colon prefix.
89300         (dir_name): Append `.' if necessary.
89301         Based mostly on patches from Prashant TR and Eli Zaretskii.
89302
89303         * lib/dirname.h (dir_name_r): Remove prototype.
89304
89305 2000-12-06  Paul Eggert  <eggert@twinsun.com>
89306
89307         * m4/off_t-format.m4: Remove this file.
89308         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
89309
89310 2000-12-06  Jim Meyering  <meyering@lucent.com>
89311
89312         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
89313         replacement strtoull, we may well need the replacement strtoul, too.
89314         Check for declarations of strtoul and strtoull.
89315         Check for strtol.  Mainly as a cue to cause automake to include
89316         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
89317         Check for limits.h -- strtol.c needs it.
89318
89319 2000-12-05  Jim Meyering  <meyering@lucent.com>
89320
89321         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
89322
89323 2000-12-04  Jim Meyering  <meyering@lucent.com>
89324
89325         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
89326         Also include memory.h, stdlib.h, unistd.h if appropriate.
89327         Reported by Andreas Jaeger (conflicting declaration of malloc).
89328
89329 2000-12-02  Jim Meyering  <meyering@lucent.com>
89330
89331         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
89332         * m4/jm-macros.m4 (jm_MACROS): require it.
89333
89334 2000-12-02  Jim Meyering  <meyering@lucent.com>
89335
89336         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
89337
89338 2000-12-01  Paul Eggert  <eggert@twinsun.com>
89339
89340         * lib/memrchr.c: Include <config.h> before any system include file.
89341
89342 2000-11-30  Jim Meyering  <meyering@lucent.com>
89343
89344         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
89345
89346 2000-11-30  Jim Meyering  <meyering@lucent.com>
89347
89348         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
89349
89350 2000-11-29  Paul Eggert  <eggert@twinsun.com>
89351
89352         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
89353
89354 2000-11-26  Jim Meyering  <meyering@lucent.com>
89355
89356         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
89357
89358 2000-11-22  Paul Eggert  <eggert@twinsun.com>
89359
89360         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
89361         size of (size_t) -1; it's not portable.
89362
89363 2000-11-17  Jim Meyering  <meyering@lucent.com>
89364
89365         * lib/strstr.c: Update from GNU libc.
89366
89367 2000-11-17  Akim Demaille  <akim@epita.fr>
89368
89369         * lib/obstack.h: Formatting changes.
89370         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
89371         prevent type checking.
89372         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
89373         cast the value to (void *): assigning a `foo *' to a `void *'
89374         variable is valid.
89375         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
89376
89377 2000-11-16  Jim Meyering  <meyering@lucent.com>
89378
89379         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
89380
89381 2000-11-11  Jim Meyering  <meyering@lucent.com>
89382
89383         * lib/error.c: Add a couple #includes, merging from GNU libc version.
89384
89385 2000-11-10  Jim Meyering  <meyering@lucent.com>
89386
89387         * lib/obstack.h: Update from GNU libc.
89388         * lib/obstack.c: Likewise.
89389
89390 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
89391
89392         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
89393
89394 2000-11-06  Paul Eggert  <eggert@twinsun.com>
89395
89396         * lib/getusershell.c (setusershell): Use rewind rather than
89397         fseek/fseeko, to avoid configuration hassles with fseeko.
89398         Don't bother opening SHELLS_FILE if shellstream is NULL;
89399         it's not necessary.
89400
89401 2000-11-05  Jim Meyering  <meyering@lucent.com>
89402
89403         * lib/makepath.h (make_dir): Declare.
89404         * lib/makepath.c (make_dir): Remove `static' attribute.
89405         Tweak a comment.
89406
89407 2000-11-04  Jim Meyering  <meyering@lucent.com>
89408
89409         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
89410
89411 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
89412
89413         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
89414         last one in a bucket, advance to the next bucket.
89415
89416 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
89417
89418         * lib/fnmatch.c: Do not comment out all the code if we are using
89419         the GNU C library, because in some cases we are replacing buggy
89420         code in the GNU C library itself.
89421
89422 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
89423
89424         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
89425         (regex_compile): Catch bogus \(\1\).
89426
89427 2000-10-30  Paul Eggert  <eggert@twinsun.com>
89428
89429         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
89430         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
89431         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
89432
89433 2000-10-30  Paul Eggert  <eggert@twinsun.com>
89434
89435         * lib/error.h, getline.h, modechange.h:
89436         Remove "2000" from Copyright line, as the file hasn't been
89437         changed this year other than in the copyright notice.
89438
89439         * lib/xalloc.h: Add "2000" to Copyright line, as this file
89440         was changed this year.
89441
89442 2000-10-29  Jim Meyering  <meyering@lucent.com>
89443
89444         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
89445         renaming.
89446         * m4/ls-mntd-fs.m4: Likewise
89447
89448 2000-10-29  Jim Meyering  <meyering@lucent.com>
89449
89450         * lib/xstat.in: Fix grammar in comment.
89451
89452 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
89453
89454         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
89455         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
89456         doesn't define __restrict_arr.
89457
89458 2000-10-28  Jim Meyering  <meyering@lucent.com>
89459
89460         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
89461         (jm_PREREQ_MEMCHR): New function.
89462
89463 2000-10-28  Jim Meyering  <meyering@lucent.com>
89464
89465         * lib/memchr.c: Update from libc.
89466         Adjust for portability:
89467         [HAVE_STDLIB_H]: Include stdlib.h.
89468         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
89469         Undef __memchr, too.
89470         [!weak_alias]: Define __memchr to memchr.
89471
89472         * lib/regex.c: Update from libc.
89473         * lib/regex.h: Likewise.
89474         * lib/getopt1.c: Likewise.
89475         * lib/memcmp.c: Likewise.
89476
89477         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
89478         Avoid using fseek, when possible -- it's broken by design.
89479         Patch by Ulrich Drepper.
89480
89481 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
89482
89483         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
89484         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
89485         Giving in to popular pressure to shut up the compiler with casts.
89486
89487 2000-10-26  Jim Meyering  <meyering@lucent.com>
89488
89489         * lib/strftime.c: Update from libc.
89490
89491 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
89492
89493         * regex.c: More `unsigned char' -> `re_char' changes.
89494         Also change several `int' into `re_wchar_t'.
89495         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
89496         (PUSH_FAILURE_POINTER): Don't cast any more.
89497         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
89498         We want GCC to complain, since this piece of code makes
89499         re_match non-reentrant, which *should* be fixed.
89500         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
89501         (EXTEND_BUFFER): Use RETALLOC.
89502         (SET_LIST_BIT): Don't cast.
89503         (re_wchar_t): New type.
89504         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
89505         that those two functions will always properly return.
89506         (IMMEDIATE_QUIT_CHECK): Cast to void.
89507         (analyse_first): Use recursion rather than an explicit stack.
89508         (re_compile_fastmap): Can't fail anymore.
89509         (re_search_2): Don't check re_compile_fastmap for failure.
89510         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
89511         Now also sets the new value (passed in a new argument).
89512         (re_match_2_internal): Use it.
89513         Also, use a new var `reg' of type size_t when looping through regs
89514         rather than reuse the inappropriate `mcnt'.
89515
89516 2000-10-25  Jim Meyering  <meyering@lucent.com>
89517
89518         * lib/obstack.c: Update from libc.
89519
89520 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
89521
89522         * regex.c (regex_compile): Change the way of handling a range from
89523         a char less than 256 to a char not less than 256.
89524
89525 2000-10-24  Andrew Innes  <andrewi@gnu.org>
89526
89527         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
89528         NT-Emacs only.
89529         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
89530         so that re_search functions only quit when callers expect them to.
89531
89532 2000-10-23  Jim Meyering  <meyering@lucent.com>
89533
89534         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
89535         wrong.  That set_locale call must not have any side effects.
89536         From Paul Eggert.
89537
89538 2000-10-22  Jim Meyering  <meyering@lucent.com>
89539
89540         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
89541         [CYCLIC]: Remove now-unused definition.
89542
89543         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
89544         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
89545         Suggestion from Ulrich Drepper.
89546
89547 2000-10-21  Jim Meyering  <meyering@lucent.com>
89548
89549         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
89550         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
89551         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
89552
89553 2000-10-21  Jim Meyering  <meyering@lucent.com>
89554
89555         * lib/dirname.c (memrchr): Declare if necessary.
89556         (dir_name): Remove the restriction that there be no
89557         trailing slashes.  Now, this code skips past them, effectively
89558         ignoring them.
89559         [TEST_DIRNAME] (main): New unit tests.
89560
89561         * lib/memrchr.c: New file from GNU libc.
89562         Undef __memrchr, too.
89563         [!weak_alias]: Define __memrchr to memrchr.
89564         Guard weak_alias use with `#ifdef weak_alias'.
89565
89566 2000-10-21  Jim Meyering  <meyering@lucent.com>
89567
89568         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
89569         (dir_name): Use dir_name_r.
89570         * lib/dirname.h (dir_name_r): Declare it.
89571
89572 2000-10-17  Jim Meyering  <meyering@lucent.com>
89573
89574         * lib/quote.h (PARAMS): Define and use.
89575         Reported by Akim Demaille.
89576
89577         * lib/getopt.c: Update from libc.
89578
89579 2000-10-16  Jim Meyering  <meyering@lucent.com>
89580
89581         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
89582         setlocale.
89583         From Jan Fedak.
89584
89585 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
89586
89587         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
89588
89589 2000-09-25  Jim Meyering  <meyering@lucent.com>
89590
89591         * lib/md5.h (rol): Define (from GnuPG).
89592
89593         * lib/sha.c: Give credit (GnuPG) where due.
89594         (M): Use rol rather than open-coding it.
89595         Add a FIXME comment.
89596
89597 2000-09-21  Jim Meyering  <meyering@lucent.com>
89598
89599         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
89600         Reported by Michael Stone.
89601
89602 2000-09-20  Jim Meyering  <meyering@lucent.com>
89603
89604         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
89605         (noinst_HEADERS): Add sha.h.
89606         Based on code from Scott G. Miller and from GnuPG.
89607
89608 2000-09-18  Jim Meyering  <meyering@lucent.com>
89609
89610         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
89611         LIBS. Otherwise, everyone ends up linking with -lelf for some
89612         configurations.
89613         Reported by Mike Stone.
89614
89615 2000-09-15  Jim Meyering  <meyering@lucent.com>
89616
89617         * lib/regex.c: Update from libc.
89618
89619 2000-09-10  Jim Meyering  <meyering@lucent.com>
89620
89621         * lib/getopt.c (_getopt_internal): Update from glibc.
89622
89623 2000-09-09  Jim Meyering  <meyering@lucent.com>
89624
89625         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
89626         think it should be used as a general replacement for isascii.
89627         * lib/fnmatch.c: Likewise.
89628         * lib/mbswidth.c: Likewise
89629         * lib/regex.c: Likewise.
89630
89631         Don't use atoi.
89632         * lib/userspec.c: Include sys/param.h and limits.h.
89633         Include xstrtol.h.
89634         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
89635         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
89636         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
89637         UID, GID.  Check range.
89638
89639 2000-09-06  Jim Meyering  <meyering@lucent.com>
89640
89641         * lib/getopt.c (_getopt_internal): Update from glibc.
89642
89643 2000-08-30  Jim Meyering  <meyering@lucent.com>
89644
89645         * lib/strftime.c: Merge in changes from GNU libc.
89646
89647 2000-08-26  Jim Meyering  <meyering@lucent.com>
89648
89649         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
89650         * m4/fpending.m4: New file.
89651
89652 2000-08-26  Jim Meyering  <meyering@lucent.com>
89653
89654         * lib/closeout.c: Include "__fpending.h".
89655         (close_stdout_status): Return right away if there's nothing to flush.
89656
89657         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
89658         * lib/__fpending.c: New file.
89659         * lib/__fpending.h: New file.
89660
89661 2000-08-20  Jim Meyering  <meyering@lucent.com>
89662
89663         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
89664         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
89665         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
89666
89667 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
89668
89669         Improve fileutils installation on systems where running
89670         programs (like install) can't be unlinked.
89671         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
89672         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
89673
89674 2000-08-07  Paul Eggert  <eggert@twinsun.com>
89675
89676         Standardize on "memory exhausted" instead of "Memory exhausted"
89677         or "virtual memory exhausted".
89678         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
89679         "virtual memory exhausted".
89680         * lib/same.c (same_name): Invoke xalloc_die instead of printing
89681         our own message.
89682         * lib/userspec.c (parse_user_spec): Likewise.
89683         * lib/bumpalloc.h: comment fix
89684         * lib/same.c, userspec.c: Include xalloc.h.
89685
89686         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
89687         not char *const and pointing to a constant array.
89688         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
89689         (xrealloc): Comment fix.
89690
89691         * lib/userspec.c (parse_user_spec):
89692         Don't translate a message until just before returning,
89693         to avoid unnecessary translation.
89694
89695 2000-08-07  Jim Meyering  <meyering@lucent.com>
89696
89697         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
89698         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
89699         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
89700         getgroups.c, gethostname.c, getopt.h, group-member.c,
89701         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
89702         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
89703         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
89704         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
89705         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
89706         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
89707         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
89708         yesno.c: Back out Copyright date changes for each file with no change
89709         this year.  This eases coordination with other programs using the same
89710         source code modules.  From Paul Eggert.
89711
89712 2000-08-06  Paul Eggert  <eggert@twinsun.com>
89713
89714         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
89715         not char, for compatibility with glibc 2.1.3 strftime.c.
89716
89717 2000-08-03  Greg McGary  <greg@mcgary.org>
89718
89719         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
89720         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
89721         (EXTEND_BUFFER): Use them.
89722
89723 2000-08-01  Jim Meyering  <meyering@lucent.com>
89724
89725         * lib/dirname.c (ISSLASH): Define.
89726         (BACKSLASH_IS_PATH_SEPARATOR): Define.
89727         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
89728         both `\' and `/' may be use as path separators.
89729         Based on a patch from Prashant TR.
89730
89731 2000-07-31  Paul Eggert  <eggert@twinsun.com>
89732
89733         * lib/quotearg.c (quotearg_n_options): Don't make the initial
89734         slot vector a constant, since it might get modified.
89735
89736 2000-07-31  Jim Meyering  <meyering@lucent.com>
89737
89738         * lib/xmalloc.c: Use `virtual memory exhausted', not
89739         `Memory exhausted'.
89740         * lib/obstack.c (print_and_abort): Likewise.
89741
89742 2000-07-30  Paul Eggert  <eggert@twinsun.com>
89743
89744         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
89745         buffer, so that the caller can always quote one small
89746         component of a "memory exhausted" message in slot 0.
89747         From a suggestion by Jim Meyering.
89748
89749 2000-07-30  Jim Meyering  <meyering@lucent.com>
89750
89751         * lib/makepath.c (make_path): Quote the other instance, too.
89752
89753         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
89754         (STATIC_BUF_SIZE): Define.
89755         (quotearg_n_options): Use only statically allocated storage when
89756         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
89757         than STATIC_BUF_SIZE.
89758
89759 2000-07-29  Jim Meyering  <meyering@lucent.com>
89760
89761         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
89762         * lib/dirname.c (dir_name): Likewise.
89763
89764         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
89765         `/'.
89766
89767         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
89768         (dir_name): Assert that there are no trailing slashes.
89769
89770 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
89771
89772         * lib/mbswidth.h (mbswidth): Add a flags argument.
89773         (mbswidth): New declaration.
89774         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
89775         * lib/mbswidth.c (mbswidth): Add a flags argument.
89776         (mbsnwidth): New function.
89777
89778 2000-07-24  Jim Meyering  <meyering@lucent.com>
89779
89780         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
89781
89782 2000-07-23  Paul Eggert  <eggert@twinsun.com>
89783
89784         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
89785
89786 2000-07-23  Paul Eggert  <eggert@twinsun.com>
89787
89788         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
89789         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
89790         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
89791         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
89792         invoke multibyte primitives.
89793
89794 2000-07-23  Paul Eggert  <eggert@twinsun.com>
89795
89796         * lib/quotearg.c:
89797         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
89798         so that mbstate_t is always defined.
89799
89800         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
89801         be 1 in at least one GCC installation, and this configuration
89802         error is likely to be common.  Ignoring MB_LEN_MAX hurts
89803         performance on hosts that have mbrtowc but have only unibyte
89804         locales, but I assume these hosts are rare.
89805
89806 2000-07-23  Paul Eggert  <eggert@twinsun.com>
89807
89808         * lib/mbswidth.c (_XOPEN_SOURCE):
89809         Don't define; this causes problems on Solaris 7.
89810         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
89811
89812 2000-07-23  Jim Meyering  <meyering@lucent.com>
89813
89814         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
89815         too: getgrgid, getpwuid, getuid.
89816
89817 2000-07-23  Jim Meyering  <meyering@lucent.com>
89818
89819         * lib/basename.c (base_name): Add an assertion.
89820
89821 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
89822
89823         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
89824         shadow its mbsinit function.
89825
89826 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
89827
89828         * lib/mbswidth.h: New file.
89829         * lib/mbswidth.c: New file.
89830         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
89831         (noinst_HEADERS): Add mbswidth.h.
89832
89833 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
89834
89835         * lib/config.charset: Add support for FreeBSD. Improve support for
89836         HP-UX and IRIX 6.
89837
89838 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
89839
89840         * m4/mbswidth.m4: New file.
89841         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
89842
89843 2000-07-15  Jim Meyering  <meyering@lucent.com>
89844
89845         * lib/makepath.c: Include quote.h.
89846         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
89847         corresponding argument in a `quote (...)' call.
89848         Give better diagnostics.
89849
89850         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
89851         (noinst_HEADERS): Add quote.h.
89852
89853         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
89854         from tar's src/misc.c.
89855         * lib/quote.h: New file.  Prototypes for same.
89856
89857 2000-07-14  Paul Eggert  <eggert@twinsun.com>
89858
89859         From a suggestion by Bruno Haible.
89860         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
89861         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
89862         to decide whether to define the BeOS workaround macro;
89863         this adjusts to the change to AC_MBSTATE_T.
89864
89865 2000-07-14  Jim Meyering  <meyering@lucent.com>
89866
89867         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
89868         jm_AC_TYPE_UINTMAX_T.
89869
89870 2000-07-13  Paul Eggert  <eggert@twinsun.com>
89871
89872         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
89873
89874         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
89875         quotearg_buffer_restyled): Add support for
89876         clocale_quoting_style.  Undo previous change to
89877         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
89878         and "{RIGHT QUOTATION MARK}" msgids.
89879
89880 2000-07-10  Paul Eggert  <eggert@twinsun.com>
89881
89882         From a suggestion by Bruno Haible.
89883         * m4/mbstate_t.m4 (AC_MBSTATE_T):
89884         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
89885         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
89886         and mbstate_t, to a single-part test that simply defines mbstate_t.
89887         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
89888         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
89889
89890 2000-07-10  Jim Meyering  <meyering@lucent.com>
89891
89892         * m4/strerror_r.m4: Mirror the correction made in autoconf.
89893
89894         * m4/gnu-source.m4: Output to confdefs.h directly.
89895         Suggestion from Akim Demaille.
89896
89897 2000-07-09  Paul Eggert  <eggert@twinsun.com>
89898
89899         The old behavior of quoting `like this' doesn't look good with
89900         newer, ISO-style fonts.  See:
89901         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
89902
89903         Instead, quote "like this" by default.  Let the translator
89904         tailor the locale-specific quoting behavior by providing
89905         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
89906
89907         * lib/quotearg.c (N_): New macro.
89908         (gettext_default): New function.
89909         (quotearg_buffer_restyled): Use
89910         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
89911         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
89912
89913 2000-07-09  Jim Meyering  <meyering@lucent.com>
89914
89915         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
89916         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
89917
89918         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
89919         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
89920
89921 2000-07-09  Jim Meyering  <meyering@lucent.com>
89922
89923         * lib/Most files: Update copyright dates to include 2000.
89924
89925 2000-07-08  Jim Meyering  <meyering@lucent.com>
89926
89927         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
89928         if not defined.
89929         (xgethostname): Remove now-unnecessary #ifdef.
89930         Move declaration of `err' into loop where it's used.
89931
89932 2000-07-05  Paul Eggert  <eggert@twinsun.com>
89933         and Bruno Haible  <haible@clisp.cons.org>
89934
89935         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
89936         only if the test for an object-type mbstate_t fails.  This
89937         prevents us from mistakenly reporting that mbstate_t is a
89938         system object type after we "#define mbstate_t int" to work
89939         around its lack.
89940
89941 2000-07-05  Paul Eggert  <eggert@twinsun.com>
89942         and Bruno Haible  <haible@clisp.cons.org>
89943
89944         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
89945
89946 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
89947
89948         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
89949         to strerror_r.
89950         Include <ctype.h> for use of isalpha.
89951
89952 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
89953
89954         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
89955         by allocating a larger buffer. Test the gethostname return value for
89956         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
89957         returns an error and ENAMETOOLONG isn't defined.
89958
89959 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
89960
89961         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
89962         dimension.
89963
89964 2000-07-04  Jim Meyering  <meyering@lucent.com>
89965
89966         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
89967         of the deprecated AC_CHECKING.
89968
89969 2000-07-04  Jim Meyering  <meyering@lucent.com>
89970
89971         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
89972         Reported by Bruno Haible.
89973
89974 2000-07-04  Jim Meyering  <meyering@lucent.com>
89975
89976         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
89977         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
89978         lacks mbrtowc.
89979
89980 2000-07-03  Paul Eggert  <eggert@twinsun.com>
89981
89982         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
89983         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
89984
89985 2000-07-03  Paul Eggert  <eggert@twinsun.com>
89986         and Bruno Haible  <haible@clisp.cons.org>
89987
89988         * lib/quotearg.c (mbrtowc):
89989         Assign to *pwc, and return 1 only if result is nonzero.
89990         (iswprint): Use ISPRINT when substituting our own mbrtowc.
89991
89992 2000-07-03  Jim Meyering  <meyering@lucent.com>
89993
89994         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
89995
89996 2000-07-03  Jim Meyering  <meyering@lucent.com>
89997
89998         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
89999         This is necessary to get a definition of e.g., UTMP_FILE on
90000         HP-UX 10.20.
90001         From Bob Proulx.
90002
90003 2000-07-02  Jim Meyering  <meyering@lucent.com>
90004
90005         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
90006
90007         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
90008         AC_LIBOBJ(function_name).
90009         * m4/chown.m4: Likewise.
90010         * m4/fnmatch.m4: Likewise.
90011         * m4/ftruncate.m4: Likewise.
90012         * m4/getgroups.m4: Likewise.
90013         * m4/getline.m4: Likewise.
90014         * m4/group-member.m4: Likewise.
90015         * m4/jm-macros.m4: Likewise.
90016         * m4/lstat.m4: Likewise.
90017         * m4/malloc.m4: Likewise.
90018         * m4/memcmp.m4: Likewise.
90019         * m4/nanosleep.m4: Likewise.
90020         * m4/putenv.m4: Likewise.
90021         * m4/realloc.m4: Likewise.
90022         * m4/regex.m4: Likewise.
90023         * m4/stat.m4: Likewise.
90024         * m4/strftime.m4: Likewise.
90025
90026 2000-07-02  Jim Meyering  <meyering@lucent.com>
90027
90028         * lib/quotearg.c (mbstate_t): Don't define here.
90029
90030 2000-07-02  Jim Meyering  <meyering@lucent.com>
90031
90032         * lib/nanosleep.c (SIGCONT): Define if not already defined.
90033
90034 2000-07-01  Jim Meyering  <meyering@lucent.com>
90035
90036         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
90037
90038 2000-07-01  Jim Meyering  <meyering@lucent.com>
90039
90040         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
90041         problem.
90042
90043 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
90044
90045         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
90046         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
90047
90048 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
90049
90050         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
90051         per change in ../m4/ls-mntd-fs.m4.
90052         (read_filesystem_list): Ignore symbolic links.
90053
90054 2000-06-29  Jim Meyering  <meyering@lucent.com>
90055
90056         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
90057         for declaration of strcmp.
90058
90059         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
90060
90061         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
90062         Avoid warning by casting result to `char *' to remove `const'.
90063
90064 2000-06-28  Jim Meyering  <meyering@lucent.com>
90065
90066         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
90067         included by quotearg.c, for which we perform this test.  From
90068         Bruno Haible.
90069
90070 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
90071
90072         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
90073         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
90074         <utmpx.h> exists, put readutmp.o into LIBOBJS.
90075
90076 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
90077
90078         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
90079
90080 2000-06-26  Paul Eggert  <eggert@twinsun.com>
90081
90082         savedir now sets errno on failure and invokes xmalloc to get memory.
90083         Fix a couple of other minor bugs while we're at it.
90084
90085         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
90086         (NAMLEN): Remove macro.
90087         (malloc, realloc): Remove decls.
90088         (stpcpy): Likewise.
90089         ("xalloc.h"): Include.
90090         (NAME_SIZE_DEFAULT): New macro.
90091         (savedir): Use xmalloc / xrealloc to allocate memory.
90092         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
90093         Skip "" directory entries.
90094         Use strlen to calculate directory entry length, since the old method
90095         is rarely used these days and isn't worth supporting.
90096         Don't use a pointer after freeing it.
90097         Check for integer overflow when calculating allocation size.
90098         Use memcpy to copy entries, instead of stpcpy.
90099         Set errno properly when returning NULL.
90100         Check for readdir error.
90101
90102 2000-06-26  Jim Meyering  <meyering@lucent.com>
90103
90104         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
90105
90106 2000-06-25  Jim Meyering  <meyering@lucent.com>
90107
90108         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
90109         Linux header bug when _XOPEN_SOURCE is defined to 500.
90110
90111 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
90112
90113         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
90114         deficiency.
90115
90116 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
90117
90118         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
90119         Include xalloc.h.
90120         Don't include <stdlib.h>.  Don't declare malloc, realloc.
90121
90122 2000-06-24  Jim Meyering  <meyering@lucent.com>
90123
90124         * m4/strerror_r.m4: Revive this file -- to try out an experimental
90125         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
90126         for which strerror does return char*, but which lacks a conveniently
90127         accessible declaration of the function.  If the compile-test says
90128         strerror_r doesn't work, then resort to a `run'-test that works on
90129         BeOS and segfaults on DEC Unix.
90130
90131 2000-06-24  Jim Meyering  <meyering@lucent.com>
90132
90133         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
90134
90135 2000-06-23  Paul Eggert  <eggert@twinsun.com>
90136
90137         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
90138         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
90139
90140 2000-06-23  Paul Eggert  <eggert@twinsun.com>
90141
90142         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
90143         (mbrtowc, mbstate_t): Define substitutes if
90144         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
90145         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
90146         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
90147
90148 2000-06-23  Jim Meyering  <meyering@lucent.com>
90149
90150         * m4/afs.m4: Add missing AC_MSG_RESULT.
90151         Reported by Bruno Haible.
90152
90153         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
90154         Suggestion from Bruno Haible.
90155
90156 2000-06-23  Jim Meyering  <meyering@lucent.com>
90157
90158         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
90159
90160 2000-06-21  Jim Meyering  <meyering@lucent.com>
90161
90162         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
90163
90164 2000-06-21  Jim Meyering  <meyering@lucent.com>
90165
90166         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
90167         (noinst_HEADERS): Add getstr.h.
90168
90169         * lib/getline.c (getstr): Move into a separate file.
90170         * lib/getstr.c (getstr): New file, extracted from getline.c, with
90171         the following changes: new parameter, delim2; both delim[12]
90172         parameters have type `int', not `char'.  The latter would lose
90173         with 8-bit delimiters.
90174         * lib/getstr.h: New file.
90175
90176 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90177
90178         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
90179         than 1024, return a memory chunk of least possible size, instead
90180         of size PATH_MAX + 2. In the loop, increment the size proportionally.
90181         Use free/xmalloc instead of xrealloc to avoid copying for very long
90182         paths.
90183
90184 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90185
90186         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
90187         the empty string.
90188
90189 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90190
90191         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
90192         address, not strdup.  Include <stdlib.h> and don't declare free().
90193
90194 2000-06-19  Jim Meyering  <meyering@lucent.com>
90195
90196         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
90197
90198 2000-06-18  Jim Meyering  <meyering@lucent.com>
90199
90200         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
90201
90202         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
90203         `checking whether...' message to be consistent with that of the
90204         lstat test.
90205
90206 2000-06-18  Jim Meyering  <meyering@lucent.com>
90207
90208         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
90209         Besides, these days every porting target provides a mkdir function.
90210
90211         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
90212         needed. (this snippet comes from src/system.h).
90213
90214 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
90215
90216         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
90217
90218 2000-06-15  Paul Eggert  <eggert@twinsun.com>
90219
90220         * lib/human.c (adjust_value): New function.
90221         (human_readable_inexact): Apply rounding style even when
90222         printing approximate values.
90223
90224 2000-06-14  Paul Eggert  <eggert@twinsun.com>
90225
90226         * lib/human.c (human_readable_inexact): Allow an input block
90227         size that is not a multiple of the output block size, and vice versa.
90228         Reported by Piergiorgio Sartor.
90229
90230 2000-06-14  Paul Eggert  <eggert@twinsun.com>
90231
90232         * lib/getdate.y (get_date): Apply relative times after time
90233         zone indicator, not before.  Reported by Todd A. Jacobs.
90234
90235 2000-06-13  Jim Meyering  <meyering@lucent.com>
90236
90237         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
90238
90239         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
90240
90241 2000-06-12  Paul Eggert  <eggert@twinsun.com>
90242
90243         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
90244
90245 2000-06-12  Jim Meyering  <meyering@lucent.com>
90246
90247         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
90248         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
90249         optional argument.
90250         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
90251         the optional argument, `lib'.
90252
90253 2000-06-08  Jim Meyering  <meyering@lucent.com>
90254
90255         * m4/largefile.m4: Remove file (now that it's part of autoconf).
90256
90257 2000-06-04  Paul Eggert  <eggert@twinsun.com>
90258
90259         Rewrite largefile configuration so that we don't need to run
90260         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
90261         AC_CANONICAL_HOST in configure.in -- jmm]
90262
90263         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
90264         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
90265         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
90266         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
90267         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
90268         All uses changed.
90269         Instead of inspecting the output of getconf, try to compile the
90270         test program without and with the macro definition.
90271         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
90272         for getconf.  Instead, check for the needed flags by compiling
90273         test programs.
90274
90275 2000-06-04  Paul Eggert  <eggert@twinsun.com>
90276
90277         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
90278
90279 2000-06-04  Jim Meyering  <meyering@lucent.com>
90280
90281         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
90282         SunOS 4.1.4 for which gid_t is an unsigned type.
90283
90284 2000-06-03  Jim Meyering  <meyering@lucent.com>
90285
90286         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
90287         now that autoconf requires that.
90288
90289         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
90290         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
90291         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
90292
90293 2000-06-03  Jim Meyering  <meyering@lucent.com>
90294
90295         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
90296
90297 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
90298
90299         * m4/glibc21.m4: New file.
90300         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
90301
90302 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
90303
90304         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
90305         newer, don't install charset.alias.
90306         * lib/config.charset: Change the Linux/glibc rules so they become empty
90307         on glibc-2.1 or newer.
90308
90309 2000-06-02  Jim Meyering  <meyering@lucent.com>
90310
90311         * lib/mountlist.c: Back out last change.  Instead, do this...
90312         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
90313         me_dummy member using the same `ignore'-testing code.
90314         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
90315         fs_type strings.
90316         From Mark D. Roth.
90317
90318 2000-05-29  Jim Meyering  <meyering@lucent.com>
90319
90320         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
90321         mounts with the `ignore' attribute.  Based on a patch from
90322         Mark D. Roth.
90323
90324 2000-05-28  Jim Meyering  <meyering@lucent.com>
90325
90326         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
90327         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
90328         * m4/stat.m4: Likewise.
90329         * m4/lstat.m4: Likewise.
90330         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
90331
90332         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
90333         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
90334
90335 2000-05-26  Jim Meyering  <meyering@lucent.com>
90336
90337         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
90338
90339 2000-05-24  Jim Meyering  <meyering@lucent.com>
90340
90341         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
90342         autoconf requires that.
90343         * m4/lib-check.m4: Likewise.
90344         * m4/jm-macros.m4: Likewise.
90345         * m4/strftime.m4: Likewise.
90346
90347         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
90348         AC_CHECK_DECLS, now that autoconf requires that.
90349
90350 2000-05-22  Jim Meyering  <meyering@lucent.com>
90351
90352         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
90353         * m4/lstat.m4: Likewise.
90354
90355 2000-05-22  Jim Meyering  <meyering@lucent.com>
90356
90357         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
90358
90359 2000-05-20  Jim Meyering  <meyering@lucent.com>
90360
90361         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
90362         (jm_PREREQ): Use it.
90363
90364 2000-05-18  Jim Meyering  <meyering@lucent.com>
90365
90366         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
90367         back, too, since it may have been modified by allocate_entry.
90368         (hash_delete): Rewrite to use neither the assignment operator
90369         nor the comma operator in an if-expression.
90370
90371 2000-05-15  Paul Eggert  <eggert@twinsun.com>
90372
90373         * lib/closeout.c:
90374         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
90375         Remove; no longer needed.
90376         "quotearg.h": Add include.
90377         (file_name): Do not bother to explicitly initialize to NULL; it's less
90378         efficient on some hosts.
90379         (close_stdout_status): Remove test as to whether stdout was already
90380         closed; it breaks for the case "echo x | sort >&-".
90381         Quote file name colons.
90382         Do not assume that _("write error") lacks format strings.
90383
90384 2000-05-15  Jim Meyering  <meyering@lucent.com>
90385
90386         * lib/version-etc.c (version_etc_copyright): Update the copyright
90387         string used in all --version output.
90388
90389 2000-05-14  Jim Meyering  <meyering@lucent.com>
90390
90391         * lib/closeout.c (close_stdout_set_file_name): New function.
90392         (close_stdout_status): Use new file-scoped global.
90393         Return right away if fstat says the stdout file descriptor is invalid.
90394         * lib/closeout.h (close_stdout_set_file_name): Declare.
90395
90396 2000-05-10  Jim Meyering  <meyering@lucent.com>
90397
90398         * lib/closeout.c [default_exit_status]: New file-scoped variable.
90399         (close_stdout_set_status): New function.
90400         * lib/closeout.h (close_stdout_set_status): Declare.
90401
90402 2000-05-09  Jim Meyering  <meyering@lucent.com>
90403
90404         * m4/gettext.m4: Rename this...
90405         * m4/libintl.m4: ...to this.
90406
90407 2000-05-08  Jim Meyering  <meyering@lucent.com>
90408
90409         * lib/long-options.c: Don't include closeout.h.
90410         (parse_long_options): Don't call close_stdout for --version.
90411
90412 2000-05-06  Paul Eggert  <eggert@twinsun.com>
90413
90414         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
90415         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
90416         2.1.3 bug.  This avoids a clash when files like regex.c define
90417         _GNU_SOURCE.
90418
90419 2000-05-06  Jim Meyering  <meyering@lucent.com>
90420
90421         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
90422         (AC_REPLACE_FUNCS): Add strnlen.
90423
90424         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
90425         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
90426
90427         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
90428         AC_SEARCH_LIBS call for nanosleep.
90429         (LIB_NANOSLEEP): Set and AC_SUBST.
90430
90431 2000-05-06  Jim Meyering  <meyering@lucent.com>
90432
90433         * lib/strnlen.c: Undefine __strnlen and strnlen.
90434         [!weak_alias]: Define __strnlen to strnlen.
90435
90436         * lib/atexit.c: New file, from libiberty.
90437
90438 2000-05-06  Jim Meyering  <meyering@lucent.com>
90439
90440         * lib/closeout.c (close_stdout_status): Also check for errors on the
90441         stderr stream.
90442
90443 2000-05-05  Jim Meyering  <meyering@lucent.com>
90444
90445         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
90446         AC_SEARCH_LIBS call for clock_gettime.
90447         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
90448
90449         * m4/search-libs.m4: Update from autoconf.
90450
90451         su doesn't work on Solaris 2.6.
90452         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
90453         <shadow.h>.  Reported by Dragos Harabor.
90454
90455 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
90456
90457         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
90458         memcpy instead of xmalloc, xrealloc, path_concat.
90459         (locale_charset): Treat empty environment variables as absent.
90460         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
90461
90462 2000-05-04  Jim Meyering  <meyering@lucent.com>
90463
90464         * lib/getopt.c: Update from glibc.
90465         * lib/obstack.c: Likewise.
90466         * lib/obstack.h: Likewise.
90467         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
90468         file
90469
90470         * lib/regex.h: Likewise.
90471         * lib/strndup.c: Likewise.
90472         * lib/strnlen.c: New file, from glibc.
90473
90474 2000-05-03  Jim Meyering  <meyering@lucent.com>
90475
90476         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
90477
90478 2000-05-02  Paul Eggert  <eggert@twinsun.com>
90479
90480         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
90481         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
90482         compile-time test, rather than inspecting host and OS, to
90483         decide whether to define _LARGEFILE_SOURCE.
90484
90485 2000-05-01  Jim Meyering  <meyering@lucent.com>
90486
90487         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
90488
90489         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
90490         Based on a patch from Bruno Haible.
90491
90492 2000-05-01  Jim Meyering  <meyering@lucent.com>
90493
90494         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
90495
90496 2000-04-29  Jim Meyering  <meyering@lucent.com>
90497
90498         * lib/path-concat.c: Declare strdup only if it's not defined.
90499         * lib/canon-host.c: Likewise.
90500
90501 2000-04-28  Jim Meyering  <meyering@lucent.com>
90502
90503         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
90504         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
90505         is included first, then limits.h is included by locale.h by libintl.h.
90506         From John David Anglin.
90507
90508 2000-04-25  Jim Meyering  <meyering@lucent.com>
90509
90510         * lib/makepath.c (S_IRWXUGO): Define.
90511         (make_path): Always perform explicit chmod if MODE specifies any
90512         of the `special' permission bits.  Prompted by a bug report against
90513         install from Mate Wierdl and Joost van Baal.
90514
90515 2000-04-18  Jim Meyering  <meyering@lucent.com>
90516
90517         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
90518         (jm_PREREQ): Use it.
90519
90520 2000-04-18  Jim Meyering  <meyering@lucent.com>
90521
90522         * lib/README: New file.
90523
90524         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
90525         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
90526
90527 2000-04-17  Jim Meyering  <meyering@lucent.com>
90528
90529         Get it right :-)
90530         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
90531         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
90532         Suggestion from Akim Demaille.
90533
90534 2000-04-17  Jim Meyering  <meyering@lucent.com>
90535
90536         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
90537         the definition of it to rpl_strftime also defined-away the system's
90538         declaration.
90539
90540 2000-04-15  Jim Meyering  <meyering@lucent.com>
90541
90542         Use `C' to denote so-called `contiguous' files, the same way
90543         that tar does.
90544         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
90545         (ftypelet): Use S_ISCTG.
90546         From Michael Deutschmann.
90547
90548 2000-04-14  Jim Meyering  <meyering@lucent.com>
90549
90550         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
90551         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
90552         clobbered.
90553
90554 2000-04-14  Jim Meyering  <meyering@lucent.com>
90555
90556         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
90557
90558 2000-04-13  Jim Meyering  <meyering@lucent.com>
90559
90560         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
90561         AH_VERBATIM to insert required #ifndef into config.h.in.
90562         Suggestion from Akim Demaille.
90563
90564 2000-04-12  Jim Meyering  <meyering@lucent.com>
90565
90566         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
90567         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
90568         Christian Krackowizer.
90569
90570         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
90571         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
90572         (AC_SYS_LARGEFILE): Require.
90573         (AM_C_PROTOTYPES): Require.
90574
90575 2000-04-08  Jim Meyering  <meyering@lucent.com>
90576
90577         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
90578         names don't conflict.  Reported by Eli Zaretskii.
90579
90580 2000-04-07  Jim Meyering  <meyering@lucent.com>
90581
90582         * lib/putenv.c: Move inclusion of errno.h so it follows that of
90583         sys/types.h, to work around system header problems on AIX 3.2.5.
90584         From Bruno Haible.
90585
90586 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
90587
90588         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
90589         bug.  Deal with the different error behavior of Irix iconv.
90590
90591 2000-04-05  Paul Eggert  <eggert@twinsun.com>
90592
90593         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
90594         IRIX if the installer said otherwise.
90595
90596 2000-04-05  Jim Meyering  <meyering@lucent.com>
90597
90598         Portability tweaks required for ultrix4.3.
90599         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
90600         (jm_CHECK_DECLS): Add getutent to the list of functions.
90601         (_jm_DECL_HEADERS): Add utmpx.h.
90602         From John David Anglin.
90603
90604         * m4/strftime.m4: Back out the 2000-04-02 change.
90605         Instead of that change, simply undefine putenv in the test program.
90606
90607 2000-04-05  Jim Meyering  <meyering@lucent.com>
90608
90609         Portability tweaks required for ultrix4.3.
90610         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
90611         getutent.
90612         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
90613         * lib/canon-host.c: Declare strdup.
90614         * lib/path-concat.c: Likewise.
90615         From John David Anglin.
90616
90617 2000-04-04  Jim Meyering  <meyering@lucent.com>
90618
90619         Be more DOS 8.3-friendly.
90620         * lib/ref-add.sin: Renamed from ref-add.sed.in.
90621         * lib/ref-del.sin: Renamed from ref-del.sed.in.
90622         * lib/Makefile.am: Reflect renaming.
90623         Reported by Eli Zaretskii.
90624
90625         Use a temporary file name that won't clash with `charset.alias'
90626         in the DOS 8.3 name space.
90627         * lib/Makefile.am (charset_tmp): Define.
90628         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
90629         (uninstall-local): Likewise.
90630         Reported by Eli Zaretskii.
90631
90632 2000-04-03  Jim Meyering  <meyering@lucent.com>
90633
90634         * m4/gettext.m4: Fix typo in comment.
90635
90636         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
90637         textutils/configure.in).  Suggestion from Paul Eggert.
90638         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
90639
90640 2000-04-02  Paul Eggert  <eggert@twinsun.com>
90641
90642         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
90643         variable in the shell rather than using putenv, which isn't
90644         portable.  This avoids the configure-time inter-test dependency
90645         on the potentially-renamed putenv function.
90646
90647 2000-03-30  Paul Eggert  <eggert@twinsun.com>
90648
90649         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
90650         before checking struct stat.st_blksize, so that
90651         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
90652
90653 2000-03-29  Paul Eggert  <eggert@twinsun.com>
90654
90655         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
90656         since strftime.c uses HAVE_STRFTIME to decide whether to use
90657         the underlying strftime.
90658
90659 2000-03-29  Paul Eggert  <eggert@twinsun.com>
90660
90661         * lib/time/strftime.c (my_strftime): Make sure we call the system
90662         strftime, not ourselves, when invoking the underlying strftime.
90663
90664 2000-03-24  Jim Meyering  <meyering@lucent.com>
90665
90666         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
90667         (charset_alias): Define.
90668         (install-exec-local): Factor out common code.
90669         (uninstall-local): Split lines longer than 80.
90670         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
90671         (SUFFIXES): Define.
90672         (.sed.in.sed): New rule.  Don't redirect directly to $@.
90673         (CLEANFILES): Add ref-add.sed and ref-del.sed.
90674
90675 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
90676
90677         * lib/config.charset: Output a line containing "Packages using this
90678         file".
90679         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
90680         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
90681         ref-del.sed): New rules.
90682
90683 2000-03-17  Jim Meyering  <meyering@lucent.com>
90684
90685         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
90686         Otherwise, include <strings.h>
90687
90688 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
90689
90690         * lib/unicodeio.c (utf8_wctomb): New function.
90691         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
90692         format instead of in UCS-4 with platform dependent endianness.
90693
90694 2000-03-10  Jim Meyering  <meyering@lucent.com>
90695
90696         * m4/lib-check.m4: Look for getspnam in -lgen, too.
90697         From Marco Franzen.
90698
90699 2000-03-07  Paul Eggert  <eggert@twinsun.com>
90700
90701         * lib/savedir.c (savedir): Work even if directory size is
90702         negative; this can happen with some screwy NFS configurations.
90703
90704 2000-03-06  Jim Meyering  <meyering@lucent.com>
90705
90706         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
90707         if it's NULL (because we ran out of memory).  From Bruno Haible.
90708
90709 2000-03-05  Jim Meyering  <meyering@lucent.com>
90710
90711         * lib/localcharset.c ("path-concat.h"): Include.
90712         (get_charset_aliases): Use path_concat instead of ANSI string
90713         concatenation.
90714
90715         * lib/unicodeio.h (PARAMS): Define.
90716         Use it to guard prototype.
90717
90718 2000-03-04  Jim Meyering  <meyering@lucent.com>
90719
90720         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
90721         for lib/localcharset.c.
90722
90723 2000-03-04  Jim Meyering  <meyering@lucent.com>
90724
90725         * lib/Makefile.am (install-exec-local): Create $(libdir) before
90726         installing into it.
90727         (uninstall-local): Uncomment this rule so `make distcheck' works
90728         once again.
90729
90730         * lib/unicodeio.c (<errno.h>): Include it.
90731         (errno): Declare if not defined.
90732
90733         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
90734
90735         * lib/config.charset: New version, incorporating remarks from a linux
90736         i18n mailing list.  From Bruno Haible.
90737
90738 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
90739
90740         * m4/codeset.m4: New file.
90741         * m4/iconv.m4: New file.
90742         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
90743
90744 2000-03-03  Jim Meyering  <meyering@lucent.com>
90745
90746         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
90747
90748 2000-03-02  Jim Meyering  <meyering@lucent.com>
90749
90750         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
90751         the messages come out on separate lines.
90752
90753         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
90754         rather than jm_CHECK_DECLARATIONS.
90755         * m4/decl.m4: Remove now-unused file.
90756
90757         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
90758         geteuid.
90759
90760 2000-03-02  Jim Meyering  <meyering@lucent.com>
90761
90762         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
90763
90764 2000-03-01  Jim Meyering  <meyering@lucent.com>
90765
90766         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
90767         * lib/unicodeio.c: Likewise.
90768
90769 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
90770
90771         * lib/config.charset: New file.
90772         * lib/localcharset.c: New file.
90773         * lib/unicodeio.h, lib/unicodeio.c: New files.
90774         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
90775         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
90776         (noinst_HEADERS): Add unicodeio.h.
90777         (all-local, install-exec-local, charset.alias): New targets.
90778
90779 2000-02-28  Paul Eggert  <eggert@twinsun.com>
90780
90781         * lib/quotearg.c (ALERT_CHAR): New macro.
90782         (quotearg_buffer_restyled): Use it.
90783
90784 2000-02-27  Jim Meyering  <meyering@lucent.com>
90785
90786         * m4/check-decl.m4: Add getenv to the list.
90787
90788 2000-02-27  Jim Meyering  <meyering@lucent.com>
90789
90790         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
90791         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
90792
90793         * lib/backupfile.c: Guard inclusion of stdlib.h with
90794         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
90795         Declare malloc if needed.
90796
90797         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
90798         `#ifndef HAVE_DECL..'
90799         now that autoconf always defines the HAVE_DECL_ symbols.
90800         * lib/human.c: Likewise.
90801         * lib/same.c: Likewise.
90802         * lib/strtoumax.c: Likewise.
90803
90804         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
90805         declaration check was not run.
90806         * lib/hash.c: Likewise.
90807         * lib/human.c: Likewise.
90808         * lib/same.c: Likewise.
90809         * lib/strtoumax.c: Likewise.
90810
90811         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
90812         `.', then first look up the entire `.'-containing string as a login
90813         name.
90814
90815 2000-02-23  Jim Meyering  <meyering@lucent.com>
90816
90817         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
90818         in place of my hack.
90819
90820 2000-02-18  Paul Eggert  <eggert@twinsun.com>
90821
90822         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
90823         (textint): New typedef.
90824         (parser_control): Member year changed from int to textint.
90825         All uses changed.
90826         (YYSTYPE): Removed; replaced by %union with int and textint members.
90827         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
90828         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
90829         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
90830         (tSNUMBER, tUNUMBER): Now of type <textintval>.
90831         (date, number, to_year): Use width of number in digits, not its value,
90832         to determine whether it's a 2-digit year, or a 2-digit time.
90833         (yylex): Store number of digits of numeric tokens.
90834         Reported by John Kendall.
90835
90836         (parser_control): Changed from struct parser_control to typedef (for
90837         consistency).  All uses changed.
90838
90839         (tID): Removed; not used.
90840         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
90841
90842 2000-02-14  Paul Eggert  <eggert@twinsun.com>
90843
90844         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
90845         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
90846
90847 2000-02-12  Jim Meyering  <meyering@lucent.com>
90848
90849         * lib/userspec.c (ISDIGIT): Define it.
90850         (isdigit): Remove definition.
90851         (is_number): Use ISDIGIT, not isdigit.
90852         <libintl.h>: Include.
90853         (_ and N_): Define.
90854         (parse_user_spec): Mark translatable strings.
90855
90856 2000-02-10  Jim Meyering  <meyering@lucent.com>
90857
90858         With these changes, nanosleep.[ch] are finally enough like the other
90859         lib/* replacement files to compile on a few more losing systems.
90860
90861         * lib/nanosleep.h: Don't include config.h.
90862         Remove prototype from declaration of nanosleep.
90863         (PARAMS): Remove now-unneeded definition.
90864         * lib/nanosleep.c: #undef nanosleep.
90865         (rpl_nanosleep): Rename from nanosleep.
90866
90867 2000-02-10  Jim Meyering  <meyering@lucent.com>
90868
90869         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
90870         gnu_nanosleep to rpl_nanosleep.
90871
90872 2000-02-09  Jim Meyering  <meyering@lucent.com>
90873
90874         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
90875         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
90876
90877 2000-02-08  Akim Demaille  <akim@epita.fr>
90878
90879         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
90880         `[' and `]' and remove uses of `changequote'.
90881         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
90882         (AC_SYS_LARGEFILE): Likewise.
90883         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
90884         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
90885         of changequote.
90886         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
90887         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
90888         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
90889         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
90890
90891 2000-02-05  Jim Meyering  <meyering@lucent.com>
90892
90893         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
90894         Remove explicit use of AC_HEADER_TIME.  It is required by
90895         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
90896         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
90897         in autoconf whereby the expansion of the latter ended up preceding
90898         the expansion of its prerequisite, AC_HEADER_TIME.
90899         Reported by Volker Borchert.
90900
90901 2000-02-03  Jim Meyering  <meyering@lucent.com>
90902
90903         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
90904
90905 2000-02-03  Jim Meyering  <meyering@lucent.com>
90906
90907         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
90908         rather than with `#if HAVE_UTMPNAME'.
90909
90910 2000-02-02  Jim Meyering  <meyering@lucent.com>
90911
90912         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
90913         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
90914         Reported by Eli Zaretskii.
90915
90916 2000-02-01  Jim Meyering  <meyering@lucent.com>
90917
90918         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
90919
90920 2000-01-31  Jim Meyering  <meyering@lucent.com>
90921
90922         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
90923         functions.  Add the time.h and sys/time.h headers along with the
90924         AC_REQUIRE'ment of AC_HEADER_TIME.
90925
90926 2000-01-31  Jim Meyering  <meyering@lucent.com>
90927
90928         * lib/nanosleep.h (nanosleep): Guard declaration with
90929         `#if ! HAVE_DECL_NANOSLEEP'.
90930         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
90931         the declaration in that vendor's sys/timers.h.
90932         Reported by Christian Krackowizer.
90933
90934         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
90935         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
90936         (ISPRINT): Likewise.
90937         Reported by Tom Tromey.
90938
90939 2000-01-30  Jim Meyering  <meyering@lucent.com>
90940
90941         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
90942
90943         * m4/prereq.m4 (utmp_includes): Define.
90944         Check for ut_user and ut_name members in both struct utmpx
90945         and struct utmp.
90946
90947 2000-01-30  Jim Meyering  <meyering@lucent.com>
90948
90949         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
90950         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
90951         header files where only utmpx.ut_user is declared.
90952
90953         * lib/readutmp.h (UT_USER): Define.
90954
90955 2000-01-29  Jim Meyering  <meyering@lucent.com>
90956
90957         * m4/lib-check.m4: New file containing library-related checks from
90958         fileutils and sh-utils (textutils had none).
90959
90960 2000-01-28  Jim Meyering  <meyering@lucent.com>
90961
90962         * m4/perl.m4: Change format of warning message to look more like that
90963         from the missing script.  Suggestion from François Pinard.
90964
90965 2000-01-25  Jim Meyering  <meyering@lucent.com>
90966
90967         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
90968         well as time.h in the compile check.
90969         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
90970         Fix typo in cross-compiling case: s/yes/no/.
90971
90972 2000-01-23  Jim Meyering  <meyering@lucent.com>
90973
90974         * m4/jm-macros.m4: Move df-related tests here from
90975         fileutils/configure.in
90976
90977         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
90978         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
90979
90980         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
90981         s/space/ac_fsusage_space/.
90982         (jm_FILE_SYSTEM_USAGE): Take two parameters.
90983
90984         * m4/ftruncate.m4: New file (derived from part of
90985         fileutils/configure.in).
90986         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
90987         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
90988
90989         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
90990         AC_SUBST these here, rather than just in sh-util/configure.in, so
90991         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
90992         all the same.
90993         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
90994         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
90995         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
90996         (AC_SUBST(POW_LIBM)): Likewise.
90997         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
90998
90999 2000-01-23  Jim Meyering  <meyering@lucent.com>
91000
91001         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
91002         obstack.c.
91003
91004 2000-01-22  Jim Meyering  <meyering@lucent.com>
91005
91006         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
91007
91008         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
91009
91010         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
91011         configure.in
91012         (AC_CHECK_HEADERS): Likewise for sh-utils.
91013         (AC_CHECK_HEADERS): Likewise for textutils.
91014         Merge the three lists of headers.
91015
91016         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
91017         from fileutils' configure.in.
91018
91019         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
91020         code. Moved tests into their own function (_jm_DECL_HEADERS) in
91021         check-decl.m4.
91022
91023         * m4/check-decl.m4: Use #if rather than #ifdef.
91024         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
91025         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
91026         (_jm_DECL_HEADERS): Define new function.
91027         (jm_CHECK_DECLARATIONS): Require it.
91028
91029 2000-01-22  Jim Meyering  <meyering@lucent.com>
91030
91031         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
91032         [! HAVE_DECL_STRTOULL]: Declare strtoull.
91033         Required for some AIX systems.  Reported by Christian Krackowizer.
91034         [TESTING] (main): New function.
91035
91036         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
91037         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
91038         letters.
91039
91040         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
91041         iswprint.
91042
91043         * lib/strverscmp.c (ISDIGIT): Define.
91044         (strverscmp): Use ISDIGIT, not isdigit.
91045
91046 2000-01-19  Jim Meyering  <meyering@lucent.com>
91047
91048         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
91049         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
91050         defines `struct timespec' in <sys/time.h>
91051
91052         * m4/c-bs-a.m4: Remove uses of changequote altogether.
91053         Thanks to Akim for explaining.
91054
91055 2000-01-17  Paul Eggert  <eggert@twinsun.com>
91056
91057         * lib/nanosleep.c (nanosleep):
91058         Don't use SA_INTERRUPT to decide whether to call sigaction, as
91059         POSIX.1 doesn't require SA_INTERRUPT and some systems
91060         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
91061         it's been part of POSIX.1 since day 1 (in 1988).
91062
91063 2000-01-17  Jim Meyering  <meyering@lucent.com>
91064
91065         * lib/interlock: Remove unused file.  Reported by François Pinard.
91066
91067 2000-01-16  Paul Eggert  <eggert@twinsun.com>
91068
91069         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
91070         alert, backslash, formfeed, and vertical tab unnecessarily in
91071         shell quoting style.
91072
91073 2000-01-16  Jim Meyering  <meyering@lucent.com>
91074
91075         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
91076         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
91077         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
91078         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
91079
91080 2000-01-16  Jim Meyering  <meyering@lucent.com>
91081
91082         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
91083         because the latter didn't work.
91084
91085 2000-01-15  Jim Meyering  <meyering@lucent.com>
91086
91087         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
91088         (AC_REPLACE_FUNCS): Add memcpy and memset.
91089         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
91090         Add strpbrk.
91091         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
91092
91093 2000-01-12  Jim Meyering  <meyering@lucent.com>
91094
91095         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
91096         (jm_PREREQ): Use it.
91097         (jm_PREREQ_READUTMP): New macro.
91098         (jm_PREREQ): Use it.
91099
91100 2000-01-11  Paul Eggert  <eggert@twinsun.com>
91101
91102         Quote multibyte characters correctly.
91103         * m4/c-bs-a.m4: New file.
91104         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
91105         (jm_PREREQ): Use it.
91106
91107 2000-01-11  Paul Eggert  <eggert@twinsun.com>
91108
91109         * m4/uintmax_t.m4: Port to autoconf 2.13.
91110
91111 2000-01-08  Jim Meyering  <meyering@ascend.com>
91112
91113         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
91114         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
91115
91116 2000-01-04  Jim Meyering  <meyering@ascend.com>
91117
91118         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
91119         jm_STRUCT_DIRENT_D_TYPE.
91120         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
91121         jm_STRUCT_DIRENT_D_INO.
91122         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
91123         jm_STRUCT_UTIMBUF.
91124         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
91125         renamings.
91126         * m4/utime.m4: Likewise.
91127
91128         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
91129         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
91130
91131 2000-01-03  Paul Eggert  <eggert@twinsun.com>
91132
91133         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
91134         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
91135
91136 2000-01-02  Jim Meyering  <meyering@ascend.com>
91137
91138         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
91139         remember if this is necessary.
91140
91141 1999-12-26  Jim Meyering  <meyering@ascend.com>
91142
91143         * m4/jm-macros.m4: Use it here.
91144         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
91145
91146 1999-12-23  Jim Meyering  <meyering@ascend.com>
91147
91148         * m4/jm-macros.m4: Check for clock_gettime (moved from
91149         fileutils/configure.in)
91150         Check for gettimeofday.
91151
91152 1999-12-20  Jim Meyering  <meyering@ascend.com>
91153
91154         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
91155         autoconf-2.14a-1999-12-20.
91156
91157 1999-12-19  Jim Meyering  <meyering@ascend.com>
91158
91159         * m4/lstat-slash.m4: New file.
91160         * m4/jm-macros.m4: Use the new macro:
91161         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91162
91163 1999-12-07  Jim Meyering  <meyering@ascend.com>
91164
91165         * m4/perl.m4: Require that File::Compare be available, too.
91166         Too many systems seem to lack it.
91167
91168         * m4/strftime.m4: Add checks for most of the cpp macros tested in
91169         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
91170
91171 1999-11-18  Paul Eggert  <eggert@twinsun.com>
91172
91173         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
91174         problem with the QNX 4.25 shell, which doesn't propagate exit
91175         status of failed commands inside shell assignments.
91176
91177 1999-11-17  Jim Meyering  <meyering@ascend.com>
91178
91179         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
91180
91181 1999-11-07  Jim Meyering  <meyering@ascend.com>
91182
91183         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
91184
91185 1999-11-06  Jim Meyering  <meyering@ascend.com>
91186
91187         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
91188         * m4/jm-macros.m4 (jm_MACROS): Use it here.
91189
91190 1999-11-05  Jim Meyering  <meyering@ascend.com>
91191
91192         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
91193         configure.in of textutils, fileutils, and sh-utils into this one
91194         (shared between those packages) file.
91195         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
91196         AC_STRUCT_ST_BLKSIZE.
91197
91198 1999-11-03  Jim Meyering  <meyering@ascend.com>
91199
91200         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
91201         of AC_CHECK_TYPE checks includes unistd.h.
91202         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
91203         Suggestion from Akim Demaille.
91204
91205 1999-10-30  Jim Meyering  <meyering@ascend.com>
91206
91207         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
91208         m4-quoted string.
91209         * m4/ls-mntd-fs.m4: Likewise.
91210         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
91211         * m4/jm-winsz1.m4: Likewise.
91212
91213         * m4/const.m4: Remove file, since the fix made it into the experimental
91214         version of autoconf.
91215         * m4/mktime.m4: Likewise.
91216
91217         * m4/check-type.m4: Remove file, now that the latest version of
91218         AC_CHECK_TYPE takes a third arg to specify additional #includes.
91219
91220         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
91221         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
91222         AC_CHECK_TYPE.
91223
91224 1999-10-04  Jim Meyering  <meyering@ascend.com>
91225
91226         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
91227
91228 1999-09-22  Paul Eggert  <eggert@twinsun.com>
91229
91230         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
91231         2.95.1 bug with HP-UX 10.20.
91232
91233 1999-09-17  Jim Meyering  <meyering@ascend.com>
91234
91235         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
91236         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
91237         due to missing strdup (against sh-utils-2.0).
91238
91239 1999-08-29  Jim Meyering  <meyering@ascend.com>
91240
91241         * m4/jm-macros.m4: Require jm_BISON.
91242         * m4/bison.m4: New file.
91243
91244 1999-08-17  Paul Eggert  <eggert@twinsun.com>
91245
91246         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
91247         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
91248
91249 1999-08-05  Jim Meyering  <meyering@ascend.com>
91250
91251         * m4/getline.m4: Rename test file from conftestdata to conftest.data
91252         to avoid conflicts with `conftest' on 8+3 filesystems.
91253         Suggestion from Eli Zaretskii.
91254
91255 1999-08-04  Jim Meyering  <meyering@ascend.com>
91256
91257         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
91258         fileutils and sh-utils (textutils's getline test was inadequate).
91259         (AM_FUNC_GETLINE): Run this test.
91260         (AC_CHECK_FUNCS): Check for getdelim.
91261         Reported by Bob Proulx.
91262
91263 1999-08-02  Jim Meyering  <meyering@ascend.com>
91264
91265         * m4/jm-macros.m4: Add a comment.
91266
91267 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91268
91269         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
91270         <inttypes.h> defines strtoumax as a macro (and not as a
91271         function).
91272
91273 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91274
91275         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
91276         that we can shift, multiply and divide unsigned long long
91277         values; Ultrix cc can't do it.
91278
91279 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91280
91281         * m4/mktime.m4: New file, which is a preview of what should appear
91282         in the next public autoconf release.
91283
91284 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91285
91286         * m4/lfs.m4: Remove this file.
91287         * m4/largefile.m4: New file.  It contains the old contents of
91288         lfs.m4, except that all names with prefix AC_LFS have been
91289         changed to use the prefix AC_SYS_LARGEFILE instead, to be
91290         compatible with future autoconf versions.  Also, some minor m4
91291         quoting problems have been fixed.
91292
91293 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91294
91295         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
91296         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
91297         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
91298         and simplify the shell code.
91299
91300 1999-08-01  Jim Meyering  <meyering@ascend.com>
91301
91302         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
91303         m4.
91304
91305 1999-07-20  Jim Meyering  <meyering@ascend.com>
91306
91307         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
91308
91309 1999-07-15  Jim Meyering  <meyering@ascend.com>
91310
91311         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
91312
91313 1999-05-22  Jim Meyering  <meyering@ascend.com>
91314
91315         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
91316
91317 1999-05-20  Jim Meyering  <meyering@ascend.com>
91318
91319         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
91320         Add a colon after each `then' in case $4 is empty.
91321
91322 1999-05-16  Jim Meyering  <meyering@ascend.com>
91323
91324         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
91325
91326 1999-05-10  Jim Meyering  <meyering@ascend.com>
91327
91328         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
91329
91330         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
91331         AC_FUNC_MKTIME.
91332
91333 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
91334
91335         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
91336
91337 1999-05-04  Paul Eggert  <eggert@twinsun.com>
91338
91339         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
91340         not CPPFLAGS, so that linking works correctly in IRIX.
91341
91342 1999-04-30  Paul Eggert  <eggert@twinsun.com>
91343
91344         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
91345
91346 1999-04-20  Paul Eggert  <eggert@twinsun.com>
91347
91348         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
91349         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
91350         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
91351         jm_AC_TYPE_UNSIGNED_LONG_LONG.
91352         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
91353
91354         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
91355
91356 1999-04-20  Jim Meyering  <meyering@ascend.com>
91357
91358         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
91359         AC_REPLACE xstroull if necessary.  From Paul Eggert.
91360         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
91361
91362 1999-04-18  Jim Meyering  <meyering@ascend.com>
91363
91364         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
91365         * m4/jm-macros.m4: Use it.
91366
91367 1999-04-06  Jim Meyering  <meyering@ascend.com>
91368
91369         * m4/strftime.m4: Remove test for %f.
91370
91371 1999-03-29  Jim Meyering  <meyering@ascend.com>
91372
91373         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
91374         superset of the AC_TYPE_* checks in the textutils, fileutils,
91375         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
91376         AC_TYPE_PID_T.
91377
91378 1999-03-28  Jim Meyering  <meyering@ascend.com>
91379
91380         * m4/jm-macros.m4: Define GNU_PACKAGE here.
91381         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
91382         replaced e.g., in the *.sh files of the sh-utils.
91383
91384 1999-03-20  Jim Meyering  <meyering@ascend.com>
91385
91386         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
91387         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
91388         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
91389
91390 1999-03-19  Jim Meyering  <meyering@ascend.com>
91391
91392         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
91393
91394 1999-03-12  Jim Meyering  <meyering@ascend.com>
91395
91396         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
91397
91398 1999-03-07  Jim Meyering  <meyering@ascend.com>
91399
91400         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
91401         declared.
91402
91403 1999-02-17  Jim Meyering  <meyering@ascend.com>
91404
91405         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
91406         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
91407
91408 1999-02-07  Jim Meyering  <meyering@ascend.com>
91409
91410         * m4/group-member.m4: New file -- extracted from sh-utils'
91411         configure.in.
91412
91413         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
91414         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
91415
91416 1999-02-06  Jim Meyering  <meyering@ascend.com>
91417
91418         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
91419         * m4/fnmatch.m4: Likewise.
91420         * m4/getgroups.m4: Likewise.
91421         * m4/lstat.m4: Likewise.
91422         * m4/malloc.m4: Likewise.
91423         * m4/putenv.m4: Likewise.
91424         * m4/realloc.m4: Likewise.
91425         * m4/regex.m4: Likewise.
91426         * m4/stat.m4: Likewise.
91427         * m4/strftime.m4: Likewise.
91428         Suggestion from Alain Magloire.
91429
91430         * m4/chown.m4: Use `.$ac_objext', not `.o'.
91431         * m4/fnmatch.m4: Likewise.
91432         * m4/getgroups.m4: Likewise.
91433         * m4/getline.m4: Likewise.
91434         * m4/lstat.m4: Likewise.
91435         * m4/malloc.m4: Likewise.
91436         * m4/memcmp.m4: Likewise.
91437         * m4/putenv.m4: Likewise.
91438         * m4/realloc.m4: Likewise.
91439         * m4/regex.m4: Likewise.
91440         * m4/stat.m4: Likewise.
91441         * m4/strftime.m4: Likewise.
91442         Suggestion from Alain Magloire.
91443
91444         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
91445         an argument.
91446
91447         * m4/regex.m4: Add a run-time Test for proper operation of
91448         re_compile_pattern.
91449
91450 1999-01-31  Jim Meyering  <meyering@ascend.com>
91451
91452         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
91453
91454 1999-01-30  Jim Meyering  <meyering@ascend.com>
91455
91456         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
91457
91458         * m4/jm-mktime.m4: Make this a wrapper around the official
91459         AM_FUNC_MKTIME rather than my private copy, now that the official one
91460         is up to date.
91461         * m4/mktime.m4: Remove file.
91462
91463         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
91464         * m4/uptime.m4: Likewise.
91465         * m4/uintmax_t.m4: Likewise.
91466
91467 1999-01-28  Jim Meyering  <meyering@ascend.com>
91468
91469         * m4/jm-macros.m4: Use jm_AFS.
91470         * m4/afs.m4: New file (from fileutils' configure.in).
91471
91472         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
91473         * m4/chown.m4: Likewise.
91474         * m4/d-ino.m4: Likewise.
91475         * m4/d-type.m4: Likewise.
91476         * m4/fnmatch.m4: Likewise.
91477         * m4/getgroups.m4: Likewise.
91478         * m4/gettext.m4: Likewise.
91479         * m4/jm-mktime.m4: Likewise.
91480         * m4/jm-winsz2.m4: Likewise.
91481         * m4/lcmessage.m4: Likewise.
91482         * m4/ls-mntd-fs.m4: Likewise.
91483         * m4/malloc.m4: Likewise.
91484         * m4/memcmp.m4: Likewise.
91485         * m4/putenv.m4: Likewise.
91486         * m4/realloc.m4: Likewise.
91487         * m4/st_mtim.m4: Likewise.
91488         * m4/strftime.m4: Likewise.
91489
91490 1999-01-16  Jim Meyering  <meyering@ascend.com>
91491
91492         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
91493         (ARGMATCH_DIE_DECL): Define.
91494
91495 1999-01-12  Jim Meyering  <meyering@ascend.com>
91496
91497         * m4/Makefile.am.in: Rewrite to avoid using fmt.
91498         Reported by Lars Hecking.
91499
91500 1999-01-10  Jim Meyering  <meyering@ascend.com>
91501
91502         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
91503         gross kludge.
91504         * m4/inttypes_h.m4: Likewise.
91505         * m4/lstat.m4: Likewise.
91506         * m4/malloc.m4: Likewise.
91507         * m4/readdir.m4: Likewise.
91508         * m4/realloc.m4: Likewise.
91509         * m4/st_dm_mode.m4: Likewise.
91510         * m4/stat.m4: Likewise.
91511         * m4/utimbuf.m4: Likewise.
91512         * m4/utimes.m4: Likewise.
91513
91514         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
91515         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
91516         comments in config.h.in are meaningful.
91517
91518         * m4/jm-macros.m4: Require autoconf-2.13 here.
91519
91520         * m4/regex.m4: By default, don't use the included regex.c on systems
91521         with glibc 2.  Suggestion from Uli Drepper.
91522
91523 1999-01-02  Jim Meyering  <meyering@ascend.com>
91524
91525         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
91526
91527 1998-12-18  Jim Meyering  <meyering@ascend.com>
91528
91529         * m4/Makefile.am.in (Makefile.am): Simplify rule.
91530         Based on a suggestion from Lars Hecking.
91531
91532 1998-11-16  Paul Eggert  <eggert@twinsun.com>
91533
91534         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
91535
91536 1998-11-16  Jim Meyering  <meyering@ascend.com>
91537
91538         * m4/lfs.m4: Double-quote the `uname...` expression.
91539
91540 1998-11-14  Jim Meyering  <meyering@ascend.com>
91541
91542         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
91543         * m4/stat.m4: Likewise.
91544
91545 1998-11-03  Jim Meyering  <meyering@ascend.com>
91546
91547         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
91548         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
91549
91550 1998-10-18  Jim Meyering  <meyering@ascend.com>
91551
91552         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
91553
91554 1998-10-17  Jim Meyering  <meyering@ascend.com>
91555
91556         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
91557         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
91558         calls for those previously hard-coded headers.  Instead, take a new
91559         parameter.
91560         (jm_CHECK_DECLARATIONS): Reflect interface change.
91561         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
91562         (jm_CHECK_DECL_LOCALTIME_R): New macro.
91563
91564         * m4/mktime.m4: Test for spring-forward gap before long-running test.
91565
91566 1998-10-14  Jim Meyering  <meyering@ascend.com>
91567
91568         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
91569         instead of "TZ=America/Vancouver".  From Paul Eggert.
91570
91571 1998-10-11  Jim Meyering  <meyering@ascend.com>
91572
91573         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
91574         This adds a test for a recently added compatibility fix for mktime.c.
91575         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
91576
91577 1998-09-27  Jim Meyering  <meyering@ascend.com>
91578
91579         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
91580
91581         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
91582         ../configure.in, including a change from Gordon Matzigkeit to allow
91583         cross-compiling for the Hurd.
91584
91585         * m4/glibc.m4: New file/macro to test for the GNU C Library
91586         versions 1 and 2.  From Gordon Matzigkeit.
91587         Indent.
91588
91589 1998-09-21  Jim Meyering  <meyering@ascend.com>
91590
91591         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
91592
91593 1998-08-18  Paul Eggert  <eggert@twinsun.com>
91594
91595         Port nanosecond-resolution times to UnixWare 2.1.2 and
91596         pedantic Solaris 2.6.
91597
91598         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
91599         AC_STRUCT_ST_MTIM.
91600         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
91601         Generate name of ns member, instead of just 1 or undef.
91602         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
91603
91604 1998-08-15  Jim Meyering  <meyering@ascend.com>
91605
91606         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
91607         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
91608         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
91609         instead of jm_TYPE_SSIZE_T.
91610
91611 1998-08-12  Jim Meyering  <meyering@ascend.com>
91612
91613         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
91614
91615 1998-08-02  Jim Meyering  <meyering@ascend.com>
91616
91617         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
91618         in acconfig.h manually.
91619
91620 1998-07-31  Paul Eggert  <eggert@twinsun.com>
91621
91622         * m4/st_mtim.m4: New file.
91623
91624 1998-07-28  Jim Meyering  <meyering@ascend.com>
91625
91626         * m4/utimes.m4: Undef stat.
91627
91628 1998-07-25  Jim Meyering  <meyering@ascend.com>
91629
91630         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
91631         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
91632
91633 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
91634
91635         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
91636         uid and gid actually remain unchanged.
91637
91638 1998-07-07  Jim Meyering  <meyering@ascend.com>
91639
91640         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
91641
91642 1998-07-04  Jim Meyering  <meyering@ascend.com>
91643
91644         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
91645         to prove that this macro can be used in packages without regex.c.
91646
91647 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
91648
91649         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
91650         is to be used.
91651
91652 1998-07-03  Jim Meyering  <meyering@ascend.com>
91653
91654         * m4/gettext.m4: Add -lintl if it's found to be necessary.
91655
91656         * m4/gettext.m4: New file -- from gettext-0.10.35.
91657         * m4/lcmessage.m4: Likewise.
91658         * m4/progtest.m4: Likewise.
91659
91660         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
91661         * m4/jm-macros.m4: Require the new macro.
91662
91663 1998-06-29  Jim Meyering  <meyering@ascend.com>
91664
91665         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
91666         for the definition of NGROUPS (used in a system header included
91667         by sys/mount.h).
91668
91669 1998-06-28  Jim Meyering  <meyering@ascend.com>
91670
91671         * m4/ls-mntd-fs.m4: New file.
91672         * m4/fstypename.m4: New file.
91673
91674         * m4/jm-macros.m4: Require the new macro.
91675         * m4/jm-glibc-io.m4: New file.
91676
91677 1998-05-19  Jim Meyering  <meyering@ascend.com>
91678
91679         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
91680         * m4/lchown.m4: New file.
91681
91682         * m4/Makefile.am.in: New file.
91683         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
91684
91685 1998-05-14  Jim Meyering  <meyering@ascend.com>
91686
91687         * m4/Makefile.am (EXTRA_DIST): Add them.
91688         * m4/jm-macros.m4: New file.
91689         * m4/utimbuf.m4: New file.
91690
91691 1998-05-12  Jim Meyering  <meyering@ascend.com>
91692
91693         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
91694
91695 1998-05-11  Jim Meyering  <meyering@ascend.com>
91696
91697         * m4/isc-posix.m4: New file.
91698
91699 1998-05-10  Jim Meyering  <meyering@ascend.com>
91700
91701         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
91702
91703 1998-05-09  Jim Meyering  <meyering@ascend.com>
91704
91705         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
91706         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
91707         with automake.
91708
91709         * m4/ssize_t.m4: New file.
91710         * m4/mktime.m4: Remove file -- the new automake has this now.
91711
91712 1998-04-26  Jim Meyering  <meyering@ascend.com>
91713
91714         * m4/assert.m4: New file.
91715         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
91716
91717 1998-04-05  Jim Meyering  <meyering@ascend.com>
91718
91719         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
91720         (jm_PREREQ): Use it here.
91721
91722 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
91723
91724         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
91725         in acconfig.h.
91726
91727 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
91728
91729         * m4/prereq.m4: New file.
91730         * m4/error.m4: New file.
91731         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
91732
91733 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
91734
91735         * m4/getline.m4: Don't set am_cv_func_working_getline before the
91736         cache-check for the same variable -- that defeated the purpose of
91737         the test; the test program was never run.  This was a problem only
91738         on systems with losing getline functions -- HP-UX 10.20 is one.
91739         Reported by Bjorn Helgaas.
91740
91741 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
91742
91743         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
91744
91745 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
91746
91747         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
91748
91749         * m4/const.m4: New file.  Use an initializer in this declaration
91750         typedef int charset[2]; const charset x;
91751         Reported by Bob Glickstein.
91752
91753 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
91754
91755         * m4/chown.m4: Fix reversed types on -1 args to chown.
91756         From Kaveh Ghazi.
91757
91758 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
91759
91760         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
91761         Add lseek and memchr.
91762
91763         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
91764         T.E.Dickey <dickey@clark.net> said that some older preprocessors
91765         have a 20-character limit on names.
91766
91767 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
91768
91769         * m4/inttypes_h.m4: New file.
91770         * m4/uintmax_t.m4: New file.
91771         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
91772
91773
91774         -----
91775
91776         Local Variables:
91777         coding: utf-8
91778         End:
91779
91780         Copyright (C) 1997-2012 Free Software Foundation, Inc.
91781
91782         Copying and distribution of this file, with or without
91783         modification, are permitted provided the copyright notice
91784         and this notice are preserved.